CN113239376A - 基于区块链的数据共享方法、请求方法及装置 - Google Patents
基于区块链的数据共享方法、请求方法及装置 Download PDFInfo
- Publication number
- CN113239376A CN113239376A CN202110528283.7A CN202110528283A CN113239376A CN 113239376 A CN113239376 A CN 113239376A CN 202110528283 A CN202110528283 A CN 202110528283A CN 113239376 A CN113239376 A CN 113239376A
- Authority
- CN
- China
- Prior art keywords
- data
- block chain
- information
- algorithm
- fingerprint
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Abstract
本发明提供一种基于区块链的数据共享方法、请求方法及装置,所述共享方法基于区块链发布待分享数据信息的数据目录和指纹,而不直接上传待分享数据,实现了数据的分布式存储,极大节约了存储空间。在共享过程中,共享双方依靠区块链网络沟通达成共享合约并记录共享结果,再依靠通信网络传输数据,利用区块链的去中心化、链上数据无法篡改、可追溯等特点,保证数据共享双方权责清晰,消除了数据孤岛和数据寡头。进一步的,利用密码学技术进行数据传输,保证共享的数据正确,使共享的文件安全可靠地实现传输。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种基于区块链的数据共享方法、请求方法及装置。
背景技术
目前的数据服务中的数据交易和共享方式,诸如云计算、云存储和云分享等模式,都是基于中心化服务器的设计理念,例如在现有数据平台上分享或者获取数据的时候,数据平台作为一个中心,共享方将数据上传到数据平台,使用方从数据平台获取需要的数据,交易产生的费用也经过了数据平台中间方。在此中心化的场景下会出现数据平台权利过大,数据隐私得不到保护、被共享的数据经他人之手被再次共享、数据权属不清等诸多问题,具体来说,存在如下几个痛点问题:
1.数据权属缺少公开确认。数据发布由资源方自主提交,系统对数据缺少唯一性鉴别与时序公证登记,可能会存在数据重复登记、权属不清等问题,可能会导致权责纠纷。
2.数据安全责任边界不清。数据平台在实现数据流转的同时也在传递着安全责任,现有传输方法中,无差异的数据、单向责任传递、简单的审计则必然导致安全责任“连坐”,既不利于数据泄露溯源,又损害共享者的积极性。
3.数据管控责任过于集中。数据访问授权、共享交换、日志审计等均在信息共享平台完成,这就要求资源提供者、需求者要充分信赖平台,平台自然也就要承担主要管控责任,而这在实际应用中往往会存在问题。
4.缺少公开公正评价机制。资源请求者没有公开公正途径评价数据质量,集中式的评价管理机制缺少公信力,从而也就难以为平台对数据提供者实施有效的监督管理提供支撑。
发明内容
本发明实施例提供了一种基于区块链的数据共享方法、请求方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,以解决中心化服务器在数据共享过程中所存在的缺少公开确认、安全责任边界不清、数据管控过于集中以及缺少公开公正评价的问题。
本发明的技术方案如下:
一方面,本发明提供一种基于区块链的数据共享方法,包括:
接收数据共享方基于待分享数据信息生成数据目录和数据指纹,将所述数据目录、所述数据指纹以及所述数据共享方的第一数字签名发布在区块链上;所述数据指纹是通过摘要算法对所述待分享数据信息进行处理得到的数据摘要;
接收数据请求方发送的针对所述待分享数据信息的第一数据请求以及所述数据请求方对应的第二数字签名,基于所述数据请求生成用于传输数据的对称加密秘钥;
采用所述数据共享方对应的公钥加密所述对称加密秘钥并发送至所述数据共享方,采用所述数据请求方对应的公钥加密所述对称加密秘钥并发送至所述数据请求方,以供所述数据共享方和所述数据请求方通过相应的私钥解密得到所述对称加密秘钥,并基于所述对称加密私钥和通信网络加密传输数据;
将所述第一数据请求对应数据传输过程涉及的所述第一数字签名、所述第二数字签名以及所述待分享数据的数据指纹发布在所述区块链上。
在一些实施例中,接收数据请求方发送的针对所述待分享数据信息的第一数据请求以及所述数据请求方对应的第二数字签名之后,还包括:
接收所述数据请求方的权限信息,若所述权限信息记载的权限等级大于等于所述待分享数据信息对应的文件等级,则基于所述数据请求生成用于传输数据的对称加密秘钥;若所述权限信息记载的权限等级小于所述待分享数据信息对应的文件等级,则生成请求失败信息并返回至所述数据请求方。
在一些实施例中,所述摘要算法为哈希算法,所述哈希算法采用MD5算法、SHA算法或CRC算法中的一种。
在一些实施例中,基于所述数据请求生成用于传输数据的对称加密秘钥,包括:采用DES算法、3DES算法、AES算法、DESX算法、Blowfish算法、RC4算法、RC5算法或RC6算法中的一种生成对称加密秘钥。
在一些实施例中,所述基于区块链的数据共享方法还包括:
采用所述数据共享方对应的公钥对所述第一数字签名进行验证,若合法则将所述数据目录、所述数据指纹以及所述数据共享方的第一数字签名发布在区块链上;若不合法则不操作;
和/或,采用数据请求方对应的公钥对所述第二数字签名进行验证,若合法则基于所述数据请求生成用于传输数据的对称加密秘钥;若不合法则不操作。
另一方面,本发明还提供一种基于区块链的数据请求方法,包括:
查询区块链中记载的数据目录,并获取目标数据的第一目录以及所述目标数据对应数据共享方的第一数字签名;
根据所述第一目录和第一数字签名生成数据请求信息,将所述数据请求信息以及数据请求方对应的第二数字签名发送至所述区块链,用于与所述数据共享方签订数据共享合约;
接收所述区块链返回的传输秘钥信息,所述传输秘钥信息由所述数据请求方对应公钥加密对称加密秘钥得到;
采用所述数据请求方的私钥解密所述传输秘钥信息得到所述对称加密秘钥;
基于通信网络接收所述数据共享方发送的传输数据,所述传输数据由所述对称加密秘钥对所述目标数据加密得到;
采用所述对称加密秘钥对所述传输数据进行解密得到所述目标数据。
在一些实施例中,所述基于区块链的数据请求方法还包括:
查询所述区块链上记载的所述目标数据对应的第一数据指纹,所述第一数据指纹是所述数据共享方采用设定摘要算法对原始目标数据进行处理得到的数据摘要;
采用所述设定摘要算法对经传输解密得到的目标数据进行计算并获取数据摘要作为第二数据指纹;
比对所述第一数据指纹和所述第二数据指纹,若不一致则向所述区块链重新发送所述数据请求信息。
在一些实施例中,比对所述第一数据指纹和所述第二数据指纹,若不一致则向所述区块链重新发送所述数据请求信息之后,还包括:生成数据传输错误信息发送并公布在所述区块链上。
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
本发明的有益效果至少是:
本发明所述基于区块链的数据共享方法、请求方法及装置中,所述共享方法基于区块链发布待分享数据信息的数据目录和指纹,而不直接上传待分享数据,实现了数据的分布式存储,极大节约了存储空间。在共享过程中,共享双方依靠区块链网络沟通达成共享合约并记录共享结果,再依靠通信网络传输数据,利用区块链的去中心化、链上数据无法篡改、可追溯等特点,保证数据共享双方权责清晰,消除了数据孤岛和数据寡头。进一步的,利用密码学技术进行数据传输,保证共享的数据正确,使共享的文件安全可靠地实现传输。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所述基于区块链的数据共享方法的流程示意图;
图2为本发明一实施例所述基于区块链的数据请求方法的流程示意图;
图3为本发明一实施例所述基于区块链的数据共享方法中数据共享方和数据请求方连接结构示意图;
图4为本发明一实施例所述基于区块链的数据共享方法的逻辑示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
现有技术中的数据共享方式,诸如云计算、云存储和云分享等模式,都是基于中心化服务器的设计理念,由数据的提供者将数据上传至中心服务器,数据的使用者再从中心服务器获取。这要求中心服务器存储大量数据,而由于数据的自主提交和重复发布,导致数据重复登记、权属不清。而数据共享过程中无差异数据的责任传递模糊,导致安全责任边界不清。数据共享的全部流程由中心服务器完成,管控责任过于集中。进一步地,集中式的评价管理机制缺少公信力,导致监管困难。
本发明针对解决传统中心化的数据共享中出现的痛点问题,结合区块链去中心化的优势,构建出一套基于区块链的数据共享方法、请求方法及装置。区块链是一种公开透明、去中心化的数据存储技术,所有进入区块链系统的信息都是公开的,所有交易或者合约脚本的执行都是透明的。区块链的这种特性可以解决传统数据共享技术的数据管控权利过于集中、数据交易不透明、数据无法溯源等问题。同时在区块链技术上结合密码学相关技术,可以解决传统数据共享中数据隐私和数据安全得不到保障的问题。区块链和密码学的结合为链上的各个实体之间提供了信任的传递,各实体在智能合约的规则下按照事先约定安全可信得执行数据共享的各个流程,打破了各实体之间的不信任,进一步解决了传统数据共享场景中的数据孤岛的问题。
具体的,参照图3,本发明所述基于区块链的数据共享方法和请求方法中,数据共享方和数据请求方构成区块链网络中的各个节点,各节点可以作为数据的共享方,也可以成为数据请求方。区块链网络上的数据共享和数据请求过程,由部署在区块链网络上的智能合约处理完成。智能合约是一段编译好的具有特定功能的代码,将这相应的代码写到区块链上实现相应的功能。智能合约代码和区块链上其他的信息没有本质区别,都在链上存储,只不过智能合约部署后,会生成一个合约地址,作为用户或者区块链系统访问智能合约的接口。因为智能合约是写到链上的代码,所以可以认为每一个具有特定功能的智能合约都部署在了区块链的每一个节点上。因为这段代码写到区块链上后无法更改,并且访问者可以看到这段代码的具体功能,所以可以信任智能合约的执行过程,这是智能合约区别于传统中心化机构处理业务的优点。进一步地,各节点还通过通信网络进行连接,用于传输数据。
一方面,本发明提供一种基于区块链的数据共享方法,用于在区块链上以智能合约的形式运行,如图1所示,包括步骤S101~S104:
步骤S101:接收数据共享方基于待分享数据信息生成数据目录和数据指纹,将数据目录、数据指纹以及数据共享方的第一数字签名发布在区块链上;数据指纹是通过摘要算法对待分享数据信息进行处理得到的数据摘要。
步骤S102:接收数据请求方发送的针对待分享数据信息的第一数据请求以及数据请求方对应的第二数字签名,基于数据请求生成用于传输数据的对称加密秘钥。
步骤S103:采用数据共享方对应的公钥加密对称加密秘钥并发送至数据共享方,采用数据请求方对应的公钥加密对称加密秘钥并发送至数据请求方,以供数据共享方和数据请求方通过相应的私钥解密得到对称加密秘钥,并基于对称加密私钥和通信网络加密传输数据。
步骤S104:将第一数据请求对应数据传输过程涉及的第一数字签名、第二数字签名以及待分享数据的数据指纹发布在区块链上。
在本实施例步骤S101中,基于区块链网络的特性,不再将待分享数据直接发布在网络上,而是采用多节点分布存储的方式。数据共享方仅将待分享数据的数据目录、数据指纹以及数据共享方的第一数字签名在区块链上进行公布,以供其他用户即数据请求方进行检索和查询。由于区块链采用去中心化分布式记录数据共享方所提供的数据信息,区块链系统中各个节点同时参与对数据目录和数据指纹等数据的变动记录,每个节点都保留一份相同且完整的记录,单个节点被摧毁不会影响整个账本及记录的完整性,极大地提高了数据的安全性。区块链网络是开放的,所有功能由各节点共同维护,任何用户都可以通过公开的接口查询区块链数据,因此整个系统信息高度透明。采用基于协商一致的规范和协议(即智能合约),使各参与方在不需要信任任何人的环境下进行数据的共享和请求,由基于对机器算法的信任,排除人为干扰因素达到高度自治。同时,分享的数据信息以及数据请求过程产生的记录经过验证并添加至区块链后,就会永久存储起来,生成按照时间先后顺序标记且难以可篡改的数据记录和共享流程记录,既能保证数据的可追溯性,又能极大减少不同时间点不同节点数据造假的情况,提升了安全性能。
具体的,数据目录可以包括待分享数据的名称、文字摘要和关键词等用于记录待分享数据的内容信息,以供其他用户进行检索和查询。数据目录可以设置相应的格式要求,也可以按照待分享数据的具体内容设置用于检索的标签。数据指纹是数据共享方通过摘要算法对待分享数据技术提取的数据摘要,基于摘要算法的特点,待分享数据的少量变化就会引起数据摘要的不同,则数据请求方可以采用数据指纹用户核验得到的数据的完整性。
在一些实施例中,摘要算法为哈希算法,哈希算法采用MD5算法、SHA算法或CRC算法中的一种。
进一步地,数据共享方的第一数字签名可以基于特定的加密规则进行加密,通过验证非对称秘钥加密得到的数字签名,就可以保证区块链网络中接入的数据共享方节点的安全性。
在步骤S102中,区块链网络接收数据请求方的第一数据请求,具体的,数据请求方通过查询区块链中发布和记载的数据目录,确定需要获取的数据内容,根据相应数据内容在区块链中所记录的数据目录、数据指纹和数据共享方第一电子签名等信息生成第一数据请求。区块链在接收到第一数据请求后,基于协商一致的规范和协议(即智能合约)进行处理,建立与数据共享方的数据共享协议,以建立连接。基于预设的规范和协议建立数据分享的合约,并生成用于数据传输的对称加密秘钥。
在一些实施例中,基于数据请求生成用于传输数据的对称加密秘钥,包括:采用DES算法、3DES算法、AES算法、DESX算法、Blowfish算法、RC4算法、RC5算法或RC6算法中的一种生成对称加密秘钥。通常,非对称加密在加密传输大数据时效率上会大打折扣,因此,本实施例中,采用对称加密方式传输数据。为了安全,每次请求和分享数据时由智能合约按照约定的规则确定对称加密秘钥。例如,采用随机数生成算法生成一个随机数,加上数据请求方的公钥和交易时间组成一个字符串,对字符串进行SHA256算法生成256位的对称加密秘钥。再用数据请求方和数据共享方对应的公钥分别加密对称加密秘钥,确保只有数据共享的双方可以得到对称加密秘钥。
具体的,数据请求方在请求数据时还同时发布第二数字签名,可以基于特定的加密规则进行加密,通过验证非对称秘钥加密得到的数字签名,就可以保证区块链网络中接入的数据请求方节点的安全性。
在一些实施例中,步骤S102之后,即接收数据请求方发送的针对待分享数据信息的第一数据请求以及数据请求方对应的第二数字签名之后,还包括:
接收数据请求方的权限信息,若权限信息记载的权限等级大于等于待分享数据信息对应的文件等级,则基于数据请求生成用于传输数据的对称加密秘钥;若权限信息记载的权限等级小于待分享数据信息对应的文件等级,则生成请求失败信息并返回至数据请求方。
在本实施例中,还设置用户访问权限的认证机制,对用户所在数据请求方节点设置相应的权限等级,对数据共享方发布的待分享数据设置相应的文件等级,只有当权限等级大于或等于文件等级时,才有权利访问该数据,区块链网络才进行进一步的操作。示例性的,对于文件等级为1至10的数据,配置用户权限为1至10,用户权限为1的只能访问文件等级为1的数据,用户权限为5的只能访问文件等级1至5的数据,用户权限为10的可以访问文件等级1至10的数据,其他等级的用户权限可以参照上述规则。
在步骤S103中,区块链将用于数据传输的对称加密秘钥,采用数据共享方对应的公钥进行加密后传输至数据共享方,采用数据请求方对应的公钥加密后传输至数据请求方,数据共享方和数据请求方分别采用各自的私钥解密得到该对称加密秘钥。由数据共享方采用该对称加密秘钥对原待分享数据进行加密后通过通信网络发送至数据请求方,数据请求方采用相应的对称加密秘钥解密得到目标数据。
在步骤S104中,区块链基于协商一致的规范和协议(即智能合约),将第一数据请求对应数据传输过程涉及的第一数字签名、第二数字签名以及待分享数据的数据指纹发布在区块链上永久留存,使得操作留痕,实现可追溯。在另一些实施例中,还同时将数据请求方返回的数据质量评价信息在区块链上进行公布,以实现真实可信的评价体系。
在一些实施例中,所述基于区块链的数据共享方法还包括:
采用数据共享方对应的公钥对第一数字签名进行验证,若合法则将数据目录、数据指纹以及数据共享方的第一数字签名发布在区块链上;若不合法则不操作;
和/或,采用数据请求方对应的公钥对第二数字签名进行验证,若合法则基于数据请求生成用于传输数据的对称加密秘钥;若不合法则不操作。
在本实施例中,数据共享方发布待分享数据时,由区块链网络对其电子签名验证,以防止非法节点的违规操作。同理,在数据请求方请求数据时,也对其电子签名进行验证,以保证节点的安全性。
另一方面,本发明还提供一种基于区块链的数据请求方法,用于在数据请求方节点运行,如图2所示,包括步骤S201~S205:
步骤S201:查询区块链中记载的数据目录,并获取目标数据的第一目录以及目标数据对应数据共享方的第一数字签名。
步骤S202:根据第一目录和第一数字签名生成数据请求信息,将数据请求信息以及数据请求方对应的第二数字签名发送至区块链,用于与数据共享方签订数据共享合约。
步骤S203:接收区块链返回的传输秘钥信息,传输秘钥信息由数据请求方对应公钥加密对称加密秘钥得到。
步骤S204:采用数据请求方的私钥解密传输秘钥信息得到对称加密秘钥。
步骤S205:基于通信网络接收数据共享方发送的传输数据,传输数据由对称加密秘钥对目标数据加密得到。
步骤S206:采用对称加密秘钥对传输数据进行解密得到目标数据。
在本实施例步骤S201中,数据请求方通过查询区块链上记载的数据目录、数据指纹等信息,确定所需要的目标数据,并获取目标数据对应的第一目录和数据共享方的第一数字签名。
进一步地,步骤S202~S204中,数据请求方还基于设定的签名算法生成第二数字签名,并于目标数据对应的第一目录和数据共享方的第一数字签名共同生成数据请求信息,生成方式可以是直接打包,也可以采用设定格式产生数据请求信息。区块链基于数据请求信息中记载的数据请求方、数据共享方的数字签名,以及所要求传输的目标数据的第一目录,根据预设的协议建立数据分享合约,并生成对称加密秘钥。区块链基于设定的协议将对称加密秘钥采用数据请求方对应的公钥加密回传,同时还采用数据共享方对应的公钥加密并发送至数据共享方。此时,数据请求方和数据共享方可以分别基于本地的私钥解密得到本次数据传输需要的对称加密秘钥。数据共享方采用该对称加密秘钥将目标数据加密传输至数据请求方。
在步骤S205~S206中,数据请求方通过通信网络接收数据共享方发送的经加密的传输数据,并通过采用对称加密秘钥解密得到目标数据。
在一些实施例中,所述基于区块链的数据请求方法还包括步骤S301、步骤S302和步骤S303:
步骤S301:查询区块链上记载的目标数据对应的第一数据指纹,第一数据指纹是数据共享方采用设定摘要算法对原始目标数据进行处理得到的数据摘要。
步骤S302:采用设定摘要算法对经传输解密得到的目标数据进行计算并获取数据摘要作为第二数据指纹。
步骤S303:比对第一数据指纹和第二数据指纹,若不一致则向区块链重新发送数据请求信息。
在本实施例中,数据请求方基于约定一致的摘要算法,对目标数据计算数据摘要作为第二数据指纹。通过将第二数据指纹与区块链上记载的目标数据对应的第一数据指纹进行对比,以判断接收到的信息是否完整,一致则完整,不一致则不完整。若第一数据指纹和第二数据指纹不一致,则由数据请求方重新发起数据请求。
在一些实施例中,步骤S303之后,即比对所述第一数据指纹和所述第二数据指纹,若不一致则向区块链重新发送所述数据请求信息之后,还包括:生成数据传输错误信息发送并公布在所述区块链上。
在本实施例中,数据请求方基于接收到的目标数据的质量向区块链发布评价,以构建安全可信的数据质量评价机制。
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
下面结合一具体实施例对本发明进行说明:
基于数据请求方(也可以称为数据使用方)和数据共享方作为节点,构成区块链网络,该区块链网络仅用对待分享数据的目录信息、数据指纹、数据共享方数字签名、共享交易过程进行发布,待分享数据本身基于分布式存储的方式由数据共享方所在节点存储。区块链网络基于预设的协议和智能合约实现本申请的所有功能。进一步的,各数据共享方和数据请求方还通过通信网络连接,用于传输数据。如图4所示,具体流程如下:
1)由于区块的存储容量有限,不能将数据全部公布到区块链上,因此数据共享方仅公布数据目录和数据指纹到区块链上,数据目录供使用方查看,数据指纹用于验证交易数据是否正确。
2)数据使用方访问区块链网络,查询数据目录,确定目标数据。
3)数据使用方向区块链发布数据请求任务,数据请求任务中至少包含:标数据的第一目录以及目标数据对应数据共享方的第一数字签名。
4)区块链网络收到数据请求任务后,由智能合约通过数字签名验证使用方的身份信息,并判断数据使用方的权限等级是否大于等于目标数据对应的文件等级。
5)若数据使用方数字签名验证通过,且权限等级大于等于目标数据对应的文件等级,则通过验证,由区块链按照智能合约为数据使用方与数据共享方签订数据共享合约,并产生加密传输秘钥。
6)数据共享方根据智能合约协商好的加密传输秘钥将原目标数据加密生成密文数据。
7)数据共享方通过通信网络向数据使用方传输密文数据。
8)数据使用方通过通信网络接收数据共享方发送的密文数据。
9)数据使用方根据智能合约协商的加密传输秘钥来解密密文数据得到目标数据。
10)共享流程结束后,由智能合约将双方签名后的数据共享信息写到区块链网络上,以作溯源和存证之证据。
本发明针对了传统数据共享方案中数据安全性和隐私性得不到保护、数据交易之后数据权限不清、不同组织之间互不信任形成信息孤岛和中心机构垄断数据形成数据寡头等问题,提出了一种基于区块链的数据共享方法、请求方法及装置。首先,引入区块链作为数据服务的载体,利用区块链的去中心化、链上数据无法篡改、可追溯等特点,并通过智能合约自动化地控制整体交易流程,并将交易结束后双方签名的交易信息上链,保证数据交易可追溯,数据可确权;同时利用密码学技术,保证交易的数据正确、交易文件安全可靠得送到需求者的手中。
综上所述,本发明所述基于区块链的数据共享方法、请求方法及装置中,所述共享方法基于区块链发布待分享数据信息的数据目录和指纹,而不直接上传待分享数据,实现了数据的分布式存储,极大节约了存储空间。在共享过程中,共享双方依靠区块链网络沟通达成共享合约并记录共享结果,再依靠通信网络传输数据,利用区块链的去中心化、链上数据无法篡改、可追溯等特点,保证数据共享双方权责清晰,消除了数据孤岛和数据寡头。进一步的,利用密码学技术进行数据传输,保证共享的数据正确,使共享的文件安全可靠地实现传输。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链的数据共享方法,其特征在于,包括:
接收数据共享方基于待分享数据信息生成数据目录和数据指纹,将所述数据目录、所述数据指纹以及所述数据共享方的第一数字签名发布在区块链上;所述数据指纹是通过摘要算法对所述待分享数据信息进行处理得到的数据摘要;
接收数据请求方发送的针对所述待分享数据信息的第一数据请求以及所述数据请求方对应的第二数字签名,基于所述数据请求生成用于传输数据的对称加密秘钥;
采用所述数据共享方对应的公钥加密所述对称加密秘钥并发送至所述数据共享方,采用所述数据请求方对应的公钥加密所述对称加密秘钥并发送至所述数据请求方,以供所述数据共享方和所述数据请求方通过相应的私钥解密得到所述对称加密秘钥,并基于所述对称加密私钥和通信网络加密传输数据;
将所述第一数据请求对应数据传输过程涉及的所述第一数字签名、所述第二数字签名以及所述待分享数据的数据指纹发布在所述区块链上。
2.根据权利要求1所述的基于区块链的数据共享方法,其特征在于,接收数据请求方发送的针对所述待分享数据信息的第一数据请求以及所述数据请求方对应的第二数字签名之后,还包括:
接收所述数据请求方的权限信息,若所述权限信息记载的权限等级大于等于所述待分享数据信息对应的文件等级,则基于所述数据请求生成用于传输数据的对称加密秘钥;若所述权限信息记载的权限等级小于所述待分享数据信息对应的文件等级,则生成请求失败信息并返回至所述数据请求方。
3.根据权利要求1所述的基于区块链的数据共享方法,其特征在于,所述摘要算法为哈希算法,所述哈希算法采用MD5算法、SHA算法或CRC算法中的一种。
4.根据权利要求1所述的基于区块链的数据共享方法,其特征在于,基于所述数据请求生成用于传输数据的对称加密秘钥,包括:采用DES算法、3DES算法、AES算法、DESX算法、Blowfish算法、RC4算法、RC5算法或RC6算法中的一种生成对称加密秘钥。
5.根据权利要求1所述的基于区块链的数据共享方法,其特征在于,所述方法还包括:
采用所述数据共享方对应的公钥对所述第一数字签名进行验证,若合法则将所述数据目录、所述数据指纹以及所述数据共享方的第一数字签名发布在区块链上;若不合法则不操作;
和/或,采用数据请求方对应的公钥对所述第二数字签名进行验证,若合法则基于所述数据请求生成用于传输数据的对称加密秘钥;若不合法则不操作。
6.一种基于区块链的数据请求方法,其特征在于,包括:
查询区块链中记载的数据目录,并获取目标数据的第一目录以及所述目标数据对应数据共享方的第一数字签名;
根据所述第一目录和第一数字签名生成数据请求信息,将所述数据请求信息以及数据请求方对应的第二数字签名发送至所述区块链,用于与所述数据共享方签订数据共享合约;
接收所述区块链返回的传输秘钥信息,所述传输秘钥信息由所述数据请求方对应公钥加密对称加密秘钥得到;
采用所述数据请求方的私钥解密所述传输秘钥信息得到所述对称加密秘钥;
基于通信网络接收所述数据共享方发送的传输数据,所述传输数据由所述对称加密秘钥对所述目标数据加密得到;
采用所述对称加密秘钥对所述传输数据进行解密得到所述目标数据。
7.根据权利要求6所述基于区块链的数据请求方法,其特征在于,所述方法还包括:
查询所述区块链上记载的所述目标数据对应的第一数据指纹,所述第一数据指纹是所述数据共享方采用设定摘要算法对原始目标数据进行处理得到的数据摘要;
采用所述设定摘要算法对经传输解密得到的目标数据进行计算并获取数据摘要作为第二数据指纹;
比对所述第一数据指纹和所述第二数据指纹,若不一致则向所述区块链重新发送所述数据请求信息。
8.根据权利要求7所述基于区块链的数据请求方法,其特征在于,比对所述第一数据指纹和所述第二数据指纹,若不一致则向所述区块链重新发送所述数据请求信息之后,还包括:生成数据传输错误信息发送并公布在所述区块链上。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528283.7A CN113239376B (zh) | 2021-05-14 | 2021-05-14 | 基于区块链的数据共享方法、请求方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528283.7A CN113239376B (zh) | 2021-05-14 | 2021-05-14 | 基于区块链的数据共享方法、请求方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113239376A true CN113239376A (zh) | 2021-08-10 |
CN113239376B CN113239376B (zh) | 2023-01-20 |
Family
ID=77134339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110528283.7A Active CN113239376B (zh) | 2021-05-14 | 2021-05-14 | 基于区块链的数据共享方法、请求方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113239376B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036229A (zh) * | 2021-11-08 | 2022-02-11 | 中国人民解放军92493部队信息技术中心 | 一种基于区块链的数据流转溯源方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181599A (zh) * | 2017-07-18 | 2017-09-19 | 天津理工大学 | 基于区块链的路由位置数据保密存储及共享方法 |
WO2018214165A1 (zh) * | 2017-05-26 | 2018-11-29 | 深圳前海达闼云端智能科技有限公司 | 通信方法、装置、系统、电子设备及计算机可读存储介质 |
CN109347941A (zh) * | 2018-10-10 | 2019-02-15 | 南京简诺特智能科技有限公司 | 一种基于区块链的数据共享平台及其实现方法 |
CN111683082A (zh) * | 2020-06-04 | 2020-09-18 | 杭州溪塔科技有限公司 | 一种基于区块链的数据共享方法、系统及电子设备 |
WO2020259635A1 (zh) * | 2019-06-27 | 2020-12-30 | 深圳前海微众银行股份有限公司 | 一种区块链数据共享方法及装置 |
-
2021
- 2021-05-14 CN CN202110528283.7A patent/CN113239376B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018214165A1 (zh) * | 2017-05-26 | 2018-11-29 | 深圳前海达闼云端智能科技有限公司 | 通信方法、装置、系统、电子设备及计算机可读存储介质 |
CN107181599A (zh) * | 2017-07-18 | 2017-09-19 | 天津理工大学 | 基于区块链的路由位置数据保密存储及共享方法 |
CN109347941A (zh) * | 2018-10-10 | 2019-02-15 | 南京简诺特智能科技有限公司 | 一种基于区块链的数据共享平台及其实现方法 |
WO2020259635A1 (zh) * | 2019-06-27 | 2020-12-30 | 深圳前海微众银行股份有限公司 | 一种区块链数据共享方法及装置 |
CN111683082A (zh) * | 2020-06-04 | 2020-09-18 | 杭州溪塔科技有限公司 | 一种基于区块链的数据共享方法、系统及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036229A (zh) * | 2021-11-08 | 2022-02-11 | 中国人民解放军92493部队信息技术中心 | 一种基于区块链的数据流转溯源方法 |
CN114036229B (zh) * | 2021-11-08 | 2022-07-01 | 中国人民解放军92493部队信息技术中心 | 一种基于区块链的数据流转溯源方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113239376B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109617698B (zh) | 发放数字证书的方法、数字证书颁发中心和介质 | |
CN108259169B (zh) | 一种基于区块链云存储的文件安全分享方法及系统 | |
US11196573B2 (en) | Secure de-centralized domain name system | |
CN109829326B (zh) | 基于区块链的跨域认证与公平审计去重云存储系统 | |
CN114172735B (zh) | 基于智能合约的双链混合式区块链数据共享方法及系统 | |
US8407477B2 (en) | Information distribution system and program for the same | |
CN113553574A (zh) | 一种基于区块链技术的物联网可信数据管理方法 | |
CN109450843B (zh) | 一种基于区块链的ssl证书管理方法及系统 | |
US7266705B2 (en) | Secure transmission of data within a distributed computer system | |
CN105516110A (zh) | 移动设备安全数据传送方法 | |
CN114329529A (zh) | 一种基于区块链的资产数据管理方法及系统 | |
KR102399667B1 (ko) | 블록체인 기반 데이터 거래 및 보관을 위한 보안 시스템 및 그 방법 | |
CN115567312B (zh) | 一种可满足多种场景的联盟链数据权限管理系统和方法 | |
CN112861157A (zh) | 一种基于去中心化身份和代理重加密的数据共享方法 | |
WO2022069133A1 (en) | Authentication system and method | |
CN117396869A (zh) | 用于使用分布式账本技术进行安全密钥管理的系统和方法 | |
CN107347073B (zh) | 一种资源信息处理方法 | |
Ahmed et al. | Toward fine‐grained access control and privacy protection for video sharing in media convergence environment | |
CN113239376B (zh) | 基于区块链的数据共享方法、请求方法及装置 | |
WO2022227799A1 (zh) | 设备注册方法及装置、计算机设备、存储介质 | |
CN114866328A (zh) | 一种边缘计算环境下基于区块链的跨域访问控制方法及系统 | |
CN114091058A (zh) | 在第一区域和第二区域间数据安全共享的方法和系统 | |
AlQallaf | Blockchain-based digital identity management scheme for field connected IoT devices | |
TWM585941U (zh) | 帳戶資料處理系統 | |
Nandini et al. | Implementation of hybrid cloud approach for secure authorized deduplication |
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 |