CN116827653B - 基于Hyperledger Fabric联盟链的数据加密及授权管理方法 - Google Patents
基于Hyperledger Fabric联盟链的数据加密及授权管理方法 Download PDFInfo
- Publication number
- CN116827653B CN116827653B CN202310835773.0A CN202310835773A CN116827653B CN 116827653 B CN116827653 B CN 116827653B CN 202310835773 A CN202310835773 A CN 202310835773A CN 116827653 B CN116827653 B CN 116827653B
- Authority
- CN
- China
- Prior art keywords
- data
- authorization
- account book
- hyperledger fabric
- fabric
- 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
- 239000004744 fabric Substances 0.000 title claims abstract description 41
- 238000013475 authorization Methods 0.000 title claims abstract description 33
- 238000007726 management method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000008520 organization Effects 0.000 claims description 13
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及区块链加密技术领域,具体涉及一种基于Hyperledger Fabric联盟链的数据加密及授权管理方法。本发明包括如下步骤:创建基于Hyperledger Fabric的联盟网络,并创建业务通道;在上层业务系统中,参与方对于敏感数据选择加密方式保存,后台逻辑处理时对该敏感数据进行加密处理并生成密文数据;通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过分布式共识协议将数据同步至所有区块链参与节点上;其他用户如果需要查看加密的数据需要向数据所有者申请授权。本发明保证了整个基于Hyperledger Fabric联盟链交互过程中的数据安全、授权管理有效性。
Description
技术领域
本发明涉及区块链加密技术领域,具体涉及一种基于Hyperledger Fabric联盟链的数据加密及授权管理方法。
背景技术
区块链是一种去中心化、不可篡改、可追溯、多方共同维护的分布式数据库。Hyperledger Fabric是Linux基金会旗下的开源项目,旨在帮助公司建立私人或联盟许可的区块链网络,在该网络中,多个组织可以共享控制和操作网络内节点的权限。为了提高安全性,例如,中国专利公开号为CN112380179A提供了一种基于区块链的钢铁供应链信息秘密共享方法及系统,在这种区块链网络结构中,各个组织或参与方依然可以共享账本数据信息。然而在某些特定情况下,有的组织需要对某些敏感数据进行隐私保护或权限管理,以确保该部分数据不被其他组织或参与方直接获取。
发明内容
本发明要解决的技术问题是:克服现有技术的不足,提供一种基于HyperledgerFabric联盟链的数据加密及授权管理方法,用智能合约、分布式共识协议约束所有区块链参与节点,加密数据经过所有者同意并授权用户后,再由上层业务系统对加密数据解密后的原始数据展示给用户。
本发明的技术方案为:
一种基于Hyperledger Fabric联盟链的数据加密及授权管理方法,包括如下步骤:
S1、创建基于Hyperledger Fabric的联盟网络,并创建业务通道;
S2、再将各个参与方的节点加入通道,实际业务相对应的智能合约安装并运行到各个参与方的节点上;
S3、在上层业务系统中,参与方对于敏感数据选择加密方式保存,后台逻辑处理时对该敏感数据进行加密处理并生成密文数据,同时计算出原始数据的哈希值并写入区块链帐本中,以确保该原始数据的真实性;
S4、通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过Hyperledger Fabric的分布式共识协议将数据同步至所有区块链参与节点上;
S5、其他用户如果需要查看加密的数据需要向数据所有者申请授权,所有者同意并授权用户后,申请用户则从账本里读取数据后,再由上层业务系统对加密数据解密后的原始数据展示给用户。
优选地,所述步骤S1中,基于Hyperledger Fabric的联盟网络的创建包括如下小步:
S11、为各个参与方的节点配置生成CA服务以及业务通道,利用生成的文件进行Fabric-CA服务的创建;
S12、向创建完成的Fabric-CA服务发起HTTP请求,用于获取各个参与方的节点身份相关文件;
S13、通过前端获取参与方的节点业务通道相关的参数,利用参与方的节点的参数生成创建文件;
S14、在各参与方身份信息认证之后,通过Fabric-CA服务的configtxgen生成创建区块,进行创建Orderer排序节点和Peer背书记账节点,最终完成整个Hyperledger Fabric的联盟网络的创建过程。
优选地,所述步骤S11的业务通道,用于保证原始数据不被篡改同时保护数据的隐私并实现了数据的权限管理,即:
业务参与方对于自己所产生的交易数据选择对全部或部分加密,并将加密后的数据写入区块链帐本中;
其他成员须向数据所有者申请数据权限,并经所有者同意并授权后可以查看原始数据的功能系统。
优选地,所述步骤S14中,基于Hyperledger Fabric的联盟网络包括Fabric区块链和上层业务系统两部分。
优选地,所述步骤S2中,各个参与方的节点加入通道,包括如下内容:
S21、假设组织A将产生的数据P通过密钥K进行加密得到密文C,即C=E(K,P);
S22、并通过哈希函数计算生成原始数据对应的哈希值H0=H(P);
S23、然后将附带密文P和哈希值H0的数据保存至区块链上。
优选地,所述步骤S2中,利用基于Hyperledger Fabric的联盟网络制定智能合约,依据智能合约数据所有者随机生成密钥,利用密钥将待授权的数据加密成账本并上链;
利用私钥加密密钥,进行数据授权时将加密后的密钥用私钥解密并利用申请用户公钥加密,访问账本前,申请用户进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问账本,申请用户利用私钥将密钥解密,利用密钥通过智能合约将账本进行解密,获取账本,并对本次访问信息进行链上记录,否则无法访问账本。
优选地,所述步骤S3中,基于Hyperledger Fabric的联盟网络中,各个组织或参与方依然共享账本数据信息;
在某些特定情况下,有的组织需要对敏感数据进行隐私保护或权限管理,以确保该敏感数据不被其他组织或参与方直接获取。
优选地,所述步骤S5中,其他用户如果需要查看加密的数据,包括如下内容:
假设组织B需要申请查看该敏感数据P时,需要向数据所有者A提出申请,在A同意并授权后,B即可查看原始数据;
S51、B首先从区块链中读取对应的交易,并获取到密文C和哈希值H0;
S52、然后通过密钥K对该密文C进行解密得到明文P',即P'=D(K,C);
S53、对P'进行哈希计算得到H0',即H0'=H(P');
S54、比对H0与H0'是否相等,如相等则说明解密后数据P'即是未经篡改的真实数据P。
本发明的与现有技术相比,具有以下有益效果:
通过智能合约运行至Fabric区块链,敏感的数据加密处理并生成密文数据,通过分布式共识协议将数据同步至所有区块链参与节点;加密数据经过所有者同意并授权用户后,再由上层业务系统对加密数据解密后的原始数据展示给用户;保证了整个交互过程中的数据安全、授权管理有效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的结构原理框图。
图2是本发明的流程原理框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1
如图2所示,本实施例提供了一种基于Hyperledger Fabric联盟链的数据加密及授权管理方法,包括如下步骤:
S1、创建基于Hyperledger Fabric的联盟网络,并创建业务通道;
S2、再将各个参与方的节点加入通道,实际业务相对应的智能合约安装并运行到各个参与方的节点上;
S3、在上层业务系统中,参与方对于敏感数据选择加密方式保存,后台逻辑处理时对该敏感数据进行加密处理并生成密文数据,同时计算出原始数据的哈希值并写入区块链帐本中,以确保该原始数据的真实性;
S4、通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过Hyperledger Fabric的分布式共识协议将数据同步至所有区块链参与节点上;
S5、其他用户如果需要查看加密的数据需要向数据所有者申请授权,所有者同意并授权用户后,申请用户则从账本里读取数据后,再由上层业务系统对加密数据解密后的原始数据展示给用户。
工作原理:
一种基于Hyperledger Fabric联盟链的数据加密及授权查看系统方案。该设计主要由Fabric区块链和上层业务系统两部分构成;业务参与方对于自己所产生的交易数据可选择对全部或部分加密,并将加密后的数据写入区块链帐本中,其他成员须向数据所有者申请数据权限,并经所有者同意并授权后可以查看原始数据的功能系统。既保证原始数据不被篡改同时保护数据的隐私并实现数据的权限管理。
创建基于Hyperledger Fabric的联盟网络,并创建业务通道,再将各个参与方的节点加入通道,实际业务相对应的智能合约安装并运行到各个参与方的节点上;在上层业务系统中,参与方对于敏感的数据选择加密方式保存,后台逻辑处理时对该部分数据进行加密处理并生成密文数据,同时计算出原始数据的哈希值并写入区块链帐本中,以确保该原始数据的真实性;通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过Hyperledger Fabric的分布式共识协议将数据同步至所有区块链参与节点上;其他用户如果需要查看加密的数据需要向数据所有者申请授权,所有者同意并授权用户后,申请用户则可以从账本里读取数据后,再由上层业务系统对加密数据解密后的原始数据展示给用户。
实施例2
在实施例1的基础上,所述步骤S1中,基于Hyperledger Fabric的联盟网络的创建包括如下小步:
S11、为各个参与方的节点配置生成CA服务以及业务通道,利用生成的文件进行Fabric-CA服务的创建;
S12、向创建完成的Fabric-CA服务发起HTTP请求,用于获取各个参与方的节点身份相关文件;
S13、通过前端获取参与方的节点业务通道相关的参数,利用参与方的节点的参数生成创建文件;
S14、在各参与方身份信息认证之后,通过Fabric-CA服务的configtxgen生成创建区块,进行创建Orderer排序节点和Peer背书记账节点,最终完成整个Hyperledger Fabric的联盟网络的创建过程。
优选地,所述步骤S11的业务通道,用于保证原始数据不被篡改同时保护数据的隐私并实现了数据的权限管理,即:
业务参与方对于自己所产生的交易数据选择对全部或部分加密,并将加密后的数据写入区块链帐本中;
其他成员须向数据所有者申请数据权限,并经所有者同意并授权后可以查看原始数据的功能系统。
优选地,所述步骤S14中,基于Hyperledger Fabric的联盟网络包括Fabric区块链和上层业务系统两部分。
实施例3
在实施例2的基础上,如图1所示,所述步骤S2中,各个参与方的节点加入通道,包括如下内容:
S21、假设组织A将产生的数据P通过密钥K进行加密得到密文C,即C=E(K,P);
S22、并通过哈希函数计算生成原始数据对应的哈希值H0=H(P);
S23、然后将附带密文P和哈希值H0的数据保存至区块链上。
优选地,所述步骤S2中,利用基于Hyperledger Fabric的联盟网络制定智能合约,依据智能合约数据所有者随机生成密钥,利用密钥将待授权的数据加密成账本并上链;
利用私钥加密密钥,进行数据授权时将加密后的密钥用私钥解密并利用申请用户公钥加密,访问账本前,申请用户进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问账本,申请用户利用私钥将密钥解密,利用密钥通过智能合约将账本进行解密,获取账本,并对本次访问信息进行链上记录,否则无法访问账本。
优选地,所述步骤S3中,基于Hyperledger Fabric的联盟网络中,各个组织或参与方依然共享账本数据信息;
在某些特定情况下,有的组织需要对敏感数据进行隐私保护或权限管理,以确保该敏感数据不被其他组织或参与方直接获取。
优选地,所述步骤S5中,其他用户如果需要查看加密的数据,包括如下内容:
假设组织B需要申请查看该敏感数据P时,需要向数据所有者A提出申请,在A同意并授权后,B即可查看原始数据;
S51、B首先从区块链中读取对应的交易,并获取到密文C和哈希值H0;
S52、然后通过密钥K对该密文C进行解密得到明文P',即P'=D(K,C);
S53、对P'进行哈希计算得到H0',即H0'=H(P');
S54、比对H0与H0'是否相等,如相等则说明解密后数据P'即是未经篡改的真实数据P。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (3)
1.一种基于Hyperledger Fabric联盟链的数据加密及授权管理方法,其特征在于,包括如下步骤:
S1、创建基于Hyperledger Fabric的联盟网络,并创建业务通道;包括如下小步:
S11、为各个参与方的节点配置生成CA服务以及业务通道,利用生成的文件进行Fabric-CA服务的创建;业务通道,用于保证原始数据不被篡改同时保护数据的隐私并实现了数据的权限管理,即:
业务参与方对于自己所产生的交易数据选择对全部或部分加密,并将加密后的数据写入区块链帐本中;
其他成员须向数据所有者申请数据权限,并经所有者同意并授权后可以查看原始数据的功能系统;
S12、向创建完成的Fabric-CA服务发起HTTP请求,用于获取各个参与方的节点身份相关文件;
S13、通过前端获取参与方的节点业务通道相关的参数,利用参与方的节点的参数生成创建文件;
S14、在各参与方身份信息认证之后,通过Fabric-CA服务的configtxgen生成创建区块,进行创建Orderer排序节点和Peer背书记账节点,最终完成整个Hyperledger Fabric的联盟网络的创建过程;基于Hyperledger Fabric的联盟网络包括Fabric区块链和上层业务系统两部分;
S2、再将各个参与方的节点加入通道,实际业务相对应的智能合约安装并运行到各个参与方的节点上;包括如下内容:
S21、假设组织A将产生的数据P通过密钥K进行加密得到密文C,即C=E(K,P);
S22、并通过哈希函数计算生成原始数据对应的哈希值H0=H(P);
S23、然后将附带密文P和哈希值H0的数据保存至区块链上;
S3、在上层业务系统中,参与方对于敏感数据选择加密方式保存,后台逻辑处理时对该敏感数据进行加密处理并生成密文数据,同时计算出原始数据的哈希值并写入区块链帐本中,以确保该原始数据的真实性;
S4、通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过Hyperledger Fabric的分布式共识协议将数据同步至所有区块链参与节点上;
S5、其他用户如果需要查看加密的数据需要向数据所有者申请授权,所有者同意并授权用户后,申请用户则从账本里读取数据后,再由上层业务系统对加密数据解密后的原始数据展示给用户;包括如下内容:
假设组织B需要申请查看该敏感数据P时,需要向数据所有者A提出申请,在A同意并授权后,B即可查看原始数据;
S51、B首先从区块链中读取对应的交易,并获取到密文C和哈希值H0;
S52、然后通过密钥K对该密文C进行解密得到明文P',即P'=D(K,C);
S53、对P'进行哈希计算得到H0',即H0'=H(P');
S54、比对H0与H0'是否相等,如相等则说明解密后数据P'即是未经篡改的真实数据P。
2.如权利要求1所述的基于Hyperledger Fabric联盟链的数据加密及授权管理方法,其特征在于,所述步骤S2中,利用基于Hyperledger Fabric的联盟网络制定智能合约,依据智能合约数据所有者随机生成密钥,利用密钥将待授权的数据加密成账本并上链;
利用私钥加密密钥,进行数据授权时将加密后的密钥用私钥解密并利用申请用户公钥加密,访问账本前,申请用户进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问账本,申请用户利用私钥将密钥解密,利用密钥通过智能合约将账本进行解密,获取账本,并对本次访问信息进行链上记录,否则无法访问账本。
3.如权利要求1所述的基于Hyperledger Fabric联盟链的数据加密及授权管理方法,其特征在于,所述步骤S3中,基于Hyperledger Fabric的联盟网络中,各个组织或参与方依然共享账本数据信息;
有的组织需要对敏感数据进行隐私保护或权限管理,以确保该敏感数据不被其他组织或参与方直接获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310835773.0A CN116827653B (zh) | 2023-07-07 | 2023-07-07 | 基于Hyperledger Fabric联盟链的数据加密及授权管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310835773.0A CN116827653B (zh) | 2023-07-07 | 2023-07-07 | 基于Hyperledger Fabric联盟链的数据加密及授权管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116827653A CN116827653A (zh) | 2023-09-29 |
CN116827653B true CN116827653B (zh) | 2024-02-09 |
Family
ID=88121973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310835773.0A Active CN116827653B (zh) | 2023-07-07 | 2023-07-07 | 基于Hyperledger Fabric联盟链的数据加密及授权管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116827653B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190018869A (ko) * | 2017-08-16 | 2019-02-26 | 주식회사 케이티 | 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법 |
CN109729168A (zh) * | 2018-12-31 | 2019-05-07 | 浙江成功软件开发有限公司 | 一种基于区块链的数据共享交换系统及方法 |
CN111586065A (zh) * | 2020-05-12 | 2020-08-25 | 山东浪潮商用系统有限公司 | 一种基于区块链的数据授权方法 |
CN111835500A (zh) * | 2020-07-08 | 2020-10-27 | 浙江工商大学 | 基于同态加密与区块链的可搜索加密数据安全共享方法 |
CN115473664A (zh) * | 2022-05-31 | 2022-12-13 | 北京邮电大学 | 基于区块链的信用数据处理方法及模型 |
-
2023
- 2023-07-07 CN CN202310835773.0A patent/CN116827653B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190018869A (ko) * | 2017-08-16 | 2019-02-26 | 주식회사 케이티 | 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법 |
CN109729168A (zh) * | 2018-12-31 | 2019-05-07 | 浙江成功软件开发有限公司 | 一种基于区块链的数据共享交换系统及方法 |
CN111586065A (zh) * | 2020-05-12 | 2020-08-25 | 山东浪潮商用系统有限公司 | 一种基于区块链的数据授权方法 |
CN111835500A (zh) * | 2020-07-08 | 2020-10-27 | 浙江工商大学 | 基于同态加密与区块链的可搜索加密数据安全共享方法 |
CN115473664A (zh) * | 2022-05-31 | 2022-12-13 | 北京邮电大学 | 基于区块链的信用数据处理方法及模型 |
Also Published As
Publication number | Publication date |
---|---|
CN116827653A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418680B (zh) | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 | |
CN108632292B (zh) | 基于联盟链的数据共享方法和系统 | |
US8630421B2 (en) | Cryptographic key backup and escrow system | |
CN111797415A (zh) | 基于区块链的数据共享方法、电子设备和存储介质 | |
CN111274599A (zh) | 一种基于区块链的数据共享方法及相关装置 | |
CN102075544A (zh) | 局域网共享文件加密系统及其加解密方法 | |
CN115296838B (zh) | 基于区块链的数据共享方法、系统及存储介质 | |
CN113420319A (zh) | 一种基于区块链和权限合约的数据隐私保护的方法和系统 | |
CN112651049B (zh) | 一种基于区块链的隐私数据分享方法及系统 | |
CN110138548A (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
CN113225302A (zh) | 一种基于代理重加密的数据共享系统及方法 | |
CN112632574A (zh) | 基于联盟链的多机构数据处理方法、装置及相关设备 | |
US20240064009A1 (en) | Distributed anonymized compliant encryption management system | |
CN115396096A (zh) | 基于国密算法的秘密文件的加、解密方法及保护系统 | |
CN115567312A (zh) | 一种可满足多种场景的联盟链数据权限管理系统和方法 | |
US10764260B2 (en) | Distributed processing of a product on the basis of centrally encrypted stored data | |
CN110098925A (zh) | 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统 | |
CN110545325B (zh) | 一种基于智能合约的数据加密分享方法 | |
CN112149184A (zh) | 一种基于限时访问的区块链链外存储系统及方法 | |
CN116827653B (zh) | 基于Hyperledger Fabric联盟链的数据加密及授权管理方法 | |
CN110086627B (zh) | 基于非对称密钥池对和时间戳的量子通信服务站密钥协商方法和系统 | |
CN112673591B (zh) | 用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的系统和方法 | |
TWI766171B (zh) | 帳戶資料處理方法及帳戶資料處理系統 | |
CN110138547A (zh) | 基于非对称密钥池对和序列号的量子通信服务站密钥协商方法和系统 | |
CN110113152A (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 |