身份
什么是身份?
区块链网络中的不同参与者包括对等点、排序者、客户端应用程序,管理员等。这些参与者中的每一个 — 网络内部或外部能够使用服务的活动元素 — 都具有封装在X.509数字证书中的数字身份,这些身份确实很重要,因为它们确定了对资源的确切权限以及对参与者在区块链网络中拥有的信息的访问权限。
此外,数字身份还具有Fabric用于确定权限的一些附加属性,并且它为身份和关联属性的联合提供了一个特殊名称 - 主体。主体就像userID或groupID,但更灵活一点,因为它们可以包含参与者的身份的各种属性,例如参与者的组织,组织单位,角色甚至是参与者的特定身份,当我们谈论主体时,它们是决定其权限的属性。
要使身份可以验证,它必须来自可信任的权威机构,成员资格服务提供商(MSP)是这个功能如何在Fabric中实现的。更具体地说,MSP是定义治理该组织的有效身份的规则的组件,Fabric中的默认MSP实现使用X.509证书作为身份,采用传统的公钥基础设施(PKI)分层模型(稍后将详细介绍PKI)。
一个简单的场景来解释身份的使用
想象一下,你去超市购买一些杂货,在结账时,你会看到一个标志,表示只接受Visa、Mastercard和AMEX卡,如果你尝试使用其他卡付款 - 我们将其称为“ImagineCard” - 无论该卡是否真实且你的帐户中有足够的资金都无关紧要,它不会被接受。
拥有有效的信用卡是不够的 - 它也必须被商店接受!PKI和MSP以相同的方式协同工作 - PKI提供身份列表,MSP表示哪些是参与网络的给定组织的成员。
PKI证书颁发机构和MSP提供了一个类似的功能组合,PKI就像一个卡提供商 - 它分配了许多不同类型的可验证身份,另一方面,MSP就像商店接受的卡提供商列表,确定哪些身份是商店支付网络的可信成员(参与者),MSP将可验证的身份转变为区块链网络的成员。
让我们更详细地深入研究这些概念。
什么是PKI?
公钥基础设施(PKI)是在网络中提供安全通信的互联网技术集合,它是将S放入HTTPS的PKI - 如果你在Web浏览器上阅读此文档,你可能正在使用PKI来确保它来自经过验证的源。
公钥基础设施(PKI)的要素。PKI由证书颁发机构组成,它们向各方(例如,服务、服务提供商的用户)颁发数字证书,然后使用它们在其环境中交换的消息中对他们自己进行认证。CA的证书撤销列表(CRL)构成不再有效的证书的参考,证书的撤销可能由于多种原因而发生,例如,因为与证书关联的加密私有材料已被公开导致证书可能会被撤销。
虽然区块链网络不仅仅是一个通信网络,但它依赖于PKI标准来确保各个网络参与者之间的安全通信,并确保在区块链上发布的消息得到正确地认证。因此,了解PKI的基础知识以及为什么MSP如此重要是非常重要的。
PKI有四个关键要素:
- 数字证书
- 公钥和私钥
- 证书颁发机构
- 证书撤销列表
让我们快速描述这些PKI基础知识,如果你想了解更多细节,维基百科是一个很好的起点。
数字证书
数字证书是包含与证书持有者有关的一组属性的文档,最常见的证书类型是符合X.509标准的证书,它允许在其结构中编码一方的识别细节。
例如,Detroit Mitchell汽车制造部门的Mary Morris,Michigan可能有一个SUBJECT
属性为C=US
,ST=Michigan
,L=Detroit
,O=Mitchell Cars
,OU=Manufacturing
,CN=Mary Morris /UID=123456
的数字证书,Mary的证书类似于她的政府身份证 - 它提供了Mary的信息,她可以用它来证明关于她的关键事实。X.509证书中还有许多其他属性,但现在让我们专注于这些。
描述一个名为Mary Morris的当事人的数字证书,Mary是证书的SUBJECT
,高亮的SUBJECT
文本显示了关于Mary的关键事实。如你所见,证书还包含更多信息,最重要的是,Mary的公钥是在她的证书中分发的,而她的私人签名密钥则不是,此签名密钥必须保密。
重要的是,Mary的所有属性都可以使用称为密码学(字面意思,“秘密写作”)的数学技术进行记录,因此篡改将使证书无效,只要对方信任证书颁发者(称为证书颁发机构(CA)),密码学就允许Mary将证书提交给其他人以证明自己的身份。只要CA安全地保存某些加密信息(意味着它自己的私人签名密钥),任何阅读证书的人都可以确定关于Mary的信息没有被篡改 - 它将始终具有Mary Morris的特定属性,将Mary的X.509证书视为无法改变的数字身份证。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。