一种数据传输系统、方法及装置转让专利

申请号 : CN201811259224.9

文献号 : CN109450881B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 安晓江胡伯良蒋红宇

申请人 : 天津海泰方圆科技有限公司

摘要 :

本发明公开了一种数据传输系统、方法及装置,应用于数据传输技术领域,用以解决通信数据易泄露、密钥维护成本高的问题。具体为:第一数据传输客户端利用数据加密密钥对通信数据进行加密得到密文数据,将数据加密密钥转换为隐藏密钥后,通过数字信封将密文数据和隐藏密钥发送到数据传输服务端,由数据传输服务端转发到第二数据传输客户端;第二数据传输客户端将隐藏密钥还原成数据加密密钥后,利用数据加密密钥对第一密文数据进行解密得到通信数据。这样,数据传输服务端只能获得隐藏密钥,且无法利用隐藏密钥解密出通信数据,从而确保了通信数据的安全性,而且,数据传输客户端无需维护大量的共享密钥,进而降低了密钥维护成本。

权利要求 :

1.一种数据传输系统,其特征在于,包括:第一数据传输客户端,数据传输服务端,以及第二数据传输客户端,其中,所述第一数据传输客户端,用于获取通信数据,并生成数据加密密钥;利用所述数据加密密钥对所述通信数据进行加密,得到第一密文数据;对所述数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用所述数据传输服务端的服务公钥,对所述隐藏密钥进行加密,得到第二密文数据;将所述第一密文数据和所述第二密文数据发送至所述数据传输服务端;其中,所述隐藏密钥用于在所述数据传输服务端对所述数据加密密钥进行防泄露保护;

所述数据传输服务端,用于接收所述第一密文数据和所述第二密文数据;利用所述数据传输服务端的服务私钥,对所述第二密文数据进行解密,得到所述隐藏密钥,并利用所述第二数据传输客户端的通信公钥,对所述隐藏密钥进行加密,得到第三密文数据;将所述第一密文数据和所述第三密文数据发送至所述第二数据传输客户端;

所述第二数据传输客户端,用于接收所述第一密文数据和所述第三密文数据;利用所述第二数据传输客户端的通信私钥,对所述第三密文数据进行解密,得到所述隐藏密钥;对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥,并利用所述数据加密密钥对所述第一密文数据进行解密,得到所述通信数据。

2.如权利要求1所述的数据传输系统,其特征在于,

所述第一数据传输客户端,用于基于内置的转换密钥,对所述数据加密密钥进行密钥变换处理,得到所述隐藏密钥;

所述第二数据传输客户端,用于基于内置的转换密钥,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥。

3.如权利要求1所述的数据传输系统,其特征在于,还包括:密钥管理服务端,其中,所述密钥管理服务端,用于生成转换密钥;利用所述第一数据传输客户端的通信公钥,对所述转换密钥进行加密,得到第一转换密文数据,并将所述第一转换密文数据发送至所述第一数据传输客户端;利用所述第二数据传输客户端的通信公钥,对所述转换密钥进行加密,得到第二转换密文数据,并将所述第二转换密文数据发送至所述第二数据传输客户端;

所述第一数据传输客户端,用于利用所述第一数据传输客户端的通信私钥,对所述第一转换密文数据进行解密,得到所述转换密钥;基于解密出的所述转换密钥,对所述数据加密密钥进行密钥变换处理,得到所述隐藏密钥;

所述第二数据传输客户端,用于利用所述第二数据传输客户端的通信私钥,对所述第二转换密文数据进行解密,得到所述转换密钥;基于解密出的所述转换密钥,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥。

4.如权利要求3所述的数据传输系统,其特征在于,

所述第一数据传输客户端,用于对所述数据加密密钥和所述转换密钥进行异或处理,得到所述隐藏密钥;或者,对所述数据加密密钥和所述转换密钥进行或处理,得到所述隐藏密钥;或者,对所述数据加密密钥和所述转换密钥进行和运算,得到隐藏和密钥,并对所述隐藏和密钥进行哈希处理,得到所述隐藏密钥;

所述第二数据传输客户端,用于对所述隐藏密钥和所述转换密钥进行异或处理,得到所述数据加密密钥;或者,对所述隐藏密钥和所述转换密钥进行或处理,得到所述数据加密密钥;或者,对所述隐藏密钥和所述转换密钥进行和运算,得到还原和密钥,并对所述还原和密钥进行哈希处理,得到所述数据加密密钥。

5.如权利要求1-4任一项所述的数据传输系统,其特征在于,

所述第一数据传输客户端,还用于若确定所述通信数据对应多个第二数据传输客户端,则获取所述多个第二数据传输客户端各自对应的标识信息,并根据所述多个第二数据传输客户端各自对应的标识信息,生成用户列表,以及将所述用户列表、所述第一密文数据和所述第二密文数据发送至所述数据传输服务端;

所述数据传输服务端,还用于接收所述用户列表、所述第一密文数据和所述第二密文数据;利用所述数据传输服务端的服务私钥,对所述第二密文数据进行解密,得到所述隐藏密钥后,根据所述用户列表中记录的所述多个第二数据传输客户端各自对应的标识信息,确定所述多个第二数据传输客户端各自对应的通信公钥,并利用所述多个第二数据传输客户端各自对应的通信公钥,对所述隐藏密钥分别进行加密,得到所述多个第二数据传输客户端各自对应的第三密文数据;将所述多个第二数据传输客户端各自对应的第三密文数据和所述第一密文数据发送至相应的第二数据传输客户端。

6.一种数据传输方法,应用于第一数据传输客户端,其特征在于,包括:

获取通信数据,并生成数据加密密钥;

利用所述数据加密密钥对所述通信数据进行加密,得到第一密文数据;

对所述数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用数据传输服务端的服务公钥,对所述隐藏密钥进行加密,得到第二密文数据;其中,所述隐藏密钥用于在所述数据传输服务端对所述数据加密密钥进行防泄露保护;

将所述第一密文数据和所述第二密文数据发送至所述数据传输服务端。

7.如权利要求6所述的数据传输方法,其特征在于,对所述数据加密密钥进行密钥变换处理,得到隐藏密钥,包括:读取内置的转换密钥;

基于所述转换密钥,对所述数据加密密钥进行密钥变换处理,得到所述隐藏密钥。

8.如权利要求6所述的数据传输方法,其特征在于,对所述数据加密密钥进行密钥变换处理,得到隐藏密钥,包括:利用所述第一数据传输客户端的通信私钥,对密钥管理服务端发送的第一转换密文数据进行解密,得到转换密钥;其中,所述第一转换密文数据是所述密钥管理服务端利用所述第一数据传输客户端的通信公钥,对生成的转换密钥进行加密得到的;

基于所述转换密钥,对所述数据加密密钥进行密钥变换处理,得到所述隐藏密钥。

9.如权利要求8所述的数据传输方法,其特征在于,基于所述转换密钥,对所述数据加密密钥进行密钥变换处理,得到所述隐藏密钥,包括:对所述数据加密密钥和所述转换密钥进行异或处理,得到所述隐藏密钥;或者,对所述数据加密密钥和所述转换密钥进行或处理,得到所述隐藏密钥;或者,对所述数据加密密钥和所述转换密钥进行和运算,得到隐藏和密钥,并对所述隐藏和密钥进行哈希处理,得到所述隐藏密钥。

10.如权利要求6-9任一项所述的数据传输方法,其特征在于,若确定所述通信数据对应多个第二数据传输客户端,则还包括:获取所述多个第二数据传输客户端各自对应的标识信息;

根据所述多个第二数据传输客户端各自对应的标识信息,生成用户列表;

将所述用户列表、所述第一密文数据和所述第二密文数据发送至所述数据传输服务端。

11.一种数据传输方法,应用于数据传输服务端,其特征在于,包括:

接收第一数据传输客户端发送的第一密文数据和第二密文数据;其中,所述第一密文数据是所述第一数据传输客户端利用生成的数据加密密钥,对获得的通信数据进行加密得到的;所述第二密文数据是所述第一数据传输客户端对所述数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用所述数据传输服务端的服务公钥对所述隐藏密钥进行加密得到的;

利用所述数据传输服务端的服务私钥,对所述第二密文数据进行解密,得到所述隐藏密钥,并利用第二数据传输客户端的通信公钥,对所述隐藏密钥进行加密,得到第三密文数据;

将所述第一密文数据和所述第三密文数据发送至所述第二数据传输客户端。

12.如权利要求11所述的数据传输方法,其特征在于,若接收到所述第一数据传输客户端发送的记录有多个第二数据传输客户端的标识信息的用户列表、所述第一密文数据和所述第二密文数据,则还包括:根据所述用户列表中记录的所述多个第二数据传输客户端各自对应的标识信息,确定所述多个第二数据传输客户端各自对应的通信公钥;

利用所述多个第二数据传输客户端各自对应的通信公钥,对所述隐藏密钥分别进行加密,得到所述多个第二数据传输客户端各自对应的第三密文数据;

将所述多个第二数据传输客户端各自对应的第三密文数据和所述第一密文数据发送至相应的第二数据传输客户端。

13.一种数据传输方法,应用于第二数据传输客户端,其特征在于,包括:

接收数据传输服务端发送的第一密文数据以及所述数据传输服务端根据第二密文数据得到的第三密文数据;其中,所述第一密文数据是第一数据传输客户端利用生成的数据加密密钥,对获得的通信数据进行加密得到并发送给所述数据传输服务端的;所述第二密文数据是所述第一数据传输客户端对所述数据加密密钥进行密钥变换,得到隐藏密钥后,利用所述数据传输服务端的服务公钥对所述隐藏密钥进行加密得到并发送给所述数据传输服务端的;所述第三密文数据是所述数据传输服务端利用所述数据传输服务端的服务私钥,对所述第二密文数据进行解密,得到所述隐藏密钥,并利用所述第二数据传输客户端的通信公钥,对所述隐藏密钥进行加密得到的;其中,所述隐藏密钥用于在所述数据传输服务端对所述数据加密密钥进行防泄露保护;

利用所述第二数据传输客户端的通信私钥,对所述第三密文数据进行解密,得到所述隐藏密钥;

对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥,并利用所述数据加密密钥对所述第一密文数据进行解密,得到所述通信数据。

14.如权利要求13所述的数据传输方法,其特征在于,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥,包括:读取内置的转换密钥;

基于所述转换密钥,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥。

15.如权利要求13所述的数据传输方法,其特征在于,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥,包括:利用所述第二数据传输客户端的通信私钥,对密钥管理服务端发送的第二转换密文数据进行解密,得到转换密钥;其中,所述第二转换密文数据是所述密钥管理服务端利用所述第二数据传输客户端的通信公钥,对生成的转换密钥进行加密得到的;

基于所述转换密钥,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥。

16.如权利要求14或15所述的数据传输方法,其特征在于,基于所述转换密钥,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥,包括:对所述隐藏密钥和所述转换密钥进行异或处理,得到所述数据加密密钥;或者,对所述隐藏密钥和所述转换密钥进行或处理,得到所述数据加密密钥;或者,对所述隐藏密钥和所述转换密钥进行和运算,得到还原和密钥,并对所述还原和密钥进行哈希处理,得到所述数据加密密钥。

17.一种数据传输装置,应用于第一数据传输客户端,其特征在于,包括:

数据获取单元,用于获取通信数据;

第一加密单元,用于生成数据加密密钥,并利用所述数据加密密钥,对所述数据获取单元获得的所述通信数据进行加密,得到第一密文数据;

密钥转换单元,用于对所述第一加密单元生成的所述数据加密密钥进行密钥变换处理,得到隐藏密钥;其中,所述隐藏密钥用于在所述数据传输服务端对所述数据加密密钥进行防泄露保护;

第二加密单元,用于利用数据传输服务端的服务公钥,对所述密钥转换单元转换的所述隐藏密钥进行加密,得到第二密文数据;

数据传输单元,用于将所述第一加密单元获得的所述第一密文数据和所述第二加密单元获得的所述第二密文数据发送至所述数据传输服务端。

18.如权利要求17所述的数据传输装置,其特征在于,在对所述数据加密密钥进行密钥变换处理,得到隐藏密钥时,所述密钥转换单元用于:读取内置的转换密钥;

基于所述转换密钥,对所述数据加密密钥进行密钥变换处理,得到所述隐藏密钥。

19.如权利要求17所述的数据传输装置,其特征在于,在对所述数据加密密钥进行密钥变换处理,得到隐藏密钥时,所述密钥转换单元用于:利用所述第一数据传输客户端的通信私钥,对密钥管理服务端发送的第一转换密文数据进行解密,得到转换密钥;其中,所述第一转换密文数据是所述密钥管理服务端利用所述第一数据传输客户端的通信公钥,对生成的转换密钥进行加密得到的;

基于所述转换密钥,对所述数据加密密钥进行密钥变换处理,得到所述隐藏密钥。

20.如权利要求19所述的数据传输装置,其特征在于,在基于所述转换密钥,对所述数据加密密钥进行密钥变换处理,得到所述隐藏密钥时,所述密钥转换单元用于:对所述数据加密密钥和所述转换密钥进行异或处理,得到所述隐藏密钥;或者,对所述数据加密密钥和所述转换密钥进行或处理,得到所述隐藏密钥;或者,对所述数据加密密钥和所述转换密钥进行和运算,得到隐藏和密钥,并对所述隐藏和密钥进行哈希处理,得到所述隐藏密钥。

21.如权利要求17-20任一项所述的数据传输装置,其特征在于,还包括:列表生成单元,其中,所述列表生成单元,用于若确定所述通信数据对应多个第二数据传输客户端,则获取所述多个第二数据传输客户端各自对应的标识信息,并根据所述多个第二数据传输客户端各自对应的标识信息,生成用户列表;

所述数据传输单元,用于将所述用户列表、所述第一密文数据和所述第二密文数据发送至所述数据传输服务端。

22.一种数据传输装置,应用于数据传输服务端,其特征在于,包括:

数据接收单元,用于接收第一数据传输客户端发送的第一密文数据和第二密文数据;

其中,所述第一密文数据是所述第一数据传输客户端利用生成的数据加密密钥,对获得的通信数据进行加密得到的;所述第二密文数据是所述第一数据传输客户端对所述数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用数据传输服务端的服务公钥对所述隐藏密钥进行加密得到的;

数据加解密单元,用于利用所述数据传输服务端的服务私钥,对所述数据接收单元接收到的所述第二密文数据进行解密,得到所述隐藏密钥,并利用第二数据传输客户端的通信公钥,对所述隐藏密钥进行加密,得到第三密文数据;

数据转发单元,用于将所述数据接收单元接收到的所述第一密文数据和所述数据加解密单元获得的所述第三密文数据发送至所述第二数据传输客户端。

23.如权利要求22所述的数据传输装置,其特征在于,若接收到所述第一数据传输客户端发送的记录有多个第二数据传输客户端的标识信息的用户列表、所述第一密文数据和所述第二密文数据,则:所述数据加解密单元,还用于根据所述用户列表中记录的所述多个第二数据传输客户端各自对应的标识信息,确定所述多个第二数据传输客户端各自对应的通信公钥,以及,利用所述多个第二数据传输客户端各自对应的通信公钥,对所述隐藏密钥分别进行加密,得到所述多个第二数据传输客户端各自对应的第三密文数据;

所述数据转发单元,还用于将所述多个第二数据传输客户端各自对应的第三密文数据和所述第一密文数据发送至相应的第二数据传输客户端。

24.一种数据传输装置,应用于第二数据传输客户端,其特征在于,包括:

数据接收单元,用于接收数据传输服务端发送的第一密文数据以及所述数据传输服务端根据第二密文数据得到的第三密文数据;其中,所述第一密文数据是第一数据传输客户端利用生成的数据加密密钥,对获得的通信数据进行加密得到并发送给所述数据传输服务端的;所述第二密文数据是所述第一数据传输客户端对所述数据加密密钥进行密钥变换处理,得到隐藏密钥后,利用所述数据传输服务端的服务公钥对所述隐藏密钥进行加密得到并发送给所述数据传输服务端的;所述第三密文数据是所述数据传输服务端利用所述数据传输服务端的服务私钥,对所述第二密文数据进行解密,得到所述隐藏密钥,并利用所述第二数据传输客户端的通信公钥,对所述隐藏密钥进行加密得到的;其中,所述隐藏密钥用于在所述数据传输服务端对所述数据加密密钥进行防泄露保护;

第一解密单元,用于利用所述第二数据传输客户端的通信私钥,对所述数据接收单元接收到的所述第三密文数据进行解密,得到所述隐藏密钥;

密钥还原单元,用于对所述第一解密单元解密出的所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥;

第二解密单元,用于利用所述密钥还原单元还原的所述数据加密密钥,对所述数据接收单元接收到的所述第一密文数据进行解密,得到所述通信数据。

25.如权利要求24所述的数据传输装置,其特征在于,在对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥时,所述密钥还原单元用于:读取内置的转换密钥;

基于所述转换密钥,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥。

26.如权利要求24所述的数据传输装置,其特征在于,在对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥时,所述密钥还原单元用于:利用所述第二数据传输客户端的通信私钥,对密钥管理服务端发送的第二转换密文数据进行解密,得到转换密钥;其中,所述第二转换密文数据是所述密钥管理服务端利用所述第二数据传输客户端的通信公钥,对生成的转换密钥进行加密得到的;

基于所述转换密钥,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥。

27.如权利要求25或26所述的数据传输装置,其特征在于,在基于所述转换密钥,对所述隐藏密钥进行密钥还原处理,得到所述数据加密密钥时,所述密钥还原单元用于:对所述隐藏密钥和所述转换密钥进行异或处理,得到所述数据加密密钥;或者,对所述隐藏密钥和所述转换密钥进行或处理,得到所述数据加密密钥;或者,对所述隐藏密钥和所述转换密钥进行和运算,得到还原和密钥,并对所述还原和密钥进行哈希处理,得到所述数据加密密钥。

28.一种数据传输设备,其特征在于,包括:存储器、处理器和存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现如权利要求6-16任一项所述的数据传输方法的步骤。

29.一种计算机存储介质,其特征在于,所述计算机存储介质存储有可执行程序,所述可执行程序被处理器执行时实现如权利要求6-16任一项所述的数据传输方法的步骤。

说明书 :

一种数据传输系统、方法及装置

技术领域

[0001] 本发明涉及数据加密传输技术领域,尤其涉及一种数据传输系统、方法、及装置。

背景技术

[0002] 目前,针对通信数据的加密传输主要有以下两种方法:
[0003] (1)基于数字信封的加密传输方法。具体为,数据传输客户端利用对称密钥对通信数据进行加密,得到通信数据的密文数据,并利用数据传输服务端的服务公钥对对称密钥进行加密,得到对称密钥的密文数据,将得到的通信数据的密文数据和对称密钥的密文数据发送至数据传输服务端,通过数据传输服务端转发给目标数据传输客户端。
[0004] 显然,在这种基于数字信封的加密传输方法中,数据传输服务端能够解密出所有的通信数据,可能存在通信数据被泄露的安全隐患。
[0005] (2)基于共享密钥的加密传输方法。具体为,数据传输客户端利用共享密钥对通信数据进行加密,得到通信数据的密文数据后,将共享密钥和通信数据的密文数据一并发送给数据传输服务端,数据传输服务端再转发给该目标数据传输客户端。
[0006] 显然,在基于共享密钥的加密传输方法中,只要破解了共享密钥,任何人都能够解密出通信数据,从而造成了通信数据的泄露。而且,数据传输客户端需要维护大量的共享密钥,才能够与不同的目标数据传输客户端进行数据传输,从而增加了共享密钥的维护成本。

发明内容

[0007] 本发明实施例提供了一种数据传输系统、方法、装置、设备及介质,用以解决现有技术中的基于数字信封的加密传输方法存在由于通信数据容易被数据传输服务端解密导致通信数据泄露等问题,以及基于共享密钥的加密传输方法存在通信数据易泄露、密钥维护成本高等问题。
[0008] 本发明实施例提供的具体技术方案如下:
[0009] 一种数据传输系统,包括:第一数据传输客户端,数据传输服务端,以及第二数据传输客户端,其中,
[0010] 第一数据传输客户端,用于获取通信数据,并生成数据加密密钥;利用数据加密密钥对通信数据进行加密,得到第一密文数据;对数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用数据传输服务端的服务公钥,对隐藏密钥进行加密,得到第二密文数据;将第一密文数据和第二密文数据发送至数据传输服务端;其中,隐藏密钥用于在数据传输服务端对数据加密密钥进行防泄露保护;
[0011] 数据传输服务端,用于接收第一密文数据和第二密文数据;利用数据传输服务端的服务私钥,对第二密文数据进行解密,得到隐藏密钥,并利用第二数据传输客户端的通信公钥,对隐藏密钥进行加密,得到第三密文数据;将第一密文数据和第三密文数据发送至第二数据传输客户端;
[0012] 第二数据传输客户端,用于接收第一密文数据和第三密文数据;利用第二数据传输客户端的通信私钥,对第三密文数据进行解密,得到隐藏密钥;对隐藏密钥进行密钥还原处理,得到数据加密密钥,并利用数据加密密钥对第一密文数据进行解密,得到通信数据。
[0013] 在本发明实施例提供的数据传输系统中,第一数据传输客户端,用于基于内置的转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥;
[0014] 第二数据传输客户端,用于基于内置的转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0015] 本发明实施例提供的数据传输系统还包括:密钥管理服务端,其中,[0016] 密钥管理服务端,用于生成转换密钥;利用第一数据传输客户端的通信公钥,对转换密钥进行加密,得到第一转换密文数据,并将第一转换密文数据发送至第一数据传输客户端;利用第二数据传输客户端的通信公钥,对转换密钥进行加密,得到第二转换密文数据,并将第二转换密文数据发送至第二数据传输客户端;
[0017] 第一数据传输客户端,用于利用第一数据传输客户端的通信私钥,对第一转换密文数据进行解密,得到转换密钥;基于解密出的转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥;
[0018] 第二数据传输客户端,用于利用第二数据传输客户端的通信私钥,对第二转换密文数据进行解密,得到转换密钥;基于解密出的转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0019] 在本发明实施例提供的数据传输系统中,第一数据传输客户端,用于对数据加密密钥和转换密钥进行异或处理,得到隐藏密钥;或者,对数据加密密钥和转换密钥进行或处理,得到隐藏密钥;或者,对数据加密密钥和转换密钥进行和运算,得到隐藏和密钥,并对隐藏和密钥进行哈希处理,得到隐藏密钥;
[0020] 第二数据传输客户端,用于对隐藏密钥和转换密钥进行异或处理,得到数据加密密钥;或者,对隐藏密钥和转换密钥进行或处理,得到数据加密密钥;或者,对隐藏密钥和转换密钥进行和运算,得到还原和密钥,并对还原和密钥进行哈希处理,得到数据加密密钥。
[0021] 在本发明实施例提供的数据传输系统中,第一数据传输客户端,还用于若确定通信数据对应多个第二数据传输客户端,则获取多个第二数据传输客户端各自对应的标识信息,并根据多个目标数据传输客户端各自对应的标识信息,生成用户列表,以及将用户列表、第一密文数据和第二密文数据发送至数据传输服务端;
[0022] 数据传输服务端,还用于接收用户列表、第一密文数据和第二密文数据;利用数据传输服务端的服务私钥,对第二密文数据进行解密,得到隐藏密钥后,根据用户列表中记录的多个第二数据传输客户端各自对应的标识信息,确定多个第二数据传输客户端各自对应的通信公钥,并利用多个第二数据传输客户端各自对应的通信公钥,对隐藏密钥分别进行加密,得到多个第二数据传输客户端各自对应的第三密文数据;将多个第二数据传输客户端各自对应的第三密文数据和第一密文数据发送至相应的第二数据传输客户端。
[0023] 一种数据传输方法,应用于第一数据传输客户端,包括:
[0024] 获取通信数据,并生成数据加密密钥;
[0025] 利用数据加密密钥对通信数据进行加密,得到第一密文数据;
[0026] 对数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用数据传输服务端的服务公钥,对隐藏密钥进行加密,得到第二密文数据;其中,隐藏密钥用于在数据传输服务端对数据加密密钥进行防泄露保护;
[0027] 将第一密文数据和第二密文数据发送至数据传输服务端。
[0028] 在本发明实施例提供的数据传输方法中,对数据加密密钥进行密钥变换处理,得到隐藏密钥,包括:
[0029] 读取内置的转换密钥;
[0030] 基于转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥。
[0031] 在本发明实施例提供的数据传输方法中,对数据加密密钥进行密钥变换处理,得到隐藏密钥,包括:
[0032] 利用第一数据传输客户端的通信私钥,对密钥管理服务端发送的第一转换密文数据进行解密,得到转换密钥;其中,第一转换密文数据是密钥管理服务端利用第一数据传输客户端的通信公钥,对生成的转换密钥进行加密得到的;
[0033] 基于转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥。
[0034] 在本发明实施例提供的数据传输方法中,基于转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥,包括:
[0035] 对数据加密密钥和转换密钥进行异或处理,得到隐藏密钥;或者,[0036] 对数据加密密钥和转换密钥进行或处理,得到隐藏密钥;或者,
[0037] 对数据加密密钥和转换密钥进行和运算,得到隐藏和密钥,并对隐藏和密钥进行哈希处理,得到隐藏密钥。
[0038] 在本发明实施例提供的数据传输方法中,若确定通信数据对应多个第二数据传输客户端,则还包括:
[0039] 获取多个第二数据传输客户端各自对应的标识信息;
[0040] 根据多个目标数据传输客户端各自对应的标识信息,生成用户列表;
[0041] 将用户列表、第一密文数据和第二密文数据发送至数据传输服务端。
[0042] 一种数据传输方法,应用于数据传输服务端,包括:
[0043] 接收第一数据传输客户端发送的第一密文数据和第二密文数据;其中,第一密文数据是第一数据传输客户端利用生成的数据加密密钥,对获得的通信数据进行加密得到的;第二密文数据是第一数据传输客户端对数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用数据传输服务端的服务公钥对隐藏密钥进行加密得到的;
[0044] 利用数据传输服务端的服务私钥,对第二密文数据进行解密,得到隐藏密钥,并利用第二数据传输客户端的通信公钥,对隐藏密钥进行加密,得到第三密文数据;
[0045] 将第一密文数据和第三密文数据发送至第二数据传输客户端。
[0046] 在本发明实施例提供的数据传输方法中,接收到第一数据传输客户端发送的记录有多个第二数据传输客户端的标识信息的用户列表、第一密文数据和第二密文数据,则还包括:
[0047] 根据用户列表中记录的多个第二数据传输客户端各自对应的标识信息,确定多个第二数据传输客户端各自对应的通信公钥;
[0048] 利用多个第二数据传输客户端各自对应的通信公钥,对隐藏密钥分别进行加密,得到多个第二数据传输客户端各自对应的第三密文数据;
[0049] 将多个第二数据传输客户端各自对应的第三密文数据和第一密文数据发送至相应的第二数据传输客户端。
[0050] 一种数据传输方法,应用于第二数据传输客户端,包括:
[0051] 接收数据传输服务端发送的第一密文数据以及数据传输服务端根据第二密文数据得到的第三密文数据;其中,第一密文数据是第一数据传输客户端利用生成的数据加密密钥,对获得的通信数据进行加密得到并发送给数据传输服务端的;第二密文数据是第一数据传输客户端对数据加密密钥进行密钥变换处理,得到隐藏密钥后,利用数据传输服务端的服务公钥对隐藏密钥进行加密得到并发送给所述数据传输服务端的;第三密文数据是数据传输服务端利用数据传输服务端的服务私钥,对第二密文数据进行解密,得到隐藏密钥,并利用第二数据传输客户端的通信公钥,对隐藏密钥进行加密得到的;其中,隐藏密钥用于在数据传输服务端对数据加密密钥进行防泄露保护;
[0052] 利用第二数据传输客户端的通信私钥,对第三密文数据进行解密,得到隐藏密钥;
[0053] 对隐藏密钥进行密钥还原处理,得到数据加密密钥,并利用数据加密密钥对第一密文数据进行解密,得到通信数据。
[0054] 在本发明实施例提供的数据传输方法中,对隐藏密钥进行密钥还原处理,得到数据加密密钥,包括:
[0055] 读取内置的转换密钥;
[0056] 基于转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0057] 在本发明实施例提供的数据传输方法中,对隐藏密钥进行密钥还原处理,得到数据加密密钥,包括:
[0058] 利用第二数据传输客户端的通信私钥,对密钥管理服务端发送的第二转换密文数据进行解密,得到转换密钥;其中,第二转换密文数据是密钥管理服务端利用第二数据传输客户端的通信公钥,对生成的转换密钥进行加密得到的;
[0059] 基于转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0060] 在本发明实施例提供的数据传输方法中,基于转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥,包括:
[0061] 对隐藏密钥和转换密钥进行异或处理,得到数据加密密钥;或者,[0062] 对隐藏密钥和转换密钥进行或处理,得到数据加密密钥;或者,
[0063] 对隐藏密钥和转换密钥进行和运算,得到还原和密钥,并对还原和密钥进行哈希处理,得到数据加密密钥。
[0064] 一种数据传输装置,应用于第一数据传输客户端,包括:
[0065] 数据获取单元,用于获取通信数据;
[0066] 第一加密单元,用于生成数据加密密钥,并利用数据加密密钥,对数据获取单元获得的通信数据进行加密,得到第一密文数据;
[0067] 密钥转换单元,用于对第一加密单元生成的数据加密密钥进行密钥转换,得到隐藏密钥;其中,隐藏密钥用于在数据传输服务端对数据加密密钥进行防泄露保护;
[0068] 第二加密单元,用于利用数据传输服务端的服务公钥,对密钥转换单元转换的隐藏密钥进行加密,得到第二密文数据;
[0069] 数据传输单元,用于将第一加密单元获得的第一密文数据和第二加密单元获得的第二密文数据发送至数据传输服务端。
[0070] 一种数据传输装置,应用于数据传输服务端,包括:
[0071] 数据接收单元,用于接收第一数据传输客户端发送的第一密文数据和第二密文数据;其中,第一密文数据是第一数据传输客户端利用生成的数据加密密钥,对获得的通信数据进行加密得到的;第二密文数据是第一数据传输客户端对数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用数据传输服务端的服务公钥对隐藏密钥进行加密得到的;
[0072] 数据加解密单元,用于利用数据传输服务端的服务私钥,对数据接收单元接收到的第二密文数据进行解密,得到隐藏密钥,并利用第二数据传输客户端的通信公钥,对隐藏密钥进行加密,得到第三密文数据;
[0073] 数据转发单元,用于将数据接收单元接收到的第一密文数据和数据加解密单元获得的第三密文数据发送至第二数据传输客户端。
[0074] 一种数据传输装置,应用于第二数据传输客户端,包括:
[0075] 数据接收单元,用于接收数据传输服务端发送的第一密文数据以及数据传输服务端根据第二密文数据得到的第三密文数据;其中,第一密文数据是第一数据传输客户端利用生成的数据加密密钥,对获得的通信数据进行加密得到并发送给所述数据传输服务端的;第二密文数据是第一数据传输客户端对数据加密密钥进行密钥变换处理,得到隐藏密钥后,利用数据传输服务端的服务公钥对隐藏密钥进行加密得到并发送给数据传输服务端的;第三密文数据是数据传输服务端利用数据传输服务端的服务私钥,对第二密文数据进行解密,得到隐藏密钥,并利用第二数据传输客户端的通信公钥,对隐藏密钥进行加密得到的;其中,隐藏密钥用于在数据传输服务端对数据加密密钥进行防泄露保护;
[0076] 第一解密单元,用于利用第二数据传输客户端的通信私钥,对数据接收单元接收到的第三密文数据进行解密,得到隐藏密钥;
[0077] 密钥还原单元,用于对第一解密单元解密出的隐藏密钥进行密钥还原处理,得到数据加密密钥;
[0078] 第二解密单元,用于利用密钥还原单元还原的数据加密密钥,对数据接收单元接收到的第一密文数据进行解密,得到通信数据。
[0079] 一种数据传输设备,包括:存储器、处理器和存储在存储器上的计算机程序,处理器执行计算机程序时实现本发明实施例提供的数据传输方法的步骤。
[0080] 一种计算机存储介质,计算机存储介质存储有可执行程序,可执行程序被处理器执行实现本发明实施例提供的数据传输方法的步骤。
[0081] 本发明实施例的有益效果如下:
[0082] 本发明实施例中,由于数据传输客户端将数据加密密钥转换成了隐藏密钥,所以,即便数据传输服务端能够利用服务私钥对第二密文数据进行解密,也仅能够获取到隐藏密钥,而该隐藏密钥并不是加密通信数据的密钥,数据传输服务端无法解密出通信数据,尽可能地避免了通信数据易泄露问题,有效地保障了通信数据的安全性,而且,数据传输客户端无需维护大量的共享密钥,也可实现通信数据的安全加密传输,有效地降低了密钥维护成本。

附图说明

[0083] 图1A为本发明实施例中提供的一种数据传输系统的系统框架示意图;
[0084] 图1B为本发明实施例中提供的另一种数据传输系统的系统框架示意图;
[0085] 图2为本发明实施例中提供的数据传输方法的流程示意图;
[0086] 图3为本发明实施例中提供的当以“数据传输系统是邮箱系统、发件人通过邮箱客户端A向邮箱客户端B和邮箱客户端C群发文件D”为具体应用场景时数据传输方法的流程示意图;
[0087] 图4为本发明实施例中提供的应用于第一数据传输客户端的数据传输装置的功能结构示意图;
[0088] 图5为本发明实施例中提供的应用于第二数据传输客户端的数据传输装置的功能结构示意图;
[0089] 图6为本发明实施例中提供的应用于数据传输服务端的数据传输装置的功能结构示意图;
[0090] 图7为本发明实施例中提供的数据传输设备的硬件结构示意图。

具体实施方式

[0091] 为了解决基于数字信封的加密传输方法存在由于通信数据容易被数据传输服务端解密导致通信数据泄露等问题以及基于共享密钥的加密传输方法存在通信数据易泄露、密钥维护成本高等问题,本发明的发明人想到,数据传输客户端可以利用生成的数据加密密钥对通信数据进行加密,得到第一密文数据,并对生成的数据加密密钥进行密钥变换,得到隐藏密钥后,利用数据传输服务端的服务公钥,对该隐藏密钥进行加密,得到第二密文数据,以及将第一密文数据和第二密文数据发送到数据传输服务端;数据传输服务端可以利用服务私钥,对第二密文数据进行解密,得到隐藏密钥后,利用目标数据传输客户端的通信公钥,对隐藏密钥进行加密,得到第三密文数据,并将第一密文数据和第三密文数据发送至目标数据传输客户端;目标数据传输客户端可以利用通信私钥,对第三密文数据进行解密,得到隐藏密钥后,对隐藏密钥进行密钥还原处理,得到数据加密密钥,以及利用数据加密密钥对第一密文数据进行解密,得到通信数据并显示给用户。这样,由于数据传输客户端将数据加密密钥转换成了隐藏密钥,所以,即便数据传输服务端能够利用服务私钥对第二密文数据进行解密,也仅能够获取到隐藏密钥,而该隐藏密钥并不是加密通信数据的密钥,数据传输服务端无法解密出通信数据,尽可能地避免了通信数据易泄露问题,有效地保障了通信数据的安全性,而且,数据传输客户端无需维护大量的共享密钥,也可实现通信数据的安全加密传输,有效地降低了密钥维护成本。
[0092] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0093] 为了便于理解本发明,首先对本发明实施例中涉及的部分技术用语进行说明。
[0094] 数据传输客户端,为可以传输数据且能够与用户进行交互的一种应用软件,例如:邮箱、云存储软件、通讯软件等。
[0095] 数据传输服务端,为可以维护用户通过数据传输客户端传输的数据,并为数据传输客户端提供存储空间等功能的后台运行设备。
[0096] 密钥管理服务端,为可以管理数据传输客户端的通信公钥和数据传输服务端的服务公钥,并为管理数据传输客户端配置转换密钥的后台运行设备。
[0097] 数据传输设备,为支持有线通信和/或无线通信的终端、服务器等,例如:手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、计算机、或者其它能够实现上述功能的设备等。
[0098] 数据加密密钥,为数据传输客户端随机生成的用于加密通信数据的密钥。
[0099] 转换密钥,为内置在数据传输客户端中或者密钥管理服务端配置给数据传输客户端的用于对数据加密密钥进行转换的密钥。
[0100] 隐藏密钥,为利用转换密钥,对数据加密密钥进行密钥变换后得到的用于在数据传输服务端对数据加密密钥进行防泄露保护的密钥。
[0101] 需要说明的是,在本文中提及的“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0102] 其次,对本发明实施例提供的数据传输系统进行详细说明,具体的,参阅图1A所示,本发明示例实施方式的数据传输系统100包括:第一数据传输客户端101,数据传输服务端102,以及第二数据传输客户端103,其中,
[0103] 第一数据传输客户端101,用于获取通信数据,并生成数据加密密钥;利用数据加密密钥对通信数据进行加密,得到第一密文数据;对数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用数据传输服务端102的服务公钥,对隐藏密钥进行加密,得到第二密文数据;将第一密文数据和第二密文数据发送至数据传输服务端102;其中,隐藏密钥用于在数据传输服务端102对数据加密密钥进行防泄露保护;
[0104] 数据传输服务端102,用于接收第一密文数据和第二密文数据;利用数据传输服务端102的服务私钥,对第二密文数据进行解密,得到隐藏密钥,并利用第二数据传输客户端103的通信公钥,对隐藏密钥进行加密,得到第三密文数据;将第一密文数据和第三密文数据发送至第二数据传输客户端103;
[0105] 第二数据传输客户端103,用于接收第一密文数据和第三密文数据;利用第二数据传输客户端103的通信私钥,对第三密文数据进行解密,得到隐藏密钥;对隐藏密钥进行密钥还原处理,得到数据加密密钥,并利用数据加密密钥对第一密文数据进行解密,得到通信数据。
[0106] 在本发明示例性实施方式的数据传输系统100中,第一数据传输客户端101,用于基于内置的转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥;
[0107] 第二数据传输客户端103,用于基于内置的转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0108] 参阅图1B所示,本发明示例性实施方式的数据传输系统100还包括:密钥管理服务端104,其中,
[0109] 密钥管理服务端104,用于生成转换密钥;利用第一数据传输客户端101的通信公钥,对转换密钥进行加密,得到第一转换密文数据,并将第一转换密文数据发送至第一数据传输客户端101;利用第二数据传输客户端103的通信公钥,对转换密钥进行加密,得到第二转换密文数据,并将第二转换密文数据发送至第二数据传输客户端103;
[0110] 第一数据传输客户端101,用于利用第一数据传输客户端101的通信私钥,对第一转换密文数据进行解密,得到转换密钥;基于解密出的转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥;
[0111] 第二数据传输客户端103,用于利用第二数据传输客户端103的通信私钥,对第二转换密文数据进行解密,得到转换密钥;基于解密出转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0112] 在本发明示例性实施方式的数据传输系统100中,第一数据传输客户端101,用于对数据加密密钥和转换密钥进行异或处理,得到隐藏密钥;或者,对数据加密密钥和转换密钥进行或处理,得到隐藏密钥;或者,对数据加密密钥和转换密钥进行和运算,得到隐藏和密钥,并对隐藏和密钥进行哈希处理,得到隐藏密钥;
[0113] 第二数据传输客户端103,用于对隐藏密钥和转换密钥进行异或处理,得到数据加密密钥;或者,对隐藏密钥和转换密钥进行或处理,得到数据加密密钥;或者,对隐藏密钥和转换密钥进行和运算,得到还原和密钥,并对还原和密钥进行哈希处理,得到数据加密密钥。
[0114] 在本发明示例性实施方式的数据传输系统100中,第一数据传输客户端101,还用于若确定通信数据对应多个第二数据传输客户端,则获取多个第二数据传输客户端各自对应的标识信息,并根据多个目标数据传输客户端各自对应的标识信息,生成用户列表,以及将用户列表、第一密文数据和第二密文数据发送至数据传输服务端102;
[0115] 数据传输服务端102,还用于接收用户列表、第一密文数据和第二密文数据;利用数据传输服务端102的服务私钥,对第二密文数据进行解密,得到隐藏密钥后,根据用户列表中记录的多个第二数据传输客户端各自对应的标识信息,确定多个第二数据传输客户端各自对应的通信公钥,并利用多个第二数据传输客户端各自对应的通信公钥,对隐藏密钥分别进行加密,得到多个第二数据传输客户端各自对应的第三密文数据;将多个第二数据传输客户端各自对应的第三密文数据和第一密文数据发送至相应的第二数据传输客户端。
[0116] 基于本发明示例性实施方式的数据传输系统100,本发明实施例提供了一种数据传输方法。接下来,对本发明示例性实施方式的数据传输方法进行详细说明,参阅图2所示,本发明示例性实施方式的数据传输方法的流程如下:
[0117] 步骤201:第一数据传输客户端101获取通信数据。
[0118] 步骤202:第一数据传输客户端101生成数据加密密钥。
[0119] 步骤203:第一数据传输客户端101利用数据加密密钥对通信数据进行加密,得到第一密文数据。
[0120] 步骤204:第一数据传输客户端101对数据加密密钥进行密钥变换处理,得到隐藏密钥。
[0121] 在具体实施时,第一数据传输客户端101可以利用转换密钥来转换数据加密密钥。在实际应用中,转换密钥可以内置在第一数据传输客户端101中,也可以由密钥管理服务端
104来下发,具体的,密钥管理服务端104可以采用但不限于以下方式来向第一数据传输客户端101下发转换密钥:密钥管理服务端104生成转换密钥,并利用第一数据传输客户端101的通信公钥,对转换密钥进行加密,得到第一转换密文数据,以及将第一转换密文数据发送至第一数据传输客户端101。
[0122] 对应的,若转换密钥内置在第一数据传输客户端101中,则第一数据传输客户端101在对数据加密密钥进行密钥变换处理,得到隐藏密钥时,可以直接读取内置的转换密钥,并基于读取的转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥;若转换密钥由密钥管理服务端104来下发,则第一数据传输客户端101在对数据加密密钥进行密钥变换处理,得到隐藏密钥时,可以先利用通信私钥,对密钥管理服务端104发送的第一转换密文数据进行解密,得到转换密钥后,再基于解密出的转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥。
[0123] 具体的,第一数据传输客户端101在基于转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥时,可以采用但不限于以下方式:
[0124] 第一种方式:第一数据传输客户端101对数据加密密钥和转换密钥进行异或处理,得到隐藏密钥。
[0125] 第二种方式:第一数据传输客户端101对数据加密密钥和转换密钥进行或处理,得到隐藏密钥。
[0126] 第三种方式:第一数据传输客户端101对数据加密密钥和转换密钥进行和运算,得到隐藏和密钥,并对隐藏和密钥进行哈希处理,得到隐藏密钥。
[0127] 步骤205:第一数据传输客户端101利用数据传输服务端102的服务公钥,对隐藏密钥进行加密,得到第二密文数据。
[0128] 步骤206:第一数据传输客户端101将第一密文数据和第二密文数据发送至数据传输服务端102。
[0129] 值得说的是,在目前的基于数字信封的加密传输方式中,若第一数据传输客户端101需要将通信数据群发给多个第二数据传输客户端103,则第一数据传输客户端101需要针对每一个第二数据传输客户端103分别对通信数据执行一次公钥加密运算,显然,这会占用第一数据传输客户端101的大量处理资源,而且,数据群发性能也比较差,为此,本发明示例性实施方式的数据传输方法中,当第一数据传输客户端101确定通信数据对应多个第二数据传输客户端103时,可以获取该多个第二数据传输客户端103各自对应的标识信息,并根据该多个第二数据传输客户端103的标识信息,生成用户列表,以及将该用户列表与第一密文数据和第二密文数据一起发送至数据传输服务端102,由数据传输服务端102按照用户列表中记载的多个第二数据传输客户端103的标识信息来转发通信数据,这样,即便需要群发通信数据,第一数据传输客户端101也只需对通信数据执行一次公钥加密运算,由数据传输服务端102按照用户列表中记载的多个第二数据传输客户端103的标识信息来转发通信数据,即可实现通信数据的群发,从而提高了数据群发性能。
[0130] 步骤207:数据传输服务端102接收第一数据传输客户端101发送的第一密文数据和第二密文数据。
[0131] 步骤208:数据传输服务端102利用数据传输服务端102的服务私钥,对第二密文数据进行解密,得到隐藏密钥。
[0132] 步骤209:数据传输服务端102利用第二数据传输客户端103的通信公钥,对隐藏密钥进行加密,得到第三密文数据。
[0133] 步骤210:数据传输服务端102将第一密文数据和第三密文数据发送至第二数据传输客户端103。
[0134] 值得说的是,数据传输服务端102可以在接收到第一数据传输客户端101发送的第一密文数据和第二密文数据之后,即时执行步骤207-步骤209,也可以在接收到第一数据传输客户端101发送的第一密文数据和第二密文数据之后,先保存接收到的第一密文数据和第二密文数据,只向第二数据传输客户端103发送新收数据提醒消息,在接收到第二数据传输客户端103根据用户指令发送的数据提取消息时,再执行步骤207-步骤209,具体方式在此不作具体限定。
[0135] 对应的,若数据传输服务端102接收到第一数据传输客户端101发送的记录有多个第二数据传输客户端103的标识信息的用户列表、第一密文数据和第二密文数据,数据传输服务端102在利用服务私钥,对第二密文数据进行解密,得到隐藏密钥后,还可以根据用户列表中记录的多个第二数据传输客户端103各自对应的标识信息,确定多个第二数据传输客户端103各自对应的通信公钥。并利用多个第二数据传输客户端103各自对应的通信公钥,对隐藏密钥分别进行加密,得到多个第二数据传输客户端103各自对应的第三密文数据,以及,将多个第二数据传输客户端103各自对应的第三密文数据和第一密文数据发送至相应的第二数据传输客户端103。
[0136] 步骤211:第二数据传输客户端103接收数据传输服务端102返回的第一密文数据和第三密文数据。
[0137] 步骤212:第二数据传输客户端103利用通信私钥,对第三密文数据进行解密,得到隐藏密钥。
[0138] 步骤213:第二数据传输客户端103对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0139] 在具体实施时,第二数据传输客户端103可以利用转换密钥来还原隐藏密钥。同样的,转换密钥可以内置在第二数据传输客户端103中,并且,内置在第二数据传输客户端103中的转换密钥与内置在第一数据传输客户端101中的转换密钥相同,也可以由密钥管理服务端104来下发,具体的,密钥管理服务端104在向第一数据传输客户端101下发转换密钥的同时,还可以采用但不限于以下方式来向第二数据传输客户端103下发转换密钥:密钥管理服务端104利用第二数据传输客户端103的通信公钥,对转换密钥进行加密,得到第二转换密文数据,并将第二转换密文数据发送至第二数据传输客户端103。这样,第二数据传输客户端103就可以利用转换密钥和密钥还原方式来还原隐藏密钥。
[0140] 对应的,若转换密钥内置在第二数据传输客户端103中,则第二数据传输客户端103可以直接读取内置的转换密钥,并基于读取的转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥;若转换密钥由密钥管理服务端104来下发,则第二数据传输客户端
103可以先利用通信私钥,对密钥管理服务端104发送的第二转换密文数据进行解密,得到转换密钥后,再基于解密出的转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0141] 具体的,第二数据传输客户端103在基于转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥时,可以采用但不限于以下方式:
[0142] 第一种方式:第二数据传输客户端103对隐藏密钥和转换密钥进行异或处理,得到数据加密密钥。
[0143] 第二种方式:第二数据传输客户端103对隐藏密钥和转换密钥进行或处理,得到数据加密密钥。
[0144] 第三种方式:第二数据传输客户端103对隐藏密钥和转换密钥进行和运算,得到还原和密钥,并对还原和密钥进行哈希处理,得到数据加密密钥。
[0145] 步骤214:第二数据传输客户端103利用数据加密密钥对第一密文数据进行解密,得到通信数据。
[0146] 下面以“数据传输系统是邮箱系统、发件人通过邮箱客户端A向邮箱客户端B和邮箱客户端C群发文件D”为具体应用场景,对本发明示例性实施方式的数据传输方法作进一步详细说明,参阅图3所示,本发明示例性实施方式的数据传输方法的流程如下:
[0147] 步骤301:邮箱客户端A根据发件人的发送指令,获取待发送的文件D和文件D对应的收件人标识“邮箱B和邮箱C”。
[0148] 步骤302:邮箱客户端A生成数据加密密钥KD。
[0149] 步骤303:邮箱客户端A利用数据加密密钥KD对文件D进行加密,得到第一密文数据EncD。
[0150] 步骤304:邮箱客户端A对数据加密密钥KD和转换密钥K进行异或处理,得到隐藏密钥KD1。
[0151] 其中,转换密钥K可以是内置在邮箱客户端A中的,也可以是密钥管理服务端下发的,具体方式不再赘述。
[0152] 步骤305:邮箱客户端A利用邮箱服务端的服务公钥SKpub,对隐藏密钥KD1进行加密,得到第二密文数据EncKD1。
[0153] 步骤306:邮箱客户端A根据收件人标识“邮箱B和邮箱C”,生成收件人列表。
[0154] 步骤307:邮箱客户端A将第一密文数据EncD、第二密文数据EncKD1和收件人列表发送至邮箱服务端。
[0155] 步骤308:邮箱服务端保存接收到的第一密文数据EncD、第二密文数据Enc KD1和收件人列表。
[0156] 步骤309:邮箱服务端根据收件人列表中记录的收件人标识“邮箱B和邮箱C”,分别向邮箱客户端B和邮箱客户端C发送新收邮件提醒消息。
[0157] 步骤310:邮箱客户端B和/或邮箱客户端C若接收到收件人发起的文件查看指令,则向邮箱服务端发送文件提取请求。
[0158] 步骤311:邮箱服务端接收到邮箱客户端B和/或邮箱客户端C发送的文件提取请求时,利用服务私钥SKpri,对第二密文数据EncKD1进行解密,得到隐藏密钥KD1。
[0159] 步骤312:邮箱服务端利用邮箱客户端B的通信公钥CKpub_B对隐藏密钥KD1进行加密,得到第三密文数据EncKDB,和/或,利用邮箱客户端C的通信公钥CKpub_C,对隐藏密钥KD1进行加密,得到第三密文数据EncKDc。
[0160] 步骤313:邮箱服务端将第一密文数据EncD和第三密文数据EncKDB发送至邮箱客户端B,和/或,将第一密文数据EncD和EncKDc发送至邮箱客户端C。
[0161] 步骤314:邮箱客户端B利用通信私钥CKpri_B,对第三密文数据EncKDB进行解密,得到隐藏密钥KD1,和/或,邮箱客户端C利用通信私钥CKpri_C,对第三密文数据EncKDC进行解密,得到隐藏密钥KD1。
[0162] 步骤315:邮箱客户端B和/或邮箱客户端C对隐藏密钥KD1和转换密钥K进行异或处理,得到数据加密密钥KD。
[0163] 其中,转换密钥K可以是内置在邮箱客户端B和/或邮箱客户端C中的,也可以是密钥管理服务端下发的,具体方式不再赘述。
[0164] 步骤316:邮箱客户端B和/或邮箱客户端C利用数据加密密钥KD,对第一密文数据EncD进行解密,得到文件D并显示给收件人。
[0165] 基于上述实施例,本发明实施例提供了一种应用于第一数据传输客户端101的数据传输装置,参阅图4所示,本发明示例性实施方式的数据传输装置400至少包括:
[0166] 数据获取单元401,用于获取通信数据;
[0167] 第一加密单元402,用于生成数据加密密钥,并利用数据加密密钥,对数据获取单元401获得的通信数据进行加密,得到第一密文数据;
[0168] 密钥转换单元403,用于对第一加密单元402生成的数据加密密钥进行密钥转换,得到隐藏密钥;其中,隐藏密钥用于在数据传输服务端102对数据加密密钥进行防泄露保护;
[0169] 第二加密单元404,用于利用数据传输服务端102的服务公钥,对密钥转换单元403转换的隐藏密钥进行加密,得到第二密文数据;
[0170] 数据传输单元405,用于将第一加密单元402获得的第一密文数据和第二加密单元404获得的第二密文数据发送至数据传输服务端102。
[0171] 在本发明示例性实施方式的数据传输装置400中,在对数据加密密钥进行密钥变换处理,得到隐藏密钥时,密钥转换单元403用于:
[0172] 读取内置的转换密钥;
[0173] 基于转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥。
[0174] 在本发明示例性实施方式的数据传输装置400中,在对数据加密密钥进行密钥变换处理,得到隐藏密钥时,密钥转换单元403用于:
[0175] 利用第一数据传输客户端101的通信私钥,对密钥管理服务端104发送的第一转换密文数据进行解密,得到转换密钥;其中,第一转换密文数据是密钥管理服务端104利用第一数据传输客户端101的通信公钥,对生成的转换密钥进行加密得到的;
[0176] 基于转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥。
[0177] 在本发明示例性实施方式的数据传输装置400中,在基于转换密钥,对数据加密密钥进行密钥变换处理,得到隐藏密钥时,密钥转换单元403用于:
[0178] 对数据加密密钥和转换密钥进行异或处理,得到隐藏密钥;或者,[0179] 对数据加密密钥和转换密钥进行或处理,得到隐藏密钥;或者,
[0180] 对数据加密密钥和转换密钥进行和运算,得到隐藏和密钥,并对隐藏和密钥进行哈希处理,得到隐藏密钥。
[0181] 本发明示例性实施方式的数据传输装置400还包括:列表生成单元406,其中,[0182] 列表生成单元406,用于若确定通信数据对应多个第二数据传输客户端103,则获取多个第二数据传输客户端103各自对应的标识信息,并根据多个目标数据传输客户端103各自对应的标识信息,生成用户列表;
[0183] 数据传输单元405,还用于将用户列表、第一密文数据和第二密文数据发送至数据传输服务端102。
[0184] 此外,本发明实施例还提供了一种应用于第二数据传输客户端103的数据传输装置,参阅图5所示,本发明示例性实施方式的数据传输装置500至少包括:
[0185] 数据接收单元501,用于接收数据传输服务端102发送的第一密文数据以及数据传输服务端102根据第二密文数据得到的第三密文数据;其中,第一密文数据是第一数据传输客户端101利用生成的数据加密密钥,对获得的通信数据进行加密得到并发送给数据传输服务端102的;第二密文数据是第一数据传输客户端101对数据加密密钥进行密钥变换处理,得到隐藏密钥后,利用数据传输服务端102的服务公钥对隐藏密钥进行加密得到并发送给数据传输服务端102的;第三密文数据是数据传输服务端102利用数据传输服务端102的服务私钥,对第二密文数据进行解密,得到隐藏密钥,并利用第二数据传输客户端103的通信公钥,对隐藏密钥进行加密得到的;其中,隐藏密钥用于在数据传输服务端102对数据加密密钥进行防泄露保护;
[0186] 第一解密单元502,用于利用第二数据传输客户端103的通信私钥,对数据接收单元501接收到的第三密文数据进行解密,得到隐藏密钥;
[0187] 密钥还原单元503,用于对第一解密单元502解密出的隐藏密钥进行密钥还原处理,得到数据加密密钥;
[0188] 第二解密单元504,用于利用密钥还原单元503还原的数据加密密钥,对数据接收单元501接收到的第一密文数据进行解密,得到通信数据。
[0189] 在本发明示例性实施方式的数据传输装置500中,在对隐藏密钥进行密钥还原处理,得到数据加密密钥时,密钥还原单元503用于:
[0190] 读取内置的转换密钥;
[0191] 基于转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0192] 在本发明示例性实施方式的数据传输装置500中,在对隐藏密钥进行密钥还原处理,得到数据加密密钥时,密钥还原单元503用于:
[0193] 利用第二数据传输客户端103的通信私钥,对密钥管理服务端104发送的第二转换密文数据进行解密,得到转换密钥;其中,第二转换密文数据是密钥管理服务端104利用第二数据传输客户端103的通信公钥,对生成的转换密钥进行加密得到的;
[0194] 基于转换密钥,对隐藏密钥进行密钥还原处理,得到数据加密密钥。
[0195] 在本发明示例性实施方式的数据传输装置500中,在对隐藏密钥进行密钥还原处理,得到数据加密密钥时,密钥还原单元503用于:
[0196] 对隐藏密钥和转换密钥进行异或处理,得到数据加密密钥;或者,[0197] 对隐藏密钥和转换密钥进行或处理,得到数据加密密钥;或者,
[0198] 对隐藏密钥和转换密钥进行和运算,得到还原和密钥,并对还原和密钥进行哈希处理,得到数据加密密钥。
[0199] 另外,本发明实施例还提供了一种应用于数据传输服务端102的数据传输装置,参阅图6所示,本发明示例性实施方式的数据传输装置600至少包括:
[0200] 数据接收单元601,用于接收第一数据传输客户端101发送的第一密文数据和第二密文数据;其中,第一密文数据是第一数据传输客户端101利用生成的数据加密密钥,对获得的通信数据进行加密得到的;第二密文数据是第一数据传输客户端101对数据加密密钥进行密钥变换处理,得到隐藏密钥,并利用数据传输服务端102的服务公钥对隐藏密钥进行加密得到的;
[0201] 数据加解密单元602,用于利用数据传输服务端102的服务私钥,对数据接收单元601接收到的第二密文数据进行解密,得到隐藏密钥,并利用第二数据传输客户端103的通信公钥,对隐藏密钥进行加密,得到第三密文数据;
[0202] 数据转发单元603,用于将数据接收单元601接收到的第一密文数据和数据加解密单元602获得的第三密文数据发送至第二数据传输客户端103。
[0203] 在本发明实施例提供的数据传输装置中,若数据接收单元601接收到第一数据传输客户端101发送的记录有多个第二数据传输客户端103的标识信息的用户列表、第一密文数据和第二密文数据,则:
[0204] 数据加解密单元602,还用于根据用户列表中记录的多个第二数据传输客户端103各自对应的标识信息,确定多个第二数据传输客户端103各自对应的通信公钥,以及,利用多个第二数据传输客户端103各自对应的通信公钥,对隐藏密钥分别进行加密,得到多个第二数据传输客户端103各自对应的第三密文数据;
[0205] 数据转发单元603,还用于将多个第二数据传输客户端103各自对应的第三密文数据和第一密文数据发送至相应的第二数据传输客户端103。
[0206] 需要说明的是,由于本发明示例性实施方式的上述三种数据传输装置解决技术问题的原理与本发明示例性实施方式的数据传输方法相似,因此,本发明示例性实施方式的上述三种数据传输装置的实施可以参见本发明示例性实施方式的数据传输方法的实施,重复之处不再赘述。
[0207] 在介绍了本发明示例性实施方式的数据传输系统、方法和相关装置之后,接下来,对本发明示例性实施方式的数据传输设备进行简单介绍。
[0208] 参阅图7所示,本发明示例性实施方式的数据传输设备700可以包括处理器71、存储器72和存储在存储器72上的计算机程序,处理器71执行计算机程序时实现本发明示例性实施方式的数据传输方法中的步骤。
[0209] 需要说明的是,图7所示的数据传输设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0210] 本发明示例性实施方式的数据传输设备700还可以包括连接不同组件(包括处理器71和存储器72)的总线73。其中,总线73表示几类总线结构中的一种或多种,包括存储器总线、外围总线、局域总线等。
[0211] 存储器72可以包括易失性存储器形式的可读介质,例如随机存储器(Random Access Memory,RAM)721和/或高速缓存存储器722,还可以进一步包括只读存储器(Read Only Memory,ROM)723。
[0212] 存储器72还可以包括具有一组(至少一个)程序模块724的程序工具725,程序模块724包括但不限于:操作子系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0213] 数据传输设备700也可以与一个或多个外部设备74(例如键盘、遥控器等)通信,还可以与一个或者多个使得用户能与数据传输设备700交互的设备通信,和/或与使得该数据传输设备700能与一个或多个其它数据传输设备700进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口75进行。并且,数据传输设备700还可以通过网络适配器76与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器76通过总线73与数据传输设备700的其它模块通信。应当理解,尽管图7中未示出,可以结合数据传输设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)子系统、磁带驱动器以及数据备份存储子系统等。
[0214] 下面对本发明示例性实施方式的非易失性计算机可读存储介质进行介绍。本发明实施例提供了一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储有计算机可执行指令,该可执行程序被处理器执行实现本发明示例性实施方式的数据传输方法的步骤。具体地,该可执行程序可以内置在数据传输设备700中,这样,数据传输设备700就可以通过执行内置的可执行程序实现本发明示例性实施方式的数据传输方法的步骤。
[0215] 此外,本发明示例性实施方式的数据传输方法还可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在数据传输设备700上运行时,该程序代码用于使数据传输设备700执行本发明示例性实施方式的数据传输方法的步骤。
[0216] 本发明实施例提供的程序产品可以采用一个或多个可读介质的任意组合,其中,可读介质可以是可读信号介质或者可读存储介质,而可读存储介质可以是但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合,具体地,可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、光纤、便携式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0217] 本发明实施例提供的程序产品可以采用CD-ROM并包括程序代码,还可以在计算设备上运行。然而,本发明实施例提供的程序产品不限于此,在本发明实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆等等,或者上述的任意合适的组合。
[0218] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户设备上执行,部分地在用户设备上执行,作为一个独立的软件包执行,部分在用户设备上执行、部分在远程计算设备上执行,或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络连接到用户计算设备,诸如通过LAN或WAN连接到用户计算设备;或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0219] 应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0220] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。