CN111131311A - 基于区块链的数据传输方法及区块链节点 - Google Patents

基于区块链的数据传输方法及区块链节点 Download PDF

Info

Publication number
CN111131311A
CN111131311A CN201911415942.5A CN201911415942A CN111131311A CN 111131311 A CN111131311 A CN 111131311A CN 201911415942 A CN201911415942 A CN 201911415942A CN 111131311 A CN111131311 A CN 111131311A
Authority
CN
China
Prior art keywords
encryption algorithm
key
ciphertext
block chain
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.)
Pending
Application number
CN201911415942.5A
Other languages
English (en)
Inventor
于卓
谢可
蒋炜
郝艳亚
门进宝
吕海
吴佳
来骥
李坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
State Grid Jibei Electric Power Co Ltd
Beijing China Power Information Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
State Grid Jibei Electric Power Co Ltd
Beijing China Power Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Information and Telecommunication Co Ltd, State Grid Jibei Electric Power Co Ltd, Beijing China Power Information Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201911415942.5A priority Critical patent/CN111131311A/zh
Publication of CN111131311A publication Critical patent/CN111131311A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/045Network 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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本申请提供了一种基于区块链的数据传输方法及区块链节点;其中,所述基于区块链的数据传输方法,应用于第一区块链节点,具体包括:第一区块链节点利用第一加密算法对目标数据进行加密,得到所述目标数据对应的第一摘要;所述第一区块链节点利用第二加密算法的密钥对所述目标数据以及所述第一摘要进行加密,得到第一密文,以及利用第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密,得到第二密文;其中,所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;所述第一区块链节点将所述第一密文以及第二密文发送给所述第二区块链节点。从而基于区块链实现了一种安全性更高的数据传输方法。

Description

基于区块链的数据传输方法及区块链节点
技术领域
本申请涉及数据传输技术领域,特别涉及一种基于区块链的数据传输方法及区块链节点。
背景技术
随着互联技术的不断发展以及应用,人们越来越依赖于通过互联网进行信息的交互,即使是比较重要的数据或者需要保密的数据也通过互联网进行传输。因此,节点间的数据传输的安全性越来越重要。
利用加密算法对数据进行加密后再进行传输,是一种有效提高数据传输的安全性的方法。现今主要采用的一种较为安全的数据传输方式就是基于区块链技术进行数据传输。在区块链技术中,所有权验证机制的基础都是非对称加密算法,所以主要采用非对称加密进行数据传输。具体的传输方式为:接收方可以预先生成一个密钥对,即生成公钥和对应的私钥,然后将公钥给发送方。发送方就可以利用接收方的公钥,对目标数据进行加密得到密文,然后将密文发送给接收方,接收方利用自己存储的私钥对密文进行解密得到目标数据。由于利用公钥加密得到的密文只有公钥对应的私钥才能解密,而对应的私钥只有接收方有,所以能对数据传输的安全性有一定的保障。
但是这种方式在数据传输安全性上还是有一定的缺陷,从而无法有效的保证数据传输的安全性。例如,由于频繁的更换密钥对于接收方和发送方都较为繁琐,所以预先生成并存储密钥,会长时间重复使用,长时间的存储会使得存储密钥被盗取的几率增加,从而会造成数据被篡改或被盗取等,并且没有考虑到数据传输的追溯性。所以,现有的方式并不能有效地保证数据传输的安全性。
发明内容
基于上述现有技术的不足,本发明提供了一种基于区块链的数据传输方法及区块链节点,以解决现有技术的数据传输方法的安全性较低的问题。
为了实现上述目的,本发明提供了以下技术方案:
本申请第一方面提供了一种基于区块链的数据传输方法,应用于第一区块链节点,所述基于区块链的数据传输方法包括:
第一区块链节点利用第一加密算法对目标数据进行加密,得到所述目标数据对应的第一摘要;
所述第一区块链节点利用第二加密算法的密钥对所述目标数据以及所述第一摘要进行加密,得到第一密文,以及利用第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密,得到第二密文;其中,所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;
所述第一区块链节点将所述第一密文以及第二密文发送给所述第二区块链节点。
可选地,在上述的数据传输方法中,所述第一区块链节点利用第二加密算法的密钥对所述目标数据以及所述第一摘要进行加密,得到第一密文,包括:
所述第一区块链节点将所述目标数据以及所述第一摘要组合为目标字符串;其中,所述目标字符串中的所述目标数据与所述第一摘要通过设置目标分隔符区分;
所述第一区块链节点利用第二加密算法的密钥对所述目标字符串进行加密,得到第一密文。
可选地,在上述的数据传输方法中,还包括:
所述第一节点将所述第一摘要以及所述第二加密算法的密钥删除。
本申请第二方面提供了一种基于区块链的数据传输方法,应用于第二区块链节点,所述基于区块链的数据传输方法包括:
第二区块链节点接收第一区块链节点发送的第一密文和第二密文;其中,所述第一密文由所述第一区块链节点利用第二加密算法的密钥对目标数据以及第一摘要进行加密得到;所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;所述第二密文由所述第一区块链节点利用所述第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密得到;所述第一摘要由所述第一区块链节点利用第一加密算法对所述目标数据进行加密得到;
所述第二区块链节点利用自身的第三加密算法的私钥对所述第二密文进行解密,得到所述第二加密算法的密钥;
所述第二区块链节点利用所述第二加密算法的密钥对所述第一密文进行解密,得到所述目标数据以及所述第一摘要。
可选地,在上述的数据传输方法中,所述第二区块链节点利用所述第二加密算法的密钥对所述第一密文进行解密,得到所述目标数据以及所述第一摘要之后,还包括:
所述第二区块链节点利用所述第一加密算法对所述目标数据进行加密,得到第二摘要;
所述第二区块链节点验证所述第一摘要和所述第二摘要是否一致。
可选地,在上述的数据传输方法中,所述第二区块链节点利用所述第二加密算法的密钥对所述第一密文进行解密,得到所述目标数据以及所述第一摘要,包括:
所述第二区块链节点利用所述第二加密算法的密钥对所述第一密文进行解密得到目标字符串,并根据所述字符串中的目标分隔符将所述目标字符串划分为两部分,得到所述目标数据以及所述第一摘要;其中,所述目标分隔符由所述第一区块链节点在将所述目标数据以及所述第一摘要组合为所述目标字符串时,用于所述目标数据以及所述第一摘要设置。
可选地,在上述的数据传输方法中,所述第二区块链节点验证所述第一摘要和所述第二摘要是否一致之后,还包括:
所述第二区块链节点将得到的所述第二加密算法的密钥、所述第一摘要、以及所述第二摘要删除。
本申请第三方面提供了一种区块链节点,所述区块链节点为第一区块链节点;其中,所述第一区块链节点包括:
第一加密单元,用于利用第一加密算法对目标数据进行加密,得到所述目标数据对应的第一摘要;
第二加密单元,用于利用第二加密算法的密钥对所述目标数据以及所述第一摘要进行加密,得到第一密文;其中,所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;
第三加密单元,用于利用第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密,得到第二密文;
发送单元,用于将所述第一密文以及第二密文发送给所述第二区块链节点。
可选地,在上述的区块链节点中,所述第二加密单元,包括:
组合单元,用于将所述目标数据以及所述第一摘要组合为目标字符串;其中,所述目标字符串中的所述目标数据与所述第一摘要通过设置目标分隔符区分;
第二加密子单元,用于利用第二加密算法的密钥对所述目标字符串进行加密,得到第一密文。
可选地,在上述的区块链节点中,还包括:
第一删除单元,用于将所述第一摘要以及所述第二加密算法的密钥删除。
本申请第四方面提供一种区块链节点,所述区块链节点为第二区块链节点;其中,所述第二区块链节点包括:
接收单元,用于接收第一区块链节点发送的第一密文和第二密文;其中,所述第一密文由所述第一区块链节点利用第二加密算法的密钥对目标数据以及第一摘要进行加密得到;所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;所述第二密文由所述第一区块链节点利用所述第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密得到;所述第一摘要由所述第一区块链节点利用第一加密算法对所述目标数据进行加密得到;
第一解密单元,用于利用自身的第三加密算法的私钥对所述第二密文进行解密,得到所述第二加密算法的密钥;
第二解密单元,用于利用所述第二加密算法的密钥对所述第一密文进行解密,得到所述目标数据以及所述第一摘要。
可选地,在上述的区块链节点中,还包括:
加密单元,用于利用所述第一加密算法对所述目标数据进行加密,得到第二摘要;
对比单元,用于验证所述第一摘要和所述第二摘要是否一致。
可选地,在上述的区块链节点中,所述第一解密单元,包括:
第一解密子单元,用于利用所述第二加密算法的密钥对所述第一密文进行解密得到目标字符串,并根据所述字符串中的目标分隔符将所述目标字符串划分为两部分,得到所述目标数据以及所述第一摘要;其中,所述目标分隔符由所述第一区块链节点在将所述目标数据以及所述第一摘要组合为所述目标字符串时,用于所述目标数据以及所述第一摘要设置。
可选地,在上述的区块链节点中,还包括:
第二删除单元,用于将得到的所述第二加密算法的密钥、所述第一摘要、以及所述第二摘要删除。
本申请提供的基于区块链的数据传输方法,采用三个不同的加密算法,对数据进行混合加密,从而提高了节点间数据传输的安全性。具体的,第一区块链节点利用第一加密算法对目标数据进行加密,得到目标数据对应的第一摘要,然后进一步利用第二加密算法的密钥对目标数据以及第一摘要进行加密,得到第一密文。由于,第二加密算法的密钥是第一区块链节点针对本轮数据传输随机生成,即该密钥是在需要传输数据时才生成的,并且不可重复使用,所以不需要长时间存储,从而降低了被攻击的几率,保证了数据传输的安全,也避免对密钥进行存储和管理带来的负担。然后再将利用第二区块链节点的第三加密算法的公钥,对第二加密算法的密钥进行加密,得到第二密文,由于只有第二区块链节点的私钥才能对第二密文进行解密,所以保证了第二加密算法的密钥安全的传输给第二区块链节点。最后将第一密文和第二密文发送给第二区块链节点,从而基于区块链实现了一种安全可靠的数据传输方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种基于区块链的数据传输方法的流程示意图;
图2为本申请另一实施例提供的另一种基于区块链的数据传输方法的流程示意图;
图3为本申请另一实施例提供的另一种基于区块链的数据传输方法的流程示意图;
图4为本申请另一实施例提供的另一种基于区块链的数据传输方法的流程示意图;
图5为本申请实施例提供的一种第一区块链节点的结构示意图;
图6为本申请实施例提供的一种第二加密单元的结构示意图;
图7为本申请实施例提供的一种第二区块链节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种基于区块链的数据传输方法,应用于第一区块链节点,如图1所示,该方法包括:
S101、第一区块链节点利用第一加密算法对目标数据进行加密,得到目标数据对应的第一摘要。
需要说明的是,区块链可以简单的理解为一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证不可篡改和不可伪造的分布式账本。一个区块链系统的中参与的节点为区块链节点。
具体的,本发明实施例中,第一区块链节点指的是通过区块链发送数据的发送方。目标数据则为发送要发送给接收方的明文数据。
可选地,本申请实施例中,第一加密算法为SM3算法,属于摘要算法。SM3标准是一种在商用密码体系中,主要用于数字签名及验证、消息认证码生成及验证、随机数生成等方面的密码散列函数标准,基于该标准的算法称为SM3算法。这种散列函数的输入数据,通常被称为消息,而它的输出结果经常被称为消息摘要或摘要。所以,本申请实施例中,将目标数据输入第一加密算法,得到的目标数据对应的第一摘要与通常理解的文本的摘要简介并不相同。当然也可以采用其他的密码散列函数最为第一加密算法,对目标数据进行加密。
还需要说明的是,不同的数据利用第一加密算法进行加密所得到的摘要不相同。
S102、第一区块链节点利用第二加密算法的密钥对目标数据以及第一摘要进行加密,得到第一密文。
其中,第二加密算法的密钥由第一区块链节点针对本轮数据传输随机生成。也就是说,第二加密算法的密钥是不可能重复使用的,一轮数据传输随机生成一个第二加密算法的密钥,并且仅当需要传输数据时才生成,减小了加将密钥存储的时间,从而有效地降低了密钥受到攻击的机会,并且节约了存储密钥的空间,提升资源的使用率。
需要说明的是,第二加密算法属于对称加密算法,即对数据进行加密和解密需要使用相同密钥。由于,对称加密算法加密速度快、加密效率高,所以相比非对称加密更适合于,针对每轮数据传输都相应地生成新的密钥进行加密。
可选地,本发明实施例中采用的第二加密算法为SM4算法。其中,SM4为一种分组密码标准,所以SM4算法即为基于SM4标准的算法,并且属于一种对称加密算法。
具体的,第一区块链节点将第二加密算法的密钥作为加密参数,然后利用第二加密算法对目标数据和第一摘要进行加密,得到第一密文。所以,第一密文指的是利用第二加密算法的密钥对目标数据以及第一摘要进行加密得到的密文。
可选地,本申请另一实施例中,步骤S102的一种具体实施方法,如图2所示,包括:
S201、第一区块链节点将目标数据以及第一摘要组合为目标字符串。
其中,目标字符串中的所述目标数据与第一摘要通过设置目标分隔符区分。
需要说明的是,本发明实施例中,是先将目标数据以及第一摘要组合成一个目标字符串,然后再对目标字符串进行加密,实现一次性对目标数据和第一摘要进行加密。
为了让接收方在接收到第一密文并解密得到目标字符串后,可以区分出目标字符串中的目标数据和第一摘要,所以在将目标数据以及第一摘要组合成目标字符串,通过设置目标分隔符将这两部分进行区分。
可选地,目标分隔符可以是发送方和接收方预先预定的分隔符。也可以是发送方单方面采用相对较为明显的分隔符作为目标分隔符。例如,分部在目标数据和第一摘要前,通过相应地标题作为目标分隔符。或者通过空白行作为目标分隔符。
S202、第一区块链节点利用第二加密算法的密钥对目标字符串进行加密,得到第一密文。
S103、第一区块链节点利用第二区块链节点的第三加密算法的公钥,对第二加密算法的密钥进行加密,得到第二密文。
其中,第二区块链节点则指的是与第一区块链节点属于同一区块链系统中的本轮数据传输的接收方。
需要说明的是,本发明实施例提供的方法,由于第一密文是利用第二加密算法的密钥加密得到的,所以接收方也必须拥有第二加密算法的密钥。现有技术在采用对称加密算法时,通常密钥是发送方和接收方在数据传输前确定好的,或者由发送方预先将密钥发送个接收方。但是预先提供给接收方,需要额外将第二加密算法的密钥,并且现有的方式接收方若与多个发送方进行数据的交互,那么接收方需要存储多个发送方的密钥。密钥的存储和管理将对接收方造成较大的负担,这也正是对称加密算法的一大缺点。为了避免这个缺点,所以本发明实施例中,第二加密算法的密钥是在本轮数据传输时,才由发送方将第二加密算法的密钥与目标数据共同发送给接收方。
为了保证第二加密算法的密钥在传输过程中的安全性,所以在本发明实施例提供的方法中,先利用第二区块链节点的第三加密算法的公钥对第二加密算法的密钥进行加密后,再发送给。具体的,第二区块链节点预先生成第三加密算法的密钥对,然后将密钥对中的公钥公开。给第二区块链节点传输数据时,就可以利用其公开的公钥对数据进行加密后,再发送给第二区块链节点,由于加密的数据只有第二区块链节点自己保存的密钥对的私钥才能解密,所以能有效地保证数据传输的安全性。
可选地,本发明实施例中,第三加密算法为SM2椭圆曲线公钥密码算法,简称SM2算法,其属于非对称加密算法。具体的,SM2算法是椭圆曲线密码系统(Elliptic CurveCryptosystem,ECC)算法中的一种。该算法基于椭圆曲线离散对数问题,计算复杂度是指数级的,所以求解难度较大。并且,同等安全程度要求下,椭圆曲线密码较其他公钥算法所需密钥长度小很多。
所以,本发明采用SM2算法作为第三加密算法。并且,可见本发明实施例中,所采用的第一加密算法、第二加密算法以及第三加密算法是基于同一系列的密码标准的算法,从而能一定程度使得加密及解密更加的便捷,从而提供数据传输的效率。当然,本发明的第三加密算法并不仅限于是SM2算法,也可以采用其他的非对称加密算法作为第三加密算法。
还需要说明的是,对目标数据和第一摘要进行加密的过程与对第二加密算法的密钥进行加密的过程是相互独立的,所以先执行步骤S102,再执行步骤S103只是本申请实施例中的其中一种方式,所有步骤S102和步骤S103也可以是同时进行,或者先执行步骤S103再执行步骤S102,这都属于本申请的保护范畴。
S104、第一区块链节点将第一密文以及第二密文发送给第二区块链节点。
具体的,第一区块链节点通过安全套接层(Secure Sockets Layer,SSL)统一将第一密文以及第二密文一起传输至第二区块链节点。
可选地,本申请另一实施例中,在执行步骤S104之后,还可以进一步包括:第一节点将第一摘要以及第二加密算法的密钥删除。
在本轮数据传输结束后,第一摘要以及第二加密算法的密钥也已经没有太大的用途。所以为了避免第一摘要和第二加密算法占用空间,也避免第一摘要以及第二加密算法的密钥受到被盗取,可以在本轮数据传输后,将第一摘要和第二加密算法删除。
本发明实施例提供的基于区块链的数据传输方法,采用三个不同的加密算法,对数据进行混合加密,从而提高了节点间数据传输的安全性。具体的,第一加密单元利用第一加密算法对目标数据进行加密,得到目标数据对应的第一摘要,然后第二加密单元进一步利用第二加密算法的密钥对目标数据以及第一摘要进行加密,得到第一密文。由于,第二加密算法的密钥是第一区块链节点针对本轮数据传输随机生成,所以该密钥是在需要传输数据时才生成的,并且不可重复使用,所以也不需要长时间存储,从而降低了被攻击的几率,保证了数据传输的安全,也避免对密钥进行存储和管理带来的负担。然后再由第三加密单元将利用第二区块链节点的第三加密算法的公钥,对第二加密算法的密钥进行加密,得到第二密文,由于只有第二区块链节点的私钥才能对第二密文进行解密,所以保证了第二加密算法的密钥安全的传输给第二区块链节点。最后发送单元将第一密文和第二密文发送给第二区块链节点,从而基于区块链实现了一种安全可靠的数据传输方式。
基于上述实施例提供的方法,本申请另一实施例提供了一种基于区块链的数据传输方法,应用于第二区块链节点。如图3所示,该方法包括:
S301、第二区块链节点接收第一区块链节点发送的第一密文和第二密文。
需要说明的是,第一区块链节点与第二区块链节点属于同一区块链系统中,并且第一区块链节点为本轮数据传输的数据发送方,第二区块链节点为本轮数据传输的数据接收方。
其中,第一密文由第一区块链节点利用第二加密算法的密钥对目标数据以及第一摘要进行加密得到,并且第二加密算法的密钥由第一区块链节点针对本轮数据传输随机生成。具体的,第一密文的具体获得方式可相应地参考上述方法实施例中的步骤S102,此处不再赘述。
第二密文由第一区块链节点利用第二区块链节点的第三加密算法的公钥,对第二加密算法的密钥进行加密得到。具体的,第二密文的获得方式可相应地参考上述方法实施例中的步骤S103,此处不再赘述。
第一摘要由第一区块链节点利用第一加密算法对目标数据进行加密得到。
可选地,本申请实施例中,第一加密算法为SM3算法、第二加密算法为SM4算法,第三机密算法为SM2算法。
具体的,第二区块链节点接收第一区块链节点通过SSL,统一发送的第一密文以及第二密文。
S302、第二区块链节点利用自身的第三加密算法的私钥对第二密文进行解密,得到第二加密算法的密钥。
由于,第二区块链节点要得到目标数据就需要对第一密文进行解密,而第一密文是通过第二加密算法的密钥加密得到的。所以,要对第一密文进行解密就需要得到第二加密算法的密钥,由于第二加密算法的密钥经第二区块链节点公开的第三加密算法的公钥加密,得到了第二密文。所以,第二区块链节点要获得第二加密算法的,就需要利用自身公开的第三加密算法的公钥所对应的私钥对第二密文进行解密,得到第一区块链节点针对本轮数据传输生成的第二加密算法的密钥。
S303、第二区块链节点利用第二加密算法的密钥对第一密文进行解密,得到目标数据以及第一摘要。
同样,由于第一密文是第一区块链节点针对本轮数据传输生成的第二加密算法的密钥对目标数据以及第一摘要,所以利用第二加密算法的密钥对第一密文进行解密,可以得到目标数据以及第一摘要。
可选地,本申请另一实施例中,步骤S303的一种具体实施方式,如图4所示,包括:
S401、第二区块链节点利用第二加密算法的密钥对第一密文进行解密得到目标字符串。
其中,目标字符串由第一区块链节点在将目标数据以及第一摘要组合得到。
也就是说,第一区块链节点是将目标数据和第一摘要组合成目标字符串和,再对目标字符串进行加密得到第一密文的,所以利用第二加密算法的密钥对第一密文进行解密得到是目标字符串。
S402、根据字符串中的目标分隔符将目标字符串划分为两部分,得到目标数据以及第一摘要。
其中,目标分隔符由第一区块链节点在将目标数据以及第一摘要组合为目标字符串时,用于目标数据以及所述第一摘要设置。所以,在得到目标字符串后可以根据目标分割符将目标字符串划分为两部分,其中一部分为第一摘要,另一部分为第二摘要,从而最终得到第一区块链节点发送的目标数据。
可选地,本申请另一实施例中,同样参见图3,在执行步骤S303之后,还包括:
S304、第二区块链节点利用第一加密算法对目标数据进行加密,得到第二摘要。
S305、第二区块链节点验证第一摘要和第二摘要是否一致。
由于,同样的数据经由第一加密算法得到的摘要是相同的,所以可以第二区块链节点可以在得到目标数据后,通过第一加密算法对得到的目标数据件加密得到第二摘要,然后通过对比第一摘要和第二摘要,确定得到的目标数据与第一区块链节点所要发送的目标数据是否完全一致。
可选地,本申请另一实施例中,在执行步骤S305之后,还可以进一步包括:第二区块链节点将得到的第二加密算法的密钥、第一摘要、以及第二摘要删除。
由于在执行步骤S305也意味着本轮数据传输已结束,此时得到的第二加密算法的密钥、第一摘要、以及第二摘要已经没有用途。所以为了避免占用空间,也避免得到的第二加密算法的密钥、第一摘要、以及第二摘要被盗取,可以在本轮数据传输后,将得到的第二加密算法的密钥、第一摘要、以及第二摘要删除。
本申请另一实施例提供了一种区块链节点,该区块链节点为第一区块链节点。如图5所示,第一区块链节点包括:
第一加密单元501,用于利用第一加密算法对目标数据进行加密,得到目标数据对应的第一摘要。
第二加密单元502,用于利用第二加密算法的密钥对目标数据以及第一摘要进行加密,得到第一密文。
其中,第二加密算法的密钥由第一区块链节点针对本轮数据传输随机生成。
第三加密单元503,用于利用第二区块链节点的第三加密算法的公钥,对第二加密算法的密钥进行加密,得到第二密文。
发送单元504,用于将第一密文以及第二密文发送给第二区块链节点。
需要说明的是,本申请实施例中的上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S101~步骤S104。
可选地,在本申请另一实施例中,第二加密单元502,如图6所示,包括:
组合单元601,用于将目标数据以及第一摘要组合为目标字符串。
其中,目标字符串中的目标数据与第一摘要通过设置目标分隔符区分。
第二加密子单元602,用于利用第二加密算法的密钥对目标字符串进行加密,得到第一密文。
需要说明的是,本申请实施例中的上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S201和步骤S202。
可选地,在上述的区块链节点中,还包括:
第一删除单元,用于将第一摘要以及第二加密算法的密钥删除。
本发明实施例提供的区块链节点,采用三个不同的加密算法,对数据进行混合加密,从而提高了节点间数据传输的安全性。具体的,第一区块链节点利用第一加密算法对目标数据进行加密,得到目标数据对应的第一摘要,然后进一步利用第二加密算法的密钥对目标数据以及第一摘要进行加密,得到第一密文。由于,第二加密算法的密钥是第一区块链节点针对本轮数据传输随机生成,所以该密钥是在需要传输数据时才生成的,并且不可重复使用,所以也不需要长时间存储,从而降低了被攻击的几率,保证了数据传输的安全,也避免对密钥进行存储和管理带来的负担。然后再将利用第二区块链节点的第三加密算法的公钥,对第二加密算法的密钥进行加密,得到第二密文,由于只有第二区块链节点的私钥才能对第二密文进行解密,所以保证了第二加密算法的密钥安全的传输给第二区块链节点。最后将第一密文和第二密文发送给第二区块链节点,从而基于区块链实现了一种安全可靠的数据传输方式。
本申请另一实施例提供了另一种区块链节点,该区块链节点为第二区块链节点。如图7所示,第二区块链节点包括:
接收单元701,用于接收第一区块链节点发送的第一密文和第二密文。
其中,第一密文由第一区块链节点利用第二加密算法的密钥对目标数据以及第一摘要进行加密得到。第二加密算法的密钥由第一区块链节点针对本轮数据传输随机生成。第二密文由第一区块链节点利用第二区块链节点的第三加密算法的公钥,对第二加密算法的密钥进行加密得到。第一摘要由第一区块链节点利用第一加密算法对目标数据进行加密得到。
第一解密单元702,用于利用自身的第三加密算法的私钥对第二密文进行解密,得到第二加密算法的密钥。
第二解密单元703,用于利用第二加密算法的密钥对第一密文进行解密,得到目标数据以及第一摘要。
需要说明的是,上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S201和步骤S202。
需要说明的是,本申请实施例中的上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S301~步骤S303。
可选地,本申请另一实施例中,同样参见图7,第二区块链节点,还包括:
加密单元704,用于利用第一加密算法对目标数据进行加密,得到第二摘要。
对比单元705,用于验证第一摘要和第二摘要是否一致。
需要说明的是,本申请实施例中的上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S304和步骤S305。
可选地,本申请另一实施例中,第一解密单元702,包括:
第一解密子单元,用于利用第二加密算法的密钥对第一密文进行解密得到目标字符串,并根据字符串中的目标分隔符将目标字符串划分为两部分,得到目标数据以及第一摘要。
其中,目标分隔符由第一区块链节点在将目标数据以及第一摘要组合为目标字符串时,用于目标数据以及第一摘要设置。
需要说明的是,本申请实施例中的上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S401和步骤S402。
可选地,在上述的区块链节点中,还包括:
第二删除单元,用于将得到的第二加密算法的密钥、第一摘要、以及第二摘要删除。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种基于区块链的数据传输方法,其特征在于,应用于第一区块链节点,所述基于区块链的数据传输方法包括:
第一区块链节点利用第一加密算法对目标数据进行加密,得到所述目标数据对应的第一摘要;
所述第一区块链节点利用第二加密算法的密钥对所述目标数据以及所述第一摘要进行加密,得到第一密文,以及利用第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密,得到第二密文;其中,所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;
所述第一区块链节点将所述第一密文以及第二密文发送给所述第二区块链节点。
2.根据权利要求1所述的方法,其特征在于,所述第一区块链节点利用第二加密算法的密钥对所述目标数据以及所述第一摘要进行加密,得到第一密文,包括:
所述第一区块链节点将所述目标数据以及所述第一摘要组合为目标字符串;其中,所述目标字符串中的所述目标数据与所述第一摘要通过设置目标分隔符区分;
所述第一区块链节点利用第二加密算法的密钥对所述目标字符串进行加密,得到第一密文。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述第一节点将所述第一摘要以及所述第二加密算法的密钥删除。
4.一种基于区块链的数据传输方法,其特征在于,应用于第二区块链节点,所述基于区块链的数据传输方法包括:
第二区块链节点接收第一区块链节点发送的第一密文和第二密文;其中,所述第一密文由所述第一区块链节点利用第二加密算法的密钥对目标数据以及第一摘要进行加密得到;所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;所述第二密文由所述第一区块链节点利用所述第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密得到;所述第一摘要由所述第一区块链节点利用第一加密算法对所述目标数据进行加密得到;
所述第二区块链节点利用自身的第三加密算法的私钥对所述第二密文进行解密,得到所述第二加密算法的密钥;
所述第二区块链节点利用所述第二加密算法的密钥对所述第一密文进行解密,得到所述目标数据以及所述第一摘要。
5.根据权利要求4所述的方法,其特征在于,所述第二区块链节点利用所述第二加密算法的密钥对所述第一密文进行解密,得到所述目标数据以及所述第一摘要之后,还包括:
所述第二区块链节点利用所述第一加密算法对所述目标数据进行加密,得到第二摘要;
所述第二区块链节点验证所述第一摘要和所述第二摘要是否一致。
6.根据权利要求4所述的方法,其特征在于,所述第二区块链节点利用所述第二加密算法的密钥对所述第一密文进行解密,得到所述目标数据以及所述第一摘要,包括:
所述第二区块链节点利用所述第二加密算法的密钥对所述第一密文进行解密得到目标字符串,并根据所述字符串中的目标分隔符将所述目标字符串划分为两部分,得到所述目标数据以及所述第一摘要;其中,所述目标分隔符由所述第一区块链节点在将所述目标数据以及所述第一摘要组合为所述目标字符串时,用于所述目标数据以及所述第一摘要设置。
7.根据权利要求5所述的方法,其特征在于,所述第二区块链节点验证所述第一摘要和所述第二摘要是否一致之后,还包括:
所述第二区块链节点将得到的所述第二加密算法的密钥、所述第一摘要、以及所述第二摘要删除。
8.一种区块链节点,其特征在于,所述区块链节点为第一区块链节点;其中,所述第一区块链节点包括:
第一加密单元,用于利用第一加密算法对目标数据进行加密,得到所述目标数据对应的第一摘要;
第二加密单元,用于利用第二加密算法的密钥对所述目标数据以及所述第一摘要进行加密,得到第一密文;其中,所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;
第三加密单元,用于利用第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密,得到第二密文;
发送单元,用于将所述第一密文以及第二密文发送给所述第二区块链节点。
9.根据权利要求8所述的区块链节点,其特征在于,所述第二加密单元,包括:
组合单元,用于将所述目标数据以及所述第一摘要组合为目标字符串;其中,所述目标字符串中的所述目标数据与所述第一摘要通过设置目标分隔符区分;
第二加密子单元,用于利用第二加密算法的密钥对所述目标字符串进行加密,得到第一密文。
10.根据权利要求8所述的区块链节点,其特征在于,还包括:
第一删除单元,用于将所述第一摘要以及所述第二加密算法的密钥删除。
11.一种区块链节点,其特征在于,所述区块链节点为第二区块链节点;其中,所述第二区块链节点包括:
接收单元,用于接收第一区块链节点发送的第一密文和第二密文;其中,所述第一密文由所述第一区块链节点利用第二加密算法的密钥对目标数据以及第一摘要进行加密得到;所述第二加密算法的密钥由所述第一区块链节点针对本轮数据传输随机生成;所述第二密文由所述第一区块链节点利用所述第二区块链节点的第三加密算法的公钥,对所述第二加密算法的密钥进行加密得到;所述第一摘要由所述第一区块链节点利用第一加密算法对所述目标数据进行加密得到;
第一解密单元,用于利用自身的第三加密算法的私钥对所述第二密文进行解密,得到所述第二加密算法的密钥;
第二解密单元,用于利用所述第二加密算法的密钥对所述第一密文进行解密,得到所述目标数据以及所述第一摘要。
12.根据权利要求11所述的区块链节点,其特征在于,还包括:
加密单元,用于利用所述第一加密算法对所述目标数据进行加密,得到第二摘要;
对比单元,用于验证所述第一摘要和所述第二摘要是否一致。
13.根据权利要求11所述的区块链节点,其特征在于,所述第一解密单元,包括:
第一解密子单元,用于利用所述第二加密算法的密钥对所述第一密文进行解密得到目标字符串,并根据所述字符串中的目标分隔符将所述目标字符串划分为两部分,得到所述目标数据以及所述第一摘要;其中,所述目标分隔符由所述第一区块链节点在将所述目标数据以及所述第一摘要组合为所述目标字符串时,用于所述目标数据以及所述第一摘要设置。
14.根据权利要求13所述的区块链节点,其特征在于,还包括:
第二删除单元,用于将得到的所述第二加密算法的密钥、所述第一摘要、以及所述第二摘要删除。
CN201911415942.5A 2019-12-31 2019-12-31 基于区块链的数据传输方法及区块链节点 Pending CN111131311A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911415942.5A CN111131311A (zh) 2019-12-31 2019-12-31 基于区块链的数据传输方法及区块链节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911415942.5A CN111131311A (zh) 2019-12-31 2019-12-31 基于区块链的数据传输方法及区块链节点

Publications (1)

Publication Number Publication Date
CN111131311A true CN111131311A (zh) 2020-05-08

Family

ID=70506787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911415942.5A Pending CN111131311A (zh) 2019-12-31 2019-12-31 基于区块链的数据传输方法及区块链节点

Country Status (1)

Country Link
CN (1) CN111131311A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680326A (zh) * 2020-06-09 2020-09-18 联想(北京)有限公司 一种数据处理方法及装置
CN115277158A (zh) * 2022-07-21 2022-11-01 温瑾 一种数据共享的数据交换系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025505A (zh) * 2010-12-16 2011-04-20 浪潮(北京)电子信息产业有限公司 一种基于aes算法的加密、解密方法及装置
CN102647393A (zh) * 2011-02-21 2012-08-22 北京鸿合窗景科技有限公司 一种数字标牌的内容防盗播方法
CN107294709A (zh) * 2017-06-27 2017-10-24 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置及系统
CN108566395A (zh) * 2018-04-20 2018-09-21 济南浪潮高新科技投资发展有限公司 一种基于区块链的文件传输方法、装置及系统
CN108696518A (zh) * 2018-05-09 2018-10-23 深圳壹账通智能科技有限公司 区块链上用户通信加密方法、装置、终端设备及存储介质
CN109587132A (zh) * 2018-11-29 2019-04-05 苏宁易购集团股份有限公司 一种基于联盟链的数据传递方法及装置
US20190188701A1 (en) * 2017-12-15 2019-06-20 Fmr Llc Social Data Tracking Datastructures, Apparatuses, Methods and Systems
CN109951453A (zh) * 2019-02-26 2019-06-28 符安文 一种基于区块链的安全加密方法
CN110061840A (zh) * 2019-03-12 2019-07-26 平安科技(深圳)有限公司 数据加密方法、装置、计算机设备及存储介质
CN110535647A (zh) * 2018-05-25 2019-12-03 上海诚频信息科技合伙企业(有限合伙) 可信的数据传输方法、系统、电子设备、存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025505A (zh) * 2010-12-16 2011-04-20 浪潮(北京)电子信息产业有限公司 一种基于aes算法的加密、解密方法及装置
CN102647393A (zh) * 2011-02-21 2012-08-22 北京鸿合窗景科技有限公司 一种数字标牌的内容防盗播方法
CN107294709A (zh) * 2017-06-27 2017-10-24 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置及系统
US20190188701A1 (en) * 2017-12-15 2019-06-20 Fmr Llc Social Data Tracking Datastructures, Apparatuses, Methods and Systems
CN108566395A (zh) * 2018-04-20 2018-09-21 济南浪潮高新科技投资发展有限公司 一种基于区块链的文件传输方法、装置及系统
CN108696518A (zh) * 2018-05-09 2018-10-23 深圳壹账通智能科技有限公司 区块链上用户通信加密方法、装置、终端设备及存储介质
CN110535647A (zh) * 2018-05-25 2019-12-03 上海诚频信息科技合伙企业(有限合伙) 可信的数据传输方法、系统、电子设备、存储介质
CN109587132A (zh) * 2018-11-29 2019-04-05 苏宁易购集团股份有限公司 一种基于联盟链的数据传递方法及装置
CN109951453A (zh) * 2019-02-26 2019-06-28 符安文 一种基于区块链的安全加密方法
CN110061840A (zh) * 2019-03-12 2019-07-26 平安科技(深圳)有限公司 数据加密方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680326A (zh) * 2020-06-09 2020-09-18 联想(北京)有限公司 一种数据处理方法及装置
CN115277158A (zh) * 2022-07-21 2022-11-01 温瑾 一种数据共享的数据交换系统

Similar Documents

Publication Publication Date Title
CN107196763B (zh) Sm2算法协同签名及解密方法、装置与系统
CN109559122B (zh) 区块链数据传输方法及区块链数据传输系统
US7457411B2 (en) Information security via dynamic encryption with hash function
CN109587132A (zh) 一种基于联盟链的数据传递方法及装置
US10412063B1 (en) End-to-end double-ratchet encryption with epoch key exchange
CN109274502B (zh) 公钥加密及密钥签名的创建方法、设备及可读存储介质
CN109104271B (zh) 一种数字签名的方法、装置和系统
US20160119120A1 (en) Method and apparatus for public-key encrypted communication
CN111654511A (zh) 一种链式数据加密方法、链式数据解密方法及相应的系统
JP2022521525A (ja) データを検証するための暗号方法
CN113630248A (zh) 一种会话密钥协商方法
CN111049738B (zh) 基于混合加密的电子邮件数据安全保护方法
CN112039883A (zh) 一种区块链的数据分享方法及装置
CN110719167B (zh) 一种基于区块链的带时效性的签密方法
CN111131311A (zh) 基于区块链的数据传输方法及区块链节点
CN114499857A (zh) 一种实现大数据量子加解密中数据正确性与一致性的方法
WO2021109817A1 (zh) 密钥的更新方法、数据解密方法、数字签名的验证方法
CN114065247A (zh) 一种量子数字混合签密方法
WO2024021958A1 (zh) 通信处理方法及系统、客户端、通信服务端和监管服务端
CN111683061A (zh) 基于区块链的物联网设备访问控制方法及装置
CN112423295B (zh) 一种基于区块链技术的轻量级安全认证方法及系统
US7231048B2 (en) Key sharing system, public key cryptosystem, signature system, key sharing apparatus, encryption apparatus, decryption apparatus, signature apparatus, authentication apparatus, key sharing method, encryption method, decryption method, signature method, authentication method, and programs
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
Yap et al. On the security of a lightweight authentication and encryption scheme for mobile ad hoc network
TWI761243B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200508