一种基于机器学习的边缘计算克隆节点识别方法与流程

文档序号:16147293发布日期:2018-12-05 16:42阅读:252来源:国知局
一种基于机器学习的边缘计算克隆节点识别方法与流程

本发明涉及克隆节点识别技术,特别是涉及一种基于机器学习的边缘计算克隆节点识别方法。

背景技术

物联网时代迈入了万物互联时代,以云计算模型为核心的大数据处理时代,其关键技术在匹配海量边缘数据、实时性、隐私保护、能耗等主要方面已经不能满足需求,因此,在网络边缘执行计算的一种新型计算模型——边缘计算应运而生,边缘计算将原有的云计算模型的部分或者全部计算任务迁移到网络边缘设备上,降低了云计算中心的计算负载,减缓了网络拥塞。边缘计算有着丰富的应用场景,比如云计算任务迁移,视频监控,智能交通,智能电网等。

但是边缘计算靠近节点,节点受到的攻击,使得边缘计算节点也面临着一系列的安全挑战,比如克隆节点攻击。克隆节点攻击的原理是,攻击者俘获网络中的合法节点并获取其所有的合法信息,复制出若干具有相同id和密钥信息的节点,并将这些克隆节点投放到网络中的不同位置对边缘计算装置发动攻击,而导致网络瘫痪。如何快速、高效地识别到克隆节点并对其进行隔离,成为防治克隆节点攻击,提高边缘计算安全性的关键。

由于克隆节点拥有与合法节点相同的id和密钥信息等,所以传统的基于密码学的认证机制无法识别出克隆节点。物理层信道认证利用无线信道信息的空时唯一性,通过比较连续帧之间的信道信息相似性来判断用户身份,无需复杂的上层加密运算,具有快速、高效的优势,十分适用于资源受限的微型终端。但是,实际无线环境中物理层认证的门限难以获取和确定,从而影响了识别准确率。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于机器学习的边缘计算克隆节点识别方法,具有计算复杂度低,识别准确率高的优势。

本发明的目的是通过以下技术方案来实现的:一种基于机器学习的边缘计算克隆节点识别方法,包括以下步骤:

s1.边缘计算节点存储来自合法节点发送的身份声明信息,实现合法节点与边缘计算节点的上层认证:

ri={idi,hi};

其中,idi是该合法节点i的身份号,hi表示用于从合法节点i提取出的信道信息,表示合法节点i信道信息中的第k个数据,k=1,2,3,...,n,n表示信道长度,该信道信息具有空时唯一的特点,不会被克隆;

s2.边缘计算节点提取合法节点i的身份声明信息ri={idi,hi}和未知节点j的身份声明信息rj={idj,hj};

其中,idj是该未知节点j的身份号,hj表示从未知节点j提取出的信道信息,

表示未知节点j信道信息中的第k个数据,k=1,2,3,...,n,n表示信道长度;

s3.边缘计算节点比较合法节点i和未知节点j的id是否一致:

若idi≠idj,表示j节点不是克隆节点,选择另一未知节点并重复执行步骤s2~s3;

若idi=idj,进入步骤s4;

s4.边缘计算节点利用检验统计量计算合法节点i和未知节点j的信道相关程度,并判断未知节点j是否为克隆节点:

若未知节点j是克隆节点,进入步骤s5;

若未知节点j不是克隆节点,选择另一未知节点并重复执行步骤s2~s4;

s5.边缘计算节点将合法节点i和克隆节点j的信道信息组合成为二分类的数据集t={(x1,y1),(x2,y2),...,(xn,yn)},在数据集t中:

即yk=+1时,表示该数据来自合法节点i;则yk=-1时,表示该数据来自克隆节点j;

s6.边缘计算节点采用机器学习算法中的分类算法,根据二分类的数据集t进行训练,直到生成满足识别率达标的分类模型;

s7.当新的未知节点u请求接入时,边缘计算节点将节点u作为待测节点,并利用识别率达标的分类模型对节点u进行身份识别,判断节点u是否为克隆节点。

进一步地,所述步骤s4包括:

边缘计算节点利用检验统计量计算合法节点i和未知节点j的信道相关程度:

式中,η为预设阈值,表示合法节点i第k帧信道信息与未知节点j第k帧信道信息的差值;当λi,j>η时,表示两个具有相同id的节点位于不同位置,发生了克隆节点攻击,j是克隆节点,进入步骤s5;当λi,j≤η时,表示两个具有相同id的节点位于相同位置,没有发生克隆节点攻击,j是合法节点,选择另一未知节点重复执行步骤s2~s4,直到判断出未知节点为克隆节点;。

进一步地,所述合法节点i的信道信息hi与未知节点j的信道信息hj需要处于相干时间内,否则认为信道信息不具有相关性。

进一步地,所述检验统计量包括但不限于基于幅度的检验统计量ta、基于幅度和相位联合的检验统计量tb,以及基于矫正相位偏移的检验统计量tc。

进一步地,所述步骤s6包括:

s601.将二分类数据集t划分为训练集和测试集;

s602.边缘计算节点采用机器学习算法中的分类算法构建节点识别模型,并在该分类算法下根据训练集中的数据依次对节点识别模型进行训练;

s603.边缘计算节点利用测试集中的数据,对训练得到的节点识别模型进行测试,根据测试结果统计识别率;

s604.判断识别率是否达标,若是,得到并保存识别率达标的分类模型;若否,重复执行步骤s1~s6,直到识别率达标为止;其中,识别率达标的条件由边缘计算节点预先设定,并根据不同场景进行调整。

进一步地,所述机器学习算法中的分类算法包括但不限于adaboost算法、神经网络算法、朴素贝叶斯算法、svm算法和决策树算法。

进一步地,所述步骤s7包括:

s701.当新的未知节点u请求接入时,边缘计算节点将节点u作为待测节点,接收节点u的身份声明信息ru={idu,hu};其中idu为节点u的身份号,hu表示从节点u提取出的信道信息,表示节点u信道信息中的第k个数据,k=1,2,3,...,n,n表示信道长度;

s702.边缘计算节点将节点u的信道信息送入识别率达标的分类模型中,由分类模型对节点u进行识别,判断节点u是否为克隆节点:若是,则拒绝节点u的接入;若否,则允许节点u的接入。

本发明的有益效果是:本发明利用基于信道信息的克隆节点识别方法识别出克隆节点,然后,利用机器学习算法对合法节点和克隆节点的信道信息进行训练和测试,生成达到识别率的模型,最后,再采集未知节点的信道信息,进行判断,克服了传统密码学无法识别克隆节点的问题,结合物理层认证避免了克隆节点伪造位置信息,解决了物理层认证门限难以获取的问题;并具有计算复杂度较低,识别率较高的优势。

附图说明

图1为基于机器学习的边缘计算克隆节点识别方法流程图;

图2为基于神经网络的克隆节点识别仿真图。

具体实施方式

下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

以具有多个克隆节点和合法节点的智能电表系统为例,智能电表系统中的克隆节点攻击是指,攻击者捕获一个合法电表节点并获得其身份id和密钥等合法信息,在智能电表网络中的不同物理位置克隆出多个具有相同id的克隆节点,从而对网络进行攻击的方式。克隆节点的特点是,具有相同身份id的智能电表位于不同的物理位置,并且在此实施例中,机器学习算法采用神经网络算法;

如图1所示,一种基于机器学习的边缘计算克隆节点识别方法,包括以下步骤:

s1.边缘计算节点存储来自合法电表节点发送的身份声明信息,实现合法电表节点与边缘计算节点的上层认证:

ri={idi,hi};

其中,idi是该合法电表节点i的身份号,hi表示用于从合法电表节点i提取出的信道信息,表示合法电表节点i信道信息中的第k个数据,k=1,2,3,...,n,n表示信道长度,该信道信息具有空时唯一的特点,不会被克隆;

s2.边缘计算节点提取合法电表节点i的身份声明信息ri={idi,hi}和未知电表节点j的身份声明信息rj={idj,hj};

其中,idj是该未知电表节点j的身份号,hj表示从未知电表节点j提取出的信道信息,表示未知电表节点j信道信息中的第k个数据,k=1,2,3,...,n,n表示信道长度;

所述合法电表节点i的信道信息hi与未知电表节点j的信道信息hj需要处于相干时间内,否则认为信道信息不具有相关性;

s3.边缘计算节点比较合法电表节点i和未知电表节点j的id是否一致:

若idi≠idj,表示j节点不是克隆电表节点,返回步骤s2,选择另一未知电表节点并重复执行步骤s2~s3;

若idi=idj,进入步骤s4;

s4.边缘计算节点利用检验统计量计算合法电表节点i和未知电表节点j的信道相关程度,并判断未知电表节点j是否为克隆电表节点:

边缘计算节点利用检验统计量计算合法电表节点i和未知电表节点j的信道相关程度:

式中,η为预设阈值,表示合法电表节点i第k帧信道信息与未知电表节点j第k帧信道信息的差值;当λi,j>η时,表示两个具有相同id的节点位于不同位置,发生了克隆节点攻击,j是克隆电表节点,进入步骤s5;当λi,j≤η时,表示两个具有相同id的节点位于相同位置,没有发生克隆节点攻击,j是合法电表节点,选择另一未知电表节点重复执行步骤s2~s4;

其中,所述检验统计量包括但不限于基于幅度的检验统计量ta、基于幅度和相位联合的检验统计量tb,以及基于矫正相位偏移的检验统计量tc。

s5.边缘计算节点将合法电表节点i和克隆电表节点j的信道信息组合成为二分类的数据集t={(x1,y1),(x2,y2),...,(xn,yn)},在数据集t中:

即yk=+1时,表示该数据来自合法电表节点i;则yk=-1时,表示该数据来自克隆电表节点j;

s6.边缘计算节点采用机器学习算法中的分类算法,根据二分类的数据集t进行训练,直到生成满足识别率达标的分类模型:

s601.将二分类数据集t划分为训练集和测试集;训练集和测试集的选取可以根据不同场景进行调整;

假设划分得到的训练集为{(x1,y1),(x2,y2),...,(xn′,yn′)},包含n′个样本数据,划分得到的测试集为{(xn′+1,yn′+1),(xn′+2,yn′+2),...,(xn,yn)},包含(n-n′)个样本数据,n/2<n′<n;

s602.边缘计算节点采用机器学习算法中的分类算法构建节点识别模型,并在该分类算法下根据训练集中的数据依次对节点识别模型进行训练;具体地,根据分类算法,将训练集中对应的(xk,yk),k=1,2,3,...n′输入模型中进行训练,调整模型参数,使得到的模型能够根据输入信息xk得出对应的yk值;所述机器学习算法中的分类算法包括但不限于adaboost算法、神经网络算法、朴素贝叶斯算法、svm算法和决策树算法;

s603.边缘计算节点利用测试集中的数据,对训练得到的节点识别模型进行测试,根据测试结果统计识别率;

识别过程中,将测试集中样本的xk,k=n′+1,n′+2,...,n输入训练得到的模型,由模型输出测试结果,如果测试结果为测试集样本中xk所对应的yk,则识别成功;设测试集中测试过程中,模型识别成功的样本数为m,则m/(n-n′)为计算得到的识别率。

s604.判断识别率是否达标,若是,得到并保存识别率达标的分类模型;若否,重复执行步骤s1~s6,直到识别率达标为止;其中,识别率达标的条件由边缘计算节点预先设定,并根据不同场景进行调整。

s7.当新的未知电表节点u请求接入时,边缘计算节点将节点u作为待测节点,并利用识别率达标的分类模型对节点u进行身份识别,判断节点u是否为克隆电表节点:

s701.当新的未知电表节点u请求接入时,边缘计算节点将节点u作为待测节点,接收节点u的身份声明信息ru={idu,hu};其中idu为节点u的身份号,hu表示从节点u提取出的信道信息,表示节点u信道信息中的第k个数据,k=1,2,3,...,n,n表示信道长度;

s702.边缘计算节点将节点u的信道信息送入识别率达标的分类模型中,由分类模型对节点u进行识别,判断节点u是否为克隆电表节点:若是,则拒绝节点u的接入;若否,则允许节点u的接入。

具体地,将信道信息中的每个数据依次作为x(k)输入到分类模型中,k=1,2,3,...,n,统计分类模型输出+1的次数n,假设n/n小于设定的阈值,则认为节点u为克隆节点,拒绝接入;反之则为合法节点,允许接入。

如图2所示,为神经网络下的克隆节点识别仿真图,在此次仿真中,对合法电表节点和克隆电表节点均采集在相干时间内的信道信息若干,然后将信道信息生成基于检验统计量ta和tb的二维特征数据集,采用神经元个数为3的神经网络算法的机器学习算法进行训练,生成模型,再次采用测试集对其进行测试,得到的分类图如图2所示,图2中横坐标表示从信道信息生成基于幅度的检验统计量ta、纵坐标表示基于幅度和相位联合的检验统计量tb,图中散点表示具有ta,tb二维特征的信道信息,中间的分界面代表使用神经网络算法得到的分界面,分界面两侧分别为算法划分出的合法电表节点和克隆电表节点;通过对比测试集身份标签和模型预测出的标签,在此次仿真中针对此数据集统计得到识别率为90%,为目前较好的检测结果,可以说明,采用此基于机器学习的边缘计算节点识别具有可行性并且还可以得到较好的识别效果。

综上,本发明先对合法节点进行上层认证,然后提取合法节点和未知节点的身份声明信息,然后进行预判断,若id一致,提取节点信道信息进行相关性判断,判别出身份类别后,加上身份标签利用机器学习算法进行训练,生成判别模型,再次接收新的未知节点的身份声明信息,利用训练好的模型判断是否是克隆节点,具有计算复杂度较低,识别率较高的优势。

以上所述是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应该看作是对其他实施例的排除,而可用于其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1