CN116567637A - 一种基于改进pbft算法的雾节点信任评估方法 - Google Patents
一种基于改进pbft算法的雾节点信任评估方法 Download PDFInfo
- Publication number
- CN116567637A CN116567637A CN202310557376.1A CN202310557376A CN116567637A CN 116567637 A CN116567637 A CN 116567637A CN 202310557376 A CN202310557376 A CN 202310557376A CN 116567637 A CN116567637 A CN 116567637A
- Authority
- CN
- China
- Prior art keywords
- node
- fog
- message
- trust
- consensus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 54
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000005304 joining Methods 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 claims abstract description 29
- 238000004458 analytical method Methods 0.000 claims abstract description 14
- 238000013210 evaluation model Methods 0.000 claims abstract description 5
- 230000006399 behavior Effects 0.000 claims description 39
- 238000004364 calculation method Methods 0.000 claims description 38
- 238000002360 preparation method Methods 0.000 claims description 25
- 238000012790 confirmation Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 15
- 239000003595 mist Substances 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 102000003712 Complement factor B Human genes 0.000 claims description 3
- 108090000056 Complement factor B Proteins 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000010926 purge Methods 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 6
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/66—Trust-dependent, e.g. using trust scores or trust relationships
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/61—Time-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/09—Management thereof
- H04W28/0908—Management thereof based on time, e.g. for a critical period only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/09—Management thereof
- H04W28/0925—Management thereof using policies
- H04W28/0933—Management thereof using policies based on load-splitting ratios
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明属于安全评估技术领域,具体涉及一种基于改进PBFT算法的雾节点信任评估方法。为解决雾计算网络中恶意节点作恶,并为底层节点选择最优雾节点处理任务请求等问题,本方法首先提出一种基于改进PBFT算法的雾节点信任评估模型,改进PBFT算法的协议,将信任模型与一致性协议和视图更换协议相结合,令协议在达成数据一致性时能分辨节点信任状态,并增添节点加入协议和清除协议。其次提出利用节点信任值、节点负载率以及通信距离三个指标选择最优雾节点的方法,通过层次分析法确定每个指标的权重,对每个指标进行标准化处理后进行加权求和,计算出雾节点的综合评价值,选择评价值最高的雾节点作为最优雾节点处理底层节点的任务请求。
Description
技术领域
本发明属于安全评估技术领域,具体涉及一种基于改进PBFT算法的雾节点信任评估方法。
背景技术
随着全连接时代的到来,物联网设备增加到千亿连接数的规模,下一代网络需要提供更加低时延、高可靠性以及高流量密度的服务,以满足高速移动环境和热点区域等多样化场景的需求。雾计算将计算和存储资源都集中在处于网络边缘的雾节点,而不是像传统网络全部保存在云层,减轻了云数据中心的负载,满足了不断增长的业务对云数据中心带宽和计算能力的需求,缩短了数据处理时间,提高了网络的响应速度和服务质量。
随着雾计算的普及,尽管它有很多好处,但也面临着一些关键的安全挑战:雾计算架构的分散性和复杂性,使其面临着许多安全风险和威胁,包括恶意攻击、数据泄露等;由于区域受限,底层节点无法选择最优的雾节点进行任务处理。
目前,虽然已有研究采用身份认证技术和区块链技术来解决雾计算的安全问题,但这些方案分别存在依赖第三方机构来发放和验证数字证书、没有提升网络的通信性能的问题。从底层节点请求任务处理的角度,如何有效解决雾计算网络中恶意节点作恶,并为底层节点选择最优雾节点处理任务请求,是目前着重需要解决的问题。
发明内容
本发明的目的是提供一种可行且高效地评价雾计算网络中雾节点信任值的信任评估方法,从而便于对底层节点发出的任务请求进行处理。
为了达到上述目的,本发明采用了下列技术方案:
一种基于改进PBFT算法的雾节点信任评估方法,包括以下步骤:
步骤1,计算和更新雾节点的节点信任值,为雾计算网络中雾层的每个节点设置初始信任值,根据信任值影响因素建立信任模型,利用该模型计算和更新雾节点每次参与共识后的信任值大小,并依据信任值大小对其信任状态进行分类;
步骤2,改进PBFT算法的一致性协议和视图转换协议,令协议在达成数据一致性时能分辨节点信任状态;
步骤3,增添雾节点的加入协议和清除协议,实现共识网络中节点的动态加入和清除;
步骤4,计算雾节点的节点负载率;
步骤5,计算底层节点与雾节点之间的通信距离;
步骤6,根据节点信任值、节点负载率和通信距离三个指标,计算雾计算网络中雾节点的综合评价值,选择最优雾节点处理底层节点的任务请求。
进一步,所述步骤1中计算和更新雾节点的节点信任值,具体步骤为:
步骤1.1,节点信任值的计算受节点历史行为因子、节点历史活跃度因子和节点行为评价因子影响,具体如下:
步骤1.1.1,根据节点的共识时间间隔对其信任值的影响,计算本次共识的节点历史影响度ω(Δt),计算公式如下:
其中,Δt表示本次共识与历史共识之间的时间间隔,ε是调整历史信任值影响程度的参数;
步骤1.1.2,用节点事件影响因子E(m)来表示本次事件的重要程度,计算公式如下:
其中,m为事件重要性的相关参数,M0是用来设定事件重要性参数的阈值;
步骤1.1.3,节点历史行为因子Bi主要通过节点历史影响度ω(Δt)、节点事件影响因子E(m)和节点是否成功参与共识Tij来得到,表示节点过去的共识行为对其信任值的影响程度,计算公式如下:
其中,n表示节点i参与共识的次数,用来表示节点i是否成功参与第j轮共识,j表示共识轮数;
步骤1.1.4,节点历史活跃度因子Ai表示一段时间内该节点参与共识的频度,计算公式如下:
其中,N表示一定时间内共识网络进行共识过程的总次数,Ni表示这段时间内节点i参与过的共识过程的次数;
步骤1.1.5,节点行为评价因子Li表示依据节点参与共识的表现给出的评价数值,代表节点的共识表现质量,计算公式如下:
其中,G表示参与共识的节点总数量,g表示赞成事件的节点数量,ti表示节点i完成本次共识所花费的时间,σ(σ∈Z)是调节因子;
步骤1.1.6,信任值Ci是对节点i在雾计算网络中参与共识情况的评价,节点i的信任评估模型为:
Ci=α*Bi+β*Ai+γ*Li+(1-α-β-γ)*Cinit (6)
其中,Cinit是初始信任值,α,β,γ分别表示节点历史行为因子、节点历史活跃度因子、节点行为评价因子的权重值;
步骤1.2,在每次共识完成后需要及时根据节点的表现更新其信任值,并利用信任值大小确定节点的信任状态,以客观反映节点的信任状况,计算公式如下:
其中,Pij是节点的历史共识信任值,Rij是节点的本次共识信任值,若节点本次共识的信任值高于历史共识信任值,信任值将增大,反之则降低,μ为调节因子,计算公式如下:
其中,f(x)=tanhx是双曲正切函数;
步骤1.3,依据节点信任值Ci大小对共识网络中的雾节点的信任状态进行分类,当0.7<Ci≤1时,该节点为诚实节点;当0.3≤Ci≤0.7时,该节点为故障节点,当0≤Ci<0.3时,该节点为恶意节点。
进一步,所述步骤2中改进PBFT算法的一致性协议和视图转换协议,具体为:
(1)改进PBFT算法的一致性协议:在其三阶段共识过程中增加对节点信任状态的分类,具体步骤为:
(1.1)底层节点将请求消息发送到主节点后,主节点会接收该消息并判断其是否超过最大消息数量限制,如果未超过限制,主节点会为该请求消息分配一个序号n,并基于当前视图号v、消息m的摘要d以及签名信息_s,生成一条预准备消息<<PRE-PREPARE,v,n,d>,_s,m>,并将其广播给网络中的副本节点,若超过限制,主节点会将该消息按接收顺序缓存;
(1.2)副本节点接收到主节点发送的预准备消息后对其进行验证,包括验证该消息的签名是否正确,以及该消息与之前收到的预准备消息的编号n和摘要d是否相同,如果消息验证通过,副本节点会为该消息生成一条Prepare消息<<PREPARE,v,n,d,i>,_s>,其中i是该副本节点的编号,并将该消息广播给其他副本节点,该节点接收到2f+1条相同的Prepare消息时,就可以进入Commit阶段,记录该雾节点行为,经过Pre-prepare阶段和Prepare阶段,使所有节点在同一个视图v内的编号一致,其中f代表恶意节点数;
(1.3)副本节点进入Commit阶段后,对请求消息进行验证,包括验证请求消息的编号是否与Prepare消息中的编号n相同,以及验证请求消息的摘要是否与Prepare消息中的摘要d相同,验证通过后,副本节点为该消息生成一条Commit消息<<COMMIT,v,n,D(m),i>,_s>,其中D(m)为消息m的数字签名,并将该消息发送给其他副本节点,该节点等待收到2f+1条相同的Commit消息并验证通过后,Commit阶段完成,可以向底层节点发送响应消息,记录该雾节点行为,更新其信任值和信任状态;
(2)改进PBFT算法的视图转换协议:当主节点出现故障或恶意行为时,将重新选择新的主节点时考虑节点的信任状态,具体步骤如下:
(2.1)当任一副本节点检测到主节点故障或者出现恶意行为时,会向其他副本节点发送视图更换请求消息,随机从信任状态为诚实节点的副本节点中选择信任值最高的非活动节点作为新主节点,请求进入视图V+1,每个副本节点相继广播各自的视图更换请求消息,直到所有副本节点都收到请求消息;
(2.2)每个副本节点收到2f+1条视图更换请求消息后,会向其他所有副本节点广播视图更换确认消息,当副本节点1收到2f+1条确认消息后,成为新的主节点,并广播进入新视图V+1的消息,确认系统状态后执行数据一致性协议。
进一步,所述步骤3中增添雾节点的加入协议和清除协议,具体为:
(1)增添雾节点的加入协议:在PBFT算法中增添加入协议,使共识网络在执行共识的过程中,雾节点动态加入共识网络,并在加入协议执行过程中,令广播的消息包含一致性协议中请求m的序列号n,以便雾节点加入后重新启动一致性协议,完成对m的共识,具体步骤如下:
(1.1)假设雾节点k已经获得初始化授权,在请求加入共识网络时雾节点k向所有副本节点广播加入请求消息<JOIN-REQUEST,k,IP,PK>sk,并由主节点查看雾节点k的相关消息,若验证通过,则将雾节点k写入节点信息列表中,其中,JOIN-REQUEST表示该消息的名称,IP代表雾节点的网络地址,PK是雾节点的公钥,Sk则表示雾节点k的消息签名,副本节点接收到该消息后,会使用PK验证Sk,确认节点身份,然后将消息存入本地日志中;
(1.2)主节点向所有副本节点广播加入准备消息<JOIN-PREPARE,k,IP,PK,z,n,t>sz,其中,z表示主节点ID,n是加入协议执行前一致性协议时请求消息的序列号,t是此次加入协议的消息序列号,收到JOIN-PREPARE消息的副本节点会将该消息与自己收到的雾节点k的JOIN-REQUEST消息进行对比验证;
(1.3)副本节点i验证通过JOIN-PREPARE消息后,向其他所有副本节点广播加入消息<JOIN,n,t,v,h,C,k,i>si并中断一致性协议,其中,h是加入协议执行前检查点s的最新消息序列号,C表示证明s正确性的2f+1条消息的集合;
(1.4)共识网络中所有副本节点对雾节点k的加入达成共识后,副本节点i向雾节点k发送加入确认消息<JOIN-COMMIT,n,t,v,k,B,i>si,其中,B表示副本节点i的2f+1条JOIN消息的集合,雾节点k收到B后快速与共识网络中的其他副本节点达成共识,当其接收到2f+1条JOIN-COMMIT消息后,雾节点k加入共识网络;
(2)增添雾节点的清除协议:在PBFT算法中增添清除协议,使共识网络执行共识的过程中,如果某一副本节点发现网络中一节点出现恶意行为,该节点会启动清除协议,将恶意节点移出共识网络,具体步骤如下:
(2.1)如果副本节点i发现某一副本节点l出现恶意行为,该节点会向主节点z发送清除请求消息<CLEAR-REQUEST,i,PK,l>si,其中l是作恶节点的ID;
(2.2)主节点z收到2f+1条CLEAR-REQUEST消息后,会向除副本节点l外的其他副本节点广播清除准备消息<CLEAR-PREPARE,l,PK,n,t>sz,其中,n是执行一致性协议时最新请求消息的序列号,t是本次清除协议消息的序列号;
(2.3)副本节点i收到CLEAR-PREPARE消息后,验证副本节点l的信任值和信任状态,验证通过后广播清除消息<CLEAR,n,t,v,h,C,i,k>si,当副本节点i收到2f+1条CLEAR消息时,进入协议的清除确认;
(2.4)共识网络中所有副本节点对移出副本节点l一事达成共识,主节点z向副本节点l发送清除确认消息<CLEAR-COMMIT,n,t,v,z,B>sz,其中,B是2f+1条CLEAR消息的集合,强制恶意节点退出共识。
进一步,所述步骤4中雾节点的节点负载率由雾节点处理的任务数计算得出,计算公式如下:
其中,WH表示一定时间内雾节点中排队和正在处理的任务数,AH表示该雾节点可以处理的总任务数大小。
6.根据权利要求1所述的一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,所述步骤5中底层节点与雾节点之间的通信距离由底层节点与雾节点之间的欧式距离来估计,计算公式如下:
其中,(x1,y1,z1)和(x2,y2,z2)分别表示网络拓扑结构中底层节点与雾节点的位置信息。
进一步,所述步骤6中雾节点的综合评价值由节点信任值、节点负载率和通信距离三个指标加权计算得到,计算公式如下:
其中,θ,ρ,分别表示节点信任值、通信距离和节点负载率三个指标的权重。
更进一步,所述θ,ρ,由层次分析法确定,具体步骤如下:
步骤6.1,建立层次结构模型:对三个指标进行深入分析,将决策目标、考虑因素和决策对象三部分依据相关关系分为目标层、准则层和方案层,当前有三个选择标准,分别是节点信任值、节点负载率和通信距离,有n个雾节点可供选择,通过专家打分,结合三个选择标准,选出最优雾节点;
步骤6.2,确定标度并构造判断矩阵:对三个指标进行两两比较,确定每个指标的合适标度,采用1-3分标度法对选择最优雾节点的三个指标进行评价,最终得到判断矩阵;
步骤6.3,计算特征向量,最大特征根值和权重值:首先计算出三个指标的特征向量,从而得到权重值,同时求出最大特征根值,用于下个阶段的一致性检验分析;
步骤6.4,一致性检验分析:使用CR值进行一致性检验分析,如果CR值小于0.1,一致性检验通过,反之没有通过;
步骤6.5,一致性检验通过,确定每个指标的权重。
与现有技术相比本发明具有以下优点:
首先,提出了一种基于改进PBFT算法的雾节点信任评估模型,改进PBFT算法的协议,将信任模型与一致性协议和视图更换协议相结合,令协议在达成数据一致性时能分辨节点信任状态,并增添节点加入协议和清除协议。其次,提出了利用节点信任值、节点负载率以及通信距离三个安全指标选择最优雾节点的方法,通过层次分析法确定每个指标的权重,对每个指标进行标准化处理后进行加权求和,计算出雾节点的综合评价值,选择评价值最高的雾节点作为最优雾节点处理底层节点的任务请求。
附图说明
图1为节点信任值、节点负载率与通信距离三个指标的权重取值;
图2为节点信任值、节点负载率与通信距离对选择最优雾节点的影响;
图3为改进PBFT算法与PBFT算法的吞吐率变化;
图4为改进PBFT算法与PBFT算法的时延变化。
具体实施方式
下面结合附图对本发明作进一步详细描述。
一种基于改进PBFT算法的雾节点信任评估方法,包括以下步骤:
步骤1,计算和更新雾节点的节点信任值,为雾计算网络中雾层的每个节点设置初始信任值,根据信任值影响因素建立信任模型,利用该模型计算和更新雾节点每次参与共识后的信任值大小,并依据信任值大小对其信任状态进行分类;
其中计算和更新雾节点的节点信任值,具体步骤为:
步骤1.1,本方法中节点信任值的计算受节点历史行为因子、节点历史活跃度因子和节点行为评价因子影响,具体如下:
步骤1.1.1,根据节点的共识时间间隔对其信任值的影响,计算本次共识的节点历史影响度ω(Δt),计算公式如下:
其中,Δt表示本次共识与历史共识之间的时间间隔,ε是调整历史信任值影响程度的参数,设置为5;
步骤1.1.2,用节点事件影响因子E(m)表示本次事件的重要程度,计算公式如下:
其中,m为事件重要性的相关参数(由高到低设置为紧急任务4,高优先级任务3,中优先级任务2,低优先级任务1),M0是用来设定事件重要性参数的阈值,设置为4;
步骤1.1.3,节点历史行为因子Bi主要通过节点历史影响度ω(Δt)、节点事件影响因子E(m)和节点是否成功参与共识Tij来得到,表示节点过去的共识行为对其信任值的影响程度,计算公式如下:
其中,n表示节点i参与共识的次数,用来表示节点i是否成功参与第j轮共识,j表示共识轮数;
步骤1.1.4,节点历史活跃度因子Ai表示一段时间内该节点参与共识的频度,计算公式如下:
其中,N表示一定时间内共识网络进行共识过程的总次数,Ni表示这段时间内节点i参与过的共识过程的次数;
步骤1.1.5,节点行为评价因子Li表示依据节点参与共识的表现给出的评价数值,代表节点的共识表现质量,计算公式如下:
其中,G表示参与共识的节点总数量,g表示赞成事件的节点数量,ti表示节点i完成本次共识所花费的时间,σ(σ∈Z)是调节因子,设置为6;
步骤1.1.6,信任值Ci是对节点i在雾计算网络中参与共识情况的评价,节点i的信任评估模型为:
Ci=α*Bi+β*Ai+γ*Li+(1-α-β-γ)*Cinit (6)
其中,Cinit是初始信任值0.5,α,β,γ分别表示节点历史行为因子、节点历史活跃度因子、节点行为评价因子的权重值;
步骤1.2,在每次共识完成后需要及时根据节点的表现更新其信任值,并利用信任值大小确定节点的信任状态,以客观反映节点的信任状况,计算公式如下:
其中,Pij是节点的历史共识信任值,Rij是节点的本次共识信任值,若节点本次共识的信任值高于历史共识信任值,信任值将增大,反之则降低,μ为调节因子,计算公式如下:
其中,当Pij与Rij差距过大时,较小的信任值占更大的比重,f(x)=tanhx是双曲正切函数;
步骤1.3,依据节点信任值Ci大小对共识网络中的雾节点的信任状态进行分类,当0.7<Ci≤1时,该节点为诚实节点;当0.3≤Ci≤0.7时,该节点为故障节点,当0≤Ci<0.3时,该节点为恶意节点。
步骤2,改进PBFT算法的一致性协议和视图转换协议,令协议在达成数据一致性时能分辨节点信任状态,具体为:
(1)改进PBFT算法的一致性协议:在其三阶段共识过程中增加对节点信任状态的分类,具体步骤为:
(1.1)底层节点将请求消息发送到主节点后,主节点会接收该消息并判断其是否超过最大消息数量限制,如果未超过限制,主节点会为该请求消息分配一个序号n,并基于当前视图号v、消息m的摘要d以及签名信息_s,生成一条预准备消息<<PRE-PREPARE,v,n,d>,_s,m>,并将其广播给网络中的副本节点,若超过限制,主节点会将该消息按接收顺序缓存;
(1.2)副本节点接收到主节点发送的预准备消息
<<PRE-PREPARE,v,n,d>,_s,m>后对其进行验证,包括验证该消息的签名是否正确,以及该消息与之前收到的预准备消息的编号n和摘要d是否相同,如果消息验证通过,副本节点会为该消息生成一条Prepare消息
<<PREPARE,v,n,d,i>,_s>,其中i是该副本节点的编号,并将该消息广播给其他副本节点,该节点接收到2f+1条相同的Prepare消息时,就可以进入Commit阶段,记录该雾节点行为,经过Pre-prepare阶段和Prepare阶段,使所有节点在同一个视图v内的编号一致,其中f代表恶意节点数;
(1.3)副本节点进入Commit阶段后,对请求消息进行验证,包括验证请求消息的编号是否与Prepare消息中的编号n相同,以及验证请求消息的摘要是否与Prepare消息中的摘要d相同,验证通过后,副本节点为该消息生成一条Commit消息<<COMMIT,v,n,D(m),i>,_s>,其中D(m)为消息m的数字签名,并将该消息发送给其他副本节点,该节点等待收到2f+1条相同的Commit消息并验证通过后,Commit阶段完成,可以向底层节点发送响应消息,记录该雾节点行为,更新其信任值和信任状态;
(2)改进PBFT算法的视图转换协议:当主节点出现故障或恶意行为时,将重新选择新的主节点时考虑节点的信任状态,具体步骤如下:
(2.1)当任一副本节点检测到主节点故障或者出现恶意行为时,会向其他副本节点发送视图更换请求消息,随机从信任状态为诚实节点的副本节点中选择信任值最高的非活动节点(假设为副本节点1)作为新主节点,请求进入视图V+1,每个副本节点相继广播各自的视图更换请求消息,直到所有副本节点都收到请求消息;
(2.2)每个副本节点收到2f+1条视图更换请求消息后,会向其他所有副本节点广播视图更换确认消息,当副本节点1收到2f+1条确认消息后,成为新的主节点,并广播进入新视图V+1的消息,确认系统状态后执行数据一致性协议。
步骤3,增添雾节点的加入协议和清除协议,实现共识网络中节点的动态加入和清除,具体为:
(1)增添雾节点的加入协议:在PBFT算法中增添加入协议,使共识网络在执行共识的过程中,雾节点动态加入共识网络,并在加入协议执行过程中,令广播的消息包含一致性协议中请求m的序列号n,以便雾节点加入后重新启动一致性协议,完成对m的共识,具体步骤如下:
(1.1)假设雾节点k已经获得初始化授权,在请求加入共识网络时雾节点k向所有副本节点广播加入请求消息<JOIN-REQUEST,k,IP,PK>sk,并由主节点查看雾节点k的相关消息,若验证通过,则将雾节点k写入节点信息列表中,其中,JOIN-REQUEST表示该消息的名称,IP代表雾节点的网络地址,PK是雾节点的公钥,Sk则表示雾节点k的消息签名,副本节点接收到该消息后,会使用PK验证Sk,确认节点身份,然后将消息存入本地日志中;
(1.2)主节点向所有副本节点广播加入准备消息
<JOIN-PREPARE,k,IP,PK,z,n,t>sz,其中,z表示主节点ID,n是加入协议执行前一致性协议时请求消息的序列号,t是此次加入协议的消息序列号,收到JOIN-PREPARE消息的副本节点会将该消息与自己收到的雾节点k的JOIN-REQUEST消息进行对比验证;
(1.3)副本节点i验证通过JOIN-PREPARE消息后,向其他所有副本节点广播加入消息<JOIN,n,t,v,h,C,k,i>si并中断一致性协议,其中,h是加入协议执行前检查点s的最新消息序列号,C表示证明s正确性的2f+1条消息的集合;
(1.4)共识网络中所有副本节点对雾节点k的加入达成共识后,副本节点i向雾节点k发送加入确认消息<JOIN-COMMIT,n,t,v,k,B,i>si,其中,B表示副本节点i的2f+1条JOIN消息的集合,雾节点k收到B后快速与共识网络中的其他副本节点达成共识,当其接收到2f+1条JOIN-COMMIT消息后,雾节点k加入共识网络;
(2)增添雾节点的清除协议:在PBFT算法中增添清除协议,使共识网络执行共识的过程中,如果某一副本节点发现网络中一节点出现恶意行为,该节点会启动清除协议,将恶意节点移出共识网络,具体步骤如下:
(2.1)如果副本节点i发现某一副本节点l出现恶意行为,该节点会向主节点z发送清除请求消息<CLEAR-REQUEST,i,PK,l>si,其中l是作恶节点的ID;
(2.2)主节点z收到2f+1条CLEAR-REQUEST消息后,会向除副本节点l外的其他副本节点广播清除准备消息<CLEAR-PREPARE,l,PK,n,t>sz,其中,n是执行一致性协议时最新请求消息的序列号,t是本次清除协议消息的序列号;
(2.3)副本节点i收到CLEAR-PREPARE消息后,验证副本节点l的信任值和信任状态,验证通过后广播清除消息<CLEAR,n,t,v,h,C,i,k>si,当副本节点i收到2f+1条CLEAR消息时,进入协议的清除确认;
(2.4)共识网络中所有副本节点对移出副本节点l一事达成共识,主节点z向副本节点l发送清除确认消息<CLEAR-COMMIT,n,t,v,z,B>sz,其中,B是2f+1条CLEAR消息的集合,强制恶意节点退出共识。
步骤4,计算雾节点的节点负载率,由雾节点处理的任务数计算得出,计算公式如下:
其中,WH表示一定时间内雾节点中排队和正在处理的任务数,AH表示该雾节点可以处理的总任务数大小。
步骤5,计算底层节点与雾节点之间的通信距离,由底层节点与雾节点之间的欧式距离来估计,计算公式如下:
其中,(x1,y1,z1)和(x2,y2,z2)分别表示网络拓扑结构中底层节点与雾节点的位置信息。
步骤6,根据节点信任值、节点负载率和通信距离三个指标,计算雾计算网络中雾节点的综合评价值,选择最优雾节点处理底层节点的任务请求;
其中雾节点的综合评价值由节点信任值、节点负载率和通信距离三个指标加权计算得到,计算公式如下:
其中,θ,ρ,分别表示节点信任值、通信距离和节点负载率三个指标的权重(如图1所示)。
而θ,ρ,由层次分析法确定,具体步骤如下:
步骤6.1,建立层次结构模型:对三个指标进行深入分析,将决策目标、考虑因素和决策对象三部分依据相关关系分为目标层、准则层和方案层,当前有三个选择标准,分别是节点信任值、节点负载率和通信距离,有n个雾节点可供选择,通过专家打分,结合三个选择标准,选出最优雾节点;
步骤6.2,确定标度并构造判断矩阵:对三个指标进行两两比较,确定每个指标的合适标度,采用1-3分标度法(即节点信任值相对节点负载率和通信距离更加重要,节点信任值打3分,节点负载率和通信距离相对于信任值就是取倒数1/3;节点负载率相对通信距离次重要,此时节点负载率打2分,通信距离相对于节点负载率取倒数0.5)对选择最优雾节点的三个指标进行评价,最终得到判断矩阵;
步骤6.3,计算特征向量,最大特征根值和权重值:首先计算出三个指标的特征向量,从而得到权重值,同时求出最大特征根值,用于下个阶段的一致性检验分析;
步骤6.4,一致性检验分析:使用CR值进行一致性检验分析,如果CR值小于0.1,一致性检验通过,反之没有通过;
步骤6.5,一致性检验通过,确定每个指标的权重。
如图2展示了节点信任值、节点负载率与通信距离对选择最优雾节点的影响,随着共识网络中共识轮次的增加,改进PBFT算法中不同位置的底层节点向雾层发出任务请求时,主节点会考虑每个雾节点的节点负载率和通信距离,为该节点分配信任值大小不同的雾节点。
如图3、4展示了改进PBFT算法与PBFT算法的吞吐率与时延的比较情况。PBFT算法选择处理任务的雾节点时只考虑了上一章的节点信任值,被选择雾节点可能由于要处理的任务过多,排队时延过长,造成网络瘫痪。而本共识网络的改进PBFT算法在收到底层节点的任务请求后,副本节点会依据节点信任值、节点负载率和通信距离三个安全指标进行共识,通过层次分析法确定指标权重,对每个指标归一化后加权计算出综合评价值,选择评价值最高的雾节点处理底层节点的任务请求,有效降低了传播时延和排队时延,避免了网络拥塞,随着共识轮次的增加,总体上改进PBFT算法比PBFT算法的吞吐率更高,时延更低。
Claims (8)
1.一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,包括以下步骤:
步骤1,计算和更新雾节点的节点信任值,为雾计算网络中雾层的每个节点设置初始信任值,根据信任值影响因素建立信任模型,利用该模型计算和更新雾节点每次参与共识后的信任值大小,并依据信任值大小对其信任状态进行分类;
步骤2,改进PBFT算法的一致性协议和视图转换协议,令协议在达成数据一致性时能分辨节点信任状态;
步骤3,增添雾节点的加入协议和清除协议,实现共识网络中节点的动态加入和清除;
步骤4,计算雾节点的节点负载率;
步骤5,计算底层节点与雾节点之间的通信距离;
步骤6,根据节点信任值、节点负载率和通信距离三个指标,计算雾计算网络中雾节点的综合评价值,选择最优雾节点处理底层节点的任务请求。
2.根据权利要求1所述的一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,所述步骤1中计算和更新雾节点的节点信任值,具体步骤为:
步骤1.1,节点信任值的计算受节点历史行为因子、节点历史活跃度因子和节点行为评价因子影响,具体如下:
步骤1.1.1,根据节点的共识时间间隔对其信任值的影响,计算本次共识的节点历史影响度ω(Δt),计算公式如下:
其中,Δt表示本次共识与历史共识之间的时间间隔,ε是调整历史信任值影响程度的参数;
步骤1.1.2,用节点事件影响因子E(m)表示本次事件的重要程度,计算公式如下:
其中,m为事件重要性的相关参数,M0是用来设定事件重要性参数的阈值;
步骤1.1.3,节点历史行为因子Bi主要通过节点历史影响度ω(Δt)、节点事件影响因子E(m)和节点是否成功参与共识Tij来得到,表示节点过去的共识行为对其信任值的影响程度,计算公式如下:
其中,n表示节点i参与共识的次数,用来表示节点i是否成功参与第j轮共识,j表示共识轮数;
步骤1.1.4,节点历史活跃度因子Ai表示一段时间内该节点参与共识的频度,计算公式如下:
其中,N表示一定时间内共识网络进行共识过程的总次数,Ni表示这段时间内节点i参与过的共识过程的次数;
步骤1.1.5,节点行为评价因子Li表示依据节点参与共识的表现给出的评价数值,代表节点的共识表现质量,计算公式如下:
其中,G表示参与共识的节点总数量,g表示赞成事件的节点数量,ti表示节点i完成本次共识所花费的时间,σ(σ∈Z)是调节因子;
步骤1.1.6,信任值Ci是对节点i在雾计算网络中参与共识情况的评价,节点i的信任评估模型为:
Ci=α*Bi+β*Ai+γ*Li+(1-α-β-γ)*Cinit (6)
其中,Cinit是初始信任值,α,β,γ分别表示节点历史行为因子、节点历史活跃度因子、节点行为评价因子的权重值;
步骤1.2,在每次共识完成后需要及时根据节点的表现更新其信任值,并利用信任值大小确定节点的信任状态,以客观反映节点的信任状况,计算公式如下:
其中,Pij是节点的历史共识信任值,Rij是节点的本次共识信任值,若节点本次共识的信任值高于历史共识信任值,信任值将增大,反之则降低,μ为调节因子,计算公式如下:
其中,f(x)=tanhx是双曲正切函数;
步骤1.3,依据节点信任值Ci大小对共识网络中的雾节点的信任状态进行分类,当0.7<Ci≤1时,该节点为诚实节点;当0.3≤Ci≤0.7时,该节点为故障节点,当0≤Ci<0.3时,该节点为恶意节点。
3.根据权利要求1所述的一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,所述步骤2中改进PBFT算法的一致性协议和视图转换协议,具体为:
(1)改进PBFT算法的一致性协议:在其三阶段共识过程中增加对节点信任状态的分类,具体步骤为:
(1.1)底层节点将请求消息发送到主节点后,主节点会接收该消息并判断其是否超过最大消息数量限制,如果未超过限制,主节点会为该请求消息分配一个序号n,并基于当前视图号v、消息m的摘要d以及签名信息_s,生成一条预准备消息<<PRE-PREPARE,v,n,d>,_s,m>,并将其广播给网络中的副本节点,若超过限制,主节点会将该消息按接收顺序缓存;
(1.2)副本节点接收到主节点发送的预准备消息后对其进行验证,包括验证该消息的签名是否正确,以及该消息与之前收到的预准备消息的编号n和摘要d是否相同,如果消息验证通过,副本节点会为该消息生成一条Prepare消息<<PREPARE,v,n,d,i>,_s>,其中i是该副本节点的编号,并将该消息广播给其他副本节点,该节点接收到2f+1条相同的Prepare消息时,就可以进入Commit阶段,记录该雾节点行为,经过Pre-prepare阶段和Prepare阶段,使所有节点在同一个视图v内的编号一致,其中f代表恶意节点数;
(1.3)副本节点进入Commit阶段后,对请求消息进行验证,包括验证请求消息的编号是否与Prepare消息中的编号n相同,以及验证请求消息的摘要是否与Prepare消息中的摘要d相同,验证通过后,副本节点为该消息生成一条Commit消息<<COMMIT,v,n,D(m),i>,_s>,其中D(m)为消息m的数字签名,并将该消息发送给其他副本节点,该节点等待收到2f+1条相同的Commit消息并验证通过后,Commit阶段完成,可以向底层节点发送响应消息,记录该雾节点行为,更新其信任值和信任状态;
(2)改进PBFT算法的视图转换协议:当主节点出现故障或恶意行为时,将重新选择新的主节点时考虑节点的信任状态,具体步骤如下:
(2.1)当任一副本节点检测到主节点故障或者出现恶意行为时,会向其他副本节点发送视图更换请求消息,随机从信任状态为诚实节点的副本节点中选择信任值最高的非活动节点作为新主节点,请求进入视图V+1,每个副本节点相继广播各自的视图更换请求消息,直到所有副本节点都收到请求消息;
(2.2)每个副本节点收到2f+1条视图更换请求消息后,会向其他所有副本节点广播视图更换确认消息,当副本节点1收到2f+1条确认消息后,成为新的主节点,并广播进入新视图V+1的消息,确认系统状态后执行数据一致性协议。
4.根据权利要求1所述的一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,所述步骤3中增添雾节点的加入协议和清除协议,具体为:
(1)增添雾节点的加入协议:在PBFT算法中增添加入协议,使共识网络在执行共识的过程中,雾节点动态加入共识网络,并在加入协议执行过程中,令广播的消息包含一致性协议中请求m的序列号n,以便雾节点加入后重新启动一致性协议,完成对m的共识,具体步骤如下:
(1.1)假设雾节点k已经获得初始化授权,在请求加入共识网络时雾节点k向所有副本节点广播加入请求消息<JOIN-REQUEST,k,IP,PK>sk,并由主节点查看雾节点k的相关消息,若验证通过,则将雾节点k写入节点信息列表中,其中,JOIN-REQUEST表示该消息的名称,IP代表雾节点的网络地址,PK是雾节点的公钥,Sk则表示雾节点k的消息签名,副本节点接收到该消息后,会使用PK验证Sk,确认节点身份,然后将消息存入本地日志中;
(1.2)主节点向所有副本节点广播加入准备消息<JOIN-PREPARE,k,IP,PK,z,n,t>sz,其中,z表示主节点ID,n是加入协议执行前一致性协议时请求消息的序列号,t是此次加入协议的消息序列号,收到JOIN-PREPARE消息的副本节点会将该消息与自己收到的雾节点k的JOIN-REQUEST消息进行对比验证;
(1.3)副本节点i验证通过JOIN-PREPARE消息后,向其他所有副本节点广播加入消息<JOIN,n,t,v,h,C,k,i>si并中断一致性协议,其中,h是加入协议执行前检查点s的最新消息序列号,C表示证明s正确性的2f+1条消息的集合;
(1.4)共识网络中所有副本节点对雾节点k的加入达成共识后,副本节点i向雾节点k发送加入确认消息<JOIN-COMMIT,n,t,v,k,B,i>si,其中,B表示副本节点i的2f+1条JOIN消息的集合,雾节点k收到B后快速与共识网络中的其他副本节点达成共识,当其接收到2f+1条JOIN-COMMIT消息后,雾节点k加入共识网络;
(2)增添雾节点的清除协议:在PBFT算法中增添清除协议,使共识网络执行共识的过程中,如果某一副本节点发现网络中一节点出现恶意行为,该节点会启动清除协议,将恶意节点移出共识网络,具体步骤如下:
(2.1)如果副本节点i发现某一副本节点l出现恶意行为,该节点会向主节点z发送清除请求消息<CLEAR-REQUEST,i,PK,l>si,其中l是作恶节点的ID;
(2.2)主节点z收到2f+1条CLEAR-REQUEST消息后,会向除副本节点l外的其他副本节点广播清除准备消息<CLEAR-PREPARE,l,PK,n,t>sz,其中,n是执行一致性协议时最新请求消息的序列号,t是本次清除协议消息的序列号;
(2.3)副本节点i收到CLEAR-PREPARE消息后,验证副本节点l的信任值和信任状态,验证通过后广播清除消息<CLEAR,n,t,v,h,C,i,k>si,当副本节点i收到2f+1条CLEAR消息时,进入协议的清除确认;
(2.4)共识网络中所有副本节点对移出副本节点l一事达成共识,主节点z向副本节点l发送清除确认消息<CLEAR-COMMIT,n,t,v,z,B>sz,其中,B是2f+1条CLEAR消息的集合,强制恶意节点退出共识。
5.根据权利要求1所述的一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,所述步骤4中雾节点的节点负载率由雾节点处理的任务数计算得出,计算公式如下:
其中,WH表示一定时间内雾节点中排队和正在处理的任务数,AH表示该雾节点可以处理的总任务数大小。
6.根据权利要求1所述的一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,所述步骤5中底层节点与雾节点之间的通信距离由底层节点与雾节点之间的欧式距离来估计,计算公式如下:
其中,(x1,y1,z1)和(x2,y2,z2)分别表示网络拓扑结构中底层节点与雾节点的位置信息。
7.根据权利要求1所述的一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,所述步骤6中雾节点的综合评价值由节点信任值、节点负载率和通信距离三个指标加权计算得到,计算公式如下:
其中,θ,ρ,分别表示节点信任值、通信距离和节点负载率三个指标的权重。
8.根据权利要求7所述的一种基于改进PBFT算法的雾节点信任评估方法,其特征在于,所述θ,ρ,由层次分析法确定,具体步骤如下:
步骤6.1,建立层次结构模型:对三个指标进行深入分析,将决策目标、考虑因素和决策对象三部分依据相关关系分为目标层、准则层和方案层,当前有三个选择标准,分别是节点信任值、节点负载率和通信距离,有n个雾节点可供选择,通过专家打分,结合三个选择标准,选出最优雾节点;
步骤6.2,确定标度并构造判断矩阵:对三个指标进行两两比较,确定每个指标的合适标度,采用1-3分标度法对选择最优雾节点的三个指标进行评价,最终得到判断矩阵;
步骤6.3,计算特征向量,最大特征根值和权重值:首先计算出三个指标的特征向量,从而得到权重值,同时求出最大特征根值,用于下个阶段的一致性检验分析;
步骤6.4,一致性检验分析:使用CR值进行一致性检验分析,如果CR值小于0.1,一致性检验通过,反之没有通过;
步骤6.5,一致性检验通过,确定每个指标的权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310557376.1A CN116567637A (zh) | 2023-05-17 | 2023-05-17 | 一种基于改进pbft算法的雾节点信任评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310557376.1A CN116567637A (zh) | 2023-05-17 | 2023-05-17 | 一种基于改进pbft算法的雾节点信任评估方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116567637A true CN116567637A (zh) | 2023-08-08 |
Family
ID=87494324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310557376.1A Pending CN116567637A (zh) | 2023-05-17 | 2023-05-17 | 一种基于改进pbft算法的雾节点信任评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116567637A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117952582A (zh) * | 2024-01-29 | 2024-04-30 | 北京中科航天人才服务有限公司 | 一种基于递归区块链的人力资源数据处理方法和系统 |
CN118035374A (zh) * | 2024-04-11 | 2024-05-14 | 山东省国土测绘院 | 一种基于云平台的基础地理信息联动更新方法及系统 |
-
2023
- 2023-05-17 CN CN202310557376.1A patent/CN116567637A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117952582A (zh) * | 2024-01-29 | 2024-04-30 | 北京中科航天人才服务有限公司 | 一种基于递归区块链的人力资源数据处理方法和系统 |
CN118035374A (zh) * | 2024-04-11 | 2024-05-14 | 山东省国土测绘院 | 一种基于云平台的基础地理信息联动更新方法及系统 |
CN118035374B (zh) * | 2024-04-11 | 2024-06-14 | 山东省国土测绘院 | 一种基于云平台的基础地理信息联动更新方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116567637A (zh) | 一种基于改进pbft算法的雾节点信任评估方法 | |
Wang et al. | Crowdsourcing mechanism for trust evaluation in CPCS based on intelligent mobile edge computing | |
CN112883114A (zh) | 应用于区块链的交易处理方法和装置 | |
Buchegger et al. | Coping with false accusations in misbehavior reputation systems for mobile ad-hoc networks | |
CN109918894A (zh) | 边缘计算网络视频处理中基于声誉的信任评估方法 | |
Kokoris-Kogias et al. | TRM-SIoT: A scalable hybrid trust & reputation model for the social internet of things | |
CN112163856A (zh) | 用于区块链与物联网融合场景的共识方法及系统 | |
Sultan et al. | Collaborative-trust approach toward malicious node detection in vehicular ad hoc networks | |
CN114745127A (zh) | 基于区块链的车联网环境下节点可信认证方法 | |
Wang et al. | A fast and secured vehicle-to-vehicle energy trading based on blockchain consensus in the internet of electric vehicles | |
CN113645190A (zh) | 一种考虑节点信誉的拜占庭容错共识方法及区块链 | |
Hbaieb et al. | Federated learning based IDS approach for the IoV | |
CN111866181B (zh) | 一种基于区块链的雾网络中任务卸载优化方法 | |
Wang et al. | Toward a trust evaluation framework against malicious behaviors of industrial iot | |
LI et al. | Using UAV to Detect Truth for Clean Data Collection in Sensor‑Cloud Systems | |
Zhang et al. | Primary node selection based on node reputation evaluation for PBFT in UAV-assisted MEC environment | |
CN115883578A (zh) | 一种基于区块链技术的5g电力网络节点信任管理方法 | |
CN110198288A (zh) | 一种异常节点的处理方法及设备 | |
CN110636511B (zh) | 海量物联网设备接入环境中的授权频谱共享系统及其方法 | |
Wang et al. | Building trust via blockchain in UAV‐assisted ultra‐dense 6G cellular networks | |
Sirisala et al. | Gaussian Trust Factor-based Grey Decision Making Technique (GTF-GDMT) for Node Cooperation Enforcement in MANETs. | |
CN116155683B (zh) | 基于三层树型通信结构的HotStuff共识机制构建方法 | |
Cao et al. | Interaction Trust-Driven Data Distribution for Vehicle Social Networks: A Matching Theory Approach | |
Mori | Secure caching scheme using blockchains for unmanned aerial vehicle-assisted information-centric wireless sensor networks | |
CN112866399B (zh) | 一种改进的pbft共识方法、装置、智能终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |