[发明专利]对apk文件完整性保护的方法、系统、设备及存储介质在审
申请号: | 202010560592.8 | 申请日: | 2020-06-18 |
公开(公告)号: | CN111950035A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 王朝阳;曹飞;汪洋;李凌;方帅;王杰;王云龙 | 申请(专利权)人: | 中国电力科学研究院有限公司;国家电网有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F21/52;G06F21/55;G06F21/56 |
代理公司: | 北京中巡通大知识产权代理有限公司 11703 | 代理人: | 文骊鹍 |
地址: | 100192 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | apk 文件 完整性 保护 方法 系统 设备 存储 介质 | ||
1.一种对apk文件完整性保护的方法,其特征在于,包括以下步骤:
1)计算apk文件的应用程序初始的校验和,获取应用程序的原始开发者的身份信息;
2)计算应用程序当前的校验和,再将应用程序当前的校验和与步骤1)计算得到的应用程序初始的校验和进行对比;同时获取应用程序内当前开发者的身份信息,然后将应用程序内当前开发者的身份信息与步骤1)获取的原始开发者的身份信息进行对比,当应用程序当前的校验和与步骤1)计算得到的应用程序初始的校验和一致,且应用程序内当前开发者的身份信息与步骤1)获取的原始开发者的身份信息一致时,则正常启动应用程序,否则,则终止应用程序的启动,完成对apk文件完整性保护。
2.根据权利要求1所述的对apk文件完整性保护的方法,其特征在于,步骤1)还包括:在应用程序中加入哨兵函数,利用哨兵函数计算应用程序当前的校验和,再将应用程序当前的校验和与步骤1)计算得到的应用程序初始的校验和进行对比;当应用程序当前的校验和与步骤1)计算得到的应用程序初始的校验和一致,且应用程序内当前开发者的身份信息与步骤2)获取的原始开发者的身份信息一致时,哨兵函数正常启动应用程序,否则,哨兵函数终止应用程序的启动。
3.根据权利要求2所述的对apk文件完整性保护的方法,其特征在于,哨兵函数从当前应用程序的签名中提取应用程序内当前开发者的身份信息,其中,基于原始开发者的身份信息生成数字证书,再利用数字证书为应用程序的签名。
4.根据权利要求3所述的对apk文件完整性保护的方法,其特征在于,还包括:对数字证书进行加密,其中,私钥保存在开发者处,公钥与应用程序一起打包形成应用程序包。
5.根据权利要求3所述的对apk文件完整性保护的方法,其特征在于,利用数字证书使用Android SDK自带的签名工具keytool和signapk为应用程序签名,所述数字证书用于标识应用程序的开发者与应用程序之间的信任关系。
6.根据权利要求1所述的对apk文件完整性保护的方法,其特征在于,通过应用程序检测开发者身份信息。
7.一种对apk文件完整性保护的系统,其特征在于,包括:
初始计算模块,用于计算apk文件的应用程序初始的校验和,获取应用程序的原始开发者的身份信息;
验证模块,与初始计算模块相连接,用于计算应用程序当前的校验和,再将应用程序当前的校验和与应用程序初始的校验和进行对比;同时获取应用程序内当前开发者的身份信息,然后将应用程序内当前开发者的身份信息与原始开发者的身份信息进行对比,当应用程序当前的校验和与应用程序初始的校验和一致,且应用程序内当前开发者的身份信息与原始开发者的身份信息一致时,则正常启动应用程序,否则,则终止应用程序的启动。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述对apk文件完整性保护的方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述对apk文件完整性保护的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电力科学研究院有限公司;国家电网有限公司,未经中国电力科学研究院有限公司;国家电网有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010560592.8/1.html,转载请声明来源钻瓜专利网。