CN111127206A - 一种基于智能合约的区块链数据访问控制方法及装置 - Google Patents
一种基于智能合约的区块链数据访问控制方法及装置 Download PDFInfo
- Publication number
- CN111127206A CN111127206A CN201911355239.XA CN201911355239A CN111127206A CN 111127206 A CN111127206 A CN 111127206A CN 201911355239 A CN201911355239 A CN 201911355239A CN 111127206 A CN111127206 A CN 111127206A
- Authority
- CN
- China
- Prior art keywords
- transaction
- block chain
- block
- hash value
- state
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- 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
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/407—Cancellation of a transaction
-
- 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/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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
-
- 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/3297—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 involving time stamps, e.g. generation of time stamps
-
- 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
-
- 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/2137—Time limited access, e.g. to a computer or data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于智能合约的区块链数据访问控制方法及装置,该方法包括区块链节点获取机构访问操作请求,访问操作请求包括访问的交易的交易标识,根据交易标识,确定出交易标识对应区块链状态,区块链状态包括区块链状态最后一次发生变化时对应的交易的hash值,根据区块链状态最后一次发生变化时对应的交易的hash值和机构的标识,对机构进行数据访问控制,得到控制结果,将控制结果发送给所述机构。区块链节点通过机构的标识以及状态最后一次发生时的交易的hash值得到交易数据的时间戳和机构的加入时间,依据该时间戳和机构的加入时间对机构的数据访问进行控制,可以提高后加入节点访问加入前的数据的控制效果,提高控制效率。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种基于智能合约的区块链数据访问控制方法及装置。
背景技术
基于区块链***中,由于各机构参与方并非在同一时间加入联盟,有些机构可能是联盟链运行一段时间之后才加入,先加入联盟的机构由于已经贡献或者产生了数据,对这部分先产生的数据先加入联盟的机构拥有优先权利,存在不想让后续新加入机构访问的需求。由于区块链***在运行的过程中各个参与节点都会同步所有区块数据,各节点的状态需要一致,现有的技术方案采用权限管理,或者区块压缩的方式来控制后加入节点的访问,但是都不能有效的控制后加入节点访问加入前的数据。
发明内容
本发明实施例提供一种基于智能合约的区块链数据访问控制方法及装置,用以提高控制后加入节点访问加入前的数据的控制效果。
第一方面,本发明实施例提供一种基于智能合约的区块链数据访问控制方法,包括:
区块链节点获取机构访问操作请求,所述访问操作请求包括访问的交易的交易标识;
所述区块链节点根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括所述区块链状态最后一次发生变化时对应的交易的hash值;
所述区块链节点根据所述区块链状态最后一次发生变化时对应的交易的hash值和所述机构的标识,对所述机构进行数据访问控制,得到控制结果;
所述区块链节点将所述控制结果发送给所述机构。
上述技术方案中,区块链节点通过机构的标识以及状态最后一次发生时的交易的hash值可以得到相应的交易数据的时间戳和机构的加入时间,从而依据该时间戳和机构的加入时间对机构的数据访问进行控制,可以提高后加入节点访问加入前的数据的控制效果,提高控制效率。
可选的,所述区块链节点根据所述区块链状态最后一次发生变化时对应的交易的hash值和所述机构的标识,对所述机构进行数据访问控制,得到控制结果,包括:
所述区块链节点根据所述区块链状态最后一次发生变化时对应的交易的hash值,确定出所述hash值对应的区块的时间戳;
所述区块链节点根据所述机构的标识,确定出所述机构的配置区块的时间戳;
所述区块链节点确定所述机构的配置区块的时间戳是否晚于所述hash值对应的区块的时间戳;
若是,则所述区块链节点执行所述机构的访问操作,并将访问操作的结果确定为所述控制结果;否则确定所述机构无权访问所述交易,将拒绝访问信息确定为所述控制结果。
可选的,在所述区块链节点获取机构访问操作请求之前,还包括:
所述区块链节点获取待执行交易的交易标识;
所述区块链节点执行所述待执行交易,将交易数据写入区块;
所述区块链节点在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中。
可选的,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
可选的,所述机构的标识是通过部署的智能合约获取的。
第二方面,本发明实施例提供一种基于智能合约的区块链数据访问控制装置,包括:
获取单元,用于获取机构访问操作请求,所述访问操作请求包括访问的交易的交易标识;
处理单元,用于根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括所述区块链状态最后一次发生变化时对应的交易的hash值;根据所述区块链状态最后一次发生变化时对应的交易的hash值和所述机构的标识,对所述机构进行数据访问控制,得到控制结果;
发送单元,用于将所述控制结果发送给所述机构。
可选的,所述处理单元具体用于:
根据所述区块链状态最后一次发生变化时对应的交易的hash值,确定出所述hash值对应的区块的时间戳;
根据所述机构的标识,确定出所述机构的配置区块的时间戳;
确定所述机构的配置区块的时间戳是否晚于所述hash值对应的区块的时间戳;
若是,则执行所述机构的访问操作,并将访问操作的结果确定为所述控制结果;否则确定所述机构无权访问所述交易,将拒绝访问信息确定为所述控制结果。
可选的,所述处理单元还用于:
在获取机构访问操作请求之前,获取待执行交易的交易标识;
执行所述待执行交易,将交易数据写入区块;
在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中。
可选的,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
可选的,所述机构的标识是通过部署的智能合约获取的。
第三方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述基于智能合约的区块链数据访问控制方法。
第四方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述基于智能合约的区块链数据访问控制方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种***架构的示意图;
图2为本发明实施例提供的一种基于智能合约的区块链数据访问控制方法的流程示意图;
图3为本发明实施例提供的一种区块的示意图;
图4为本发明实施例提供的一种基于智能合约的区块链数据访问控制装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例所适用的一种***架构,该***架构可以包括多个机构客户端100和区块链***200。
其中,机构客户端100用于与区块链***200进行通信,将交易数据发送给区块链***200进行处理并上链。
区块链***200由多个区块链节点210,与机构客户端100进行通信,用于处理和存储机构客户端100发送的交易数据。该多个区块链节点210可以相互连接通信,每个区块链节点210中包括多个区块,区块用于存储机构客户端100发送的交易数据。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2详细的示出了本发明实施例提供的一种基于智能合约的区块链数据访问控制方法的流程,该流程可以由基于智能合约的区块链数据访问控制装置执行,该装置可以位于上述区块链节点210中,也可以是该区块链节点210。
如图2所示,该流程具体包括:
步骤201,区块链节点获取机构访问操作请求。
该访问操作请求可以包括访问的交易的交易标识。通过该交易标识可以找到对应的区块链状态。该交易标识可以为交易ID。
在具体实现时,机构客户端可以通过sdk与区块链***建立调用关系,然后机构客户端通过sdk发起交易流程。通过操作传入的key值,获取到区块链状态中存储的最新的改变该区块链状态的交易所在区块的hash值。
在获取机构访问操作请求之前,需要先在执行每次交易时,将hash值写入到区块链状态中。区块链状态为交易标识对应的最新一次交易执行时的状态。
具体的,区块链节点获取待执行交易的交易标识,然后执行该待执行交易,将交易数据写入区块。最后在确认交易数据发生变化时,更新区块链状态,将区块的hash值存储在区块链状态中。
步骤202,所述区块链节点根据所述交易标识,确定出所述交易标识对应区块链状态。
该区块链状态包括区块链状态最后一次发生变化时对应的交易的hash值,区块链状态为交易标识对应的最新一次交易执行时的状态。
对于上链的数据,在其区块链状态中添加最新的交易所在区块hash字段,该字段值只保留最新的使状态发生改变的交易所在区块的hash值,区块链状态可以采用的是LevelDb或couchDb等key value型数据库来实现,因此在进行数据操作的时候,通过key值(交易标识)首先来获取区块的hash字段。
其中,单个区块上的数据结构可以如图3所示。
步骤203,所述区块链节点根据所述区块链状态最后一次发生变化时对应的交易的hash值和所述机构的标识,对所述机构进行数据访问控制,得到控制结果。
具体的,区块链节点根据所述区块链状态最后一次发生变化时对应的交易的hash值,确定出所述hash值对应的区块的时间戳;然后所述区块链节点根据所述机构的标识,确定出所述机构的配置区块的时间戳;最后确定所述机构的配置区块的时间戳是否晚于所述hash值对应的区块的时间戳;若是,则所述区块链节点执行所述机构的访问操作,并将访问操作的结果确定为所述控制结果;否则确定所述机构无权访问所述交易,将拒绝访问信息确定为所述控制结果。
也就是说,通过区块的hash值,查询该区块,获取区块的时间戳,该时间戳即为交易数据的上链时间。机构加入联盟,会有相应的配置区块生成,获取配置区块的时间戳,即为区块加入时间,因此将机构的ID,时间,以及机构加入联盟操作的交易hash上传到区块链上进行保存,且设定该方法只可在机构加入时执行一次,一旦机构加入完成,后续将无权限进行操作。以此来保证机构加入时间的唯一性。
可以通过部署的智能合约读取调用机构的证书及机构ID,通过机构ID获取到机构加入联盟的时间。
对比机构加入联盟的时间和数据上链的时间,若机构加入联盟的时间晚于数据上链的时间,则该机构无权操作该数据,若早于,则返回操作的结果。
步骤204,所述区块链节点将所述控制结果发送给所述机构。
当得到控制结果后,可以发送给机构,从而实现对机构的数据访问进行有效控制。
为了更好的解释本发明实施例,下面将在具体场景下来描述上述区块链数据访问控制的流程。
实施例一:
本实施例采用以Fabric为区块链底层的缴费凭证区块链平台,平台假设为税局和医保部门首先搭建,后续社保部门加入进来。税局及医保部门,由于前期的上线运行,双方已经产生了数据,并就这部分数据进行共享使用,后续社保部门的加入,税局及医保部门由于在社保加入之前的数据为税局同医保两方的业务流程产生,因此不希望也无必要将这部分数据同社保部门共享。因此在税局—社保—医保三方构建的联盟链上部署的按机构加入时间进行数据访问控制的合约,采用Go语言实现获取社保机构加入联盟时间,获取状态中最终改变其状态的交易所在区块的hash值,并以此hash值读取交易所在区块的时间戳,对两时间进行比对,判断机构是否有权限读取凭证数据。
状态中的字段除了原始单据之外,还需要存储最新改变状态的交易所在区块的hash值。机构客户端,为各机构根据各自需求开发的业务***。SDK为在Fabric官方提供的SDK基础上进行封装以后的套件,相比于原始SDK使用起来更加方便。
基于上述架构,缴费凭证区块链平台进行机构数据访问控制的步骤如下:
1、社保机构客户端通过SDK同Fabric平台建立连接,上传社保机构的证书以及社保机构ID。
2、社保机构客户端通过SDK发起操作数据的流程;
3、通过操作传入的key值,获取到对应状态中的存储的最新的改变该状态的交易所在区块的hash值。
4、通过区块的hash值,查询该区块,获取区块的时间戳,该时间戳即为数据的上链时间。
5、社保机构加入联盟的操作会有相应的配置区块生成,获取配置区块的时间戳,即为社保机构加入联盟的时间,将机构ID,时间以及机构加入联盟的操作的交易ID上传到区块链上进行保存。
6、通过调用智能合约读取调用机构的证书及机构ID。通过机构ID获取到机构加入联盟的时间。
7、对比社保机构加入联盟的时间,和数据上链的时间,若机构加入联盟的时间晚于数据上链的时间,则该机构无权对该数据进行相应操作,若早于,则社保机构拥有对该笔数据的操作权限。可进行后续的操作。
实施例二:
本实施例采用以太坊为底层的医院病历共享平台,平台假设为医院A和医院B共同搭建。由于前期的上线运行,A、B两医院随着时间的推行,在这段时间的病人,就诊病历已经共享了出来,这部分的数据是A、B两方所共同产生和使用的。后续医院C加入进来的时候,A、B两医院不希望将医院C加入进来之前的数据,在C一开始加入进联盟就获得全部数据的访问权限。这对于A、B两医院也是不公平的。因此在医院A—B—C三方构建的联盟链上部署的按机构加入时间进行数据访问控制的合约,采用Solidity语言实现获取医院C加入联盟时间,获取状态中最终改变病人病历状态的交易所在区块的hash值,并以此hash值读取交易所在区块的时间戳,对两时间进行比对,判断机构是否有权限读取病人病历数据。
状态中的字段除了原始病人病历之外,还需要存储最新改变状态的交易所在区块的hash值。机构客户端,为各机构根据各自需求开发的业务***。SDK为在以太坊官方提供的SDK基础上进行封装以后的套件,相比于原始SDK使用起来更加方便。
基于上述架构,医院病历共享平台进行机构数据访问控制的步骤如下:
1、医院C客户端通过SDK同以太坊平台建立连接,上传医院C的证书以及医院C的ID。
2、医院C客户端通过SDK发起操作数据的流程;
3、通过操作传入的key值,获取到对应病人病历状态中的存储的最新的改变该病人病历的交易所在区块的hash值。
4、通过区块的hash值,查询该区块,获取区块的时间戳,该时间戳即为该病人病历数据的上链时间。
5、医院C加入联盟的操作会有相应的配置区块生成,获取配置区块的时间戳,即为医院C加入联盟的时间,将医院C的ID,加入联盟的时间以及医院C加入联盟的操作的交易ID上传到区块链上进行保存。
6、通过调用智能合约读取调用机构的证书及机构ID。通过机构ID获取到机构加入联盟的时间。
7、对比医院C加入联盟的时间,和数据上链的时间,若医院C加入联盟的时间晚于病人病历上链的时间,则医院C无权对该数据进行相应操作,若早于,则医院C拥有对该笔数据的操作权限。可进行后续的操作。
上述实施例表明,区块链节点获取机构访问操作请求,访问操作请求包括访问的交易的交易标识,根据交易标识,确定出交易标识对应区块链状态,区块链状态包括区块链状态最后一次发生变化时对应的交易的hash值,根据区块链状态最后一次发生变化时对应的交易的hash值和机构的标识,对机构进行数据访问控制,得到控制结果,将控制结果发送给所述机构。区块链节点通过机构的标识以及状态最后一次发生时的交易的hash值可以得到相应的交易数据的时间戳和机构的加入时间,从而依据该时间戳和机构的加入时间对机构的数据访问进行控制,可以提高后加入节点访问加入前的数据的控制效果,提高控制效率。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种基于智能合约的区块链数据访问控制装置的结构,该装置可以执行基于智能合约的区块链数据访问控制流程。
如图4所示,该装置具体包括:
获取单元401,用于获取机构访问操作请求,所述访问操作请求包括访问的交易的交易标识;
处理单元402,用于根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括所述区块链状态最后一次发生变化时对应的交易的hash值;根据所述区块链状态最后一次发生变化时对应的交易的hash值和所述机构的标识,对所述机构进行数据访问控制,得到控制结果;
发送单元403,用于将所述控制结果发送给所述机构。
可选的,所述处理单元402具体用于:
根据所述区块链状态最后一次发生变化时对应的交易的hash值,确定出所述hash值对应的区块的时间戳;
根据所述机构的标识,确定出所述机构的配置区块的时间戳;
确定所述机构的配置区块的时间戳是否晚于所述hash值对应的区块的时间戳;
若是,则执行所述机构的访问操作,并将访问操作的结果确定为所述控制结果;否则确定所述机构无权访问所述交易,将拒绝访问信息确定为所述控制结果。
可选的,所述处理单元402还用于:
在获取机构访问操作请求之前,获取待执行交易的交易标识;
执行所述待执行交易,将交易数据写入区块;
在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中。
可选的,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
可选的,所述机构的标识是通过部署的智能合约获取的。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述基于智能合约的区块链数据访问控制方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行计算机可读指令时,使得计算机执行上述基于智能合约的区块链数据访问控制方法。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种基于智能合约的区块链数据访问控制方法,其特征在于,包括:
区块链节点获取机构访问操作请求,所述访问操作请求包括访问的交易的交易标识;
所述区块链节点根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括所述区块链状态最后一次发生变化时对应的交易的hash值;
所述区块链节点根据所述区块链状态最后一次发生变化时对应的交易的hash值和所述机构的标识,对所述机构进行数据访问控制,得到控制结果;
所述区块链节点将所述控制结果发送给所述机构。
2.如权利要求1所述的方法,其特征在于,所述区块链节点根据所述区块链状态最后一次发生变化时对应的交易的hash值和所述机构的标识,对所述机构进行数据访问控制,得到控制结果,包括:
所述区块链节点根据所述区块链状态最后一次发生变化时对应的交易的hash值,确定出所述hash值对应的区块的时间戳;
所述区块链节点根据所述机构的标识,确定出所述机构的配置区块的时间戳;
所述区块链节点确定所述机构的配置区块的时间戳是否晚于所述hash值对应的区块的时间戳;
若是,则所述区块链节点执行所述机构的访问操作,并将访问操作的结果确定为所述控制结果;否则确定所述机构无权访问所述交易,将拒绝访问信息确定为所述控制结果。
3.如权利要求1所述的方法,其特征在于,在所述区块链节点获取机构访问操作请求之前,还包括:
所述区块链节点获取待执行交易的交易标识;
所述区块链节点执行所述待执行交易,将交易数据写入区块;
所述区块链节点在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中。
4.如权利要求1所述的方法,其特征在于,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
5.如权利要求1至4任一项所述的方法,其特征在于,所述机构的标识是通过部署的智能合约获取的。
6.一种基于智能合约的区块链数据访问控制装置,其特征在于,包括:
获取单元,用于获取机构访问操作请求,所述访问操作请求包括访问的交易的交易标识;
处理单元,用于根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括所述区块链状态最后一次发生变化时对应的交易的hash值;根据所述区块链状态最后一次发生变化时对应的交易的hash值和所述机构的标识,对所述机构进行数据访问控制,得到控制结果;
发送单元,用于将所述控制结果发送给所述机构。
7.如权利要求6所述的装置,其特征在于,所述处理单元具体用于:
根据所述区块链状态最后一次发生变化时对应的交易的hash值,确定出所述hash值对应的区块的时间戳;
根据所述机构的标识,确定出所述机构的配置区块的时间戳;
确定所述机构的配置区块的时间戳是否晚于所述hash值对应的区块的时间戳;
若是,则执行所述机构的访问操作,并将访问操作的结果确定为所述控制结果;否则确定所述机构无权访问所述交易,将拒绝访问信息确定为所述控制结果。
8.如权利要求6所述的装置,其特征在于,所述处理单元还用于:
在获取机构访问操作请求之前,获取待执行交易的交易标识;
执行所述待执行交易,将交易数据写入区块;
在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中。
9.如权利要求6所述的装置,其特征在于,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
10.如权利要求6至9任一项所述的装置,其特征在于,所述机构的标识是通过部署的智能合约获取的。
11.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至5任一项所述的方法。
12.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至5任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911355239.XA CN111127206B (zh) | 2019-12-25 | 2019-12-25 | 一种基于智能合约的区块链数据访问控制方法及装置 |
EP20904718.2A EP3968199B1 (en) | 2019-12-25 | 2020-09-23 | Blockchain data access control method and apparatus based on intelligent contract |
US17/595,767 US11687921B2 (en) | 2019-12-25 | 2020-09-23 | Method and device for control of blockchain data access based on smart contract |
PCT/CN2020/117172 WO2021129004A1 (zh) | 2019-12-25 | 2020-09-23 | 一种基于智能合约的区块链数据访问控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911355239.XA CN111127206B (zh) | 2019-12-25 | 2019-12-25 | 一种基于智能合约的区块链数据访问控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111127206A true CN111127206A (zh) | 2020-05-08 |
CN111127206B CN111127206B (zh) | 2021-04-16 |
Family
ID=70503534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911355239.XA Active CN111127206B (zh) | 2019-12-25 | 2019-12-25 | 一种基于智能合约的区块链数据访问控制方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11687921B2 (zh) |
EP (1) | EP3968199B1 (zh) |
CN (1) | CN111127206B (zh) |
WO (1) | WO2021129004A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738172A (zh) * | 2020-12-23 | 2021-04-30 | 平安科技(深圳)有限公司 | 区块链节点的管理方法、装置、计算机设备和存储介质 |
WO2021129004A1 (zh) * | 2019-12-25 | 2021-07-01 | ***股份有限公司 | 一种基于智能合约的区块链数据访问控制方法及装置 |
CN113742384A (zh) * | 2021-09-09 | 2021-12-03 | 海南安迈云网络技术有限公司 | 一种基于区块链的数据读取方法 |
CN114401090A (zh) * | 2021-12-08 | 2022-04-26 | 杭州趣链科技有限公司 | 静态页面访问方法、***、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283920A1 (en) * | 2015-03-28 | 2016-09-29 | Justin Fisher | Authentication and verification of digital data utilizing blockchain technology |
CN106991334A (zh) * | 2016-11-24 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种数据存取的方法、***及装置 |
CN108932297A (zh) * | 2018-06-01 | 2018-12-04 | 阿里巴巴集团控股有限公司 | 一种数据查询、数据共享的方法、装置及设备 |
CN109829824A (zh) * | 2019-03-05 | 2019-05-31 | 河钢国际科技(北京)有限公司 | 一种基于区块链技术的商品交易信息共享方法 |
US20190228086A1 (en) * | 2018-01-25 | 2019-07-25 | Merck Sharp & Dohme Corp. | Verification of Data Provenance for Existing Computer Systems |
CN110138733A (zh) * | 2019-04-03 | 2019-08-16 | 华南理工大学 | 基于区块链的对象存储***可信存证与访问权限控制方法 |
CN110263579A (zh) * | 2018-11-16 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、***及相关设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027971B (zh) * | 2018-12-07 | 2023-08-22 | 深圳市智税链科技有限公司 | 在区块链网络中确定记账节点的方法、代理节点和介质 |
CN111127206B (zh) | 2019-12-25 | 2021-04-16 | ***股份有限公司 | 一种基于智能合约的区块链数据访问控制方法及装置 |
-
2019
- 2019-12-25 CN CN201911355239.XA patent/CN111127206B/zh active Active
-
2020
- 2020-09-23 US US17/595,767 patent/US11687921B2/en active Active
- 2020-09-23 EP EP20904718.2A patent/EP3968199B1/en active Active
- 2020-09-23 WO PCT/CN2020/117172 patent/WO2021129004A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283920A1 (en) * | 2015-03-28 | 2016-09-29 | Justin Fisher | Authentication and verification of digital data utilizing blockchain technology |
CN106991334A (zh) * | 2016-11-24 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种数据存取的方法、***及装置 |
US20190228086A1 (en) * | 2018-01-25 | 2019-07-25 | Merck Sharp & Dohme Corp. | Verification of Data Provenance for Existing Computer Systems |
CN108932297A (zh) * | 2018-06-01 | 2018-12-04 | 阿里巴巴集团控股有限公司 | 一种数据查询、数据共享的方法、装置及设备 |
CN110263579A (zh) * | 2018-11-16 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、***及相关设备 |
CN109829824A (zh) * | 2019-03-05 | 2019-05-31 | 河钢国际科技(北京)有限公司 | 一种基于区块链技术的商品交易信息共享方法 |
CN110138733A (zh) * | 2019-04-03 | 2019-08-16 | 华南理工大学 | 基于区块链的对象存储***可信存证与访问权限控制方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129004A1 (zh) * | 2019-12-25 | 2021-07-01 | ***股份有限公司 | 一种基于智能合约的区块链数据访问控制方法及装置 |
US11687921B2 (en) | 2019-12-25 | 2023-06-27 | China Unionpay Co., Ltd. | Method and device for control of blockchain data access based on smart contract |
CN112738172A (zh) * | 2020-12-23 | 2021-04-30 | 平安科技(深圳)有限公司 | 区块链节点的管理方法、装置、计算机设备和存储介质 |
CN113742384A (zh) * | 2021-09-09 | 2021-12-03 | 海南安迈云网络技术有限公司 | 一种基于区块链的数据读取方法 |
CN114401090A (zh) * | 2021-12-08 | 2022-04-26 | 杭州趣链科技有限公司 | 静态页面访问方法、***、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220327531A1 (en) | 2022-10-13 |
CN111127206B (zh) | 2021-04-16 |
US11687921B2 (en) | 2023-06-27 |
WO2021129004A1 (zh) | 2021-07-01 |
EP3968199A4 (en) | 2022-07-27 |
EP3968199B1 (en) | 2023-07-19 |
EP3968199A1 (en) | 2022-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111127206B (zh) | 一种基于智能合约的区块链数据访问控制方法及装置 | |
JP7186178B2 (ja) | 安全なブロックチェーンベースのコンセンサス | |
CN108898390B (zh) | 基于区块链的智能合约调用方法及装置、电子设备 | |
JP6775086B2 (ja) | ブロックチェーン監視及び管理 | |
CN111556120B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
JP6907679B2 (ja) | 暗号通貨ベースのイベント参加検証 | |
WO2021082340A1 (zh) | 数据处理方法、装置、***和存储介质 | |
WO2019140199A1 (en) | Systems and methods for key exchange in blockchain | |
US20220269670A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN111192146B (zh) | 区块链数据的订正方法及装置 | |
WO2022100892A1 (en) | Distributed ledger system | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
US20190109889A1 (en) | Method and system for controlling data transmission | |
CN112149077B (zh) | 基于区块链技术的供应链票据方法、***和计算机设备 | |
CN116896564B (zh) | 基于区块链网络的区块生成方法、装置和计算机设备 | |
CN110662210B (zh) | 基于区块链的二次或多次手机号的识别方法、***及设备 | |
CN110458541B (zh) | 基于区块链的对象置换方法及装置 | |
CN117010889A (zh) | 数据处理方法、装置及设备、介质、产品 | |
CN116472530A (zh) | 分布式账本*** | |
CN109801029B (zh) | 跨节点业务协作***及方法 | |
CN117151712A (zh) | 区块链交易处理方法、装置、计算机设备和存储介质 | |
CN115409506A (zh) | 基于区块链的数据处理方法、相关设备及存储介质 | |
CN116521786A (zh) | 基于区块链的合约监控方法、***、存储介质及计算设备 | |
KR20200052198A (ko) | 블록체인 네트워크에서 보상을 제공하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
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 |