一种基于无证书认证的Fabric联盟链成员身份管理方法技术

技术编号:24333800 阅读:46 留言:0更新日期:2020-05-29 21:09
本发明专利技术公开了一种基于无证书认证的Fabric联盟链成员身份管理方法及系统,所述方法包括:接收发送用户节点发送的包含签名信息的发送信息;提取发送用户节点预设的身份结构体信息及预设主密钥计算实际公钥,将所述实际公钥与发送用户节点预设的身份结构体中的实际公钥匹配;若匹配成功,采用签名所用算法验证发送信息的签名,实现身份认证;所述方法采用无证书认证技术,用户私钥由两部分组成,分别由密钥生成中心和用户生成,这种密钥托管形式可以显著提高联盟链安全性,并且身份验证数据量得到极大压缩,提升Fabric网络性能。

A membership management method of fabric alliance chain based on certificateless authentication

【技术实现步骤摘要】
一种基于无证书认证的Fabric联盟链成员身份管理方法
本专利技术涉及区块链领域,更具体地,涉及一种基于无证书认证的Fabric联盟链成员身份管理方法。
技术介绍
区块链被认为是引领信息互联网向价值互联网转变的关键技术,根据不同的应用场景以及用户需求,区块链大致可以分为公有链、私有链以及联盟链三大类。随着区块链技术的发展,应用重心逐渐从虚拟货币交易转入实体经济资产价值转移,市场关注的目光也从公有链逐渐转向联盟链。与公有链不同,联盟链中任何用户必须经过身份认证才能加入区块链网络,并且只有指定联盟或组织中用户才能完成有效交易,这样有效的保证了链上信息的可靠性和安全性。Hyperledger/Fabric作为目前公认较好的联盟链平台,支持权限管理和隐私保护,因只允许被授权加盟的成员参与数据维护,且通过协议维护有效成员列表,为用户提供了一个可信的区块链网络。Fabric联盟链平台使用PKI/CA方式实现用户的身份认证管理,但随着链上组织及节点的增多,需要大量存储空间和计算开销来存储和验证众多公钥证书,网络带宽压力剧增,也加剧了存储和效率瓶颈。同时,CA基础设施的部署及管理也是一大开销,现实应用中还存在多种CA系统不兼容的问题。虽然基于身份的公钥加密体制可以解决存储和多CA兼容问题,只使用用户身份信息产生的字符串来唯一表示用户,但用户私钥完全托管在密钥生成中心(KGC)中,存在KGC密钥泄露和恶意伪造的重大安全漏洞。
技术实现思路
为了解决
技术介绍
存在的联盟链节点身份认证管理开销大、效率低、不安全的问题,本专利技术提供了一种基于无证书认证的Fabric联盟链成员身份管理方法及系统,所述方法采用无证书认证技术,将用户私钥分成两部分,分别由密钥生成中心和用户生成,既具备身份公钥加密体制的优势,又很好的保证了密钥的安全性,所述方法包括:接收发送用户节点发送的包含签名信息的发送信息;提取发送用户节点预设的身份结构体信息及预设主密钥计算实际公钥,将所述实际公钥与发送用户节点预设的身份结构体中的实际公钥匹配;若匹配成功,采用签名所用算法验证发送信息的签名,实现身份认证。进一步的,在所述接收发送用户节点发送的包含签名信息的发送信息前,所述方法还包括:基于预设算法,采用发送用户节点预设的身份结构体中的完整私钥对待发送信息签名,将所述包含签名信息的待发送信息发送至接收用户节点。进一步的,在所述采用完整私钥对待发送信息签名前,所述方法还包括:生成联盟链组织成员的身份信息文件;初始化Fabric网络,生成基于无证书认证的创世块及通道配置文件;根据所述生成的联盟链组织成员的身份信息文件构造用户节点身份结构体,所述身份结构体包括用户节点标识ID、形式公钥、实际公钥和完整私钥;初始化用户节点的区块链加密服务提供者结构。进一步的,所述生成联盟链组织成员的身份信息文件的方法包括:提取配置文件中的用户节点标示ID;根据无证书算法生成本地私钥分片和部分公钥,将用户节点标示ID和部分公钥发送至密钥生成中心;接收所述密钥生成中心返回的形式公钥和密钥生成中心私钥分片;将所述本地私钥分片和所述密钥生成中心私钥分片合成为用户节点完整私钥,同时生成实际公钥;生成用户标识ID文件、形式公钥文件、实际公钥文件以及完整私钥文件,将所述生成文件全部存入用户节点身份结构体。进一步的,所述联盟链组织成员的身份信息文件包括系统主密钥文件、用户标识ID文件、形式公钥文件、实际公钥文件以及完整私钥文件。进一步的,所述初始化Fabric网络的方法包括:将原Fabric网络中的根CA和管理员证书更改为密钥生成中心主密钥和管理员身份信息后初始化网络,所述管理员身份信息包括管理员标识ID、管理员形式公钥和管理员实际公钥。进一步的,所述预设算法包括基于无证书认证网络的SM2算法以及基于无证书认证网络的椭圆曲线数字签名算法。进一步的,在采用所述椭圆曲线数字签名算法签名前,根据无证书算法计算前缀值,将所述前缀值与待发送信息合并,对合并后消息采用椭圆曲线数字签名算法签名;采用椭圆曲线数字签名算法验证发送信息的签名时,根据无证书算法计算前缀值,与发送信息合并后采用椭圆曲线数字签名算法验签。一种基于无证书认证的Fabric联盟链成员身份管理系统,其特征在于:所述系统包括身份申请模块、身份管理模块以及身份验证模块;所述身份申请模块用于生成联盟链组织成员的身份信息文件;所述身份管理模块用于初始化Fabric网络,生成基于无证书认证的创世块及通道配置文件,并根据所述生成的联盟链组织成员的身份信息文件构造用户节点身份结构体以及初始化用户节点的区块链加密服务提供者结构;所述身份验证模块用于采用预设算法对待发送数据签名和验签。进一步的,所述身份验证模块用于接收发送用户节点发送的包含签名信息的发送信息;所述身份验证模块用于提取发送用户节点预设的身份结构体信息及预设主密钥计算实际公钥,将所述实际公钥与发送用户节点预设的身份结构体中的实际公钥匹配;若匹配成功,采用签名所用算法验证发送信息的签名,实现身份认证。进一步的,所述身份验证模块用于基于预设算法,采用发送用户节点预设的身份结构体中的完整私钥对待发送信息签名,将所述包含签名信息的待发送信息发送至接收用户节点。进一步的,所述预设算法包括基于无证书认证网络的SM2算法以及基于无证书认证网络的椭圆曲线数字签名算法。进一步的,在采用所述椭圆曲线数字签名算法签名前,根据无证书算法计算前缀值,将所述前缀值与待发送信息合并,对合并后消息采用椭圆曲线数字签名算法签名;采用椭圆曲线数字签名算法验证发送信息的签名时,根据无证书算法计算前缀值,与发送信息合并后采用椭圆曲线数字签名算法验签。进一步的,所述身份申请模块用于提取配置文件中的用户节点标示ID;根据无证书算法生成本地私钥分片和部分公钥,将用户节点标示ID和部分公钥发送至密钥生成中心;所述身份申请模块用于接收所述密钥生成中心返回的形式公钥和密钥生成中心私钥分片;将所述本地私钥分片和所述密钥生成中心私钥分片合成为用户节点完整私钥,同时生成实际公钥;所述身份申请模块用于生成用户标识ID文件、形式公钥文件、实际公钥文件以及完整私钥文件,将所述生成文件全部存入身份管理模块。进一步的,所述联盟链组织成员的身份信息文件包括系统主密钥文件、用户标识ID文件、形式公钥文件、实际公钥文件以及完整私钥文件。进一步的,所述身份管理模块用于生成基于无证书认证的创世块及通道配置文件;所述身份管理模块用于将原Fabric网络中的根CA和管理员证书更改为密钥生成中心主密钥和管理员身份信息后初始化网络,所述管理员身份信息包括管理员标识ID、管理员形式公钥和管理员实际公钥。本专利技术的有益效果为:本专利技术的技术方案,给出了一种基于无证书认证的Fabric联盟链成员身份管理本文档来自技高网...

【技术保护点】
1.一种基于无证书认证的Fabric联盟链成员身份管理方法,其特征在于:/n接收发送用户节点发送的包含签名信息的发送信息;/n提取发送用户节点预设的身份结构体信息及预设主密钥计算实际公钥,将所述实际公钥与发送用户节点预设的身份结构体中的实际公钥匹配;/n若匹配成功,采用签名所用算法验证发送信息的签名,实现身份认证。/n

【技术特征摘要】
1.一种基于无证书认证的Fabric联盟链成员身份管理方法,其特征在于:
接收发送用户节点发送的包含签名信息的发送信息;
提取发送用户节点预设的身份结构体信息及预设主密钥计算实际公钥,将所述实际公钥与发送用户节点预设的身份结构体中的实际公钥匹配;
若匹配成功,采用签名所用算法验证发送信息的签名,实现身份认证。


2.根据权利要求1所述的方法,其特征在于,在所述接收发送用户节点发送的包含签名信息的发送信息前,所述方法还包括:
基于预设算法,采用发送用户节点预设的身份结构体中的完整私钥对待发送信息签名,将所述包含签名信息的待发送信息发送至接收用户节点。


3.根据权利要求2所述的方法,其特征在于,在所述采用完整私钥对待发送信息签名前,所述方法还包括:
生成联盟链组织成员的身份信息文件;
初始化Fabric网络,生成基于无证书认证的创世块及通道配置文件;
根据所述生成的联盟链组织成员的身份信息文件构造用户节点身份结构体,所述身份结构体包括用户节点标识ID、形式公钥、实际公钥和完整私钥;
初始化用户节点的区块链加密服务提供者结构。


4.根据权利要求3所述的方法,其特征在于,所述生成联盟链组织成员的身份信息文件的方法包括:
提取配置文件中的用户节点标示ID;
根据无证书算法生成本地私钥分片和部分公钥,将用户节点标示ID和部分公钥发送至密钥生成中心;
接收所述密钥生成中心返回的形式公钥和密钥生成中心私钥分片;
将所述本地私钥分片和所述密钥生成中心私钥分片合成为用户节点完整私钥,同时生成实际公钥;
生成用户标识ID文件、形式公钥文件、实际公钥文件以及完整私钥文件,将所述生成文件全部存入用户节点身份结构体。


5.根据权利要求3所述的方法,其特征在于:
所述联盟链组织成员的身份信息文件包括系统主密钥文件、用户标识ID文件、形式公钥文件、实际公钥文件以及完整私钥文件。


6.根据权利要求3所述的方法,其特征在于,所述初始化Fabric网络的方法包括:
将原Fabric网络中的根CA和管理员证书更改为密钥生成中心主密钥和管理员身份信息后初始化网络,所述管理员身份信息包括管理员标识ID、管理员形式公钥和管理员实际公钥。


7.根据权利要求2所述的方法,其特征在于:
所述预设算法包括基于无证书认证网络的SM2算法以及基于无证书认证网络的椭圆曲线数字签名算法。


8.根据权利要求7所述的方法,其特征在于:
在采用所述椭圆曲线数字签名算法签名前,根据无证书算法计算前缀值,将所述前缀值与待发送信息合并,对合并后消息采用椭圆曲线数字签名算法签名;
采用椭圆曲线数字签名算法验证发送信息的签名时,根据无证书算法计算前缀值,与发送信息合并后采用椭圆曲线数字签名算法验签。


9.一种基于无证书认证的Fab...

【专利技术属性】
技术研发人员:陈怡博张盼王申
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1