数据加解密方法、业务端、加密端及相关装置与流程

摘要: 本技术涉及数据安全,尤其涉及数据加解密方法、业务端、加密端及相关装置。背景技术:1、在金融、政务、医疗等领域的敏感数据加密传输场景中,通常采用标准化的密码消息语...
数据加解密方法、业务端、加密端及相关装置与流程

本技术涉及数据安全,尤其涉及数据加解密方法、业务端、加密端及相关装置。

背景技术:

1、在金融、政务、医疗等领域的敏感数据加密传输场景中,通常采用标准化的密码消息语法对业务数据进行封装加密。现有的主流实现方式为纯软件方案,即业务应用直接调用开源密码库,由密码库在业务端的内存或本地存储中管理加密所用的密钥,并依赖中央处理器完成数据的格式处理及加解密运算,最终生成标准格式的密文消息。

2、在实际使用中,上述方案存在密钥易泄露的风险。加密所用的密钥以明文形式存在于业务端的内存或本地存储中,攻击者可通过内存抓取、木马窃取、逆向分析等手段非法获取这些密钥。一旦密钥被窃取,攻击者便能够解密所有使用该密钥加密的数据,导致加密数据的机密性完全丧失,给业务系统带来严重的安全隐患。

3、现有纯软件方案中,密钥的存储和管理均在业务端的软件环境中完成。业务端进程的内存空间及文件系统难以有效防御操作系统层面的攻击或恶意软件的侵入,导致密钥明文始终处于易被窃取的风险状态。

技术实现思路

1、本技术提供了一种数据加解密方法、业务端、加密端及相关装置,通过将密钥的存储和密码运算交由加密端执行,业务端仅处理数据信封结构的构建与解析,使得密钥明文不出现在业务端软件环境中,用于解决现有技术中密钥易被窃取的技术问题。

2、本技术第一方面提供了一种数据加解密方法,应用于业务端,所述方法包括:

3、向加密端发送加密请求,所述加密请求包括待加密明文、对称密钥以及非对称密钥;

4、接收所述加密端返回的业务密文和会话密钥,将所述业务密文和所述会话密钥分别填充至预先生成的数据信封结构中预留的业务密文字段和会话密钥字段;

5、响应解密请求,对填充后的所述数据信封结构进行区分编码规则序列化,输出语法密文,并对所述语法密文进行区分编码规则解码,解析出所述业务密文和所述会话密钥;

6、向所述加密端发送所述解密请求,所述解密请求携带有所述业务密文和所述会话密钥;

7、接收所述加密端返回的原始明文,输出所述原始明文。

8、可选的,所述对填充后的所述数据信封结构进行区分编码规则序列化,输出语法密文,并对所述语法密文进行区分编码规则解码,解析出所述业务密文和所述会话密钥,包括:

9、按照区分编码规则,将填充后的所述数据信封结构中的每个字段转换成由类型标识、长度值和内容值顺序拼接而成的编码片段;

10、将所有字段的编码片段按照所述数据信封结构中的原始顺序进行拼接,形成二进制串,输出为语法密文;

11、对所述语法密文进行解析,从所述二进制串的起始位置顺序依次读取各字段的类型标识、长度值和内容值,还原出各个字段的原始数据,形成解码后的数据结构;

12、在所述解码后的数据结构中,根据预设的字段类型标识定位业务密文字段和会话密钥字段,分别提取所述业务密文字段的内容作为所述业务密文,提取所述会话密钥字段的内容作为所述会话密钥。

13、可选的,所述在所述解码后的数据结构中,根据预设的字段类型标识定位业务密文字段和会话密钥字段,分别提取所述业务密文字段的内容作为所述业务密文,提取所述会话密钥字段的内容作为所述会话密钥,包括:

14、根据预设的业务密文字段类型标识,在所述解码后的数据结构中查找类型标识匹配的字段,提取该字段的内容作为所述业务密文;

15、根据预设的会话密钥字段类型标识,在解码后的数据结构中查找类型标识匹配的字段,提取该字段的内容作为所述会话密钥。

16、本技术第二方面提供了一种数据加解密方法,应用于加密端,所述方法包括:

17、接收业务端发送的加密请求,所述加密请求包括待加密明文、对称密钥以及非对称密钥;

18、对所述待加密明文使用所述对称密钥加密得到业务密文,对所述对称密钥使用所述非对称密钥的公钥加密得到加密后的会话密钥,并将所述业务密文和所述会话密钥返回至所述业务端;

19、接收所述业务端发送的解密请求,所述解密请求携带有所述业务密文和所述会话密钥;

20、根据所述非对称密钥中的私钥解密所述会话密钥,得到对称密钥;

21、根据所述对称密钥解密所述业务密文,得到原始明文,并将所述原始明文返回给所述业务端。

22、可选的,所述对所述待加密明文使用所述对称密钥加密得到业务密文,对所述对称密钥使用所述非对称密钥的公钥加密得到加密后的会话密钥,并将所述业务密文和所述会话密钥返回至所述业务端,包括:

23、将所述待加密明文按预设的分组长度划分为若干个顺序排列的数据分组;

24、将所述对称密钥作为加密密钥,按照预设分组密码模式依次对各个所述数据分组进行对称加密运算,得到若干个密文分组;

25、将所有所述密文分组按照预设顺序进行拼接,得到业务密文;

26、在所述非对称密钥中提取公钥,使用所述公钥对所述对称密钥进行非对称加密运算,得到会话密钥;

27、将所述业务密文和所述会话密钥作为加密结果,返回至所述业务端。

28、可选的,所述根据所述对称密钥解密所述业务密文,得到原始明文,并将所述原始明文返回给所述业务端,包括:

29、将所述业务密文按预设的分组长度划分为若干个顺序排列的密文分组;

30、将所述对称密钥作为解密密钥,按照预设分组密码模式依次对各个所述密文分组进行对称解密运算,得到若干个明文分组;

31、将所有所述明文分组按照预设顺序进行拼接,得到原始明文,并将所述原始明文作为解密结果返回至所述业务端。

32、本技术第三方面提供了一种数据加解密业务端,包括:

33、请求加密单元,用于向加密端发送加密请求,所述加密请求包括待加密明文、对称密钥以及非对称密钥;

34、填充单元,用于接收所述加密端返回的业务密文和会话密钥,将所述业务密文和所述会话密钥分别填充至预先生成的数据信封结构中预留的业务密文字段和会话密钥字段;

35、解析单元,用于响应解密请求,对填充后的所述数据信封结构进行区分编码规则序列化,输出语法密文,并对所述语法密文进行区分编码规则解码,解析出所述业务密文和所述会话密钥;

36、请求解密单元,用于向所述加密端发送所述解密请求,所述解密请求携带有所述业务密文和所述会话密钥;

37、接收单元,用于接收所述加密端返回的原始明文,输出所述原始明文。

38、本技术第四方面提供了一种数据加解密的加密端,包括:

39、接收加密单元,用于接收业务端发送的加密请求,所述加密请求包括待加密明文、对称密钥以及非对称密钥;

40、加密单元,用于对所述待加密明文使用所述对称密钥加密得到业务密文,对所述对称密钥使用所述非对称密钥的公钥加密得到加密后的会话密钥,并将所述业务密文和所述会话密钥返回至所述业务端;

41、接收解密单元,用于接收所述业务端发送的解密请求,所述解密请求携带有所述业务密文和所述会话密钥;

42、第一解密单元,用于根据所述非对称密钥中的私钥解密所述会话密钥,得到对称密钥;

43、第二解密单元,用于根据所述对称密钥解密所述业务密文,得到原始明文,并将所述原始明文返回给所述业务端。

44、本技术第五方面提供了一种数据加解密装置,所述装置包括:

45、处理器、存储器、输入输出单元以及总线;

46、所述处理器与所述存储器、所述输入输出单元以及所述总线相连;

47、所述存储器保存有程序,所述处理器调用所述程序以执行第一方面或第二方面以及第一方面或第二方面中任一项可选的数据加解密方法。

48、本技术第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如第一方面或第二方面以及第一方面或第二方面任一项可选的数据加解密方法。

49、从以上技术方案可以看出,本技术具有以下优点:

50、通过业务端与加密端协同工作,使得业务端不再参与密钥管理和密码运算,仅负责数据信封结构的构建、填充及格式转换。如此,密钥明文不会出现在业务端的内存或存储介质中,从源头上降低了密钥被窃取的风险。具体实现上,业务端向加密端发送加密请求并生成预留有业务密文字段和会话密钥字段的数据信封结构,待加密端返回运算结果后,再将业务密文和会话密钥填入对应位置,使得业务端无需依赖任何开源密码库即可自主完成符合标准格式的密文组装,既保证了格式规范性,又规避了现有密码库在数据格式解析方面存在的安全漏洞。当需要解密时,业务端响应解密请求,对填充完毕的数据信封结构进行区分编码规则序列化以得到语法密文,再对该语法密文执行相同的解码操作,从中提取出业务密文和会话密钥,随后将其发回加密端完成解密。整个过程中,业务端仅执行格式处理任务,将复杂的密码计算全数交由加密端承担,两者分工明确、配合紧密,有效提高密钥的安全性。