CN115277094B - 一种基于区块链的通信方法、终端、系统及存储介质 - Google Patents
一种基于区块链的通信方法、终端、系统及存储介质 Download PDFInfo
- Publication number
- CN115277094B CN115277094B CN202210731424.XA CN202210731424A CN115277094B CN 115277094 B CN115277094 B CN 115277094B CN 202210731424 A CN202210731424 A CN 202210731424A CN 115277094 B CN115277094 B CN 115277094B
- Authority
- CN
- China
- Prior art keywords
- random number
- transaction data
- pseudo
- target
- data
- 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
- 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/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- 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
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本申请提供一种基于区块链的通信方法、终端、系统及存储介质,通过预先在发送终端和接收终端中配置相同的伪随机数生成策略,可以在两端基于该伪随机数生成策略生成相同的共享密钥。本申请中,由于发送终端和接收终端均可以在本地生成伪随机数,并根据该伪随机数生成共享密钥,所以发送终端和接收终端无需互传伪随机数和共享密钥,因此其他攻击者不容易获取到伪随机数和共享密钥,即使其他攻击者从区块链网络中获取到了目标交易数据,由于无法获得共享密钥也无法从该目标交易数据中恢复出发送终端发送的原始数据,从而保证基于区块链的通信过程只在确定的参与方之间进行,避免密钥协商过程中可能存在的中间人攻击问题,提升数据传输的安全性。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种基于区块链的通信方法、终端、系统及存储介质。
背景技术
隐蔽通信技术是一种可以使人们在不安全信道上实现安全通信的技术。相比于加密的通信方式,隐蔽通信还可以实现对通信行为本身的隐藏,因此,较加密而言拥有更加广阔的应用前景。一般的隐蔽通信方案都是将待传输信息加密后以第三方不可感知的方式隐藏在载体中,并将载体以公开的信道进行传输或者发布。由于区块链技术可以基于公有链路对信息进行传输,所以可以基于区块链网络实现隐蔽通信。
由于公有链路是对外公开的,因此,在基于公有链路对信息进行传输的过程中,如何保证传输数据的安全性、不可窃取性,成为当前亟待解决的技术问题。
发明内容
本申请实施例的目的在于提供一种基于区块链的通信方法、终端、系统及存储介质,以解决上述技术问题。
为实现上述目的,本申请提供的技术方案包括:
第一方面,提供一种基于区块链的通信方法,应用于发送终端,所述发送终端上预先配置有伪随机数生成策略,所述方法包括:
根据所述伪随机数生成策略生成与当前时间窗口对应的伪随机数;
根据所述伪随机数生成共享密钥;
利用所述共享密钥对当前的待传输数据进行加密处理,得到加密数据;
基于所述加密数据构造目标交易数据;
将所述目标交易数据广播至区块链网络中,以供预先配置有所述伪随机数生成策略的接收终端从所述区块链网络中获取所述目标交易数据,并根据所述伪随机数生成策略生成所述伪随机数后,利用所述伪随机数生成所述共享密钥,并利用所述共享密钥从所述目标交易数据恢复出所述待传输数据。
在上述实施方式中,由于发送终端和接收终端中预先配置有相同的伪随机数生成策略,因此,在两端可以基于该伪随机数生成策略生成相同的共享密钥,由于发送终端和接收终端均可以在本地生成伪随机数,并根据该伪随机数生成共享密钥,所以发送终端和接收终端无需互传伪随机数和共享密钥,因此其他攻击者不容易获取到伪随机数和共享密钥,即使其他攻击者从区块链网络中获取到了目标交易数据,由于无法获得共享密钥也无法从该目标交易数据中恢复出发送终端发送的原始数据,保证了基于区块链的通信过程只在确定的参与方之间进行,避免了密钥协商过程中可能存在的中间人攻击问题,提升了数据传输的安全性。
结合第一方面,在一些可选的实施方式中,所述发送终端上预先配置有所述发送终端的第一伪随机数生成策略,以及所述接收终端的第二伪随机数生成策略;所述根据所述伪随机数生成策略生成与当前时间窗口对应的伪随机数,包括:
根据所述发送终端的第一随机数种子和所述第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数,并根据所述接收终端的第二随机数种子和所述第二伪随机数生成策略生成与当前时间窗口对应的第二伪随机数;
所述根据所述伪随机数生成共享密钥,包括:
根据所述第二伪随机数生成所述接收终端的第二公钥;
根据所述第一伪随机数和所述第二公钥生成共享密钥。
在上述的实施方式中,发送终端可以针对当前时间窗口生成自己的伪随机数,也可以生成接收终端的伪随机数,通信双方无需进行伪随机数交互便可生成相同的共享密钥。
结合第一方面,在一些可选的实施方式中,所述第一随机数种子预先配置在所述发送终端内,所述第二随机数种子预先配置在所述接收终端内;在所述根据所述接收终端的第二随机数种子和所述第二伪随机数生成策略生成所述接收终端当前的第二伪随机数之前,所述方法还包括:
通过链外通道向所述接收终端发送所述第一随机数种子,并接收所述接收终端通过所述链外通道发送的所述第二随机数种子。
在上述实施方式中,发送终端和接收终端之间通过链外通道分别向对方发送自己的随机数种子,以保证双方可以生成对方的伪随机数,通过链外通道进行伪随机种子的传输,可以保证通信过程在可信的参与方之间进行,并提升基于区块链进行通信的隐蔽性。
结合第一方面,在一些可选的实施方式中,所述基于所述加密数据构造目标交易数据,包括:
对所述加密数据进行编码处理;
基于经编码处理后的加密数据构造目标交易数据。
在上述实施方式中,对加密数据编码后,基于编码后的加密数据构造目标交易数据,提升了第三方破解目标交易数据的难度,进而提升了信息传输的安全性。
结合第一方面,在一些可选的实施方式中,所述基于经编码处理后的加密数据构造目标交易数据,包括:
对经编码处理后的加密数据进行分组,得到n个加密数据组;
采用纠删码技术针对所述n个加密数据组生成m个校验数据组;
基于所述加密数据组和所述校验数据组构造多条目标交易数据。
在上述实施方式中,采用纠删码技术,可以防止因部分数据丢失,导致接收终端无法恢复出原始数据。
结合第一方面,在一些可选的实施方式中,在所述基于所述加密数据构造目标交易数据之前,所述方法还包括:
从所述区块链网络中确定第一目标区块的第一区块标识;
通过链外通道向所述接收终端发送所述第一区块标识;
通过所述链外通道接收所述接收终端发送的用于表示接收到所述第一区块标识的确认消息;
所述基于所述加密数据构造目标交易数据,包括:
根据所述第一区块标识生成多个互不相同的第一目标标签;
从所述区块链网络中确定并保存下一次向所述接收终端传输数据时,需要使用的第二目标区块的第二区块标识;
基于所述第二区块标识和所述加密数据构造多条标记有所述第一目标标签的目标交易数据;一条所述目标交易数据被一个所述第一目标标签标记。
在上述实施方式中,发送终端可以通过链外通道向接收终端发送第一区块标识,以供接收终端基于该第一区块标识生成第一目标标签,从而可以筛选出被第一目标标签标记的目标交易数据,使得接收终端可以从大量的交易数据中准确、快速地筛选出包含有待传输数据内容的目标交易数据;另外,发送终端在本次通信过程中,将下一次通信需要使用的第二区块标识构造在目标交易数据中发送给接收终端,所以通信双方只需要协商一次区块标识,在本次通信之后,通信双方无需再次协商区块标识,提升了通信效率。
结合第一方面,在一些可选的实施方式中,在所述从所述区块链网络中确定并保存下一次向所述接收终端传输数据时,需要使用的第二目标区块的第二区块标识之后,所述方法还包括:
根据所述第二区块标识生成多个互不相同的第二目标标签;
在获取到新的待传输数据时,基于所述新的待传输数据构造标记有所述第二目标标签的新的目标交易数据;
将所述新的目标交易数据广播至所述区块链网络中,以供所述接收终端根据所述第二区块标识生成多个所述第二目标标签,并根据所述第二目标标签从所述区块链网络中筛选出所述新的目标交易数据。
在上述实施方式中,发送终端在需要向接收终端发送新的待传输数据时,可以直接根据第二区块标识生成多个互不相同的第二目标标签,并可以利用该第二目标标签对生成的新的目标交易数据进行标记,接收终端也可以利用之前接收到的第二区块标识生成该第二目标标签,从而利用该第二目标标签从区块链网络中筛选出新的目标交易数据,由于通信双方无需再次协商用于生成目标标签的区块标识,所以可以提升通信效率。
结合第一方面,在一些可选的实施方式中,所述目标交易数据包括第一类目标交易数据和第二类目标交易数据,所述基于所述第二区块标识和所述加密数据构造多条标记有所述第一目标标签的目标交易数据,包括:
根据所述加密数据的数据量大小确定所述第二类目标交易数据的交易数据条数k;
基于所述第二区块标识和所述交易数据条数k构造1条标记有所述第一目标标签的第一类目标交易数据,并基于所述加密数据构造k条标记有所述第一目标标签的第二类目标交易数据;
所述将所述目标交易数据广播至区块链网络,包括:
将所述第一类目标交易数据和所述第二类目标交易数据依次广播至区块链网络。
在上述实施方式中,发送终端可以根据加密数据的数据量大小确定第二类目标交易数据的交易数据条数,并基于该交易数据条数构造第一类目标交易数据,并可以将第一类目标交易数据优先广播至区块链网络中,以便于接收终端可以优先获取到第一类目标交易数据,并从中提取出第二类目标交易数据的交易数据条数,进而可以根据该交易数据条数从区块链网络中获取相应条数数量的第二类目标交易数据。
第二方面,本申请还提供一种基于区块链的通信方法,应用于接收终端,所述接收终端上预先配置有伪随机数生成策略,所述方法包括:
从区块链网络中获取目标交易数据;所述目标交易数据为发送终端基于加密数据构造的交易数据;所述加密数据为所述发送终端根据预先配置在本地的所述伪随机数生成策略生成与当前时间窗口对应的伪随机数后,根据所述伪随机数生成共享密钥,并利用所述共享密钥对待传输数据进行加密处理后得到的数据;
根据所述伪随机数生成策略生成所述伪随机数;
根据所述伪随机数生成所述共享密钥;
利用所述共享密钥从所述目标交易数据中恢复出所述待传输数据。
结合第二方面,在一些可选的实施方式中,所述接收终端上预先配置有所述发送终端的第一伪随机数生成策略,以及所述接收终端的第二伪随机数生成策略;所述根据所述伪随机数生成策略生成与当前时间窗口对应伪随机数,包括:
根据所述发送终端的第一随机数种子和所述第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数,并根据所述接收终端的第二随机数种子和所述第二伪随机数生成策略生成与当前时间窗口对应的第二伪随机数;
所述根据所述伪随机数生成共享密钥,包括:
根据所述第一伪随机数生成所述发送终端的第一公钥;
根据所述第二伪随机数和所述第一公钥生成共享密钥。
结合第二方面,在一些可选的实施方式中,所述第一随机数种子预先配置在所述发送终端内,所述第二随机数种子预先配置在所述接收终端内;在所述根据所述发送终端的第一随机数种子和所述第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数之前,所述方法还包括:
通过链外通道接收所述发送终端发送的第一随机数种子,并通过所述链外通道向所述发送终端发送所述第二随机数种子。
结合第二方面,在一些可选的实施方式中,在所述从区块链网络中获取目标交易数据之前,所述方法还包括:
通过链外通道接收所述发送终端发送的第一区块标识;
并通过所述链外通道向所述发送终端发送用于表示接收到所述第一区块标识的确认消息;
根据所述第一区块标识生成多个互不相同的第一目标标签;
所述从区块链网络中获取目标交易数据,包括:
根据所述第一目标标签从区块链网络中筛选出目标交易数据;所述目标交易数据为所述发送终端基于第二区块标识和所述加密数据构造的标记有所述第一目标标签的数据;
所述方法还包括:
从所述目标交易数据中提取并保存所述第二区块标识。
结合第二方面,在一些可选的实施方式中,在所述从所述目标交易数据中提取并保存所述第二区块标识之后,所述方法包括:
根据所述第二区块标识生成多个互不相同的第二目标标签;
根据所述第二目标标签从所述区块链网络中获取标记有所述第二目标标签的新的目标交易数据;所述新的目标交易数据为所述发送终端根据所述第二区块标识生成所述第二目标标签,并基于所述新的待传输数据和所述第二目标标签构造的交易数据。
结合第二方面,在一些可选的实施方式中,所述从区块链网络中筛选出标记有所述目标标签的目标交易数据,包括:
从所述接收终端的本地交易池中筛选出标记有所述第一目标标签的目标交易数据。
结合第二方面,在一些可选的实施方式中,所述目标交易数据包括基于非加密数据构造的第一类目标交易数据和基于加密数据构造的第二类目标交易数据,所述从区块链网络中筛选出标记有所述第一目标标签的目标交易数据,包括:
根据所述第一目标标签从区块链网络中筛选出所述第一类目标交易数据;所述第一类目标交易数据为所述发送终端基于所述第二区块标识和所述第二类目标交易数据的交易数据条数k,构造的标记有所述第一目标标签的交易数据;
从所述第一类目标交易数据中提取出所述交易数据条数k;
从所述区块链网络中筛选出k条所述第二类目标交易数据;所述第二类目标交易数据为所述发送终端基于所述加密数据构造的标记有所述第一目标标签的交易数据;
第三方面,本申请还提供一种基于区块链的通信方法,应用于区块链通信系统,所述区块链通信系统包括发送终端和接收终端,所述发送终端和所述接收终端上配置有相同的伪随机数生成策略;所述方法包括:
所述发送终端根据所述伪随机数生成策略生成与当前时间窗口对应的伪随机数,根据所述伪随机数生成共享密钥,利用所述共享密钥对所述待传输数据进行加密处理得到加密数据,基于所述加密数据构造目标交易数据,将所述目标交易数据广播至区块链网络中;
所述接收终端从所述区块链网络中获取所述目标交易数据,根据所述伪随机数生成策略生成所述伪随机数,根据所述伪随机数生成所述共享密钥,利用所述共享密钥从所述目标交易数据中恢复出所述待传输数据。
第四方面,本申请还提供一种发送终端,包括第一处理器和第一存储器,所述第一存储器中存储有第一计算机程序,所述第一处理器执行所述第一计算机程序,以实现上述任意一项应用于发送终端的方法。
第五方面,本申请还提供一种接收终端,包括第二处理器和第二存储器,所述第二存储器中存储有第二计算机程序,所述第二处理器执行所述第二计算机程序,以实现上述任意一项应用于接收终端的方法。
第六方面,本申请还提供一种基于区块链的通信系统,包括上述任意一种发送终端以及上述任意一种接收终端。
第七方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有第三计算机程序,所述第三计算机程序被至少一个处理器执行时,以实现上述任意一项所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的基于区块链的通信方法的流程示意图;
图2为本申请实施例提供的信息发送方生成动态地址标签的过程示意图;
图3为本申请实施例提供的动态地址标签生成函数的函数代码示意图;
图4为本申请实施例提供的信息接收方筛选目标交易数据的过程示意图;
图5为本申请实施例提供的对目标交易数据进行筛选函数的函数代码示意图;
图6为本申请实施例提供的发送终端的结构示意图;
图7为本申请实施例提供的接收终端的结构示意图;
图8为本申请实施例提供的基于区块链的通信系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在本发明的描述中,需要理解的是,步骤前的数字标号并不表示执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
下面,通过具体实施例对本申请的技术方案进行详细说明。
需要说明的是,下面的具体实施例可以互相结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
本申请实施例提供一种基于区块链的通信方法,发送终端和接收终端上预先配置有相同的伪随机数生成策略,请参见图1所示,具体方法可以包括如下步骤:
S101:发送终端根据伪随机数生成策略生成与当前时间窗口对应的伪随机数。
S102:发送终端根据伪随机数生成共享密钥。
S103:发送终端利用共享密钥对当前的待传输数据进行加密处理,得到加密数据。
S104:发送终端基于加密数据构造目标交易数据。
S105:发送终端将目标交易数据广播至区块链网络中。
S106:接收终端从区块链网络中获取目标交易数据。
S107:接收终端根据伪随机数生成策略生成伪随机数。
S108:接收终端根据伪随机数生成共享密钥。
S109:接收终端利用共享密钥从目标交易数据中恢复出发送终端传输的原始数据。
可以理解的是,上述步骤S101-步骤S105由发送终端执行,上述步骤S106-步骤S109由接收终端执行。接收终端获取到目标交易数据后,进行与发送终端对待传输数据进行处理的逆过程,便可恢复出发送终端原始想要传输的待传输数据。
为便于理解,下面对上述步骤进行详细的介绍。
应当说明的是,本申请实施例中的发送终端和接收终端上均可以配置发送终端的第一伪随机数生成策略,以及接收终端的第二伪随机数生成策略。根据第一伪随机数生成策略,可以生成与发送终端对应的第一伪随机数,根据第二伪随机数生成策略,可以生成与接收终端对应的第二伪随机数。
此时,对于发送终端侧的步骤S101和步骤S102,发送终端可以根据第一随机数种子和第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数,并根据接收终端的第二随机数种子和所述第二伪随机数生成策略生成与当前时间窗口对应的第二伪随机数,并可以根据第二伪随机数生成接收终端的第二公钥,并根据第一伪随机数和第二公钥生成共享密钥。
对应的,对于接收终端侧的步骤S107和步骤S108,接收终端可以根据发送终端的第一随机数种子和第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数,并根据接收终端的第二随机数种子和第二伪随机数生成策略生成与当前时间窗口对应的第二伪随机数,并可以根据第一伪随机数生成发送终端的第一公钥,并根据第二伪随机数和第一公钥生成共享密钥。
可以理解的是,本申请实施例中的第一伪随机数生成策略和第二伪随机数生成策略可以是相同的策略,也可以是不同的策略。
发送终端和接收终端可以分别在本地部署相同的伪随机数生成器,当最开始的随机数种子确定后,后续生成的伪随机数列就是确定的,发送终端和接收终端可以分别使用伪随机数生成器生成自己的伪随机数列和对方的伪随机数列。每经历一段固定的时间窗口,发送终端可以按伪随机数的生成顺序生成一个当前时间窗口下与该发送终端对应的第一伪随机数,并可以生成当前时间窗口下与接收终端对应的第二伪随机数。同样的,接收终端可以生成当前时间窗口下自己的第二伪随机数和对方的第一伪随机数。可以理解的是,发送终端和接收终端生成伪随机数的时间窗口可根据实际情况灵活设置,可以按照事先协商的时间间隔对时间窗口进行同步。
本申请实施例中发送终端和接收终端可以生成相同的共享密钥,示例性的,发送终端和接收终端可以基于椭圆曲线加密算法和DH算法生成对称密钥,也即本申请实施例中的共享密钥。
示例性的,发送终端和接收终端可以基于对方的伪随机数生成对方的公钥,然后利用自己的伪随机数和对方的公钥生成对称密钥。
若使用G表示区块链使用的椭圆曲线上的基点,在某时间窗口i,发送终端生成的自身的第一伪随机数为接收终端生成的自身的第二伪随机数为/>根据椭圆曲线加密算法的公钥生成规则,发送终端和接收终端可以分别生成对方的公钥:
发送终端生成的接收终端的第二公钥为:
接收终端生成的发送终端的第一公钥为:
在某时间窗口i,由于发送终端和接收终端可分别在本地计算对方的和进而,通信双方可在本地进行如下运算得到共享密钥:
发送终端进行的运算:
接收终端进行的运算:
显然,SKi1=SKi2=SKi,SKi可作为发送终端和接收终端进行隐蔽通信时的共享密钥。
在一种可选的实施方式中,可以预先在发送终端和接收终端上设置第一随机数种子和第二随机数种子,这样,通信双方可以在不交换任何信息的条件下,通过本地计算,得出通信时的共享密钥,以便于后续进行基于区块链的隐蔽通信过程。
在另外一种可选的实施方式中,可将第一随机数种子预先配置在发送终端内,第二随机数种子预先配置在接收终端内,对于发送终端而言,可以在根据接收终端的第二随机数种子和第二伪随机数生成策略生成接收终端当前的第二伪随机数之前,通过链外通道向接收终端发送第一随机数种子,并接收由接收终端通过链外通道发送的第二随机数种子。对应的,对于接收终端,可以在根据发送终端的第一随机数种子和第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数之前,通过链外通道接收发送终端发送的第一随机数种子,并通过链外通道向发送终端发送第二随机数种子。
示例性的,发送终端与接收终端基于区块链网络进行第一次正式通信之前,通信双方可以互相向对方发送自身的随机数种子。比如,发送终端可以通过链外通道向接收终端发送自身的第一随机数种子,接收终端通过链外通道向发送终端发送自身的第二随机数种子,通信双方在接收到对方的随机数种子后,可以参照上述方法生成共享密钥。当发送终端需要向接收终端传输新的待传输数据时,通信双方无需再交互随机数种子,也可生成相同的共享密钥。应当说明的是,在其他的一些实施例中,通信双方也可以基于区块链网络向对方发送自身的随机数种子。
本申请实施例中的链外通道可以是一次性通信信道,比如,可以是基于SSL加密的数据传输通道,发送终端和接收终端可以通过该一次性通信信道实现直接通信,安全性更高。
发送终端在生成共享密钥后,可以利用共享密钥对待传输数据进行加密处理得到加密数据。比如,可以使用对称加密算法和共享密钥SKi对要传递的数据M加密,得到密文信息M′=Enc(M,SKi)。对称加密算法Enc可以是AES、DES等算法,通信双方可以提前协商加密算法和解密算法,该加密算法也可以提前部署在发送终端内,同时,需要在接收终端内部署相应的解密算法。
为了进一步增强最终得到的目标交易数据的掩护能力,对于步骤S104,可以对加密数据进行编码处理,然后基于经编码处理后的加密数据构造目标交易数据。也即是,可以在信息加密的基础上,采用编码算法对加密数据M′进行编码。编码方法包括但不限于独热(One-Hot)编码和霍夫曼编码(Huffman Coding)等编码方式,通信双方可以提前协商编码方式和解码方式,该编码方式也可以提前部署在发送终端内,同时,需要在接收终端内部署相应的解码方式。
为解决数据的备份抗损毁问题,当待传输数据的数据量比较大时,比如确定待传输数据的数据量大于预设数据量阈值时,可以在上述编码处理的基础上,对经编码处理后的加密数据进行分组得到n个加密数据组,采用纠删码技术针对n个加密数据组生成m个校验数据组,基于加密数据组和校验数据组构造多条目标交易数据。这里的n和m均是大于0的整数。
接收终端后续可以通过n+m份数据中的任意n份数据来恢复发送终端传递的原始信息,即数据的分组门限为(n+m,n),也就是说,即使n+m份数据中的m份传输失败,接收终端也可使用成功传输的n份数据还原出发送终端要传递的原始信息。
为便于接收终端从区块链网络中快速筛选出目标交易数据,从而快速恢复出发送终端原始需要传递的数据,发送终端可以生成用于标记目标交易数据的第一目标标签,以供接收终端可以根据该第一目标标签从区块链网络中快速筛选出目标交易数据。
示例性的,发送终端与接收终端基于区块链网络进行第一次正式通信之前,可以提前协商第一目标区块的第一区块标识以及标签生成策略,当然,也可以在通信双方本地预先存储第一区块标识和标签生成策略。
示例性的,发送终端可以在步骤S104之前,从区块链中确定第一目标区块的第一区块标识,通过链外通道向接收终端发送该第一区块标识,并通过链外通道接收由接收终端发送的用于表示接收到该第一区块标识的确认消息。应当说明的是,发送终端可以在第一次与接收终端通信时,通过一次性通信信道将该第一区块标识和第一随机数种子发送给接收终端,然后接收由接收终端发送的第二随机数种子和确认消息,由此,便完成了第一目标区块标识的协商和随机数种子的同步。
为提升通信效率、提升通信安全性,发送终端在下一次向接收终端发送数据时,无需再进行随机数的同步和区块标识信息的协商,发送终端可以在本次通信过程中生成下一次与接收终端通信时需要使用的区块标识,并将该区块标识传递给接收终端。
可以理解的是,在步骤S104中,可以参照区块链普通业务交易数据的格式构造目标交易数据,以提升隐蔽效果。
示例性的,步骤S104可以包括:根据第一区块标识生成多个互不相同的第一目标标签,从区块链中确定并保存下一次向接收终端传输数据时需要使用的第二目标区块的第二区块标识,基于第二区块标识和加密数据构造多条标记有第一目标标签的目标交易数据;一条目标交易数据被一个所述第一目标标签标记。
对应的,对于接收终端而言,可以步骤S106之前,通过链外通道接收发送终端发送的第一区块标识,并通过该链外通道向发送终端发送用于表示接收到该第一区块标识的确认消息,并根据第一区块标识生成多个互不相同的第一目标标签。可以理解的是,接收终端生成的第一目标标签与发送终端生成的第一标签相同,因此,接收终端可以根据第一目标标签从区块链网络中筛选出发送终端发送的目标交易数据。接收终端在获取到目标交易数据中,可以从目标交易数据中提取并保存第二区块标识,以便于接收终端可以根据该第二区块标识从区块链网络中获取发送终端发送的新的目标交易数据。
示例性的,发送终端在从区块链中确定并保存下一次向接收终端传输数据时需要使用的第二目标区块的第二区块标识之后,则可以根据该第二区块标识生成多个互不相同的第二目标标签,并基于新的待传输数据构造标记有第二目标标签的新的目标交易数据,将新的目标交易数据广播至区块链网络中。
对应的,对于接收终端而言,在从目标交易数据中提取并保存第二区块标识之后,可以根据第二区块标识生成多个互不相同的第二目标标签,然后根据第二目标标签从区块链网络中获取标记有第二目标标签的新的目标交易数据。
应当说明的是,接收终端可以从本地交易池中筛选出标记有第一目标标签的目标交易数据,无需从区块中筛选目标交易数据,可以减少交易数据上链过程所带来的时间消耗,从而提高基于区块链进行隐蔽通信的效率,进一步保证通信的时效性。
示例性的,目标交易数据包括基于非加密数据构造的第一类目标交易数据和基于加密数据构造的第二类目标交易数据,对于步骤S104,可以根据加密数据的数据量大小确定第二类目标交易数据的交易数据条数k,然后基于第二区块标识和交易数据条数k构造1条标记有第一目标标签的第一类目标交易数据,并基于加密数据构造k条标记有第一目标标签的第二类目标交易数据。此时,对于步骤S105,则可以将第一类目标交易数据和第二类目标交易数据依次广播至区块链网络。
对应的,对于接收终端而言,对于步骤S106,可以根据生成的第一目标标签从区块链网络中优先筛选出第一类目标交易数据,从第一类目标交易数据中提取出交易数据条数k,然后从区块链网络中筛选出k条第二类目标交易数据。接收终端优先提取出交易数据条数k,从而可以确定出后续需要筛选的第二类目标交易数据的数量。
应当说明的是,在一些实施例中,目标交易数据中也可以不包含第二类目标交易数据的交易数据条数信息,发送终端和接收终端可以提前协商或直接在终端本地部署目标交易数据构造规则和筛选规则,比如可以提前协商每次通信时均生成d条目标交易数据,通信双方均生成d个第一目标标签,发送终端利用d个第一目标标签对d条目标交易数据进行标记,接收终端利用d个第一目标标签从区块链网络中筛选出d条第一目标交易数据。
可以理解的是,基于交易数据条数k、第二区块标识和加密数据构造标记有第一目标标签的目标交易数据的方式并不限于上述提及的方式,构造方式可以由开发人员灵活设置,只要在对应的接收终端部署对应的提取规则,使得接收终端可以根据第一目标标签筛选出目标交易数据,然后按照对应的提取规则提取恢复出交易数据条数k、第二区块标识和加密数据即可。比如,发送终端可以使用交易数据条数构造一条目标交易数据,然后使用第二区块标识和上述加密数据构造另外的目标交易数据。或者也可以直接将交易数据条数、第二区块标识和加密数据作为一个整体,构造目标交易数据。
这里对根据第一区块标识生成多个互不相同的第一目标标签的方式进行说明。
本申请实施例中的第一区块标识可以是区块高度,区块高度表征了对应区块在区块链中的位置。示例性的,本申请实施例中的第一目标标签可以是动态地址标签,该动态地址标签作为仅使用一次的标签,发送终端可以使用钱包工具按需批量生成多个动态地址标签,以对目标交易数据进行标记。
若通信双方已协商好动态地址标签生成策略,且动态地址标签生成策略为:根据目标区块高度j的区块哈希值和上述提及的共享密钥SK,计算HMAC函数值,将HMAC函数值作为生成公有链地址时所使用的密钥,按照公有链地址生成算法和该密钥生成动态地址标签。若需要生成k+1条动态地址标签,且区块链为公有链,信息发送方(发送终端)生成动态地址标签的生成过程可以参见图2所示,包括:
步骤一:从公有链账本数据中提取目标区块高度j的区块哈希值blockHash_j,结合共享密钥SK计算HMAC函数值。该函数值作为生成公有链地址时所使用的密钥,按照公有链地址生成算法生成一个动态地址标签,该动态地址标签用于标记后续将要发送的第二类目标交易数据的交易数据条数k和下一次通信时将要使用的目标区块高度。具体交易数据条数可以由发送终端根据待传输数据的数据量大小事先确定。作为可选的实施方式,可将交易数据条数k和下一次通信时将要使用的目标区块高度使用前述编码方式进行编码,并拼接成一个字符串,然后将该字符串嵌入在目标交易数据中。作为可选的实施方式,还可以使用上述共享密钥对该字符串加密,或者在对交易数据条数k和下一次通信时将要使用的目标区块高度编码之前,先利用共享密钥对交易数据条数k和下一次通信时将要使用的目标区块高度加密,然后再编码,拼接成字符串。
步骤二:迭代参数i,依次从公有链账本数据中提取区块高度为j-1,j-2,…,j-k的区块的区块哈希值,按照前述方法生成k个动态地址标签,用于标记嵌入有待传输数据内容的目标交易数据。
动态地址标签生成函数的函数代码如图3所示,该函数的输入参数j是通信双方提前协商的第一目标区块的区块高度,可以基于该参数快速筛选出某次通信的第一笔目标交易数据,减少不必要的交易筛选工作量。该算法的另一个输入参数SK是通信双方通过前述非交互式共享密钥生成机制确定的共享密钥。
经过HMAC函数处理的输出字符串作为生成公有链账户地址时相应的密钥。和普通的哈希函数相比,HMAC生成的哈希值只有持有密钥SK的信息接收方才能够生成,能够确保只有持有密钥SK的发送终端和接收终端才能够生成相同的密钥字符串。因此,共享密钥SK也可用于确认通信双方的身份是可信的。
图2中的Addr_label是按照公有链地址生成函数Create_addr(Addr_SK)生成的动态地址标签,该地址作为接收终端筛选目标交易数据的依据。
由于公有链地址是公有链交易数据中必有的参数,将其作为标签信息嵌入在公有链业务交易数据中,具有很高的隐蔽性。另外,嵌入隐蔽信息的目标交易数据的标签(动态地址标签)与普通交易标签(公有链网络中的普通账户地址)的区别在于,用于生成动态地址标签的密钥不是随机生成的,而是按照发送终端和接收终端事前协商的机制,由通信双方自行生成的。这里的隐蔽信息是指上述对待传输数据进行处理后的数据,也可以包含第一区块标识和上述提及的交易数据条数k。发送终端按照事前协商的机制,可以从高度为j的区块开始,按照与区块生成相反的方向确定区块的区块哈希值,基于k+1个区块哈希值生成k+1个动态地址标签,接收终端通过检索本地交易池的方式筛选出发送终端使用过的动态地址标签,从而快速筛选出嵌入有隐蔽信息的目标交易数据。
下面对构造目标交易数据的具体过程进行介绍。
为保证信息传递过程的隐蔽性,生成的目标交易数据应当与普通交易数据具有相似的规律性,因此,可以采用以下方式中的至少一种构造目标交易数据:
方式一:按照交易数据结构,在用于备注的字段上嵌入隐蔽数据,比如比特币的OP_RETURN字段、以太坊的input字段,门罗币的EXTRA字段等。
方式二:在公有链账户地址中嵌入隐蔽数据。具体做法可以是:首先按照前述动态地址标签生成策略按需生成若干个动态地址标签,然后用隐蔽信息逐一替换动态地址标签的后若干位。
方式三:通过交易转账金额来隐藏信息,首先将编码后的二进制或十六进制数转换成十进制数,基于此数据构造转账金额数据,然后将构造的数据转成转账金额字段要求的数据形式。
方式四:使用比特币进行信息传递时,还可以使用序列(sequence)字段。
可以理解的是,区块链交易数据采用广播的方式传输,发送终端将嵌入隐蔽信息的目标交易数据广播到公有链网络中后,目标交易数据将随公有链网络的消息泛洪传播机制同步到全网节点的交易池中。接收终端可以监听本地的交易池,如果有相应目标标签标记的目标交易数据,将其筛选出来。
请参见图4所示,信息接收方(接收终端)基于动态地址标签的嵌入有隐蔽信息的目标交易数据筛选过程包括如下步骤:
步骤一:接收终端使用目标区块高度j的区块哈希值,按照与发送终端一样的过程生成目标地址标签,同时持续监听本地的交易池,识别出使用目标地址标签标记的交易数据,并从中提取出交易数据条数k和下一次通信时将要使用的目标区块高度j′;
步骤二:接收终端按照前述过程生成k个动态地址标签,同时持续监听本地的交易池,监听是否接收到新交易数据,直到识别出k条目标交易数据。作为可选的实施方式,接收终端也可按照事先约定的数据嵌入和筛选规则,筛选出满足数据分组门限要求的交易数据条数。
步骤三:接收终端按照与生成动态地址标签相同的顺序重新排列各目标交易数据。
接收终端对嵌入隐蔽信息的目标交易数据进行快速筛选的代码如图5所示,该代码算法中的函数getTransactionByAddr(Addr_i)用于对本地交易池中的目标交易数据进行遍历,直到找到k+1条目标交易数据为止。或者,作为可选的实施方式,接收终端获取到交易数据条数信息后,也可按照事先约定的数据嵌入和筛选规则,找出满足数据分组门限要求的交易数据条数。
考虑到每个时间窗口可能涉及发送终端和接收终端之间的多轮通信过程,且在通信过程中发送终端和接收终端的身份可能发生互换,因此,通信双方在提取出对方在下一次通信时使用的目标区块高度后,可以立即计算出对方将要使用的目标地址标签,并持续监听本地交易池。
接收终端在获取到目标交易数据之后,可以从目标交易数据中提取出隐蔽信息。隐蔽信息提取是隐蔽信息嵌入的反向操作,提取出隐蔽信息后,可以按照动态地址标签的生成顺序对提取出的隐蔽数据进行重组,然后采用数据解码和解密方法,即可将隐蔽数据还原成信息发送方想要传递的信息。
示例性的,本申请实施例提供的基于区块链的通信方法适用于基于区块链交易数据进行一对一、或多对一、或一对多隐蔽通信的场景,具体来说,本申请实施例所述的“两方”是指:
(1)一个信息发送方、一个信息接收方的隐蔽通信场景。在通信过程中,两者的角色可交换。
(2)多个信息发送方、一个信息接收方的隐蔽通信场景。比如,基于区块链收集情报信息的场景。在此场景下,信息接收方处存储自己和各信息发送方的最开始的随机数种子;各信息发送方处仅存储自己和信息接收方的最开始的随机数种子;最开始的随机数种子通过一次性通信信道进行同步;各信息发送方之间不进行通信。
(3)一个信息发送方、多个信息接收方的隐蔽通信场景。比如,基于区块链进行秘密指令分发的场景。在此场景下,信息发送方处存储自己和各信息接收方的最开始的随机数种子;各信息接收方处仅存储自己和信息发送方的最开始的随机数种子;最开始的随机数种子通过一次性通信信道进行同步;各信息发送方之间不进行通信。
基于同一发明构思,请参见图6所示,本申请实施例还提供一种发送终端600,包括第一处理器601和第一存储器602,第一存储器602中存储有第一计算机程序,第一处理器601执行第一计算机程序,以实现上述应用于发送终端的任意一种方法。
基于同一发明构思,请参见图7所示,本申请实施例还提供一种接收终端700,包括第二处理器701和第二存储器702,第二存储器702中存储有第二计算机程序,第二处理器701执行第二计算机程序,以实现上述应用于接收终端的任意一种方法。
上述处理器可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
上述存储器包括但不限于随机存取存储器(RAM),只读存储器(ROM),可编程只读存储器(PROM),可擦除只读存储器(EPROM),电可擦除只读存储器(EEPROM)等。本实施例中,存储器存储了执行代码的编译方法所需要的程序。
处理器和存储器通过通信总线连接,总线可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6和图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
请参见图8所述,本申请实施例还提供一种基于区块链的通信系统,包括上述任意一种发送终端600以及上述任意一种接收终端700,发送终端与接收终端可以基于区块链通信。
本申请实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、安全数码(SD)卡、多媒体(MMC)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述各实施例中方法的各步骤,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种基于区块链的通信方法,其特征在于,应用于发送终端,所述发送终端上预先配置有伪随机数生成策略,所述方法包括:
根据所述伪随机数生成策略生成与当前时间窗口对应的伪随机数;
根据所述伪随机数生成共享密钥;
利用所述共享密钥对当前的待传输数据进行加密处理,得到加密数据;
基于所述加密数据构造目标交易数据;
将所述目标交易数据广播至区块链网络中,以供预先配置有所述伪随机数生成策略的接收终端从所述区块链网络中获取所述目标交易数据,并根据所述伪随机数生成策略生成所述伪随机数后,利用所述伪随机数生成所述共享密钥,并利用所述共享密钥从所述目标交易数据恢复出所述待传输数据;
所述发送终端上预先配置有所述发送终端的第一伪随机数生成策略,以及所述接收终端的第二伪随机数生成策略;所述根据所述伪随机数生成策略生成与当前时间窗口对应的伪随机数,包括:根据所述发送终端的第一随机数种子和所述第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数,并根据所述接收终端的第二随机数种子和所述第二伪随机数生成策略生成与当前时间窗口对应的第二伪随机数;所述根据所述伪随机数生成共享密钥,包括:根据所述第二伪随机数生成所述接收终端的第二公钥;根据所述第一伪随机数和所述第二公钥生成共享密钥。
2.如权利要求1所述的基于区块链的通信方法,其特征在于,所述第一随机数种子预先配置在所述发送终端内,所述第二随机数种子预先配置在所述接收终端内;在所述根据所述接收终端的第二随机数种子和所述第二伪随机数生成策略生成所述接收终端当前的第二伪随机数之前,所述方法还包括:
通过链外通道向所述接收终端发送所述第一随机数种子,并接收所述接收终端通过所述链外通道发送的所述第二随机数种子。
3.如权利要求1所述的基于区块链的通信方法,其特征在于,所述基于所述加密数据构造目标交易数据,包括:
对所述加密数据进行编码处理;
基于经编码处理后的加密数据构造目标交易数据。
4.如权利要求3所述的基于区块链的通信方法,其特征在于,所述基于经编码处理后的加密数据构造目标交易数据,包括:
对经编码处理后的加密数据进行分组,得到n个加密数据组;
采用纠删码技术针对所述n个加密数据组生成m个校验数据组;
基于所述加密数据组和所述校验数据组构造多条目标交易数据。
5.如权利要求1-4任一项所述的基于区块链的通信方法,其特征在于,在所述基于所述加密数据构造目标交易数据之前,所述方法还包括:
从所述区块链网络中确定第一目标区块的第一区块标识;
通过链外通道向所述接收终端发送所述第一区块标识;
通过所述链外通道接收所述接收终端发送的用于表示接收到所述第一区块标识的确认消息;
所述基于所述加密数据构造目标交易数据,包括:
根据所述第一区块标识生成多个互不相同的第一目标标签;
从所述区块链网络中确定并保存下一次向所述接收终端传输数据时,需要使用的第二目标区块的第二区块标识;
基于所述第二区块标识和所述加密数据构造多条标记有所述第一目标标签的目标交易数据;一条所述目标交易数据被一个所述第一目标标签标记。
6.如权利要求5所述的基于区块链的通信方法,其特征在于,在所述从所述区块链网络中确定并保存下一次向所述接收终端传输数据时,需要使用的第二目标区块的第二区块标识之后,所述方法还包括:
根据所述第二区块标识生成多个互不相同的第二目标标签;
在获取到新的待传输数据时,基于所述新的待传输数据构造标记有所述第二目标标签的新的目标交易数据;
将所述新的目标交易数据广播至所述区块链网络中,以供所述接收终端根据所述第二区块标识生成多个所述第二目标标签,并根据所述第二目标标签从所述区块链网络中筛选出所述新的目标交易数据。
7.如权利要求5所述的基于区块链的通信方法,其特征在于,所述目标交易数据包括基于非加密数据构造的第一类目标交易数据和基于加密数据构造的第二类目标交易数据,所述基于所述第二区块标识和所述加密数据构造多条标记有所述第一目标标签的目标交易数据,包括:
根据所述加密数据的数据量大小确定所述第二类目标交易数据的交易数据条数k;
基于所述第二区块标识和所述交易数据条数k构造1条标记有所述第一目标标签的第一类目标交易数据,并基于所述加密数据构造k条标记有所述第一目标标签的第二类目标交易数据;
所述将所述目标交易数据广播至区块链网络,包括:
将所述第一类目标交易数据和所述第二类目标交易数据依次广播至区块链网络。
8.一种基于区块链的通信方法,其特征在于,应用于接收终端,所述接收终端上预先配置有伪随机数生成策略,所述方法包括:
从区块链网络中获取目标交易数据;所述目标交易数据为发送终端基于加密数据构造的交易数据;所述加密数据为所述发送终端根据预先配置在本地的所述伪随机数生成策略生成与当前时间窗口对应的伪随机数后,根据所述伪随机数生成共享密钥,并利用所述共享密钥对待传输数据进行加密处理后得到的数据;
根据所述伪随机数生成策略生成所述伪随机数;
根据所述伪随机数生成所述共享密钥;
利用所述共享密钥从所述目标交易数据中恢复出所述待传输数据;
所述接收终端上预先配置有所述发送终端的第一伪随机数生成策略,以及所述接收终端的第二伪随机数生成策略;所述根据所述伪随机数生成策略生成与当前时间窗口对应伪随机数,包括:根据所述发送终端的第一随机数种子和所述第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数,并根据所述接收终端的第二随机数种子和所述第二伪随机数生成策略生成与当前时间窗口对应的第二伪随机数;所述根据所述伪随机数生成共享密钥,包括:根据所述第一伪随机数生成所述发送终端的第一公钥;根据所述第二伪随机数和所述第一公钥生成共享密钥。
9.如权利要求8所述的基于区块链的通信方法,其特征在于,所述第一随机数种子预先配置在所述发送终端内,所述第二随机数种子预先配置在所述接收终端内;在所述根据所述发送终端的第一随机数种子和所述第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数之前,所述方法还包括:
通过链外通道接收所述发送终端发送的第一随机数种子,并通过所述链外通道向所述发送终端发送所述第二随机数种子。
10.如权利要求8-9任一项所述的基于区块链的通信方法,其特征在于,在所述从区块链网络中获取目标交易数据之前,所述方法还包括:
通过链外通道接收所述发送终端发送的第一区块标识;
并通过所述链外通道向所述发送终端发送用于表示接收到所述第一区块标识的确认消息;
根据所述第一区块标识生成多个互不相同的第一目标标签;
所述从区块链网络中获取目标交易数据,包括:
根据所述第一目标标签从区块链网络中筛选出目标交易数据;所述目标交易数据为所述发送终端基于第二区块标识和所述加密数据构造的标记有所述第一目标标签的交易数据;
所述方法还包括:
从所述目标交易数据中提取并保存所述第二区块标识。
11.如权利要求10所述的基于区块链的通信方法,其特征在于,在所述从所述目标交易数据中提取并保存所述第二区块标识之后,所述方法包括:
根据所述第二区块标识生成多个互不相同的第二目标标签;
根据所述第二目标标签从所述区块链网络中获取标记有所述第二目标标签的新的目标交易数据;所述新的目标交易数据为所述发送终端根据所述第二区块标识生成所述第二目标标签,并基于新的待传输数据和所述第二目标标签构造的交易数据。
12.如权利要求10所述的基于区块链的通信方法,其特征在于,所述从区块链网络中筛选出标记有所述目标标签的目标交易数据,包括:
从所述接收终端的本地交易池中筛选出标记有所述第一目标标签的目标交易数据。
13.如权利要求10所述的基于区块链的通信方法,其特征在于,所述目标交易数据包括基于非加密数据构造的第一类目标交易数据和基于加密数据构造的第二类目标交易数据,所述从区块链网络中筛选出标记有所述第一目标标签的目标交易数据,包括:
根据所述第一目标标签从区块链网络中筛选出所述第一类目标交易数据;所述第一类目标交易数据为所述发送终端基于所述第二区块标识和所述第二类目标交易数据的交易数据条数k,构造的标记有所述第一目标标签的交易数据;
从所述第一类目标交易数据中提取出所述交易数据条数k;
从所述区块链网络中筛选出k条所述第二类目标交易数据;所述第二类目标交易数据为所述发送终端基于所述加密数据构造的标记有所述第一目标标签的交易数据。
14.一种基于区块链的通信方法,其特征在于,应用于区块链通信系统,所述区块链通信系统包括发送终端和接收终端,所述发送终端和所述接收终端上配置有相同的伪随机数生成策略;所述方法包括:
所述发送终端根据所述伪随机数生成策略生成与当前时间窗口对应的伪随机数,根据所述伪随机数生成共享密钥,利用所述共享密钥对当前的待传输数据进行加密处理得到加密数据,基于所述加密数据构造目标交易数据,将所述目标交易数据广播至区块链网络中;
所述接收终端从所述区块链网络中获取所述目标交易数据,根据所述伪随机数生成策略生成所述伪随机数,根据所述伪随机数生成所述共享密钥,利用所述共享密钥从所述目标交易数据中恢复出所述待传输数据;
所述接收终端上预先配置有所述发送终端的第一伪随机数生成策略,以及所述接收终端的第二伪随机数生成策略;所述根据所述伪随机数生成策略生成与当前时间窗口对应伪随机数,包括:根据所述发送终端的第一随机数种子和所述第一伪随机数生成策略生成与当前时间窗口对应的第一伪随机数,并根据所述接收终端的第二随机数种子和所述第二伪随机数生成策略生成与当前时间窗口对应的第二伪随机数;
所述根据所述伪随机数生成共享密钥,包括:根据所述第一伪随机数生成所述发送终端的第一公钥;根据所述第二伪随机数和所述第一公钥生成共享密钥。
15.一种发送终端,其特征在于,包括第一处理器和第一存储器,所述第一存储器中存储有第一计算机程序,所述第一处理器执行所述第一计算机程序,以实现如权利要求1-7中任意一项所述的方法。
16.一种接收终端,其特征在于,包括第二处理器和第二存储器,所述第二存储器中存储有第二计算机程序,所述第二处理器执行所述第二计算机程序,以实现如权利要求8-13中任意一项所述的方法。
17.一种基于区块链的通信系统,其特征在于,包括如权利要求15所述的发送终端以及如权利要求16所述的接收终端。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有第三计算机程序,所述第三计算机程序被至少一个处理器执行时,以实现如权利要求1-14中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210731424.XA CN115277094B (zh) | 2022-06-24 | 2022-06-24 | 一种基于区块链的通信方法、终端、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210731424.XA CN115277094B (zh) | 2022-06-24 | 2022-06-24 | 一种基于区块链的通信方法、终端、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115277094A CN115277094A (zh) | 2022-11-01 |
CN115277094B true CN115277094B (zh) | 2023-07-18 |
Family
ID=83760964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210731424.XA Active CN115277094B (zh) | 2022-06-24 | 2022-06-24 | 一种基于区块链的通信方法、终端、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277094B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781234B (zh) * | 2023-05-04 | 2024-02-02 | 深圳市海德盈富信息技术策划有限公司 | 基于伪随机乱序加密的财务数据共享方法及装置 |
CN116614317B (zh) * | 2023-07-20 | 2023-09-12 | 中国标准化研究院 | 一种基于区块链的贸易数据处理方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112703702A (zh) * | 2018-06-15 | 2021-04-23 | 艾欧特可有限公司 | 分散式认证 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9544139B2 (en) * | 2011-12-29 | 2017-01-10 | Intel Corporation | Method and apparatus for a non-deterministic random bit generator (NRBG) |
WO2014074194A2 (en) * | 2012-08-24 | 2014-05-15 | Los Alamos National Security, Llc | Scalable software architecture for quantum cryptographic key management |
US9967722B2 (en) * | 2016-06-29 | 2018-05-08 | Silicon Laboratories Finland Oy | Packet transmission timing parameter discovery for wireless communication synchronization |
CN107480564B (zh) * | 2017-07-11 | 2020-07-17 | 天津大学 | 一种改进的rfid群组认证方法 |
US20210218720A1 (en) * | 2018-07-23 | 2021-07-15 | Cambridge Blockchain, Inc. | Systems and methods for secure custodial service |
CN113438072B (zh) * | 2021-06-09 | 2022-04-08 | 北京理工大学 | 一种基于派生链的区块链隐蔽通信方法 |
CN114567428B (zh) * | 2022-01-14 | 2024-03-05 | 北京理工大学 | 一种支持动态标签的区块链数据隐蔽传输方法 |
-
2022
- 2022-06-24 CN CN202210731424.XA patent/CN115277094B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112703702A (zh) * | 2018-06-15 | 2021-04-23 | 艾欧特可有限公司 | 分散式认证 |
Also Published As
Publication number | Publication date |
---|---|
CN115277094A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115277094B (zh) | 一种基于区块链的通信方法、终端、系统及存储介质 | |
CN111079128B (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
CN107248994B (zh) | 一种信息发送方法、处理方法及装置 | |
CN110335043B (zh) | 一种基于区块链系统的交易隐私保护方法、设备以及系统 | |
CN112600665B (zh) | 一种基于区块链和加密技术的隐蔽通信方法、装置及系统 | |
US20110320359A1 (en) | secure communication method and device based on application layer for mobile financial service | |
US6052787A (en) | Process for group-based cryptographic code management between a first computer unit and group computer units | |
US7894608B2 (en) | Secure approach to send data from one system to another | |
CN109274644A (zh) | 一种数据处理方法、终端和水印服务器 | |
JPWO2016116999A1 (ja) | パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム | |
CN110545169A (zh) | 基于非对称密钥池和隐式证书的区块链方法和系统 | |
CN113992427A (zh) | 基于相邻节点的数据加密发送方法及装置 | |
CN101296077B (zh) | 一种基于总线型拓扑结构的身份认证系统 | |
CN115102768B (zh) | 一种数据处理方法、装置及计算机设备 | |
CN116455572A (zh) | 数据加密方法、装置及设备 | |
CN115225337B (zh) | 一种基于区块链的隐蔽通信方法、终端、系统及存储介质 | |
CN116707778A (zh) | 数据混合加密传输方法、装置和电子设备 | |
CN114205142B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN114567427B (zh) | 一种区块链隐蔽数据分段传输方法 | |
US9525674B2 (en) | Method for the encryption of data | |
KR20180080655A (ko) | 카드를 이용한 알에스에이 분산 키 관리 시스템 및 방법 | |
CN113034140A (zh) | 实现智能合约加密的方法、系统、设备及存储介质 | |
Kandul et al. | Steganography with cryptography in android | |
CN115208569B (zh) | 密钥动态分配的加密解密方法及装置 | |
Gangodkar et al. | Enhancing Network Security with A Hybrid Cryptography Method |
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 |