fabric的身份认证组件

1、什么是身份

区块链网络中的不同参与者分别有 peer(节点)、orderers(排序)、client applications(客户端应用程序),administrators(管理员)等。每个参与者都有一个X.509数字证书中的数字身份。这些身份决定了参与者在区块链网络中对梓源和信息访问的具体权限。

此外,数字身份还有一些额外属性,fabric利用这些属性来确定权限,并给身份和相关属性的组合命名为principal。

principal同userID或groupID相似,但更加灵活。因为它们可以包含actor身份个各种属性,比如actor的组织、组织单位、角色、或者角色的特定身份。

验证身份,须来自受信任的机构。会员服务提供商(MSP)是 Fabric 中的可信机构。更具体地说,MSP 是一个组件,它定义了管理该组织有效身份的规则。Fabric 中默认的 MSP 实现使用 X.509 证书作为身份,采用传统的公钥基础设施 (PKI) 层次模型。

公钥基础设施(PKL)包括:

  • 数字证书
    数字证书是一种文件,其中包含一组与证书持有者有关的属性。最常见的证书类型是符合 X.509 标准的证书,该标准允许在证书结构中对当事人的身份细节进行编码。

  • 身份验证、公钥和私钥
    身份验证和信息完整性是安全通信的重要概念。身份验证要求交换信息的各方确信创建特定信息的身份。信息的 "完整性 "是指信息在传输过程中不能被修改。
    传统的身份验证机制依赖于数字签名,顾名思义,数字签名允许一方对其信息进行数字签名。数字签名还能保证签名信息的完整性。
    从技术上讲,数字签名机制要求每一方都持有两把在密码学上相互连接的密钥:一把是公钥,广泛使用,作为身份验证锚;另一把是私钥,用于对信息进行数字签名。数字签名信息的接收方可以通过检查所附签名是否在预期发送方的公开密钥下有效,来验证所收信息的来源和完整性。
    私密与相应的公钥之间的独特关系是加密的核心,它使安全通信成为可能。密钥之间的独特数学关系使得私人密钥可以用来对信息进行签名,而只有相应的公共密钥才能匹配,并且只能对同一信息进行签名。

  • 证书颁发机构
    fabric中,actor或peer节点可以通过系统信任的机构为其颁发的数字身份参与区块链网络。在最常见的情况下,数字身份(或简称身份)的形式是符合 X.509 标准的加密验证数字证书,由证书颁发机构(CA)颁发。
    证书颁发机构向不同的actor颁发证书。这些证书由 CA 进行数字签名,并将actor与行为者的公钥(以及可选的一系列属性)绑定在一起。因此,如果人们信任 CA(并知道它的公钥),就可以通过验证 CA 在actor证书上的签名,相信特定行为者与证书中的公钥绑定,并拥有其中包含的属性。
    证书可以广泛传播,因为它们既不包含actor的私钥,也不包含 CA 的私钥。因此,它们可以作为信任锚,用于验证来自不同行为者的信息。
    CA 也有自己的证书。这样,由特定 CA 签发身份的消费者就可以通过检查证书是否只能由相应私钥的持有者(CA)生成来验证身份。
    在区块链环境中,每个希望与网络互动的行为者都需要一个身份。在这种情况下,可以说一个或多个 CA 可以用来从数字角度定义一个组织的成员。正是 CA 为一个组织的参与者提供了拥有可验证数字身份的基础。
    CA 有两种类型:RootCA(根CA) 和Intermediate CA(中间CA),由于根CA(Symantec, Geotrust, etc)需要向互联网用户安全分发数以亿计的证书,,因此通常将这一过程分散到中间 CA 上。这些中间 CA 的证书由根 CA 或其他中间CA机构签发,从而可以为链中任何 CA 签发的任何证书建立 “信任链”。这种可追溯到根 CA 的能力不仅使 CA 的功能得以扩展,同时还能提供安全性(允许使用证书的组织放心地使用中间 CA),而且还限制了根 CA 的风险,因为一旦根 CA 遭到破坏,整个信任链都将受到威胁。另一方面,如果中间CA遭到破坏,暴露的风险会小得多。中间 CA 在跨多个组织签发证书时提供了极大的灵活性,
    在这里插入图片描述

  • fabric中的CA
    fabric 提供了一个内置 CA 组件,允许在组建的区块链网络中创建 CA。该组件(Fabric CA)是一个私有根 CA 提供商,能够管理 Fabric 参与者的数字身份,其形式为 X.509 证书。由于 Fabric CA 是针对 Fabric 的根 CA 需求定制的 CA,因此本质上无法提供 SSL 证书供浏览器一般/自动使用。但是,由于某些 CA 必须用于管理身份(即使是在测试环境中),因此 Fabric CA 可用于提供和管理证书。使用公共/商业根 CA 或中间 CA 来提供身份识别也是可能的,而且完全合适。

  • 证书吊销列表(CRL)因某种原因被吊销的证书的引用列表。
    当第三方要验证另一方的身份时,首先要检查签发 CA 的 CRL,以确保证书没有被撤销。验证者不一定要检查 CRL,但如果不检查,就有可能接受已失效的身份。
    注:身份注销和身份过期是两个概念。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值