Fabric 身份系统
Fabric的参与者身份都封装在X.509数字证书中,参与者包括对等节点(peer),订购者(orderer),客户端应用程序(SDK),管理员(user admin)等等
MSP 代表着组织中决定成员规则的组件,就这样,它管理着组织中成员有效的身份。Fabric 中默认的 MSP 实现使用 X.509 证书作为身份,并采用传统的公钥基础结构(PKI)分层模型。
公钥基础设施(PKI)是一组提供网络安全通信的互联网技术。
PKI有四个关键要素:数字证书、公匙跟私匙、证书颁发机构、废弃证书列表
数字证书(Digital Certificates)
证书中包含公钥、签名密钥(CA的)但没有证私钥
只要信任证书颁发机构(CA),任何阅读证书的人都可以通过证书查验身份,并可以确定证书的信息没有被篡改
验证 & 公匙 & 私匙(Authentication & Public keys and Private Keys)
数字签名可以保证签名消息的完整性
数字签名消息的收件人可以通过检查发送人公匙下的附加签名是否有效来验证收到消息来源的可靠性和完整性
私钥和相应公钥之间的唯一性是使安全通信成为可能的关键。唯一性是指私钥可在相同的消息上产生只有相应的公钥才能匹配的签名消息。
证书颁发机构向不同参与者分发证书,这些证书由 CA 进行数字签名(即使用 CA 的私钥),并将实际参与者与其公钥绑定在一起
证书可以广泛传播,因为它们既不包含参与者私钥也不包含 CA 私钥
证书颁发机构(Certificate Authorities)
CA本身也有一个证书,任何人都可以获得,用来验证CA颁发的证书的正确性
CA 有两种:根 CA 和中间 CA。由于根 CA(Symantec,Geotrust等)必须将数以亿计的证书安全地分发给互联网用户,因此需要将此过程分散到所谓的中间 CA 。
中间 CA 的证书可以是由根 CA 颁发的,也可以是另一中间机构颁发的,这样链中的任何 CA 颁发的证书相互间就形成了一个“信任链”。
根 CA 受到影响,会危及整个信任链。如果中间 CA 受到影响,则危害程度要小得多。
Fabric 提供了一个内置的 CA 组件,允许在区块链网络中创建 CA
Fabric-ca,是一个私有根 CA 提供者,能够管理具有 X.509 证书形式的 Fabric 参与者的数字身份
证书废弃列表(Certificate Revocation Lists)
当第三方想验证另一方的身份时,它首先检查颁发 CA 的 CRL,以确保其证书没有被吊销
如果假冒者试图将无效数字证书传递给验证方,可以首先检查颁发CA的CRL,以确保其未被列为不再有效
被吊销的证书与证书过期不是一回事。已吊销的证书可能没有过期 — 它们通过其他任何方式表明其是完全有效的证书