CN117118586A - 基于区块链的数据传输方法、系统、电子设备及介质 - Google Patents
基于区块链的数据传输方法、系统、电子设备及介质 Download PDFInfo
- Publication number
- CN117118586A CN117118586A CN202310785116.XA CN202310785116A CN117118586A CN 117118586 A CN117118586 A CN 117118586A CN 202310785116 A CN202310785116 A CN 202310785116A CN 117118586 A CN117118586 A CN 117118586A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- hash
- cloud server
- authorization
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000005540 biological transmission Effects 0.000 title claims abstract description 35
- 238000013475 authorization Methods 0.000 claims abstract description 140
- 238000005516 engineering process Methods 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims description 51
- 239000000284 extract Substances 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于区块链的数据传输方法、系统、电子设备及介质。通过应用本申请的技术方案,可以由一个新加入的区块链网络来存储授权数据的哈希根,从而实现一种在数据使用设备在从云服务器处接收到授权数据后,能够根据对该授权数据计算得到的哈希值并与区块链网络中存储的哈希根进行比较的方式来检测其获取的数据是否被篡改。从而一方面能够避免相关技术中出现的,没有一种安全程度较高的数据授权方法以实现数据提供方与数据使用方之间的数据可信传输的问题。另一方面利用哈希根进行授权数据校验的方式也可以减少区块链网络的存储压力。
Description
技术领域
本申请中涉及数据处理技术,尤其是一种基于区块链的数据传输方法、系统、电子设备及介质。
背景技术
随着互联网技术的发展,数据成为了一种重要的资源和财富。其中,为了保护数据的机密性和完整性,数据要素需要以可信的方式交付和授权使用。数据要素的授权可能涉及多个参与方和不同的访问级别,因此存在数据被未授权方读取或更改的风险。常用的方法是对数据进行加密处理。
但是,传统的加密方法往往不能满足数据共享的需求,因为加密后的数据只能由拥有相应私钥的用户解密,而不能方便地授权给其他用户访问。因此,如何设计一种安全程度较高的数据授权方法以实现数据提供方与数据使用方之间的数据可信传输,成为了技术人员需要解决的问题。
发明内容
本申请实施例提供一种基于区块链的数据传输方法、系统、电子设备及介质。从而解决相关技术中出现的,没有一种安全程度较高的数据授权方法,以实现数据提供方与数据使用方之间的可信传输的问题。
其中,根据本申请实施例的一个方面,提供的一种基于区块链的数据传输方法,应用于包含数据提供设备、区块链网络、云服务器以及数据使用设备的通信系统中,包括:
所述数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根,并将所述密文数据与哈希树发送给所述云服务器,以及将所述哈希根发送给所述区块链网络;
所述数据使用设备向所述云服务器发送携带有目标请求编号的数据获取请求,其中所述目标请求编号用于表征所述哈希树中,目标节点对应的目标授权数据,所述数据获取请求用于获取所述目标授权数据;
所述云服务器提取与所述目标请求编号相对应的目标密文数据,以及生成核验哈希值,其中所述核验哈希值用于表征所述哈希树中,除目标节点以外的其他节点的哈希值;
所述数据使用设备对所述目标密文数据进行解密得到明文数据后,计算得到所述明文数据对应的明文哈希值,并在利用所述明文哈希值以及所述核验哈希值对所述哈希根进行校验通过后,确定所述明文数据为所述目标授权数据。
可选地,在基于本申请上述方法的另一个实施例中,所述数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根,包括:
所述数据提供设备使用代理重加密技术,对每个授权数据进行加密处理,得到所述多个密文数据;以及,
所述数据提供设备依次为每个授权数据生成对应的摘要数据,并依次计算每个摘要数据对应的哈希值;并基于所述多个哈希值,构建由多个节点所组成的所述哈希树,其中每个节点对应于一个授权数据的摘要数据;以及,
所述数据提供设备对所述哈希树上的各个节点进行递归计算,得到所述哈希树对应的所述哈希根。
可选地,在基于本申请上述方法的另一个实施例中,在所述数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根之后,还包括:
所述数据提供设备将所述哈希根进行数字签名后存储到所述区块链网络中;以及,
所述数据提供设备利用重加密公私钥对多个授权数据进行加密处理,得到所述多个密文数据后,将所述密文数据与哈希树发送给所述云服务器。
可选地,在基于本申请上述方法的另一个实施例中,在所述数据提供设备将所述密文数据与哈希树发送给所述云服务器之后,还包括:
在所述数据使用设备需要使用所述目标授权数据时,向所述数据提供设备发送授权请求,所述授权请求中包含所述数据使用设备的公钥以及所述目标授权数据对应的目标请求编号;
在所述数据提供设备确定所述请求授权通过后,利用所述重加密公私钥和所述数据使用设备的公钥,生成代理重加密密钥,并将所述目标请求编号和所述代理重加密密钥发送给所述云服务器。
可选地,在基于本申请上述方法的另一个实施例中,在所述数据提供设备将所述目标请求编号和所述代理重加密密钥发送给所述云服务器之后,还包括:
所述云服务器从自身提取与所述目标请求编号相对应的目标密文数据,并基于所述代理重加密密钥重新对所述目标密文数据进行加密后,存储到自身的数据缓存区。
可选地,在基于本申请上述方法的另一个实施例中,所述数据使用设备向所述云服务器发送携带有目标请求编号的数据获取请求,包括:
在所述数据使用设备需要使用所述目标授权数据时,向所述数据提供设备发送授权请求,所述授权请求中包含所述数据使用设备的公钥以及所述目标授权数据对应的目标请求编号;
在所述数据使用设备接收到授权请求通过消息后,利用自身的私钥对携带有所述目标请求编号的数据获取请求进行数字签名,并将所述签名发送给所述云服务器。
可选地,在基于本申请上述方法的另一个实施例中,在所述数据使用设备将所述签名发送给所述云服务器之后,还包括:
所述云服务器针对所述签名进行合法性验证,并在确定所述签名合法后,从自身的数据缓存区中提取所述目标请求编号对应的目标密文数据;以及,
所述云服务器对所述哈希树中的其他节点的哈希值进行计算,得到所述核验哈希值。
可选地,在基于本申请上述方法的另一个实施例中,所述数据使用设备利用所述明文哈希值以及所述核验哈希值对所述哈希根进行校验通过后,确定所述明文数据为所述目标授权数据,还包括:
数据使用设备利用所述明文哈希值以及所述核验哈希值,计算得到所述哈希树对应的待比较哈希根;以及,从所述区块链网络中提取由所述数据提供设备生成的所述哈希根;
若确定所述待比较哈希根与所述哈希根相同,则确定所述明文数据为所述目标授权数据。
其中,根据本申请实施例的又一个方面,提供的一种基于区块链的数据传输系统,包括数据提供设备、区块链网络、云服务器以及数据使用设备,所述系统包括:
所述数据提供设备,被配置为针对多个授权数据生成多个密文数据、哈希树以及哈希根,并将所述密文数据与哈希树发送给所述云服务器,以及将所述哈希根发送给所述区块链网络;
所述区块链网络,被配置为接收所述哈希根;
所述云服务器,被配置为提取与所述目标请求编号相对应的目标密文数据,以及生成核验哈希值,其中所述核验哈希值用于表征所述哈希树中,除目标节点以外的其他节点的哈希值;
所述数据使用设备,被配置为向所述云服务器发送携带有目标请求编号的数据获取请求,其中所述目标请求编号用于表征所述哈希树中,目标节点对应的目标授权数据,所述数据获取请求用于获取所述目标授权数据;并在对目标密文数据进行解密得到明文数据后,计算得到所述明文数据对应的明文哈希值,并在利用所述明文哈希值以及所述核验哈希值对所述哈希根进行校验通过后,确定所述明文数据为所述目标授权数据。
根据本申请实施例的又一个方面,提供的一种电子设备,包括:
存储器,用于存储可执行指令;以及
显示器,用于与所述存储器执行所述可执行指令从而完成上述任一所述基于区块链的数据传输方法的操作。
根据本申请实施例的还一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一所述基于区块链的数据传输方法的操作。
本申请中,数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根,并将密文数据与哈希树发送给云服务器,以及将哈希根发送给区块链网络;数据使用设备向云服务器发送携带有目标请求编号的数据获取请求,其中目标请求编号用于表征哈希树中,目标节点对应的目标授权数据,数据获取请求用于获取目标授权数据;云服务器提取与目标请求编号相对应的目标密文数据,以及生成核验哈希值,其中核验哈希值用于表征哈希树中,除目标节点以外的其他节点的哈希值;数据使用设备对目标密文数据进行解密得到明文数据后,计算得到明文数据对应的明文哈希值,并在利用明文哈希值以及核验哈希值对哈希根进行校验通过后,确定明文数据为目标授权数据。
通过应用本申请的技术方案,可以由一个新加入的区块链网络来存储授权数据的哈希根,从而实现一种在数据使用设备在从云服务器处接收到授权数据后,能够根据对该授权数据计算得到的哈希值并与区块链网络中存储的哈希根进行比较的方式来检测其获取的数据是否被篡改。从而一方面能够避免相关技术中出现的,没有一种安全程度较高的数据授权方法以实现数据提供方与数据使用方之间的数据可信传输的问题。另一方面利用哈希根进行授权数据校验的方式也可以减少区块链网络的存储压力。
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:
图1为本申请提出的一种基于区块链的数据传输方法示意图;
图2为本申请提出的一种基于区块链的数据传输方法的流程图;
图3为本申请提出一种的哈希树的示意图;
图4为本申请提出的系统的结构示意图;
图5为本申请提出的一种基于区块链的数据传输系统的系统架构示意图;
图6为本申请提出的一种基于区块链的数据传输电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
另外,本申请各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
需要说明的是,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
下面结合图1-图3来描述根据本申请示例性实施方式的用于进行基于区块链的数据传输方法。需要注意的是,下述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
本申请还提出一种基于区块链的数据传输方法、系统、电子设备及介质。
图1示意性地示出了根据本申请实施方式的一种基于区块链的数据传输方法的流程示意图。如图1所示,该方法,包括:
S101,数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根,并将密文数据与哈希树发送给云服务器,以及将哈希根发送给区块链网络。
S102,数据使用设备向云服务器发送携带有目标请求编号的数据获取请求,其中目标请求编号用于表征哈希树中,目标节点对应的目标授权数据,数据获取请求用于获取目标授权数据。
S103,云服务器提取与目标请求编号相对应的目标密文数据,以及生成核验哈希值,其中核验哈希值用于表征哈希树中,除目标节点以外的其他节点的哈希值。
S104,数据使用设备对目标密文数据进行解密得到明文数据后,计算得到明文数据对应的明文哈希值,并在利用明文哈希值以及核验哈希值对哈希根进行校验通过后,确定明文数据为目标授权数据。
相关技术中,随着互联网技术的发展,数据成为了一种重要的资源和财富。然而实际的业务场景下,经常存在有数据的存储、传输和共享也面临着诸多的安全风险,如数据泄露、篡改、窃取等。
可以理解的,为了保护数据的机密性和完整性,数据要素需要以可信的方式交付和授权使用。数据要素的授权可能涉及多个参与方(例如一个或多个数据提供方和一个或多个数据使用方)和不同的访问级别,因此存在数据被未授权方读取或更改的风险。常用的方法是对数据进行加密处理后再将数据传输至对端。
但是,传统的数据加密以及传输方法往往不能满足数据共享的需求,因为加密后的数据只能由拥有相应私钥的用户解密,而不能方便地授权给其他用户访问。
基于上述问题,本申请提出一种基于区块链的数据传输方法,其方案为,由一个新加入的区块链网络来存储授权数据的哈希根,从而实现一种在数据使用设备在从云服务器处接收到授权数据后,能够根据对该授权数据计算得到的哈希值并与区块链网络中存储的哈希根进行比较的方式来检测其获取的数据是否被篡改。
进一步的,本申请在此结合图2对方案进行具体说明:
步骤1a、数据提供设备使用代理重加密技术,对每个授权数据进行加密处理,得到多个密文数据。
一种方式中,本申请实施例可以由数据提供设备利用代理重加密技术对该多个授权数据进行加密处理,分别得到每个授权数据对应的密文数据。
其中,代理重加密是一种公钥加密体制,它允许一个半可信的代理者(例如为云服务器)在不知道授权数据的明文信息的情况下,根据授权者提供的转换密钥,将授权者公钥加密的密文转换为被授权者公钥加密的密文,从而实现数据在不同用户设备之间的安全转移和共享。
具体来说,本申请实施例中利用代理重加密技术对授权数据进行加密处理的过程可以包括如下步骤:
步骤a、转换密钥过程:
其中,数据提供设备可以利用自己的公私钥对(即pko,sko),以及数据使用设备的公钥pku产生一个代理重加密的转换密钥rko->u。
步骤b、加密过程:
其中,数据提供设备使用自己的公钥pko对授权数据进行加密,所得到的密文称为原始密文co。
步骤c、重加密过程:
其中,数据提供设备利用转换密钥rko->u对原始密文co进行再次加密,所得到的密文称为重加密密文cu。可以理解的,该密文实际上等同于用数据使用设备的公钥pku加密的明文。
步骤1b、数据提供设备依次为每个授权数据生成对应的摘要数据,并依次计算每个摘要数据对应的哈希值;并基于多个哈希值,构建由多个节点所组成的哈希树,其中每个节点对应于一个授权数据的摘要数据。
一种方式中,哈希树可以为Merkle树。其是一种二叉树的数据结构。可以理解的,本申请实施例中的Merkle树,每个叶子节点都存储了一个哈希值,而这个哈希值是由其子节点的哈希值计算而来。Merkle树的根节点的哈希值,也叫Merkle根(即哈希根),可以看作是对整棵树的一个摘要。
步骤1c、数据提供设备对哈希树上的各个节点进行递归计算,得到哈希树对应的哈希根。
进一步举例来说,数据提供设备需要将每个授权数据生成对应的摘要数据后,基于所有授权数据的摘要数据生成Merkle哈希树。进一步的,如图3所示,数据提供设备需要逐个计算摘要数据集合{m1,m2,...,mn}中,每个摘要数据的哈希值,得到{h1, h2,..., hn}。并将其进行递归计算,以得到该哈希树的哈希根。
可以理解的,哈希根即为哈希树的顶部数据。其中,只要哈希树上任一叶节点发生了数据变化,哈希根都会随之改变。本申请可利用此特性,将哈希根存储到不易被恶意用户攻击的区块链网络中,以使后续通过对该哈希根的对比,检测传输到对端的授权数据是否被篡改。
步骤2、数据提供设备将哈希根进行数字签名后存储到区块链网络中;以及,利用重加密公私钥对多个授权数据进行加密处理,得到多个密文数据后,将密文数据与哈希树发送给云服务器。
一种方式中,数据提供设备在基于所有授权数据的摘要生成哈希树之后,一方面需要将哈希树对应的哈希根进行签名后,上传至区块链网络存储。另一方面还需要将包括对应叶子节点的哈希树以密文数据的形式,和相应的索引信息共同发送给云服务器进行存储。
步骤3、在数据使用设备需要使用目标授权数据时,向数据提供设备发送授权请求。
其中,授权请求中包含数据使用设备的公钥以及目标授权数据对应的目标请求编号。
一种方式中,当数据使用设备需要使用数据提供设备中的某个授权数据时(例如需要使用目标授权数据),数据使用设备则需要发送自身设备的公钥pku,和申请使用的数据编号i(该编号I即对应于哈希树上的目标授权数据)给数据提供设备以申请授权。
步骤4、在数据提供设备确定请求授权通过后,利用重加密公私钥和数据使用设备的公钥,生成代理重加密密钥,并将目标请求编号和代理重加密密钥发送给云服务器。
进一步的,若数据提供设备确认该授权请求通过后,即可以基于自身的公私钥对(pko,i,sko,i),和,数据使用设备的公钥pku,调用密钥生成函数来生成一个代理重加密密钥rko->u。并随后将该代理重加密密钥发送给云存储服务器。
步骤5、云服务器从自身提取与目标请求编号相对应的目标密文数据,并基于代理重加密密钥重新对目标密文数据进行加密后,存储到自身的数据缓存区。
一种方式中,云服务器在得到该代理重加密密钥后,即可将存储在自身存储区域中的,该目标请求编号相对应的目标密文数据利用该密钥进行再一次的加密处理。并在加密完毕后,将其存储到自身的数据缓存区以达到后续发送给数据使用设备的目的。
步骤6、数据使用设备利用自身的私钥对携带有目标请求编号的数据获取请求进行数字签名,并将签名发送给云服务器。
一种方式中,数据使用设备在确定授权通过后,即可启动向云服务器获取该授权数据的步骤。即可以首先基于自身的私钥,对数据获取请求生成一个数据获取签名,并基于该签名向云存储服务器请求该目标授权数据。
步骤7、云服务器针对签名进行合法性验证,并在确定签名合法后,从自身的数据缓存区中提取目标请求编号对应的目标密文数据;以及,云服务器对哈希树中的其他节点的哈希值进行计算,得到核验哈希值并发送给数据使用设备。
进一步的,云服务器在收到该请求后,将请求记录加密上链,并将缓存区中上一步得到的重加密的密文数据和核验哈希值共同返回给数据获取设备。
一种方式中,云服务器收到请求后,可以首先核实该请求的数字签名是否正确。可以理解的,若不正确则关闭连接,若正确则将请求记录加密上链。
另一方式中,核验哈希值即包括在哈希树上,除目标节点(目标节点即为目标请求编号i对应的节点,也即为对应于目标授权数据的节点)外的其他节点的哈希值。可以理解的,这样才能在后续结合目标节点的哈希值计算出哈希树的哈希根。
举例来说,云服务器根据目标请求编号i生成核验哈希值的方式可以为,首先获取第i个元素的兄弟节点的哈希值,进而获取第i个元素的父节点的兄弟节点的哈希值。以此类推,直到获取到哈希根节点的上一个节点的全部兄弟哈希值为止。
步骤8、数据使用设备对目标密文数据进行解密得到明文数据后,计算得到明文数据对应的明文哈希值。
步骤9、数据使用设备利用明文哈希值以及核验哈希值,计算得到哈希树对应的待比较哈希根;以及,从区块链网络中提取由数据提供设备生成的哈希根。
步骤10、数据使用设备若确定待比较哈希根与哈希根相同,则确定明文数据为目标授权数据。
一种方式中,数据获取设备在得到目标密文数据后,基于自身的私钥对该密文进行解锁,从而得到明文数据。
可以理解的,由于该明文数据存在一定的被篡改的可能性,因此数据获取设备需要计算该明文数据的摘要数据的哈希值hi。并基于该哈希值hi和云服务器发送的核验哈希值来计算出哈希树的哈希根。并与区块链网络上存储的哈希根进行对比,一致则表示数据正确可信,可以使用。反之则丢弃该数据。
通过应用本申请的技术方案,可以由一个新加入的区块链网络来存储授权数据的哈希根,从而实现一种在数据使用设备在从云服务器处接收到授权数据后,能够根据对该授权数据计算得到的哈希值并与区块链网络中存储的哈希根进行比较的方式来检测其获取的数据是否被篡改。从而一方面能够避免相关技术中出现的,没有一种安全程度较高的数据授权方法以实现数据提供方与数据使用方之间的数据可信传输的问题。另一方面利用哈希根进行授权数据校验的方式也可以减少区块链网络的存储压力。
可选地,在基于本申请上述方法的另一个实施例中,所述数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根,包括:
所述数据提供设备使用代理重加密技术,对每个授权数据进行加密处理,得到所述多个密文数据;以及,
所述数据提供设备依次为每个授权数据生成对应的摘要数据,并依次计算每个摘要数据对应的哈希值;并基于所述多个哈希值,构建由多个节点所组成的所述哈希树,其中每个节点对应于一个授权数据的摘要数据;以及,
所述数据提供设备对所述哈希树上的各个节点进行递归计算,得到所述哈希树对应的所述哈希根。
可选地,在基于本申请上述方法的另一个实施例中,在所述数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根之后,还包括:
所述数据提供设备将所述哈希根进行数字签名后存储到所述区块链网络中;以及,
所述数据提供设备利用重加密公私钥对多个授权数据进行加密处理,得到所述多个密文数据后,将所述密文数据与哈希树发送给所述云服务器。
可选地,在基于本申请上述方法的另一个实施例中,在所述数据提供设备将所述密文数据与哈希树发送给所述云服务器之后,还包括:
在所述数据使用设备需要使用所述目标授权数据时,向所述数据提供设备发送授权请求,所述授权请求中包含所述数据使用设备的公钥以及所述目标授权数据对应的目标请求编号;
在所述数据提供设备确定所述请求授权通过后,利用所述重加密公私钥和所述数据使用设备的公钥,生成代理重加密密钥,并将所述目标请求编号和所述代理重加密密钥发送给所述云服务器。
可选地,在基于本申请上述方法的另一个实施例中,在所述数据提供设备将所述目标请求编号和所述代理重加密密钥发送给所述云服务器之后,还包括:
所述云服务器从自身提取与所述目标请求编号相对应的目标密文数据,并基于所述代理重加密密钥重新对所述目标密文数据进行加密后,存储到自身的数据缓存区。
可选地,在基于本申请上述方法的另一个实施例中,所述数据使用设备向所述云服务器发送携带有目标请求编号的数据获取请求,包括:
在所述数据使用设备需要使用所述目标授权数据时,向所述数据提供设备发送授权请求,所述授权请求中包含所述数据使用设备的公钥以及所述目标授权数据对应的目标请求编号;
在所述数据使用设备接收到授权请求通过消息后,利用自身的私钥对携带有所述目标请求编号的数据获取请求进行数字签名,并将所述签名发送给所述云服务器。
可选地,在基于本申请上述方法的另一个实施例中,在所述数据使用设备将所述签名发送给所述云服务器之后,还包括:
所述云服务器针对所述签名进行合法性验证,并在确定所述签名合法后,从自身的数据缓存区中提取所述目标请求编号对应的目标密文数据;以及,
所述云服务器对所述哈希树中的其他节点的哈希值进行计算,得到所述核验哈希值。
可选地,在基于本申请上述方法的另一个实施例中,所述数据使用设备利用所述明文哈希值以及所述核验哈希值对所述哈希根进行校验通过后,确定所述明文数据为所述目标授权数据,还包括:
数据使用设备利用所述明文哈希值以及所述核验哈希值,计算得到所述哈希树对应的待比较哈希根;以及,从所述区块链网络中提取由所述数据提供设备生成的所述哈希根;
若确定所述待比较哈希根与所述哈希根相同,则确定所述明文数据为所述目标授权数据。
通过应用本申请的技术方案,可以由一个新加入的区块链网络来存储授权数据的哈希根,从而实现一种在数据使用设备在从云服务器处接收到授权数据后,能够根据对该授权数据计算得到的哈希值并与区块链网络中存储的哈希根进行比较的方式来检测其获取的数据是否被篡改。从而一方面能够避免相关技术中出现的,没有一种安全程度较高的数据授权方法以实现数据提供方与数据使用方之间的数据可信传输的问题。另一方面利用哈希根进行授权数据校验的方式也可以减少区块链网络的存储压力。
可选的,在本申请的另外一种实施方式中,如图4所示,本申请还提供一种基于区块链的数据传输系统。包括:
所述数据提供设备201,被配置为针对多个授权数据生成多个密文数据、哈希树以及哈希根,并将所述密文数据与哈希树发送给所述云服务器,以及将所述哈希根发送给所述区块链网络;
所述区块链网络202,被配置为接收所述哈希根;
所述云服务器203,被配置为提取与所述目标请求编号相对应的目标密文数据,以及生成核验哈希值,其中所述核验哈希值用于表征所述哈希树中,除目标节点以外的其他节点的哈希值;
所述数据使用设备204,被配置为向所述云服务器发送携带有目标请求编号的数据获取请求,其中所述目标请求编号用于表征所述哈希树中,目标节点对应的目标授权数据,所述数据获取请求用于获取所述目标授权数据;并在对目标密文数据进行解密得到明文数据后,计算得到所述明文数据对应的明文哈希值,并在利用所述明文哈希值以及所述核验哈希值对所述哈希根进行校验通过后,确定所述明文数据为所述目标授权数据。
一种方式中,如图5所示,为本申请提出的一种基于区块链的数据传输系统的架构图。由图可以看出,本申请可以利用数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根,并将密文数据与哈希树发送给云服务器,以及将哈希根发送给区块链网络;
进一步的,还需要由数据使用设备向云服务器发送携带有目标请求编号的数据获取请求,其中目标请求编号用于表征哈希树中,目标节点对应的目标授权数据,数据获取请求用于获取目标授权数据;
然后,可以由云服务器提取与目标请求编号相对应的目标密文数据,以及生成核验哈希值,其中核验哈希值用于表征哈希树中,除目标节点以外的其他节点的哈希值;
最后,本申请实施例需要由数据使用设备对目标密文数据进行解密得到明文数据后,计算得到明文数据对应的明文哈希值,并在利用明文哈希值以及核验哈希值对哈希根进行校验通过后,确定明文数据为目标授权数据。
通过应用本申请的技术方案,可以由一个新加入的区块链网络来存储授权数据的哈希根,从而实现一种在数据使用设备在从云服务器处接收到授权数据后,能够根据对该授权数据计算得到的哈希值并与区块链网络中存储的哈希根进行比较的方式来检测其获取的数据是否被篡改。从而一方面能够避免相关技术中出现的,没有一种安全程度较高的数据授权方法以实现数据提供方与数据使用方之间的数据可信传输的问题。另一方面利用哈希根进行授权数据校验的方式也可以减少区块链网络的存储压力。
在本申请的另外一种实施方式中,数据提供设备201,被配置为:
所述数据提供设备使用代理重加密技术,对每个授权数据进行加密处理,得到所述多个密文数据;以及,
所述数据提供设备依次为每个授权数据生成对应的摘要数据,并依次计算每个摘要数据对应的哈希值;并基于所述多个哈希值,构建由多个节点所组成的所述哈希树,其中每个节点对应于一个授权数据的摘要数据;以及,
所述数据提供设备对所述哈希树上的各个节点进行递归计算,得到所述哈希树对应的所述哈希根。
在本申请的另外一种实施方式中,数据提供设备201,被配置为:
所述数据提供设备将所述哈希根进行数字签名后存储到所述区块链网络中;以及,
所述数据提供设备利用重加密公私钥对多个授权数据进行加密处理,得到所述多个密文数据后,将所述密文数据与哈希树发送给所述云服务器。
在本申请的另外一种实施方式中,数据使用设备202,被配置为:
在所述数据使用设备需要使用所述目标授权数据时,向所述数据提供设备发送授权请求,所述授权请求中包含所述数据使用设备的公钥以及所述目标授权数据对应的目标请求编号;
在所述数据提供设备确定所述请求授权通过后,利用所述重加密公私钥和所述数据使用设备的公钥,生成代理重加密密钥,并将所述目标请求编号和所述代理重加密密钥发送给所述云服务器。
在本申请的另外一种实施方式中,云服务器203,被配置为:
所述云服务器从自身提取与所述目标请求编号相对应的目标密文数据,并基于所述代理重加密密钥重新对所述目标密文数据进行加密后,存储到自身的数据缓存区。
在本申请的另外一种实施方式中,数据使用设备202,被配置为:
所述数据使用设备利用自身的私钥对携带有所述目标请求编号的数据获取请求进行数字签名,并将所述签名发送给所述云服务器。
在本申请的另外一种实施方式中,云服务器203,被配置为:
所述云服务器针对所述签名进行合法性验证,并在确定所述签名合法后,从自身的数据缓存区中提取所述目标请求编号对应的目标密文数据;以及,
所述云服务器对所述哈希树中的其他节点的哈希值进行计算,得到所述核验哈希值。
在本申请的另外一种实施方式中,数据使用设备202,被配置为:
数据使用设备利用所述明文哈希值以及所述核验哈希值,计算得到所述哈希树对应的待比较哈希根;以及,从所述区块链网络中提取由所述数据提供设备生成的所述哈希根;
若确定所述待比较哈希根与所述哈希根相同,则确定所述明文数据为所述目标授权数据。
本申请实施方式还提供一种电子设备,以执行上述基于区块链的数据传输计算方法。请参考图6,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图6所示,电子设备3包括:处理器300,存储器301,总线302和通信接口303,所述处理器300、通信接口303和存储器301通过总线302连接;所述存储器301中存储有可在所述处理器300上运行的计算机程序,所述处理器300运行所述计算机程序时执行本申请前述任一实施方式所提供的基于区块链的数据传输计算方法。
其中,存储器301可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口303(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线302可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器301用于存储程序,所述处理器300在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述视频传输方法可以应用于处理器300中,或者由处理器300实现。
处理器300可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器300可以是通用处理器,包括处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的基于区块链的数据传输计算方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
Claims (10)
1.一种基于区块链的数据传输方法,其特征在于,应用于包含数据提供设备、区块链网络、云服务器以及数据使用设备的通信系统中,包括:
所述数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根,并将所述密文数据与哈希树发送给所述云服务器,以及将所述哈希根发送给所述区块链网络;
所述数据使用设备向所述云服务器发送携带有目标请求编号的数据获取请求,其中所述目标请求编号用于表征所述哈希树中,目标节点对应的目标授权数据,所述数据获取请求用于获取所述目标授权数据;
所述云服务器提取与所述目标请求编号相对应的目标密文数据,以及生成核验哈希值,其中所述核验哈希值用于表征所述哈希树中,除目标节点以外的其他节点的哈希值;
所述数据使用设备对所述目标密文数据进行解密得到明文数据后,计算得到所述明文数据对应的明文哈希值,并在利用所述明文哈希值以及所述核验哈希值对所述哈希根进行校验通过后,确定所述明文数据为所述目标授权数据。
2.如权利要求1所述的方法,其特征在于,所述数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根,包括:
所述数据提供设备使用代理重加密技术,对每个授权数据进行加密处理,得到所述多个密文数据;以及,
所述数据提供设备依次为每个授权数据生成对应的摘要数据,并依次计算每个摘要数据对应的哈希值;并基于所述多个哈希值,构建由多个节点所组成的所述哈希树,其中每个节点对应于一个授权数据的摘要数据;以及,
所述数据提供设备对所述哈希树上的各个节点进行递归计算,得到所述哈希树对应的所述哈希根。
3.如权利要求2所述的方法,其特征在于,在所述数据提供设备针对多个授权数据生成多个密文数据、哈希树以及哈希根之后,还包括:
所述数据提供设备将所述哈希根进行数字签名后存储到所述区块链网络中;以及,
所述数据提供设备利用重加密公私钥对多个授权数据进行加密处理,得到所述多个密文数据后,将所述密文数据与哈希树发送给所述云服务器。
4.如权利要求3所述的方法,其特征在于,在所述数据提供设备将所述密文数据与哈希树发送给所述云服务器之后,还包括:
在所述数据使用设备需要使用所述目标授权数据时,向所述数据提供设备发送授权请求,所述授权请求中包含所述数据使用设备的公钥以及所述目标授权数据对应的目标请求编号;
在所述数据提供设备确定所述请求授权通过后,利用所述重加密公私钥和所述数据使用设备的公钥,生成代理重加密密钥,并将所述目标请求编号和所述代理重加密密钥发送给所述云服务器。
5.如权利要求4所述的方法,其特征在于,在所述数据提供设备将所述目标请求编号和所述代理重加密密钥发送给所述云服务器之后,还包括:
所述云服务器从自身提取与所述目标请求编号相对应的目标密文数据,并基于所述代理重加密密钥重新对所述目标密文数据进行加密后,存储到自身的数据缓存区。
6.如权利要求1所述的方法,其特征在于,所述数据使用设备向所述云服务器发送携带有目标请求编号的数据获取请求,包括:
所述数据使用设备利用自身的私钥对携带有所述目标请求编号的数据获取请求进行数字签名,并将所述签名发送给所述云服务器。
7.如权利要求6所述的方法,其特征在于,在所述数据使用设备将所述签名发送给所述云服务器之后,还包括:
所述云服务器针对所述签名进行合法性验证,并在确定所述签名合法后,从自身的数据缓存区中提取所述目标请求编号对应的目标密文数据;以及,
所述云服务器对所述哈希树中的其他节点的哈希值进行计算,得到所述核验哈希值。
8.如权利要求1所述的方法,其特征在于,所述数据使用设备利用所述明文哈希值以及所述核验哈希值对所述哈希根进行校验通过后,确定所述明文数据为所述目标授权数据,还包括:
数据使用设备利用所述明文哈希值以及所述核验哈希值,计算得到所述哈希树对应的待比较哈希根;以及,从所述区块链网络中提取由所述数据提供设备生成的所述哈希根;
若确定所述待比较哈希根与所述哈希根相同,则确定所述明文数据为所述目标授权数据。
9.一种基于区块链的数据传输系统,其特征在于,包括数据提供设备、区块链网络、云服务器以及数据使用设备,所述系统包括:
所述数据提供设备,被配置为针对多个授权数据生成多个密文数据、哈希树以及哈希根,并将所述密文数据与哈希树发送给所述云服务器,以及将所述哈希根发送给所述区块链网络;
所述区块链网络,被配置为接收所述哈希根;
所述云服务器,被配置为提取与目标请求编号相对应的目标密文数据,以及生成核验哈希值,其中所述核验哈希值用于表征所述哈希树中,除目标节点以外的其他节点的哈希值;
所述数据使用设备,被配置为向所述云服务器发送携带有所述目标请求编号的数据获取请求,其中所述目标请求编号用于表征所述哈希树中,目标节点对应的目标授权数据,所述数据获取请求用于获取所述目标授权数据;并在对目标密文数据进行解密得到明文数据后,计算得到所述明文数据对应的明文哈希值,并在利用所述明文哈希值以及所述核验哈希值对所述哈希根进行校验通过后,确定所述明文数据为所述目标授权数据。
10.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;以及,
处理器,用于与所述存储器执行所述可执行指令从而完成权利要求1-8中任一所述基于区块链的数据传输方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310785116.XA CN117118586B (zh) | 2023-06-29 | 2023-06-29 | 基于区块链的数据传输方法、系统、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310785116.XA CN117118586B (zh) | 2023-06-29 | 2023-06-29 | 基于区块链的数据传输方法、系统、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117118586A true CN117118586A (zh) | 2023-11-24 |
CN117118586B CN117118586B (zh) | 2024-05-10 |
Family
ID=88802809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310785116.XA Active CN117118586B (zh) | 2023-06-29 | 2023-06-29 | 基于区块链的数据传输方法、系统、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117118586B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452748A (zh) * | 2016-10-18 | 2017-02-22 | 西安电子科技大学 | 基于多用户的外包数据库审计方法 |
CN106815530A (zh) * | 2016-12-26 | 2017-06-09 | 北京爱接力科技发展有限公司 | 数据存证方法、数据校验方法及装置 |
CN109725983A (zh) * | 2018-11-22 | 2019-05-07 | 海光信息技术有限公司 | 一种数据交换方法、装置、相关设备及系统 |
CN111522809A (zh) * | 2019-02-02 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 数据处理方法、系统及设备 |
CN112836229A (zh) * | 2021-02-10 | 2021-05-25 | 北京深安信息科技有限公司 | 属性基加密和区块链结合的可信数据访问控制方案 |
EP3993318A1 (de) * | 2020-10-30 | 2022-05-04 | Bundesdruckerei GmbH | Blockchain-basiertes digitales dokumentensystem |
CN115408718A (zh) * | 2022-09-02 | 2022-11-29 | 中国银行股份有限公司 | 一种信息审计的方法及装置、电子设备、存储介质 |
CN115694811A (zh) * | 2022-11-15 | 2023-02-03 | 福建福链科技有限公司 | 一种基于无密钥签名的区块链数据传输方法与系统 |
-
2023
- 2023-06-29 CN CN202310785116.XA patent/CN117118586B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452748A (zh) * | 2016-10-18 | 2017-02-22 | 西安电子科技大学 | 基于多用户的外包数据库审计方法 |
CN106815530A (zh) * | 2016-12-26 | 2017-06-09 | 北京爱接力科技发展有限公司 | 数据存证方法、数据校验方法及装置 |
CN109725983A (zh) * | 2018-11-22 | 2019-05-07 | 海光信息技术有限公司 | 一种数据交换方法、装置、相关设备及系统 |
CN111522809A (zh) * | 2019-02-02 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 数据处理方法、系统及设备 |
EP3993318A1 (de) * | 2020-10-30 | 2022-05-04 | Bundesdruckerei GmbH | Blockchain-basiertes digitales dokumentensystem |
CN112836229A (zh) * | 2021-02-10 | 2021-05-25 | 北京深安信息科技有限公司 | 属性基加密和区块链结合的可信数据访问控制方案 |
CN115408718A (zh) * | 2022-09-02 | 2022-11-29 | 中国银行股份有限公司 | 一种信息审计的方法及装置、电子设备、存储介质 |
CN115694811A (zh) * | 2022-11-15 | 2023-02-03 | 福建福链科技有限公司 | 一种基于无密钥签名的区块链数据传输方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117118586B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110914851B (zh) | 提高区块链网络与外部数据源之间的通信的完整性 | |
US11652644B1 (en) | Quantum-resistant double signature system | |
US11811912B1 (en) | Cryptographic algorithm status transition | |
US10296248B2 (en) | Turn-control rewritable blockchain | |
CN110061846B (zh) | 对区块链中用户节点进行身份认证和确认的方法、装置及计算机可读存储介质 | |
US8528104B2 (en) | Security and ticketing system control and management | |
US10164963B2 (en) | Enforcing server authentication based on a hardware token | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
US20140258736A1 (en) | Systems and Methods for Maintaining Integrity and Secrecy in Untrusted Computing Platforms | |
US20050289343A1 (en) | Systems and methods for binding a hardware component and a platform | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
WO2021098152A1 (zh) | 基于区块链的数据处理方法、装置及计算机设备 | |
US11748521B2 (en) | Privacy-enhanced computation via sequestered encryption | |
US20220216999A1 (en) | Blockchain system for supporting change of plain text data included in transaction | |
CN114946152A (zh) | 用于在传输层安全和其它上下文中验证数据的分散式技术 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN113259100B (zh) | 基于tee的联邦推荐方法、装置、设备及介质 | |
CN117118586B (zh) | 基于区块链的数据传输方法、系统、电子设备及介质 | |
CN112910641B (zh) | 用于跨链交易监管的验证方法、装置、中继链节点及介质 | |
Yoo et al. | Confidential information protection system for mobile devices | |
CN116545673A (zh) | 一种数据传输方法、装置、云喇叭、电子设备及存储介质 | |
CN117395034A (zh) | 一种基于可信计算的区块链用户隐私保护方法 | |
CN115694818A (zh) | 数据一致性校验方法及装置 | |
JP2024057554A (ja) | ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末 | |
CN116996331A (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 |