老哥学习网 - www.lg9.cn 2024年05月10日 10:22 星期五
当前位置 首页 >公文范文 > 公文大全 >

面向联盟链的去中心化身份认证节点选取方案

发布时间:2023-03-23 21:45:05 浏览数:

常雨蒙 景 旭

(西北农林科技大学信息工程学院 陕西 咸阳 712100)

联盟链是对特定组织开放的区块链,在高可用、高性能、可编程、隐私保护、数据监管上更有优势,被认为是“部分去中心化”或“多中心”的区块链。相比公有链,联盟链有节点数精简、系统运行效率更高、成本更低、确认时间短、节点准入控制、国家安全标准支持等优点,作为支持分布式商业基础的组件,满足分布式商业中的多方对等合作、合规有序发展,更容易在应用场景中落地[1]。

为推进区块链数字技术和交易验证,2015年Linux基金会发起开源项目超级账本(Hyperledger),成为联盟链典型案例,其中最受关注的项目是IBM的Fabric。Fabric架构设计中为提供身份认证和监管留有成员管理服务(Membership Service Providers,MSP)接口。默认MSP基于标准公钥基础设施(Public Key Infrastructure,PKI)进行身份验证,并且可以容纳商业证书颁发机构,也提供了独立的证书颁发机构(Certificate Authority,CA)Fabric-CA[2]。区块链产品设有专门的管理机构或管理平台来控制链上节点的验证和授权,这种有效地去中心化与区块链完全无中心化的初衷并不完全一致,但能够满足部门内部或行业内部的可靠的互联互通[3]。X.509证书链层次模型中包括了信任传递,信任上级CA就是完全信任它们颁发的证书,没有考虑到信任传递的衰减[4]。根据X.509的严格层次关系,所有的实体包括终端实体和中间层的CA都完全信任一个根CA,若中心化CA故障,导致所有证书不可用[5]。虽然Fabric网络可以由一个或多个MSP共同管理,但是系统的安全性取决于预先存储的信任的根CA自签名证书。作为有限的第三方,CA具有直接关乎整个开源平台安全与否的重要性。

在联盟链中使用一个绝对权威的认证中心不符合权力分散的去中心化思想,单一节点有特殊权力就不可被视为区块链[6]。在优良保密协议(PGP)公钥管理机制中没有可信赖中心,采用公钥介绍机制,用户都是平等关系,每个公钥都可以签发证书,全部操作都基于对介绍人的信任和公钥的合法性,采用了自底向上的方式建立证书体系。联盟机构在没有统一的集中认证的情况下进行互相认证,认证包括实体身份认证和数据来源认证。PGP公钥认证的无中心化与联盟链对等节点的认证特性相吻合。

针对上述问题,基于区块链验证可信的思想,在联盟链中既要做身份认证,又不能使得单一节点存在特殊权利,提出一种去中心化身份认证的节点选取方案。首先,基于PGP公钥介绍机制扩展用户的可信邻域,以延长信任链;
其次,基于延长的信任链建立PGP信任传递模型;
再次,基于k阶可达矩阵计算变长的节点聚合度,也就是节点信任度;
第四,基于PageRank算法,对节点进行完整信任度排名;
最后,根据系统规模选取信任度排名前n个节点作为去中心化身份认证的管理节点。

1.1 扩展PGP用户可信邻域

PGP基于公钥加密体系,通过介绍者模型建立信任机制,提供信任的遍历手段,利用公开的信息将公钥和信任相联系。在PGP节点中有两种密钥环,私钥环是公钥/私钥对,用来管理用户的私钥;
公钥环是本节点维护的一个其他人和相应公钥的列表,它不是封闭的数据结构而是数学集合,可以松散地建模为受信任的列表或信任域。公钥环为PGP信任模型提供实现方式[7]。在联盟链中如果直接通过PGP建立,可能导致如下问题:PGP基于“介绍者模型”,它取决于认证链的完整性,对于介绍者是完全信任,对介绍者信任的人也是完全信任。从用户和信任关系角度看,信任链变长,信任等值传递,这不符合实际。更进一步说,可验证链最长信任长度为2,难以与更多其他节点建立联系,关系稀疏不利于评估。

针对上述问题,扩展PGP用户的可验证链长度,长度不再局限于2,对通过介绍人而得到的介绍人直接可信邻域中的节点也进行认证,扩大用户的可信邻域。PGP没有必须集中统一认证的问题,以期待通过用户自身选择信任节点与更多节点建立更强的联系。

用户认为完全可信的机构或其他用户信任其证书,这种用户间的关系称为直接信任,是系统中最基本的信任关系。通过PGP公钥介绍机制建立的节点间关系称为推荐信任。根据信任路径,可将信任关系划分为间接信任和扩展信任。用户将直接信任人作为可信介绍人,通过中间介绍人而得到其他人公钥从而建立的联系称为间接信任关系。通过间接信任人与更远的用户建立联系,单条信任链上多于一个中介人而建立的信任关系称为扩展信任关系。

PGP用户公钥环中每一项都是它信任的另一个用户的公钥证书,与证书相关的是密钥合法性域,使得用户相信自己公钥环中的用户公钥是正确的。信任程度越高,用户标识与密钥标识间捆绑关系越强。每个签名有一个签名信任域,表示用户信任该签名的程度。密钥合法性域来源于该表项中的签名信任域。每个表项定义一个与特定所有者的公钥证书的信任程度的域,并且信任级别的设定由用户自己决定。

PGP用户X作为自己的完全信赖中心进行自签名如式(1)所示。利用私钥并附带必要的身份相关信息生成一个根证书,将签名、公钥等相关信息公布来声明自己的身份。

pgpCertx=Sigskx(pkx,self)

(1)

式中:Sigskx表示用X的私钥对X的公钥进行签名;
pkx表示X的公钥。

若用户Y1认为用户X可信,则用户X充当CA角色,由X对Y1进行身份核实与认证,X对Y1签发证书如式(2)所示。direct表示X与Y1是直接信任关系,且Y1完全信任X。

pgpCerty1-x=Sigskx(pky1,direct)

(2)

用户X在一定范围内充当局部CA角色,可以对多个用户进行公钥认证而签发证书,如式(3)所示。用户X将自己信任的人及其公钥信息进行签名生成公钥环并发布出去,表明自己的直接可信域为Y1,Y2,…,Yn。

keyringx=Sigx(y1,y2,…,yn,pky1,pky2,…,pkyn)

(3)

同理,用户Z1认为用户X可信,用户Z1充当CA为用户X签发证书。X获得Z1对其签名证书,当X与Z1信任以外的用户建立联系时,该证书就无法发挥作用,故X尽可能选择一些可信的用户为其签发证书,来扩大信任范围,X的所有签名如式(4)所示。

pgpCertx=pgpCertx-z1,pgpCertx-z2,…,pgpCertx-zn

(4)

利用对象的概念,把介绍人签发的证书当作主体的内容,对此签发一个新的证书,其中包括了对证书担保的信任程度的定义,即证书的嵌套[4]。Z1根据X以及其他Z1信任的人给Y1签发的证书,并通过自身设置的可信策略判定Y1的可信程度,若认为完全可信或部分可信,则签发证书如式(5)所示,indirect表示Z与Y1是间接信任关系。

pgpCerty1--=Sigskz((Sigskx,direct),indirect)

(5)

用户Z信任用户X,用户X信任用户Y,从而建立从Z到Y的信任传播路径。有向箭头表示节点关系,箭尾是被认证的节点,箭头指向的是被信任的节点,进行颁发证书的操作,局部充当CA角色,从而建立有向的信任链如图1所示。可直观地看到X是Zm与Yn建立联系的中间介绍人,证书内嵌形成证书链的用户信任方向是从右到左,信任的传递方向是从左到右,两者是两个相反的方向。

图1 基于中介人的信任链

在实际情况中,用户Zm与用户Yn没有这么严格划分,因为信任或单向或双向的,肯定存在交叉,也可能是同一用户,从局部看只是扮演的角色不同。用户Zm与用户Yn是平等的,在整个集体中没有层级关系,也就是没有上下级之分。

用户进行间接签发证书时,检验直接信任用户对间接信任用户签发的证书,对比间接信任用户的证书与直接信任用户的公钥环,验证信任路径与信任来源。该验证过程中,既考虑用户的证书数量,又考虑用户的证书来源用户的可信度,及自身与证书来源用户的信任关系,从而防止为提高介绍人的中心性而恶意增加信任人。

1.2 基于延长信任链的PGP信任模型

传统的信任结构一般是层次型的,而PGP采用了网状信任结构(web of trust)[8]。在网状信任结构中,没有大家都信任的中心权威机构,而是用户以各自为中心,相互认证公钥,相互签名公钥证书。这些签名使得用户的公钥彼此相连,形成自然的网状结构,就是信任网[9]。

扩展之后的PGP信任签名不再给予同等的信任力度,即你信任我,可能你也会对我信任的这些证书给予一定程度的信任,并非完全信任。节点的公钥环中节点集合是其直接信任域,也是边长为一的信任关系,称作一度信任关系。将此定义延伸,将直接信任人的直接信任域中节点定义为边长为二的间接信任,称作二度信任。依此类推,定义三度信任等。在信任链中,随着链长增长,信任衰减则信任越弱。

多个节点可以对一个节点认证形成单一节点拥有多个签名,来提高单个节点的可信度。节点间通过互相认证,生成签名信任域,用直接传播方法发布和获取用户的可信邻域,通过信任传递而建立一个信任网如图2所示。PGP信任模型以用户节点为中心,每个节点可以自由选择信赖哪些证书、拒绝哪些证书,也可以根据与目标节点的路径条数和长度等综合判断其可信度。实线表示直接信任关系,是基于节点本身的评判认知而建立的;
虚线代表建立的间接信任关系。如果说实线是稳定的关系,则虚线是不确定性关系。随着认证链的延长,节点关系越来越弱,纵向认证的可信程度也越来越弱。如果节点间存在多条信任路径,横向上一定程度提高信任度。

图2 PGP信任传递模型

2.1 节点关系的形式化表达

因为PGP信任模型依赖于用户自身的行为和决策能力,因此以用户为中心的模型在技术水平较高和利害关系高度一致的群体中是可行的。针对联盟链情况,为进一步提高系统可用性,系统全节点与现实中的机构相对应,节点的信誉由组织成员的信用和资产做背书,故此系统中预备节点不存在匿名性。系统中由组织成员所代表的预备节点均被认作合作节点,不存在不合作的节点,或者至少在这个阶段是合作的。

节点不一定都有完全可信的直接信任节点。没有完全可信节点作为中间介绍人的节点称为孤立节点。作为联盟链的预备节点至少需要存在一定数量的完全可信节点在后续作为信任推荐节点,若是孤立节点在进行认证节点选择时就被忽略了,需要预备节点大部分处于联通图中。对基于PGP构建的信任网络所采用的信任模型做出以下假设:(1) 节点根据一定的评判标准,自行选出一定数量的节点作为直接信任节点。每个预备节点至少有一个可以建立起直接信任的节点。(2) 节点之间地位平等,即使是网络中的预备节点,其地位也平等。(3) 基于介绍人推荐的信任传递路径相互独立。

节点之间通过互相的信任关系,将自己信任的节点添加到自己的信任列表。然后每个节点将自己的信任列表公布出去,通过获取每个节点的直接信任域,从而得到所有节点之间的信任关系。这一过程与网络节点拓扑结构无关,只针对建立的信任关系。联盟链中企业或实体等作为一个独立的机构,一般作为PGP用户充当局部的CA且相互独立。将联盟机构全节点所代表的PGP用户抽象为点,将全节点之间通过公钥介绍机制建立的关系抽象为边,通过PGP信任模型将点和边映射形成一个信任关系网。

以本地节点关系为例,现以节点A为基准,得到A的直接信任域,对直接信任域中节点的公钥环进行遍历得到直接信任人的信任人,即间接信任人,与自己对间接信任人签发证书进行对比,取二者交集得间接信任域。从间接信任域获得其直接信任域,如此递归遍历得到A的所有可达节点的信任传递路径,将有直接信任关系的节点添加边,如图3所示。

图3 节点A的信任关系

因为信任关系具有不对称性,故节点关系是有向的。以图3为例,将通过遍历得到的信任关系用布尔矩阵表达,用两个数组来存储,一个一维数组存储顶点信息,一个二维数组存储弧的信息。设有向图G有N个顶点,则邻接矩阵是一个N×N的布尔数组,如果节点i信任j,即从顶点i到j之间有边,则定义i行j列的元素值为1,否则为0,如式(6)所示。

(6)

图3的邻接矩阵表示图上点到点恰好经过一条边的路径条数的矩阵,即一步可达的路径条数。0表示点到点恰好经过一条边的路径条数为0,没有直接的可达路径。本文所有节点自身认为不可达,则主对角线为0,减少自身传递的闭包。将图3以节点A为起始点通过广度优先遍历节点,转换成相应的邻接矩阵M,亦称作可达矩阵,如式(7)所示。

A0110100000000B1000010000000C1000001100000D1000000000000E0000000000000F0100000001000H0010000100100L0010000000010O0001000000000P0000000000000Q0000000000000R0000000100001S0000000000000

(7)

2.2 基于邻接矩阵的节点k阶聚合度计算

可达矩阵可以表示节点之间直接或间接关系。可达关系满足传递性,所有一阶可达矩阵实际上又是节点的传递闭包对应的关系矩阵。可达矩阵与自身的复合一定等于可达矩阵[8]。两个布尔矩阵相乘,得到两步可达的路径条数,当存在多条路径和重复路径,则表示该边的影响更强。根据定理1,用邻接矩阵自乘得到矩阵G×G表示i行到j列恰好经过两条边的路径条数的矩阵[9]。将矩阵M与自身相乘的结果如式(8)所示,M2表示节点间两步可达的路径数目。同理,Gk表示i行到j列恰好经过k条边的路径条数的矩阵,即经过k跳的路径数目。

A2000011110000B0211000000000C0131001000010D0000000000000E0111000000000F1000010000000H1000001100000L1010001200000O0000000000000P0100000000000Q0010000000000R0010001000010S0000000100000

(8)

定理1[11]设A(G)是图G的邻接矩阵,则A(G)k中i行、j列元素aij表示G中连接vi到vj的长度为k的通路的数目。

Mk每行代表的行节点经过k步到达列节点的路径数,则行节点到达列节点的多步可达路径数目之和的矩阵为:T=M+M2+…+Mk,k为步数。换言之,所有行节点到达目标列节点的k步以内的路径条数的和为Tij。T是1步到k步结果的累加,代表了行节点到列节点的k步以内可达路径的数目,也表示节点的中心性或者聚合度,T是节点的k阶聚合度,为后续节点选取提供一个重要参考指标。

计算节点信任依赖于中间节点和路径长度及数量,路径可以一直延长,考虑到实际应用则将步长限定在一定范围内。六度分割理论[12]可以通俗地解释为“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人”。六度分割说明了社会中普遍存在的“弱纽带”,但是却发挥着非常强大的作用。关于六度分割的应用,将网络世界比拟社会网络。根据三度影响力对六度分割进行强弱关系的定性划分,前三度是强连接性,信任长度在超过三时,影响力急剧下降[12]。为保证更高的可信度而使用三度以内的强连接,在此基础上,且考虑到在六度理论中每个节点都会考虑当下自己认为可能性最高的节点去建立连接,考虑到强连接是信任传递基础,弱连接是信任的辅助,故将步长限制于3到6之间,k取值范围是3≤k≤6,从而只计算信任的有效影响。k值范围固定,但是数值可变,T也称步长可变的节点聚合度。

多步可达计算节点的k步可达节点内的聚合度,忽略可达节点本身也受其本身k步可达节点迭代的影响,这种计算方式是静态,没考虑迭代影响,故下一步将迭代影响考虑进去,以达到更精确的切实可用的结果。

PageRank[13]是搜索引擎中网页排序的经典算法。将Web做如下抽象:将每个网页抽象成一个节点;
如果一个页面A有链接直接链向B,则存在一条有向边从A到B(多个相同链接不重复计算边)。整个Web被抽象为一幅有向图。对每个目标网页附上权值,权值大的就靠前显示,权值小的就靠后显示。PageRank算法借鉴学术界论文重要性的评估方法:谁被引用的次数多,谁就越重要[13]。

在计算信任网中用户信任度时,用户对应一个节点,用户间的指向性信任关系抽象为边,借鉴PageRank排名算法,对节点进行信任评估排名。该算法基于“从优质网页链接而来的网页必定还是优质网页”的回归关系,在应用中可认为“高可信用户认证的用户也必定是高可信的”。应用在评估节点信任排名时具体为:当节点A有一个信任连接指向节点B,就认为节点B获得了节点A对它贡献的分值,该值的多少取决于节点A本身的可信程度,节点A的可信程度越高,节点B获得的信任贡献值就越高。换言之,相对于低信任度节点,高信任度节点影响并提高其周围节点的可信度,通过高信任度节点及其周围的节点的共同作用提高了局部的可信度。由于节点中信任关系的传递,该分值的计算是一个迭代过程,最终节点根据所得分值进行排序。PageRank的数学公式如式(9)[13]所示。

(9)

式中:PR(x)是节点的PageRank值;
PR()为信任节点x的节点Yi的PageRank值;
Cout(Yi)为节点Yi所信任节点的数量;
σ为阻尼系数,表示节点向后传递信任的程度,值越大衰减程度越小;
N为节点总数。在计算中一般σ取值为0.85。

该计算比较依赖PR初始值,PageRank初始化值的选取很大程度上决定了算法的适用性,故根据节点的聚合程度来设定初始值。在计算中通过迭代达到数据收敛,一般迭代二十多次达到收敛。根据六度分割理论、三度影响力的划分、节点选择高信誉节点的倾向性,综合考虑k步可达矩阵累加所代表的节点聚合度作为节点PR初始值,k的取值可根据需求的精度由系统决定。

以图3为例,将节点k阶可变聚合度作为PR初始值,经过PageRank排名算法迭代,并进行归一化,得到数据如图4所示。

图4 节点k阶聚合度的PR排名

PR计算经过20次迭代,节点PR值在一定误差范围内趋于平稳。根据节点k阶的PR值进行排序,比较k取值不同的情况下PR值排名变化,最后得出在k=4时相当一部分信任高的节点PR值排名基本稳定。考虑到影响程度和效率,认证管理节点选取数量为4个时,此时节点C、L、H和R的PR值较高,可以作为联盟链认证节点。当k值越大,节点PR值越集中。最后的PR值排名和节点选取之间受数据精度、数据规模、选取数量等因素影响。不同情况下k值可以根据需要在一定范围内灵活调整。

对于认证节点的选取要遵循几个原则:不能过度集中,节点必须有一定的数量才能保证去中心化;
后续由这些节点颁发全局认证的证书的安全性也依赖于共识机制中对恶意节点的比例上限,不能集体作弊;
考虑到共识效率,节点的数量也不能过多,在去中心化性和效率和安全性上做一个折中。最终选择信任高的节点作为认证节点,依赖于所追求的效率和去中心化程度。

联盟链中采用单节点做身份认证,导致权力不对等且难以满足去中心化的问题,提出面向联盟链的去中心化身份认证节点选取方案。该方案通过PGP公钥介绍机制自底向上地建立认证机制,根据节点影响力进行信任评估排名,最后选出n个PR值排名靠前的节点作为认证节点。在联盟链内选出一定数量的高信誉节点作为身份认证节点,来保证身份认证的去中心化,从而该方案面向联盟链身份认证满足区块链中扁平化结构设计,提高身份认证的可用性和安全性。

本文为联盟链认证节点的信任评估和选取提供一条新的途径,具有一定的理论和应用价值。对节点的正向传递影响力进行评估,对可能出现恶意节点的破坏行为没有检测机制及相应的替换方案,本文存在一定的局限性。未来我们将增加对节点的多方位评估,力求更加接近真实应用环境,并为后续节点的替换方案做足工作。

猜你喜欢 公钥矩阵证书 《安徽医学》统计刊源证书安徽医学(2021年10期)2021-11-22少就是多伴侣(2021年9期)2021-10-28神奇的公钥密码知识就是力量(2018年10期)2018-10-18多项式理论在矩阵求逆中的应用读与写·教育教学版(2017年10期)2017-11-10国密SM2密码算法的C语言实现中国新通信(2017年18期)2017-10-22基于身份的聚合签名体制研究成长·读写月刊(2017年4期)2017-05-16矩阵南都周刊(2015年4期)2015-09-10矩阵南都周刊(2015年3期)2015-09-10两面夹击 让恶意证书无处遁形电脑爱好者(2015年11期)2015-09-10矩阵南都周刊(2015年1期)2015-09-10

推荐访问:节点 选取 化身

相关文章:

Top