CN111597583A - 一种基于区块链的数据共享交换方法 - Google Patents

一种基于区块链的数据共享交换方法 Download PDF

Info

Publication number
CN111597583A
CN111597583A CN202010423382.4A CN202010423382A CN111597583A CN 111597583 A CN111597583 A CN 111597583A CN 202010423382 A CN202010423382 A CN 202010423382A CN 111597583 A CN111597583 A CN 111597583A
Authority
CN
China
Prior art keywords
code
participant
data
node
calling
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
Application number
CN202010423382.4A
Other languages
English (en)
Other versions
CN111597583B (zh
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.)
Beijing Liandao Technology Co ltd
Original Assignee
Beijing Liandao Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Liandao Technology Co ltd filed Critical Beijing Liandao Technology Co ltd
Priority to CN202010423382.4A priority Critical patent/CN111597583B/zh
Publication of CN111597583A publication Critical patent/CN111597583A/zh
Application granted granted Critical
Publication of CN111597583B publication Critical patent/CN111597583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2117User registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的数据共享交换方法,设置包括Master节点、Slave节点和区块链的数据共享系统,提供数据的参与方将数据存储至Slave节点,提供数据应用代码的参与方通过Master节点将代码部署至Slave节点,并由Slave节点建立包含代码的Docker镜像,参与方通过Master节点实现代码订阅和代码调用,在数据共享交换过程中由区块链记录各项交易。本发明在保证提供数据服务的参与方数据不出库的前提下实现不同参与方之间数据的共享交换以及交易可信记录。

Description

一种基于区块链的数据共享交换方法
技术领域
本发明属于数据共享技术领域,更为具体地讲,涉及一种基于区块链的数据共享交换方法。
背景技术
随着大数据和云计算时代的到来,数据展现出巨大的潜在价值,数据的共享交换有助于消除不同机构之间的信息孤岛,实现信息的流通并利用数据做出合理的决策。图1是传统的数据共享架构图。如图1所示,该数据共享方案基于可信的第三方服务器,不同的数据共享参与方将各自的代码、数据及相关权限保存在中心化的第三方服务器中,在数据共享交换过程中,参与方发起代码调用请求,第三方负责检查是否有权限调用代码并负责代码的调用,完成数据的查询、分析,实现数据的共享交换。在这种模式下,每个参与方对于自身的数据、代码没有控制权,如果第三方服务器是恶意的,则有可能篡改数据和代码的归属权、泄露隐私数据或者让不具有相关权限的参与方调用代码使用其它参与方的数据。
基于目前数据共享交换中存在的安全风险,需要一种新的数据共享交换架构,不依赖于中心化第三方实现不同参与方之间数据、代码的互通,同时保障数据、代码的合法使用以及隐私安全。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于区块链的数据共享交换方法,在保证提供数据服务的参与方数据不出库的前提下实现不同参与方之间数据的共享交换以及交易可信记录。
为了实现上述发明目的,本发明基于区块链的数据共享交换方法包括以下步骤:
S1:设置数据共享系统,包括Master节点,Slave节点和区块链,其中:
Master节点用于保存所有参与方和数据Slave节点的信息,并作为所有参与方请求的入口,接收每个参与方发来的请求进行审核后转发至相应Slave节点;
Slave节点用于存储参与方数据,每个提供数据的参与方对应一个或多个Slave节点,Slave节点接收其它参与方的代码以及相关请求,提供安全环境进行代码存储和运行;
区块链包括若干区块链节点,用于在数据共享交换过程中作为可信第三方数据库记录数据、代码的归属权以及参与方进行的数据共享交换操作;
S2:数据共享系统启动时进行初始化,具体包括:
Master节点、各个Slave节点和各个区块链节点分别向第三方权威机构申请数字证书;
数据共享交换的每个参与方分别在Mater节点上进行注册,每个参与方分别设置一对非对称加密算法的公私钥来标识各自身份,其中公钥对其它所有参与方可见,私钥由各参与方自行安全存储;
每个提供数据的参与方将其对应的Slave节点在Mater节点上进行注册,注册信息中包括Slave节点信息以及所存储数据的描述性信息;
Mater节点将注册到其上的参与方信息和Slave节点信息保存到区块链上,保存在区块链上的信息对所有参与方可见;
S3:提供数据应用代码的参与方将代码进行加密,将加密代码的解密密钥采用所要部署的Slave节点对应参与方公钥进行加密,然后将加密代码、加密后的解密密钥连同部署请求一起发送至Master节点,Master节点对该部署请求进行审核,如果审核不通过则将审核结果反馈至参与方,如果审核通过则将审核通过的部署请求转发给对应Slave节点;然后Master节点将加密代码、加密后的解密密钥、部署请求以及部署请求的审核结果作为一条代码部署交易保存到区块链上;
Slave节点在接收到Master节点发来的部署请求后,再次进行审核,如果审核不通过则将审核结果通过Master节点反馈至代码部署的参与方,如果审核通过则从区块链上下载加密代码和加密后的解密密钥,首先采用对应参与方的私钥对加密后的解密密钥进行解密,再采用解密密钥对加密代码进行解密,在本地建立包含代码的Docker镜像,以便后续在安全运行环境中运行;Slave节点将对部署请求的处理结果更新至区块链上的对应代码部署交易中;
S4:需要订阅代码的参与方向Master节点发送订阅请求,Master节点在接收到订阅请求后,首先对该订阅请求进行审核,如果审核不通过则将审核结果反馈至参与方,审核通过后将订阅请求转发给相应Slave节点;然后Mater节点将订阅请求和订阅请求的审核结果作为一条代码订阅交易保存到区块链上;
Slave节点接收到订阅请求后,再次对订阅请求进行审核,如果审核不通过则将审核结果通过Master节点反馈至参与方,如果审核通过则在代码对应Docker镜像的基础上建立Docker容器并启动代码运行,为该代码生成一个调用凭证,并采用订阅该代码参与方的公钥对调用凭证进行加密,然后将加密后的调用凭证上传到区块链上;Slave节点将对订阅请求的处理结果更新至区块链上的对应代码订阅交易中;
S5:参与方从区块链上下载已订阅代码的调用凭证并采用自身私钥解密,在需要进行代码调用时,将代码对应的调用凭证和包含代码执行参数的调用请求一起发送至Master节点,Master节点在区块链上新增一条代码调用交易并将调用凭证和调用请求转发至对应Slave节点;
Slave节点对调用凭证进行验证,如果验证不通过则将验证结果通过Master节点反馈至代码调用的参与方,如果验证通过则调用运行在Docker容器中的代码,Docker容器通过特定的通信接口接收调用请求,根据调用请求中的代码执行参数运行代码,代码运行过程中通过预设的数据访问接口访问数据库,得到代码调用执行结果,然后生成本次代码调用执行结果的交付凭证,使用代码调用参与方的公钥对该交付凭证进行加密,然后将加密后的交付凭证上传到区块链上;Slave节点将对调用请求的处理结果更新至区块链上的对应代码调用交易中;
代码调用的参与方从区块链上下载交付凭证,采用自身私钥解密后从中提取代码调用执行结果。
本发明基于区块链的数据共享交换方法,设置包括Master节点、Slave节点和区块链的数据共享系统,提供数据的参与方将数据存储至Slave节点,提供数据应用代码的参与方通过Master节点将代码部署至Slave节点,并由Slave节点建立包含代码的Docker镜像,参与方通过Master节点实现代码订阅和代码调用,在数据共享交换过程中由区块链记录各项交易。
本发明具有以下有益效果:
1)相比于传统的数据共享交换方法中参与方的请求直接发送给服务器,本发明中Master节点可以通过预设规则(例如黑白名单)或人工审核对发往Slave节点的请求进行审核,过滤掉没有权限的非法请求,这些非法请求不会发往Slave节点,实现了对Slave节点的访问控制;
2)相比于传统的数据共享交换方案中参与方将数据交付给第三方,在本发明的整个数据共享交换过程中,提供代码服务的参与方能够将代码部署到Slave节点并使用数据服务,做到数据不出库;同时Slave节点可以为代码提供基于Docker的安全运行环境,保障代码安全;此外还可以通过设置代码对数据的访问控制规则,进一步保障数据安全;
3)相比于传统的数据共享架构,区块链的出现可以明确数据和代码的归属权,使得参与方无法对过去的数据共享交易记录抵赖,并且防止中心化的服务器篡改交易记录。这是因为区块链中每一个区块链节点都可保存数据共享交换相关的交易数据,所有交易数据公开透明,个别区块链节点的宕机不会影响整个区块链系统的运行,不会造成交易数据丢失。而对个别区块链节点的数据篡改无法通过区块链系统的共识,不会造成最终交易记录的篡改,整个区块链实现交易的可信记录。
附图说明
图1是传统的数据共享架构图;
图2是本发明基于区块链的数据共享交换方法的一种具体实施方式流程图;
图3是本发明中数据共享系统的架构图;
图4是代码在安全运行环境中运行的示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图2是本发明基于区块链的数据共享交换方法的一种具体实施方式流程图。如图2所示,本发明基于区块链的数据共享交换方法的具体步骤包括:
S201:数据共享系统设置:
图3是本发明中数据共享系统的架构图。如图3所示,本发明中设置数据共享系统,包括Master节点,Slave节点和区块链,其中:
Master节点用于保存所有参与方和数据Slave节点的信息,并作为所有参与方请求的入口,接收每个参与方发来的请求进行审核后转发至相应Slave节点。
Slave节点用于存储参与方数据,每个提供数据的参与方对应一个或多个Slave节点,Slave节点接收其它参与方的代码以及相关请求,提供安全环境进行代码存储和运行。
区块链包括若干区块链节点,用于在数据共享交换过程中作为可信第三方数据库记录数据、代码的归属权以及参与方进行的数据共享交换操作,以保证交易数据的真实可靠,实现交易可追溯。
S202:系统初始化:
数据共享系统在启动时需要进行初始化,具体包括:
Master节点、各个Slave节点和各个区块链节点分别向第三方权威机构申请数字证书。
数据共享交换的每个参与方分别在Mater节点上进行注册,每个参与方分别设置一对非对称加密算法的公私钥来标识各自身份,其中公钥对其它所有参与方可见,私钥由各参与方自行安全存储。
每个提供数据的参与方将其对应的Slave节点在Mater节点上进行注册,注册信息中包括Slave节点信息以及所存储数据的描述性信息。
Mater节点将注册到其上的参与方信息和Slave节点信息保存到区块链上,保存在区块链上的信息对所有参与方可见。
一般来说,为了提高安全性,在以上过程中,参与方和Master节点之间、Master节点和Slave节点之间、Master节点和区块链节点间的通信全部使用TLS协议,基于证书实现双向身份认证并建立加密的通信通道。初始化操作完成后,所有参与方及存储数据的Slave节点信息已经记录到区块链上,公开透明、不可篡改,避免了传统数据共享交换架构中存在的中心化服务器篡改数据归属权的风险。
S203:代码部署:
提供数据应用(数据查询、分析等)代码的参与方将代码进行加密,将加密代码的解密密钥采用所要部署的Slave节点对应参与方公钥进行加密,然后将加密代码、加密后的解密密钥连同部署请求一起发送至Master节点,Master节点对该部署请求进行审核(可自动根据预设规则进行或由审核人员进行),如果审核不通过则将审核结果反馈至参与方,如果审核通过则将审核通过的部署请求转发给对应Slave节点。然后Master节点将加密代码、加密后的解密密钥、部署请求以及部署请求的审核结果作为一条代码部署交易保存到区块链上。
Slave节点在接收到Master节点发来的部署请求后,再次进行审核,如果审核不通过则将审核结果通过Master节点反馈至代码部署的参与方,如果审核通过则从区块链上下载加密代码和加密后的解密密钥,首先采用对应参与方的私钥对加密后的解密密钥进行解密,再采用解密密钥对加密代码进行解密,在本地建立包含代码的Docker镜像,以便后续在安全运行环境中运行。Slave节点将对部署请求的处理结果更新至区块链上的对应代码部署交易中。
相比于传统数据共享交换方法,在代码部署的过程中本发明具有以下优点:
(1)代码加密保存,即除了接收代码的Slave节点,代码对其它所有参与方不可见。
(2)Master节点和Slave节点两次审核过滤非法的代码部署请求,保证Slave节点的数据安全。
(3)所有部署交易被记录到区块链上,公开透明,不可篡改,无法抵赖。
S204:代码订阅:
代码订阅是代码调用的前置条件,所有参与方可以订阅已经成功部署在某个Slave节点上的代码。代码订阅的具体方法为:
需要订阅代码的参与方向Master节点发送订阅请求,与代码部署过程类似,Master节点在接收到订阅请求后,首先对该订阅请求进行审核,如果审核不通过则将审核结果反馈至参与方,审核通过后将订阅请求转发给相应Slave节点。然后Mater节点将订阅请求和订阅请求的审核结果作为一条代码订阅交易保存到区块链上。
Slave节点接收到订阅请求后,再次对订阅请求进行审核,如果审核不通过则将审核结果通过Master节点反馈至参与方,如果审核通过则在代码对应Docker镜像的基础上建立Docker容器并启动代码运行,为该代码生成一个调用凭证,并采用订阅该代码参与方的公钥对调用凭证进行加密,然后将加密后的调用凭证上传到区块链上。Slave节点将对订阅请求的处理结果更新至区块链上的对应代码订阅交易中。
相比于传统数据共享交换方法,在代码订阅的过程中本发明具有以下优点:
(1)Master节点和Slave节点两次审核过滤非法的代码订阅请求,保证slave端数据安全。
(2)代码在Docker容器中启动运行,与主机的进程、数据完全隔离,Docker容器拥有独立的进程空间、文件系统和网络资源,相互之间不受影响。并且每个订阅代码的参与方都拥有一个独立的容器运行代码,容器之间相互隔离、独立,订阅代码的参与方之间同样不受影响。
S205:代码调用:
已经订阅某个应用代码的参与方可以发起代码调用,具体方法为:
参与方从区块链上下载已订阅代码的调用凭证并采用自身私钥解密,在需要进行代码调用时,将代码对应的调用凭证和包含代码执行参数的调用请求一起发送至Master节点,Master节点在区块链上新增一条代码调用交易并将调用凭证和调用请求转发至对应Slave节点。
Slave节点对调用凭证进行验证,如果验证不通过则将验证结果通过Master节点反馈至代码调用的参与方,如果验证通过则调用运行在Docker容器中的代码,Docker容器通过特定的通信接口接收调用请求,根据调用请求中的代码执行参数运行代码,代码运行过程中通过预设的数据访问接口访问数据库,得到代码调用执行结果,然后生成本次代码调用执行结果的交付凭证,使用代码调用参与方的公钥对该交付凭证进行加密,然后将加密后的交付凭证上传到区块链上。Slave节点将对调用请求的处理结果更新至区块链上的对应代码调用交易中。
代码调用的参与方从区块链上下载交付凭证,采用自身私钥解密后从中提取代码调用执行结果。
图4是代码在安全运行环境中运行的示意图。如图4所示,代码在安全运行环境(Docker容器)中运行时,代码通过通信接口与slave主机进程通信,接收相关请求,通过数据访问接口对数据进行访问。在Slave节点进行代码运行的过程中,为了提高数据的安全性,可以预设不同代码对数据的访问控制规则,例如对数据库表、数据表字段的访问控制规则,限制特定代码只能访问数据库中指定数据,针对数据库中特定数据的访问权限拒绝非法的访问请求,以限制特定代码对特定数据的访问,实现访问控制。
相比于传统数据共享交换方法,在代码调用的过程中本发明具有以下优点:
(1)代码调用运行在隔离的Docker容器中运行,只通过特定的通信接口接收外界请求参数。对于slave节点而言,可以避免恶意代码破坏主机进程、数据;对于提供代码、调用代码的参与方而言,可以避免代码的泄露。
(2)在代码运行过程中实现了对数据的访问控制,限定了应用访问数据库的范围,从而保护了隐私数据对某些应用不可见。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1.一种基于区块链的数据共享交换方法,其特征在于,包括以下步骤:
S1:设置数据共享系统,包括Master节点,Slave节点和区块链,其中:
Master节点用于保存所有参与方和数据Slave节点的信息,并作为所有参与方请求的入口,接收每个参与方发来的请求进行审核后转发至相应Slave节点;
Slave节点用于存储参与方数据,每个提供数据的参与方对应一个或多个Slave节点,Slave节点接收其它参与方的代码以及相关请求,提供安全环境进行代码存储和运行;
区块链包括若干区块链节点,用于在数据共享交换过程中作为可信第三方数据库记录数据、代码的归属权以及参与方进行的数据共享交换操作;
S2:数据共享系统启动时进行初始化,具体包括:
Master节点、各个Slave节点和各个区块链节点分别向第三方权威机构申请数字证书;
数据共享交换的每个参与方分别在Mater节点上进行注册,每个参与方分别设置一对非对称加密算法的公私钥来标识各自身份,其中公钥对其它所有参与方可见,私钥由各参与方自行安全存储;
每个提供数据的参与方将其对应的Slave节点在Mater节点上进行注册,注册信息中包括Slave节点信息以及所存储数据的描述性信息;
Mater节点将注册到其上的参与方信息和Slave节点信息保存到区块链上,保存在区块链上的信息对所有参与方可见;
S3:提供数据应用代码的参与方将代码进行加密,将加密代码的解密密钥采用所要部署的Slave节点对应参与方公钥进行加密,然后将加密代码、加密后的解密密钥连同部署请求一起发送至Master节点,Master节点对该部署请求进行审核,如果审核不通过则将审核结果反馈至参与方,如果审核通过则将审核通过的部署请求转发给对应Slave节点;然后Master节点将加密代码、加密后的解密密钥、部署请求以及部署请求的审核结果作为一条代码部署交易保存到区块链上;
Slave节点在接收到Master节点发来的部署请求后,再次进行审核,如果审核不通过则将审核结果通过Master节点反馈至代码部署的参与方,如果审核通过则从区块链上下载加密代码和加密后的解密密钥,首先采用对应参与方的私钥对加密后的解密密钥进行解密,再采用解密密钥对加密代码进行解密,在本地建立包含代码的Docker镜像,以便后续在安全运行环境中运行;Slave节点将对部署请求的处理结果更新至区块链上的对应代码部署交易中;
S4:需要订阅代码的参与方向Master节点发送订阅请求,Master节点在接收到订阅请求后,首先对该订阅请求进行审核,如果审核不通过则将审核结果反馈至参与方,审核通过后将订阅请求转发给相应Slave节点;然后Mater节点将订阅请求和订阅请求的审核结果作为一条代码订阅交易保存到区块链上;
Slave节点接收到订阅请求后,再次对订阅请求进行审核,如果审核不通过则将审核结果通过Master节点反馈至参与方,如果审核通过则在之前的Docker镜像的基础上建立Docker容器并启动代码运行,为该代码生成一个调用凭证,并采用订阅该代码参与方的公钥对调用凭证进行加密,然后将加密后的调用凭证上传到区块链上;Slave节点将对订阅请求的处理结果更新至区块链上的对应代码订阅交易中;
S5:参与方从区块链上下载已订阅代码的调用凭证并采用自身私钥解密,在需要进行代码调用时,将代码对应的调用凭证和包含代码执行参数的调用请求一起发送至Master节点,Master节点在区块链上新增一条代码调用交易并将调用凭证和调用请求转发至对应Master节点;
Slave节点对调用凭证进行验证,如果验证不通过则将验证结果通过Master节点反馈至代码调用的参与方,如果验证通过则调用运行在Docker容器中的代码,Docker容器通过特定的通信接口接收调用请求,根据调用请求中的代码执行参数运行代码,代码运行过程中通过预设的数据访问接口访问数据库,得到代码调用执行结果,然后生成本次代码调用执行结果的交付凭证,使用代码调用参与方的公钥对该交付凭证进行加密,然后将加密后的交付凭证上传到区块链上;Slave节点将对调用请求的处理结果更新至区块链上的对应代码调用交易中;
代码调用的参与方从区块链上下载交付凭证,采用自身私钥解密后从中提取代码调用执行结果。
2.根据权利要求1所述的数据共享交换方法,其特征在于,所述步骤S5中代码运行时,预设不同代码对数据的访问控制规则,限制特定代码只能访问数据库中指定数据。
CN202010423382.4A 2020-05-19 2020-05-19 一种基于区块链的数据共享交换方法 Active CN111597583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010423382.4A CN111597583B (zh) 2020-05-19 2020-05-19 一种基于区块链的数据共享交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010423382.4A CN111597583B (zh) 2020-05-19 2020-05-19 一种基于区块链的数据共享交换方法

Publications (2)

Publication Number Publication Date
CN111597583A true CN111597583A (zh) 2020-08-28
CN111597583B CN111597583B (zh) 2023-04-18

Family

ID=72182596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010423382.4A Active CN111597583B (zh) 2020-05-19 2020-05-19 一种基于区块链的数据共享交换方法

Country Status (1)

Country Link
CN (1) CN111597583B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347470A (zh) * 2020-11-27 2021-02-09 国家电网有限公司大数据中心 基于区块链和数据安全沙箱的电网数据保护方法及系统
CN112765586A (zh) * 2021-01-12 2021-05-07 湖北宸威玺链信息技术有限公司 一种基于区块链的部署文件分发方法、设备和存储介质
CN115829561A (zh) * 2022-12-23 2023-03-21 星环信息科技(上海)股份有限公司 数据产品的交易方法、系统、计算节点和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理系统及方法
CN109729168A (zh) * 2018-12-31 2019-05-07 浙江成功软件开发有限公司 一种基于区块链的数据共享交换系统及方法
CN110071969A (zh) * 2019-04-17 2019-07-30 杭州云象网络技术有限公司 一种基于多链架构的数据安全共享方法
CN110147994A (zh) * 2019-04-13 2019-08-20 山东公链信息科技有限公司 一种基于同态加密的区块链的即时执行方法
US20200076596A1 (en) * 2017-02-28 2020-03-05 Airbus Helicopters Integrated method and device for storing and sharing data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200076596A1 (en) * 2017-02-28 2020-03-05 Airbus Helicopters Integrated method and device for storing and sharing data
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理系统及方法
CN109729168A (zh) * 2018-12-31 2019-05-07 浙江成功软件开发有限公司 一种基于区块链的数据共享交换系统及方法
CN110147994A (zh) * 2019-04-13 2019-08-20 山东公链信息科技有限公司 一种基于同态加密的区块链的即时执行方法
CN110071969A (zh) * 2019-04-17 2019-07-30 杭州云象网络技术有限公司 一种基于多链架构的数据安全共享方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许重建;李险峰;: "区块链交易数据隐私保护方法" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347470A (zh) * 2020-11-27 2021-02-09 国家电网有限公司大数据中心 基于区块链和数据安全沙箱的电网数据保护方法及系统
CN112765586A (zh) * 2021-01-12 2021-05-07 湖北宸威玺链信息技术有限公司 一种基于区块链的部署文件分发方法、设备和存储介质
CN115829561A (zh) * 2022-12-23 2023-03-21 星环信息科技(上海)股份有限公司 数据产品的交易方法、系统、计算节点和存储介质
CN115829561B (zh) * 2022-12-23 2023-12-19 星环信息科技(上海)股份有限公司 数据产品的交易方法、系统、计算节点和存储介质

Also Published As

Publication number Publication date
CN111597583B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN111429254B (zh) 一种业务数据处理方法、设备以及可读存储介质
CN109918878B (zh) 一种基于区块链的工业物联网设备身份认证及安全交互方法
US10673626B2 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
US11159307B2 (en) Ad-hoc trusted groups on a blockchain
Megouache et al. Ensuring user authentication and data integrity in multi-cloud environment
US20180343126A1 (en) System and method for utilizing connected devices to enable secure and anonymous electronic interaction in a decentralized manner
CN111597583B (zh) 一种基于区块链的数据共享交换方法
US8806200B2 (en) Method and system for securing electronic data
CN115758444A (zh) 区块链实现的方法和系统
US9300639B1 (en) Device coordination
WO2021139338A1 (zh) 一种数据访问权限验证方法、装置、计算机设备及存储介质
CN113420319A (zh) 一种基于区块链和权限合约的数据隐私保护的方法和系统
CN112685790B (zh) 一种区块链数据安全及隐私保护方法
CN113949541B (zh) 一种基于属性策略的dds安全通信中间件设计方法
US20240064009A1 (en) Distributed anonymized compliant encryption management system
CN113901507B (zh) 一种多参与方的资源处理方法及隐私计算系统
CN111756531B (zh) 一种基于CPK的LoRa终端的通信系统及方法
CN105743883B (zh) 一种网络应用的身份属性获取方法及装置
CN113328860A (zh) 一种基于区块链的用户隐私数据安全提供方法
TWM585941U (zh) 帳戶資料處理系統
TW202101267A (zh) 帳戶資料處理方法及帳戶資料處理系統
CN117294465B (zh) 一种基于跨域通信的属性加密系统及方法
CN116757857B (zh) 基于区块链的商保数据管理方法、系统、终端及存储介质
GB2572389A (en) A device, requesting device, method and computer program
CN117993017B (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