账户体系的目的
- 网络通道(TLS)验证
- 身份(证书)验证
- 签名验证
默认的MSP(Membership Service Providers)的参数
证书文件与私钥合起来可称为Fabric的账户, 即 MSP
Fabric的账号体系,Fabric的有两种方法获取账号,分别是cryptogen模块根据配置文件生成账号和Fabric-ca-server服务器生成账号
与组织相关的参数
cacerts
根CA: 构成信任根的自签名(X.509)CA证书列表admincerts
此MSP的管理员证书: X.509证书列表,代表此MSP的管理员,具有可验证的证书路径,该路径可精确到信任根的CA证书之一;这些证书的所有者有权请求对此MSP配置进行更改(例如,根CA,中间CA)tlscacerts
TLS根CA证书: 构成TLS证书的TLS信任根的自签名(X.509)证书列表- [option]
intermediatecerts
中间CA: X.509证书列表,代表此提供程序考虑用于证书验证的中间CA;这些证书应完全由信任根中的证书之一进行认证;中间CA是可选参数 config.yaml
[option] 该MSP的有效成员应在其X.509证书中包括的组织单位(简称OU)列表;这是一个可选的配置参数,例如在多个组织利用相同的信任根和中间CA并为其成员保留OU字段时使用- [option]
crls
证书吊销列表(CRL)的列表,每一个都与所列出的(中间或根)MSP证书颁发机构中的一个恰好相对应;这是一个可选参数 - [option]
tlsintermediatecerts
中间TLS CA证书: X.509证书列表,代表该提供商考虑的中间TLSCA。这些证书应完全由TLS信任根中的证书之一进行认证;中间CA是可选参数
与个体相关的参数
keystore
节点/账户 用于签名的签名密钥(当前仅支持ECDSA密钥)signcerts
节点/账户 的X.509证书,即在此MSP的验证参数下的有效身份
与网络通道TLS相关的参数
- [option]
ca.crt
一组pem编码的X509证书颁发机构,可以有选择地作为服务器握手的一部分发送 server.crt
服务器使用PEM编码的X509公钥进行TLS通信server.key
服务器使用PEM编码的私钥进行TLS通信
需要注意的是,Fabric中的证书和TLS证书是两个层面:前者进行网络中的身份管理;后者确保安全连接。为了达到更安全的级别,建议同时启用这两种机制。
此MSP实例的有效身份必须满足以下条件
- 它们采用X.509证书的形式,带有可验证的证书路径,可以精确地指向信任证书的根之一
- 它们不包含在任何CRL中
- 他们在其X.509证书结构的字段中列出了MSP配置的一个或多个组织单位
OU
重要的是要注意,MSP身份永远不会过期。只能通过将它们添加到适当的CRL中来撤销它们。此外,当前不支持强制撤销TLS证书。
身份分类
客户端,管理员,peers 和 orderers
- 如果身份在网络上进行交易,则应将其分类为客户端。
- 如果身份处理诸如将对等方加入通道或签署通道配置更新事务之类的管理任务,则应将其分类为管理员。
- 如果身份认可或提交交易,则该身份应归类为对等方。
- 如果身份属于ordering节点,则应将其分类为orderer。
账户的签发 Fabric-CA
Fabric-ca在Fabric系统中的作用示意图