Hyperledger fabric 具有证书透明度的Hyperledger结构证书验证

Hyperledger fabric 具有证书透明度的Hyperledger结构证书验证,hyperledger-fabric,hyperledger-fabric-ca,Hyperledger Fabric,Hyperledger Fabric Ca,这是一个关于Hyperledger结构中证书验证的理论问题。Fabric如何处理证书颁发机构受损这样的情况?它是否监视公共日志服务器以确保证书有效?证书吊销列表 证书吊销列表(CRL)很容易理解——它只是CA知道由于某种原因而被吊销的证书的引用列表。如果你回忆起商店场景,CRL就像一张被盗信用卡的清单 当第三方希望验证另一方的身份时,它首先检查颁发CA的CRL,以确保证书未被吊销。验证者不必检查CRL,但如果他们不检查,他们就有接受泄露身份的风险 使用CRL检查证书是否仍然有效。如果冒名顶替者试

这是一个关于Hyperledger结构中证书验证的理论问题。Fabric如何处理证书颁发机构受损这样的情况?它是否监视公共日志服务器以确保证书有效?

证书吊销列表

证书吊销列表(CRL)很容易理解——它只是CA知道由于某种原因而被吊销的证书的引用列表。如果你回忆起商店场景,CRL就像一张被盗信用卡的清单

当第三方希望验证另一方的身份时,它首先检查颁发CA的CRL,以确保证书未被吊销。验证者不必检查CRL,但如果他们不检查,他们就有接受泄露身份的风险

使用CRL检查证书是否仍然有效。如果冒名顶替者试图将泄露的数字证书传递给验证方,则可以首先根据颁发CA的CRL对其进行检查,以确保其未被列为不再有效

链接:

生成CRL(证书吊销列表)


在结构CA服务器中吊销证书后,还必须更新Hyperledger结构中的相应MSP。这包括对等方的本地MSP以及适当信道配置块中的MSP。为此,PEM编码的CRL(证书吊销列表)文件必须放在MSP的crls文件夹中。fabric ca client gentrl命令可用于生成CRL。任何具有hf.GenCRL属性的标识都可以创建一个CRL,其中包含在某个时间段内吊销的所有证书的序列号。创建的CRL存储在/crls/CRL.pem文件中

export FABRIC_CA_CLIENT_HOME=~/clientconfig
fabric-ca-client gencrl -M ~/msp
export FABRIC_CA_CLIENT_HOME=~/clientconfig
fabric-ca-client gencrl --caname "" --revokedafter 2017-09-13T16:39:57-08:00 --revokedbefore 2017-09-21T16:39:57-08:00 -M ~/msp
以下命令将创建一个包含所有已吊销证书(过期和未过期)的CRL,并将该CRL存储在~/msp/crls/CRL.pem文件中

export FABRIC_CA_CLIENT_HOME=~/clientconfig
fabric-ca-client gencrl -M ~/msp
export FABRIC_CA_CLIENT_HOME=~/clientconfig
fabric-ca-client gencrl --caname "" --revokedafter 2017-09-13T16:39:57-08:00 --revokedbefore 2017-09-21T16:39:57-08:00 -M ~/msp
下一个命令将创建一个CRL,其中包含2017-09-13T16:39:57-08:00(由–revokedfter标志指定)之后和2017-09-21T16:39:57-08:00(由–revokedbefore标志指定)之前撤销的所有证书(过期和未过期),并将CRL存储在~/msp/crls/CRL.pem文件中

export FABRIC_CA_CLIENT_HOME=~/clientconfig
fabric-ca-client gencrl -M ~/msp
export FABRIC_CA_CLIENT_HOME=~/clientconfig
fabric-ca-client gencrl --caname "" --revokedafter 2017-09-13T16:39:57-08:00 --revokedbefore 2017-09-21T16:39:57-08:00 -M ~/msp
–caname标志指定将此请求发送到的CA的名称。在本例中,gencrl请求被发送到默认CA

-revokedafter和-revokedbefore标志指定时间段的上下限。生成的CRL将包含在此时间段内吊销的证书。这些值必须是RFC3339格式中指定的UTC时间戳。时间戳之后的–revokedafter不能大于时间戳之前的–revokedbefore

默认情况下,CRL的“下一次更新”日期设置为下一天。crl.CA配置属性可用于指定自定义值

gencrl命令还将接受–expireafter和–expirebefore标志,这些标志可用于生成CRL,其中包含在这些标志指定的期限内过期的已吊销证书。例如,以下命令将生成一个CRL,其中包含2017-09-13T16:39:57-08:00之后和2017-09-21T16:39:57-08:00之前被吊销的证书,这些证书将在2017-09-13T16:39:57-08:00之后和2018-09-13T16:39-08:00之前过期

export FABRIC_CA_CLIENT_HOME=~/clientconfig
fabric-ca-client gencrl --caname "" --expireafter 2017-09-13T16:39:57-08:00 --expirebefore 2018-09-13T16:39:57-08:00  --revokedafter 2017-09-13T16:39:57-08:00 --revokedbefore 2017-09-21T16:39:57-08:00 -M ~/msp
链接:


除此之外,Hyperledger Fabric还提供可插拔的一致协议,安全性也取决于您的可插拔MSP。

这包括对等方的本地MSP以及相应通道配置块中的MSP。那么如何更新对等的本地MSP呢?