【问题标题】:Hyperledger Fabric docs on Membership Service Provider - Questions关于会员服务提供商的 Hyperledger Fabric 文档 - 问题
【发布时间】:2019-02-20 18:42:27
【问题描述】:

我阅读了有关 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 实例化到节点有什么意义呢?

【问题讨论】:

    标签: hyperledger-fabric hyperledger-fabric-ca


    【解决方案1】:

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

    正确。但是......实际上,在 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, B C。 因此,通道配置将具有 3 个 MSP - 每个用于验证属于相应组织的身份。

    【讨论】:

    • 非常感谢您的回答。 “如果您获得与赛门铁克 CA 颁发的证书的公钥相对应的私钥,并且该 CA 具有在结构通道配置中配置为根 CA 或中间 CA 的证书,那么 - 您可以验证为OrgX 的成员。”赛门铁克是许多参与者使用的根 CA - 所以世界上很多人/机构都有一个由赛门铁克签署的证书......你是说所有这些人/机构都可以加入 Hyperledger Fabric 网络,其中一个的成员组织使用赛门铁克作为 CA?
    • 根据文档,您似乎是正确的....但是这种设置绝对没有意义。大多数拥有赛门铁克证书的人员/机构不是参与特定 Hyperledger Fabric 网络(并使用赛门铁克作为其 CA)的组织的成员。
    • 例如,假设有一个 Hyperledger Fabric 网络,其中包含三个成员组织:宝马、福特和戴姆勒。假设戴姆勒使用赛门铁克作为其 CA。让我们进一步假设 X 先生(与戴姆勒或任何区块链网络无关)拥有赛门铁克的证书(他为其他目的而采购的)。现在 X 先生可以加入戴姆勒、宝马和福特之间的 Hyperledger Fabric 网络……这有什么意义?
    • ... 我知道每个组织有一个 MSP ... Org1 的 MSP 有一个包含 Org1 成员的所有身份的列表,Org2 的 MSP 有一个所有成员身份的列表Org2 等......假设 Org1 有三个成员:Adam、Bob 和 Sarah。所以 Org1 的通道 MSP 有一个包含 Adam、Bob 和 Sarah 的身份的列表。然后将此信息复制/实例化到本地节点。此外,每个本地节点都有一个与拥有该节点的组织相关联的本地 MSP。
    • 对于属于 Org1 的节点,本地 MSP 有一个包含 Adam、Bob 和 Sarah 身份的列表。但是为什么不直接给节点它属于 Org1 的信息,然后它可以在通道 MSP 的本地副本中查找 Org1 的任何成员呢?这样,您将只拥有包含成员列表的频道 MSP(在 Org1.MSP 的情况下:Adam、Bob 和 Sarah)。现在您有两次相同的列表:一次在频道 Org1.MSP 上,一次在本地 Org1.MSP
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 2022-01-19
    • 2011-05-27
    • 2012-03-06
    • 1970-01-01
    • 2012-03-23
    • 2011-10-08
    相关资源
    最近更新 更多