[发明专利]用于验证电子设备的平台软件的完整性的方法和设备无效
申请号: | 200480044447.3 | 申请日: | 2004-11-22 |
公开(公告)号: | CN101065716A | 公开(公告)日: | 2007-10-31 |
发明(设计)人: | N·阿索康;J·芒特伊拉;R·泽拉法特 | 申请(专利权)人: | 诺基亚公司 |
主分类号: | G06F1/00 | 分类号: | G06F1/00;H04L29/06 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 吴立明 |
地址: | 芬兰*** | 国省代码: | 芬兰;FI |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 验证 电子设备 平台 软件 完整性 方法 设备 | ||
技术领域
本发明涉及用于使应用软件能够验证电子设备的平台软件的完整性的方法和设备。
背景技术
在电子设备上的软件平台是用来加载和执行软件的操作系统或者运行时间环境(如Java或者移动代理平台)。典型的一款软件例如是可以在具有适当软件平台的设备上执行的游戏应用。为了提供多样化的兼容设备和软件应用,不同的制造商可以在它们的产品上使用同一软件平台。尽管因此软件平台或者操作系统是相似的或者甚至是相同的,然而配备有它的产品通常包括很特定的硬件。另外,尽管平台软件的核心可能相同,但是有许多可能并不相同或者甚至完全就存在于不同电子设备中的如设备驱动这样的其它部件。
因此可能出现要在具有不适当的软件平台或者硬件的设备上执行软件应用这一情形。至于不适当性的一些原因例如是用于存储所需数据的随机存取存储器(RAM)数量不足、显示器没有充足的分辨率和/或颜色数目、失去在线连接性(W-LAN、蓝牙等)或者键盘不含充分的控制键和动作键。如果任何这些要求没有满足,则在这样的设备上使用相应的应用就可能无法满足用户,而用户将对所购置的这款软件不满意。在一些情况下,在错误的设备上运行应用甚至可能导致可能需要昂贵的修复服务的用户数据损失和/或设备故障。
一般而言,关于软件平台和导入软件即来自外部来源的软件也存在另一种威胁,即恶意软件或者所谓的“malware”。已经有大量关注投入到用于软件平台验证导入软件的完整性的各种方法。然而,也可以重视相反的情形,即软件平台也可能搅乱导入软件的操作。时下有许多保护方案是基于各种标识,比如设备ID或者多媒体卡ID。换而言之,软件应用依赖于用以取回所需ID的某款平台软件。如果攻击者能够骗取所需ID,则整个保护方案会崩溃。因此,应用本身应当能够验证它是安装在能够并且被授权运行它的设备上。
在现有技术中,软件应用可以通过为平台软件的所选软件模块计算密码散列并且将该散列与在软件应用的验证例程中所含的散列进行比较来验证软件平台的完整性。如果散列彼此对应,则成功地验证了平台并且可以在设备上执行软件应用。所选软件模块例如可以是如设备驱动这样的软件或者是为了运行该应用而需要的某一其它款的软件。利用应用中的固定预期散列值这一常规方式的缺点在于,平台的软件模块的任何更新或者更换都造成平台的否定验证,这又造成无法执行较旧应用。由于如移动电话的电子设备的软件等将必须在它们的寿命期中加以更新例如以便消除安全缺陷和软件错误是相当普遍的,所以这样的常规方式不适合于应对这些需求。
发明内容
因此,本发明的目的在于消除或者至少缓解上文讨论的问题。
为了实现此目的,本发明提供用于实现电子设备的平台软件的完整性的验证的方法和设备。
根据本发明的第一方面,提供一种用于验证电子设备的平台软件的完整性的方法。该方法包括:访问平台软件的模块;获得签名;获得验证密钥,其中该验证密钥对应于签名密钥;将验证密钥用于对该签名是否是通过以签名密钥对平台软件模块进行签名来导出的进行验证;以及如果验证成功则建立平台软件模块的肯定验证。以这一方式,平台软件的完整性可以由应用软件验证以确保它将在经授权的和适当的平台上运行。以此方式,旧应用在仍然能够验证完整性的同时也将与平台软件模块的新版本或者更新版本兼容。
根据一个示例性实施例,在获得所述签名之前:对平台软件模块执行散列函数以导出经计算的散列;获得预期散列;以及比较经计算的散列和预期散列。如果散列彼此对应,则执行后续方法的步骤。另外,签名的验证包括通过使用验证密钥来对该签名是否为通过以签名密钥对预期散列进行签名来导出的进行验证。使用散列是实现验证的简便方式,在检验签名之前也对散列进行附加检验就提供了提高的安全性。
根据一个示例性实施例,在访问平台软件的模块之前:访问监视模块;对监视模块执行散列函数以导出第二经计算的散列;然后获得第二预期散列;以及比较散列。如果散列彼此对应,则该方法包括调用监视模块以执行如前所述的后续步骤。如果监视软件在平台软件的新部分被安装时不太可能有变化,则以下方式可能是有利的:检查监视模块的完整性以及使用监视模块以针对应用来执行平台软件的完整性检验。以此方式,应用软件可以保持得更简单并且仅需更少步骤以便进行自身验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于诺基亚公司,未经诺基亚公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200480044447.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种摩托车发动机用的化油器
- 下一篇:设有收音机的充电灯