基于同态加密的无人机数据异常检测方法

文档序号:31568798发布日期:2022-09-20 21:38阅读:246来源:国知局
基于同态加密的无人机数据异常检测方法

1.本发明属于无人机技术领域,进一步涉及数据异常检测方法,具体为一种基于同态加密的无人机数据异常检测方法,可用于无人机群网络的异常检测。


背景技术:

2.无人机是无人驾驶飞机的简称,它是一种利用认为的无线电操纵或者利用自主程序控制装置操纵的可重复使用的不载人飞行器。在个体无人机及机群的前沿技术发展下,渐由单设备向多设备、多平台的机群协同发展。典型的无人机群网络是一种移动自组织网,具有高速移动性、面临强干扰环境、实时性等特点。目前,无人机群网络面临黑洞、拒绝服务、路由表溢出和模仿等攻击的威胁,信息获取和劫持操纵是人们对无人机群网络安全防护中不可忽视的考虑因素。由于无人机群网络具有高速移动性、实时性等特点,对该类型自组网的异常检测可以用于入侵检测、传感器网络事件检测等。但由于无人机本身算力以及不同无人机产生数据量有限的限制,其在本地端无法实现快速高效的异常检测。因此,在这种情况下可以借助云服务,利用其高算力高存储实现无人机群网络数据的异常检测。
3.传统的云平台能够对海量数据实现异常数据检测,但同时它也会因为人工管理错误、恶意攻击等问题导致云端的数据被泄露或者被篡改。因此,当无人机群数据外包给云服务提供商时,其便失去了对数据的物理控制,数据的安全与隐私依赖于云服务提供商对数据采取的安全防护措施,如果安全措施被破坏,无人机群的敏感数据可能被泄露。如果对无人机群的敏感数据进行加密就可以确保这些数据在云服务提供商提供的运算环境中,不会被窃取或篡改,但是传统的加密算法只能够实现加密功能,无法将数据在密文状态下进行运算。


技术实现要素:

4.本发明目的在于针对上述现有技术的不足,提出一种基于同态加密的无人机数据异常检测方法,用于解决现有云平台对无人机群网络的异常检测算法数据容易被劫持和恶意篡改的问题。该方法利用同态加密算法提供密文态的运算,在不泄露明文信息的前提下对不匹配预期模式的密文态数据进行有效识别,确保数据在传输处理过程中,不会被攻击者恶意篡改,并且在云服务商提供的环境下也确保了数据的隐私性,从而保证无人机群网络数据的安全性,利用孤立森林算法实现无人机数据密文状态下的异常检测。本发明能够使数据在传输和被云平台处理过程中,始终保持密文态,防止数据被恶意劫持和篡改。
5.实现本发明方法的思路是:首先,通过同态加密技术对无人机数据进行加密;然后,对加密后的数据利用同态运算的性质,构建孤立森林模型;再利用孤立森林模型实现对密文数据的异常检测;最后将密文结果返回给无人机进行解密得到检测结果。
6.为了实现上述目的,本发明技术方案包括:
7.(1)无人机群智能终端向可信密钥服务器发起连接请求,可信密钥服务器收到请求后,与云端服务器建立连接并按照如下步骤进行身份验证:
8.(1.1)云端服务器向可信密钥服务器发送连接请求,可信密钥服务器收到连接请求后,向云端服务器发送随机数;
9.(1.2)云端服务器利用哈希算法将收到随机数与身份密号进行哈希运算,并将运算结果发送至可信密钥服务器;
10.(1.3)可信密钥服务器利用随机数与预先存储的云端服务器的身份密号进行哈希运算,并将此次运算结果与接收到云端服务器发送来的运算结果进行比对,比对一致则身份验证成功,执行步骤(2),反之验证失败,退出系统;
11.(2)可信密钥服务器生成密钥,并进行分发:
12.可信密钥服务器生成ckks同态加密算法的密钥,包括:私钥、公钥和评估密钥;并将公钥和私钥发送给无人机群智能终端;将公钥和评估密钥发送给云端服务器;
13.(3)无人机群智能终端收到公钥和私钥后,对需要进行异常检测的数据进行加密:
14.先利用0-1标准化法将数据映射在(0,1)的区间中,再利用私钥对数据进行加密得到密文数据,之后将密文数据传送至云端服务器;
15.(4)云端服务器利用密文数据构建孤立森林模型:
16.(4.1)云端服务器对无人机群智能终端传来的密文数据进行随机抽样,从中抽取ψ个数据作为样本子集,用于构建t个孤立树;
17.(4.2)在样本子集中,随机指定一个维度,再随机生成一个(0,1)之间的随机数利用公钥进行加密,并将所有密文数据在该维度的密文值a与加密后的随机数b利用同态运算性质进行比较计算得出密文结果s,将该结果发送至密钥服务器进行解密后,返回两个密文数据的比较结果;
18.(4.3)定义孤立树叶子节点的值为步骤(4.2)中随机生成的随机数,根据密钥服务器返回的比较结果划分左右子树,具体如下:
19.若返回结果近似为1,表示当前密文数据小于叶子节点的值,则将该密文数据加入该节点的左子树;
20.若返回结果近似为0,表示当前密文数据大于叶子节点的值,则将该密文数据加入该节点的右子树;
21.(4.4)重复步骤(4.2)和步骤(4.3)直到产生只有一个数据的左子节点或右子节点,将其作为叶子节点;
22.(4.5)在所有子节点中采用递归方式不断构造新的子节点,直至该孤立树达到预定高度或者已经无节点可以继续划分,完成孤立树的构建;
23.(4.6)重复步骤(4.2)至步骤(4.5),直至生成t棵不同的孤立树,完成孤立森林模型的构建;
24.(5)云端服务器利用孤立森林模型进行对数据密文进行检测:
25.(5.1)云端服务器根据同态运算性质将密文数据与孤立树中的每个节点进行密文比较,得到每个密文数据在孤立树中对应的高度;
26.(5.2)求出密文数据在每一棵孤立树上的高度,并计算平均值,得到该密文数据在孤立森林模型中的平均高度e(h);
27.(5.3)云端服务器将平均高度e(h)作为检测结果,以密文形式发送至无人机群智能终端;
28.(6)无人机群智能终端利用私钥对接收的检测结果进行解密,得到明文形式的平均高度,根据该平均高度计算密文数据的异常得分,实现数据的异常检测。
29.相较于现有技术,本发明至少具有如下益效果:
30.1)安全性高:
31.本发明在数据传输给云平台以及交由云平台计算的过程中,处于密文态,防止明文数据泄露,避免攻击者恶意篡改或泄露,能够快速高效地检测无人机群的异常状况,维护了无人机群网络的安全性与稳定性。
32.2)检测速度快:
33.本发明将无人机群网络数据传输到云服务端后进行异常检测,避免了个体无人机的低算力,能够将无人机数据整合到云端,利用云服务商的高算力和高存储实现对无人机群的快速异常检测。
34.3)模型适用性广:
35.本发明利用云端将无人机群的所有无人机数据进行整合,实现模型的训练,避免了由于个体无人机的数据偏差,导致异常检测模型的检测能力低,通过将所有无人机的数据生成孤立森林模型,确保了异常检测的性能,准确率更高。
36.4)扩展性强:
37.由于本发明采用孤立森林算法实现无人机数据密文状态下的异常检测,该算法的可适性强,除了用于无人机群网络的异常检测,还可用于对医疗、生物、金融等数据依托于云计算来进行异常检测的敏感领域,从而使本发明方法具有较强的可扩展性。
附图说明
38.图1本发明中同态加密算法ckks的流程图;
39.图2本发明中密文比较算法流程图;
40.图3本发明中孤立森林模型的树状图;
41.图4本发明方法的实现流程图;
42.图5本发明中拟合多项式fn(x)的次数与异常检测运行时间关系的仿真结果图。
具体实施方式
43.下面结合附图对本发明做进一步的描述。
44.实施例一:
45.参照附图4,本发明提出的一种基于同态加密的无人机数据异常检测方法,整体包括如下步骤:
46.步骤一,无人机群智能终端向可信密钥服务器发起连接请求,可信密钥服务器收到请求后,与云端服务器建立连接并按照如下步骤进行身份验证:
47.(1.1)云端服务器向可信密钥服务器发送连接请求,可信密钥服务器收到连接请求后,向云端服务器发送随机数;
48.(1.2)云端服务器利用哈希算法将收到随机数与身份密号进行哈希运算,并将运算结果发送至可信密钥服务器;
49.(1.3)可信密钥服务器利用随机数与预先存储的云端服务器的身份密号进行哈希
运算,并将此次运算结果与接收到云端服务器发送来的运算结果进行比对,比对一致则身份验证成功,执行步骤(2),反之验证失败,退出系统;
50.本实施例中云端服务器向可信任的密钥服务器发送连接请求,密钥服务器向云端发送128位随机数m,云端将m与自身的身份密号y1联立,利用哈希函数计算x=h(m,y1),并将计算结果发送给密钥分发服务器;密钥分发服务器将存储的云端身份密号y2与随机数m进行联立,再次利用哈希函数进行计算得到x'=h(m,y2),对计算结果进行如下判断:若x=x',则身份验证通过,反之则表明验证失败不进行后续操作。
51.步骤二,可信密钥服务器生成密钥,并进行分发:
52.可信密钥服务器生成ckks同态加密算法的密钥,包括:私钥、公钥和评估密钥;并将公钥和私钥发送给无人机群智能终端;将公钥和评估密钥发送给云端服务器;
53.步骤三,无人机群智能终端收到公钥和私钥后,对需要进行异常检测的数据进行加密:
54.先利用0-1标准化法将数据映射在(0,1)的区间中,再利用私钥对数据进行加密得到密文数据,之后将密文数据传送至云端服务器。
55.无人机群智能终端对需要进行异常检测的无人机群数据所使用的加密算法为全同态加密,具有同态加和同态乘的特性;全同态加密允许对密文直接进行计算操作,解密结果相当于对明文做同样的计算操作,而使数据可以不被解密就进行运算和处理。本实施例中无人机群智能终端使用ckks算法对无人机群数据进行加密,可以对浮点数进行近似加密。ckks支持加密消息的近似加法和乘法,以及用于管理明文大小的新的缩放过程。ckks存储了数据的有效位进行运算,其目标式做近似计算,相比于其他基于lwe/rlwe难题的同态方案,ckks简化了细节,提升了计算效率。本发明所使用的ckks加密算法包括初始化、密钥生成、加密、解密、加法、乘法以及重缩放,其中重缩放可以在保持消息的精度后,进行近似计算。
56.参照图1,ckks算法实现加密解密的步骤如下:1)对明文进行编码,将浮点数向量编码成多项式商环的形式;2)对编码后的多项式进行加密或解密;由于已经将浮点数向量编码成为一个多项式,因此ckks算法中的加解密部分允许对该多项式的进行加解密(ckks算法加解密部分的主体主要由四部分构成:密钥生成、加密模块、解密模块、密文计算模块。),支持有限次数的同态加法和同态乘法,对浮点数进行近似加密和解密,支持利用评估密钥对加密后的密文数据进行计算;3)对解密后的多项式进行解码成浮点数,返回密文运算的结果。
57.步骤四,云端服务器利用密文数据构建孤立森林模型:
58.参照图3,密文态数据在迭代算法下进行比较,使用随机超平面对数据空间进行切割,挖掘孤立点,即异常数据,生成孤立森林;迭代时为避免出现乘法溢出,可以运行固定次数后将数据返回给可信任密钥服务器进行重新加密。
59.(4.1)云端服务器对无人机群智能终端传来的密文数据进行随机抽样,从中抽取ψ个数据作为样本子集,用于构建t个孤立树;
60.(4.2)在样本子集中,随机指定一个维度,再随机生成一个(0,1)之间的随机数利用公钥进行加密,并将所有密文数据在该维度的密文值a与加密后的随机数b利用同态运算性质进行比较计算得出密文结果s,将该结果发送至密钥服务器进行解密后,返回两个密文
数据的比较结果;
61.参照图2,这里使用迭代算法进行数据的密文态比较,其原理是利用复合多项式迭代逼近比较函数comp(a,b):
[0062][0063]
其中,sgn(
·
)表示符号函数;
[0064]
利用拟合多项式fn(x)≈sgn(x),fn(x)的表达式如下:
[0065][0066]
假设待比较的数为a,b,令x=a-b,经过拟合多项式fn(x)的多次迭代,则可得到近似比较函数comp(a,b)的结果,若结果近似为1,则a>b;若结果近似为0,则a<b。
[0067]
(4.3)定义孤立树叶子节点的值为步骤(4.2)中随机生成的随机数,根据密钥服务器返回的比较结果划分左右子树,具体如下:
[0068]
若返回结果近似为1,表示当前密文数据小于叶子节点的值,则将该密文数据加入该节点的左子树;
[0069]
若返回结果近似为0,表示当前密文数据大于叶子节点的值,则将该密文数据加入该节点的右子树;
[0070]
(4.4)重复步骤(4.2)和步骤(4.3)直到产生只有一个数据的左子节点或右子节点,将其作为叶子节点;
[0071]
(4.5)在所有子节点中采用递归方式不断构造新的子节点,直至该孤立树达到预定高度或者已经无节点可以继续划分,完成孤立树的构建;
[0072]
(4.6)重复步骤(4.2)至步骤(4.5),直至生成t棵不同的孤立树,完成孤立森林模型的构建;
[0073]
这里利用同态加密数的数值比较算法,是通过隔离数据中的离群值识别异常,通过随机选择特征与特征的分隔值,递归地生成数据集的分区,生成孤立树;获得多棵孤立树之后,利用孤立树组成的孤立森林评估测试数据。
[0074]
步骤五,云端服务器利用孤立森林模型进行对数据密文进行检测:
[0075]
(5.1)云端服务器根据同态运算性质将密文数据与孤立树中的每个节点进行密文比较,得到每个密文数据在孤立树中对应的高度;
[0076]
(5.2)求出密文数据在每一棵孤立树上的高度,并计算平均值,得到该密文数据在孤立森林模型中的平均高度e(h);
[0077]
(5.3)云端服务器将平均高度e(h)作为检测结果,以密文形式发送至无人机群智能终端。
[0078]
步骤六,无人机群智能终端利用私钥对接收的检测结果进行解密,得到明文形式的平均高度,根据该平均高度计算密文数据的异常得分,实现数据的异常检测。
[0079]
本实施例中,使数据点x遍历每一棵孤立树,计算得到x的平均高度e(h(x));返回
计算生成的孤立森林中每个数据点的平均高度。无人机群智能终端根据每个密文数据在孤立森林的平均高度来计算异常得分,从而挖掘异常点。
[0080]
数据点x的异常值s(x,ψ)通过下式计算得到:
[0081][0082][0083]
其中,h(
·
)表示调和数,可以通过ln(
·
)+0.5772156649,即欧拉常数来估算,分值越小表示数据越为异常。本实施例中所有数据点的异常值计算完毕后,将异常值越接近1的数据点视为异常点,小于0.5的数据点为正常点。
[0084]
实施例二:
[0085]
本实施例中提出的检测方法整体实现步骤同实施例一,参见图2,对本发明中使用的改进后孤立森林算法做进一步描述。
[0086]
本发明中涉及的孤立森林算法分为两个阶段:训练阶段和评估阶段。
[0087]
训练阶段的步骤如下:
[0088]
步骤a,从训练数据中随机选择ψ个样本点作为样本子集,放入一棵孤立树的根节点。
[0089]
步骤b,随机指定一个维度,在当前节点的数据范围内,随机选择一个切割点p,该切割点产生于当前节点数据中指定维度的最大值和最小值之间。
[0090]
步骤c,以步骤b中的切割点生成一个超平面,然后将当前节点数据空间划分为2个子空间,把指定维度里小于p的数据放在当前节点左子节点,把大于等于p的数据放在当前节点右子节点。
[0091]
相比于原有的孤立森林算法,为了降低孤立树的复杂度,对步骤b和步骤c进行了以下改良:重复步骤b和步骤c,直到产生只有一个数据的左子节点或右子节点。生成的孤立树如图3所示。
[0092]
步骤d,在子节点中递归步骤b和步骤c,不断构造新的子节点,直到子节点中只有一个数据或子节点已经达到限定高度,以完成孤立树的构建。
[0093]
步骤e,循环步骤a至步骤d,直至生成t个孤立树。
[0094]
在训练阶段获得了t个孤立树后,孤立森林的训练结束,进入下一阶段,即评估阶段,使用生成的孤立森林评估测试数据。
[0095]
异常评估阶段的步骤如下:
[0096]
步骤a,对于每个数据点x,遍历每一棵孤立树,计算数据点x在每一棵孤立树的高度,通过其在孤立森林模型中所有孤立树上的高度计算平均高度h(x)。
[0097]
步骤b,利用异常得分公式s(x,ψ),计算数据的异常值分数。
[0098]
参见图5,本发明中,改良孤立森林算法所使用的多项式拟合密文比较算法
newcomp(a,b;n,d)的原理为具体步骤如下:
[0099]
步骤1,输入参数a、b、n、d,其中a、b是要进行比较的密文态数据,a,b∈[0,1],n表示拟合多项式fn(x)的次数,d为算法的迭代次数,令x=a-b。由图5可见,本发明在n的次数的选取上,若n的数值越大,则异常检测所花费的时间越长,整体呈现线性关系。拟合多项式fn(x)的表达式如下所示:
[0100][0101]
步骤2,令x=fn(x)。
[0102]
步骤3,重复(d-1)次步骤2。
[0103]
步骤4,返回最后的计算结果对计算结果进行解密后,若则表明a>b,若则表明a<b。
[0104]
本发明未详细说明部分属于本领域技术人员公知常识。
[0105]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1