【技术实现步骤摘要】
对移动终端上的应用进行身份验证的方法及装置
本专利技术涉及智能终端
,尤其涉及对移动终端上的应用进行身份验证的方法及装置。
技术介绍
只有使用证书进行数字签名之后的应用程序才能安装到移动终端的Android (安卓)平台上,Android操作系统的代码签名采用自签名机制,其主要作用如下: 一、开发者身份溯源。签名信息中包含开发的身份信息,可以追溯开发者的身份。 二、安装时的验证保护。Android平台在安装新应用时,会解析新应用的包名和签名。如果移动终端上已装有和新应用相同包名的应用,且两者签名不一致,则新应用将无法在移动终端上安装成功。 三、保证应用信息的完整性。移动终端的Android平台在安装新应用时,会校验应用信息的摘要和签名信息中对应的摘要是否一致,以确保应用没有被修改和篡改过。 应用经过数字签名后,在其应用apk (applicat1n package,安装包)中会增加一个META-1NF的文件夹,其中包含MANIFEST.MF, CERT.SF, CERT.RSA等三个文件。在移动终端的Android平台安装新应用时,其验证过程如下: 步骤O1:计算CERT.SF文件的Hash值; 步骤02:用包含公钥的证书验证CERT.RSA文件,将得到的结果和步骤01得到的Hash值进行比较,如果相同,则表明CERT.SF文件是未被篡改的。 步骤03:由于CERT.SF文件包含了 apk包中的MANIFEST.MF文件的Hash值,而MANIFEST.MF文件包含了 apk包中其他文件的Hash值,因此从C ...
【技术保护点】
一种对移动终端上的应用进行身份验证的方法,其特征在于,该方法包括:为刚开发出的应用安装包apk文件生成非对称密钥对:非对称公钥和私钥;从该apk文件中解析出应用的声明文件,根据所述私钥对所述声明文件进行加密,得到该apk文件的身份验证文件,所述身份验证文件和所述公钥被编译到该apk文件中;当该apk文件被安装到移动终端的安卓平台上后,若发现该apk文件对应应用被打开,则从该apk文件中找到所述身份验证文件和所述公钥,根据所述公钥对所述身份验证文件进行解密,从该apk文件中解析出应用的声明文件,判断解密结果是否与该声明文件一致,若是,确认该apk文件合法。
【技术特征摘要】
1.一种对移动终端上的应用进行身份验证的方法,其特征在于,该方法包括: 为刚开发出的应用安装包apk文件生成非对称密钥对:非对称公钥和私钥;从该apk文件中解析出应用的声明文件,根据所述私钥对所述声明文件进行加密,得到该apk文件的身份验证文件,所述身份验证文件和所述公钥被编译到该apk文件中; 当该apk文件被安装到移动终端的安卓平台上后,若发现该apk文件对应应用被打开,则从该apk文件中找到所述身份验证文件和所述公钥,根据所述公钥对所述身份验证文件进行解密,从该apk文件中解析出应用的声明文件,判断解密结果是否与该声明文件一致,若是,确认该apk文件合法。2.根据权利要求1所述的方法,其特征在于,所述根据所述私钥对所述声明文件进行加密,得到该apk文件的身份验证文件包括: 计算每个声明文件的MD5摘要,将计算得到的MD5摘要存储为文件I,计算文件I的MD5摘要,将文件I的MD5摘要存储为文件2,用所述私钥对文件2进行签名,得到文件3,将文件1、文件2和文件3打包压缩得到该apk文件的身份验证文件; 所述根据所述公钥对所述身份验证文件进行解密,从该apk文件中解析出应用的声明文件,判断解密结果是否与该声明文件一致包括: 根据所述公钥解密身份验证文件中的文件3,得到文件5,判断文件5和文件2是否一致,若一致,从该apk文件中解析出应用的声明文件,计算每个声明文件的MD5摘要,并将得到的MD5摘要存储为文件6,计算文件6的MD5摘要,判断文件6的MD5摘要是否和文件2相同,若相同,确认该apk文件合法。3.根据权利要求1所述的方法,其特征在于,所述从该apk文件中解析出应用的声明文件之后、根据所述私钥对所述声明文件进行加密之前进一步包括: 在该声明文件中自定义用户权限; 所述从该apk文件中解析出应用的声明文件之后、判断解密结果是否与该声明文件一致之前进一步包括: 判断该声明文件中是否包含自定义用户权限,若是,执行所述判断解密结果是否与该声明文件一致的动作;否则,认为该apk文件非法。4.根据权利要求2所述的方法,其特征在于,所述身份验证文件和所述公钥被编译到该apk文件中进一步包括: 应用开发者对该应用的签名文件被编译到该apk文件中; 所述从该apk文件中解析出应用的声明文件之后、计算每个声明文件的MD5摘要之前进一步包括: 从声明文件中排除掉应用签名文件。5.根据权利要求1或2所述的方法,其特征在于,所述将文件1、文件2和文件3打包压缩得到该apk文件的身份验证文件之后、所述身份验证文件和所述公钥被编译到该apk文件中之前进一步包括: 所述身份验证文件被放到该apk文件对应的应用工程的assets目录中,同时,所述公钥被放在该apk文件的静态库中,该静态库被集成到该apk文件对应的应用工程中; 所述从该apk文件中找到所述身份验证文件和所述公钥包括: 从该apk文件的assets目录中找到所述身份验证文件,将该身份验证文件读到移动终端的安全数字存储SD卡的指定目录中,将该身份验证文件在SD卡中的路径传递给Dex类加载器,以使得:当该应用使用能力时,Dex类加载器根据该路径动态加载该身份验证文件,同时,当该应用使用能力时从该apk文件的静态库中读取所述公钥。6.根据权利要求1或2所述的方法,其特征在于,所述非对称密钥对为:RSA密钥对。7.一种对移动终端上的应用进行身份验证的系统,其特征在于,包括: 身份验证文件生成模块:为刚开发出的应用安装包apk文件生成非对称密钥对:非对称公钥和私钥;从该apk文件中解析出应用的声明文件,根据所述私钥对所述声明文件进行加密,得到该apk文件的身份验证文件,所述身份验证文件和所述公钥被编译到该apk文件中; 身份验证模块:当该apk文件被安装到移动终端的安卓平台上后,若发现该apk文件对应应用被打开,则从该apk文件中找到所述身份验证文件和所述公钥,根据所述公钥对所述身份验证文件进行解密,从该apk文件中解析出应用的声明文件,判断解密结果是否与该声明文件一致,若是,确认该apk文件合法。8.根据权利要求7所述的系统,其特征在于,所述身份验证文件生成模块根据所述私钥...
【专利技术属性】
技术研发人员:吴博,靳泽宇,
申请(专利权)人:中国移动通信集团公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。