CN111191286B - Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 - Google Patents
Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 Download PDFInfo
- Publication number
- CN111191286B CN111191286B CN201911384637.4A CN201911384637A CN111191286B CN 111191286 B CN111191286 B CN 111191286B CN 201911384637 A CN201911384637 A CN 201911384637A CN 111191286 B CN111191286 B CN 111191286B
- Authority
- CN
- China
- Prior art keywords
- module
- chain code
- data
- code function
- private data
- 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.)
- Active
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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/02—Banking, e.g. interest calculation or account maintenance
-
- 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
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Abstract
本发明公开一种Hyperledger Fabric区块链隐私数据存储与访问系统及其方法,包括客户端模块、SDK模块、智能合约模块以及数据库模块,客户端模块通过SDK模块调用隐私数据存储链码函数,智能合约模块根据客户端模块证书中的角色信息判断有效链码集合是否包含隐私数据存储链码函数,如果包含,加密数据的隐私属性,与非隐私属性一同存入数据库;客户端模块通过SDK模块调用隐私数据查询链码函数,智能合约模块根据客户端模块证书中的角色信息判断有效链码集合是否包含隐私数据查询链码函数,如果包含,解密数据库模块的查询结果,将真实数据返回给客户端模块,否则直接密文数据返回给客户端模块。本发明能够有效提高Hyperledger Fabric数据存储中的个人隐私安全,具有保密、安全的优点。
Description
技术领域
本发明涉及区块链技术领域,特别是一种Hyperledger Fabric区块链隐私数据存储与访问系统及方法。
背景技术
区块链作为一种分布式账本技术,账本数据对网络中所有节点开放。然而,在保证数据共享的同时,如何保障数据共享环境下的个人隐私安全成为区块链发展的核心问题。当用户的所有交易信息都暴露在大众面前时,一旦被恶意节点或用户恶意挖掘和利用,将会给用户隐私带来严重的威胁。Hyperledger Fabric区块链作为最广泛的企业级区块链应用平台,接入区块链网络的全部节点和用户共享所有的交易数据。2018年HyperledgerFabric v1.2引入私有数据存储方法,采用私有数据库privateDB进行隐私数据的存储,针对同一通道中的节点之间进行隐私保护,限制节点的私有数据权限。该方法存在的不足之处包括以下三个方面:(1)隐私数据仍以明文存储,数据存储缺乏机密性;(2)仅在节点之间进行隐私保护,缺乏在客户端用户之间进行隐私保护;(3)由于增加了私有数据库,容易降低Hyperledger Fabric区块链本身的性能,很难满足现实场景中的性能需求。
发明内容
本发明的目的在于提供一种可以确保分布式网络中个人隐私安全的HyperledgerFabric区块链隐私数据存储与访问系统及其方法。
实现本发明目的的技术解决方案为:一种Hyperledger Fabric区块链隐私数据存储与访问系统及其方法,包括客户端模块、SDK模块、智能合约模块以及数据库模块,所述客户端模块通过SDK模块调用隐私数据存储链码函数,智能合约模块根据客户端模块证书中的角色信息判断有效链码集合是否包含隐私数据存储链码函数,如果包含,加密数据的隐私属性,与非隐私属性一同存入数据库模块;客户端模块通过SDK模块调用隐私数据查询链码函数,智能合约模块根据客户端模块证书中的角色信息判断有效链码集合是否包含隐私数据查询链码函数,如果包含,解密数据库模块的查询结果,将真实数据返回给客户端模块,否则直接密文数据返回给客户端模块。
本发明与现有方法相比,其显著优点为:(1)可以确保Hyperledger Fabric区块链数据存储中的机密性与隐私性,提高个人隐私安全;(2)可以动态控制客户端用户对隐私数据的访问权限;(3)不容易降低Hyperledger Fabric区块链本身的性能。
下面结合附图对本发明的内容作进一步说明。
附图说明
图1为本发明Hyperledger Fabric区块链隐私数据存储与访问系统的原理架构示意图。
图2为本发明Hyperledger Fabric区块链隐私数据存储与访问方法中存储隐私数据流程图。
图3为本发明Hyperledger Fabric区块链隐私数据存储与访问方法中访问隐私数据流程图。
具体实施方式
结合图1,本发明Hyperledger Fabric区块链隐私数据存储与访问系统,包括客户端模块、SDK模块、智能合约模块以及数据库模块,所述客户端模块通过SDK模块调用隐私数据存储链码函数,智能合约模块根据客户端模块证书中的角色信息判断有效链码集合是否包含隐私数据存储链码函数,如果包含,加密数据的隐私属性,与非隐私属性一同存入数据库模块;客户端模块通过SDK模块调用隐私数据查询链码函数,智能合约模块根据客户端模块证书中的角色信息判断有效链码集合是否包含隐私数据查询链码函数,如果包含,解密数据库模块的查询结果,将真实数据返回给客户端模块,否则直接密文数据返回给客户端模块。
所述客户端模块包括数据上传终端、数据访问终端以及管理员终端,其中数据上传终端用于提交隐私数据存储请求,并获取请求结果;数据访问终端用于提交隐私数据查询请求,并获取查询结果;管理员终端用于提交权限管理请求,为数据上传终端、数据访问终端创建和更新链码权限。
所述SDK模块,用于向智能合约模块提交链码函数调用请求,为客户端模块服务,包括交易提交SDK和交易查询SDK,其中交易提交SDK invokeTx()用于调用背书交易类链码函数;交易查询SDK queryTx()用于调用非背书交易类链码函数。
所述智能合约模块,用于接收SDK模块的请求,执行对应链码函数,包括权限管理链码函数、隐私数据链码函数以及基础链码函数,其中权限管理链码函数用于为数据上传终端和数据访问终端创建、更新链码权限矩阵,以及验证数据上传终端和数据访问终端的链码权限;隐私数据链码函数用于根据SDK模块提交的请求进行隐私数据的存储和查询;基础链码函数用于与数据库模块进行数据交互。
本发明的智能合约模块中的权限管理链码函数,用于创建、验证、更新客户端模块数据上传终端和数据访问终端的链码函数调用权限,即初始化智能合约模块时,执行函数createPermissionMatrix()创建链码权限矩阵,根据角色信息为客户端模块数据上传终端和数据访问终端设置有效链码函数集合,存入数据库模块;智能合约模块收到链码函数调用请求后,调用函数verifyPermission(),从数据库模块获取链码权限矩阵,根据客户端模块身份证书中的角色信息获取有效链码函数集合,验证当前链码函数的调用权限;管理员终端可以根据实际情况调用背书交易类链码函数updatePermission()更新链码权限矩阵,动态管理数据上传终端和数据访问终端的链码函数调用权限。
本发明的智能合约模块中的隐私数据链码函数,用于存储、查询隐私数据,即智能合约模块验证客户端模块的链码权限后,权限有效则执行背书交易类链码函数writePvt()将隐私数据存储到数据库模块,或执行非背书交易类链码函数readPvt()从数据库模块查询指定的隐私数据。
本发明的智能合约模块中的基础链码函数,用于从数据库模块中读取数据,即非背书交易类链码函数read()用于从数据库模块读取一条key-value形式的数据记录;函数getCert()用于从数据库模块读取当前客户端模块的身份证书并进行解析,为函数verifyPermission()提供服务。
系统还包括中间件模块,用于提供便携式交互接口,简化智能合约模块中隐私数据链码函数的数据处理逻辑,包括密钥生成接口、加密接口、解密接口。
本发明中间件模块中的密钥生成接口,用于生成AES会话密钥,即初始化智能合约模块时,通过密钥生成接口GenKey()生成会话密钥,对智能合约模块中的隐私数据进行加解密处理。
本发明中间件模块中的加密接口,采用AES算法加密隐私数据的隐私属性,即执行隐私数据存储链码函数writePvt()过程中,调用加密接口EncryptAES()加密数据的隐私属性。
本发明中间件模块中的解密接口,采用AES算法解密隐私数据的隐私属性,即执行隐私数据查询链码函数readPvt()过程中,调用解密接口DecryptAES()解密数据的隐私属性。
所述数据库模块,用于以key-value形式存储Hyperledger Fabric区块链数据,包括隐私数据、客户端模块的身份证书信息以及链码权限信息。
结合图2、图3,本发明Hyperledger Fabric区块链隐私数据存储与访问方法,包括以下步骤:
步骤1,当数据上传终端向Hyperledger Fabric上传数据时,通过交易提交SDKinvokeTx()向智能合约模块提交链码函数writePvt()的调用请求。
步骤2,智能合约模块收到链码函数writePvt()的调用请求后,执行权限验证函数verifyPermission(),调用接口getCert()从数据库模块获取客户端模块的身份证书,根据身份证书中的角色信息获取数据上传终端的有效链码函数集合,判断有效链码函数集合是否包含“writePvt”,如果包含,表示权限有效,进入步骤4;如果不包含,表示权限无效,返回“链码函数调用受限”消息。
步骤3,智能合约模块执行隐私数据存储链码函数writePvt(),调用加密接口EncryptAES()对隐私数据的隐私属性进行加密,并将加密后的数据存储到数据库模块中,向客户端模块返回“上传成功”消息。
步骤4,当数据访问终端向Hyperledger Fabric发送数据访问请求时,通过交易查询SDKqueryTx()向智能合约模块提交链码函数readPvt()的调用请求。
步骤5,智能合约模块收到链码函数readPvt()的调用请求后,执行权限验证函数verifyPermission(),调用接口getCert()从数据库模块获取客户端模块的身份证书,根据身份证书中的角色信息获取数据访问终端的有效链码函数集合,判断有效链码函数集合是否包含“readPvt”,如果包含,表示权限有效,进入步骤6;如果不包含,表示权限无效,进入步骤7。
步骤6,智能合约模块执行隐私数据查询链码函数readPvt(),从数据库模块查询隐私数据密文,调用接口DecryptAES()解密数据的隐私属性,并将解密后的数据返回给数据访问终端。
步骤7,智能合约模块执行基础链码函数read(),从数据库模块查询隐私数据密文,直接将未解密的数据返回给数据访问终端。
针对原生Hyperledger Fabric平台中任何用户都可以共用智能合约代码而导致的数据泄露问题,本发明通过对客户端用户进行链码函数级别的控制,来限制用户存储和访问数据的权限,从而确保了数据存储和访问过程的安全。此外,隐私数据以部分加密的形式存储,可以确保个人隐私的机密存储,防止个人隐私泄露。
实施例
结合图1,本发明的一个实施例是Hyperledger Fabric区块链隐私数据存储与访问系统,所述系统由五个部分组成:客户端模块、SDK模块、智能合约模块、中间件模块以及数据库模块。客户端模块负责为客户端用户服务,为不同角色的用户提供便携终端;SDK模块基于Node.js设计,负责向智能合约模块提交链码函数调用请求,调用背书交易类链码函数和非背书交易类链码函数;智能合约模块基于Golang设计,负责接收SDK模块的请求,执行对应链码函数逻辑,链码函数功能包括创建链码权限矩阵、更新链码权限矩阵、验证链码权限、存储隐私数据、查询隐私数据、查询普通数据、查询身份证书;中间件模块基于Golang设计,负责提供便携式交互接口,简化智能合约模块中隐私数据链码函数的数据处理逻辑,功能包括密钥生成、数据加密、数据解密;数据库模块采用CouchDB作为数据存储库,存储Hyperledger Fabric区块链相关数据,包括隐私数据、客户端模块的身份证书信息以及链码权限信息。
结合图2和图3,本发明的另一个实施例是Hyperledger Fabric区块链隐私数据存储与访问方法,所述方法包括以下步骤:
(1)当数据上传终端向Hyperledger Fabric区块链中上传数据时,通过invokeTx()向智能合约模块提交链码函数writePvt()的调用请求;智能合约模块收到链码函数writePvt()的调用请求后,执行函数verifyPermission(),调用接口getCert()从CouchDB获取客户端模块的身份证书,根据身份证书中的角色信息获取数据上传终端的有效链码函数集合,判断有效链码函数集合是否包含“writePvt”,如果包含,表示权限有效,执行链码函数writePvt(),调用加密接口EncryptAES()对隐私数据的隐私属性进行加密,并将加密后的数据存储到CouchDB中,向数据上传终端返回“上传成功”消息;如果不包含,表示权限无效,返回“链码函数调用受限”消息。
(2)当数据访问终端向Hyperledger Fabric区块链访问数据时,通过queryTx()向智能合约模块提交链码函数readPvt()的调用请求;智能合约模块收到链码函数readPvt()的调用请求后,执行函数verifyPermission(),调用接口getCert()从CouchDB获取客户端模块的身份证书,根据身份证书中的角色信息获取数据访问终端的有效链码函数集合,判断有效链码函数集合是否包含“readPvt”,如果包含,表示权限有效,执行链码函数readPvt(),从CouchDB数据库中查询隐私数据密文,调用接口DecryptAES()解密数据的隐私属性,并将解密后的数据返回给数据访问终端;如果不包含,表示权限无效,执行函数read(),从CouchDB数据库中查询隐私数据密文,直接将未解密的数据返回给数据访问终端。
Claims (8)
1.一种Hyperledger Fabric区块链隐私数据存储与访问系统,其特征在于包括客户端模块、SDK模块、智能合约模块以及数据库模块,所述客户端模块通过SDK模块调用隐私数据存储链码函数,智能合约模块根据客户端模块证书中的角色信息判断有效链码集合是否包含隐私数据存储链码函数,如果包含,加密数据的隐私属性,与非隐私属性一同存入数据库模块;客户端模块通过SDK模块调用隐私数据查询链码函数,智能合约模块根据客户端模块证书中的角色信息判断有效链码集合是否包含隐私数据查询链码函数,如果包含,解密数据库模块的查询结果,将真实数据返回给客户端模块,否则直接密文数据返回给客户端模块;
所述智能合约模块,用于接收SDK模块的请求,执行对应链码函数,包括权限管理链码函数、隐私数据链码函数以及基础链码函数,其中权限管理链码函数用于为数据上传终端和数据访问终端创建、更新链码权限矩阵,以及验证数据上传终端和数据访问终端的链码权限;隐私数据链码函数用于根据SDK模块提交的请求进行隐私数据的存储和查询;基础链码函数用于与数据库模块进行数据交互;
所述权限管理链码函数,用于创建、验证、更新客户端模块数据上传终端和数据访问终端的链码函数调用权限,即初始化智能合约模块时,执行函数createPermissionMatrix()创建链码权限矩阵,根据角色信息为客户端模块数据上传终端和数据访问终端设置有效链码函数集合,存入数据库模块;智能合约模块收到链码函数调用请求后,调用函数verifyPermission(),从数据库模块获取链码权限矩阵,根据客户端模块身份证书中的角色信息获取有效链码函数集合,验证当前链码函数的调用权限;管理员终端可以根据实际情况调用背书交易类链码函数updatePermission()更新链码权限矩阵,动态管理数据上传终端和数据访问终端的链码函数调用权限。
2.根据权利要求1所述的Hyperledger Fabric区块链隐私数据存储与访问系统,其特征在于所述客户端模块包括数据上传终端、数据访问终端以及管理员终端,其中数据上传终端用于提交隐私数据存储请求,并获取请求结果;数据访问终端用于提交隐私数据查询请求,并获取查询结果;管理员终端用于提交权限管理请求,为数据上传终端、数据访问终端创建和更新链码权限。
3.根据权利要求1所述的Hyperledger Fabric区块链隐私数据存储与访问系统,其特征在于所述SDK模块,用于向智能合约模块提交链码函数调用请求,为客户端模块服务,包括交易提交SDK和交易查询SDK,其中交易提交SDK invokeTx()用于调用背书交易类链码函数;交易查询SDK queryTx()用于调用非背书交易类链码函数。
4.根据权利要求1所述的Hyperledger Fabric区块链隐私数据存储与访问系统,其特征在于所述隐私数据链码函数,用于存储、查询隐私数据,即智能合约模块验证客户端模块的链码权限后,权限有效则执行背书交易类链码函数writePvt()将隐私数据存储到数据库模块,或执行非背书交易类链码函数readPvt()从数据库模块查询指定的隐私数据。
5.根据权利要求1所述的Hyperledger Fabric区块链隐私数据存储与访问系统,其特征在于所述基础链码函数,用于从数据库模块中读取数据,即非背书交易类链码函数read()用于从数据库模块读取一条key-value形式的数据记录;函数getCert()用于从数据库模块读取当前客户端模块的身份证书并进行解析,为函数verifyPermission()提供服务。
6.根据权利要求1所述的Hyperledger Fabric区块链隐私数据存储与访问系统,其特征在于还包括中间件模块,用于提供便携式交互接口,简化智能合约模块中隐私数据链码函数的数据处理逻辑,包括密钥生成接口、加密接口、解密接口。
7.根据权利要求6所述的Hyperledger Fabric区块链隐私数据存储与访问系统,其特征在于所述密钥生成接口,用于生成AES会话密钥,即初始化智能合约模块时,通过密钥生成接口GenKey()生成会话密钥,对智能合约模块中的隐私数据进行加解密处理;
所述加密接口,采用AES算法加密隐私数据的隐私属性,即执行隐私数据存储链码函数writePvt()过程中,调用加密接口EncryptAES()加密数据的隐私属性;
所述解密接口,采用AES算法解密隐私数据的隐私属性,即执行隐私数据查询链码函数readPvt()过程中,调用解密接口DecryptAES()解密数据的隐私属性。
8.一种Hyperledger Fabric区块链隐私数据存储与访问方法,其特征在于包括以下步骤:
步骤1,当数据上传终端向Hyperledger Fabric上传数据时,通过交易提交SDKinvokeTx()向智能合约模块提交链码函数writePvt()的调用请求;
步骤2,智能合约模块收到链码函数writePvt()的调用请求后,执行权限验证函数verifyPermission(),调用接口getCert()从数据库模块获取客户端模块的身份证书,根据身份证书中的角色信息获取数据上传终端的有效链码函数集合,判断有效链码函数集合是否包含“writePvt”,如果包含,表示权限有效,进入步骤4;如果不包含,表示权限无效,返回“链码函数调用受限”消息;
步骤3,智能合约模块执行隐私数据存储链码函数writePvt(),调用加密接口EncryptAES()对隐私数据的隐私属性进行加密,并将加密后的数据存储到数据库模块中,向客户端模块返回“上传成功”消息;
步骤4,当数据访问终端向Hyperledger Fabric发送数据访问请求时,通过交易查询SDKqueryTx()向智能合约模块提交链码函数readPvt()的调用请求;
步骤5,智能合约模块收到链码函数readPvt()的调用请求后,执行权限验证函数verifyPermission(),调用接口getCert()从数据库模块获取客户端模块的身份证书,根据身份证书中的角色信息获取数据访问终端的有效链码函数集合,判断有效链码函数集合是否包含“readPvt”,如果包含,表示权限有效,进入步骤6;如果不包含,表示权限无效,进入步骤7;
步骤6,智能合约模块执行隐私数据查询链码函数readPvt(),从数据库模块查询隐私数据密文,调用接口DecryptAES()解密数据的隐私属性,并将解密后的数据返回给数据访问终端;
步骤7,智能合约模块执行基础链码函数read(),从数据库模块查询隐私数据密文,直接将未解密的数据返回给数据访问终端。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911384637.4A CN111191286B (zh) | 2019-12-28 | 2019-12-28 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
LU101903A LU101903B1 (en) | 2019-12-28 | 2020-06-01 | System and method for storing and accessing private data of Hyperledger Fabric blockchain |
PCT/CN2020/093683 WO2021128733A1 (zh) | 2019-12-28 | 2020-06-01 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911384637.4A CN111191286B (zh) | 2019-12-28 | 2019-12-28 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191286A CN111191286A (zh) | 2020-05-22 |
CN111191286B true CN111191286B (zh) | 2020-09-25 |
Family
ID=70707787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911384637.4A Active CN111191286B (zh) | 2019-12-28 | 2019-12-28 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN111191286B (zh) |
LU (1) | LU101903B1 (zh) |
WO (1) | WO2021128733A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191286B (zh) * | 2019-12-28 | 2020-09-25 | 南京理工大学 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
CN111597586B (zh) * | 2020-05-26 | 2023-06-09 | 牛津(海南)区块链研究院有限公司 | 一种区块链隐私保护方法、系统及装置 |
CN111611318A (zh) * | 2020-06-08 | 2020-09-01 | 杭州复杂美科技有限公司 | 数据访问方法、设备和存储介质 |
CN111931236B (zh) * | 2020-08-19 | 2024-01-16 | 广州大学 | 一种数据通信监控方法、系统及计算机可读存储介质 |
CN112287392B (zh) * | 2020-11-23 | 2023-06-02 | 广东科学技术职业学院 | 一种具备保护隐私信息的智能合约实现方法及系统 |
CN112699413B (zh) * | 2021-01-20 | 2022-07-01 | 泉州华中科技大学智能制造研究院 | 一种可保护数据安全的区块链系统及其数据处理方法 |
CN112905657B (zh) * | 2021-02-01 | 2022-08-19 | 泉州华中科技大学智能制造研究院 | 一种可保护用户隐私的区块链数据处理方法及其系统 |
CN113112354A (zh) * | 2021-03-04 | 2021-07-13 | 卓尔智联(武汉)研究院有限公司 | 一种区块链网络的交易处理方法、区块链网络及存储介质 |
CN112804360B (zh) * | 2021-03-30 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 提供跨链隐私数据的方法和装置 |
CN112734410B (zh) * | 2021-03-30 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 一种在Fabric区块链中预执行链码的方法和装置 |
CN113065158A (zh) * | 2021-04-09 | 2021-07-02 | 工银科技有限公司 | 基于双层协同的联盟链隐私数据保护方法、装置及系统 |
CN113221170A (zh) * | 2021-05-19 | 2021-08-06 | 西安交通大学 | 基于区块链的隐私信息匹配与数据交易方法及系统 |
CN113343286B (zh) * | 2021-08-05 | 2021-11-23 | 江西农业大学 | 一种数据加解密方法、数据上传端、数据接收端及系统 |
CN114390062A (zh) * | 2021-12-30 | 2022-04-22 | 卓尔智联(武汉)研究院有限公司 | 基于区块链的调用方法、装置、电子设备及存储介质 |
CN115022347B (zh) * | 2022-05-30 | 2023-11-17 | 长春大学 | 一种基于Fabric和IPFS的消防监控数据存储系统 |
CN115964734A (zh) * | 2022-05-30 | 2023-04-14 | 北京航空航天大学 | 一种去中心化多方计算数据的存储方法和系统 |
CN115065690A (zh) * | 2022-06-13 | 2022-09-16 | 四川省自主可控电子信息产业有限责任公司 | 一种基于不同异构指令集的去中心化系统及方法 |
CN115002119A (zh) * | 2022-08-01 | 2022-09-02 | 云上人和物联科技有限公司 | 一种基于不同异构指令集的去中心化系统及方法 |
CN115001718B (zh) * | 2022-08-04 | 2023-01-20 | 树根格致科技(湖南)有限公司 | 数据处理方法、装置、计算机设备及可读存储介质 |
CN116126914B (zh) * | 2023-01-12 | 2023-10-03 | 东方合智数据科技(广东)有限责任公司 | 数据源访问方法、装置、设备及存储介质 |
CN116933328A (zh) * | 2023-07-18 | 2023-10-24 | 青岛农业大学 | 基于区块链私有数据集合的数据动态授权系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857747A (zh) * | 2018-12-18 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | 数据同步更新方法、系统和计算机设备 |
CN110266659A (zh) * | 2019-05-31 | 2019-09-20 | 联想(北京)有限公司 | 一种数据处理方法和设备 |
US20190394637A1 (en) * | 2018-06-22 | 2019-12-26 | International Business Machines Corporation | Switching mobile service provider using blockchain |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11683213B2 (en) * | 2018-05-01 | 2023-06-20 | Infra FX, Inc. | Autonomous management of resources by an administrative node network |
CN109871669B (zh) * | 2019-03-14 | 2023-02-10 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN110233868A (zh) * | 2019-04-20 | 2019-09-13 | 北京工业大学 | 一种基于Fabric的边缘计算数据安全与隐私保护方法 |
CN110245511A (zh) * | 2019-06-24 | 2019-09-17 | 浪潮卓数大数据产业发展有限公司 | 一种基于区块链的文件加密存储方法 |
CN111191286B (zh) * | 2019-12-28 | 2020-09-25 | 南京理工大学 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
-
2019
- 2019-12-28 CN CN201911384637.4A patent/CN111191286B/zh active Active
-
2020
- 2020-06-01 WO PCT/CN2020/093683 patent/WO2021128733A1/zh active Application Filing
- 2020-06-01 LU LU101903A patent/LU101903B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190394637A1 (en) * | 2018-06-22 | 2019-12-26 | International Business Machines Corporation | Switching mobile service provider using blockchain |
CN109857747A (zh) * | 2018-12-18 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | 数据同步更新方法、系统和计算机设备 |
CN110266659A (zh) * | 2019-05-31 | 2019-09-20 | 联想(北京)有限公司 | 一种数据处理方法和设备 |
Non-Patent Citations (1)
Title |
---|
Ledgerdata Refiner: A Powerful Ledger Data Query Platform for Hyperledger Fabric;Ence Zhou;《Computer science》;20191210;第1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
LU101903B1 (en) | 2021-01-13 |
WO2021128733A1 (zh) | 2021-07-01 |
CN111191286A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111191286B (zh) | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 | |
US20200320217A1 (en) | Block chain-based data query method, server and storage medium | |
CN111488598B (zh) | 访问控制方法、装置、计算机设备和存储介质 | |
CN109067528B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
US8572372B2 (en) | Method for selectively enabling access to file systems of mobile terminals | |
CN109587101B (zh) | 一种数字证书管理方法、装置及存储介质 | |
US10250613B2 (en) | Data access method based on cloud computing platform, and user terminal | |
CN110120869A (zh) | 密钥管理系统及密钥服务节点 | |
WO2022073264A1 (en) | Systems and methods for secure and fast machine learning inference in trusted execution environment | |
CN108270739B (zh) | 一种管理加密信息的方法及装置 | |
CN112825520B (zh) | 用户隐私数据处理方法、装置、系统及存储介质 | |
CN111274599A (zh) | 一种基于区块链的数据共享方法及相关装置 | |
US20220014367A1 (en) | Decentralized computing systems and methods for performing actions using stored private data | |
CN107040520B (zh) | 一种云计算数据共享系统及方法 | |
CN106992851A (zh) | 基于TrustZone的数据库文件口令加解密方法、装置及终端设备 | |
CN107066885A (zh) | 跨平台可信中间件的实现系统及实现方法 | |
CN114448648B (zh) | 基于rpa的敏感凭据管理方法及系统 | |
CN116436682A (zh) | 数据处理方法、装置及系统 | |
CN114500069A (zh) | 一种电子合同的存储及共享的方法与系统 | |
CN109981579B (zh) | 基于SGX的Hadoop秘钥管理服务安全加强方法 | |
CN104935608A (zh) | 一种云计算网络中的身份认证方法 | |
CN111917711B (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
US20160148021A1 (en) | Systems and Methods for Trading of Text based Data Representation | |
CN104935606A (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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20200522 Assignee: HENGBAO Corp. Assignor: NANJING University OF SCIENCE AND TECHNOLOGY Contract record no.: X2022320000032 Denomination of invention: Hyperledger fabric blockchain privacy data storage and access system and its method Granted publication date: 20200925 License type: Exclusive License Record date: 20220308 |