没有合适的资源?快使用搜索试试~ 我知道了~
基于区块链的IoT去中心化认证结构与应用
埃及信息学杂志23(2022)345全文用于IoT网络Mahmoud Tayseer Al Ahmeda,b,Fazirulhisyam Hashima,b,Shaiful Jahari Hashima,Azizol Abdullahca马来西亚雪兰莪州UPM Serdang 43400马来西亚普特拉大学工程学院计算机和通信系统工程系以及无线和光子学网络研究中心(WiPNET)b巴勒斯坦技术大学工程和技术学院通信工程和技术系c马来西亚雪兰莪州UPM Serdang 43400马来西亚普特拉大学计算机科学与信息技术学院通信技术与网络系阿提奇莱因福奥文章历史记录:收到2021年2021年12月25日修订2022年2月11日接受2022年2月19日在线提供关键词:区块链物联网安全身份验证群集层次结构A B S T R A C T物联网(IoT)网络是小型设备的大型对等网络,其需要可扩展且可适应IoT设备的有限资源的有能力的安全系统。节点认证是物联网安全的关键部分当前的身份验证解决方案需要一个集中的可信方进行身份验证,这存在单点故障。区块链作为一种具有去中心化认证的点对点网络,可以为节点认证提供去中心化的解决方案。在现有文献中,物联网中的大多数区块链应用程序都通过计算能力更强的设备连接到现有的区块链网络,从而限制了它们对物联网网络的适应性并存在单点故障问题。考虑到这些问题,本文提出了一种基于区块链的去中心化认证结构,该结构根据物联网设备的计算能力、能量储备和位置将物联网设备安排到集群中。每个集群中的设备都通过互联区块链的分层结构进行认证为了减少处理负载,我们引入了一个基于验证设备及其相关集群的基于身份的加密密钥签名的共识协议。所提出的结构模拟显示了物联网设备的处理器和存储器负载的减少。使用Docker容器网络和Raspberry Pi设备网络进行的进一步测试表明,所提出的区块链结构和共识算法降低了计算负载。通过对该框架结构、安全性和性能的分析,表明该框架具有较好的轻量级和可扩展性,并提供了全面的安全保护。©2022 The Bottoms.出版社:Elsevier B.V.代表计算机与信息学院开罗大学。 这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍物联网(IoT)是一种智能环境,包含具有传感和通信能力的智能设备,可以自主生成数据并使用互联网传输数据*通讯作者。电 子 邮 件 地 址 : mahmoud.ptuk.edu.ps ( M.T.AlAhmed ) , faqu-l@upm.edu.my ( F. Hashim ) , sjh@upm.edu.my ( S.Jahari Hashim ) ,azizol@upm.edu. 我的(A. Abdullah)。开罗大学计算机和信息系负责同行审查。[1]的文件。随着不同工业和商业领域的应用越来越多,物联网生态系统需要成为一个开放的环境,其中所有设备都相互连接,使这些设备容易受到恶意安全攻击。物联网环境需要具有可靠和轻量级的安全性和隐私性[2物联网安全性的一个重要方面是需要防止黑客利用物联网设备的身份来访问网络或数据。因此,需要强大的物联网设备身份验证,以确保连接到物联网网络的设备可以被信任为它们声称的那样。提出了基于密钥分发中心的密码学的物联网安全解决方案.介绍了几种基于现有密码应用的解决方案,如零知识证明认证[6]和无线传感器网络匿名访问认证方案[7]。但是,这些应用程序需要存在密钥https://doi.org/10.1016/j.eij.2022.02.0051110-8665/©2022 THE COURORS. Elsevier B.V.代表开罗大学计算机和信息学院出版。这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。制作和主办:Elsevier可在ScienceDirect上获得目录列表埃及信息学杂志杂志主页:www.sciencedirect.comMahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345346管理服务器,并且因此,在物联网安全系统中存在具有单点故障的问题,这可能危及网络的整体安全性。这表明需要为物联网网络提供分散的安全解决方案另一方面,区块链提供了一个没有中央控制实体的节点网络[8,9]。它是一种去中心化的分类账,依赖于其贡献者之间的集体信任,通过牺牲一些有价值的资源来加入分类账并与之交互,从而提供一种证明其真实性的机制。区块链的分布式本质被证明是安全和不可变的,可以为物联网安全需求提供解决方案。具体来说,物联网网络的分布式性质。在物联网中使用区块链的多种解决方案在[10这些解决方案可以分为以下几类,首先使用智能合约对物联网设备或数据进行身份验证。这些智能合约通过引入认证节点或服务器在区块链网络中进行管理和发布。第二类是使用区块链网络进行物联网网络的密钥分发和安全管理。最后一类是引入或调整新形式的区块链,以提供物联网网络的安全要求。一般来说,物联网网络中现有的区块链应用会引入一些限制,包括区块链分类账的大尺寸,这会增加物联网网络使用的内存负载和数据带宽[13,14]。此外,使用区块链应用程序,如比特币和以太坊,将限制这些网络与越来越多的物联网设备一起使用的可用性,因为物联网设备将不得不与使用以太坊和比特币平台的其他设备竞争以获得经济利润。此外,使用令牌系统来认证IoT设备,其中挖掘用于认证的令牌的控制设备也将呈现单点故障。最后,使用复杂的工作量证明算法增加了物联网设备的负载[15,16]。本文的动机是解决物联网对分散的身份验证过程,可扩展,可靠和安全。为物联网安全引入区块链技术然而,现有区块链应用的实现继承了多个限制,特别是对现有金融应用的依赖以及对促进与区块链网络交互的实体的依赖在本文中,我们提出了一种新的物联网网络身份验证方法,其灵感来自区块链中我们首先创建了一个网络模型,该模型可以帮助物联网设备分担身份验证过程的负载,让能力更强的设备成为组内能力较弱的设备的主要验证者。这使我们引入了集群的层次结构,其中每个级别的节点共享一个级别区块链。此外,使每个节点与相邻节点相关的要求增加了安全级别,因为咨询不能在不经历选择网络的该部分的簇头所需的过程的情况下随机攻击网络的该部分。同时,区块添加过程取决于簇头向簇中的区块链提供种子哈希。最后,提出了一种基于身份加密(IBE)的共识算法,该算法在每个块中使用一个事务,验证节点和相关簇头的密钥以创建一个新的块。我们将证明该算法是快速和资源有效的。为了满足物联网网络的分布式特性的需求,添加到区块链的节点被添加到可以分发到网络中的物联网设备的认证表中。该表以可以提供节点访问的便利性并且满足IoT设备中对新结构进行了仿真分析。溶解了结果表明,它可以满足物联网生态系统对轻量级和可扩展的分散安全性的安全需求。本文的主要贡献如下:1 一种网络模型,基于将设备分组到多级集群中,其中每个集群头验证集群内的设备。2 一种多级区块链结构,其中每个集群都包含自己的区块链。每个区块链都连接到其他集群区块链。这种方法将减少每个集群内设备上的内存和计算负载。3 应用了一个由认证协议证明导出的一致性方案。通过来自每个设备的签名请求达成共识。节点请求身份验证,并且当块被创建和批准时,通过身份验证的节点被添加到身份验证表中。4 基于多级区块链结构引入了一种认证方案,其中设备通过设备标识和包含来自认证表和多级区块链的设备凭证的块散列来验证。5 实验结果表明,该框架具有较好的性能.本文的其余部分组织如下。第2节介绍了使用区块链进行物联网节点认证的现有和相关工作。第三节详细讨论了所提出的框架.最后,在本文的最后(第4节)给出了模拟过程和讨论,并给出了结论性意见。2. 文献综述最近,许多研究人员对将区块链技术集成到物联网生态系统中感兴趣,以受益于区块链的分布性,不变性和分散性。然而,很少有人对区块链如何帮助满足物联网安全要求感兴趣。大多数研究人员通过添加网关或边缘设备来管理和验证物联网设备,从而将区块链应用于物联网网络。Huh等人[17]提出了一种将区块链集成到物联网中的方法。他们的方法依赖于通过定义其操作的专用智能合约然而,他们的工作仍然处于非常初级的状态,并且没有提供关于所考虑的用例的细节最后,他们考虑使用对象的完全匿名性,这允许任何用户,甚至是恶意用户,使用系统。Dorri等人[18,19]提出了一种基于区块链的物联网架构。他们的方法依赖于三个互连的区块链:每个用例的本地私有区块链,共享私有区块链,以及互连并合并私有区块链网络的公共区块链。虽然该解决方案解决了识别问题,但它具有多个缺点,其中每个操作需要至少8个网络通信,这在节点的高活动性的情况下会快速淹没整个通信介质。Hardjono等人[20]提出了Chain Anchor,这是一种隐私保护方法,用于将物联网设备投入云生态系统。Chain Anchor支持设备所有者将其设备传感器数据出售给服务提供商而获得报酬,并允许设备所有者和服务提供商以隐私保护的方式共享传感器数据。然而,它的目标是Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345347参与设备的完全匿名性,并且不适用于需要识别的众多物联网用例‘‘Fair Access”, a blockchain-based access control framework inIoT was proposed in Fair Access通过将策略存储在私有区块链中来工作。因此,始终保证策略的认证和更新。但是,它只能处理基于策略的兼容系统和用例,无法应用于众多的物联网上下文。在[22]中,Hammi等人介绍了一种用于物联网的去中心化的基于区块链的认证系统。作者提出了物联网设备的虚拟安全区域。中心节点基于以太坊发布权限。用户使用这些权限或令牌来访问IoT设备提供的数据。然而,该方法使用分配给系统的中心节点,并且没有提供针对该节点的不可通情况的解决方案Yiming Jiang等人[23]提出了一种跨链框架,用于集成多个区块链,以实现高效和安全的物联网数据管理。他们提出了一种解决方案,该解决方案构建了一个交互式分散访问模型,该模型采用联盟区块链作为控制站。为特定物联网场景定制的其他区块链平台相当于打通了财团区块链上的链下通道。然而,他们的工作使用现有的以太坊和IOTA区块链结构,这使得网络依赖于这些服务的可用性。与此同时,[24]的作者提出了一种基于超图的区块链模型。此模型旨在减少存储消耗并解决其他安全问题。 该模型以超边作为存储节点的组织者,将整个网络数据存储转化为部分网络存储。作者只提出了两个层次的链和应用程序设置为数据存储安全,并没有解决设备身份验证。此外,在[25]中,一种名为Proof-of- Authentication(PoAh)的新型共识算法取代了Proof-of-Work,并在这种环境中引入了身份验证,以使区块链应用程序特定。其中作者使用预分配的非对称密钥对作为区块链中的身份验证方法,以取代传统挖掘过程的使用。该方法提出了对IoT网络的节点认证的使用的改进然而,他们的方法需要在网络内存在认证节点,这导致朝向这些节点的流量增加以及这些节点的带宽要求增加[26]的作者介绍了一种混合区块链结构,该结构使用本地区块链来认证WSN节点,并使用公共区块链来连接多个节点集群然而,所提出的工作假设每个集群中存在接入点设备,这是每个集群中的单个故障点,并且认证通常依赖于以太坊智能合约来认证公共网络中的接入点。在[27]中,作者提出了一种基于能力的物联网设备访问控制他们的方法取决于创建一个由联盟区块链中的智能合约管理的参与节点ID的注册表Chenhao Xu等人在[28]中提出了一种双向链接的区块链和基于物联网网络中选定成员的共识。作者提出了一种通过向哈希值添加随机值来链接区块链中块的哈希值的方法。他们的工作提出了一种防止双重支出攻击的支付方法。然而,他们的工作需要额外的复杂性的共识过程,需要额外的步骤验证选定的节点数量。K. Agyekum等人[29]提出了一种物联网网络中的数据共享方法,该方法基于基于身份的加密和以信息为中心的网络,由区块链存储和管理。然而,拟议的工作使用现有的区块链技术来存储和共享公钥值。在[30]中,提出了一种基于区块链的信任系统,以阻止网络中的恶意数据报告方。拟议的应用程序仅将区块链用于数据存储。同样,[31]的作者提出了一个模块,检测和隔离物联网网络中的恶意设备。作者使用支持网络的设备作为区块链客户端,以确定设备是否符合安全参数。区块链被用作存储物联网设备状态的数据库。[32]的作者提出了一种基于区块链的访问控制模块,用于医疗物联网应用程序,其中医疗数据在区块链环境中通过智能合约共享和管理以类似的方式,[33]的作者使用区块链中的智能合约来验证和管理物联网网络中的资源分配这两项工作都使用区块链作为一个安全的分散数据库,可以通过单点访问和管理。为了读者的利益,我们在表1中总结了以前突出的相关工作.可以观察到,大多数作品利用现有的比特币或以太坊平台作为认证机制的基础(即,或者通过货币化网络接入认证来获得经济利益,或者通过使用为允许接入网络而发布的令牌来获得经济利益)。然而,只有少数研究人员使用区块链结构进行身份验证。大多数被审查的作品使用现有的区块链技术,如比特币和以太坊,这些技术是为金融应用而设计的,而不是专门为物联网认证而设计的。此外,虽然一些是基于集群的算法操作,簇头选择过程是预定的。与现有的作品不同,我们提出的框架侧重于动态分配的节点之间的簇头。此外,我们还提出了一种新的轻量级共识方法,该方法考虑了物联网设备的资源受限性质。3. 拟议的基于区块链的去中心化框架3.1. 区块链概述区块链的第一个应用是比特币[34],这是第一种没有中央控制机构来发行货币和控制金融交易的加密货币。基于其安全应用[35],区块链有两个主要类别许可和无许可。许可型区块链需要允许访问。许可区块链有三种类型:私有区块链,联盟区块链和公共区块链。另一方面,无许可区块链不需要授权访问网络,任何实体都可以加入区块链。区块链的结构如图1所示。区块链中的每个区块都包含一个使用SHA256标准的前一个区块哈希值的字段,一个时间戳字段和一个nonce值字段[36]。还有一个字段用于存储交易哈希的Merkle树。Merkle树根与其他字段组合以计算nonce值。该值必须导致满足区块链共识要求的区块的哈希值。区块链的原理操作可以描述如下[37];节点记录新的数据值并将其广播到网络。接收节点验证数据并将其存储在块中。网络中的所有节点根据网络的要求执行数学运算。这个过程被称为挖矿。这种数学算法需要网络中的节点如果达成共识,Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345348表1相关工作的总结。参考贡献区块链应用挑战[17]使用智能合约控制物联网设备以太坊以太坊共识要求和代理设备访问以太坊的需求导致的延迟时间[18,19]使用多个级别的私有和公共区块链来实现物联网安全,并提出了一个智能家居用例。PoW blockchain每个设备的通信数量高。每个传感器网络都依赖于单个接入点来访问区块链[20]通过为在区块链半许可区块链,某些设备可以写入区块链,任何设备都可以从区块链要求设备制造商在区块链中注册设备。系统中存在多个单点故障。不允许[21]使用智能合约的[22]创建通过使用智能合约进行身份验证的安全区[23]使用基于IOTA的侧链进行连接到以太坊区块链的设备安全管理[24]随机分组节点。节点组在同一事务中共享。这允许分散的事务存储[25]提出了一种新的基于认证证明的一致性算法[26]使用混合区块链结构,由连接到公共区块链的本地区块链组成。[27]使用区块链的基于能力的物联网访问控制,其中一组定义的凭证确定设备对网络的基于比特币的PoW区块链由于比特币共识而要求.接入点必须存储大量数据。以太坊将设备通信限制在安全区,使用接入点扩展通信范围,这会出现故障IOTA和以太坊实现复杂,因为研究使用了两种不同的区块链技术。使用专用链访问以太坊区块链POW和线性独立矩阵随机选择节点,不考虑他们的能力每个组都使用一个挖矿设备来访问和存储区块链,这会带来一个故障点。身份验证证明使用验证节点,这会增加带宽负载并出现故障基于PoW的区块链本地区块链存储在簇头中。对公共区块链的访问由簇头和接入点管理。授权证明设备注册需要多个步骤,通信开销很大。[28]作者提出了一种通过向哈希值拍卖委员会成员达成共识在选定的设备内达成共识,对链接散列的计算增加了计算要求。[29]提出了一种基于代理重加密的物联网数据安全共享方案,密钥在区块链[30]提出了一种无人机监控物联网网络并检测恶意数据报告的方案[31]提出模块隔离物联网网络中的恶意设备[32]使用智能合约保护医疗物联网设备生成的患者[33]使用支持区块链的物联网,其中每个基站都配备了边缘服务器,用于计算卸载。资源分配由智能合约PBFT区块链被用作密钥存储和分发机构。作者没有解决物联网网络中区块链应用的复杂性。未指定区块链用于数据存储,使用无人机使用无人机监控物联网网络也会带来隐私问题。PBFT具有可扩展性问题,并且由于可能的传输错误,设备可能被隔离。以太坊在这个应用程序中,区块链用于智能合约交易中的数据存储。应用程序取决于以太坊网络的共识参数和要求。以太坊资源分配由专用服务器管理,这些服务器可能存在潜在的故障点。此外,当节点数量增加时,购买计算资源的过程将是昂贵的。Fig. 1. 区块链结构。Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345349区块被添加到区块链,并且区块链被更新到网络中的所有节点。挖矿过程旨在尽可能复杂和苛刻地对区块链进行任何更改可以在区块链中应用的最常用的consen- sus协议包括[22,38]:工作量证明(PoW):节点需要计算一个nonce值,以满足区块哈希的某些值要求。权益证明(PoS):共识基于网络中节点的权益。具有较高权益的节点可以验证链中的新区块。引入这种方法是为了降低PoW方法的高计算要求实用拜占庭容错(PBFT):通常用于私有系统,其中网络假设有许多故障节点。基于这一假设,节点需要其余节点的同意才能在链中生成新的区块。经过时间证明(PoET):这种共识用于专用网络。它要求节点等待一个随机的时间段,然后在新的块上达成共识区块链的主要安全威胁包括多数攻击,其中一个攻击者或一组攻击者拥有网络中超过51%的处理能力[34]。另一个主要的问题是分叉问题;当难度的规则当PoW的数量发生变化时,节点倾向于生成遵循最简单规则的块,这将导致链具有多个具有不同认证规则的分支。区块链的另一个问题是区块链的规模,随着区块链的增长,数据大小也会增加。这些问题以不同的方式解决[39],以提供共识算法的苛刻要求和广泛采用的共识协议的安全威胁的解决方案。在这项工作中,我们采用了[25]和[40]中提出的认证协议证明。认证一致性证明算法使用基于身份的密码术(IBE)来为每个节点创建密钥对。该协议指定一些可信节点作为验证者,验证节点的包含签名的事务。节点通过验证更多的节点来提高其信任级别在拟议的工作中,我们提出了一个更简化的版本的认证证明,考虑在网络中的节点被分配为簇头作为初始验证。这将减少共识开销,并需要更短的验证和块创建时间。详情将在以下各节中进一步讨论。3.2. 拟议框架该框架的主要目标是提供一种受区块链技术不可变分类账启发的身份验证方法,同时最大限度地减少区块链挖掘过程所需的处理负载。这一拟议的认证框架旨在满足以下目标:去中心化:随着网络中物联网设备数量的增加,使用集中式身份验证可能不可行。此外,这种集中式方法使网络暴露于单点故障问题。由于这些问题,我们提出的框架提出了一个去中心化的认证模型。资源需求的效率:鉴于物联网设备的资源有限,拟议的框架提出了一种在物联网网络中使用区块链的更有效方法这可以通过在网络中引入区块链的集群或分层结构来实现匿名性:这个目标在任何网络中都是至关重要的,主要是所提出的框架需要提供高度的匿名性的用户。可扩展性:所提出的框架被设计为灵活和可扩展的。对安全攻击的免疫力:拟议的框架加强了物联网设备和网络的安全性,特别是身份验证过程。此外,它还不受与物联网网络和区块链相关的大多数安全攻击的影响。在物联网网络中应用区块链技术的第一个障碍是区块链共识算法所需的高计算和带宽需求。为了克服这一点,我们正在使用一种简化的共识形式,其中节点通过以下方式进行验证:通过验证包含数字签名信息的交易来管理一组相邻节点。该方法受到[25]中提出的工作的启发。所提出的基于区块链的去中心化认证框架是以多级或层次结构组织的该框架包括两个重要阶段,即聚类过程和基于区块链的认证过程。在前一个过程中,节点根据预定义的标准分组到集群中。同时,在第二个过程中,节点通过建议的区块链结构进行认证,然后添加到已认证的节点表中。3.2.1. 聚类如前所述,物联网网络由大量设备组成。为了改进和加强我们提出的框架的安全管理,这些设备被分组为集群。特别地,创建集群以减少存储在每个节点中的区块链数据的大小。此外,创建较小的节点组可以减少区块链中节点之间共享的数据大小。集群结构确保了与现有网络的适应性,现有网络具有接入点或现有的集群头,可以根据所提出的框架执行所需的任务。简化了簇头选择规则,减少了簇初始化阶段的开销首先,设备根据其功能和能力分为三大类,这种安排与物联网网络中的设备功能和操作有关此外,我们拥有具有更高处理能力和更大带宽的通信设备,可以收集和存储数据,并可以执行更复杂的计算,以及用于数据存储和分析的更大的云服务器 如可见于图 2最低类别是连接设备,如传感器和执行器。通常,这些设备具有有限的连接性和有限的处理能力。第二类是具有较高处理能力和内存的本地处理设备。最后一类是连接到云的设备,具有更大的处理能力,内存和更高的带宽连接。其次,基于三个标准将设备布置成集群,这三个标准包括设备处理能力、设备能量储备和设备相对于网络中其他设备的位置。基于图3中描述的算法(将被讨论)将节点分组到集群中。簇头作为加入区块链的节点的初始验证者,也是不同区块链之间的连接点,它们必须存储与集群中所有节点相关的认证表,我们将在后面讨论鉴于此,●●●●●●●●●Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)3453501/4fg具有较高能量剩余的节点优选地被选择为簇头。图3说明了在我们提出的框架中簇的形成和簇头的选择过程。具体地,图中呈现了用于级别1(CHL 1)和级别2(CHL 2)的簇头选择的序列 如图1所示。 3,每个节点将向预定义范围内的相邻节点N广播关于其处理能力、其位置和其能量水平E Node的信息。基于算法1,节点选择最合适的节点作为CHL 2。 每个节点都有一个基于本节前面描述的类别的处理能力指数(i)的指示器,该指示器的值为i1; 2;3至匹配处理能力水平。分配给的值越大,更有能力的设备。节点比较接收到的索引CHL2的值,并将有资格成为CHL2的节点分配给CHL2。具有类似处理能力指数计算值的节点将平均能级Eav¼P延迟,如果它具有能量E节点N图二. IoT网络中的设备。水平大于平均值,使得E节点>Eav,它nomi-将自己命名为CHL1。然后,节点将其提名广播给相邻节点(步骤2)。接收到命名消息的节点可以根据接收信号的强度和它们的能量水平选择加入集群按照图3的步骤3。如果节点决定加入集群,则它通过发送集群头选择消息来宣布其选择(步骤4)。该过程由算法1详细列出。最后,节点被布置到多个簇中,每个簇具有一级簇头(CHL 1)。图4示出了先前提到的过程的结果,特别是所提出的方法的节点和集群布置。图三. 第1级和第2级的簇形成和簇头选择序列。Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345351P平均能级E¼,av¼¼见图4。 集群中的节点排列框架. 如在该图中可以观察到的,所得到的结构由被分配为节点(0级节点)的IoT设备组成。在同一类别的处理设备内被分配为簇头CHL 1(级别1节点)的一些设备,以及最后被分配为更高级别的簇头CHL 2(级别2节点)的一些设备如果节点的数量非常大以具有多于三级的集群布置,则可以重复该过程。为了简洁和演示的目的,本文使用三个级别的区块链网络作为示例算法1:簇头提名。输入:相邻节点的集合(adjacentNodes),相邻节点的数量N,节点处理功率指示符Pi2 f1; 2; 3g,节点能量水平ENode,E节点N预定距离D预设,节点与指定CHd之间的距离产出:2级簇头集合(CHL2)1级簇头集合(CHL1)节点集(节点)功能selectCHL2:对于adjacentNodes中的节点:用Pi3添加节点以设置(CHL2)发送CHL2提名消息。功能选择CHL1。对于adjacentNodes中的节点:如果PIE节点>E是一个v,并且节点不是CHL2,则添加具有Pi2的节点以设置(CHL1)发送CHL1提名消息。其他等待CH提名消息函数joinCluster。如果d≤D预设,则节点选择CH加入其集群节点广播CH选择消息其他节点设置为CH该聚类过程和算法将被触发以向节点分配分层顺序,如先前在图3中所示。此外,这个集群过程不会影响消息路由过程,因为这个过程只需要节点认证,这将在下一节中讨论。3.2.2. 节点认证:作为认证过程的先决条件,每个节点使用RSA算法生成公钥对。密钥对包含-通过对节点IP地址IPAdrr节点应用RSA密钥生成算法来生成公钥PuK节点和私钥PrK节点。Pu K节点;PrK节点RSAIPAdrr节点公钥PuK节点用作区块链中的节点标识符(NodeID)。这消除了对集中式密钥生成服务的需要,同时为网络中的节点提供匿名性。值得强调的是,基于分簇过程,每个节点具有两个参数,即节点的公钥(NodeID)和簇头节点的公钥(CHID)。所提出的基于区块链技术的框架的认证过程在图5和图6中示出。如图5所示,每组0级节点连接在单独的区块链中。如图6所示,该分支链开始于由组的簇头CHL 1节点提供的起源块。这表明级别0的节点不能创建任何块,除非簇头提供了起源散列。这意味着任何连接到该组的新节点都必须得到簇头和组中节点的批准。这可以防止任何蚀蚀攻击的尝试,因为如果没有来自clus- ter head的原始创世块,区块链就无法分叉。算法2描述了所提出的多级区块链的认证过程。对于要进行身份验证的节点,它使用节点的私钥向集群中的所有节点发送身份验证请求(AuthReq),该请求包含节点ID、CH ID以及它们的签名值。节点验证身份验证请求的签名值,当所有节点验证请求时,创建一个块。新创建的块被发送到簇头和簇中的节点,并且如果块验证并达成共识后,该区块将被添加到区块链中。 共识是通过验证认证请求中的签名和验证区块链中的区块哈希来达成的。已被添加到区块链的已验证身份验证请求的节点被设置为集群中的已验证节点。经过身份验证的节点将添加到存储经过身份验证的节点参数的经过身份验证的节点表(AuthTable)中。该列表包含节点的公钥和授予其认证状态的创建块的散列。对集群中级别0的其余节点重复该过程。存储在认证表中的值如图所示。第七章如图6所示,级别1的节点也在区块链中与使用由级别2节点提供的散列生成的创世块连接。节点CHL1发送包含其ID、CHL2 ID和请求的数字签名的认证请求。CHL1节点通过以下方式接收并验证请求:Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345352图五. 不同节点级别的多级区块链连接。见图6。 多层次区块链中的创世纪区块结构。Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)3453532见图7。存储在身份验证表中的值。验证数字签名,如果所有节点和CHL 2验证了签名,则创建包含CHL 1请求的块,并且如果该块被CHL 2和其他CHL 1节点验证,则该块被包含在已验证节点表中的散列。这说明了在物联网网络中具有基于集群或分层结构的区块链的优势。添加到1级区块链,1级节点及其分支因此,链被批准和认证。随后,将此节点及其分支添加到已验证节点表中在第二层算法2:基于多级区块链的身份验证输入:节点的公钥(NodeID),簇头节点的公钥(CHID),如果节点不是CHID且块索引= 0,则节点从CH否则,如果块索引为节点发送Authreq=(NodeID,CHID,signature)如果验证了AuthReq签名,则创建如果块验证将区块添加到集群区块链。将节点添加到AuthTable如图7所示,认证节点表除了包含节点的认证请求的块的块索引和块散列之外还包含节点参数(NodeID、CHID)。为了使存储认证表所需的存储器最小化,值相对于为节点提供认证散列的区块链级别以升序排列,如图8所示。通过将节点的NodeID和CHID的存储值与存储在认证表中的值。算法3中列出了基于认证表的节点认证过程。当节点需要访问在网络中,节点发送其参数(NodeID和CHID)。然后,将节点参数与已认证节点表(AuthTable)中存储的参数进行比较。此外,包含节点的身份验证请求(AuthReq)的块最后,如果参数匹配,则允许该节点将其数据发送到网络中的其它节点。另一方面,如果参数不匹配,则节点被拒绝。多级区块链有助于减少每个节点的处理负载和内存需求,这也有助于最大限度地降低集群中的攻击风险如果攻击成功,受感染的节点将被包含并限制在单个集群中,因此可能不会影响整个区块链网络。此外,攻击者需要重新计算所有算法3:基于认证表的节点认证。输入:NodeID、CHID。发送数据报文节点发送(NodeID,CHID)If(NodeID,CHID)AuthTablethenFunction match_Block_fromBlockchain If true,then节点认证发送数据消息其他节点不是有效的数据消息其他节点不是有效的数据消息3.3. 操作场景为了充分解释所提出的结构,我们提出了一个sce- nario来演示如何使用该结构进行节点身份验证。首先,我们想强调的是,拟议的结构不是区块链的直接应用,这意味着,我们不是在看以线性增加的方式连接的连续块。我们的目标是利用分散的性质区块链结构的不变性,同时降低其在物联网网络中使用的复杂性。如前所述,物联网设备可以分为边缘设备、雾设备和传感设备。为了应用我们提出的身份验证方案,这些被分为三组,在前面的章节中进行了描述。在此场景中,我们将描述初始化身份验证过程所需的步骤,这些设备是如何相互作用的。第一步是聚类过程,如第3.1节所述,该过程基于设备的处理能力、剩余能量和位置将设备排列成多个级别。如图9所示,我们假设有一个CHL2节点,三个CHL1节点和九个节点。每三个节点连接一个CHL1节点三个CHL1节点与CHL2在另一个集群中连接。对于最初如图1A和1B所示的认证过程,图10和图11分别示出了布置在单个集群中的节点。如上所述,每个设备基于其地址创建密钥对。见图8。 多级区块链的认证表结构。Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345354见图9。 操作场景的节点布置。见图10。 单个群集中的节点节点将发送包含其NodeID、CHID和使用节点私钥签名的请求的数字签名的认证请求。这里的簇头有两个功能,它在集群中用作认证请求的初始验证器,并且用作到网络中的其它CHL 1节点和CHL 2节点的连接点。CHL1节点从群集中的节点接收身份验证请求。它提供创世哈希值,用于在集群区块链中创建第一个区块。如图12所示,测试节点的认证请求以匹配节点id和簇头ID,并且验证签名。如果值不匹配或签名不可验证,则拒绝请求。如果节点新区块经过验证并添加到集群区块链中当节点被验证并且包含其认证值的块被创建时,节点然后被添加到认证表,如图13所述。在网络中共享认证,每个设备存储如图1所示的认证表的部分。 八、如果设备需要通过网络发送数据,则必须通过将nodeID和CHID与存储在认证表中的值进行比较,并将包含其认证请求的块的哈希值与来自集群区块链的块哈希值进行比较来进行认证,其中匹配块索引为见图11。 在一个集群中传输认证请求。图12个。基于身份验证证明创建区块的验证过程Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345355图十三. 区块链和认证表的节点验证和验证步骤。在算法3中描述。对于网络中其他集群中的其他节点重复该过程。此外,对网络中的CHL1和CHL2节点重复相同的过程,以创建多个区块链,对网络的多个级别进行认证。在移动节点的情况下,改变其位置的节点可以通过将其标识值与存储在分布在网络中的认证表中的值进行比较来认证。认证表的多级分布提供了防止任何簇头可能失败的安全措施。4. 绩效评价本节讨论模拟设置和过程的详细信息。然后,它强调并讨论了我们从模拟中获得的结果。4.1. 模拟设置和过程如前所述,拟议框架由两个主要部分组成。将物联网设备分组到集群中的集群机制,以及用于网络中物联网设备认证的区块链结构。仿真和测试过程分两步进行。首先,使用Omnet++对聚类过程进行了仿真,Omnet ++是一个基于C++的离散事件仿真器,通常用于网络仿真[41]。它使用NED语言进行网络环境配置,使用C++进行模块编程. IoT节点被呈现为具有无线通信信道的模块。IoT设备被随机地定位在网络中,并且在仿真过程开始时被分配随机功率值。如前所述,聚类算法计算节点中可用的平均能量。具有较大功率储备的节点被宣布并被提名为簇头。如果一个节点在指定的簇头的预定义距离内,则该节点选择该簇头并加入该簇。然后,对来自级别2的簇头重复相同的过程。其次,对于区块链认证过程,使用Docker容器和Docker网络来模拟网络。Docker提供了一种解决方案,用于在单机中模拟网络中的节点,同时提供了足够的配置灵活性,用于测试框架和监控节点的性能[42,43]。模拟在Intel I7- 10510 u处理器和16 G RAM的计算机上进行。测试实验使用运行Ubuntu 20.04的Docker容器和包含七个节点的网络进行,如图14所示。框架应用程序使用Python 3.9和Flask[44]进行编码。为了简洁起见,节点被预先确定为0级节点、1级簇头(CHL 1)或2级簇头(CHL 2)。每个群集包含两个连接到1级群集头的节点,1级群集头(CHL 1)连接到单个2级群集Mahmoud Tayseer Al Ahmed,F.Hashim,S.Jahari Hashim等人埃及信息学杂志23(2022)345356×ð Þ图14. 多层次区块链模拟的节点布置。头(CHL2)。每个节点使用Flask API向相应的簇头发送认证请求,簇头使用簇生成块进行响应。如果一个节点创建了一个认证块,它会将新的块发送给簇头和其他节点进行验证。如果块被验证,则新块被添加到本地链和块的散列,并且块公钥被添加到认证节点的簇头表。每个设备都需要通过提供认证块的散列和设备的公钥来认证任何通信请求。为了性能比较,还使用单级区块链认证来模拟具有7个节点的网络(即,按照传统的区块链
下载后可阅读完整内容,剩余1页未读,立即下载
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)