CN114726543B - 基于报文链的密钥链生成、报文发送及接收方法及装置 - Google Patents
基于报文链的密钥链生成、报文发送及接收方法及装置 Download PDFInfo
- Publication number
- CN114726543B CN114726543B CN202210380225.9A CN202210380225A CN114726543B CN 114726543 B CN114726543 B CN 114726543B CN 202210380225 A CN202210380225 A CN 202210380225A CN 114726543 B CN114726543 B CN 114726543B
- Authority
- CN
- China
- Prior art keywords
- message
- chain
- node value
- value
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于报文链的密钥链生成、报文发送及接收方法及装置,其中,密钥链生成方法包括:生成密钥链,密钥链包括:按照顺序相连的密钥链第一节点值、密钥链中间节点值和密钥链链尾节点值,其中,密钥链链尾节点值为密钥链最新的一个节点值,密钥链随着密钥链链尾节点值的更新变换不断生长;将根据报文链构建方法构建的报文链的报文链链尾节点值或当前发送报文与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为密钥链链尾节点值,当前密钥链链尾节点值作为密钥链中间节点值。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种基于报文链的密钥链生成、报文发送及接收方法及装置。
背景技术
起初的网络设计时,在数据传输过程中并没有考虑到安全的问题,数据明文传输导致数据泄露问题频发。目前最常用的加密认证技术——IPsec为私密数据在不安全的公共网络上传输提供了支持。但是IPsec在传输过程中需要的DH密钥交换协议存在中间人攻击等问题,在协商过程中容易遭到中间人攻击。并且为了满足密钥的完美向前保密性,第二阶段的每一次的密钥协商都将重新进行一次DH交换,由于这种交换下具有大量的幂模运算,为攻击者进行DoS攻击提供了可能。
发明内容
本发明旨在提供一种克服上述问题或者至少部分地解决上述问题的基于报文链的密钥链生成、报文发送及接收方法及装置。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明的第一个方面提供了一种报文链构建方法,包括:构建报文链,所述报文链包括:按照顺序相连的报文链第一节点值、报文链中间节点值和报文链链尾节点值,其中,所述报文链链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述报文链链尾节点值的更新变换不断生长;将当前发送报文与当前报文链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述报文链链尾节点值,所述当前报文链链尾节点值作为所述报文链中间节点值。
本发明第二个方面提供了一种密钥链生成方法,包括:生成密钥链,所述密钥链包括:按照顺序相连的密钥链第一节点值、密钥链中间节点值和密钥链链尾节点值,其中,所述密钥链链尾节点值为所述密钥链最新的一个节点值,所述密钥链随着所述密钥链链尾节点值的更新变换不断生长;将当前发送报文与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述密钥链链尾节点值,所述当前密钥链链尾节点值作为所述密钥链中间节点值;或者将根据上述的报文链构建方法构建的报文链的报文链链尾节点值与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述密钥链链尾节点值,所述当前密钥链链尾节点值作为所述密钥链中间节点值。
本发明第三个方面提供了一种报文发送方法,包括:利用上述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值对当前发送报文进行加密,得到加密报文,将所述加密报文和上述的报文链构建方法构建的当前报文链链尾节点值进行发送。
本发明第四个方面提供了一种报文接收方法,包括:接收上述的发送方法发送的报文,得到当前接收报文;利用上述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值对所述加密报文进行解密,得到解密后的当前接收报文,对所述解密后的当前接收报文与上述的报文链构建方法构建的报文链的当前报文链链尾节点值的前一个报文链链尾节点值进行哈希计算,得到验证哈希值,将所述验证哈希值与所述当前报文链链尾节点值进行比对并比对一致。
本发明第五个方面提供了一种报文发送方法,将上述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值与当前发送报文进行哈希计算,得到发送哈希值,将所述当前发送报文和所述发送哈希值进行发送。
本发明第六个方面提供了一种报文接收方法,包括:接收上述的发送方法发送的报文,得到当前接收报文;将上述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值与当前接收报文进行哈希计算,得到验证哈希值,将所述验证哈希值与所述发送哈希值进行比对并比对一致。
本发明第七个方面提供了一种报文链构建装置,包括:构建模块,用于构建报文链,所述报文链包括:按照顺序相连的报文链第一节点值、报文链中间节点值和报文链链尾节点值,其中,所述报文链链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述报文链链尾节点值的更新变换不断生长;计算模块,用于将当前发送报文与当前报文链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述报文链链尾节点值,所述当前报文链链尾节点值作为所述报文链中间节点值。
本发明第八个方面提供了一种密钥链生成装置,包括:生成模块,用于生成密钥链,所述密钥链包括:按照顺序相连的密钥链第一节点值、密钥链中间节点值和密钥链链尾节点值,其中,所述密钥链链尾节点值为所述密钥链最新的一个节点值,所述密钥链随着所述密钥链链尾节点值的更新变换不断生长;更新模块,用于将当前发送报文与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述密钥链链尾节点值,所述当前密钥链链尾节点值作为所述密钥链中间节点值;或者将根据上述的报文链构建装置构建的报文链的报文链链尾节点值与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述密钥链链尾节点值,所述当前密钥链链尾节点值作为所述密钥链中间节点值。
本发明第九方面提供了一种报文发送装置,包括:发送模块,用于利用上述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值对当前发送报文进行加密,得到加密报文,将所述加密报文和上述的报文链构建装置构建的当前报文链链尾节点值进行发送。
本发明第十方面提供了一种报文接收装置,包括:接收模块,用于接收上述的发送装置发送的报文,得到当前接收报文;利用上述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值对所述加密报文进行解密,得到解密后的当前接收报文,对所述解密后的当前接收报文与上述的报文链构建装置构建的报文链的当前报文链链尾节点值的前一个报文链链尾节点值进行哈希计算,得到验证哈希值,将所述验证哈希值与所述当前报文链链尾节点值进行比对并比对一致。
本发明第十一方面提供了一种报文发送装置,包括:发送模块,用于将上述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值与当前发送报文进行哈希计算,得到发送哈希值,将所述当前发送报文和所述发送哈希值进行发送。
本发明第十二方面提供了一种报文接收装置,包括:接收模块,用于接收上述的发送装置发送的报文,得到当前接收报文;将上述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值与当前接收报文进行哈希计算,得到验证哈希值,将所述验证哈希值与所述发送哈希值进行比对并比对一致。
本发明第十三方面提供了一种网络设备,包括:处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述存储器中存储的计算机程序,以使所述网络设备执行上述的方法。
本发明第十四方面提供了一种可读存储介质,用于存储指令,当所述指令被执行时,使上述的方法被实现。
由此可见,通过本发明提供的基于报文链的密钥链生成、报文发送及接收方法及装置,构建一种报文链和密钥链,通信双方将发送的实时报文哈希值作为密钥计算的输入值之一来计算本次通信的密钥,以此密钥来进行加密、解密以及下一个密钥的相关计算,可以有效实现每个数据包的加密密钥都不相同,很好地维护了密钥的安全性以及增大了攻击者的破译难度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的报文链构建方法的流程图;
图2为本发明实施例提供的报文链构建装置的结构示意图;
图3为本发明实施例提供的密钥链生成方法的流程图;
图4为本发明实施例提供的密钥链生成装置的结构示意图;
图5为本发明实施例提供的发送端发送报文流程图;
图6为本发明实施例提供的接收端接收报文流程图;
图7为本发明实施例提供的发送端发送加密报文流程图;
图8为本发明实施例提供的接收端接收加密报文流程图;
图9为本发明实施例提供的发送端发送认证报文流程图;
图10为本发明实施例提供的接收端接收认证报文流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的报文链构建方法的流程图,参见图1,本发明实施例提供的报文链构建方法,包括:
S1,构建报文链,报文链包括:按照顺序相连的报文链第一节点值、报文链中间节点值和报文链链尾节点值,其中,报文链链尾节点值为报文链最新的一个节点值,报文链随着报文链链尾节点值的更新变换不断生长;
S2,将当前发送报文与当前报文链链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为报文链链尾节点值,当前报文链链尾节点值作为报文链中间节点值。
具体地,该报文链中的新的链尾节点值均是将当前发送报文与当前报文链链尾节点值进行哈希计算得到的,相较于单纯的利用当前发送报文计算哈希值,其破译难度更大。
图2示出了本发明实施例提供的报文链构建装置的结构示意图,参见图2,本发明实施例提供的报文链构建装置,包括:
构建模块,用于构建报文链,报文链包括:按照顺序相连的报文链第一节点值、报文链中间节点值和报文链链尾节点值,其中,报文链链尾节点值为报文链最新的一个节点值,报文链随着报文链链尾节点值的更新变换不断生长;
计算模块,用于将当前发送报文与当前报文链链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为报文链链尾节点值,当前报文链链尾节点值作为报文链中间节点值。
具体的,通过本发明实施例提供的报文链构建装置,可以构建本发明实施例提供的报文链。
图3示出了本发明实施例提供的密钥链生成方法的流程图,参见图3,本发明实施例提供的密钥链生成方法,包括:
S1,生成密钥链,密钥链包括:按照顺序相连的密钥链第一节点值、密钥链中间节点值和密钥链链尾节点值,其中,密钥链链尾节点值为密钥链最新的一个节点值,密钥链随着密钥链链尾节点值的更新变换不断生长;
S2,将当前发送报文与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为密钥链链尾节点值,当前密钥链链尾节点值作为密钥链中间节点值;或者将根据上述报文链构建方法构建的报文链的报文链链尾节点值与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为密钥链链尾节点值,当前密钥链链尾节点值作为密钥链中间节点值。
具体地,本发明实施例提供的密钥链中的最新的链尾节点值,是通过当前发送报文与当前密钥链链尾节点值进行哈希计算得到的,或者通过上述报文链链尾节点值与当前密钥链链尾节点值进行哈希计算得到的,由此提高密钥链中链尾节点值的破译难度,避免密钥被破译。
图4示出了本发明实施例提供的密钥链生成装置的结构示意图,参见图4,本发明实施例提供的密钥链生成装置,包括:
生成模块,用于生成密钥链,密钥链包括:按照顺序相连的密钥链第一节点值、密钥链中间节点值和密钥链链尾节点值,其中,密钥链链尾节点值为密钥链最新的一个节点值,密钥链随着密钥链链尾节点值的更新变换不断生长;
更新模块,用于将当前发送报文与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为密钥链链尾节点值,当前密钥链链尾节点值作为密钥链中间节点值;或者将根据上述报文链构建装置构建的报文链的报文链链尾节点值与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为密钥链链尾节点值,当前密钥链链尾节点值作为密钥链中间节点值。
具体的,通过本发明实施例提供的密钥链生成装置,可以生成本发明实施例提供的密钥链,为后续报文传输提供安全保障。
作为本发明实施例的一个可选实施方式,本发明提供的密钥链是一次一密算法实现的。具体可以通过如下方式实现:
首先对发送端和接收方通信过程中产生的各个参数进行定义。
假设预共享密钥为pre-key,初始密钥为K0,报文链的第i个报文链节点值为hashi,报文链尾节点值为hashlast,密钥的生成函数为Ki=Hash(Ki-1|hashi|other);
其中,初始密钥K0由双方预共享密钥pre-key通过哈希函数生成。由上可知,第i+1个密钥Ki由第i个密钥Ki-1和报文链的第i个报文链节点值hashi进行Hash运算得到。第i个报文发送时使用密钥Ki-1进行加密。Other则是为了防止弱密钥的产生而引入的一些有规则的可变变量。运算过程如下:
第一次运算:密钥:K0,第一个报文:M1,该报文对应的报文链节点值:hash1,下一密钥K1=Hash((K0|hash1|other)
第i次运算:密钥:Ki-1,第i个报文:Mi,该报文对应的报文链节点值:hashi,下一密钥Ki=Hash(Ki-1|hashi|other)
当前运算规则(第n个报文):密钥Kn-1,当前报文:Mn,该报文对应的报文链节点值:hashn,将该报文进行哈希迭代,产生新的报文链节点值,将其添加至报文链尾部作为新的报文链尾节点值hashlast。计算下一密钥Kn=Hash(Kn-1|hashlast|other)。
由这种方案产生了密钥链:K0,k1,k2…
本发明实施例提供的链式密钥的模型可以包括发送端、接收端、通信信道等部分。
各个部分在链式密钥模型中的作用如下:
发送端:发送端在本地存储一个和接收端协商好的预共享密钥,第一次的密钥由预共享密钥通过哈希得到,作为密钥链的初始节点值(当前状态下的链尾节点值)。发送第一个报文时,计算该报文的哈希,将其添加至报文链的链尾作为链尾节点值。随后选取报文链的链尾节点值和密钥链的链尾节点值,利用哈希函数生成新的密钥,将其作为下一个密钥。此后的每一个密钥均为当前报文链尾节点值和上一个密钥(密钥链尾节点值)进行哈希运算得到。以这种方式生成的密钥逻辑上呈现为链式结构。由于报文的哈希取决于发送端本次发送的信息,因此密钥的生成具备了不可预测的随机性,在初始密钥的安全性得到保证的情况下,可以实现近乎一次一密的加密。
接收端:接收端在本地存储一个和发送端协商好的预共享密钥,在收到一个数据包后,进行哈希验证,通过验证后,添加其哈希值至报文链尾部,作为新的报文链尾节点值。利用报文链的链尾节点值和密钥链的链尾节点值,采用和发送端同等的哈希函数计算出下一个密钥。生成的密钥链和发送端一致。在双方拥有相同预共享密钥的情况下,能够保证密钥链的一致性。
信道:数据传输的通路,数据信号从发送端传输到接收端所经过的传输媒质。
作为本发明实施例的一个可选实施方式,发送端报文发送流程如图5所示,具体步骤如下:
1、发送端与接收端采取同样的预共享密钥和算法,利用预共享密钥pre-key计算第一个密钥K0=Hash(pre-key|other),使其作为密钥链的初始节点值,同时也是当前的密钥链尾节点值;
2、发送端将报文链尾节点值以直接或间接的方式与数据接收方共享,确保接收方可以获得该值并且得以验证其身份;
3、利用密钥链的链尾节点值对报文进行处理,计算该报文的哈希值,将该报文及其哈希值发送给接收方;
4、将该报文的哈希值添加至报文链尾部作为新的报文链尾部节点值;
5、查找报文链的链尾节点和密钥链的链尾节点,利用哈希函数Hash计算下一个密钥,将该密钥添加至密钥链尾部;
6、判断当前通信状态,若需要结束本次通信,则结束,否则将跳转执行步骤2。
接收端报文接收流程如图6所示,具体步骤如下:
1、与发送端采取同样的预共享密钥和算法,利用预共享密钥计算第一个密钥,使其作为密钥链的初始节点值,同时也是密钥链当前的链尾节点值;
2、接收发送端发送的报文,从密钥链尾部获取本次密钥K,利用K来对接收到的报文进行相关处理;
3、对发送端发送的报文进行哈希运算,随后比照发送端发送的哈希值,若不匹配则返回错误响应并丢弃该报文,等待发送端重新发送,若匹配则执行下一步;
4、将该报文的哈希值添加至报文链尾部作为新的报文链尾部节点;
5、查找报文链和密钥链的链尾节点,利用哈希函数Hash计算出下一个密钥,将其添加至密钥链尾部作为新的链尾节点值;
6、若接收到结束通信请求,则结束处理,否则等待接受下一个报文跳转至步骤2执行。
基于上述链式密钥模型,本发明实施例提供了一种报文发送方法,该报文发送方法应用于发送端,包括:利用上述密钥链生成方法生成的密钥链的当前密钥链链尾节点值对当前发送报文进行加密,得到加密报文,将加密报文和上述报文链构建方法构建的当前报文链链尾节点值进行发送。
同时,为了匹配上述报文发送方法,本发明实施例还提供了一种报文接收方法,该报文接收方法应用于接收端,包括:接收上述发送方法发送的报文,得到当前接收报文;利用上述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值对加密报文进行解密,得到解密后的当前接收报文,对解密后的当前接收报文与上述报文链构建方法构建的报文链的当前报文链链尾节点值的前一个报文链链尾节点值进行哈希计算,得到验证哈希值,将验证哈希值与当前报文链链尾节点值进行比对并比对一致。
此外,本发明实施例还提供了一种报文发送装置,包括:发送模块,用于利用上述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值对当前发送报文进行加密,得到加密报文,将加密报文和上述的报文链构建装置构建的当前报文链链尾节点值进行发送。以及提供了一种报文接收方法,包括:接收模块,用于接收上述的发送装置发送的报文,得到当前接收报文;利用上述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值对加密报文进行解密,得到解密后的当前接收报文,对解密后的当前接收报文与上述的报文链构建装置构建的报文链的当前报文链链尾节点值的前一个报文链链尾节点值进行哈希计算,得到验证哈希值,将验证哈希值与当前报文链链尾节点值进行比对并比对一致。
作为本发明实施例的一个可选实施方式,本发明实施例提供了具有加密功能的流程,发送端报文发送流程如图7所示,具体步骤如下:
1、发送端与接收端采取同样的预共享密钥和算法,利用预共享密钥pre-key计算第一个密钥K0=Hash(pre-key|other),使其作为密钥链的初始节点值,同时也是当前的密钥链尾节点值;
2、利用哈希函数计算报文哈希值,将该报文的哈希值添加至报文链尾部作为新的报文链尾节点值;
3、从密钥链尾部取密钥K对报文明文进行加密;
4、将该报文的哈希值以及密文发送给接收方,查找报文链的链尾节点和密钥链的链尾节点,利用哈希函数Hash计算下一个密钥,将该密钥添加至密钥链尾部;
5、判断当前通信状态,若需要结束本次通信,则结束,否则将跳转执行步骤2。图6
接收端报文接收流程如图8所示,具体步骤如下:
1、与数据发送端采取同样的预共享密钥和算法,利用预共享密钥计算第一个密钥,使其作为密钥链的初始节点值,同时也是密钥链当前的链尾节点值;
2、接收发送端发送的报文,从密钥链尾部获取本次密钥,对密文部分进行解密,恢复明文,之后对明文进行哈希运算;
3、比照发送端发送的哈希值,若不匹配则返回错误响应并丢弃该报文,等待发送端重新发送,若匹配则执行下一步;
4、将该报文的哈希值添加至报文链尾部作为新的报文链尾部节点;
5、查找报文链和密钥链的链尾节点,利用哈希函数Hash计算出下一个密钥,将其添加至密钥链尾部作为新的链尾节点值;
6、若接收到结束通信请求,则结束处理,否则等待接受下一个报文跳转至步骤2执行。
当然,本发明还提供了另一种报文发送方法,该报文发送方法应用于发送端,包括:将上述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值与当前发送报文进行哈希计算,得到发送哈希值,将当前发送报文和发送哈希值进行发送。
为了匹配该报文发送方法,本发明还提供了一种报文接收方法,该报文接收方法应用于接收端,包括:接收上述的发送方法发送的报文,得到当前接收报文;将上述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值与当前接收报文进行哈希计算,得到验证哈希值,将验证哈希值与发送哈希值进行比对并比对一致。
此外,本发明实施例还提供了一种报文发送装置,包括:发送模块,用于将上述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值与当前发送报文进行哈希计算,得到发送哈希值,将当前发送报文和发送哈希值进行发送。以及还提供了一种报文接收装置,包括:接收模块,用于接收上述的发送装置发送的报文,得到当前接收报文;将上述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值与当前接收报文进行哈希计算,得到验证哈希值,将验证哈希值与发送哈希值进行比对并比对一致。
作为本发明实施例的一个可选实施方式,本发明实施例提供了具有认证功能的流程:
发送端报文发送流程如图9所示,具体步骤如下:
1、发送端与接收端采取同样的预共享密钥和算法,利用预共享密钥pre-key计算第一个密钥K0=Hash(pre-key|other),使其作为密钥链的初始节点值,同时也是当前的密钥链尾节点值;
2、从密钥链尾部取密钥K,与明文部分拼接取哈希Hash(K|M),将该值与明文一起发送至接收方;
3、计算该报文的哈希值,将该值添加至报文链尾部作为新的报文链尾部节点值;
4、查找报文链的链尾节点和密钥链的链尾节点,利用哈希函数Hash计算下一个密钥,将该密钥添加至密钥链尾部;
5、判断当前通信状态,若需要结束本次通信,则结束,否则将跳转执行步骤2。
接收端报文接收流程如图10所示,具体步骤如下:
1、与数据发送端采取同样的预共享密钥和算法,利用预共享密钥计算第一个密钥,使其作为密钥链的初始节点值,同时也是密钥链当前的链尾节点值;
2、接收发送端发送的报文,从密钥链尾部获取本次密钥K,和发送的明文拼接进行哈希运算Hash(K|M);
3、比照发送端发送的哈希值,若不匹配则返回错误响应并丢弃该报文,等待发送端重新发送,若匹配则执行下一步;
4、将该报文的哈希值添加至报文链尾部作为新的报文链尾部节点;
5、查找报文链和密钥链的链尾节点,利用哈希函数Hash计算出下一个密钥,将其添加至密钥链尾部作为新的链尾节点值;
6、若接收到结束通信请求,则结束处理,否则等待接受下一个报文跳转至步骤2执行。
本发明还提供了一种网络设备,包括:处理器和存储器,存储器中存储有计算机程序,处理器执行存储器中存储的计算机程序,以使网络设备执行上述的方法。
本发明还提供了一种可读存储介质,用于存储指令,当指令被执行时,使上述方法被实现。
由此可见,通过本发明提供的报文链构建及密钥链生成、报文发送及接收方法及装置,构建一种报文链和密钥链,通信双方将发送的实时报文哈希值作为密钥计算的输入值之一来计算本次通信的密钥,以此密钥来进行加密、解密以及下一个密钥的相关计算,可以有效实现每个数据包的加密密钥都不相同,很好地维护了密钥的安全性以及增大了攻击者的破译难度。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种基于报文链的密钥链生成方法,其特征在于,包括:
生成密钥链,所述密钥链包括:按照顺序相连的密钥链第一节点值、密钥链中间节点值和密钥链链尾节点值,其中,所述密钥链链尾节点值为所述密钥链最新的一个节点值,所述密钥链随着所述密钥链链尾节点值的更新变换不断生长;
将根据报文链构建方法构建的报文链的报文链链尾节点值与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述密钥链链尾节点值,所述当前密钥链链尾节点值作为所述密钥链中间节点值;
其中,所述报文链构建方法包括:构建报文链,所述报文链包括:按照顺序相连的报文链第一节点值、报文链中间节点值和报文链链尾节点值,其中,所述报文链链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述报文链链尾节点值的更新变换不断生长;将当前发送报文与当前报文链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述报文链链尾节点值,所述当前报文链链尾节点值作为所述报文链中间节点值。
2.一种报文发送方法,其特征在于,包括:
利用如权利要求1所述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值对当前发送报文进行加密,得到加密报文,将所述加密报文和如权利要求1所述的报文链构建方法构建的当前报文链链尾节点值进行发送。
3.一种报文接收方法,其特征在于,包括:
接收如权利要求2所述的发送方法发送的报文,得到当前接收报文;
利用如权利要求1所述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值对所述加密报文进行解密,得到解密后的当前接收报文,对所述解密后的当前接收报文与报文链构建方法构建的报文链的当前报文链链尾节点值的前一个报文链链尾节点值进行哈希计算,得到验证哈希值,将所述验证哈希值与所述当前报文链链尾节点值进行比对并比对一致;
其中,所述报文链构建方法包括:构建报文链,所述报文链包括:按照顺序相连的报文链第一节点值、报文链中间节点值和报文链链尾节点值,其中,所述报文链链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述报文链链尾节点值的更新变换不断生长;将当前发送报文与当前报文链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述报文链链尾节点值,所述当前报文链链尾节点值作为所述报文链中间节点值。
4.一种报文发送方法,其特征在于,包括:
将如权利要求1所述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值与当前发送报文进行哈希计算,得到发送哈希值,将所述当前发送报文和所述发送哈希值进行发送。
5.一种报文接收方法,其特征在于,包括:
接收如权利要求4所述的发送方法发送的报文,得到当前接收报文;
将如权利要求1所述的密钥链生成方法生成的密钥链的当前密钥链链尾节点值与当前接收报文进行哈希计算,得到验证哈希值,将所述验证哈希值与所述发送哈希值进行比对并比对一致。
6.一种基于报文链的
密钥链生成装置,其特征在于,包括:
生成模块,用于生成密钥链,所述密钥链包括:按照顺序相连的密钥链第一节点值、密钥链中间节点值和密钥链链尾节点值,其中,所述密钥链链尾节点值为所述密钥链最新的一个节点值,所述密钥链随着所述密钥链链尾节点值的更新变换不断生长;
更新模块,用于将根据报文链构建装置构建的报文链的报文链链尾节点值与当前密钥链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述密钥链链尾节点值,所述当前密钥链链尾节点值作为所述密钥链中间节点值;
其中,所述报文链构建装置,包括:
构建模块,用于构建报文链,所述报文链包括:按照顺序相连的报文链第一节点值、报文链中间节点值和报文链链尾节点值,其中,所述报文链链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述报文链链尾节点值的更新变换不断生长;
计算模块,用于将当前发送报文与当前报文链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述报文链链尾节点值,所述当前报文链链尾节点值作为所述报文链中间节点值。
7.一种报文发送装置,其特征在于,包括:
发送模块,用于利用如权利要求6所述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值对当前发送报文进行加密,得到加密报文,将所述加密报文和如权利要求6所述的报文链构建装置构建的当前报文链链尾节点值进行发送。
8.一种报文接收装置,其特征在于,包括:
接收模块,用于接收如权利要求7所述的发送装置发送的报文,得到当前接收报文;利用如权利要求6所述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值对所述加密报文进行解密,得到解密后的当前接收报文,对所述解密后的当前接收报文与报文链构建装置构建的报文链的当前报文链链尾节点值的前一个报文链链尾节点值进行哈希计算,得到验证哈希值,将所述验证哈希值与所述当前报文链链尾节点值进行比对并比对一致;
其中,所述报文链构建装置,包括:
构建模块,用于构建报文链,所述报文链包括:按照顺序相连的报文链第一节点值、报文链中间节点值和报文链链尾节点值,其中,所述报文链链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述报文链链尾节点值的更新变换不断生长;
计算模块,用于将当前发送报文与当前报文链链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述报文链链尾节点值,所述当前报文链链尾节点值作为所述报文链中间节点值。
9.一种报文发送装置,其特征在于,包括:
发送模块,用于将如权利要求6所述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值与当前发送报文进行哈希计算,得到发送哈希值,将所述当前发送报文和所述发送哈希值进行发送。
10.一种报文接收装置,其特征在于,包括:
接收模块,用于接收如权利要求9所述的发送装置发送的报文,得到当前接收报文;将如权利要求6所述的密钥链生成装置生成的密钥链的当前密钥链链尾节点值与当前接收报文进行哈希计算,得到验证哈希值,将所述验证哈希值与所述发送哈希值进行比对并比对一致。
11.一种网络设备,其特征在于,包括:处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述存储器中存储的计算机程序,以使所述网络设备执行如权利要求1至5任一项所述的方法。
12.一种可读存储介质,其特征在于,用于存储指令,当所述指令被执行时,使如权利要求1至5任一项所述的方法被实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210380225.9A CN114726543B (zh) | 2022-04-12 | 2022-04-12 | 基于报文链的密钥链生成、报文发送及接收方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210380225.9A CN114726543B (zh) | 2022-04-12 | 2022-04-12 | 基于报文链的密钥链生成、报文发送及接收方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726543A CN114726543A (zh) | 2022-07-08 |
CN114726543B true CN114726543B (zh) | 2023-07-18 |
Family
ID=82243813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210380225.9A Active CN114726543B (zh) | 2022-04-12 | 2022-04-12 | 基于报文链的密钥链生成、报文发送及接收方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726543B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530201A (zh) * | 2013-07-17 | 2014-01-22 | 华中科技大学 | 一种适用于备份***的安全数据去重方法和*** |
CN106792665A (zh) * | 2016-12-19 | 2017-05-31 | 华东师范大学 | 基于短小公钥密码体制的无线传感器网络安全小数据分发方法 |
CN107040509A (zh) * | 2016-11-23 | 2017-08-11 | 杭州迪普科技股份有限公司 | 一种报文发送方法及装置 |
KR20170127105A (ko) * | 2016-05-10 | 2017-11-21 | 주식회사 엔젠소프트 | 암호화 방법 및 이를 이용한 송신 장치, 복호화 방법 및 이를 이용한 수신 장치 |
CN108667598A (zh) * | 2018-04-28 | 2018-10-16 | 克洛斯比尔有限公司 | 用于实现安全密钥交换的设备和方法及安全密钥交换方法 |
CN111600829A (zh) * | 2019-02-21 | 2020-08-28 | 杭州萤石软件有限公司 | 用于物联网设备间的安全通信方法和*** |
CN111950030A (zh) * | 2020-09-01 | 2020-11-17 | 宁波富万信息科技有限公司 | 基于区块链的数据共享存储方法、终端设备和存储介质 |
CN112182600A (zh) * | 2020-09-18 | 2021-01-05 | 北京云钥网络科技有限公司 | 数据加密方法、数据解密方法及电子设备 |
CN113079001A (zh) * | 2021-03-08 | 2021-07-06 | 北京忆芯科技有限公司 | 密钥更新方法、信息处理设备及密钥更新装置 |
CN113114471A (zh) * | 2021-03-01 | 2021-07-13 | 北京信息科技大学 | 一种报文哈希链的构建方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011007301A1 (en) * | 2009-07-15 | 2011-01-20 | Koninklijke Philips Electronics N.V. | Method for securely broadcasting sensitive data in a wireless network |
-
2022
- 2022-04-12 CN CN202210380225.9A patent/CN114726543B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530201A (zh) * | 2013-07-17 | 2014-01-22 | 华中科技大学 | 一种适用于备份***的安全数据去重方法和*** |
KR20170127105A (ko) * | 2016-05-10 | 2017-11-21 | 주식회사 엔젠소프트 | 암호화 방법 및 이를 이용한 송신 장치, 복호화 방법 및 이를 이용한 수신 장치 |
CN107040509A (zh) * | 2016-11-23 | 2017-08-11 | 杭州迪普科技股份有限公司 | 一种报文发送方法及装置 |
CN106792665A (zh) * | 2016-12-19 | 2017-05-31 | 华东师范大学 | 基于短小公钥密码体制的无线传感器网络安全小数据分发方法 |
CN108667598A (zh) * | 2018-04-28 | 2018-10-16 | 克洛斯比尔有限公司 | 用于实现安全密钥交换的设备和方法及安全密钥交换方法 |
CN111600829A (zh) * | 2019-02-21 | 2020-08-28 | 杭州萤石软件有限公司 | 用于物联网设备间的安全通信方法和*** |
CN111950030A (zh) * | 2020-09-01 | 2020-11-17 | 宁波富万信息科技有限公司 | 基于区块链的数据共享存储方法、终端设备和存储介质 |
CN112182600A (zh) * | 2020-09-18 | 2021-01-05 | 北京云钥网络科技有限公司 | 数据加密方法、数据解密方法及电子设备 |
CN113114471A (zh) * | 2021-03-01 | 2021-07-13 | 北京信息科技大学 | 一种报文哈希链的构建方法及装置 |
CN113079001A (zh) * | 2021-03-08 | 2021-07-06 | 北京忆芯科技有限公司 | 密钥更新方法、信息处理设备及密钥更新装置 |
Non-Patent Citations (1)
Title |
---|
一种混合云环境下基于Merkle哈希树的数据安全去重方案;张桂鹏;陈平华;;计算机科学(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114726543A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5815294B2 (ja) | セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ | |
JP6019453B2 (ja) | 暗号化装置、復号化装置、及びプログラム | |
US20070263861A1 (en) | Keystream encryption device, method, and program | |
JP2001016196A (ja) | 多重アファイン鍵を用いる暗号化・復号化方法、認証方法、及びこれを用いる各装置 | |
CN112287377A (zh) | 基于联邦学习的模型训练方法、计算机设备及存储介质 | |
EP3673610B1 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN114143117B (zh) | 数据处理方法及设备 | |
CN114499857A (zh) | 一种实现大数据量子加解密中数据正确性与一致性的方法 | |
US20220382521A1 (en) | System and method for encryption and decryption using logic synthesis | |
CN113626794A (zh) | 客户/服务器模式下的认证及密钥协商方法、***及应用 | |
CN116170131B (zh) | 密文处理方法、装置、存储介质及可信执行设备 | |
US11115187B2 (en) | Apparatus and method for block ciphers for real-time data transmission | |
US8484471B2 (en) | Multi-party distributed multiplication device, multi-party distributed multiplication system and method | |
CN114726543B (zh) | 基于报文链的密钥链生成、报文发送及接收方法及装置 | |
Miculan et al. | Automated verification of Telegram’s MTProto 2.0 in the symbolic model | |
CN114338047A (zh) | 基于国密的区块链工业数据加密方法、装置及存储介质 | |
JP2000221881A (ja) | 電子署名端末装置、電子署名管理装置および電子署名システム | |
EP3871363A2 (en) | Computing key rotation period for block cipher-based encryption schemes system and method | |
CN115460020B (zh) | 数据共享方法、装置、设备及存储介质 | |
Lin et al. | Composable Security of Distributed Symmetric Key Exchange Protocol | |
Gerhart et al. | Security of Ibex | |
CN116582265B (zh) | 密钥协商方法和密钥协商*** | |
JP2001308845A (ja) | 多重アファイン鍵を用いる暗号化・復号化方法、認証方法、及びこれを用いる各装置 | |
CN114710266B (zh) | 认证方法、量子密钥分发方法、装置及量子密码网络 | |
CN114553412B (zh) | 一种数据传输方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |