数字签名方法及移动终端和服务器技术

技术编号:11254878 阅读:242 留言:0更新日期:2015-04-02 03:31
本发明专利技术实施例提供了数字签名方法及移动终端和服务器,所述方法包括:移动终端对于二阶散列值文件中的二阶散列值序列,对该二阶散列值序列中除了代码文件的二阶散列值之外的各二阶散列值进行摘要计算,得到第一子摘要信息;将第一子摘要信息和代码文件的二阶散列值向服务器上传;其中,二阶散列值对应原始文件;原始文件的二阶散列值是根据该原始文件的一阶散列值算得的,该原始文件的一阶散列值是根据该原始文件的内容算得的。本发明专利技术的技术方案中,由服务器保存私钥,可以防止恶意程序窃取私钥,保证后续生成的数字签名文件更加安全可靠,使得移动终端可以根据更安全可靠的数据签名文件进行签名认证,保护用户利益,提高用户体验。

【技术实现步骤摘要】

本专利技术涉及移动通信
,具体而言,本专利技术涉及一种数字签名方法及移动终端和服务器
技术介绍
随着科技的进步和社会发展,移动终端的使用已经相当的广泛。越来越多的程序被技术人员开发出来,以应用于移动终端中。对于一个适用于移动终端的程序,技术人员通常在开发出该程序的代码文件、配置文件、资源文件、图片等等原始文件后,对原始文件进行数字签名,得到签名相关的文件;将该程序的原始文件和签名相关的文件一起打包成安装包,供用户下载安装。以适用于安卓操作系统的程序为例,开发方的技术人员对于该程序的代码文件Classex.dex、配置文件AndroidManifest.xml、资源文件、图片等等原始文件,通常利用签名工具程序对各原始文件进行签名:计算出各原始文件的一阶散列值记载到Manifest.mf文件中;根据各原始文件的一阶散列值计算出各原始文件的二阶散列值记载到Cert.sf文件中;对各二阶散列值进行摘要计算得到摘要信息;根据预先生成的私钥对摘要信息进行加密;根据加密结果以及预先生成的公钥生成Cert.rsa文件。之后,将各原始文件,与签名相关的Manifest.mf文件、Cert.sf文件和Cert.rsa文件一起打包成程序的安装包。移动终端的操作系统接收到安装程序的指令后,从该程序的安装包中解压出该程序的各原始文件、以及Manifest.mf文件、Cert.sf文件和Cert.rsa文件;利用Manifest.mf文件、Cert.sf文件和Cert.rsa文件,对各原始文件进行签名认证,以验证原始文件是否被恶意程序所篡改。此外,安装于移动终端中的第三方的安全类应用程序,对于安全性未知的程序,通常需要从该程序的安装包中解压出各原始文件,对多个原始文件进行适用于沙箱中运行的修改后,重新进行数字签名,得到重新签名的签名相关的文件。将签名相关的文件、与修改后的原始文件进行二次打包,以便于该安全性未知的程序在创建的沙箱中安装运行。但是,现有的数字签名方法对程序的原始文件进行数字签名的过程通常是在移动终端中执行;也就是说,数字签名过程中涉及的私钥存放在移动终端中;该方式容易导致恶意程序盗取私钥后,即可随意篡改待安装程序的原始文件,也可以通过对篡改后的原始文件进行重新签名,得到合法的签名相关的文件;现有的数字签名方法可能导致被恶意程序劫持或污染的程序的安装包,可以通过操作系统的签名认证而被允许安装;进一步地,可能造成恶意程序利用移动终端中存储的用户信息执行恶意行为。因此,综上,现有的数字签名方法安全性较低,可能会给用户带来潜在的安全隐患,造成用户的利益损失,从而降低了用户的体验。
技术实现思路
本专利技术针对现有的数字签名方法的缺点,提出一种数据签名方法及移动终端和服务器,用以解决现有的数字签名方法存在的安全性较低的问题。本专利技术的技术方案根据一个方面,提供了一种移动终端的数字签名方法,包括:移动终端对于二阶散列值文件中的二阶散列值序列,对该二阶散列值序列中除了代码文件的二阶散列值之外的各二阶散列值进行摘要计算,得到第一子摘要信息;将第一子摘要信息和所述代码文件的二阶散列值向服务器上传;其中,所述二阶散列值对应原始文件;所述原始文件的二阶散列值是根据该原始文件的一阶散列值算得的,该原始文件的一阶散列值是根据该原始文件的内容算得的;所述代码文件是所述原始文件之一。进一步,所述将该二阶散列值序列中除了代码文件的二阶散列值之外的各二阶散列值进行摘要计算之前,还包括:将所述代码文件的二阶散列值,移动到所述二阶散列值序列的末尾,得到二阶散列值序列重排后的二阶散列值文件。进一步,所述移动终端的数字签名方法,还包括:所述移动终端接收到所述服务器返回的数字签名文件后,对于一阶散列值文件中的一阶散列值序列,将该一阶散列值序列中所述代码文件的一阶散列值,移动到所述一阶散列值序列的末尾,得到一阶散列值序列重排后的一阶散列值文件;将所述数字签名文件、二阶散列值序列重排后的二阶散列值文件、一阶散列值序列重排后的一阶散列值文件,以及所述二阶散列值序列中各二阶散列值各自对应的原始文件一起打包成安装包。较佳地,所述一阶散列值文件具体为Manifest.mf文件;所述二阶散列值文件具体为Cert.sf文件;所述数字签名文件具体为Cert.rsa文件。本专利技术的技术方案根据另一个方面,还提供了一种服务器端的数字签名方法,包括:接收到移动终端上传的第一子摘要信息和代码文件的二阶散列值后,对接收的代码文件的二阶散列值进行摘要计算,得到第二子摘要信息;根据所述代码文件的二阶散列值预设在二阶散列值文件中的二阶散列值序列中的位置信息,将第一子摘要信息与第二子摘要信息拼接成摘要信息;根据预先生成的私钥对所述摘要信息进行非对称加密;根据加密结果、以及预先生成的公钥,生成数字签名文件返回至所述移动终端。进一步,所述对接收的代码文件的二阶散列值进行摘要计算之前,还包括:根据预存的经过认证的代码文件的二阶散列值,对接收的代码文件的二阶散列值进行校验。本专利技术的技术方案根据另一个方面,还提供了一种移动终端的安全防护方法,包括:确定目标应用,保存其安装包至指定目录;利用目标应用的安装包配置外壳应用安装包,向所述目标应用的安装包注入用于调用监控单元的桩模块,修改所述目标应用的安装包的配置参数以用于加载所述目标应用,所述监控单元用于实现对源自所述目标应用的事件行为的挂钩监控;对于所述外壳应用安装包中的每个原始文件,根据该原始文件的内容算得该原始文件的一阶散列值,进而根据所述一阶散列值算得该原始文件的二阶散列值;将所述安装包中各原始文件的二阶散列值组成二阶散列值序列记录到二阶散列值文件中;所述各原始文件中包括代码文件;对于所述二阶散列值序列中除了代码文件的二阶散列值文件之外的各二阶散列值进行摘要计算,得到第一子摘要信息;将第一子摘要信息和所述代码文件的二阶散列值向服务器上传;根据所述服务器返回的数字签名文件,对所述各原始文件进行签名认证;认证通过后安装所述各原始文件;加载运行所述目标应用和所述监控单元;根据监控的结果判断所述目标应用的安全性。进一步,所述根据监控的结果判断所述目标应用的安全性的步骤,还包括:当监控到目标应用进程触发释放子进程的事件行为时,为该子进程加载监控单元,以继续监控该子进程所触发本文档来自技高网
...

【技术保护点】
一种移动终端的数字签名方法,其特征在于,包括:移动终端对于二阶散列值文件中的二阶散列值序列,对该二阶散列值序列中除了代码文件的二阶散列值之外的各二阶散列值进行摘要计算,得到第一子摘要信息;将第一子摘要信息和所述代码文件的二阶散列值向服务器上传;其中,所述二阶散列值对应原始文件;所述原始文件的二阶散列值是根据该原始文件的一阶散列值算得的,该原始文件的一阶散列值是根据该原始文件的内容算得的;所述代码文件是所述原始文件之一。

【技术特征摘要】
1.一种移动终端的数字签名方法,其特征在于,包括:
移动终端对于二阶散列值文件中的二阶散列值序列,对该二阶散列值
序列中除了代码文件的二阶散列值之外的各二阶散列值进行摘要计算,得
到第一子摘要信息;
将第一子摘要信息和所述代码文件的二阶散列值向服务器上传;
其中,所述二阶散列值对应原始文件;所述原始文件的二阶散列值是
根据该原始文件的一阶散列值算得的,该原始文件的一阶散列值是根据该
原始文件的内容算得的;所述代码文件是所述原始文件之一。
2.根据权利要求1所述的方法,其特征在于,所述将该二阶散列值
序列中除了代码文件的二阶散列值之外的各二阶散列值进行摘要计算之
前,还包括:
将所述代码文件的二阶散列值,移动到所述二阶散列值序列的末尾,
得到二阶散列值序列重排后的二阶散列值文件。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述移动终端接收到所述服务器返回的数字签名文件后,对于一阶散
列值文件中的一阶散列值序列,将该一阶散列值序列中所述代码文件的一
阶散列值,移动到所述一阶散列值序列的末尾,得到一阶散列值序列重排
后的一阶散列值文件;
将所述数字签名文件、二阶散列值序列重排后的二阶散列值文件、一
阶散列值序列重排后的一阶散列值文件,以及所述二阶散列值序列中各二
阶散列值各自对应的原始文件一起打包成安装包。
4.一种服务器端的数字签名方法,其特征在于,包括:
接收到移动终端上传的第一子摘要信息和代码文件的二阶散列值后,
对接收的代码文件的二阶散列值进行摘要计算,得到第二子摘要信息;
根据所述代码文件的二阶散列值预设在二阶散列值文件中的二阶散
列值序列中的位置信息,将第一子摘要信息与第二子摘要信息拼接成摘要
信息;
根据预先生成的私钥对所述摘要信息进行非对称加密;
根据加密结果、以及预先生成的公钥,生成数字签名文件返回至所述
移动终端。
5.根据权利要求4所述的方法,其特征在于,所述对接收的代码文
件的二阶散列值进行摘要计算之前,还包括:
根据预存的经过认证的代码文件的二阶散列值,对接收的代码文件的
二阶散列值进行校验。
6.一种移动终端的安全防护方法,其特征在于,包括:
确定目标应用,保存所述目标应用的安装包至指定目录;
利用所述目标应用的安装包配置外壳应用安装包,向所述目标应用的
安装包中注入用于调用监控单元的桩模块,修改所述目标应用的安装包中
的配置参数以用于加载所述目标应用,所述监控单元用...

【专利技术属性】
技术研发人员:李常坤石浩然
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1