什么是身份系统

区块链网络中的角色包括对等节点(peer),订购着,客户端应用程序,管理员等等。这些参与者的身份都封装在X.509数字证书中。这些身份信息真的非常重要,因为他们决定了在网络中参与者具体的权限。 Hyperledger Fabric 在身份中使用 principal 属性来决定他们的相关权限。principal 就像用户 ID 或组 ID 一样,但又更灵活一点,因为他们可以包含更多的参与者身份属性。当我们提到 principal 的时候,其实也就是讲到了系统里参与者身份属性的权限。这些属性通常是参与者的组织单位,组织单元,角色或参与者的特定身份。

更重要的,一个身份必须要是可验证的(也就是说得是真实的身份),因此,身份授权必须来自于最受信赖的系统了。Hyperledger Fabric 中的会员服务提供者( membership service provider 下文简称MSP)干的就是这个活儿。进一步来说,MSP 代表着组织中决定成员规则的组件,就这样,它管理着组织中成员有效的身份。Fabric 中默认的 MSP 实现使用 X.509 证书作为身份,并采用传统的公钥基础结构(PKI)分层模型。

一个简单的场景来描述身份系统

假设你去超市买些杂货,在结账时你注意到商家只支持银联付款。如果你使用支付宝付款,那将不被接受,尽管你的支付宝里有钱并且实名认证过了。

所以,有一个有效的支付方式(如支付宝)并不够,它必须要被商家所接受!PKI 和 MSP 在一起就代表着这种场景,PKI 提供了一系列的身份(银联、万事达、微信、支付宝等等),MSP 决定哪些才是参与网络组织的成员(那种支付能被接受)。

PKI 证书颁发机构和 MSP 提供了相似功能的结合。PKI 就像一个名片提供者 — 它颁发许多不同类型的可验证身份。另一方面,MSP 就像商店接受的银行卡提供商列表 — 决定了商店支付网络中哪些参与者(支付方式)是被信任的。MSP 将可验证身份转变为区块链网络的成员

什么是 PKIs

公钥基础设施(PKI)是一组提供网络安全通信的互联网技术。是 PKI 才有了 HTTPS 中的S - 如果您在Web浏览器上阅读本文档,则可能已经使用了 PKI 来确保它来自可靠源。

*公钥基础设施(PKI)的要素。PKI 由证书颁发机构组成,证书颁发机构向各方(例如,服务的用户,服务提供商)颁发数字证书,然后使用这些证书在他们与其环境交换的消息中对自己进行身份验证。CA 的证书废弃列表(CRL)包含着各种无效证书。证书被废弃的原因可能有多种,例如,与证书关联的私人密码资料已被暴露。

区块链网络不仅仅是一个通信网络,它依赖于 PKI 标准来确保各个网络参与者之间的安全通信,并确保发布在区块链上的消息得到正确的验证。因此,了解 PKI 的基础知识以及 MSP 将会非常重要。

PKI有四个关键要素:

  • 数字证书
  • 公匙跟私钥
  • 证书颁发机构
  • 废弃证书列表

Hyperledger Fabric 安全基础:身份系统 PKIs的更多相关文章

  1. Hyperledger Fabric基础知识

    文章目录 什么是Hyperledger Fabric? Hyperledger架构是怎么工作的? Hyperledger交易如何执行 总结 Hyperledger Fabric基础知识 本文我们会介绍 ...

  2. Hyperledger Fabric Chaincode for Operators——实操智能合约

    什么是Chaincode(智能合约)? chaincode是一个程序,它是使用Go语言编写的,最终在Java等其他编程语言中实现了指定的接口.chaincode运行在一个被背书peer进程独立出来的安 ...

  3. 第5章 Hyperledger Fabric功能

    Hyperledger Fabric is a unique implementation of distributed ledger technology (DLT) that delivers e ...

  4. Hyperledger Fabric(1)基础架构

    前言 在区块链的家谱里,第一代区块链系统是以比特币为代表的公链,主要实现的是数字货币的功能:第二代区块链系统是以以太坊平台为代表的公链,创造性的实现了智能合约.而第三代区块链系统,则是HyperLed ...

  5. (一)Hyperledger Fabric 1.1安装部署-基础环境搭建

    在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS ...

  6. HyperLedger Fabric 1.4 基础环境搭建(7)

    学习了前面几章理论知识后,本章开始介绍实践操作,先介绍Fabric基础环境搭建,采用的操作系统为Centos 7 64位,依次介绍Docker安装.Docker-Compose安装.GO语言环境安装. ...

  7. Hyperledger Fabric无系统通道启动及通道的创建和删除

    前言 在Hyperledger Fabric组织的动态添加和删除中,我们已经完成了在运行着的网络中动态添加和删除组织,但目前为止,我们启动 orderer 节点的方式都是通过系统通道的方式,这样自带系 ...

  8. Hyperledger Fabric MSP Identity Validity Rules——MSP身份验证规则

    MSP Identity Validity Rules——MSP身份验证规则 正如Hyperledger Fabric Membership Service Providers (MSP)——成员服务 ...

  9. Fedora 25-64位操作系统中安装配置Hyperledger Fabric过程

    安装过程参照Hyperledger Fabric的官方文档,文档地址:http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html 0 ...

随机推荐

  1. 如何DIY个性PE

    前言:有时候在网络上能找到很不错的PE(无忧启动论坛),但是有时候PE的功能仍不能满足自己的需要(软件过旧,缺少某些功能),这时候就显得自己DIYPE的重要性 需要的工具: WIMTOOL(必备) 软 ...

  2. Spark1

    Spark集群 0.0体验安装Spark在集群单节点 1.tar tar -xzvf xxx.tgz -C /soft/ ln -s /soft/spark-2.1.0-bin-hadoop2.7 / ...

  3. C# 任务、线程、同步(三)

    线程池使用, 线程池中线程均为后台线程 static void Main() { int nWorkerThreads; int nCompletionPortThreads; ThreadPool. ...

  4. C# List<T> 集合使用

    1.初始化集合 , ); , ); , ); ) { graham, emerson, mario }; 2. 添加元素 racers.Add(, )); racers.Add(, )); racer ...

  5. Find a multiple POJ - 2356 【鸽巢原理应用】

    Problem DescriptionThe input contains N natural (i.e. positive integer) numbers ( N <= 10000 ). E ...

  6. GO111MODULE的设置(及GOPROXY)

    环境:win7  go1.13.1 早听说GO111MODULE大名,今天才测试成功,步骤如下: 因为我的Go version >= 1.13,直接用go env -w 设置(注意大小写) go ...

  7. GAN生成式对抗网络(二)——tensorflow代码示例

    代码实现 当初学习时,主要学习的这个博客 https://xyang35.github.io/2017/08/22/GAN-1/ ,写的挺好的. 本文目的,用GAN实现最简单的例子,帮助认识GAN算法 ...

  8. open, create, close

    1.open 系统调用 说明: 调用open函数打开或者创建一个文件.函数定义如下:  #include <fcntl.h> int open(const char *pathname, ...

  9. Linux中查看和修改分区的uuid方便挂载使用

    查看硬盘UUID: 两种方法: ls -l /dev/disk/by-uuid blkid /dev/sda1 修改分区UUID: 1.修改分区的UUID Ubuntu 使用 uuid命令 生成新的u ...

  10. 黑马vue---61、为什么vue组件的data要是一个函数

    黑马vue---61.为什么vue组件的data要是一个函数 一.总结 一句话总结: 因为js中以函数为变量作用域,所以这样可以保证每个组件的数据不互相影响 二.why components data ...