6

我阅读了有关 Hyperledger Fabric Membership Service Providers (MSP) 的文档,但并不是所有内容对我来说都很清楚。

MSP 上文档部分的链接如下: https ://hyperledger-fabric.readthedocs.io/en/release-1.2/membership/membership.html

  1. 从文档中引用:

这就是会员服务提供者 (MSP) 发挥作用的地方——它通过列出其成员的身份或通过识别来确定信任域(例如组织)的成员是受信任的根 CA 和中间 CA哪些 CA 被授权为其成员颁发有效身份,或者——通常情况下——通过两者的结合。

我对这一段的理解是:OrgX 的 MSP 要么有一个 OrgX 成员的列表(因此可以简单地对照列表检查网络上的参与者),或者,MSP 定义允许哪个证书颁发机构为OrgX 的成员。这种理解正确吗?

  1. 如果 OrgX 的 MSP 定义了允许向 OrgX 成员颁发身份的证书颁发机构,那么这如何保护网络免受不受欢迎的参与者进入?假设 OrgX 的 MSP 使用“Symantec”作为其 CA。因此,凡是持有赛门铁克证书的人都被视为 OrgX 的成员,可以参与网络。但是,如果我(不是 OrgX 的成员)从“赛门铁克”获得证书怎么办?我现在是否自动被视为 OrgX 的成员并可以加入网络?

  2. 有通道 MSP 和本地 MSP。根据文档,通道 MSP 和本地 MSP 都定义了哪些身份属于某个组织(例如,OrgX)。但是,如果通道 MSP 包含与本地 MSP 相同的信息(即基本上是身份列表),那么将通道 MSP 实例化到节点有什么意义呢?

在此处输入图像描述

4

1 回答 1

1

我对这一段的理解是:OrgX 的 MSP 要么有一个 OrgX 成员的列表(因此可以简单地对照列表检查网络上的参与者),或者,MSP 定义允许哪个证书颁发机构为OrgX 的成员。这种理解正确吗?

正确的。但是......实际上,在 MSP 中明确配置的唯一证书是管理员证书。其余的未配置,并通过标准 x509 PKI 验证(查找到某个中间或根 CA 的验证路径)进行验证,而管理员证书通过逐字节比较来识别。

如果 OrgX 的 MSP 定义了允许向 OrgX 成员颁发身份的证书颁发机构,那么这如何保护网络免受不受欢迎的参与者进入?

不需要的参与者不应拥有具有 OrgX 使用的相应证书的私钥。

假设 OrgX 的 MSP 使用“Symantec”作为其 CA。因此,凡是持有赛门铁克证书的人都被视为 OrgX 的成员,可以参与网络。但是,如果我(不是 OrgX 的成员)从“赛门铁克”获得证书怎么办?我现在是否自动被视为 OrgX 的成员并可以加入网络?

如果您获得与赛门铁克 CA 颁发的证书的公钥相对应的私钥,并且该 CA 具有在结构通道配置中配置为根 CA 或中间 CA 的证书,那么 - 您可以作为OrgX 的成员。

有通道 MSP 和本地 MSP。根据文档,通道 MSP 和本地 MSP 都定义了哪些身份属于某个组织(例如,OrgX)。但是,如果通道 MSP 包含与本地 MSP 相同的信息(即基本上是身份列表),那么将通道实例化到节点有什么意义呢?

通道 MSP 不包含与本地 MSP 相同的信息。本地 MSP 仅包含有关本地 MSP 的节点(peer、orderer)所属的组织的信息。但是 - 频道 MSP 可以包含有关作为频道成员的任何组织的信息。实际上,一个频道有多个 MSP - 每个组织 1 个!

考虑一个例子——你在频道 Foo 中有 orgs A, BC。因此,通道配置将有 3 个 MSP - 每个用于验证属于相应组织的身份。

于 2018-09-16T21:09:31.100 回答