2019-10-15 HyperLedger Fabric的身份和成员资格

什么是身份identity?

在区块链中有很多角色actor,例如peers,orderers, client applications, administrators等。他们都区块链里扮演者不同的角色,同时也拥有不同的数字身份(封装在x.509数字证书中,至于x.509是什么,不知道,后面再说)。这些身份的重要意义在于:精确确定每一个角色在区块链中的权限和资源。

(一个小概念: a principal =一个ID+它的一些属性,例如单位,部门职责,特殊身份)

我们对于一个系统参与者的身份有两点要求:

1)一个身份必须是可以验证的。不能让它说自己是谁就是谁,它的来源必须是一个可信的authority,例如,hyperledger fabic里面的membership service provider(MSP,用的是传统的PKI架构和x.509证书做身份,后面再说)。

2)一个身份必须是符合验证要求的。每一个系统都有自己的身份政策,来决定什么样的身份可以是符合要求的。在fabric里面,PKI就像是产生身份的authority,它可以生成许多可验证的身份(简单理解就是为一个参与者产生证书的公私钥对),可是它们生成了却不一定都会被fabric接受,因为MSP才是制定身份政策的那个,只有通过MSP验证的身份拥有者才能成为区块链的成员。


PKI是什么

PKI,公钥架构,在网络中提供安全通信的技术,让HTTP变成HTTPS的男人!

PKI = digital certificates + public/private keys + certificate authorities + certificate revocation lists.

1)Digital certificates很好理解,就是能够代表一个人身份和特征的文件,比如x.509标准。它就像人的ID卡,可以用来证明和自己相关的身份信息。

2) 公私钥对不用说

3)Cerfiticate authority,专门给各种人发数字证书,获得证书之后就可以用来证明自己的身份了。CA是一个加密机器,人们把自己的隐私信息给它,它还你一个不可以伪造的数字身份,像身份证发放机构一样。

4) 一个certificate revocation list(CRL)记录已经失效的证书。失效的原因很多,比如和证书相关的隐私材料泄露了。

几个和PKI相关的概念

1)Authentication:认证,是一个比验证要大的概念。认证就是验证数据的完整性,也就是数据是不是发起人发送的,是不是没有被改过,这个过程通常可以用数字签名来完成,这个比较基础,这里不提。

2)值得一提的是CA的分级,root CA和intermediate CA有区别。

       Root CA负责将大量证书发布给网络用户,工作量很大,需要借助中介intermediate CA。

       Intermediate CA的证书可以是root CA发的,也可以是其他intermediate CA发的,只要有一个信任链chain of trust就可以。

这个分级结构在permmisioned blockchian里其实很实用,比如fabric就有内置的CA结构。fabric CA是一个私有root CA,管理成员的身份(x.509证书),它不支持SSL证书,不过基本的证书管理功能它都有。

成员资格membership

PKI通过一系列信任链建立可验证的身份,满足身份的第一个可验证性的要求了,那它又是如何代表区块链中的成员的呢?

就靠MSP啦,它来识别哪些个体是root CA、intermediate CA、是可以信任的成员。它要么就是列出成员表,要么找到可以为成员建立身份的CA。MSP不仅有全员名单,还知道每个身份在网络中的角色。

Fabric 里的MSP

MSP的配置是全信道广播的,不仅如此,每个成员,不管你是peers还orderer,都有local MSP,管理和认证channel之外的成员消息。

一个组织organization成员数可多可少,一般有一个MSP,有时候也可以有多个子MSP负责不用的组织单元organizational unit OUs。还有的时候,一个MSP可以负责一个联盟中的一个组织成员,不过不同组织都用同样的root CA和intermediate CA,有点乱。

LOCAL 和 Channel MSPs

MSP就这两种形式,建立channel的时候配置channel MSP,和一个角色本地维持的local MSP,比如client和nodes。后者记录的是node的权限,在交易或建立channel的时候提供node认证信息或者扮演一种角色的拥有者。local MSP是必每个节点必须有的。而channel MSP的管理权限是channel级的,channel的参与者都要有建立channel的MSP权限。

他俩都是把身份转化成角色的,但是作用范围不一样。本地的身份有local MSP负责,理论上每个节点都只有一个local MSP。假如小李想通过peer1在区块链上放一段智能合约,小李在安装合约的时候,peer1就会在local MSP验证小李的权限,有权限才让安装。而channel MSP不一样,假如小李想要假如一个channel,channel的所有成员必须先要同意,那peer1就要一一查看channel节点的MSPs,确保可以加入。channel MSP是几个节点同步的,在channel建立的时候配置好,存在节点上但是一直通过共识进行同步。

按照级别来划分,MSP可以分为network MSP, Channel MSP, Peer MSP, orderer MSP,高级别的负责的管理任务更高级,比如network MSP就定义网络中完成管理任务者的身份,而比如orderer MSP就定义了可以被节点信任的身份


MSP Level

MSP的结构

MSP的结构

MSP的九个组成部分

root CA:组织信任的root CA的x.509证书清单,证书必须是MSP的root或它为根的intermediate CA签过的。

intermediate CA:组织信任的intermediate CA的x.509证书清单,证书必须是MSP的root或它为根的intermediate CA签过的。

organizational units:这个MSP代表的组织成员的标志

administrators:管理这个组织的角色的身份,至于管理的权限是有具体管理策略规定的。

revoked Certificates:和CRL很像,记录吊销的证书的身份信息

node identity:节点的身份,让节点可以证明自己身份的密码信息:

private key:用来签名的密钥,和node identity匹配

TLS root CA、TLS intermediate CA:在TLS通信的时候用的证书。

主要参考资料和图的来源: hyperledger fabric的白皮书

https://hyperledger-fabric.readthedocs.io/en/release-1.4/membership/membership.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,695评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,569评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,130评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,648评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,655评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,268评论 1 309
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,835评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,740评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,286评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,375评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,505评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,873评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,357评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,466评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,921评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,515评论 2 359

推荐阅读更多精彩内容