基于HyperledgerFabric联盟链的数据加密及授权管理方法
未命名
10-08
阅读:144
评论:0

基于hyperledger fabric联盟链的数据加密及授权管理方法
技术领域
1.本发明涉及区块链加密技术领域,具体涉及一种基于hyperledger fabric联盟链的数据加密及授权管理方法。
背景技术:
2.区块链是一种去中心化、不可篡改、可追溯、多方共同维护的分布式数据库。hyperledger fabric是linux基金会旗下的开源项目,旨在帮助公司建立私人或联盟许可的区块链网络,在该网络中,多个组织可以共享控制和操作网络内节点的权限。为了提高安全性,例如,中国专利公开号为cn112380179a提供了一种基于区块链的钢铁供应链信息秘密共享方法及系统,在这种区块链网络结构中,各个组织或参与方依然可以共享账本数据信息。然而在某些特定情况下,有的组织需要对某些敏感数据进行隐私保护或权限管理,以确保该部分数据不被其他组织或参与方直接获取。
技术实现要素:
3.本发明要解决的技术问题是:克服现有技术的不足,提供一种基于hyperledger fabric联盟链的数据加密及授权管理方法,用智能合约、分布式共识协议约束所有区块链参与节点,加密数据经过所有者同意并授权用户后,再由上层业务系统对加密数据解密后的原始数据展示给用户。
4.本发明的技术方案为:
5.一种基于hyperledger fabric联盟链的数据加密及授权管理方法,包括如下步骤:
6.s1、创建基于hyperledger fabric的联盟网络,并创建业务通道;
7.s2、再将各个参与方的节点加入通道,实际业务相对应的智能合约安装并运行到各个参与方的节点上;
8.s3、在上层业务系统中,参与方对于敏感数据选择加密方式保存,后台逻辑处理时对该敏感数据进行加密处理并生成密文数据,同时计算出原始数据的哈希值并写入区块链帐本中,以确保该原始数据的真实性;
9.s4、通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过hyperledger fabric的分布式共识协议将数据同步至所有区块链参与节点上;
10.s5、其他用户如果需要查看加密的数据需要向数据所有者申请授权,所有者同意并授权用户后,申请用户则从账本里读取数据后,再由上层业务系统对加密数据解密后的原始数据展示给用户。
11.优选地,所述步骤s1中,基于hyperledger fabric的联盟网络的创建包括如下小步:
12.s11、为各个参与方的节点配置生成ca服务以及业务通道,利用生成的文件进行fabric-ca服务的创建;
13.s12、向创建完成的fabric-ca服务发起http请求,用于获取各个参与方的节点身份相关文件;
14.s13、通过前端获取参与方的节点业务通道相关的参数,利用参与方的节点的参数生成创建文件;
15.s14、在各参与方身份信息认证之后,通过fabric-ca服务的configtxgen生成创建区块,进行创建orderer排序节点和peer背书记账节点,最终完成整个hyperledger fabric的联盟网络的创建过程。
16.优选地,所述步骤s11的业务通道,用于保证原始数据不被篡改同时保护数据的隐私并实现了数据的权限管理,即:
17.业务参与方对于自己所产生的交易数据选择对全部或部分加密,并将加密后的数据写入区块链帐本中;
18.其他成员须向数据所有者申请数据权限,并经所有者同意并授权后可以查看原始数据的功能系统。
19.优选地,所述步骤s14中,基于hyperledger fabric的联盟网络包括fabric区块链和上层业务系统两部分。
20.优选地,所述步骤s2中,各个参与方的节点加入通道,包括如下内容:
21.s21、假设组织a将产生的数据p通过密钥k进行加密得到密文c,即c=e(k,p);
22.s22、并通过哈希函数计算生成原始数据对应的哈希值h0=h(p);
23.s23、然后将附带密文p和哈希值h0的数据保存至区块链上。
24.优选地,所述步骤s2中,利用基于hyperledger fabric的联盟网络制定智能合约,依据智能合约数据所有者随机生成密钥,利用密钥将待授权的数据加密成账本并上链;
25.利用私钥加密密钥,进行数据授权时将加密后的密钥用私钥解密并利用申请用户公钥加密,访问账本前,申请用户进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问账本,申请用户利用私钥将密钥解密,利用密钥通过智能合约将账本进行解密,获取账本,并对本次访问信息进行链上记录,否则无法访问账本。
26.优选地,所述步骤s3中,基于hyperledger fabric的联盟网络中,各个组织或参与方依然共享账本数据信息;
27.在某些特定情况下,有的组织需要对敏感数据进行隐私保护或权限管理,以确保该敏感数据不被其他组织或参与方直接获取。
28.优选地,所述步骤s5中,其他用户如果需要查看加密的数据,包括如下内容:
29.假设组织b需要申请查看该敏感数据p时,需要向数据所有者a提出申请,在a同意并授权后,b即可查看原始数据;
30.s51、b首先从区块链中读取对应的交易,并获取到密文c和哈希值h0;
31.s52、然后通过密钥k对该密文c进行解密得到明文p',即p'=d(k,c);
32.s53、对p'进行哈希计算得到h0',即h0'=h(p');
33.s54、比对h0与h0'是否相等,如相等则说明解密后数据p'即是未经篡改的真实数据p。
34.本发明的与现有技术相比,具有以下有益效果:
35.通过智能合约运行至fabric区块链,敏感的数据加密处理并生成密文数据,通过
分布式共识协议将数据同步至所有区块链参与节点;加密数据经过所有者同意并授权用户后,再由上层业务系统对加密数据解密后的原始数据展示给用户;保证了整个交互过程中的数据安全、授权管理有效性。
附图说明
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1是本发明的结构原理框图。
38.图2是本发明的流程原理框图。
具体实施方式
39.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
40.实施例1
41.如图2所示,本实施例提供了一种基于hyperledger fabric联盟链的数据加密及授权管理方法,包括如下步骤:
42.s1、创建基于hyperledger fabric的联盟网络,并创建业务通道;
43.s2、再将各个参与方的节点加入通道,实际业务相对应的智能合约安装并运行到各个参与方的节点上;
44.s3、在上层业务系统中,参与方对于敏感数据选择加密方式保存,后台逻辑处理时对该敏感数据进行加密处理并生成密文数据,同时计算出原始数据的哈希值并写入区块链帐本中,以确保该原始数据的真实性;
45.s4、通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过hyperledger fabric的分布式共识协议将数据同步至所有区块链参与节点上;
46.s5、其他用户如果需要查看加密的数据需要向数据所有者申请授权,所有者同意并授权用户后,申请用户则从账本里读取数据后,再由上层业务系统对加密数据解密后的原始数据展示给用户。
47.工作原理:
48.一种基于hyperledger fabric联盟链的数据加密及授权查看系统方案。该设计主要由fabric区块链和上层业务系统两部分构成;业务参与方对于自己所产生的交易数据可选择对全部或部分加密,并将加密后的数据写入区块链帐本中,其他成员须向数据所有者申请数据权限,并经所有者同意并授权后可以查看原始数据的功能系统。既保证原始数据不被篡改同时保护数据的隐私并实现数据的权限管理。
49.创建基于hyperledger fabric的联盟网络,并创建业务通道,再将各个参与方的节点加入通道,实际业务相对应的智能合约安装并运行到各个参与方的节点上;在上层业
务系统中,参与方对于敏感的数据选择加密方式保存,后台逻辑处理时对该部分数据进行加密处理并生成密文数据,同时计算出原始数据的哈希值并写入区块链帐本中,以确保该原始数据的真实性;通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过hyperledger fabric的分布式共识协议将数据同步至所有区块链参与节点上;其他用户如果需要查看加密的数据需要向数据所有者申请授权,所有者同意并授权用户后,申请用户则可以从账本里读取数据后,再由上层业务系统对加密数据解密后的原始数据展示给用户。
50.实施例2
51.在实施例1的基础上,所述步骤s1中,基于hyperledger fabric的联盟网络的创建包括如下小步:
52.s11、为各个参与方的节点配置生成ca服务以及业务通道,利用生成的文件进行fabric-ca服务的创建;
53.s12、向创建完成的fabric-ca服务发起http请求,用于获取各个参与方的节点身份相关文件;
54.s13、通过前端获取参与方的节点业务通道相关的参数,利用参与方的节点的参数生成创建文件;
55.s14、在各参与方身份信息认证之后,通过fabric-ca服务的configtxgen生成创建区块,进行创建orderer排序节点和peer背书记账节点,最终完成整个hyperledger fabric的联盟网络的创建过程。
56.优选地,所述步骤s11的业务通道,用于保证原始数据不被篡改同时保护数据的隐私并实现了数据的权限管理,即:
57.业务参与方对于自己所产生的交易数据选择对全部或部分加密,并将加密后的数据写入区块链帐本中;
58.其他成员须向数据所有者申请数据权限,并经所有者同意并授权后可以查看原始数据的功能系统。
59.优选地,所述步骤s14中,基于hyperledger fabric的联盟网络包括fabric区块链和上层业务系统两部分。
60.实施例3
61.在实施例2的基础上,如图1所示,所述步骤s2中,各个参与方的节点加入通道,包括如下内容:
62.s21、假设组织a将产生的数据p通过密钥k进行加密得到密文c,即c=e(k,p);
63.s22、并通过哈希函数计算生成原始数据对应的哈希值h0=h(p);
64.s23、然后将附带密文p和哈希值h0的数据保存至区块链上。
65.优选地,所述步骤s2中,利用基于hyperledger fabric的联盟网络制定智能合约,依据智能合约数据所有者随机生成密钥,利用密钥将待授权的数据加密成账本并上链;
66.利用私钥加密密钥,进行数据授权时将加密后的密钥用私钥解密并利用申请用户公钥加密,访问账本前,申请用户进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问账本,申请用户利用私钥将密钥解密,利用密钥通过智能合约将账本进行解密,获取账本,并对本次访问信息进行链上记录,否则无法访问账本。
67.优选地,所述步骤s3中,基于hyperledger fabric的联盟网络中,各个组织或参与方依然共享账本数据信息;
68.在某些特定情况下,有的组织需要对敏感数据进行隐私保护或权限管理,以确保该敏感数据不被其他组织或参与方直接获取。
69.优选地,所述步骤s5中,其他用户如果需要查看加密的数据,包括如下内容:
70.假设组织b需要申请查看该敏感数据p时,需要向数据所有者a提出申请,在a同意并授权后,b即可查看原始数据;
71.s51、b首先从区块链中读取对应的交易,并获取到密文c和哈希值h0;
72.s52、然后通过密钥k对该密文c进行解密得到明文p',即p'=d(k,c);
73.s53、对p'进行哈希计算得到h0',即h0'=h(p');
74.s54、比对h0与h0'是否相等,如相等则说明解密后数据p'即是未经篡改的真实数据p。
75.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种基于hyperledger fabric联盟链的数据加密及授权管理方法,其特征在于,包括如下步骤:s1、创建基于hyperledger fabric的联盟网络,并创建业务通道;s2、再将各个参与方的节点加入通道,实际业务相对应的智能合约安装并运行到各个参与方的节点上;s3、在上层业务系统中,参与方对于敏感数据选择加密方式保存,后台逻辑处理时对该敏感数据进行加密处理并生成密文数据,同时计算出原始数据的哈希值并写入区块链帐本中,以确保该原始数据的真实性;s4、通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过hyperledger fabric的分布式共识协议将数据同步至所有区块链参与节点上;s5、其他用户如果需要查看加密的数据需要向数据所有者申请授权,所有者同意并授权用户后,申请用户则从账本里读取数据后,再由上层业务系统对加密数据解密后的原始数据展示给用户。2.如权利要求1所述的基于hyperledger fabric联盟链的数据加密及授权管理方法,其特征在于,所述步骤s1中,基于hyperledger fabric的联盟网络的创建包括如下小步:s11、为各个参与方的节点配置生成ca服务以及业务通道,利用生成的文件进行fabric-ca服务的创建;s12、向创建完成的fabric-ca服务发起http请求,用于获取各个参与方的节点身份相关文件;s13、通过前端获取参与方的节点业务通道相关的参数,利用参与方的节点的参数生成创建文件;s14、在各参与方身份信息认证之后,通过fabric-ca服务的configtxgen生成创建区块,进行创建orderer排序节点和peer背书记账节点,最终完成整个hyperledger fabric的联盟网络的创建过程。3.如权利要求2所述的基于hyperledger fabric联盟链的数据加密及授权管理方法,其特征在于,所述步骤s11的业务通道,用于保证原始数据不被篡改同时保护数据的隐私并实现了数据的权限管理,即:业务参与方对于自己所产生的交易数据选择对全部或部分加密,并将加密后的数据写入区块链帐本中;其他成员须向数据所有者申请数据权限,并经所有者同意并授权后可以查看原始数据的功能系统。4.如权利要求3所述的基于hyperledger fabric联盟链的数据加密及授权管理方法,其特征在于,所述步骤s14中,基于hyperledger fabric的联盟网络包括fabric区块链和上层业务系统两部分。5.如权利要求1或4所述的基于hyperledger fabric联盟链的数据加密及授权管理方法,其特征在于,所述步骤s2中,各个参与方的节点加入通道,包括如下内容:s21、假设组织a将产生的数据p通过密钥k进行加密得到密文c,即c=e(k,p);s22、并通过哈希函数计算生成原始数据对应的哈希值h0=h(p);s23、然后将附带密文p和哈希值h0的数据保存至区块链上。
6.如权利要求5所述的基于hyperledger fabric联盟链的数据加密及授权管理方法,其特征在于,所述步骤s2中,利用基于hyperledger fabric的联盟网络制定智能合约,依据智能合约数据所有者随机生成密钥,利用密钥将待授权的数据加密成账本并上链;利用私钥加密密钥,进行数据授权时将加密后的密钥用私钥解密并利用申请用户公钥加密,访问账本前,申请用户进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问账本,申请用户利用私钥将密钥解密,利用密钥通过智能合约将账本进行解密,获取账本,并对本次访问信息进行链上记录,否则无法访问账本。7.如权利要求6所述的基于hyperledger fabric联盟链的数据加密及授权管理方法,其特征在于,所述步骤s3中,基于hyperledger fabric的联盟网络中,各个组织或参与方依然共享账本数据信息;在某些特定情况下,有的组织需要对敏感数据进行隐私保护或权限管理,以确保该敏感数据不被其他组织或参与方直接获取。8.如权利要求7所述的基于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。
技术总结
本发明涉及区块链加密技术领域,具体涉及一种基于Hyperledger Fabric联盟链的数据加密及授权管理方法。本发明包括如下步骤:创建基于Hyperledger Fabric的联盟网络,并创建业务通道;在上层业务系统中,参与方对于敏感数据选择加密方式保存,后台逻辑处理时对该敏感数据进行加密处理并生成密文数据;通过智能合约处理其他相关业务逻辑并将数据写入区块链账本,并通过分布式共识协议将数据同步至所有区块链参与节点上;其他用户如果需要查看加密的数据需要向数据所有者申请授权。本发明保证了整个基于Hyperledger Fabric联盟链交互过程中的数据安全、授权管理有效性。授权管理有效性。授权管理有效性。
技术研发人员:马媛媛 李猛 郭祥天 王轩慧 李若冰 刘强
受保护的技术使用者:青岛农业大学
技术研发日:2023.07.07
技术公布日:2023/10/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/