具有证书透明性的 Hyperledger Fabric 证书验证

Hyperledger fabric certificate validation with certificate transparency

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

证书吊销列表

证书吊销列表 (CRL) 很容易理解 — 它只是对 CA 知道因某种原因被吊销的证书的引用列表。如果您还记得商店场景,CRL 就像一张被盗信用卡的列表。

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

使用 CRL 检查证书是否仍然有效。如果冒充者试图将受损的数字证书传递给验证方,则可以首先根据颁发 CA 的 CRL 检查它,以确保它没有被列为不再有效。

link: https://hyperledger-fabric.readthedocs.io/en/release-2.2/identity/identity.html#certificate-revocation-lists

正在生成 CRL(证书吊销列表)

在 Fabric CA 服务器中吊销证书后,还必须更新 Hyperledger Fabric 中相应的 MSP。这包括对等点的本地 MSP 以及适当通道配置块中的 MSP。为此,必须将 PEM 编码的 CRL(证书撤销列表)文件放在 MSP 的 crls 文件夹中。 fabric-ca-client gencrl 命令可用于生成 CRL。任何具有 hf.GenCRL 属性的身份都可以创建一个 CRL,其中包含在特定时期内被吊销的所有证书的序列号。创建的 CRL 存储在 /crls/crl.pem 文件中。

以下命令将创建一个包含所有已撤销证书(过期和未过期)的 CRL,并将 CRL 存储在 ~/msp/crls/crl.pem 文件中。

export FABRIC_CA_CLIENT_HOME=~/clientconfig
fabric-ca-client gencrl -M ~/msp

下一个命令将创建一个 CRL,其中包含在 2017-09-13T16:39:57-08:00 之后(由 –revokedafter 标志指定)和 2017-09 之前吊销的所有证书(过期和未过期) -21T16:39:57-08:00(由 –revokedbefore 标志指定)并将 CRL 存储在 ~/msp/crls/crl.pem 文件中。

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 时间戳。 –revokedbefore 时间戳不能大于–revokedbefore 时间戳。

默认情况下,CRL 的“下一次更新”日期设置为第二天。 crl.expiry 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:57-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

link: https://hyperledger-fabric-ca.readthedocs.io/en/release-1.4/users-guide.html#generating-a-crl-certificate-revocation-list

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