博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深度探索区块链/基于数字证书的成员管理服务(8)
阅读量:5967 次
发布时间:2019-06-19

本文共 2191 字,大约阅读时间需要 7 分钟。

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

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

你可能感兴趣的文章
Asp.net技巧:gridview获取当前行索引的方法
查看>>
让 vim 在按ESC时自动保存
查看>>
git配置别名
查看>>
SpringMVC配置文件
查看>>
划分数系列问题
查看>>
springboot整合jersey
查看>>
sql定时自动备份(定时作业)
查看>>
Excel 2013 表格自用技巧
查看>>
浅析支付系统的整体架构
查看>>
二位数组
查看>>
unix文件权限
查看>>
Python 模拟鼠键
查看>>
2017-2018-2 20155224『网络对抗技术』Exp7:网络欺诈防范
查看>>
Source Code Review
查看>>
分享一下我安装启动Jmeter出错时的解决办法
查看>>
java 调用process
查看>>
用a标签实现submit提交按钮的效果
查看>>
毕向东_Java基础视频教程第20天_IO流(1~4)
查看>>
几图理解BeautifulSoup
查看>>
HashMap内部是如何实现的(转)
查看>>