魏 双,吴 旭,张 震
(广西大学 计算机与电子信息学院,南宁 530004)
工业物联网(industrial internet of things,IIoT)是实施中国制造2025战略的关键技术之一[1].IIoT将工业物联网设备(传感器、控制器或执行器等)、移动通信、智能分析等技术融入工业生产过程,降低管理成本,提高制造产品质量.随着制造过程越来越复杂,很难在一个独立管理域制造完整的产品,整个制造过程由多个管理域协作完成已经成为一种趋势.本文定义域为一个自治和独立的组织(如:一个工厂).在这种多域合作的场景中,来自不同域的设备需要协作交互,实现生产过程中的数据共享和交换.
现有的网络基础设施能轻松连接不同域的IIoT设备,但在缺乏信任的情况下,不同域的设备直接通信和协作会导致生产数据泄露,甚至破坏生产过程.因此,在不同管理域的设备之间建立信任十分重要.
在现有的研究工作中,建立信任方法分为两类.第1类是基于密码技术[2-5]的身份认证,该类机制通常通过身份认证过程来抵御外部攻击、保护隐私和建立信任.Shen等人[2]提出基于区块链的工业物联网跨域认证机制,采用身份签名方法进行身份验证,若身份合法,则认为该设备是可信的.此外,作者为保护IIoT设备的身份隐私,采用假名技术,使得被认证的设备保持匿名.Hakeem等人[3]为车联网提出一种轻量级的认证和隐私保护方法,使用生物识别和防篡改两大安全硬件设备验证程序和安全保存密钥,使用哈希链密钥对每条传输的消息进行签名和验证,提高安全级别.第2类是信任管理[6-8],利用设备过去的行为、其它设备的推荐或其它因素来评估设备的信任值.Boudagdigue等人[6]提出适用于工业环境的动态信任管理模型,作者从合作、直接信任和间接信任3个方面评估设备的信任值,信任值越高的设备越可靠.Khan等人[7]为工业物联网提出基于中性加权乘积法的信任模型.应用程序基于空间知识、时间经验和行为模式评估IIoT设备的信任值.实验结果表明,该方法能够准确地检测出IIoT设备的错误行为.
然而,这些研究工作仅针对身份认证和信任管理中的一个领域展开研究,直接应用到IIoT跨域合作场景存在以下限制:1)采用匿名身份认证技术可以识别已授权的IIoT设备和防止泄露身份隐私.但无法动态衡量匿名设备的可信度,一些具有合法匿名身份的IIoT设备依然可以发起攻击,破坏生产过程和泄露生产数据.2)采用信任管理技术可以动态衡量IIoT设备的可信度,并且及时识别出恶意设备.然而,大部分信任管理研究工作只关注信任评估方法的改进,忽略对用户身份的认证及身份隐私的保护.在工业物联网中,一个IIoT设备可能涉及多个任务,设备身份会泄露设备的隐私[2].例如:攻击者通过拦截来自设备发送的消息包,从中知道设备访问了哪种类型的服务或者与谁通信.
此外,一个合理的管理架构有助于提高管理效率和保证管理机制的安全性.Abdel等人[9]和Din等人[10]分别提出密钥生成协议和轻量级的信任管理机制,它们需要依靠管理器和信任代理等可信的第三方,存在单点故障问题.Altaf等人[11]提出了一个分布式信任管理模型来过滤IIoT网络中的恶意节点,每个节点根据上下文相似节点的推荐信任计算服务节点的信任值.然而,每个节点的信任数据视图不一致,且推荐信任可能不可靠.区块链由于具有去中心化、不可篡改和可追溯性的特点[12],被许多作者用来解决IIoT中信任管理和身份认证的挑战.Li等人[13]和Wu等人[14]分别引入区块链来安全地共享签名所需要的加密材料和信任数据.在他们的方法中,任何认证信息和信任信息的更新都可以被跟踪,并且除非得到大多数人的批准,否则无法生效.然而,IIoT设备的计算和存储能力有限.当IIoT设备直接与区块链集成时,会出现许多性能问题.例如,区块链要求每个参与者必须存储区块链账本,以保证一致性.随着账本容量的增加,存储开销也会增加.Wu等人[15]提到区块链和边缘计算的融合可以实现IIoT中安全、可扩展的关键基础设施.Kouicem等人[16]和Guo等人[17]利用边缘计算技术增强区块链节点的计算和存储能力.然而,这两种方法都是单链结构,它们存在以下限制:首先,区块大小被限制为一定的大小[2],并且单链串行处理事务,这些特性会导致低吞吐量.其次,由于不同域内设备的信任管理和认证机制存在异构性,即设备的认证和信任信息不同,单链架构导致多个域的信任数据和身份信息混乱.
针对上述挑战,本文提出主从链架构实现可扩展的跨域信任认证机制(MSBCTA).每个域部署一条只存储本域交易的从链,这减少了IIoT设备保存区块链账本的存储开销.多个链可以并行、独立地处理交易,提高了交易吞吐量.主链由所有域的边缘设备维护,共享所有设备的信任票据.不同域的IIoT设备通过信任票据实现匿名身份认证和信任管理.本文主要贡献:
1)设计一种边缘计算集成的主从链框架,以提供灵活且可扩展的跨域信任认证机制,多条区块链可以并行、独立处理事务,提高了交易吞吐量和降低共识过程中的通信开销.
2)提出一个隐私增强的跨域信任认证机制,采用信任票据巧妙地组合身份认证和信任管理方法,既实现IIoT设备跨域匿名认证,保护设备身份隐私,又能动态地评估设备的可信度.
3)为降低跨域认证过程中的计算开销,基于单向哈希链实现匿名身份认证和密钥协商方法.
4)为解决不同域信任评估方法异构性问题,提出基于模糊逻辑推理的可信度等级评估算法.
本节介绍了MSBCTA机制的架构和安全模型.
1.1 架 构
目前大多数区块链应用都是单链架构,每个节点保存完整的区块链账本,并执行重复的计算任务以达成共识.在大规模的IIoT多域场景中,设备频繁的交互产生大量的交易,然而单链串行处理交易会导致低吞吐量.另外,每个域的信任管理和认证策略不同,单链架构很难支持不同的信任管理和认证需求.为此,本文设计了主从链架构.如图1所示,主从链架构分为两层,上层为主链,下层为多条从链.从链隔离不同域的信任和身份信息,主链共享特定信息,其组成部分如下:
图1 架构Fig.1 Architecture
1)IIoT域:每个域包含IIoT设备、从链和边缘设备.IIoT域表示为Do={Do1,Do2,…,Dop}.
2)IIoT设备:每个IIoT设备可以是服务的请求者或提供者.IIoT设备表示为d={d1,d2,…,dn}.
3)边缘设备:具有较强计算和存储能力的设备(如网关、基站等[15]),被部署在每个IIoT域中.不同域的边缘设备可以相互通信,并负责维护主链.边缘设备被表示为Eg={Eg1,Eg2,…,Egm}.边缘设备需要保存两种区块链账本:本地域内的从链和主链.本文假设大部分边缘设备是诚实的.
4)从链:每个IIoT域都有一条从链,存储域内设备的身份和信任信息.这些从链并行工作以提高事务吞吐量.此外,智能合约TTM(信任票据生成)被部署到所有域的从链中,用于生成IIoT设备的信任票据.
5)主链:主链由边缘设备维护,存储所有IIoT设备的信任票据.不同域的设备可以通过主链获取其他设备的信任票据.
1.2 安全模型
MSBCTA机制的安全性需要满足跨域相互认证、匿名性、消息完整性和机密性、设备可信性、抗中间人攻击.
1)跨域相互认证:位于不同域的IIoT设备能在没有第三方可信机构的情况下,进行相互认证,防止外部恶意设备发起诸如分布式拒绝服务(DDOS)的外部攻击.
2)匿名性:尽管不同域中的IIoT设备可以跨域合作,但这些设备很可能不愿向其它设备公开身份,因为它们不在同一个域中,需要最大限度保护身份隐私,身份信息可能会影响制造过程,因此,IIoT设备跨域交互需要保证身份的匿名性.
3)消息完整性和机密性:IIoT设备进行跨域信任认证后,进行协作和分享生产数据.消息内容通过Internet网络等不安全通道传输,导致消息内容被攻击者窃听和篡改.因此,MSBCTA机制需要保证消息完整性和机密性.
4)设备可信性:IIoT设备进行跨域协作,除了确保设备身份合法,还需要准确评估设备的信任值,确保协作设备的可信性,防止一些身份合法的IIoT设备发起诸如恶意服务行为的内部攻击.
5)抗中间人攻击:攻击者拦截IIoT设备之间的通信,并伪装成通信双方.不同域的IIoT设备协作和通信,分享生产数据.若遭遇中间人攻击,导致生产数据的泄露或被篡改,影响制造过程.
域内信任评估机制已有很多研究工作,本文只关注跨域信任的建立.具有合法身份的IIoT设备可能提供虚假信息,破坏制造过程,因此,在不同域的设备之间建立动态的信任非常重要.MSBCTA使用信任票据建立跨域信任,其中信任票据由智能合约TTM生成,TTM包含两个函数:可信度等级评估GtCl(·)和票据生成GtTTick(·).如算法1所示,GtCl(·)用于评估IIoT设备的可信度等级.考虑到不同域的信任管理机制存在异构性,本文使用模糊逻辑推理方法在不同域IIoT设备间建立统一的信任描述.所有IIoT设备的可信度被分为{High,Medium,Low}3个等级.
2.1 信誉和共识贡献度计算
1) 信誉:从从链中提取IIoT设备di的信誉信息RIi(t),根据域内信誉评估方法F(x)计算设备di在t时的信誉值Ri(t),如公式(1)所示:
Ri(t)=F(RIi)
(1)
MSBCTA在实际应用时能适应不同的信誉评估算法,即F(x)为不同域内信任评估算法,如Boudagdigue等人[6],Khan等人[7],张帆等人[18]等.本文使用经典的Beta信誉计算方法[19].假设设备di与其它IIoT设备(表示为:Cr={Cr1,Cr2,…,Crn})协作交互.Cr中的设备在每一次协作交互后根据设备di真实的表现(服务质量,如:响应时间)给出一个反馈Fb(Good 或 Bad),该反馈由反馈者的私钥进行签名并且以交易的形式存储在本地从链中,公式(1)中的RIi(t)代表与设备di相关的反馈信息.因此,设备di的信誉值Ri(t)如公式(2)所示:
(2)
(3)
其中,RCrj→i(t)是Crj对di的信任值,αCrj→i和βCrj→i分别是FbCrj→i=good和FbCrj→i=bad的累积数量,αCrj→i和βCrj→i初始化为0.信誉的取值范围为0-1.
2) 共识贡献度:为了激励IIoT设备积极参与从链的共识过程,共识贡献度被认为是可信度水平评估的一个因素,设备di的共识贡献度Ci(t)如公式(4)所示:
(4)
(5)
(6)
(7)
2.2 模糊化
信誉和共识贡献度模糊集合分别是{RH,RM,RL}和{CMore,CMedium,CLess}.使用梯度隶属函数[20]将清晰的Ri和Ci映射到模糊集中.
2.3 模糊逻辑推理
模糊逻辑推理输出变量为综合信誉值CRi,同样也采用梯度隶属函数,其模糊集为{High-Trust,Medium-Trust,Low-Trust},表1为模糊推理规则.
表1 模糊推理规则Table 1 Fuzzy inference rule
2.4 去模糊化
使用Middle of Maximum(MoM)[21]去模糊化方法得到综合信誉值CRi.根据CRi,IIoT设备被分类为{High,Medium,Low},可信度等级CL计算如公式(8)所示:
(8)
算法1.可信度等级评估GtCl(·).
输入:IIoT设备di,从链账本SCL,域内信誉评估方法F(x),时间段ΔT,参数∂,r,thrp,thrv;历史共识贡献度C(t-ΔT).
输出:di的可信度等级CLdi.
2.Ri(t)=F(RIi);//使用公式(2)和公式(3)计算信誉值
5.Ri(t)→{RH,RM,RL}//信誉模糊化
6.Ci(t)→{CMore,CMedium,CLess};//共识贡献度模糊化
7.应用表1 模糊推理规则;
8.CRi←MOM(·);//使用MOM去模糊化
9.ifCRi≥0.75 then
10.CLdi=′High′;
11.else ifCRi≥0.45 andCRi<0.75 then
12.CLdi=′Medium′;
13.else
14.CLdi=′Low′
15.end if
本节将详细描述MSBCTA机制具体过程.
3.1 准备阶段
3.1.1 系统参数
由于域内的身份认证机制已有大量的研究工作,本文只关注跨域身份认证.在系统初始化阶段,所有设备都进行域内身份注册,并将身份信息存储到每个域的从链中.每个IIoT设备和边缘设备都具有一个永久密钥对(PK,SK)和真实身份Id.注册完成后,系统告知所有IIoT设备用于跨域身份认证所需要系统参数,这些系统参数所有设备都会接收和认可.系统参数如下:
2)h(·)是密码哈希函数,该函数能将任何长度的字符串映射到固定长度的字符串.
3)H(·)是单向哈希函数,集合{0,1,…,q-1}映射到自身,H(·)可能来源于h(·).
3.1.2 单向哈希链
单向哈希链是根据给定的种子和单向哈希函数,对该种子连续应用哈希函数生成称为哈希链的哈希值集合[22].哈希链的特点是在计算上不可能反转.此外,哈希运算计算量少,通过哈希链进行认证,能避免传统公钥密码体制复杂的加密和解密计算.本文使用单向哈希链为IIoT设备生成多对临时公钥,并进行身份认证和密钥协商.
IIoT设备di选择一个种子s和一个编号Nu,其中s∈{0,1,…,q-1},重复使用单向哈希函数H(·)对种子s进行哈希运算,生成Nu个哈希值形成哈希链,如公式(9)所示:
HNu(s)←HNu-1(s)…←Hk(s)…←H1(s)←s
(9)
其中HNu(s)是哈希链的顶端,通过对Hk(s)进行哈希运算得到Hk+1(s),即Hk+1(s)=H(Hk(s)).但Hk(s)无法反向计算得到Hk-1(s).最后,设备di根据哈希链计算检查值Ψdi,该检查值后续存入信任票据中.
(10)
此外,设备di可以根据哈希链生成Nu个不同的临时公钥,其中第k个临时公钥如公式(11)所示.为降低计算开销,设备di在每一次跨域认证前只需生成一个临时公钥.
(11)
3.1.3 假名身份生成
本文采用假名方法[23]保护IIoT设备的身份隐私,设备di随机生成一个数字rdi,并计算假名Piddi=h(Iddi‖rdi),其中Iddi是设备di的真实身份,存储在所属域的从链账本中.为了保证IIoT设备身份不被追踪,通常假名有效期较短.
3.2 信任票据生成
IIoT设备di生成假名Piddi、单向哈希链、检查值Ψdi后,发送信任票据生成请求Rq给周围的边缘设备,该请求内容包括Piddi和Ψdi.边缘设备触发TTM智能合约为设备di生成信任票据,首先调用GtCl(·)函数评估di可信度等级,再调用GtTTick(·)函数为IIoT设备di生成信任票据TTickdi.算法2展示GtTTick(·)函数.图2为一个信任票据示意图,其中包括票据编号、假名、检查值、可信度等级、时间戳、有效期.时间戳Tspdi是信任票据生成时的时间戳,有效期tdi为信任票据的有效时长.
图2 信任票据Fig.2 Trust ticket
算法2.票据生成函数GtTTick(·).
输入:IIoT设备di,假名Piddi,检查值Ψdi,有效期ΔT;
输出:di的信任票据TTickdi.
1.Tspdi=GetTimestamp(); //获取当前时间戳
2.CLdi←GtCl(·);//算法1计算可信度等级
3.Ndi=join(Tsp,rand);//join连接函数,为一个序号
4.tdi←(Tsp,Tsp+ΔT);//有效期
5.TTickdi←(Ndi,Piddi,Ψdi,CLdi,tdi)
3.3 信任票据存储与更新
IIoT域内所有成员通过实用拜占庭容错算法PBFT共识过程[24]验证信任票据,并将其存储到从链账本中.为了能让信任票据在不同域中共享,信任票据被存储到主链中.IIoT域中所有边缘设备将本域IIoT设备最新信任票据发送到主链网络,主链所有节点通过PBFT共识过程对信任票据进行验证,并存储到主链账本中.传统的PBFT共识协议是C/S模式,为了更加适用于本文所提出的主从链架构,本文将PBFT共识协议改为P2P模式.改进的共识过程主要包括主节点选择、区块打包、共识协商过程.
1)主节点选择和区块打包
假设有n个区块链节点,编号为0到n-1.每个节点都有相同的共识状态,称为视图[24].采用PBFT轮换机制选择主节点,假设当前视图为vnew,则该轮共识主节点为lnew=vnew%n,主节点lnew将未上链的交易打包成一个区块b.
2)共识协商过程
如图3所示 ,该过程分为预准备、准备、提交3个阶段.
图3 共识过程Fig.3 Consensus process
预准备阶段:主节点lnew发预准备消息<
准备阶段:当区块链节点收到超过(2/3)*n来自其它节点一致的准备消息,则广播确认消息<
确认阶段:当区块链节点收到超过(2/3)*n来自其它节点一致的确认消息,则说明区块b通过共识验证,并将区块添加到链中,共识过程结束.
为了保证信任票据的时效性,本文采用时间驱动更新方法.每隔ΔT时间,IIoT设备向域内边缘设备发送信任票据更新请求,边缘设备调用智能合约TTM为该设备生成新的信任票据.
3.4 跨域信任认证和密钥协商过程
不同域的IIoT设备通过信任票据实现跨域信任认证,并通过密钥协商生成对称密钥,为后续合作建立安全的通信通道.以域Do1的IIoT设备di与Do2的IIoT设备dj跨域协作为例.图4展示信任认证和密钥协商过程,主要阶段如下:
图4 信任认证和密钥协商的过程Fig.4 Process of trust authentication and key negotiation
1)请求阶段
2)信任票据查询阶段
dj收到di发送的消息,需要获得di的信任票据,以此来确认di的身份和可信度.dj查询di信任票据TTickdi过程如下:
①dj向域Do2内所有的边缘设备发起一个查询请求,查询设备di的信任票据.假设域Do2有m个边缘设备.
②域Do2内的边缘设备从主链账本中查找设备di的信任票据TTickdi.边缘设备使用自己的私钥对查询结果TTickdi签名,并将签名和查询结果发送给设备dj.
3)身份验证和信任建立阶段
在信任票据查询阶段,设备dj获得设备di的信任票据TTickdi.从信任票据中可以获得设备的假名Piddi、检查值Ψdi,可信度等级CLdi、信任票据有效期tdi.dj首先判断信任票据是否过期,若已过期,则发送拒绝消息给di.否则,dj计算:
(12)
4)对称密钥生成阶段
本节对MSBCTA机制进行安全性分析,并于文献[2],[4],[5],[23]所提出的方法进行对比,如表2所示.
表2 安全属性对比Table 2 Comparison of security attributes
1)跨域相互认证:MSBCTA机制能保证IIoT设备跨域相互认证.如3.4节所述,IIoT设备通过主链获得其他域IIoT设备的信任票据,从中获取检查值Ψ,通过计算和判断Ψ=h(Ψ*)是否成立,来验证消息发送者的身份.其次,建立会话密钥后,IIoT设备通过会话密钥进行通信和互相认证.通过设备的相互认证,IIoT设备可以准确判断协作设备身份的合法性,从而抵御外部恶意设备的攻击.
2)匿名性:为满足IIoT设备身份隐私保护要求,每一次跨域协作,IIoT设备都隐藏真实的身份属性,通过假名和其他域的设备进行协作交互,攻击者Λ无法获取真实身份Iddi.此外,每次生成新的信任票据,都会产生新的假名,攻击者Λ很难跟踪IIoT设备.
3)消息完整性和机密性:在MSBCTA机制中,来自不同的IIoT设备进行信任认证和密钥协商后生成会话密钥SK,后续的通信都使用SK进行端到端的加密和解密.因此攻击者Λ想获取或篡改消息内容,只能获得SK.然而SK由IIoT设备自身安全的保存,攻击者无法获得.因此,MSBCTA机制保证了消息完整性和机密性.
4)设备可信性:本文提出跨域信任评估方法,评估每一个IIoT设备的可信度等级.并且存放在信任票据中.IIoT设备从信任票据中获得其他域IIoT设备的可信度等级,通过可信度等级判断IIoT设备是否可信,并拒绝没有达到自身可信度等级要求的IIoT设备.一些IIOT设备具备合理身份,但依然可以发起恶意攻击,比如:低质量的服务、发送大量冗余信息、拒绝服务DOS攻击等,MSBCTA机制动态评估每一个IIoT设备的可信度,以此识别内部恶意设备,抵御部分内部攻击.
MSBCTA机制满足以上5项安全属性,然而文献[2]和文献[4]只关注跨域身份认证机制的研究,忽略设备的可信性,文献[5]在跨域认证机制的基础上,增加一个问责机制,能动态惩罚行为不当的用户,但作者没有考虑用户匿名性.文献[23]所提出的机制仅适用于域内相互认证,其次作者也忽略了设备可信性.
本节将从计算开销、可信度评估准确性、吞吐量、通信开销4个方面对MSBCTA机制进行性能评估.
5.1 计算开销分析
MSBCTA机制采用单向哈希链实现身份认证和密钥协商,具有低计算开销的优点.本节首先分别评估MSBCTA机制中检查值Ψ、公钥集的计算开销,再与BASA机制[2]、Zhang等人[4]所提出的机制(命名为MFA)进行对比.该模拟实验在处理器内存16G 的Intel(R)Core(TM)i7-8565U和Windows10组成的硬件平台进行,实验参数设置如表3所示.
表3 参数设置Table 3 Parameter settings
生成检查值主要包括一次幂运算和多次乘法运算.图5(a)显示检查值Ψ的计算开销.Nu为哈希链的长度.检查值Ψ的计算开销与Nu成正比.当Nu=600时,检查值的计算开销约为12.4ms.图5(b)显示生成多对公钥(公钥集)的计算开销.如3.1节所述,IIoT设备可以根据哈希链生成多对公钥,Nu是哈希链的长度,也是公钥的个数.从图5(b)的实验结果可以看出,公钥集计算开销随着Nu的增加而增加,生成600对公钥大约需要5.9s,远大于Ψ的计算开销,这主要因为生成公钥集进行多次幂运算.
图5 计算开销的评估结果Fig.5 Evaluation results of computation costs
本节比较MSBCTA机制、BASA机制[2]和MFA机制[4]的计算开销.在实验过程中,设置MSBCTA机制Nu为100,忽略一些开销太小的计算(如:可信度等级计算开销、整数加减乘除等).MSBCTA机制在认证和密钥协商过程主要包括4次幂运算和多次哈希运算.BASA机制[2]中,IIoT设备的主要计算开销包括3次标量乘法、1次幂运算及多次哈希运算.在MFA机制[4]中,IIoT设备的主要计算开销包括6次标量乘法、2次幂运算及多次哈希运算.图5(c)显示不同机制IIoT设备在认证和密钥协商阶段的计算开销.从实验结果可以看出3种机制的计算开销随着IIoT设备数量的增多而增大,其中MFA机制的计算开销明显高于MSBCTA与BASA机制,这主要是因为MFA机制需要进行多次标量乘法运算.MSBCTA与BASA机制的IIoT设备计算开销非常接近,这是因为BASA机制将认证过程中双线性对和多次标量乘法等繁重的计算分配给可信的第三方服务器(如:密钥生成中心).然而,本文的MSBCTA机制认证和密码协商主要计算开销由认证双方完成,且IIoT设备的计算开销依然很低.因此,基于单向哈希链的MSBCTA机制有效降低了认证和密钥协商过程中的计算开销.
5.2 可信度评估准确性分析
为了验证所提出的跨域信任评估方法的效果,本节通过实验分析可信度评估准确性.在实验过程中,采用本文第2节描述的Beta信誉计算方法作为域内信誉评估方法F(x).图6给出一个诚实节点和两个恶意节点的可信度等级评估结果.其中诚实节点在实验中一直提供好的服务,真实可信度等级恒定为High.第1个恶意节点总是提供坏的服务,它的真实可信度等级恒定为Low.第2个恶意执行机会主义服务攻击,该节点机会性地提供良好的服务,提高其可信度等级,然而,当它具有较高的可信度等级时,可能会提供较差的服务.它的真实可信度等级在模拟过程中由High降低到Low.
图6 恶意节点和诚实节点的可信度等级评估结果Fig.6 Results of credibility level evaluation for Honest or malicious node
图6(a)为诚实节点可信度等级评估结果.从图中可以看出,该诚实节点的可信度等级随着时间单元的增加而增加,最终与真实可信度等级High保持一致.
图6(b)为第1个恶意节点可信度等级评估结果,该恶意节点一直提供坏的服务.随着时间单元的增加,该恶意节点的可信度等级从最初的Medium快速下降到真实可信度等级Low.由此可以推断本文方法能快速识别恶意设备.
图6(c)为第2个进行机会性服务攻击的恶意节点可信度等级评估结果.当该恶意节点的真实可信度等级从High转变为Low时,本方法的评估结果也随之下降,可信度等级评估结果从High降低到Medium,最后收敛于新的真实可信度等级Low.
通过以上实验结果表明,MSBCTA机制能够准确地评估每个节点的可信度等级.
5.3 吞吐量分析
为了衡量主从链的性能,本节评估主从链和单链架构的交易吞吐量.吞吐量TPS度量系统在单位时间内处理请求或交易的能力.
TPS=Sumtransactions/Δt
(13)
其中,是时间段Δt存储到区块链中的交易总数,实验过程中考虑域内设备交互、域内身份认证、信任票据产生3种交易.该实验在5台配置了ubuntu 18.04系统的计算机上进行,采用Hyperledger fabric 1.4.4平台搭建主从链环境,并在Hyperledger fabric 1.4.4源码基础上添加改进的PBFT共识协议,智能合约(链码)采用go 1.11.5开发,Docker版本为20.10.7.Hyperledger fabric通道是两个或多个特定网络成员之间通信的私有“子网”,用于进行私人和机密的交易,一个节点可以属于多个通道,并维护多个账本.因此,本实验借助通道技术搭建主从链.考虑与Shen等人[2]相同的实验规模,如表3所示,每个域包含50个IIoT设备和5个边缘设备,每一条从链节点总数为55,单链架构的区块链节点总数为域的个数×55.一共设计了4组实验,其中域的数量分别为2、3、4和5.每一组实验进行10次,实验结果如图7所示.
图7 单链和主从链的吞吐量Fig.7 Throughput of single chain and master-slave chain
从图7可以看出,当域的个数大于1时,主从链的吞吐量总高于单链.随着域数量的增加,单链的吞吐量线性下降,然而主从链的吞吐量线性增加.当域的个数为5时,单链的平均吞吐量约为59,而主从链的平均吞吐量约为169,相当于单链的2.86倍.这主要是因为不同域中的从链节点规模比单链少,提高了共识效率,且多条从链可以并行地处理本域内交易和执行共识过程.
因此,通过上述实验结果表明,主从链比单链更具有可扩展性,基于主从链的MSBCTA方案适用于大规模IIoT多域场景.
5.4 通信开销分析
为了更好体现主从链的优势,本节比较主从链和单链在共识过程中的通信开销.引入通信次数指标来衡量两种架构在共识过程中的通信开销.假设存在p个域,每个域中IIoT设备和边缘设备个数分别为n和m,则每一条从链节点总数为m+n,主链节点总数为mp,单链节点总数为(m+n)p.主从链中主链和所有从链达成一次共识的通信次数为Cmsb,单链的达成一次共识的通信次数为Csb,根据图3显示的共识过程,Cmsb和Csb计算如公式(14)和公式(17)所示:
Cmsb=Cm+p*Cs
(14)
Cm=2mp(mp-1)
(15)
Cs=2(m+n)(m+n-1)
(16)
Csb=2p(m+n)(p(m+n)-1)
(17)
其中Cm和Cs分别是主链和一条从链的通信次数.为更清楚比较两种架构的通信次数大小,本文根据公式(14)~公式(17)绘制图8,展示两种架构在不同p,m,n取值下的通信次数.两种架构的通信次数随着p,m,n值的增加而增长,但主从链的通信次数始终低于单链的通信次数.当p=15,m=10,n=150时,Cmsb=807900,Csb=11515200.可看出单链的通信次数Csb大约是主从链的通信次数Cmsb的14倍.因此,主从链架构降低了共识过程中的通信开销,比单链更适合规模IIoT多域场景.
图8 共识过程中通信次数比较Fig.8 Comparison of communication times in the consensus process
本文提出一种主从链架构,实现大规模IIoT多域场景下可扩展的信任认证机制.不同域的从链并行处理域内事务,并为本地设备生成信任票据.主链共享来自不同域的所有IIoT设备的信任票据.IIoT设备可以在不知道对方真实身份的情况下,通过信任票据进行身份认证、密钥协商以及可信度评估,从而保护IIoT设备的隐私.安全性分析证明了MSBCTA认证机制具有较高的安全性.性能评估表明,MSBCTA机制在认证过程中具有较低的计算开销,能准确评估IIoT设备的可信度等级,所采用主从链架构提高了交易吞吐量和降低共识过程中的通信开销,具有可扩展性.
猜你喜欢 跨域哈希票据 跨域异构体系对抗联合仿真试验平台系统仿真技术(2022年4期)2023-01-17基于多标签协同学习的跨域行人重识别北京航空航天大学学报(2022年8期)2022-08-31为群众办实事,崂山区打出“跨域通办”组合拳读报参考(2022年1期)2022-04-25G-SRv6 Policy在跨域端到端组网中的应用科学家(2021年24期)2021-04-25基于OpenCV与均值哈希算法的人脸相似识别系统工业设计(2016年8期)2016-04-16基于维度分解的哈希多维快速流分类算法计算机工程(2015年8期)2015-07-03基于同态哈希函数的云数据完整性验证算法计算机工程(2014年6期)2014-02-28一种基于Bigram二级哈希的中文索引结构电子设计工程(2014年12期)2014-02-27