一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的物联网边缘设备可信管理方法

2022-06-22 13:31:49 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,尤其涉及一种基于区块链的物联网边缘设备可信管理方法。


背景技术:

2.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任关系,获取权益的数学算法。区块链的基本特征有去中心化、开放性、自治性、信息不可篡改、匿名性等。目前,随着社会的不断发展,基于区块链的特征,利用区块链对物联网设备的管理也越来越受到关注。
3.随着物联网技术的不断发展,物联网设备已普及到人们的生活中,人们也越来越重视物联网设备的数据管理,然而,目前的物联网系统缺乏设备于设备之间的信任机制,所有的物联网设备通常需要和物联网中心的数据进行核对,而一旦数据库崩溃,则会造成很大破坏。而且,目前物联网无法有效预防从设备发起的内部恶意攻击。


技术实现要素:

4.发明目的:针对由于物联网设备的资源受限,在抵御以物联网设备为目标的恶意攻击时存在局限性,难以提供安全可靠的服务,本发明提出一种基于区块链的物联网边缘设备可信管理方法,通过一个基于可靠评分的基于聚类的实用拜占庭容错算法(c-pbft,practical byzantine fault tolerant algorithm based on clustering)共识算法实现边缘设备间的信任,实现对边缘设备发起的内部恶意攻击的有效预防。
5.技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于区块链的物联网边缘设备可信管理方法,在物联网边缘设备和边缘服务器上进行,具体包括:
6.基础配置评分:首先初始化边缘服务器节点,根据各个边缘设备的性能参数通过层次分析法得出边缘设备节点基础配置评分;
7.节点共识:对边缘设备节点进行聚类分簇,设备节点通过聚类被分为k个子集群,每个集群中基础配置分最高的设备节点为主节点,其余设备节点为从节点;
8.集群共识:通过子集群主节点和集群中从节点的通信验证,实现集群内共识;通过各个子集群的主节点和其他子集群的主节点的通信验证,实现集群间共识;
9.信誉值更新:共识结束后,根据节点交互历史进行信誉评分,信誉值数值越大,节点可信度越高;
10.可靠性评分:得到信誉分和设备节点基础配置分后进行权重赋值,计算设备节点可靠性评分,其中基础配置分权重小于信誉分权重;
11.剔除恶意节点:通过边缘设备和边缘服务器之间设置的智能合约,判断设备节点的可靠性评分是否低于合约设置的阈值,若低于阈值,将恶意节点剔除。
12.进一步的,通过层次分析法得出节点基础配置评分,方法如下:
13.首先边缘设备节点向入口合约发送数据,选取入口合约的信息查询表中的设备基础配置参数,利用归一化公式对参数值进行标准化处理,得到标准化后的数值;
14.利用层次分析法,根据所选取参数的重要性分级构造判别矩阵,得到符合重要性排名的权重向量;根据权重向量及标准化处理后的数值,为各参数进行权重赋值,得到节点的基础配置评分bi。
15.进一步的,采用dbscan聚类算法进行节点间的共识,步骤如下:
16.s1、初始化核心对象集合聚类簇数k=0,簇划分未访问样本集合γ=d;其中d是边缘设备节点样本xj,j=1,2,...,m,m是边缘设备节点总数;
17.s2、查找m个边缘设备节点的所有核心对象,更新核心对象集合ω;
18.s3、判断核心对象集合ω是否为空,如果为空,转入s7,否则转入s4;
19.s4、在核心对象集合ω中随机选择一个核心对象a,初始化聚类簇数k=k 1,当前簇核心对象ωcur={a},当前簇样本集合ck={a},更新未访问样本集合γ=γ-{a};
20.s5、在当前簇核心对象队列ωcur中取出一个核心对象a

,通过邻域距离阈值∈找出所有的∈-邻域子样本集n∈(a

),令δ=n∈(a

)∩γ,更新当前簇样本集合ck=ck∪δ,更新未访问样本集合γ=γ-δ,更新ωcur=ωcur∪(δ∩ω)-a


21.s6、如果当前簇核心对象队列则当前聚类ck生成完毕,更新簇划分c={c1,c2,...,ck},更新核心对象集合ω=ω-ck,转入s3;
22.s7、得到的簇划分c={c1,c2,...,ck}为节点间共识结果,聚类结束。
23.进一步的,所述s2,查找m个边缘设备节点的所有的核心对象,方法如下:
24.s2.1、通过距离度量方式,找到样本xj的∈邻域子样本集n∈(xj);所述的∈邻域是指给定对象半径∈内的区域;
25.s2.2、如果子样本集样本个数满足|n∈(xj)|≥minpts,将样本xj加入核心对象集合:ω=ω∪{xj};minpts为给定点在∈邻域内成为核心对象的最小邻域点数。
26.进一步的,集群共识过程如下:
27.k个主节点组成主集群,主集群中的节点轮流对网络中的交易进行打包,负责打包交易区块的节点为出块节点;
28.集群内共识阶段:各主节点接收到出块节点的消息后进行验证,若验证通过,则发起本地子集群内的pbft共识;
29.集群间共识阶段:子集群内主节点在进行本地共识后,代表本地集群中所有节点进行集群间的共识;
30.区块同步阶段:完成集群间共识后,各主节点向其子集群从节点发送执行消息,各个集群中的节点同步区块,实现分布式系统中数据一致。
31.进一步的,集群内共识过程如下:
32.子集群主节点向集群中从节点发送预准备消息;
33.集群内从节点接收到来自主节点的预准备消息之后对其进行验证;若验证通过则向集群内其余节点广播准备消息,同时节点接收到来自集群内其他从节点的准备消息,若超过2f 1个准备消息则通过验证,进入确认阶段;f为集群中错误的节点数;
34.集群内从节点向集群内其他节点发送认证消息,同时节点接收到来自集群内其他从节点的确认消息,若收到2f 1条确认消息并且通过验证,则子集群内共识阶段完成。
35.进一步的,集群间共识过程如下:
36.各个子集群的主节点向其他子集群的主节点发送准备消息;同时各主节点接收来自其他主节点的准备消息,若收到2f 1个准备消息则验证通过,则进入确认阶段;
37.各个子集群的主节点向其他子集群的主节点发送确认消息;当各节点收到2f 1个通过验证的确认消息时,表示集群间共识阶段完成;f为集群中错误的节点数。
38.进一步的,信誉值更新过程如下:
39.s1、当第一节点与第二节点之间正常传递信息,且第二节点向第一节点发的内容与第一节点收到的来自其他一定数量节点发送的消息内容一致时,第一节点即判定第二节点在本轮共识中的行为正常,将第二节点标为诚实节点;
40.s2、当第二节点未在规定时间内向第一节点发送消息,或第一节点与第二节点发送消息后,第二节点认为未收到来自第一节点的信息,则第一节点判定第二节点的行为异常,将第二节点标注为故障节点,当该第二节点出现恶意行为,包括上传错误数据或者不上传数据,则将其标注改为恶意节点;
41.s3、根据各个节点的标注,判断合约给每个节点进行信誉评分,评分公式如下:
[0042][0043]
其中,t是第t轮共识,ri(t 1)是节点i在第t 1轮共识的信誉值,ri(t)是节点i在第t轮共识的信誉值,α是奖励系数,α∈(0,1),ρ是惩罚系数,ρ∈(0,1),a1表示诚实节点,a2表示故障节点,a3表示恶意节点。
[0044]
有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:
[0045]
本发明提出了一种新的共识算法c-pbft,其依据节点空间位置特征进行聚类,将共识任务分解到各个节点簇,降低了网络中的通信开销,同时依据节点行为对节点信誉进行评估,减少了异常节点的参与。
附图说明
[0046]
图1为本发明提供的边缘服务器运行流程图;
[0047]
图2为本发明提供的边缘设备节点基础配置评分流程图;
[0048]
图3为本发明提供的边缘节点共识结束后节点互评流程图。
具体实施方式
[0049]
下面结合附图和实施例对本发明的技术方案作进一步的说明。
[0050]
物联网环境中,边缘设备与边缘服务器之间布置了两个智能合约,一个为入口合约,另一个为判断合约。入口合约为边缘设备维护了一个信息查询表,里面包含了边缘设备的地址,边缘设备的配置参数,边缘设备的初始信誉分,该设备的基础配置分和设备的可靠性评分。判断合约用来在共识完成后对节点行为进行判断信誉评分,并且在智能合约中设置了阈值,一旦某个设备的的可靠性评分低于阈值,将该设备剔除系统。
[0051]
本发明所述的基于区块链的物联网边缘设备可信管理方法,如图1所示,包括:
[0052]
(1)基础配置评分:首先初始化边缘服务器节点,边缘设备节点向入口合约发送数
据,入口合约依据信息查询表中的设备基础配置参数进行节点基础配置评分,采用的方法为层次分析法,如图2所示,具体步骤如下:
[0053]
(1.1)选取边缘设备的参数,如传输速率、内存、功耗;由于各参数的单位不同,方便统一计算,利用归一化公式进行标准化处理,得到标准化后的数值;
[0054][0055]
其中x
p
为实际值,xb为标准化处理后的值。
[0056]
(1.2)利用层次分析法,根据三方面参数的重要性分级构造判别矩阵,得到符合重要性排名的权重向量。
[0057]
(1.3)根据权重向量及标准化处理后的数值,为各参数进行权重赋值,得到节点的基础配置评分bi。
[0058]
(2)节点聚类:进行边缘设备节点间的共识,设备节点通过聚类被分为k个子集群,聚类算法采用dbscan算法,步骤如下:
[0059]
(2.1)初始化核心对象集合聚类簇数k=0,簇划分未访问样本集合γ=d;其中d是边缘设备节点样本xj,j=1,2,...,m,m是边缘设备节点总数;
[0060]
(2.2)对于j=1,2,...m,按下面的步骤找出所有的核心对象:
[0061]
(2.2.1)通过距离度量方式,找到样本xj的∈-邻域子样本集n∈(xj),所述的∈邻域是指给定对象半径∈内的区域;
[0062]
(2.2.2)如果子样本集样本个数满足|n∈(xj)|≥minpts,将样本xj加入核心对象集合:ω=ω∪{xj};minpts为给定点在∈邻域内成为核心对象的最小邻域点数;
[0063]
(2.3)判断核心对象集合ω是否为空,如果为空,转入步骤(2.7),否则转入步骤(2.6);
[0064]
(2.4)在核心对象集合ω中,随机选择一个核心对象a,初始化聚类簇数k=k 1,当前簇核心对象ωcur={a},当前簇样本集合ck={a},更新未访问样本集合γ=γ-{a};
[0065]
(2.5)在当前簇核心对象队列ωcur中取出一个核心对象a

,通过邻域距离阈值∈找出所有的∈-邻域子样本集n∈(a

),令δ=n∈(a

)∩γ,更新当前簇样本集合ck=ck∪δ,更新未访问样本集合γ=γ-δ,更新ωcur=ωcur∪(δ∩ω)-a


[0066]
(2.6)如果当前簇核心对象队列则当前聚类ck生成完毕,更新簇划分c={c1,c2,...,ck},更新核心对象集合ω=ω-ck,转入步骤(2.3);
[0067]
(2.7)得到的簇划分c={c1,c2,...,ck}为节点间共识结果,聚类结束。
[0068]
(3)集群共识:每个集群中基础配置分最高的节点为主节点,其余节点为从节点;k个主节点组成主集群,主集群中的节点轮流对网络中的交易进行打包,负责打包交易区块的节点称为出块节点;步骤如下:
[0069]
(3.1)集群内共识阶段:各主节点接收到出块节点的消息后进行验证,若验证通过,则发起本地子集群内的pbft共识;共识分为pre-prepare,prepare,commit这3步;
[0070]
子集群主节点向集群中从节点发送pre-prepare消息;
[0071]
集群内从节点接收到来自主节点的pre-prepare消息之后对其进行验证;若验证通过则向集群内其余节点广播prepare消息,同时节点会接收到来自集群内其他从节点的prepare消息,若超过2f 1个准备消息则通过验证,进入commit阶段,f为集群中错误的节点
数;
[0072]
集群内从节点向集群内其他节点发送commit消息,同时节点会接收到来自集群内其他从节点的commit消息,若收到2f 1条commit消息并且通过验证,则子集群内共识阶段完成;
[0073]
(3.2)集群间共识阶段:子集群内主节点在进行本地共识后,代表本地集群中所有节点进行集群间的共识,共识过程分为prepare,commit两步;
[0074]
各个子集群的主节点向其他子集群的主节点发送prepare消息;同时各主节点接收来自其他主节点的prepare消息,若收到2f 1个prepare消息且验证通过,则进入commit阶段;
[0075]
各个子集群的主节点向其他子集群的主节点发送commit消息;当各节点收到2f 1个有效的commit消息时,表示集群间共识阶段完成。
[0076]
(3.3)区块同步阶段:完成集群间共识后,各主节点向其子集群从节点发送执行消息,各个集群中的节点同步区块,实现分布式系统中数据一致。
[0077]
(4)信誉值更新:共识完成之后,根据节点之间交互的历史进行信誉评分,如图3所示,具体过程如下;
[0078]
(4.1)当第一节点与第二节点之间正常传递信息时,且第二节点向第一节点发的内容与第一节点收到的来自其他一定数量节点发送的消息内容一致时,第一节点即可判定第二节点在本轮共识中的行为正常,将第二节点标为诚实节点;
[0079]
(4.2)当第二节点未在规定时间内向第一节点发送消息,或第一节点与第二节点发送消息后,第二节点认为未收到来自第一节点的信息,则第一节点判定第二节点的行为异常,但此时不能确定第二节点的信任状态,可能是恶意节点也可能只是节点出现宕机故障,先将其标注为故障节点,一旦之后发现第二节点出现恶意行为(如上传错误数据或者不上传数据),将其信任标注改为恶意节点;
[0080]
(4.3)根据各个节点的标注,判断合约给每个节点进行信誉评分,评分公式如下:
[0081][0082]
其中,t是第t轮共识,ri(t 1)是节点i在第t 1轮共识的信誉值,ri(t)是节点i在第t轮共识的信誉值,α是奖励系数,α∈(0,1),ρ是惩罚系数,ρ∈(0,1),a1表示诚实节点,a2表示故障节点,a3表示恶意节点。
[0083]
(5)可靠性评分:得到新的信誉分ri之后,计算节点的可靠性评分;可靠性评分公式如下;
[0084]ci
=k1bi k2ri[0085]
其中ci为可靠性评分,k1,k2为两个不同的权重比例;虽然节点的基础配置会加快信息传递速度,提高系统性能,但为了抵御恶意节点聚集起来利用高配置设备进行攻击,节点的基础配置评分占比不应过高,因此节点信誉评分应占较高比重,即权重系数k1《k2。
[0086]
(6)在边缘设备和边缘服务器之间设置的智能合约上设置一个触发性协议,判断合约进行判断设备的可靠性评分是否低于合约设置的阈值,如果低于阈值,则将恶意节点剔除系统。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献