zoukankan      html  css  js  c++  java
  • 关于MSP

      成员服务提供者(MSP)能识别出哪些根 CA 和中间 CA 是受到信任来定义某个信任领域的成员的,例如,一个组织。MSP发挥作用的方式要么是将成员的身份进行列表,要么是识别出哪些CA获权为其成员颁发有效证书,要么(最常见的方式)将二者结合使用。

      MSP 的能力绝非仅仅罗列谁是网络参与者或通道成员那么简单。MSP 可以识别参与者在 该MSP 代表的组织范围内可能扮演的特定角色(例如,管理员或作为子组织小组的成员),同时MSP还为网络或通道环境内访问权限的定义奠定了基础(例如,通道管理员、读取者、写入者)。

      MSP 的配置会(以通道 MSP 的形式)被广播到相应组织成员所参与的全部通道中。除了通道 MSP之外,Peer 节点、排序节点以及客户端也都维护着一个本地 MSP,用来验证通道环境外的成员信息,并定义对某特定组件的权限(比如,谁能够在节点上安装链码)。

    此外,MSP 还支持将已撤销的一组身份识别出来。

      MSP分为本地MSP与通道MSP,一个节点本地的文件系统中保存一个本地MSP,同时通道MSP在安装的过程中,也会在通过中每个节点上保存一个通道MSP副本,这样节点本地就包含了本地MSP以及通道MSP的副本。通过本地MSP,节点可以识别当前访问该节点的用户端是否有权限以及有什么权限以什么身份访问该节点。而通过通道MSP,可以对通道参与者进行身份验证(普通参与者、通道管理员等),组织如果想要加入通道中就必须要将自己的组织MSP加入到通道MSP中。

    • 网络 MSP :一个网络的配置文件,通过定义参与组织的 MSP 定义了谁是这个网络中的成员,并且定义了这些成员中的哪些被授权来执行相关管理任务 (比如,创建一个通道)。
    • 通道 MSP:对于一个通道来说,保持其成员MSP的不同至关重要。通道为一群特定组织提供了一个彼此间私有的通信方式,这些组织又对这个通道进行管理。该通道 MSP 中所解释的通道策略定义了谁有能力参与该通道上的某些操作,比如,添加组织或者实例化链码。注意,管理通道的权限和管理网络配置通道(或任何其他通道)的能力之间没有必然联系。管理权仅存在于被管理的范围内(除非已在规则中明确——查看下边对于 ROLE 属性的讨论)。
    • Peer 节点 MSP:这个本地 MSP 是在每个节点的文件系统上定义的,并且每个节点都有一个单独的 MSP 实例。从概念上讲,该MSP和通道 MSP 执行着完全一样的操作,但仅适用于其被定义的节点。在节点上安装一个链码,这个就是使用节点的本地 MSP 来判定谁被授权进行某个操作的例子。
    • 排序节点 MSP: 就和Peer 节点 MSP 一样,排序节点的本地 MSP 也是在节点的文件系统上定义的,并且只会应用于这个节点。同时,排序节点也是由某个单独的组织所有,因此具有一个单独的 MSP 用于罗列它所信任的操作者或者节点。

    //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      

      简单的来说,上图中Root CAs以及Intermediate CAs记录了受到该msp代表的组织信任根证书以及中间证书列表,TLS相关内容在身份验证上的作用与前面的CAs是冗余的,但是可以通过他完成加密通讯。在first-network中每个组织的msp中没有看到定义谁为管理员谁为普通参与者,但是在users文件夹中存在admin 或者 user1的加密材料,在其signcerts中的文件看名字是自证自己身份的加密材料。

    • 根 CA:该文件夹包含了根CA自主签名的X.509证书的列表,其中的根CA是受MSP代表的组织所信任的。在这个 MSP 文件夹中至少要有一个根 CA X.509 证书。

      这是最重要的一个文件夹,因为它指出了所有可用于证明成员属于对应组织的其他证书的来源 CA。

    • 中间 CA:该文件夹包含了受这个组织信任的中间 CA 对应的 X.509 证书列表。其中每个证书的签发方必须是MSP中的某个根CA或中间CA,若是中间CA,则该中间 CA 的证书签发 CA 信任链必须最终能够连上一个受信任的根 CA。

      中间 CA 可能代表了组织中不同的一个分支(就像 ORG1 有 ORG1-MANUFACTURING 和 ORG1-DISTRIBUTION一样), 也可能代表了这个组织自身(比如当一个商业 CA 被用来管理组织的身份时)。在后边这个情况中,中间 CA 可以被用来代表组织的分支。从这里你或许能看到更多关于 MSP 配置最佳实践的信息。注意,对于一个工作网络来说,也有可能没有任何的中间 CA,这种情况下,这个文件夹就是空的。

      就像根 CA 文件夹一样,中间CA文件夹定义了可用于证明组织成员身份的证书的签发CA。

    • 组织单元 (OU):组织单元被列在 $FABRIC_CFG_PATH/msp/config.yaml 文件中,包含了组织单元的一个列表,其中的成员被认为是由这个 MSP 所代表的组织的一部分。当你想要把一个组织的成员限定为持有一个其中包含某特定组织单元的身份(由MSP指定的某个CA签发)的成员时,它是很有用的。

      指定 OU 不是必须的。如果没有列出任何 OU,MSP中的所有身份(由根 CA 和中间 CA 文件夹指出)都会被认为是组织的成员。

    • 管理员:该文件夹包含了一个身份列表,其中的身份为该组织定义了哪些操作者担任管理员。对于标准的 MSP 类型来说,在这个列表中应该有一个或者多个 X509 证书。

      值得注意的是,仅凭借某操作者担任管理员这一点并不能说明它可以管理某些特定的资源。对于一个给定身份来说,它在管理系统方面的实际能力是由管理系统资源的相关策略决定的。比如,一个通道策略可能会指明 ORG1-MANUFACTURING 管理员有权利来向通道中添加新的组织,然而 ORG1-DISTRIBUTION 管理员却没有这个权利。

      虽然 X.509 证书具有 ROLE 属性(比如,明确规定一个操作者是一个 admin),但是该属性指的是操作者在其组织内所扮演的角色,而不是在区块链网络上。这一点与OU 属性的目的类似,若已经定义OU 属性,则其指的是操作者在组织中的位置。

      如果某个通道策略允许来自一个(或某些)组织的任何管理员执行某些通道功能的话,那么ROLE 属性就能够用来授予该通道级别上的管理权力。这样的话,一个组织层面的角色可以授予一个网络级别的角色。

    • 撤销证书:如果一个参与者的身份被撤销,那么该身份的识别信息(不是指身份本身)就会被储存在这个文件夹中。对基于 X.509 的身份来说,这些标识符就是主体密钥标识符 (Subject Key Identifier,SKI) 和权限访问标识符(Authority Access Identifier,AKI)的字符串对,并且无论何时使用 X.509 证书,都会检查这些标识符,以确保证书未被撤销。

      虽然这个列表在概念上跟 CA 的证书撤销列表 (CRL) 是一样的,但是它还和从组织中撤销成员有关。这样一来,本地或通道 MSP 的管理员通过广播被撤销证书的发行CA的最新CRL,就可以迅速将这个参与者或者节点从组织中撤销。罗列这一列表并不是必须的,只有在证书要撤销的时候才会用到。

    • 节点身份:这个文件夹包含了节点的身份,比如,与KeyStore内容结合使用的加密材料将允许节点在向同通道或同网络上其他参与者发送的信息中验证自己的身份。对基于 X.509 的身份来说, 该文件夹包含了一个 X.509 证书。Peer节点会把这一证书放置到交易提案的响应中,比如,来表明该节点已经为此交易背书,在接下来的验证阶段会根据交易的背书策略来验证这一背书。

      本地 MSP 中必须拥有”节点身份“文件夹,节点中有且仅有一个X.509 证书。而通道 MSP中不使用该文件夹 。

    • 私钥的 KeyStore:这个文件夹是为 Peer 节点或者排序节点(或者在客户端的本地 MSP 中) 的本地 MSP 定义的,其中包含了节点的签名秘钥。这个秘钥与节点身份文件夹里的节点身份能以密码方式匹配,可用来对数据进行签名,比如在背书阶段对一个交易提案的响应进行签名。

      本地 MSP 必须有这个文件夹,而且该文件夹必须包含且仅包含一个私钥。很显然,这个文件夹的访问权限必须限定在对这个节点有管理权限的用户的身份。

      因为通道 MSP 的目标只是提供身份验证功能,而不是签名的能力,所以通道 MSP 的配置中不包含这个文件夹。

    • TLS 根 CA:该文件夹包含了根CA的自主签名X.509证书的列表,其中的根CA是受该组织信任来进行TLS通信的。一个 TLS 通信的例子就是,Peer 节点为接受到更新过的账本, 需要连接到一个排序节点,这时就会发生TLS通信。

      MSP TLS 信息和网络内部的节点(Peer 节点和排序节点)有关联,换句话说,它与使用该网络的应用程序和管理员无关。

      这个文件夹中必须有至少一个 TLS 根 CA X.509 证书。

    • TLS 中间 CA:这个文件夹包含了在通信时这个 MSP 所代表的的组织所信任的中间 CA 证书列表。当商业 CA 被用于一个组织的 TLS 证书时,该文件夹特别有用。跟成员的中间 CA 类似,指定中间 TLS CA 是可选项。

  • 相关阅读:
    Java集合框架
    数字翻转
    Servlet的一些细节
    tomcat9配置https
    JavaWeb_打包web应用war
    JavaWeb_tomcat设置默认应用
    JavaWeb_增强for循环
    JavaWeb_静态导入、自动拆箱/装箱
    JavaWeb_泛型(Generic)
    54字符流中第一个不重复的字符
  • 原文地址:https://www.cnblogs.com/AKUN-FYK/p/13391178.html
Copyright © 2011-2022 走看看