本发明属于数据传输的,具体地涉及数据安全传输方法、装置、可读存储介质及电子设备。
背景技术:
1、数据传输是数据从一个地方传送到另一个地方的通信过程,数据传输系统通常由传输信道和信道两端的数据电路终接设备(dce)组成,在某些情况下,还包括信道两端的复用设备,传输信道可以是一条专用的通信信道,也可以由数据交换网、电话交换网或其他类型的交换网路来提供,数据传输系统的输入输出设备为终端或计算机,统称数据终端设备,它所发出的数据信息一般都是字母、数字和符号的组合。
2、在实际的数据传输过程中,可能会存在攻击者对数据传输系统进行攻击,进而获取到待传输的数据,因此一般为了防止攻击者获取到传输数据,通常会对数据发送方发出的数据进行加密处理,通常通过数据发送方自身生成的密钥对传输数据进行加密,但固定不变的密钥容易被攻击者轻易破解,进而影响数据传输过程中的安全,导致信息泄露。
技术实现思路
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、将16byte的所述第一初始密钥与所述第二初始密钥表示为与;
44、将与分别转换为4×4的第一密钥矩阵与第二密钥矩阵,将所述第一密钥矩阵与所述第二密钥矩阵的每一行组成一个密钥字,以分别得到与;
45、将与中的密钥字按照预设规则进行循环移动,以得到与;
46、将与中的每个密钥字进行十六进制转换以得到第一转换密钥与第二转换密钥,将所述第一转化密钥与所述第二转换密钥中的前8位作为aes算法的s盒的行数、将后8为作为aes算法的s盒的列数,在s盒中搜寻对应的字节值并将字节字替换对应的字节,以得到第一替换密钥与第二替换密钥;
47、将所述第一替换密钥与所述第二替换密钥转换为4×4的矩阵并与预设矩阵向量在有限域上进行点乘运算,以得到第一运算密钥与第二运算密钥,将所述第一运算密钥与所述第一初始密钥进行异或运算,以得到第一更新密钥,将所述第二运算密钥与所述第二初始密钥进行异或运算,以得到第二更新密钥。
48、较佳的,所述基于所述第一更新密钥对待传输数据加密处理,以得到加密数据的步骤包括:
49、通过sm4加密算法与所述第一更新密钥对待传输数据进行加密,以得到第一密文:
50、;
51、式中,为sm4加密算法;
52、加密所述第一密文以及所述数据发送方的设备信息,以得到第一特征信息:
53、;
54、式中,为sm3加密算法;
55、基于所述第二更新密钥对所述第一特征信息进行对称加密,以得到加密数据:
56、。
57、较佳的,所述数据接收方基于所述第一更新密钥与所述第二更新密钥对所述加密数据进行解密,以使所述数据接收方接收到所述待传输数据的步骤包括:
58、数据接收方通过所述第二更新密钥对所述加密数据进行解密,以得到第一特征信息:
59、;
60、式中,为sm4解密算法;
61、基于所述第一特征信息在数据库中选取对应的第一密文以及数据发送方的设备信息,基于第一密文以及数据发送方的设备信息计算第二特征信息;
62、判断所述第一特征信息与所述第二特征信息是否相等,若所述第一特征信息与所述第二特征信息相等,则通过所述第一更新密钥对所述第一密文进行对称解密,以得到待传输数据:
63、。
64、第二方面,该发明提供以下技术方案,一种数据安全传输装置,所述装置包括:
65、节点模块,用于数据发送方下发时间对齐指令至区块链节点集,所述区块链节点集包括若干中间传输节点,在若干所述中间传输节点中选择节点可靠性最高的中间传输节点作为基准节点,将除所述基准节点之外的所有所述中间传输节点作为待对齐节点;
66、对齐模块,用于根据所述时间对齐指令与所述基准节点的时间源对所述基准节点与所有所述待对齐节点进行迭代时间对齐,以得到若干对齐传输节点;
67、更新模块,用于所述数据发送方随机生成第一初始密钥与第二初始密钥,对所述第一初始密钥与所述第二初始密钥进行周期性迭代更新,以得到第一更新密钥与第二更新密钥;
68、加密模块,用于基于所述第一更新密钥对待传输数据加密处理,以得到加密数据,并通过所述数据发送方将所述加密数据发送至若干对齐传输节点;
69、解密模块,用于数据接收方基于所述第一更新密钥与所述第二更新密钥对所述加密数据进行解密,以使所述数据接收方接收到所述待传输数据。
70、第三方面,该发明提供以下技术方案,一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的数据安全传输方法。
71、第四方面,该发明提供以下技术方案,一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的数据安全传输方法。