[发明专利]应用程序完整性验证方法及网络设备有效
申请号: | 201410647567.8 | 申请日: | 2014-11-14 |
公开(公告)号: | CN104462965B | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 付天福;周冲 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 罗振安 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 完整性 验证 方法 网络设备 | ||
技术领域
本发明涉及一种应用程序完整性验证方法及网络设备。
背景技术
随着互联网的快速发展,人们通过互联网进行网银转账、网上购物等网络操作的频率越来越高。与此同时,一些恶意分子通过篡改网络设备中应用程序来窃取用户的账号、密码等隐私信息,进而对用户的财产安全产生威胁,因此,亟需一种对应用程序的完整性进行验证,从而判断该应用程序是否被篡改过。
目前,为了更进一步保证应用程序的完整性,防止恶意分子对应用程序的篡改,可以在网络设备中设置安全中央处理器(Central Processing Unit,CPU)和可信平台模块(Trusted Platform Module,TPM)芯片。这样,当厂商发布应用程序时,对该应用程序的数据进行哈希运算,得到该应用程序的第一哈希摘要,通过厂商私钥对第一哈希摘要信息进行签名,得到该应用程序的数字签名,并将该应用程序的数字签名和该应用程序的数据打包成程序包并发布。当网络设备下载到该应用程序的程序包时,将该程序包中的数字签名存储在TPM芯片中。后续,网络设备启动该应用程序时,网络设备中的安全CPU对该应用程序的数据进行哈希运算,得到该应用程序的第二哈希摘要,并从该网络设备的TPM芯片中获取该应用程序的数字签名,安全CPU利用内嵌的厂商公钥对获取的数字签名进行解密,得到该应用程序的第一哈希摘要,将第一哈希摘要与第二哈希摘要进行比较,如果两者相同,则确定该应用程序没有被篡改,该应用程序的完整性验证通过,否则,确定该应程序被篡改,该应用程序的完整性验证不通过。
当网络设备中应用程序存在漏洞时,需要对该应用程序打补丁,补丁一般会分布在该应用程序的多个数据片段,而网络设备的TPM芯片中存储的数字签名是该应用程序发布时进行签名得到,也即是,TPM芯片中存储的数字签名是基于该应用程序的原始数据得到,所以,该应用程序打补丁之后的数据与原始数据不同,无法基于原始数据的数字签名对打补丁之后的应用程序进行完整性验证。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种应用程序完整性验证方法及网络设备。所述技术方案如下:
第一方面,提供了一种应用程序完整性验证方法,所述方法包括:
当启动应用程序时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第一摘要;
根据内嵌密钥对中的公钥,对存储的所述应用程序的数字签名进行解密,得到所述应用程序的第二摘要,所述数字签名是所述应用程序每发生一次更新时,根据所述密钥对中的私钥,对所述应用程序的数据进行签名得到,所述密钥对是所述应用程序对应的厂商密钥对;
如果所述第一摘要与所述第二摘要相同,则确定所述应用程序的完整性验证通过,如果所述第一摘要与所述第二摘要不同,确定所述应用程序的完整性验证不通过。
结合第一方面,在上述第一方面的第一种可能的实现方式中,所述当启动应用程序时,对所述应用程序的数据进行特征值运算,得到所述应用程序的第一摘要之前,还包括:
当接收到更新完成指令时,对所述应用程序的数据进行特征值运算,得到所述应用程序的所述第二摘要;
根据所述私钥,对所述第二摘要进行签名,得到所述应用程序的数字签名;
存储所述应用程序的数字签名。
结合第一方面或第一方面的第一种可能的实现方式,在上述第一方面的第二种可能的实现方式中,所述对所述应用程序的数据进行特征值运算,得到所述应用程序的第二摘要,包括:
将内存中所述应用程序的数据读入安全中央处理器CPU内部的静态随机存储器SRAM中;
通过所述安全CPU内部的安全引擎读取所述SRAM中的数据;
通过所述安全引擎对读取的数据进行特征值运算,得到所述应用程序的第二摘要。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在上述第一方面的第三种可能的实现方式中,所述存储所述应用程序的数字签名,包括:
将所述应用程序的数字签名存储在安全CPU内部的可信非易失性随机访问存储器NVRAM中。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在上述第一方面的第四种可能的实现方式中,所述根据内嵌密钥对中的公钥,对存储的所述应用程序的数字签名进行解密,得到所述应用程序的第二摘要之前,还包括:
通过所述安全CPU内部的安全引擎,获取所述可信NVRAM中存储的数字签名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410647567.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分区访问方法及电子设备
- 下一篇:应用程序免Root运行控制方法与装置