【技术实现步骤摘要】
本专利技术涉及信息安全
,尤其涉及一种对APK完整性保护的方法。
技术介绍
通常的,每个Android应用开发完成后,其开发者或作者都会对其开发的Android应用进行签名,用户安装Android应用时智能手机需要先检测签名信息是否准确无误。现各大应用市场在上传应用时,通常都会对应用程序进行二次签名,以确保应用程序的安全性。而现有的处理方式是:不管是原作者的签名还是针对应用市场或服务的扩展签名都是用写文件的方式,把签名文件写入apk文件包中,同时,安装应用程序时,验证签名是读取apk中相应文件,以流的形式读取出来,由此导致安装速度收到很大影响,特别是对于运行速度本身就较慢的智能手机,其安装速度甚至会陷入卡顿状态。
技术实现思路
本专利技术针对现有技术的不足,提出的一种对APK完整性保护的方法,该方法能有效保护APK应用且能提高其安装运行速度。一种对APK完整性保护的方法包括APK签名及签名验证两部分,具体为:所述APK签名步骤包括:步骤一:获得APK开发者的签名数据公钥moduls数据,即原签名数据;步骤二:计算APK中开发者签名文件的hash值A;步骤三:计算APK根目录下AndroidManifest.xml文件的hash值B,及计算resources.arsc文件的hash值C;步骤四:将hash值A、hash值B、hash值C、原签名数据及应用标记依次顺序连接作为签名基础数据;步骤五:采用基于SHA1的1024位RSA加密私钥对签名基础数据进行加密,由此形成签名数据;步骤六:将加密后的签名数据写入APK的Filecomment区并保存,则完成签 ...
【技术保护点】
一种对APK完整性保护的方法包括APK签名及签名验证两部分,具体为:所述APK签名步骤包括:步骤一:获得APK开发者的签名数据公钥moduls数据,即原签名数据;步骤二:计算APK中开发者签名文件的hash值A;步骤三:计算APK根目录下AndroidManifest.xml文件的hash值B,及计算resources.arsc文件的hash值C;步骤四:将hash值A、hash值B、hash值C、原签名数据及应用标记依次顺序连接作为签名基础数据;步骤五:采用基于SHA1的1024位RSA加密私钥对签名基础数据进行加密,由此形成签名数据;步骤六:将加密后的签名数据写入APK的File comment区并保存,则完成签名;所述签名验证包括:步骤一:取出已经签名的签名基础数据,所述签名基础数据包括原签名数据、hash值A、hash值B、hash值C和签名基础数据;步骤二:取出存储在APK文件File comment区的加密数据,取出的数据如果为空则验签失败,不为空则继续进行签名验证;步骤三:使用SHA1的1024位RSA加密公约对签名验证步骤二获得的加密数据解密;步骤三:将解密后的数据与签 ...
【技术特征摘要】
1.一种对APK完整性保护的方法包括APK签名及签名验证两部分,具体为:所述APK签名步骤包括:步骤一:获得APK开发者的签名数据公钥moduls数据,即原签名数据;步骤二:计算APK中开发者签名文件的hash值A;步骤三:计算APK根目录下AndroidManifest.xml文件的hash值B,及计算resources.arsc文件的hash值C;步骤四:将hash值A、hash值B、hash值C、原签名数据及应用标记依次顺序连接作为签名基础数据;步骤五:采用基于SHA1的1024位RSA加密私钥对签名基础数据进行加密,由此形成签名数据;步骤六:将加密后的签名数据写入APK的Filecomment区并保存,则完成签名;所述签名验证包括:步骤一:取出已经签名的签名基础数据,所述签名基础数据包括原签名数据、hash值A、hash值B、hash值C和签名基...
【专利技术属性】
技术研发人员:高振鹏,杨思忠,
申请(专利权)人:中科信息安全共性技术国家工程研究中心有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。