一种基于密码算法加密和解密数据的方法及装置与流程

文档序号:11778367阅读:231来源:国知局
一种基于密码算法加密和解密数据的方法及装置与流程

本发明涉及数字认证技术领域,特别涉及一种基于密码算法加密和解密数据的方法及装置。



背景技术:

数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。目前在移动端主要使用对称密码算法对数据进行加密和解密,但是对称密码算法的缺点是加密密钥较容易被恶意拿到比如:在反编译从源程序破译或者中间人抓包截获。

目前各大厂商实现的是非国产算法的单证书,采用的加密方案为移动终端系统中自带的对称加密算法或者是自定义的加密算法。但是采用国际通用算法,对于密码应用来说,安全性不够;当单独数字证书被删除时,无法恢复加密的内容;使用非对称算法,对于密钥的安全保护不够。



技术实现要素:

本发明的目的在于提供一种基于密码算法加密和解密数据的方法及装置,解决了现有技术中密钥的安全保护不够的问题。

根据本发明的一个方面,提供了一种基于密码算法加密和解密数据的方法,包括以下步骤:

移动终端使用终端账户向证书认证中心ca(certificationauthority,证书认证中心)申请签名证书和加密证书;

移动终端利用所申请到的签名证书从ca下载所申请的加密证书;

在对待保护数据加密时,移动终端利用所述加密证书密钥对加密所述待保护数据,得到并保存数据密文;

移动终端将所述加密证书密钥与移动终端特征码进行绑定后,保存到其硬件 载体中;

在对数据密文解密时,根据所述移动终端特征码与所述加密证书密钥绑定关系,得到所述加密证书密钥,并利用所述密证书密钥解密所述数据密文。

优选地,所述在对待保护数据加密时,移动终端利用所述加密证书密钥对加密所述待保护数据,得到并保存数据密文包括;

移动终端根据待保护数据的复杂程度,判断待保护数据是简单数据还是复杂数据;

当判断待保护数据为简单数据时,移动终端采用所述加密证书密钥的密钥对加密所述待保护数据,得到简单数据密文;

当判断待保护数据为复杂数据时,移动终端采用所述加密证书密钥的对称密钥加密所述待保护数据,得到复杂数据密文。

优选地,对于简单数据密文的解密,移动终端利用根据所述绑定关系得到所述加密证书密钥,对所述简单数据密文进行解密。

优选地,还包括,在采用对称密钥加密所述待保护数据之前或之后,移动终端采用所述加密证书密钥的密钥对加密所述对称密钥,得到对称密钥密文。

优选地,对于复杂数据密文的解密,移动终端利用根据所述绑定关系得到所述加密证书密钥,对所述对称密钥密文进行解密,得到对称密钥,并利用所得到的对称密钥对所述复杂数据密文进行解密。

优选地,所述在对数据密文解密时,根据所述移动终端特征码与所述密证书密钥绑定关系,得到所述加密证书密钥,利用所述密证书密钥解密所述数据密文包括:

在对数据密文解密时,移动终端利用移动终端特征码向ca申请允许恢复加密证书的新签名证书;

移动终端利用所申请到的新签名证书从ca下载所述用于恢复数据密文的加密证书。

优选地,所述保存数据密文包括:将数据密文保存在本地或将数据密文上传到云服务器端。

优选地,所述对称密钥为密码算法sm4;所述密钥对为密码算法sm2。

根据本发明的另一方面,提供了一种基于密码算法加密和解密数据的装置, 包括:

获取加密证书模块,用于移动终端使用终端账户向证书认证中心ca申请签名证书和加密证书,并利用所申请到的签名证书从ca下载所申请的加密证书;

数据加密模块,用于在对待保护数据加密时,移动终端利用所述加密证书密钥对加密所述待保护数据,得到并保存数据密文;

绑定模块,用于移动终端将所述加密证书密钥与移动终端特征码进行绑定后,保存到其硬件载体中;

数据解密模块,用于在对数据密文解密时,根据所述移动终端特征码与所述加密证书密钥绑定关系,得到所述加密证书密钥,并利用所述密证书密钥解密所述数据密文。

优选地,所述数据加密模块包括;

判断单元,用于移动终端根据待保护数据的复杂程度,判断待保护数据是简单数据还是复杂数据;

简单数据加密单元,用于当判断待保护数据为简单数据时,移动终端采用所述加密证书密钥的密钥对加密所述待保护数据,得到简单数据密文;

复杂数据加密单元,用于当判断待保护数据为复杂数据时,移动终端采用所述加密证书密钥的对称密钥加密所述待保护数据,得到复杂数据密文。

与现有技术相比较,本发明的有益效果在于:

本发明采用基于密码算法双证书机制对数据进行加密,使得数据加密过程破解成本加倍,并提高了解密的难度、提高了数据恢复的安全性和便捷性,同时也能够很好的保护加密密钥。

附图说明

图1是本发明实施例提供的一种基于密码算法加密和解密数据的方法流程图;

图2是本发明实施例提供的一种基于密码算法加密和解密数据的装置示意图;

图3是本发明实施例提供的基于密码算法加密数据的方法流程图;

图4是本发明实施例提供的基于密码算法解密数据的方法流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1是本发明实施例提供的一种基于密码算法加密和解密数据的方法流程图,如图1所示,包括以下步骤:

步骤s101:移动终端使用终端账户向证书认证中心ca申请签名证书和加密证书;

步骤s102:移动终端利用所申请到的签名证书从ca下载所申请的加密证书;

步骤s103:在对待保护数据加密时,移动终端利用所述加密证书密钥对加密所述待保护数据,得到并保存数据密文;

步骤s104:移动终端将所述加密证书密钥与移动终端特征码进行绑定后,保存到其硬件载体中;

步骤s105:在对数据密文解密时,根据所述移动终端特征码与所述加密证书密钥绑定关系,得到所述加密证书密钥,并利用所述密证书密钥解密所述数据密文。

其中,所述在对待保护数据加密时,移动终端利用所述加密证书密钥对加密所述待保护数据,得到并保存数据密文包括;移动终端根据待保护数据的复杂程度,判断待保护数据是简单数据还是复杂数据;当判断待保护数据为简单数据时,移动终端采用所述加密证书密钥的密钥对加密所述待保护数据,得到简单数据密文;当判断待保护数据为复杂数据时,移动终端采用所述加密证书密钥的对称密钥加密所述待保护数据,得到复杂数据密文。

本发明对于简单数据密文的解密,移动终端利用根据所述绑定关系得到所述加密证书密钥,对所述简单数据密文进行解密。

本发明还包括,在采用对称密钥加密所述待保护数据之前或之后,移动终端采用所述加密证书密钥的密钥对加密所述对称密钥,得到对称密钥密文。

本发明对于复杂数据密文的解密,移动终端利用根据所述绑定关系得到所述加密证书密钥,对所述对称密钥密文进行解密,得到对称密钥,并利用所得到的对称密钥对所述复杂数据密文进行解密。

具体地说,所述在对数据密文解密时,根据所述移动终端特征码与所述密证书密钥绑定关系,得到所述加密证书密钥,利用所述密证书密钥解密所述数据密文包括:在对数据密文解密时,移动终端利用移动终端特征码向ca申请允许恢复加密证书的新签名证书;移动终端利用所申请到的新签名证书从ca下载所述用于恢复数据密文的加密证书。

其中,所述保存数据密文包括:将数据密文保存在本地或将数据密文上传到云服务器端。所述对称密钥为密码算法sm4;所述密钥对为密码算法sm2。

图2是本发明实施例提供的一种基于密码算法加密和解密数据的装置示意图,包括:获取加密证书模块201、数据加密模块202、绑定模块203以及数据解密模块204。所述获取加密证书模块201,用于移动终端使用终端账户向证书认证中心ca申请签名证书和加密证书,并利用所申请到的签名证书从ca下载所申请的加密证书;所述数据加密模块202,用于在对待保护数据加密时,移动终端利用所述加密证书密钥对加密所述待保护数据,得到并保存数据密文;所述绑定模块203,用于移动终端将所述加密证书密钥与移动终端特征码进行绑定后,保存到其硬件载体中;所述数据解密模块204,用于在对数据密文解密时,根据所述移动终端特征码与所述加密证书密钥绑定关系,得到所述加密证书密钥,并利用所述密证书密钥解密所述数据密文。

其中,所述数据加密模块202包括;判断单元,用于移动终端根据待保护数据的复杂程度,判断待保护数据是简单数据还是复杂数据;简单数据加密单元,用于当判断待保护数据为简单数据时,移动终端采用所述加密证书密钥的密钥对加密所述待保护数据,得到简单数据密文;复杂数据加密单元,用于当判断待保护数据为复杂数据时,移动终端采用所述加密证书密钥的对称密钥加密所述待保护数据,得到复杂数据密文。

图3是本发明实施例提供的基于密码算法加密数据的方法流程图,如图3所示,移动终端向ca申请签名证书和加密证书,然后利用签名证书下载加密证书到移动终端,并将加密证书的密钥对与移动终端唯一特征码绑定在一起,以防止密钥对文件导出,之后通过接口对需要加密的待保护数据进行加密,加密文件上传到云端,也可以保存在本地。也就是说,在移动终端连接到能够产生密码算法的双证ca中心,申请个人双证书到移动终端,然后在移动终端安全保存双证 书,采用pkcs11接口进行保存。在使用加密证书对待保护数据进行加密包括:对于简单数据加密:使用国产密码中的公钥算法sm2对简单数据进行加密,加密后的密文采用与保护证书密钥对相同的方式保存。对于复杂数据数据加密:加密的内容量很大,可以先用对称国产密码算法sm4对数据进行加密,然后再使用国产密码中的公钥算法sm2加密证书对对称密码的密钥进行加密,加密后的密文采用与保护证书密钥对相同的方式保存。此外,为了方便恢复密钥对需要保存加密证书的序列号与密文进行对应保存。

数字证书可分为签名证书和加密证书。签名密钥对用于数据的完整性检测,保证防伪造与防抵赖,签名私钥的遗失,并不会影响对以前签名数据的验证,因此,签名私钥无须备份,完全由持有者自己产生;而加密密钥对用于数据的加密保护,若加密私钥遗失,将导致以前的加密数据无法解密,这在实际应用中是无法接受的,加密私钥应该由可信的第三方(即通常所说的ca)来备份,以保证加密数据的可用性,因此,加密密钥对可以由第三方来产生,并备份。目前在移动端的数字证书应用中,是基于标准非对称算法rsa的单证,既可以用于签名也可以用于加密。采用基于密码算法sm系列的数字证书,将两种证书签名证书和加密证书下载到移动终端。

图4是本发明实施例提供的基于密码算法解密数据的方法流程图,如图4所示,解密过程分为两个步骤第一步恢复加密证书,第二步恢复加密数据。第一步需要用原账号新产生一个签名证书,用签名证书去kmc(keymanagecenter,密钥管理中心)恢复丢失的加密证书,然后从云端恢复加密文件到本地,然后用加密证书还原数据。

所述移动终端特征码包括:硬件序列号、设备名称、蓝牙mac地址、wifimac地址、imei、设备型号、cpu编号、主板序列号、硬盘序列号、内存条序列号、图形卡/显示器序列号和电池序列号的一个或者多个的组合,或者,所述移动终端特征码包括:硬件序列号、设备名称、蓝牙mac地址、wifimac地址、imei、设备型号、cpu编号、主板序列号、硬盘序列号、内存条序列号、图形卡/显示器序列号和电池序列号的一个或者多个的组合以及与预先通过程序生成并保存在所述移动终端上的随机uuid的组合。

综上所述,本发明具有以下技术效果:

1、本发明在移动端采用加密证书加密数据的方式,使用加密证书对数据加密,不仅仅可以提高解密的难度、提高数据恢复的安全性和便捷性,同时也能够很好的保护加密密钥。

2、本方法提高了了目前移动终端加密方案中的加密密钥安全管理问题,同时使得双证书的应用领域得到推广,也提供了一种移动端单点登录软实现方案,使得kmc可以大规模普及应用。

尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1