[发明专利]基于可信执行环境的Android完整性验证方法和装置有效
申请号: | 201710816991.4 | 申请日: | 2017-09-12 |
公开(公告)号: | CN107679393B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 李丽颖;姜舟;陈坚;李委;周启明 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F21/44 | 分类号: | G06F21/44;G06F21/60;G06F21/62 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 可信 执行 环境 android 完整性 验证 方法 装置 | ||
1.一种基于可信执行环境的Android完整性验证方法,其特征在于,包括以下步骤:
S1、在TrustZone可信平台支持下,采用基于可信执行环境的安全操作系统开发可信软件,用以模拟硬件TPM芯片的PCR和NV寄存器,通过可信软件模拟的PCR和NV具有防篡改特性;
S2、在所述安全操作系统加载Android系统内核时,利用软件模拟的NV验证Android系统内核的完整性;
S3、基于IMA完整性验证框架,利用软件模拟的PCR和NV验证Android系统的应用层的完整性;
步骤S2中所述验证内核完整性的具体实现为:
S21、获取内核代码的位置和大小,具体原理为:所述安全操作系统启动过程中加载Android内核代码,即在src/main.c中的monitor_preinit()函数中对全局变量ns_world_binfo进行赋值,来指定内核代码的位置和大小;
S22、利用S21中获取的内核代码位置和大小,采用MD5算法求内核的MD5值;
S23、将最初的计算的内核MD5值作为基准值,存储在T6系统中的NV模拟软件中;
S24、每次Android系统启动时计算内核MD5值,并与基准值对比,相同则内核具有完整性,不同则内核被篡改;
步骤S3中所述验证Android系统应用层完整性的具体实现为:
S31、在Android系统内核编译前,将Linux内核配置为IML完整性验证功能使能;
S32、Android系统启动后,IMA在应用程序执行、动态链接库加载、内核模块加载时将相关代码或数据进行度量,这些度量结果组成一个度量列表IML;
S33、通过OpenPTS获取IMA每次度量得到的度量值,按照步骤S1所述的方法扩展到软件模拟PCR中,用于验证IML的完整性;
S34、将IML中的度量值依次采用sha1算法扩展,并与软件模拟PCR中的PCR扩展值比较,一致则说明IML具有完整性;
S35、在IML完整的前提下,将IML中的度量值与软件模拟NV中保存的基准值比较,一致则证明Android系统应用层完整可信。
2.根据权利要求1所述基于可信执行环境的Android完整性验证方法,其特征在于,软件模拟PCR的防篡改特性的实现方法为:
S11、对OpenPTS获取到的PCR值采用sha1算法进行扩展,得到PCR扩展值;
S12、对PCR扩展值进行AES加密,得到PCR扩展值的密文,保存到所述安全操作系统的软件模拟PCR中;
S13、对PCR扩展值采用MD5算法处理,得到PCR扩展值的MD5值;
S14、对PCR扩展值的MD5值进行AES加密,得到PCR值扩展值的MD5值的密文,保存到所述安全操作系统的软件模拟PCR中;
S15、读取软件模拟PCR中的PCR扩展值时,对其进行校验,以保证完整性。
3.根据权利要求2所述基于可信执行环境的Android完整性验证方法,其特征在于,步骤S15所述进行校验的方法为:首先对PCR扩展值的密文和PCR扩展值的MD5值密文解密,得到的明文分别为pcr_extend和pcr_extend_md5;然后对pcr_extend重新求MD5值,记为pcr_extend_check;比较pcr_extend_check与pcr_extend_md5,相同则说明PCR扩展值具有完整性,不同则说明存在篡改问题。
4.根据权利要求1所述基于可信执行环境的Android完整性验证方法,其特征在于,软件模拟NV的防篡改特性的实现方法为:
S16、Android系统运行时,IMA度量框架维护一个链表IML,每条记录为敏感操作时的一次度量结果,即一个文件的sha1值;在Android系统运行前,将全部待度量文件的全路径、文件的sha1度量基准值采用AES加密后,保存到所述安全操作系统的软件模拟NV中;
S17、对度量基准值采用MD5算法处理,得到度量基准值的MD5值,并用AES算法加密,得到度量基准值的MD5值的密文,保存到所述安全操作系统的软件模拟NV中;
S18、读取软件模拟NV中的度量基准值时,会对其进行校验,以保证完整性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710816991.4/1.html,转载请声明来源钻瓜专利网。