CN113242219A - 数据传输方法、区块链网络及存储介质 - Google Patents

数据传输方法、区块链网络及存储介质 Download PDF

Info

Publication number
CN113242219A
CN113242219A CN202110454463.5A CN202110454463A CN113242219A CN 113242219 A CN113242219 A CN 113242219A CN 202110454463 A CN202110454463 A CN 202110454463A CN 113242219 A CN113242219 A CN 113242219A
Authority
CN
China
Prior art keywords
ciphertext
user node
key
node
encrypting
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
CN202110454463.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.)
Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Original Assignee
Zhuo Erzhi Lian Wuhan Research Institute 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 Zhuo Erzhi Lian Wuhan Research Institute Co Ltd filed Critical Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Priority to CN202110454463.5A priority Critical patent/CN113242219A/zh
Publication of CN113242219A publication Critical patent/CN113242219A/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请公开了一种数据传输方法、区块链网络及存储介质,其中,数据传输方法,应用于区块链网络中的第一用户节点,包括:基于第一密钥加密第一明文得到第一密文;基于访问策略,通过密文策略的属性加密CP‑ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;将所述第一密文和所述第二密文发送至区块链网络。

Description

数据传输方法、区块链网络及存储介质
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据传输方法、区块链网络及存储介质。
背景技术
相关技术中,在区块链上进行数据分发时,每个数据使用独立的密钥进行加密,为使特定的用户获取某个数据明文,需要将这个数据对应的密钥分发给这些特定的用户,也就是说,数据分发过程需要大量的密钥分发工作,导致区块链上的数据分发效率不高。
发明内容
有鉴于此,本申请实施例提供一种数据传输方法、区块链网络及存储介质,以至少解决相关技术数据分发效率低下的问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种数据传输方法,应用于区块链网络中的第一用户节点,所述方法包括:
基于第一密钥加密第一明文得到第一密文;
基于访问策略,通过密文策略的属性加密(CP-ABE,Ciphertext policyattribute based encryption)算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;
将所述第一密文和所述第二密文发送至区块链网络。
其中,上述方案中,所述基于访问策略,通过CP-ABE算法对所述第一密钥进行加密,得到所述第二密文,包括:
确定访问策略,将确定的访问策略、公开参数和所述第一密钥输入CP-ABE算法,得到所述第二密文;
其中,所述公开参数由证书授权机构生成。
上述方案中,所述将所述第一密文和所述第二密文发送至区块链网络,包括:
基于所述第一密文和所述第二密文生成第一信息;
将所述第一信息发送至区块链网络。
上述方案中,所述将所述第一密文和所述第二密文发送至区块链网络,包括:
将第一交易发送至区块链网络;所述第一交易携带有所述第一密文和所述第二密文;
在所述第一用户节点接收到的背书响应的数量达到第一阈值的情况下,将所述第一交易发送到排序节点;其中,
所述背书响应由区块链网络基于接收到的所述第一交易生成并下发;所述排序节点表征用于所述第一交易生成对应的区块。
本申请实施例提供了一种数据传输方法,应用于区块链网络中的第二用户节点,所述方法包括:
发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;所述第一密文由区块链网络中的第一用户节点基于第一密钥加密所述第一明文得到;所述第二密文由所述第一用户节点基于访问策略,通过CP-ABE算法对所述第一密钥进行加密得到;
在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
本申请实施例提供了一种第一用户节点,其特征在于,包括:
第一加密单元,用于基于第一密钥加密第一明文得到第一密文;
第二加密单元,用于基于访问策略,通过CP-ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;
上链单元,用于将所述第一密文和所述第二密文发送至区块链网络。
本申请实施例提供了一种第二用户节点,其特征在于,包括:
获取单元,用于发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;所述第一密文由区块链网络中的第一用户节点基于第一密钥加密所述第一明文得到;所述第二密文由所述第一用户节点基于访问策略,通过CP-ABE算法对所述第一密钥进行加密得到;
解密单元,用于在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
本申请实施例还提供了一种区块链网络,包括至少两个用户节点,其中:
第一用户节点,用于基于第一密钥加密第一明文得到第一密文;基于访问策略,通过密文策略的属性加密CP-ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;将所述第一密文和所述第二密文发送至区块链网络;
第二用户节点,用于发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
一种用户节点,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述数据传输方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据传输方法的步骤。
在本申请实施例提供的方案中,第一用户节点基于第一密钥加密第一明文得到第一密文,并基于第一用户节点选择的区块链网络中部分或全部用户节点作为设定的访问策略,通过CP-ABE算法对第一密钥进行加密得到第二密文,第一用户节点通过区块链网络将第一密文和第二密文发给第二用户节点,在第二用户节点的节点属性与第二密文对应的访问策略匹配的情况下,第二用户节点得到第一密钥,基于得到的第一密钥解密第一密文。这样,在获取区块链网络分发的密文信息时,与访问策略匹配的用户节点可获取到密钥,基于获取的密钥得到明文信息,从而提高了区块链上的数据分发效率。
附图说明
图1为本申请实施例提供的一种数据传输方法的流程示意图;
图2为本申请实施例提供的一种访问树结构示意图;
图3为本申请实施例提供的另一种数据传输方法的流程示意图;
图4为本申请应用实施例提供的一种数据传输方法的流程示意图;
图5为本申请实施例提供的一种用户节点的结构示意图;
图6为本申请实施例提供的另一种用户节点的结构示意图;
图7为本申请实施例提供的一种用户节点的结构示意图。
具体实施方式
相关技术中,在区块链上进行数据分发时,每个数据使用独立的密钥进行加密,为使特定的用户获取某个数据明文,需要将这个数据对应的密钥分发给这些特定的用户,也就是说,数据分发过程需要大量的密钥分发工作,导致区块链上的数据分发效率不高。
基于此,在本申请实施例提供的方案中,第一用户节点基于第一密钥加密第一明文得到第一密文,并基于第一用户节点选择的区块链网络中部分或全部用户节点作为设定的访问策略,通过CP-ABE算法对第一密钥进行加密得到第二密文,第一用户节点通过区块链网络将第一密文和第二密文发给第二用户节点,在第二用户节点的节点属性与第二密文对应的访问策略匹配的情况下,第二用户节点得到第一密钥,基于得到的第一密钥解密第一密文。这样,在获取区块链网络分发的密文信息时,与访问策略匹配的用户节点可获取到密钥,不需要分发每个密文对应的密钥,基于获取的密钥得到明文信息,从而提高了区块链上的数据分发效率。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为本申请实施例提供的数据传输方法的实现流程示意图。如图1示出的,数据传输方法,应用于区块链网络中的第一用户节点,包括:
步骤101:基于第一密钥加密第一明文得到第一密文。
第一用户节点基于确定的第一密钥,对需要进行数据传输的第一明文进行加密,得到第一明文对应的第一密文。这里,第一密钥由第一用户节点提供。
步骤102:基于访问策略,通过CP-ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点。
第一用户节点从区块链网络的用户节点中选择部分或全部用户节点,通过设定访问策略,允许这些用户节点获取密钥,在设定的访问策略下,利用CP-ABE算法对第一密钥进行加密,得到第一密钥对应的第二密文。这里,可以在证书授权机构中嵌入CP-ABE模块,从而在区块链系统中实现CP-ABE算法。
步骤103:将所述第一密文和所述第二密文发送至区块链网络。
第一用户节点将得到的第一密文和第二密文发送至区块链网络。
在一实施例中,所述第一用户节点将所述第一密文和所述第二密文发送至区块链网络,包括:
基于所述第一密文和所述第二密文生成第一信息;
将所述第一信息发送至区块链网络。
第一用户节点基于第一密文和第二密文生成第一信息,将第一信息发送至区块链网络,用于分发给至少一个用户节点。这里,第一信息包括至少两个部分,第一部分为第一密文,第二部分为第二密文,通过判断用户节点的节点属性与第一信息的第二部分对应的访问策略匹配是否匹配,在匹配的情况下用户节点得到第一密钥。这样,在获取区块链网络分发的密文时,与访问策略匹配的用户节点可同时获取到密钥,不需要分发每个密文对应的密钥,从而提高了区块链上的密钥分发效率。
在一实施例中,所述基于访问策略,通过CP-ABE算法对所述第一密钥进行加密,得到所述第二密文,包括:
确定访问策略,将确定的访问策略、公开参数和所述第一密钥输入CP-ABE算法,得到所述第二密文;
其中,所述公开参数由证书授权机构生成。
证书授权机构生成公开参数,并随着用户证书一同分发给用户节点。第一用户节点确定访问策略后,在设定的访问策略下,利用CP-ABE算法和公开参数对第一密钥进行加密,得到第一密钥对应的第二密文。这里,第一密钥由第一用户节点确定。在证书授权机构中嵌入CP-ABE模块,通过cpabe-setup命令生成公开参数和主密钥,使用cpabe-enc命令,利用公开参数和访问策略加密第一密钥,生成对应的第二密文。
这样,由于使用了访问策略生成对应的第二密文,通过cpabe-dec命令,用属性密钥对第二密文进行解密时,只有拥有属性密钥关联的节点属性满足访问策略的用户节点才能解密第二密文,获得第一密钥。第二用户节点的属性密钥可以用于获取不同的密文信息对应的解密密钥,不需要在每次数据分发时分发对应的密钥,提高了区块链上的数据分发效率。
在一实施例中,所述访问策略表征所述第一用户节点选择的至少一个用户节点的群组标识和/或用户节点标识的组合。
第一用户节点从区块链网络的用户节点中选择部分或全部用户节点,通过至少一个群组标识和/或用户节点标识的组合表征这些允许获取第一密钥的用户节点。在区块链网络中可以包括多个群组,每个群组中包括至少一个用户节点,每个用户节点对应至少一个群组标识和一个用户节点标识。访问策略是群组标识和用户节点标识的一个或多个的组合。这样,只有拥有满足访问策略的属性密钥的用户节点,才能拥有第一密钥以解密密文,从而实现精确地控制区块链系统中的数据访问。
例如,如图2所示出一种访问树结构示意图,Group1={A,B,C,D,E},Group2={A,B,C},Group3={A,B},Group4={D,E}。在设定访问策略时,可以设置为访问策略1:{Group1},表示群组标识的属性值为Group1的所有用户节点的节点属性与访问策略匹配。可以设置为访问策略2:{Group2}∩{A},表示群组标识的属性值为Group2且用户节点标识为A的用户节点的节点属性与访问策略匹配。可以设置为访问策略3:{Group3}∪{Group4},表示群组标识的属性值为Group3或Group4的用户节点的节点属性与访问策略匹配。并且,可以将至少两个访问策略的组合作为访问策略,实现更精确的数据访问控制。
在一实施例中,所述第一密钥为RSA密钥。
第一用户节点选择的第一密钥为RSA非对称加密密钥对,使用RSA公钥加密第一明文得到第一密文,并在设定的访问策略下,利用CP-ABE算法对RSA私钥进行加密,得到对应的第二密文。这样,在第二用户节点的节点属性与第二密文对应的访问策略匹配的情况下,第二用户节点得到RSA私钥,基于得到的RSA私钥解密经RSA公钥加密的第一密文。使用非对称加密算法,可以提升区块链系统中数据分发的安全性。
在一实施例中,所述第一密钥为DES密钥。
第一用户节点选择的第一密钥为DES对称加密密钥对,使用DES密钥表加密第一明文得到第一密文,并在设定的访问策略下,利用CP-ABE算法对DES密钥表进行加密,得到对应的第二密文。这样,在第二用户节点的节点属性与第二密文对应的访问策略匹配的情况下,第二用户节点得到DES密钥表,基于得到的DES密钥表解密经加密的第一密文。由于DES密钥表的属性是随机对称密钥,可以提升第一密文的加密速度。
在一实施例中,将所述第一密文和所述第二密文发送至区块链网络,包括:
将第一交易发送至区块链网络;所述第一交易携带有所述第一密文和所述第二密文;
在所述第一用户节点接收到的背书响应的数量达到第一阈值的情况下,将所述第一交易发送到排序节点;其中,
所述背书响应由区块链网络基于接收到的所述第一交易生成并下发;所述排序节点用于基于所述第一交易生成对应的区块。
第一用户节点以第一密文和第二密文作为第一交易的负载,将第一交易发送至区块链网络的多个背书节点,区块链网络的多个背书节点中的每个背书节点在接收到第一交易后,按照背书策略处理第一交易,生成背书响应并下发至第一用户节点,在第一用户节点接收到的背书响应的数量达到第一阈值的情况下,组合来自不同背书节点的背书响应,将第一交易发送到排序节点,排序节点再排序后分发给各个用户节点,各个用户节点在验证后生成对应的区块,并对进行交易的上链验证。这里,交易的背书以及验证过程中,只验证交易的格式、签名以及前后状态一致性,因而可以实现密文信息上链。这样,可以将交易添加到区块链账本中。
在本申请的各种实施例中,所述方法可以适用于超级账本Fabric网络的数据访问控制机制,超级账本区块链网络属于许可链类型,当新用户节点需要接入网络时,需要从证书授权机构获取合法的用户证书。在不影响超级账本实现功能的架构为前提,通过加密算法对用户属性密钥进行加密传输,实现细粒度的数据访问控制,解决了传统加密方案中广泛存在的密钥分发问题。
图3为本申请实施例提供的数据传输方法的实现流程示意图。如图3示出的,数据传输方法,应用于区块链网络中的第二用户节点,包括:
步骤301:发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;所述第一密文由区块链网络中的第一用户节点基于第一密钥加密所述第一明文得到;所述第二密文由所述第一用户节点基于访问策略,通过CP-ABE算法对所述第一密钥进行加密得到。
第二用户节点通过向区块链网络发送第一请求,得到区块链网络响应于第一请求分发的携带有第一密文和第二密文的交易信息,进而得到第一密文和第二密文。这里,第一密文由区块链网络中的第一用户节点基于第一密钥对第一明文进行加密得到,第二密文由第一用户节点基于访问策略,通过CP-ABE算法对第一密钥进行加密得到。
步骤302:在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
在第二用户节点的属性密钥满足第二密文对应的访问策略的情况下,利用第二用户节点的属性密钥对第二密文进行解密,得到第二密文对应的第一密钥,并基于得到的第一密钥解密第一密文,获取第一密文对应的第一明文。
这里,第二用户节点的属性密钥携带有对应的节点属性,通过判断属性密钥是否满足第二密文对应的访问策略,确定是否利用属性密钥对第二密文进行解密。第一用户节点表征区块链网络中任一用户节点;所述第二用户节点表征区块链网络中除所述第一用户节点以外的任一用户节点。用户节点向证书授权机构发送携带有用于生成证书对应的公钥和用户节点的节点属性,在证书授权机构中嵌入CP-ABE模块,通过cpabe-setup命令生成公开参数和主密钥,使用主密钥来生成与各用户节点的节点属性关联的属性密钥,并将属性密钥发送给用户节点。由于使用了访问策略生成对应的第二密文,通过cpabe-dec命令,用属性密钥对第二密文进行解密时,只有拥有属性密钥关联的节点属性满足访问策略的用户节点才能获得第一密钥。第二用户节点的属性密钥可以用于获取不同的密文信息对应的解密密钥,不需要在每次数据分发时分发对应的密钥,提高了区块链上的数据分发效率。
第二用户节点在向证书授权机构发送用户证书请求时,用户证书请求中携带有用于生成证书对应的公钥和第二用户节点的节点属性,证书授权机构通过CP-ABE算法,得到表征第二用户节点的节点属性的属性密钥,使用用户证书请求携带的公钥对属性密钥加密,并将属性密钥发送给第二用户节点。这样,第二用户节点在向证书授权机构发送请求获取用户证书的同时,可以一并获取生成的第二用户节点的属性密钥,提高了区块链上的密钥分发效率。
下面结合应用实施例对本申请再作进一步的详细描述。
结合图4,对应的数据传输方法,包括以下步骤:
步骤401:请求属性密钥。
每个用户节点在访问区块链上的内容或发起交易时,需要有合法的用户证书。区块链系统中每个用户节点在向证书授权机构发送用户证书请求时,用户证书请求中携带有用于生成证书对应的公钥和用户节点的节点属性。
步骤402:下发属性密钥。
在证书授权机构中嵌入CP-ABE模块,用于在区块链系统中实现CP-ABE算法。证书授权机构基于CP-ABE算法,得到表征每个用户节点的节点属性的属性密钥,使用用户证书请求携带的公钥对属性密钥加密,并将加密后的属性密钥和生成的公开参数,随着用户证书一同分发给对应的用户节点,只有拥有与用户证书请求的公钥对应的私钥的用户才能够得到本用户节点对应的属性密钥。也就是说,区块链系统中拥有用户证书的每个用户节点,都拥有表征与本用户节点的节点属性对应的属性密钥。
步骤403:发送第一交易。
第一用户节点从区块链网络的用户节点中选择部分或全部用户节点,通过至少一个群组标识和/或用户节点标识的组合表征这些允许获取DES密钥表的用户节点。在区块链网络中可以包括多个群组,每个群组中包括至少一个用户节点,每个用户节点对应至少一个群组标识和一个用户节点标识。访问策略是群组标识和用户节点标识的一个或多个的组合。
通过第一用户节点选定的DES算法密钥和公开参数对明文消息进行加密得到第一密文。在设定的访问策略下,利用CP-ABE算法和公开参数对DES密钥表进行加密,得到对应的第二密文。密钥表的属性是随机对称密钥。随机对称密钥的数量直接取决于组的数量,随机对称密钥数量总是小于或等于组的数量。
第一用户节点将第一交易发送至区块链网络的背书节点,第一密文和第二密文作为交易的负载,区块链网络的多个背书节点接收到第一交易后,分别按照背书策略处理第一交易,生成背书响应并下发至第一用户节点,在第一用户节点接收到的背书响应的数量达到第一阈值的情况下,组合来自不同背书节点的背书响应,将第一交易发送到排序节点,排序节点在排序分发给各个用户节点,各个用户节点在验证后生成对应的区块,并对进行交易的上链验证。这里,交易的背书以及验证过程中,只验证交易的格式、签名以及前后状态一致性,可以实现密文信息上链。
第二用户节点通过客户端向区块链网络发送第一请求,得到对应的第一密文和第二密文,得到区块链网络响应于第一请求分发携带有第一密文和第二密文的交易信息,进而得到第一密文和第二密文。这里,第一请求用于请求第一交易。
在第二用户节点的属性密钥满足第二密文对应的访问策略的情况下,利用第二用户节点的属性密钥对第二密文进行解密,得到第二密文对应的DES密钥表,并基于得到的DES密钥表解密第一密文,获取第一密文对应的明文信息。这里,第二用户节点的属性密钥携带有对应的节点属性,通过判断属性密钥是否满足第二密文对应的访问策略,确定是否利用属性密钥对第二密文进行解密。第二用户节点向证书授权机构发送携带有用于生成证书对应的公钥和第二用户节点的节点属性,证书授权机构通过CP-ABE算法,得到表征第二用户节点的节点属性的属性密钥,并将属性密钥发送给第二用户节点。由于使用了访问策略生成对应的第二密文,通过cpabe-dec命令,用属性密钥对第二密文进行解密时,只有拥有属性密钥关联的节点属性满足访问策略的用户节点,才能获得DES密钥对,而用于匹配访问策略的属性密钥可以用于获取不同的密文信息对应的解密密钥,不需要在每次数据分发时分发对应的密钥,解决了传统加密方案中广泛存在的密钥分发问题。
为实现本申请实施例的方法,如图5所示,本申请实施例还提供了一种第一用户节点,包括:
第一加密单元501,用于基于第一密钥加密第一明文得到第一密文;
第二加密单元502,用于基于访问策略,通过CP-ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;
上链单元503,用于将所述第一密文和所述第二密文发送至区块链网络。
在一个实施例中,第二加密单元502,用于:
确定访问策略,将确定的访问策略、公开参数和所述第一密钥输入CP-ABE算法,得到所述第二密文;
其中,所述公开参数由证书授权机构生成。
在一个实施例中,上链单元503,用于:
基于所述第一密文和所述第二密文生成第一信息;
将所述第一信息发送至区块链网络。
在一个实施例中,上链单元503,用于:
将第一交易发送至区块链网络;所述第一交易携带有所述第一密文和所述第二密文;
在所述第一用户节点接收到的背书响应的数量达到第一阈值的情况下,将所述第一交易发送到排序节点;其中,
所述背书响应由区块链网络基于接收到的所述第一交易生成并下发;所述排序节点用于基于所述第一交易生成对应的区块。
实际应用时,所述第一加密单元501,第二加密单元502,上链单元503可由基于区块链网络中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。
需要说明的是:上述实施例提供的区块链网络在进行数据传输时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将第一用户节点的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的区块链网络与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为实现本申请实施例的方法,如图6所示,本申请实施例还提供了一种第二用户节点,包括:
获取单元601,用于发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;所述第一密文由区块链网络中的第一用户节点基于第一密钥加密所述第一明文得到;所述第二密文由所述第一用户节点基于访问策略,通过CP-ABE算法对所述第一密钥进行加密得到;
解密单元602,用于在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
实际应用时,所述获取单元601,解密单元602可由基于区块链网络中的处理器,比如CPU、DSP、MCU或FPGA等实现。
需要说明的是:上述实施例提供的区块链网络在进行数据传输时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将第二用户节点的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的区块链网络与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为实现本申请实施例的方法,本申请实施例还提供了一种区块链网络,包括:
第一用户节点,用于基于第一密钥加密第一明文得到第一密文;基于访问策略,通过密文策略的属性加密CP-ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;将所述第一密文和所述第二密文发送至区块链网络;
第二用户节点,用于发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
基于上述程序模块的硬件实现,且为了实现本申请实施例数据传输方法,本申请实施例还提供了一种用户节点,如图7所示,该用户节点700包括:
通信接口710,能够与其它设备比如网络设备等进行信息交互;
处理器720,与所述通信接口710连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法。而所述计算机程序存储在存储器730上。
当然,实际应用时,用户节点700中的各个组件通过总线系统740耦合在一起。可理解,总线系统740用于实现这些组件之间的连接通信。总线系统740除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统740。
本申请实施例中的存储器730用于存储各种类型的数据以支持用户节点700的操作。这些数据的示例包括:用于在用户节点700上操作的任何计算机程序。
可以理解,存储器730可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器730旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器720中,或者由处理器720实现。处理器720可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器720中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器720可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器720可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器730,处理器720读取存储器730中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器720执行所述程序时实现本申请实施例的各个方法中由用户节点实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器730,上述计算机程序可由用户节点的处理器720执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的用户节点和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。除非另有说明和限定,术语“连接”应做广义理解,例如,可以是电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本申请的实施例可以除了在这里图示或描述的那些以外的顺序实施。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
在具体实施方式中所描述的各个实施例中的各个具体技术特征,在不矛盾的情况下,可以进行各种组合,例如通过不同的具体技术特征的组合可以形成不同的实施方式,为了避免不必要的重复,本申请中各个具体技术特征的各种可能的组合方式不再另行说明。

Claims (10)

1.一种数据传输方法,应用于区块链网络中的第一用户节点,其特征在于,所述方法包括:
基于第一密钥加密第一明文得到第一密文;
基于访问策略,通过密文策略的属性加密CP-ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;
将所述第一密文和所述第二密文发送至区块链网络。
2.根据权利要求1所述的数据传输方法,其特征在于,所述基于访问策略,通过CP-ABE算法对所述第一密钥进行加密,得到所述第二密文,包括:
确定访问策略,将确定的访问策略、公开参数和所述第一密钥输入CP-ABE算法,得到所述第二密文;
其中,所述公开参数由证书授权机构生成。
3.根据权利要求1所述的数据传输方法,其特征在于,所述将所述第一密文和所述第二密文发送至区块链网络,包括:
基于所述第一密文和所述第二密文生成第一信息;
将所述第一信息发送至区块链网络。
4.根据权利要求1至3中任一项所述的数据传输方法,其特征在于,所述将所述第一密文和所述第二密文发送至区块链网络,包括:
将第一交易发送至区块链网络;所述第一交易携带有所述第一密文和所述第二密文;
在所述第一用户节点接收到的背书响应的数量达到第一阈值的情况下,将所述第一交易发送到排序节点;其中,
所述背书响应由区块链网络基于接收到的所述第一交易生成并下发;所述排序节点用于基于所述第一交易生成对应的区块。
5.一种数据传输方法,应用于区块链网络中的第二用户节点,其特征在于,所述方法包括:
发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;所述第一密文由区块链网络中的第一用户节点基于第一密钥加密所述第一明文得到;所述第二密文由所述第一用户节点基于访问策略,通过CP-ABE算法对所述第一密钥进行加密得到;
在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
6.一种第一用户节点,其特征在于,包括:
第一加密单元,用于基于第一密钥加密第一明文得到第一密文;
第二加密单元,用于基于访问策略,通过CP-ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;
上链单元,用于将所述第一密文和所述第二密文发送至区块链网络。
7.一种第二用户节点,其特征在于,包括:
获取单元,用于发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;所述第一密文由区块链网络中的第一用户节点基于第一密钥加密所述第一明文得到;所述第二密文由所述第一用户节点基于访问策略,通过CP-ABE算法对所述第一密钥进行加密得到;
解密单元,用于在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
8.一种区块链网络,其特征在于,包括至少两个用户节点,其中:
第一用户节点,用于基于第一密钥加密第一明文得到第一密文;基于访问策略,通过密文策略的属性加密CP-ABE算法对所述第一密钥进行加密,得到所述第二密文;所述访问策略表征所述第一用户节点选择的区块链网络中部分或全部用户节点;将所述第一密文和所述第二密文发送至区块链网络;
第二用户节点,用于发起关于所述第一明文的第一请求,得到区块链网络基于所述第一请求分发的第一密文和第二密文;在所述第二用户节点的节点属性与所述第二密文对应的访问策略匹配的情况下,得到所述第一密钥,基于得到的第一密钥解密所述第一密文。
9.一种用户节点,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至4任一项所述方法的步骤;或者,执行权利要求5所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下至少之一:
权利要求1至4任一项所述的数据传输方法的步骤;
权利要求5所述的数据传输方法的步骤。
CN202110454463.5A 2021-04-26 2021-04-26 数据传输方法、区块链网络及存储介质 Pending CN113242219A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110454463.5A CN113242219A (zh) 2021-04-26 2021-04-26 数据传输方法、区块链网络及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110454463.5A CN113242219A (zh) 2021-04-26 2021-04-26 数据传输方法、区块链网络及存储介质

Publications (1)

Publication Number Publication Date
CN113242219A true CN113242219A (zh) 2021-08-10

Family

ID=77129340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110454463.5A Pending CN113242219A (zh) 2021-04-26 2021-04-26 数据传输方法、区块链网络及存储介质

Country Status (1)

Country Link
CN (1) CN113242219A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114050915A (zh) * 2021-10-25 2022-02-15 安徽中科晶格技术有限公司 隔离网络下细粒度权限访问同步方法、装置及设备
CN114244838A (zh) * 2021-12-17 2022-03-25 东软集团股份有限公司 区块链数据的加密方法及系统、解密方法、装置及设备
CN117251873A (zh) * 2023-02-19 2023-12-19 桂林电子科技大学 一种基于区块链的地理信息数据云存储方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109559124A (zh) * 2018-12-17 2019-04-02 重庆大学 一种基于区块链的云数据安全共享方法
CN109951498A (zh) * 2019-04-18 2019-06-28 中央财经大学 一种基于密文策略属性加密的区块链访问控制方法及装置
CN110400642A (zh) * 2019-06-12 2019-11-01 梁胤豪 一种基于区块链技术的医疗数据共享系统及设计方法
CN111130757A (zh) * 2019-12-31 2020-05-08 华中科技大学 一种基于区块链的多云cp-abe访问控制方法
CN111371561A (zh) * 2020-02-27 2020-07-03 华信咨询设计研究院有限公司 基于cp-abe算法的联盟区块链数据访问控制方法
US20200322142A1 (en) * 2019-04-05 2020-10-08 Arizona Board Of Regents On Behalf Of Arizona State University Method and Apparatus for Achieving Fine-Grained Access Control with Discretionary User Revocation Over Cloud Data
CN111914269A (zh) * 2020-07-07 2020-11-10 华中科技大学 一种区块链和云存储环境下的数据安全共享方法和系统
CN112073479A (zh) * 2020-08-26 2020-12-11 重庆邮电大学 一种基于区块链的去中心数据访问控制方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109559124A (zh) * 2018-12-17 2019-04-02 重庆大学 一种基于区块链的云数据安全共享方法
US20200322142A1 (en) * 2019-04-05 2020-10-08 Arizona Board Of Regents On Behalf Of Arizona State University Method and Apparatus for Achieving Fine-Grained Access Control with Discretionary User Revocation Over Cloud Data
CN109951498A (zh) * 2019-04-18 2019-06-28 中央财经大学 一种基于密文策略属性加密的区块链访问控制方法及装置
CN110400642A (zh) * 2019-06-12 2019-11-01 梁胤豪 一种基于区块链技术的医疗数据共享系统及设计方法
CN111130757A (zh) * 2019-12-31 2020-05-08 华中科技大学 一种基于区块链的多云cp-abe访问控制方法
CN111371561A (zh) * 2020-02-27 2020-07-03 华信咨询设计研究院有限公司 基于cp-abe算法的联盟区块链数据访问控制方法
CN111914269A (zh) * 2020-07-07 2020-11-10 华中科技大学 一种区块链和云存储环境下的数据安全共享方法和系统
CN112073479A (zh) * 2020-08-26 2020-12-11 重庆邮电大学 一种基于区块链的去中心数据访问控制方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114050915A (zh) * 2021-10-25 2022-02-15 安徽中科晶格技术有限公司 隔离网络下细粒度权限访问同步方法、装置及设备
CN114050915B (zh) * 2021-10-25 2024-03-15 安徽中科晶格技术有限公司 隔离网络下细粒度权限访问同步方法、装置及设备
CN114244838A (zh) * 2021-12-17 2022-03-25 东软集团股份有限公司 区块链数据的加密方法及系统、解密方法、装置及设备
CN114244838B (zh) * 2021-12-17 2024-06-04 东软集团股份有限公司 区块链数据的加密方法及系统、解密方法、装置及设备
CN117251873A (zh) * 2023-02-19 2023-12-19 桂林电子科技大学 一种基于区块链的地理信息数据云存储方法

Similar Documents

Publication Publication Date Title
CN111130757B (zh) 一种基于区块链的多云cp-abe访问控制方法
CN108616539B (zh) 一种区块链交易记录访问的方法及系统
CN110149322A (zh) 一种不可逆的动态失效重验重建的区块链加密方法
JP4620248B2 (ja) メッセージ交換ネットワーク内でスマートカードを認証するための方法
CN112073479A (zh) 一种基于区块链的去中心数据访问控制方法及系统
US8788836B1 (en) Method and apparatus for providing identity claim validation
CN114730420A (zh) 用于生成签名的系统和方法
CN109450843B (zh) 一种基于区块链的ssl证书管理方法及系统
CN113242219A (zh) 数据传输方法、区块链网络及存储介质
CN112822255B (zh) 基于区块链的邮件处理方法、邮件发送端、接收端及设备
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
CN106130716A (zh) 基于认证信息的密钥交换系统及方法
CN114143108B (zh) 一种会话加密方法、装置、设备及存储介质
JP2022521525A (ja) データを検証するための暗号方法
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统
WO2019214069A1 (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
US20190044922A1 (en) Symmetric key identity systems and methods
CN113438205B (zh) 区块链数据访问控制方法、节点以及系统
CN106936579A (zh) 基于可信第三方代理的云存储数据存储及读取方法
CN114500069A (zh) 一种电子合同的存储及共享的方法与系统
CN114039753A (zh) 一种访问控制方法、装置、存储介质及电子设备
CN116996229A (zh) 一种数字证书生成方法及相关装置
CN110098925B (zh) 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统
CN110912892A (zh) 一种证书管理方法、装置、电子设备及存储介质
NL1043779B1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge

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: 20210810