深度探索区块链/基于数字证书的成员管理服务(8)

基于数字证书的成员管理服务

hyperledger Fabric 1.0基于PKI体系,生成数字证书以标识用户的身份。每个身份和成员管理服务提供商(Membership Service Provider,MSP)的编号进行关联。

一。实现成员管理的MSP

MSP(Membership Service Provider):成员管理服务提供商,是Hyperledger Fabric1.0中引入的一个组件。目的:抽象化各成员之间的控制结构关系。

MSP将证书颁发,用户认证,后台的加密机制和协议都进行了抽象。

每个MSP可以定义自己的规则,包括:身份认证,签名生成和认证。

每个Hyperledger Fabric 1.0区块链网络可引入一个/多个MSP来进行网络管理。这样即将成员本身和成员之间的操作、规则、流程都模块化了。

1。MSP成员验证

//MSP成员身份及身份标识符定义
type identity struct{
   id *IdentityIdentifier    //身份标识符
   cert *509.Certificate    //x.509证书
   pk bccsp.key   //公钥
   msp *bccspmsp //所属的MSP    
}

type IdentityIdentifier struct{
  Mspid string //MSP标识
  Id String //身份编号    
}

说明:

成员身份是基于标准的X.509证书的

得用PKI体系给每个成员颁发数字证书,结合所属的MSP进行身份认证和权限控制。

根CA证书(root Certificate)是自签名的证书,用根CA证书的私钥签名生成的证书还可以签发新的证书,形成一个树型结构。

中间CA证书(Intermediate Certificate)是由其他CA证书签发的,也可利用自己的私钥签发新的证书。

签发证书是一个信任背书的过程,从根CA证书到最终用户证书形成一个证书信任链。

在PKI体中,可利用CRL/OCSP管理证书有效性。

超级账本中,MSP利用PKI的部份特性来管理证书的有效性。

(1)MSP标识的检查:

身份证书都是和MSP绑定的,必须有相同的MSP标识才能验证证书的有效性。

peer节点的Gossip通信和部分系统链码的调用都要求调用者身份和本地MSP标识相同。背书请求在通道管理策略验证的时候也会检查MSP成员是否有写入权限。

(2)证书路径检查:

除MSP标识检查,还会对证书签名有效性检查,主要是:

证书路径检查、校验根CA证书、中间CA证书是否有效,是否有从身份证书到可信根CA证书的有效路径。

注:在证书验证时并不校验证书的有效期,会强制设置当前时间为证书起始时间的下一秒,这确保有效期验证通过。

MSP目录下的cacerts和intermediatecerts子目录签发的证书都是有效的,证书校验的时候需要检查是否有到可信根证书的有效路径。

(3)CRL的检查

最后检查证书是否被吊销,现仅支持CRL不支持OCSP。

CRL会包含在本地MSP的crls子目录下,是由CA证书签发的包含被吊销证书序列号的证书文件。

在通道的MSP配置中,也会包含CRL列表。在更新通道配置时可发布吊销的证书。

2。MSP目录结构

(1)MSP的配置说明

在每一个Peer节点的排序服务节点上设置MSP目录后,Peer节点和排序服务节点就有了签名证书。在通道节点之间传输数据时,要验证节点的签名。

为了能够标识MSP,每个MSP需要指定一个名称,如org1,org2等。

在通道的MSP成员规则中可以用MSP名称来代表一个联盟(Consortium)、组织(Organization)或部门(Organization Division)

若在创世区块中检测到两个MSP用同一个MSP名称,则排序服务节点将启动失效。

MSP默认实现是基于X.509证书格式的,根据RFC5280文档内容,给一些MSP配置参考。

节点需要进行如下配置才能使用MSP进行签名/验签

【1】。用于节点签名的签名密钥(目前只支持ECDSA密钥)

【2】。通过MSP验证是有效的X.509证书将作为节点证书

MSP有效身份需要满足条件:

【1】身份证书符合X.509证书标准,且有到根CA证书/中间CA证书可验证的证书路径

【2】身份证书不在吊销列表中

【3】在X.509证书的OU字段至少包含一个在MSP中配置的部门

和普通X.509证书不同的是:MSP身份证书是没有有效期的,除非被添加到证书吊销列表中。

(2)生成MSP证书

(3)配置节点的MSP证书

3。MSP配置最佳实践

二。颁发数字证书的Fabric CA

可选的Fabric CA服务,这是官方提供数字证书管理的一个默认实现。

1。概述

 

2。Fabric CA服务端的安装部署

【1】。基于mysql的数据存储

【2】。基于PostgreSQL的数据存储

【3】。基于LDAP的数据存储

3。Fabric CA服务端的操作使用

【1】。Fabric CA客户端的使用

 

【2】。Fabric CA的RESTful接口

 

转载于:https://www.cnblogs.com/kaixinyufeng/p/9534258.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值