数据加密传输方法、装置,以及,电子设备与流程

文档序号:31334464发布日期:2022-08-31 08:18阅读:72来源:国知局
数据加密传输方法、装置,以及,电子设备与流程

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.可选的,所述第一加密算法和所述第二加密算法中至少一种为不可逆加密算法。
51.可选的,所述数据加密模块,进一步用于:
52.基于实时生成的所述临时密钥,采用预设对称加密算法对目标数据进行加密处理,得到所述目标数据对应的加密数据。
53.第三方面,本技术实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本技术实施例所述的数据加密传输方法。
54.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本技术实施例公开的数据加密传输方法的步骤。
55.本技术实施例公开的数据加密传输方法,应用于第一数据交互方,通过获取第一动态密钥参数值,以及,获取本地的当前协定值和与第二数据交互方共认的加密盐值;基于所述第一动态密钥参数值、所述当前协定值,以及,所述加密盐值,采用第一加密算法生成初始值;基于所述加密盐值和实时生成的所述初始值,采用第二加密算法生成临时密钥;基于实时生成的所述临时密钥,采用预设加密算法对目标数据进行加密处理,得到所述目标数据对应的第一加密数据;将所述第一加密数据和所述第一动态密钥参数值发送至所述第二数据交互方,以使得所述第二数据交互方基于所述第一动态密钥参数值对所述第一加密数据进行解密,有助于提升数据安全性。
56.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
57.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
58.图1是本技术实施例中的数据加密传输方法流程图之一;
59.图2是本技术实施例中的数据加密传输方法流程图之二;
60.图3是本技术实施例中的数据加密传输方法流程图之三;
61.图4是本技术实施例中的数据加密传输装置结构示意图之一;
62.图5是本技术实施例中的数据加密传输装置结构示意图之二;
63.图6是本技术实施例中的数据加密传输装置结构示意图之三;
64.图7示意性地示出了用于执行根据本技术的方法的电子设备的框图;以及
65.图8示意性地示出了用于保持或者携带实现根据本技术的方法的程序代码的存储单元。
具体实施方式
66.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
67.实施例一
68.如图1所示,本技术实施例公开的一种数据加密传输方法,应用于第一数据交互方,包括:步骤110至步骤150。
69.步骤110,获取第一动态密钥参数值,以及,获取本地的当前协定值和与第二数据交互方共认的加密盐值。
70.本技术实施例中所述的数据加密传输方法,适用与通信双方进行数据交互的场景,例如,通信双方通过网络传输手机号码、用户信息、身份信息等个人隐私信息的场景。其中,通信双方分别为本实施例中所述的第一数据交互方和第二数据交互方。
71.本技术实施例中,第一数据交互方和第二数据交互方可以互为数据发送方和数据接收方,即第一数据交互方可以向第二数据交互方发送加密数据,也可以接收第二数据交互方发送的加密数据。本技术实施例中,为了更加清楚地描述技术方案,将第一数据交互方向第二数据交互方发送的加密数据称为“第一加密数据”,将第二数据交互方向第一数据交互方发送的加密数据称为“第二加密数据”。本技术实施例中,主要以第一数据发送方执行数据加密发送和解密的过程为例,对本技术实施例中公开的数据加密传输方法进行举例说明。第二数据发送方执行数据加密发送和解密的过程,与第一数据交互方相同,因此,不再详细描述。
72.本技术的一些实施例中,所述第一数据交互方和第二数据交互方可以为执行数据发送和数据接收的硬件模块、软件模块、应用程序等数据交互实体。
73.本技术实施例中所述的加密盐值为用于生成临时密钥的参数之一。第一数据交互方和第二数据交互方在进行数据交互之前,需要预先协商确定共同认可的加密盐值。所述加密盐值可以为数字、字母、字符串等值。本技术实施例中对加密盐值的生成方式、协商方式和表现形式不做限定。
74.本技术的实施例中,在第一数据交互方和第二数据交互方预先协商确定加密盐值之后,第一数据交互方和第二数据交互方各自在本地存储所述加密盐值。
75.本技术实施例中,所述第一动态密钥参数值为用于生成临时密钥的另一个参数,所述第一动态密钥参数值是动态变化的,在每次需要生成密钥时,需要实时获取所述第一动态密钥参数值。本技术的一些实施例中,所述获取第一动态密钥参数值,包括:获取当前时间戳,作为第一动态密钥参数值。例如,第一数据交互方可以获取对应网络服务器的当前系统时间,并将获取的当前系统时间作为当前的第一动态密钥参数值。
76.所述当前协定值是生成临时密钥的又一个参数,所述当前协定值也是动态变化的,在生成密钥之前,需要实时获取所述当前协定值。本技术的一些实施例中,获取本地的当前协定值,包括:在本地未存储临时密钥的情况下,将所述第一数据交互方和所述第二数据交互方的约定值,作为当前协定值;在本地已存储临时密钥的情况下,将本地最新存储的所述临时密钥,作为当前协定值;其中,所述临时密钥包括:所述第一数据交互方在执行数据加密处理时生成的临时密钥,以及,所述第一数据交互方在执行数据解密处理时生成的临时密钥。
77.例如,在第一数据交互方和第二数据交互方进行首轮数据加密传输时,当前协定值为第一数据交互方和所述第二数据交互方的约定值;在第一数据交互方和第二数据交互方进行首轮之后的各轮数据加密传输时,当前协定值为第一数据交互方在和所述第二数据交互进行前一轮数据加密传输过程中生成的临时密钥。其中,所述数据加密传输过程包括加密过程和解密过程第。所述临时密钥的生成方式参见下文中的描述,此处不赘述。
78.本技术的一些实施例中,所述第一数据交互方和所述第二数据交互方的约定值可以为:通过预设方法对所述加密盐值进行运算处理后,得到的值;或者,预先协商的确定值。例如,所述第一数据交互方和所述第二数据交互方在进行通信之前,约定一个数值或字符串作为所述约定值。再例如,所述第一数据交互方和所述第二数据交互方在进行通信之前,还可以约定将对所述加密盐值进行md5(message-digest algorithm 5,一种加密算法)加密运算后得到的散列值,作为约定值。又例如,所述第一数据交互方和所述第二数据交互方在进行通信之前,还可以约定将对所述加密盐值和实时获取的第一动态密钥参数值进行md5加密运算后得到的散列值,作为约定值。
79.本技术的一些实施例中,所述约定值可以使用rpc协议约定。例如,通过mq(消息队列)或者kafak(一种高吞吐量的分布式发布订阅消息系统)进行约定。本技术实施例对所述约定值的约定方式和具体取值不做限定。
80.步骤120,基于所述第一动态密钥参数值、所述当前协定值,以及,所述加密盐值,采用第一加密算法生成初始值。
81.在获取到加密盐值,以及,实时获取到所述第一动态密钥参数值和所述当前协定值之后,第一数据交互方以实时获取的所述加密盐值、实时获取的所述第一动态密钥参数值,以及,实时获取的所述当前协定值作为加密算法的参数,采用第一加密算法生成初始值。以所述加密盐值表示为“m”、实时获取的所述第一动态密钥参数值表示为“t”、实时获取的所述当前协定值表示为“k
1”为例,可以采用如下表达式生成初始值:k2=f1(m,k1,t),其中,f1()表示第一加密算法,k2表示生成的初始值。本技术的一些实施例中,所述第一加密算法可以为md5、sha1(secure hash algorithm 1,安全散列算法1)、des(data encryption standard,一种对称加密算法)等任意一种加密算法。
82.步骤130,基于所述加密盐值和实时生成的所述初始值,采用第二加密算法生成临
时密钥。
83.接下来,第一数据发送方基于所述加密盐值m,以及前一步骤实时生成的所述初始值k2,采用第二加密算法生成临时密钥。以临时密钥表示为k为例,可以采用如下表达式生成临时密钥:k=f2(m,k2),其中,f2()表示第二加密算法。本技术的一些实施例中,所述第二加密算法可以为md5、sha1、des等任意一种加密算法。
84.本技术的一些实施例中,所述第一加密算法和所述第二加密算法可以为同一种加密算法,也可以为不同种加密算法。例如,所述第一加密算法和所述第二加密算法可以均选择md5加密算法;也可以是所述第一加密算法选择des加密算法,所述第二加密算法选择md5加密算法。
85.本技术的一些实施例中,所述第一加密算法和所述第二加密算法中至少一种为不可逆加密算法,这样,可以提升加密数据安全性。
86.本技术的一些实施例中,如图2所示,基于所述加密盐值和实时生成的所述初始值,采用第二加密算法生成临时密钥之后,所述方法还包括:步骤135。
87.步骤135,在本地存储实时生成的所述临时密钥。
88.第一数据交互方在本地存储本轮数据加密传输过程中生成的临时密钥,即前一步骤实时生成的所述临时密钥k。本技术的一些实施例中,第一数据交互方可以采用更新存储的方式,通过本轮数据加密传输过程中生成的临时密钥更新本地存储的临时密钥(即前一轮数据加密传输过程中生成的临时密钥),这样,第一数据交互方在本地存储的临时密钥则为最新生成的临时密钥,以便在对接收到的加密数据进行解密时使用,或者,在下一轮加密数据传输过程中作为用于生成初始值的当前协定值。
89.步骤140,基于实时生成的所述临时密钥,采用预设加密算法对目标数据进行加密处理,得到所述目标数据对应的第一加密数据。
90.生成临时密钥之后,第一数据发送方基于前一步骤生成的临时密钥(如临时密钥k),采用预设加密算法对目标数据进行加密处理,得到所述目标数据对应的第一加密数据。例如,以临时密钥k作为加密密钥,采用预设加密算法对目标数据进行加密处理,得到所述目标数据对应的第一加密数据。
91.本技术的一些实施例中,所述基于实时生成的所述临时密钥,采用预设加密算法对目标数据进行加密处理,得到所述目标数据对应的第一加密数据,包括:基于实时生成的所述临时密钥,采用预设对称加密算法对目标数据进行加密处理,得到所述目标数据对应的加密数据。例如,所述预设对称加密算法可以为rc4算法(rivest cipher 4,一种流加密算法)。具体举例而言,以目标数据表示为“data”为例,可以采用data’=rc4(k,data)加密函数对目标数据data进行对称加密,得到第一加密数据data’,其中,k为本轮数据加密过程中前一步骤实时获取的临时密钥。
92.步骤150,将所述第一加密数据和所述第一动态密钥参数值发送至所述第二数据交互方,以使得所述第二数据交互方基于所述第一动态密钥参数值对所述第一加密数据进行解密。
93.之后,所述第一数据交互方将所述第一加密数据发送至所述第二数据交互方,已完成本轮加密数据传输。本技术的实施例中,所述第一数据交互方还需要将本轮加密数据传输过程中实时获取的第一动态密钥参数值发送至所述第二数据交互方,以使得所述第二
数据交互方基于所述第一动态密钥参数值对所述第一加密数据进行解密。由前述步骤可知,第一数据交互方在每轮数据加密传输时发送的第一加密数据,其加密密钥都是以该轮实时获取的第一动态密钥参数值作为一个密钥参数生成,为了保证数据接收方生成解密密钥的唯一性,在对称加密场景中,该第一动态密钥参数值需要与相应的第一加密数据关联发送至第二数据发送方(即解密方)。
94.第二数据交互方在接收到第一加密数据和第一动态密钥参数值之后,基于所述第一动态密钥参数值对所述第一加密数据进行解密。
95.本技术的一些实施例中,本技术的一些实施例中,所述第二数据交互方基于所述第一动态密钥参数值对所述第一加密数据进行解密,包括:第二数据交互方获取本地的当前协定值,以及,与所述第一数据交互方共认的所述加密盐值;所述第二数据交互方基于接收到的所述第一动态密钥参数值、实时获取的所述当前协定值和所述加密盐值,采用所述第一加密算法生成初始值;基于所述加密盐值和实时生成的所述初始值,采用所述第二加密算法生成临时密钥;采用实时生成的所述临时密钥对所述第一加密数据进行解密处理。
96.本技术的一些实施例中,基于所述加密盐值和实时生成的所述初始值,采用所述第二加密算法生成临时密钥之后,还包括:所述第二数据交互方在本地存储实时生成的所述临时密钥。
97.本技术的一些实施例中,第二数据交互方获取本地的当前协定值,包括:在第二数据交互方本地未存储临时密钥的情况下,将所述第二数据交互方和所述第一数据交互方的约定值,作为当前协定值;在所述第二数据交互方本地已存储临时密钥的情况下,将本地最新存储的所述临时密钥,作为当前协定值;其中,所述临时密钥为:所述第二数据交互方在与所述第一数据交互方进行数据加密传输的过程中生成并存储的。
98.如前所述,本技术实施例中所述的第一交互数据方和第二数据交互方可以互为数据发送方和数据接收方,即互为加密方和解密方。下面,再对第一数据发送方接收到第二数据发送方发送的加密数据后,执行的解密步骤进行举例说明。
99.本技术的一些实施例中,如图3所述,所述方法还包括:步骤160至步骤190。其中,所述步骤160至步骤190为接收加密数据之后,进行解密处理的过程。
100.本领域技术人员应当理解,图3所示的各个步骤的执行顺序,仅仅是本技术实施例中公开的数据加密方法的一种实施方式,并非本技术实施例中公开的数据加密方法的唯一实施方式,图3中所示的步骤执行顺序不应理解为对本技术的限定。例如,第一数据接收方也可以首先执行步骤160至步骤190,之后,再执行步骤110至步骤150,即首先接收加密数据,之后,发送加密数据。
101.步骤160,响应于接收到所述第二数据交互方发送的第二加密数据和第二动态密钥参数,所述第一数据交互方获取本地的当前协定值和所述加密盐值。
102.第一数据交互方接收到所述第二数据交互方发送的第二加密数据和第二动态密钥参数之后,需要基于所述第二动态密钥参数,并结合另外两个用于生成密钥的参数,即当前协定值和加密盐值,生成解密密钥,对第二加密数据进行解密处理。
103.在对称加密过程中,解密方需要按照与加密方生成加密密钥相同的方式,并基于相同的密钥生成参数,以得到与加密密钥相同的解密密钥。
104.首先,第一数据交互方需要实时在本地获取当前协定值和加密盐值。
105.本技术的实施例中,如前所述,所述加密盐值在双方进行加密数据传输过程中是预先协商确定的,是不变的值。即第一数据交互方和第二数据交互方双方本地的加密盐值是相同的。而当前协定值是动态变化的值,必须实时获取。第一数据交互方获取当前协定值的具体实施方式,参见前述数据加密过程中获取当前协定值的具体实施方式,此处不再赘述。
106.步骤170,基于接收到的所述第二动态密钥参数,实时获取的所述当前协定值和所述加密盐值,采用所述第一加密算法生成初始值。
107.接下来,第一数据接收方基于接收到的与所述第二加密数据关联的第二动态密钥参数,以及,前一步骤获取的所述当前协定值和所述加密盐值,采用所述第一加密算法,实时生成初始值。
108.基于所述第二动态密钥参数、实时获取的所述当前协定值和所述加密盐值,采用所述第一加密算法生成初始值的具体实施方式,与前述数据加密过程中基于第一动态密钥参数,实时获取的当前协定值和加密盐值,采用所述第一加密算法生成初始值的方式相同,此处不再赘述。需要说明的是,用于生成初始值的当前协定值是实时获取的,用于生成初始值的第二动态密钥参数是第二加密数据关联接收到的。
109.步骤180,基于所述加密盐值和实时生成的所述初始值,采用所述第二加密算法生成临时密钥。
110.之后,第一数据接收方进一步基于所述加密盐值和前一步骤实时生成的所述初始值,采用所述第二加密算法生成临时密钥。
111.基于加密盐值和初始值,采用所述第二加密算法生成临时密钥的具体实施方式,与前述数据加密过程中生成临时密钥的方式相同,此处不再赘述。需要说明的是,用于生成临时密钥的初始值是实时生成的。
112.步骤190,采用实时生成的所述临时密钥对所述第二加密数据进行解密处理。
113.最后,第一数据交互方采用与加密所述第二加密数据是相同的加密算法(如前述rc4算法),以所述临时密钥作为解密密钥,对所述第二加密数据进行解密处理,以得到原始数据。
114.本技术的一些实施例中,如图3所示,所述基于所述加密盐值和实时生成的所述初始值,采用所述第二加密算法生成临时密钥的步骤之后,还包括:步骤185。
115.步骤185,在本地存储实时生成的所述临时密钥。
116.第一数据交互方在本地存储实时生成的所述临时密钥的具体实施方式,如前文所述,此处不再赘述。
117.本技术实施例公开的数据加密传输方法,应用于第一数据交互放,通过获取第一动态密钥参数值,以及,获取本地的当前协定值和与第二数据交互方共认的加密盐值;基于所述第一动态密钥参数值、所述当前协定值,以及,所述加密盐值,采用第一加密算法生成初始值;基于所述加密盐值和实时生成的所述初始值,采用第二加密算法生成临时密钥;基于实时生成的所述临时密钥,采用预设加密算法对目标数据进行加密处理,得到所述目标数据对应的第一加密数据;将所述第一加密数据和所述第一动态密钥参数值发送至所述第二数据交互方,以使得所述第二数据交互方基于所述第一动态密钥参数值对所述第一加密数据进行解密,有助于提升数据安全性。
118.本技术实施例公开的数据加密传输方法,通过数据交互双方约定加密盐值,以及,约定一个协定值的获取方式或取值,并约定密钥生成方法,之后,双方各自按照约定的密钥生成方式生成临时密钥用于加密数据和解密数据,基于一个动态密钥参数值作为加解密双方用来匹配相同密钥的参数,以保证数据交互双方生成密钥的基本参数一致,在确保密钥唯一性的同时,由于协定值和动态密钥参数值是动态变化的,因此生成的临时密钥具有随机性,不是固定密钥,从而增强了基于临时密钥加密数据的安全性。
119.本技术实施过程中,在第一数据发送方和第二数据发送方执行多轮加密数据传输,在每一轮数据传输之前,都需要实时获取第一动态密钥参数值和当前协定值,并根据所述获取的第一动态密钥参数值和实时获取的当前协定值,实时生成初始值。之后,根据实时生成的初始值进一步生成临时密钥,这样,生成的临时密钥在每一轮加密数据传输过程中是不同的,且都具有随机性,增加了密钥破解难度,提升了数据安全性。
120.进一步的,通过基于上一轮加密或解密产生的临时密钥,结合实时获取的动态密钥参数,生成当前轮临时密钥,生成的临时密钥相当于进行了两层加盐,具有更强的随机性和破解难度,破解越早的密钥难度越大,有效增强了加密数据的安全性。更进一步的,临时密钥的生成过程中采用了不可逆加密算法,在某一轮加密数据传输过程密钥被破解之后,无法根据破解的密钥获取该轮之前的密钥,即无法解密该轮之前发送的加密数据,因此,本技术实施例中采用的数据加密方法实现了数据的前向安全。
121.实施例二
122.本技术实施例公开的一种数据加密传输装置,应用于第一数据交互方,如图4所示,所述装置包括:
123.第一密钥参数获取模块410,用于获取第一动态密钥参数值,以及,获取本地的当前协定值和与第二数据交互方共认的加密盐值;
124.第一初始值生成模块420,用于基于所述第一动态密钥参数值、所述当前协定值,以及,所述加密盐值,采用第一加密算法生成初始值;
125.第一临时密钥生成模块430,用于基于所述加密盐值和实时生成的所述初始值,采用第二加密算法生成临时密钥;
126.数据加密模块440,用于基于实时生成的所述临时密钥,采用预设加密算法对目标数据进行加密处理,得到所述目标数据对应的第一加密数据;
127.加密数据发送模块450,用于将所述第一加密数据和所述第一动态密钥参数值发送至所述第二数据交互方,以使得所述第二数据交互方基于所述第一动态密钥参数值对所述第一加密数据进行解密。
128.本技术的一些实施例中,获取本地的当前协定值,包括:
129.在本地未存储临时密钥的情况下,将所述第一数据交互方和所述第二数据交互方的约定值,作为当前协定值;
130.在本地已存储临时密钥的情况下,将本地最新存储的所述临时密钥,作为当前协定值;
131.其中,所述临时密钥包括:所述第一数据交互方在执行数据加密处理时生成的临时密钥,以及,所述第一数据交互方在执行数据解密处理时生成的临时密钥。
132.本技术的一些实施例中,如图5所示,所述装置还包括:
133.第一临时密钥存储模块435,用于在本地存储实时生成的所述临时密钥。
134.本技术的一些实施例中,如图6所示,所述装置还包括:
135.第二密钥参数获取模块460,用于响应于接收到所述第二数据交互方发送的第二加密数据和第二动态密钥参数,所述第一数据交互方获取本地的当前协定值和所述加密盐值;
136.第二初始值生成模块470,用于基于接收到的所述第二动态密钥参数,实时获取的所述当前协定值和所述加密盐值,采用所述第一加密算法生成初始值;
137.第二临时密钥生成模块480,用于基于所述加密盐值和实时生成的所述初始值,采用所述第二加密算法生成临时密钥;
138.数据解密模块490,用于采用实时生成的所述临时密钥对所述第二加密数据进行解密处理。
139.本技术的一些实施例中,如图6所示,所述装置还包括:
140.第二临时密钥存储模块485,用于在本地存储实时生成的所述临时密钥。
141.本技术的一些实施例中,所述获取第一动态密钥参数值,包括:
142.获取当前时间戳,作为第一动态密钥参数值。
143.本技术的一些实施例中,所述第一加密算法和所述第二加密算法中至少一种为不可逆加密算法。
144.本技术的一些实施例中,所述数据加密模块440,进一步用于:
145.基于实时生成的所述临时密钥,采用预设对称加密算法对目标数据进行加密处理,得到所述目标数据对应的加密数据。
146.本技术实施例公开的数据加密传输装置,用于实现本技术实施例一中所述的数据加密传输方法,装置的各模块的具体实施方式不再赘述,可参见方法实施例相应步骤的具体实施方式。
147.本技术实施例公开的数据加密传输装置,应用于第一数据交互方,通过获取第一动态密钥参数值,以及,获取本地的当前协定值和与第二数据交互方共认的加密盐值;基于所述第一动态密钥参数值、所述当前协定值,以及,所述加密盐值,采用第一加密算法生成初始值;基于所述加密盐值和实时生成的所述初始值,采用第二加密算法生成临时密钥;基于实时生成的所述临时密钥,采用预设加密算法对目标数据进行加密处理,得到所述目标数据对应的第一加密数据;将所述第一加密数据和所述第一动态密钥参数值发送至所述第二数据交互方,以使得所述第二数据交互方基于所述第一动态密钥参数值对所述第一加密数据进行解密,有助于提升数据安全性。
148.本技术实施例公开的数据加密传输装置,通过数据交互双方约定加密盐值,以及,约定一个协定值的获取方式或取值,并约定密钥生成方法,之后,双方各自按照约定的密钥生成方式生成临时密钥用于加密数据和解密数据,基于一个动态密钥参数值作为加解密双方用来匹配相同密钥的参数,以保证数据交互双方生成密钥的基本参数一致,在确保密钥唯一性的同时,由于协定值和动态密钥参数值是动态变化的,因此生成的临时密钥具有随机性,不是固定密钥,从而增强了基于临时密钥加密数据的安全性。
149.本技术实施过程中,在第一数据发送方和第二数据发送方执行多轮加密数据传输,在每一轮数据传输之前,都需要实时获取第一动态密钥参数值和当前协定值,并根据所
述获取的第一动态密钥参数值和实时获取的当前协定值,实时生成初始值。之后,根据实时生成的初始值进一步生成临时密钥,这样,生成的临时密钥在每一轮加密数据传输过程中是不同的,且都具有随机性,增加了密钥破解难度,提升了数据安全性。
150.进一步的,通过基于上一轮加密或解密产生的临时密钥,结合实时获取的动态密钥参数,生成当前轮临时密钥,生成的临时密钥相当于进行了两层加盐,具有更强的随机性和破解难度,破解越早的密钥难度越大,有效增强了加密数据的安全性。更进一步的,临时密钥的生成过程中采用了不可逆加密算法,在某一轮加密数据传输过程密钥被破解之后,无法根据破解的密钥获取该轮之前的密钥,即无法解密该轮之前发送的加密数据,因此,本技术实施例中采用的数据加密装置实现了数据的前向安全。
151.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
152.以上对本技术提供的一种数据加密传输方法及装置进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其一种核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
153.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
154.本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的电子设备中的一些或者全部部件的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
155.例如,图7示出了可以实现根据本技术的方法的电子设备。所述电子设备可以为pc机、移动终端、个人数字助理、平板电脑等。该电子设备传统上包括处理器710和存储器720及存储在所述存储器720上并可在处理器710上运行的程序代码730,所述处理器710执行所述程序代码730时实现上述实施例中所述的方法。所述存储器720可以为计算机程序产品或者计算机可读介质。存储器720可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器720具有用于执行上述方法中的任何方法步骤的计算机程序的程序代码730的存储空间7201。例如,用于程序代码730的存储空间7201可以包括分别用于实现上面的方法中的各种步骤的各个计算机程序。所述程序代码730为计算机可读代码。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到
这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(cd)、存储卡或者软盘之类的程序代码载体。所述计算机程序包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据上述实施例的方法。
156.本技术实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术实施例一所述的数据加密传输方法的步骤。
157.这样的计算机程序产品可以为计算机可读存储介质,该计算机可读存储介质可以具有与图7所示的电子设备中的存储器720类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩存储在所述计算机可读存储介质中。所述计算机可读存储介质通常为如参考图8所述的便携式或者固定存储单元。通常,存储单元包括计算机可读代码730’,所述计算机可读代码730’为由处理器读取的代码,这些代码被处理器执行时,实现上面所描述的方法中的各个步骤。
158.本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本技术的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
159.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
160.在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
161.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1