本发明属于信息安全技术领域。本发明专利基于认证技术,提出andriod系统中的第三方应用下载后的可信安装和可信运行的方法。
背景技术:
现有的andriod系统中的第三方应用的下载安装及运行采用linux内核的安全机制,只会简单的验证应用的合理性,如判定应用有问题时不是直接禁止安装,而是仅仅进行安全提示,由用户自己决定是否安装;另外,恶意应用开发者非常容易通过伪造应用签名,将应用伪装成系统受信任的应用安装在系统中,一旦应用安装到系统中,应用将自动运行或者手动运行,没有相应的运行控制机制对非法应用的运行进行限制,从而给用户可能造成无法估量的危害和损失。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种基于tf密码模块的安卓应用可信验证方法。
本发明的目的是通过以下技术方案来实现的:
一种基于tf密码模块的安卓应用可信验证方法,包括如下步骤:
s1:打包设备将第三方应用apk文件通过算法计算完整性值kan和签名值sa,然后将apk文件、kan、sa、签名证书等打包成可信安装包,放入应用服务器中;
s2:andriod终端下载可信安装包,通过与可信安装包配合的可信安装运行模块解析得到apk文件、kan、sa、签名证书等信息;
tf密码模块验证签名证书有效性,若未通过,则终止安装过程;若证书有效,可信安装运行模块调用tf密码模块获取证书,同时解析证书获得公钥数据;
验证签名证书的同根性,若未通过,则终止安装过程,若通过,进行下一步操作;
s3:andriod终端调用tf密码模块,进行完整性验证以及验证签名值是否有效;若未通过,则终止安装过程;若通过,则允许安装。
作为优选方式,本发明还包括步骤四,即s4:安装成功后,andriod终端调用tf密码模块验证andriod终端磁盘中的可信运行控制白名单的有效性,通过则将可信运行控制白名单内容加载到andriod终端内存中,否则清空andriod终端内存中的可信运行控制白名单。
作为优选方式,本发明还包括步骤五,即s5:当有第三方应用apk运行时,通过可信安装运行模块获取应用程序的启动信息,tf密码模块计算完整性预期值ka1;比对ka1和内存中加载的可信运行控制白名单中该应用的预期值kan,比对失败禁止运行,否则允许运行。
本发明的有益效果是:
(1)采用独立的硬件平台tf密码模块作为可信模块,tf密码模块是一个soc处理器,内部有用于算法运算的硬件协处理器,硬件协处理器采用与cpu并行运行机制,高效实现密码运算功能,对外仅提供输入输出接口,传输采用自定义协议,保证了安全性。
(2)采用专用打包设备(通用pc机或笔记本电脑)和tf密码模块配套使用,共同完成第三方应用的完整性校验以及证书验证工作,其中专用打包设备仅进行完整性计算和签名;tf密码模块存放证书白名单和运行白名单的完整性值kan,完成对应用的完整性校验和签名验证功能。
(3)在andriod终端中自主开发可信安装运行软件,对下载的所有第三方应用进行安装前的解析处理,完成安装运行前对tf密码模块的调度任务。
附图说明
图1为本发明系统框图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
本发明要解决的技术问题是阻止非法的第三方应用在andriod系统中的安装和运行问题,提供一种高安全性、高可靠性的应用安装及运行方法。如图1所示,一种基于tf密码模块的安卓应用可信验证方法,包括如下步骤:
s1:打包设备(通用pc机或笔记本电脑)将第三方应用apk文件通过算法(如sm2算法计算签名值,sm3计算完整性值)计算完整性值kan和签名值sa,然后将apk文件、kan、sa、签名证书等打包成可信安装包,放入应用服务器中;
s2:andriod终端(从应用服务器中)下载可信安装包,通过与可信安装包配合的可信安装运行模块解析得到apk文件、kan、sa、签名证书等信息;
然后设置在andriod终端中的tf密码模块验证签名证书有效性,若未通过,则终止安装过程;若证书有效,可信安装运行模块调用tf密码模块获取证书,同时解析证书获得公钥数据;
验证签名证书的同根性,若未通过,则终止安装过程,若通过,进行下一步操作;
s3:andriod终端(可信安装运行模块)调用tf密码模块,进行完整性验证以及验证签名值是否有效;若未通过,则终止安装过程;若通过,则允许安装。
作为优选方式,本发明还包括步骤四,即s4:安装成功后,andriod终端(可信安装运行模块)调用tf密码模块验证andriod终端磁盘中的可信运行控制白名单(主要存放第三方应用apk文件及对应的完整性值kan、可信运行控制白名单的完整性值)的有效性,通过则将可信运行控制白名单内容加载到andriod终端内存中,否则清空andriod终端内存中的可信运行控制白名单。
作为优选方式,本发明还包括步骤五,即s5:当有第三方应用apk运行时,通过可信安装运行模块获取应用程序的启动信息,tf密码模块计算完整性预期值ka1;比对ka1和内存中加载的可信运行控制白名单(存放第三方应用apk文件、第三方应用apk文件的完整性值kan、可信运行控制白名单的完整性值)中该应用的预期值kan,比对失败禁止运行,否则允许运行。
本发明专利提出一种基于专用tf密码模块对第三方应用apk进行认证安装及运行的控制技术,本方法完全不同于现有的传统的andriod系统对第三方应用的安装运行机制,通过对第三方应用的签名机制实现可信安装、通过白名单机制实现应用的可信运行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。