码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-08-25 16:22:10      阅读:873      评论:0      收藏:0      [点我收藏+]

标签:member   gre   最佳实践   VID   ons   发布   pki   排序   结构   

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

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服务端的操作使用

 

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

标签:member   gre   最佳实践   VID   ons   发布   pki   排序   结构   

原文地址:https://www.cnblogs.com/kaixinyufeng/p/9534258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!