CN116318765A - 一种基于区块链的可信数据共享交换方法及系统 - Google Patents
一种基于区块链的可信数据共享交换方法及系统 Download PDFInfo
- Publication number
- CN116318765A CN116318765A CN202211400855.4A CN202211400855A CN116318765A CN 116318765 A CN116318765 A CN 116318765A CN 202211400855 A CN202211400855 A CN 202211400855A CN 116318765 A CN116318765 A CN 116318765A
- Authority
- CN
- China
- Prior art keywords
- data
- sharing
- blockchain
- data set
- warehouse
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 19
- 230000003993 interaction Effects 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 10
- 108010015046 cell aggregation factors Proteins 0.000 claims description 9
- 238000012550 audit Methods 0.000 claims description 6
- 230000002085 persistent effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 101150060512 SPATA6 gene Proteins 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于区块链的可信数据共享交换方法及系统,通过基于区块链的多角色数据共享方法,管理不同节点间的权限分配与操作追责;数据发布者发布数据集到数据共享中台,并通过数据共享中台为数据集生成对应的区块链智能合约;数据请求者使用智能合约访问授权的数据仓库,实现自适应自验证的数据共享操作;数据监管者通过监管智能合约来确保共享的合规性,能够对上传的数据及其共享交换操作进行合法管控。本发明使用区块链作为可信的分布式存储方案并在此基础上构建多角色的数据共享交换方法,提高了分布式环境中共享数据的一致性和安全性,实现了多方信息的可信共享和高效交换。
Description
技术领域
本发明涉及数据应急管理技术领域,具体涉及一种基于区块链的可信数据共享交换方法及系统。
背景技术
在大数据和人工智能时代,数据共享普遍地发生在人们的生产生活中。数据的共享和融合是大数据工程和应用的重要组成部分,不仅驱动着智能应用的不断发展,而且加快了科学研究的产出效率。在数据共享过程中,传输的安全、实体的认证、数据的访问控制都是需要注意的安全问题,因此产业界和研究人员利用区块链来提高数据共享的安全性和可信度。区块链是一种新兴的分布式存储技术,在数据的可追溯性和安全性上存在着显著的优势。具体来说,区块链是一种存储着序列化交易的分布式账本。区块是区块链的基本组成部分,其中记录着一段时间内分布式环境中节点间发生的交易,每个交易包含着节点对数据主体的若干读写操作。区块之间通过一种线性、时序的哈希链相连接,每个区块的区块头中都存储有前一个区块全部内容的哈希值。
区块链是由Nokamoto等人于2008年提出的。作为一种公开的数字货币,任何节点都能够加入网络并与其他节点产生交易。交易以事务的形式在网络中广播,然后由区块链共识算法在网络中选择出一个合法的矿工(区块生成者)产生出新的区块,广播给其他节点并添加到本地的账本中。为了确保所有操作的安全性和一致性,区块链使用存储在链上的一段可执行代码来抽象出节点之间交互的范式,称为智能合约。
智能合约是一段保存在区块链上的自执行代码,用于控制网络中各个节点之间的数据交换和状态转移。节点在本地使用智能合约时,只有在满足合约触发条件时才会生成新的交易。智能合约将现实生活中的合同或条约转化成计算机中的代码,实现工作流程的自动化,减少了区块链网络对于第三方的依赖。将智能合约应用于数据共享过程中的访问控制,能够显著提升安全性和执行效率。此外,传统的访问控制系统需要由资源所有者或资源所有者信任的第三方进行部署、运行和管理,这将给网络带来巨大的运维成本。
因为区块链是由一系列包含有若干交易信息的区块组成,所以其无法有效地存储非事务性数据。如果将需要共享的数据集全部上传到链上,庞大的存储消耗会导致区块链的数据膨胀问题,从而增加了系统的运维成本。目前的解决方案主要采用原始数据离链存储,将元数据上链,然后利用数据加密技术和访问控制策略来管理数据共享流程。
现有解决方案的不足主要体现在:已有基于区块链的数据共享交换流程难以支持大规模数据存储、缺乏动态可追溯访问控制方法。数据共享技术多为访问控制策略的链上化,没有考虑到基于区块链协作业务流程中的共享数据如何进行高效访问和合法管控。
发明内容
本发明的目的在于,提供基于区块链的可信数据共享交换方法,通过可信的数据监管者监管共享权限,能够有效提高数据共享过程中的安全性和合法性,同时公开基于区块链的可信数据共享交换方法的系统。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现:
一种基于区块链的可信数据共享交换方法,包括以下步骤:
S1、用户注册对等节点并为其分配角色和公私密钥对;
S2、数据发布者发布数据集到数据共享中台;
S3、数据共享中台为数据集生成对应的区块链智能合约;
S4、数据请求者使用智能合约执行授权的数据操作;
S5、数据监管者通过监管智能合约来确保共享的合规性。
进一步的,所述步骤S1具体包括:
S101、为用户在区块链网络上生成对应的对等节点,节点的区块链地址ChainAddr是一段长度为40位的十六进制字符串,由用户名、时间戳和随机数经过SHA-1算法计算得出;
S102、基于对等节点的区块链地址ChainAddr为其生成公私密钥对,其中包括私钥SK和公钥PK。xh是ChainAddr高四位的十进制数值,PrimeNumsList是一个包含有1024个质数的有序集合,PrimeNumsList={2,3,5,7,11,13,……}。遍历PrimeNumsList的每个质数,如果xh能整除其中的元素,则执行xh=xh+1,直到xh能够与PrimeNumsList中所有数互质;
S103、通过ChainAddr低四位的十进制数值执行S102所述操作得到xl,聚合因子X=ln{xh}+ln{xl},解密因子p满足其中/>是欧拉函数,GCD(a,b)是a与b之间的最大公约数。聚合因子X和解密因子p共同构成了公钥PK(p,X);
S105、根据用户需求为对等节点生成对应交互角色,其中包括数据发布者、数据请求者、数据监管者和证书授权机构(CA,Certificate Authority);
S106、除CA之外,所有其他角色需要向CA注册数字证书,数字证书包含证书的版本信息、证书所有人名称、证书所有人的公钥,CA使用自己的私钥SK(q,X)和如下签名算法对数字证书进行签名;
crypto=(SHA-1(content))q mod eX
其中,SHA-1(·)为安全散列函数,content表示被签名的字符串,crypto表示经过签名后的密文。
进一步的,所述步骤S2具体包括:
S201、数据共享中台是连接区块链网络、元数据仓库和数据仓库之间的网关,用于实现链上数据与链下数据之间的交互,数据共享中台首先为上传的数据集生成对应的共享元数据,所述共享元数据包括:
PublisherID:由一段长度为40位十六进制字符串组成,为对等节点注册时的区块链地址;
DataSetID:由PublisherID和发布时间戳的哈希值组成,作为该数据集在数据仓库中的唯一标识符;
DataSetLocation:该数据集在数据仓库中的具体存储位置;
DataSetDescription:该数据集内容摘要和主要用途的相关描述;
AllowPermission:该数据集允许的访问权限,访问权限包括增加、检索、更新、删除四种类型,采用One-Hot编码方式进行存储;
AllowInterval:该数据集允许被申请的时长区间;
DataSetSize:该数据集的存储容量大小;
PublishTimeStamp:该数据集的发布时间戳;
S202、数据发布者向数据监管者提交元数据发布请求,将共享元数据发布到元数据仓库;元数据仓库是一个共享的Key/Value数据仓库,存储着数据集对应的共享元数据;元数据仓库的键是S201所述的DataSetID,值为S201中剩余的项;
S203、数据发布者向数据监管者提交数据集发布请求,将数据集发布到数据仓库;数据仓库是一个基于token验证的数据仓库,数据共享中台为数据请求者分发token,token将作为智能合约的参数,用于判断当前数据请求者是否有权限访问数据仓库中的数据集;
S204、数据仓库缓存数据发布者的数字证书和CA的公钥PK(p,X),能够通过如下公式验证CA对于数字证书的签名;
SHA-1(content)=(crypto)q mod eX
其中,SHA-1(·)为安全散列函数,content表示被签名的字符串,crypto表示经过签名后的密文。
进一步的,所述步骤S3具体包括:
S301、数据监管者审核S201所述的共享元数据信息;
S302、若数据监管者审核通过,则响应步骤S202、S203、S204,发布共享元数据到元数据仓库,发布数据集到数据仓库;若审核不通过,则拒绝共享数据集,并返回至S201步骤;
S303、在区块链上生成对应的智能合约,包括数据访问智能合约和数据操作智能合约,并使用S102所述的数据发布者和数据监管者的密钥签名,智能合约执行的参数、过程、结果都将记录在区块链上。
进一步的,所述步骤S4具体包括:
S401、数据请求者在S202所述的元数据仓库中查询需要使用的数据集;
S402、数据请求者填写数据集使用请求表单,其中包括对数据集的读写权限RequestPermission、数据集的使用目的RequestPurpose、数据集的使用结束日期RequestTime;
S403、数据请求者将数据集使用请求表单和私钥传入数据访问智能合约;
S404、数据访问智能合约根据以下公式计算出请求权限状态码Sp,其中Oa表示S201所述AllowPermission的One-Hot编码,Or表示S402所述RequestPermission的One-Hot编码,Count(var,“1”)表示计算var中字符“1”的个数;
S405、数据访问智能合约根据以下公式计算出请求时间状态码St,其中Ts表示提交请求表单的时间戳,Te表示提交的数据集使用结束日期,Ti表示S201所述的允许被申请的时长区间AllowInterval;
S406、数据访问智能合约将请求权限状态码Sp和请求时间状态码St执行与操作(与操作用&表示),若Sp&St=1,则授予其访问该数据集的token权限,用于访问S203所述的数据仓库;反之,则不授予其访问该数据集的token权限;
S407、数据请求者使用token传入数据操作智能合约;基于该token对应的数据集的读写权限和数据操作智能合约地址执行对应的读写操作,并按执行结果返回数据;
S408、数据操作智能合约使用数据请求者的私钥SK(q,X)和S106所述加密算法对token进行签名;
S409、数据仓库从缓存中查询出数据请求者的公钥PK(p,X),通过S204所述的解密算法对token签名进行验证。
进一步的,所述步骤S5具体包括:
S501、数据监管者通过查询区块链上的智能合约和token来追踪数据集的访问权限和操作权限,通过监管数据集的发布和撤销操作以确保数据共享流程的合规性;对于数据监管者,数据集的查询记录是无需上传到区块链上的,数据集的发布和撤销操作则需要所有数据监管者的同意,达成一致性共识并将共识结果记录上传到区块链;
S502、当数据发布者发送数据集共享撤销请求时,数据监管者响应其撤销请求,从区块链上销毁对应的数据访问智能合约和数据操作智能合约,并从元数据仓库中冻结该数据集的访问权限;如果在限定时间内,数据发布者未请求恢复数据访问权限,则异步地删除数据仓库中的相关数据;
S503、在数据请求者的token有效时间内,若数据请求者发送续订请求,数据监管者响应其续订请求,继续执行步骤S402。
本发明的另一目的在于,提供基于区块链的可信数据共享交换方法的系统,所述系统:
包括身份管理系统、数据共享中台和区块链基础平台;
所述身份管理系统在用户注册时,根据用户需求分别为其分配对等节点、加密密钥对和交互角色,其中交互角色包括数据发布者、数据请求者和数据监管者;
所述数据共享中台在用户请求时为其提供可信的数据共享服务,数据发布者将数据集发布到数据仓库,数据请求者通过查询所需数据集的共享元数据信息,可以通过数据访问智能合约请求有关该数据集在一定时间内的操作权限,通过数据操作智能合约实现数据的可信共享交换操作;
所述区块链基础平台用于持久化数据共享过程中的交互记录,并为每个发布的数据集生成数据访问智能合约和数据操作智能合约,用于提供自执行自验证的数据共享操作。
本发明的有益效果:
1、本发明提出一种基于区块链的可信数据共享交换方法,通过基于区块链的多交互角色数据共享方法,有助于管理不同节点间的权限分配与操作追责,通过数据集和元数据的分离存储方案,能够降低区块链基础平台的存储负担,各节点可以通过元数据仓库来查询需要共享的数据集,提高了数据共享效率,通过基于智能合约的数据共享方法,可以实现自适应自验证的数据共享操作,通过基于token的数据集访问策略,能够增强共享数据访问控制的安全性;
2、本发明的基于区块链的可信数据共享交换方法,能够为用户在区块上分配对等节点,将计算和存储任务转移至区块链网络,用户通过本地的瘦客户机即可访问链上数据,利用公私钥加密能够对消息进行相互验证,确保了消息的可靠性和完整性,角色分配能够有效隔离不同节点的权限,明确不同节点的责任;
3、本发明的基于区块链的可信数据共享交换方法,通过数据监管者审核数据集的发布、共享和撤销流程,管理区块链智能合约和token的生命周期,能够及时追踪数据集的访问权限和操作权限,实现对上传的数据集及其共享交换操作进行合法管控;
4、本发明的基于区块链的可信数据共享交换方法,设计了数据访问智能合约和数据操作智能合约,实现了自执行自验证的数据访问和操作方法,提高了数据共享过程中的可信度和规范性,将智能合约执行的参数、过程、结果都记录在区块链上,提高了数据共享权限的安全性和可追溯性;
5、本发明的基于区块链的可信数据共享交换方法,通过可信的数据监管者监管共享权限,能够有效提高数据共享过程中的安全性和合法性,数据监管者针对数据集的撤销和续订请求进行审查和响应,保护数据发布者的合法权益。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1为本发明实施例所述基于区块链的可信数据共享交换方法流程示意图;
图2为本发明实施例所述共享数据上传流程示意图;
图3为本发明实施例所述共享数据访问流程示意图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合附图对实施例对本发明进行详细说明。
实施例1
如图1-3所示:
本实施例中,基于区块链的可信数据共享交换方法,包括S1至S5所述步骤:
本实施例中,步骤S1、用户注册对等节点并为其分配角色和公私密钥对具体包括:
S101、为用户在区块链网络上生成对应的对等节点,节点的区块链地址ChainAddr是一段长度为40位的十六进制字符串,由用户名(User0)、时间戳(UTC+20:00)和随机数(0x10010011)经过SHA-1算法计算得出,ChainAddr=“d232d8e39bc7183221e8365ee317158e1b9251c7”;
S102、基于对等节点的区块链地址ChainAddr为其生成公私密钥对,其中包括私钥SK和公钥PK。xh是ChainAddr高四位(“d232”)的十进制数值,xh=53810,PrimeNumsList是一个包含有1024个质数的有序集合,PrimeNumsList={2,3,5,7,11,13,……}。遍历PrimeNumsList的每个质数,如果xh能整除其中的元素,则执行xh=xh+1,直到xh能够与PrimeNumsList中所有数互质,得到xh=53813;
S103、通过ChainAddr低四位(“51c7”)的十进制数值执行S102所述操作得到xl=20939,聚合因子X=ln{xh}+ln{xl},解密因子p满足 其中/>是欧拉函数,GCD(a,b)是a与b之间的最大公约数。因此,聚合因子X=1126727590和解密因子p=545217859共同构成了公钥PK(p,X);
S105、根据用户需求为对等节点生成对应交互角色,其中包括数据发布者、数据请求者、数据监管者和证书授权机构(CA,Certificate Authority);
S106、除CA之外,所有其他角色需要向CA注册数字证书,数字证书包含证书的版本信息、证书所有人名称、证书所有人的公钥,CA使用自己的私钥SK(q,X)和如下签名算法对数字证书进行签名;
crypto=(SHA-1(content))q mod eX
其中,SHA-1(·)为安全散列函数,content表示被签名的字符串,crypto表示经过签名后的密文。
本实施例中,能够为用户在区块上分配对等节点,将计算和存储任务转移至区块链网络,用户通过本地的瘦客户机即可访问链上数据,公私钥能够进行相互验证,确保了消息的可靠性,角色分配能够有效隔离不同节点的权限,明确不同节点的责任。
本实施例中,步骤S2、数据发布者发布数据集到数据共享中台具体包括:
S201、数据共享中台为上传的数据集生成对应的共享元数据,所述共享元数据包括:
PublisherID:由一段十六进制字符组成,为对等节点注册时的区块链地址ChainAddr,通过S101步骤计算得出的一段长度为40位的十六进制字符串,PublisherID=“d232d8e39bc7183221e8365ee317158e1b9251c7”;
DataSetID:由PublisherID和发布时间戳(UTC+10:41)的哈希值组成,作为该数据集在数据仓库中的唯一标识符,DataSetID=“adad58540ad37e512d38564f373508a1955c810d”;
DataSetLocation:该数据集在数据仓库中的具体存储位置,DataSetLocation=“Server0003:/usr/share/955c810d/data”;
DataSetDescription:该数据集内容摘要和主要用途的相关描述;
AllowPermission:该数据集允许的访问权限,访问权限包括增加、检索、更新、删除四种类型,采用One-Hot编码方式进行存储;发布只读权限的数据集,其AllowPermission=“1100”;
AllowInterval:该数据集允许被申请的时长区间,发布数据集的可共享时长为1000小时,即AllowInterval=“1000h”;
DataSetSize:该数据集的存储容量大小,DataSetSize=“20GB”;
PublishTimeStamp:该数据集的发布时间戳,PublishTimeStamp=“UTC+2022-10-27 09:00”;
S202、向数据监管者提交元数据发布请求,将共享元数据发布到元数据仓库;元数据仓库是一个共享的Key/Value数据仓库,存储着数据集对应的共享元数据;元数据仓库的键是S201所述的DataSetID,值为S201中剩余的项;
S203、向数据监管者提交数据集发布请求,将数据集发布到数据仓库;数据仓库是一个基于token验证的数据仓库,数据共享中台为数据请求者分发token,token将作为智能合约的参数,用于判断当前数据请求者是否有权限访问数据仓库中的数据集;数据共享中台通过UUID(Universally Unique Identifier)算法生成token,UUID一种通用唯一识别码,常作为分布式系统中元素的识别信息;
S204、数据仓库缓存数据发布者的数字证书和CA的公钥PK(p,X),能够通过如下公式验证CA对于数字证书的签名;
SHA-1(content)=(crypto)q mod eX
其中,SHA-1(·)为安全散列函数,content表示被签名的字符串,crypto表示经过签名后的密文。
本实施例中,将数据集与元数据分开存储,能够显著降低区块链基础平台的存储负担,各节点可以通过元数据仓库来查询需要共享的数据集,提高了数据共享效率,通过基于token的数据集访问策略,能够增强共享数据访问控制的安全性。
本实施例中,步骤S3、数据共享中台为数据集生成对应的区块链智能合约具体包括:
S301、数据监管者审核S201所述的共享元数据信息;
S302、若数据监管者审核通过,则响应步骤S202、S203,发布共享元数据到元数据仓库,发布数据集到数据仓库;若审核不通过,则拒绝共享数据集,并返回至S201步骤;
S303、在区块链上生成对应的智能合约,包括数据访问智能合约和数据操作智能合约,并使用S102所述的数据发布者和数据监管者的密钥签名,智能合约执行的参数、过程、结果都将记录在区块链上;
本实施例中,通过数据监管者审核上传的数据集,能够对上传的数据集及其共享交换操作进行合法管控。
本实施例中,步骤S4、数据请求者使用智能合约执行数据操作具体包括:
S401、数据请求者在S202所述的元数据仓库中查询需要使用的数据集;
S402、数据请求者填写数据集使用请求表单,其中包括对数据集的读写权限RequestPermission=“1000”、数据集的使用目的RequestPurpose=“用户请求数据集的只读权限,仅用于学术科研活动”、数据集的使用结束日期RequestTime=“UTC+2022-11-2709:00”;
S403、数据请求者将数据集使用请求表单和私钥传入数据访问智能合约;
S404、数据访问智能合约根据以下公式计算出请求权限状态码Sp,其中Oa表示S201所述AllowPermission=“1100”的One-Hot编码,Or表示S402所述RequestPermission=“1000”的One-Hot编码,Count(var,“1”)表示计算var中字符“1”的个数,由此可得Sp=1;
S405、数据访问智能合约根据以下公式计算出请求时间状态码St,其中Ts表示提交请求表单的时间戳,Te表示S402所述的数据集使用结束日期RequestTime,Ti表示S201所述的允许被申请的时长区间AllowInterval,由此可得Sp=1;
S406、数据访问智能合约将请求权限状态码Sp和请求时间状态码St执行与操作,因为Sp&St=1,所以授予其访问该数据集的token权限,用于访问S203所述的数据仓库;反之,则不授予其访问该数据集的token权限;
S407、数据请求者使用token传入数据操作智能合约;基于该token对应的数据集的读写权限执行对应的读写操作,并按执行结果返回数据;
S408、数据操作智能合约使用数据请求者的私钥SK(q,X)和S106所述加密算法对token进行签名;
S409、数据仓库从缓存中查询出数据请求者的公钥PK(p,X),通过S204所述的解密算法对token签名进行验证。
本实施例中,设计了数据访问智能合约和数据操作智能合约,实现了自执行自验证的数据访问和操作方法,提高了数据共享过程中的可信度和规范性,将智能合约执行的参数、过程、结果都将记录在区块链上,提高了数据共享权限的安全性和可追溯性。
S5、数据监管者通过监管智能合约来确保共享的合规性具体包括:
S501、数据监管者通过CheckContractLifeCycle(PublisherID)查询区块链上的智能合约和CheckDataSetToken(DataSetID)获取token来追踪数据集的访问权限和操作权限,PublisherID和DataSetID为S201数据共享中台生成的唯一标识,通过监管数据集的S203所述的发布操作和S502所述的撤销操作以确保数据共享流程的合规性;对于数据监管者,数据集的查询记录是无需上传到区块链上的,数据集的发布和撤销操作则需要所有数据监管者的同意,达成一致性共识并将共识结果记录上传到区块链;
S502、当数据发布者发送数据集共享撤销DataSetRevoke(DataSetID,SK(q,X))请求时,数据监管者响应其撤销请求,通过该数据发布者的公钥PK(p,X)和S204验证该条请求的合法性,并从区块链上销毁对应的数据访问智能合约和数据操作智能合约,从元数据仓库中冻结该数据集的访问权限;如果在限定时间Tlimit=72h内,数据发布者未请求恢复数据访问权限,则异步地删除数据仓库中的相关数据;
S503、在数据请求者的token有效时间内,若数据请求者发送续订请求DataSetRenew(DataSetID,SK(q,X),“1000h”),数据监管者响应其续订请求,通过该数据发布者的公钥PK(p,X)和S204验证该条请求的合法性,继续执行步骤S402;
本实施例中,通过可信的数据监管者监管共享权限,能够有效提高数据共享过程中的安全性和合法性,数据监管者针对数据集的撤销和续订请求进行审查和响应,能够保护数据发布者的合法权益。
实施例2
基于实施例1所述,本实施例提供基于区块链的可信数据共享交换方法的系统;
本实施例所述的基于数据共享交换方法的数据共享交换系统,包括身份管理系统、数据共享中台和区块链基础平台;
所述身份管理系统在用户注册时,根据用户需求分别为其分配对等节点、加密密钥对和交互角色,其中交互角色包括数据发布者、数据请求者和数据监管者;
所述数据共享中台在用户请求时为其提供可信的数据共享服务,数据发布者将数据集发布到数据仓库,数据请求者通过查询所需数据集的共享元数据信息,可以通过数据访问智能合约请求有关该数据集的一定时间内的操作权限,通过数据操作智能合约实现数据的可信共享交换操作;
所述区块链基础平台用于持久化数据共享过程中的交互记录,并为每个发布的数据集生成数据访问智能合约和数据操作智能合约,用于提供自执行自验证的数据共享操作。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (7)
1.一种基于区块链的可信数据共享交换方法,其特征在于,包括以下步骤:
S1、用户注册对等节点并为其分配角色和公私密钥对;
S2、数据发布者发布数据集到数据共享中台;
S3、数据共享中台为数据集生成对应的区块链智能合约;
S4、数据请求者使用智能合约执行授权的数据操作;
S5、数据监管者通过监管智能合约来确保共享的合规性。
2.如权利要求1所述的基于区块链的可信数据共享交换方法,其特征在于,所述步骤S1具体包括:
S101、为用户在区块链网络上生成对应的对等节点,节点的区块链地址ChainAddr是一段长度为40位的十六进制字符串,由用户名、时间戳和随机数经过安全散列算法(SHA-1,Secure Hash Algorithm 1)计算得出;
S102、基于对等节点的区块链地址ChainAddr为其生成公私密钥对,其中包括私钥SK和公钥PK。xh是ChainAddr高四位的十进制数值,PrimeNumsList是一个包含有1024个质数的有序集合,PrimeNumsList={2,3,5,7,11,13,……}。遍历PrimeNumsList的每个质数,如果xh能整除其中的元素,则执行xh=xh+1,直到xh能够与PrimeNumsList中所有数互质;
S103、通过ChainAddr低四位的十进制数值执行S102所述操作得到xl,聚合因子X=ln{xh}+ln{xl},解密因子p满足其中/>是欧拉函数,GCD(a,b)是a与b之间的最大公约数。聚合因子X和解密因子p共同构成了公钥PK(p,X);
S105、根据用户需求为对等节点生成对应交互角色,其中包括数据发布者、数据请求者、数据监管者和证书授权机构(CA,Certificate Authority);
S106、除CA之外,所有其他角色需要向CA注册数字证书,数字证书包含证书的版本信息、证书所有人名称、证书所有人的公钥,CA使用自己的私钥SK(q,X)和如下签名算法对数字证书进行签名;
crypto=(SHA-1(content))q mod eX
其中,SHA-1(·)为安全散列函数,content表示被签名的字符串,crypto表示经过签名后的密文。
3.如权利要求1所述的基于区块链的可信数据共享交换方法,其特征在于,所述步骤S2具体包括:
S201、数据共享中台是连接区块链网络、元数据仓库和数据仓库之间的网关,用于实现链上数据与链下数据之间的交互,数据共享中台首先为上传的数据集生成对应的共享元数据,所述共享元数据包括:
PublisherID:由一段长度为40位十六进制字符串组成,为对等节点注册时的区块链地址;
DataSetID:由PublisherID和发布时间戳的哈希值组成,作为该数据集在数据仓库中的唯一标识符;
DataSetLocation:该数据集在数据仓库中的具体存储位置;
DataSetDescription:该数据集内容摘要和主要用途的相关描述;
AllowPermission:该数据集允许的访问权限,访问权限包括增加、检索、更新、删除四种类型,采用One-Hot编码方式进行存储;
AllowInterval:该数据集允许被申请的时长区间;
DataSetSize:该数据集的存储容量大小;
PublishTimeStamp:该数据集的发布时间戳;
S202、数据发布者向数据监管者提交元数据发布请求,将共享元数据发布到元数据仓库;元数据仓库是一个共享的Key/Value数据仓库,存储着数据集对应的共享元数据;元数据仓库的键是S201所述的DataSetID,值为S201中剩余的项;
S203、数据发布者向数据监管者提交数据集发布请求,将数据集发布到数据仓库;数据仓库是一个基于token验证的数据仓库,数据共享中台为数据请求者分发token,token将作为智能合约的参数,用于判断当前数据请求者是否有权限访问数据仓库中的数据集;
S204、数据仓库缓存数据发布者的数字证书和CA的公钥PK(p,X),能够通过如下公式验证CA对于数字证书的签名;
SHA-1(content)=(crypto)q mod eX
其中,SHA-1(·)为安全散列函数,content表示被签名的字符串,crypto表示经过签名后的密文。
4.如权利要求1所述的基于区块链的可信数据共享交换方法,其特征在于,所述步骤S3具体包括:
S301、数据监管者审核S201所述的共享元数据信息;
S302、若数据监管者审核通过,则响应步骤S202、S203、S204,发布共享元数据到元数据仓库,发布数据集到数据仓库;若审核不通过,则拒绝共享数据集,并返回至S201步骤;
S303、在区块链上生成对应的智能合约,包括数据访问智能合约和数据操作智能合约,并使用S102所述的数据发布者和数据监管者的密钥签名,智能合约执行的参数、过程、结果都将记录在区块链上。
5.如权利要求1所述的基于区块链的可信数据共享交换方法,其特征在于,所述步骤S4具体包括:
S401、数据请求者在S202所述的元数据仓库中查询需要使用的数据集;
S402、数据请求者填写数据集使用请求表单,其中包括对数据集的读写权限RequestPermission、数据集的使用目的RequestPurpose、数据集的使用结束日期RequestTime;
S403、数据请求者将数据集使用请求表单和私钥传入数据访问智能合约;
S404、数据访问智能合约根据以下公式计算出请求权限状态码Sp,Oa表示S201所述AllowPermission的One-Hot编码,Or表示S402所述RequestPermission的One-Hot编码,Count(var,“1”)表示计算var中字符“1”的个数;
S405、数据访问智能合约根据以下公式计算出请求时间状态码St,其中Ts表示提交请求表单的时间戳,Te表示提交的数据集使用结束日期,Ti表示S201所述的允许被申请的时长区间AllowInterval;
S406、数据访问智能合约将请求权限状态码Sp和请求时间状态码St执行与操作(与操作用&表示),若Sp&St=1,则授予其访问该数据集的token权限,用于访问S203所述的数据仓库;反之,则不授予其访问该数据集的token权限;
S407、数据请求者使用token传入数据操作智能合约;基于该token对应的数据集的读写权限和数据操作智能合约地址执行对应的读写操作,并按执行结果返回数据;
S408、数据操作智能合约使用数据请求者的私钥SK(q,X)和S106所述加密算法对token进行签名;
S409、数据仓库从缓存中查询出数据请求者的公钥PK(p,X),通过S204所述的解密算法对token签名进行验证。
6.如权利要求1所述的基于区块链的可信数据共享交换方法,其特征在于,所述步骤S5具体包括:
S501、数据监管者通过查询区块链上的智能合约和token来追踪数据集的访问权限和操作权限,通过监管数据集的发布和撤销操作以确保数据共享流程的合规性;对于数据监管者,数据集的查询记录是无需上传到区块链上的,数据集的发布和撤销操作则需要所有数据监管者的同意,达成一致性共识并将共识结果记录上传到区块链;
S502、当数据发布者发送数据集共享撤销请求时,数据监管者响应其撤销请求,从区块链上销毁对应的数据访问智能合约和数据操作智能合约,并从元数据仓库中冻结该数据集的访问权限;如果在限定时间内,数据发布者未请求恢复数据访问权限,则异步地删除数据仓库中的相关数据;
S503、在数据请求者的token有效时间内,若数据请求者发送续订请求,数据监管者响应其续订请求,继续执行步骤S402。
7.如权利要求1-6任意一项所述的基于区块链的可信数据共享交换方法的数据共享交换系统,其特征在于,所述数据共享交换系统:
包括身份管理系统、数据共享中台和区块链基础平台;
所述身份管理系统在用户注册时,根据用户需求分别为其分配对等节点、加密密钥对和多种交互角色,其中多种交互角色包括数据发布者、数据请求者、数据监管者和证书授权机构;
所述数据共享中台在用户请求时为其提供可信的数据共享服务,数据发布者将数据集发布到数据仓库,数据请求者通过查询所需数据集的共享元数据信息,可以通过数据访问智能合约请求有关该数据集的一定时间内的操作权限,通过数据操作智能合约实现数据的可信共享交换操作;
所述区块链基础平台用于持久化数据共享过程中的交互记录,并为每个发布的数据集生成数据访问智能合约和数据操作智能合约,用于提供自执行自验证的数据共享操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211400855.4A CN116318765A (zh) | 2022-11-09 | 2022-11-09 | 一种基于区块链的可信数据共享交换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211400855.4A CN116318765A (zh) | 2022-11-09 | 2022-11-09 | 一种基于区块链的可信数据共享交换方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318765A true CN116318765A (zh) | 2023-06-23 |
Family
ID=86819156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211400855.4A Pending CN116318765A (zh) | 2022-11-09 | 2022-11-09 | 一种基于区块链的可信数据共享交换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318765A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573672A (zh) * | 2023-10-31 | 2024-02-20 | 电子科技大学长三角研究院(湖州) | 一种基于区块链的数据管理系统框架 |
-
2022
- 2022-11-09 CN CN202211400855.4A patent/CN116318765A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573672A (zh) * | 2023-10-31 | 2024-02-20 | 电子科技大学长三角研究院(湖州) | 一种基于区块链的数据管理系统框架 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shuaib et al. | Secure decentralized electronic health records sharing system based on blockchains | |
CN109219940B (zh) | 私有节点以及私有节点中的处理方法 | |
CN103098070B (zh) | 用于监视网络服务中数据位置的方法、装置和系统 | |
CN113961535A (zh) | 一种基于区块链的数据可信存储共享系统与方法 | |
JP2021512569A (ja) | ブロックチェーンのデータ処理方法、管理側、クライアント側、変換装置及び媒体 | |
Peng et al. | A peer-to-peer file storage and sharing system based on consortium blockchain | |
CN109858272A (zh) | 基于区块链的黑名单数据处理系统 | |
Abadi et al. | Anylog: a grand unification of the internet of things | |
CN114493865A (zh) | 基于区块链的去中心化互联网协同系统和数据交互方法 | |
Liang et al. | A dual-chain digital copyright registration and transaction system based on blockchain technology | |
Hao et al. | Blockchain-based outsourced storage schema in untrusted environment | |
CN112491804A (zh) | 一种基于区块链的ics安全策略方法 | |
CN116318765A (zh) | 一种基于区块链的可信数据共享交换方法及系统 | |
US20220247570A1 (en) | Content use system, permission terminal, browsing terminal, distribution terminal, and content use program | |
Jaya et al. | Blockchain applications in drug data records | |
Jayabal et al. | Performance analysis on diversity mining‐based proof of work in bifolded consortium blockchain for Internet of Things consensus | |
CN114329512A (zh) | 一种基于区块链的加密数据资产确权、管理和使用方法与装置 | |
Liu et al. | Blockchain-based access control approaches | |
US11271716B1 (en) | Blockchain-based data management of distributed binary objects | |
CN113011960A (zh) | 基于区块链的数据访问方法、装置、介质及电子设备 | |
CN113449014B (zh) | 一种基于区块链的选择性云数据查询系统 | |
CN113420083B (zh) | 一种具有可拓展分布式账本的异构并行区块链结构的系统 | |
Ma et al. | Integrating blockchain and ZK-ROLLUP for efficient healthcare data privacy protection system via IPFS | |
Song et al. | Research on Blockchain-Based FinTech Trust Evaluation Mechanism | |
Weixian et al. | Design of collaborative control scheme between on-chain and off-chain power data |
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 |