[发明专利]一种智能终端应用程序的安装验证方法及系统在审
| 申请号: | 201410646170.7 | 申请日: | 2014-11-14 |
| 公开(公告)号: | CN104331658A | 公开(公告)日: | 2015-02-04 |
| 发明(设计)人: | 郭永伟;王天星;李伟东;李红艳 | 申请(专利权)人: | 北京视博数字电视科技有限公司 |
| 主分类号: | G06F21/51 | 分类号: | G06F21/51 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 路凯;胡彬 |
| 地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 智能 终端 应用程序 安装 验证 方法 系统 | ||
技术领域
本发明涉及应用程序安装领域,尤其涉及一种智能终端应用程序的安装验证方法及系统。
背景技术
智能终端设备产品,如智能手机、智能电视和智能盒子正在快速普及,它们一般都采用Android等智能操作系统平台,用户可以自由选择从不同渠道安装应用程序,随着用户量增多,恶意程序成为危害终端用户安全和隐私的重要因素,严重侵害用户合法权益。在应用程序开发环节嵌入恶意代码或通过篡改他人编写的应用程序并嵌入恶意代码是目前制作恶意程序的主要手段。另外,通过刷机替换整个系统及全部应用程序是一种釜底抽薪式的破解方法。
目前的Android系统要求每一个安装进系统的应用程序都要经过数字证书签名。签名的原理如图1所示,利用开发者私钥11对原始应用程序包12中所有未签名的文件,包括程序文件和资源文件,逐个用RSA算法13进行签名,再对数字签名信息采用Base64进行编码,得到签名数据14,将签名数据14、各文件的SHA1摘要15和开发者公钥16保存在一个叫做META-INF的文件夹17里,META-INF文件夹17和原始应用程序包11,包括程序文件和资源文件,构成发布应用程序包18。用于签名的私钥保存在程序开发者的手中,用于验证的公钥打包在应用程序文件内。其中,应用程序文件是个zip压缩包。
在应用程序安装前的验证是利用打包在应用程序文件中的公钥对应用程序进行验证。因此,Android应用程序文件使用的数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序自我认证的,用来标识应用程序的作者并在应用程序之间建立信任关系,而不是用来控制用户能否安装应用程序。由于数字证书公钥就打包在应用程序文件内,任何人都可以生成一对新密钥,并使用私钥进行重新签名,并把新公钥替换到应用程序文件内。目前有很多像APKtool和Auto-sign之类的工具,可以很容易对应用程序反编译并进行应用程序签名。签名不一致会被Android系统视为不同开发者开发的应用程序(拥有私钥的情况除外),但却无法防止用户安装这些恶意程序。从安全性角度来看,目前的Android应用程序数字签名机制形同虚设,不能有效防止非法应用程序的安装,会导致智能终端安装非法的应用程序。
发明内容
本发明是为了解决现有技术中的上述不足而完成的,本发明的目的在于提出一种智能终端应用程序的安装验证方法及系统,该方法能够解决现有应用程序签名机制不能够有效防止非法应用程序的安装的问题。
为达此目的,本发明采用以下技术方案:
第一方面,本发明公开了一种智能终端应用程序的安装验证方法,包括以下步骤:
获取智能终端系统层中预存储的第一公钥;
根据所述预存储的第一公钥判断待安装应用程序是否满足安装条件,如果满足,则允许安装所述待安装应用程序,如果不满足,则禁止安装所述待安装应用程序。
进一步地,所述获取智能终端系统层中预存储的第一公钥之前或之后还包括以下步骤:
获取携带所述待安装应用程序的应用程序数据包,所述应用程序数据包中还携带有利用第一私钥获得的第一签名数据,
所述根据所述预存储的第一公钥判断待安装应用程序是否满足安装条件包括以下步骤:
根据所述预存储的第一公钥和所述第一签名数据对所述待安装应用程序进行验证,如果验证成功,则允许安装所述待安装应用程序,如果验证失败,则禁止安装所述待安装应用程序。
进一步地,所述第一签名数据是利用RSA签名算法得到的,所述验证的算法为RSA验证算法。
进一步地,所述获取智能终端系统层中预存储的第一公钥之前或之后还包括以下步骤:
获取携带所述待安装应用程序的应用程序数据包,所述应用程序数据包中还携带有利用第一私钥获得的第二签名数据和应用程序公钥,
所述根据所述预存储的第一公钥判断待安装应用程序是否满足安装条件包括以下步骤:
判断所述预存储的第一公钥与所述应用程序公钥是否匹配,如果匹配,则继续验证所述待安装应用程序是否满足安装条件,如果不匹配,则禁止安装所述待安装应用程序。
进一步地,所述第二签名数据是利用RSA签名算法得到的。
进一步地,所述继续验证所述待安装应用程序是否满足安装条件包括以下步骤:
根据所述应用程序公钥和所述第二签名数据对所述待安装应用程序进行验证,如果验证成功,则允许安装所述待安装应用程序,如果验证失败,则禁止安装所述待安装应用程序,所述验证的算法为RSA验证算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京视博数字电视科技有限公司,未经北京视博数字电视科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410646170.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:影像处理装置及其控制方法
- 下一篇:基于SIP协议的多媒体呼叫中心系统





