Fabric系列 - Fabric中的PKI

Fabric CA在整个证书管理环节中处于十分核心的位置。在生产环境中部署时,必须从多个方面进行考虑,以充分确保安全性、可靠性、规范性等指标。

1. 根证书的生成

根证书目前可以通过从权威机构(包括GolbalSign、VeriSign)申请,或采用自行签名的方式生成。技术上来讲,两者都可以完成部署过程,并且都能保证同样的安全。但不同场景下两者各有利弊,总结如下表所示

在这里插入图片描述
权威机构颁发与自行签名比较

因此,如果应用场景不仅包括私有网络,而且需要可靠的证书机制,推荐采用权威机构颁发的根证书;如果仅面向私有网络场景,并且技术团队有较丰富的证书管理经验,则可以采用自行签名的方法进行部署。

2. 分层部署结构

在实际部署中,PKI推荐采用分层的结构,即不由根CA来直接签发证书,而是通过由根CA签发的中间CA甚至更下层CA(统称为intermediate CA),来实现对服务器实体和用户证书的管理,Fabric CA很好地支持了该功能。分层CA如图所示

在这里插入图片描述

之所以采用分层结构,是因为CA颁发证书的过程都需要CA的私钥进行签名,而一旦CA私钥发生泄露或所颁发证书被破坏,则该CA的信任性就遭到了破坏,需要对该CA以及依赖它的所有安全机制进行重建(可以想象,更换一个根CA(Root CA)将带来大量变更和挑战)。

因此,通过分层结构,可以隔离破坏的风险,即便发生私钥泄露,也只是影响到某个中间CA。并且,该CA一旦出现问题,其自身的证书很容易被上层CA撤销。同时,采用分层结构的情况下,根证书私钥可以处于离线状态,进行最强等级的保护(如采用基于硬件的机制),以保障安全。

3. TLS机制

Fabric CA采用了证书来识别网络中的身份,并进一步进行权限管控。TLS证书则从另一个维度来保护网络中的通信。

TLS证书在通信双方建立安全连接时,同样采用了证书机制来进行身份识别。最常见的情况是服务端启用TLS机制。这种情况下客户端会事先获取服务端的证书,并请求服务端发送带有签名的消息,用可信的服务端证书进行认证。反过来,也可以对客户端进行TLS认证,这样就确保连接到服务端的用户都是预先许可的用户。

需要注意的是,Fabric中的证书和TLS证书是两个层面:前者进行网络中的身份管理;后者确保安全连接。为了达到更安全的级别,建议同时启用这两种机制。

猜你喜欢

转载自blog.csdn.net/wcc19840827/article/details/108458664