1.一种车联网环境下身份可溯的女巫攻击检测方法,其特征在于,包括以下步骤:步骤一,系统初始化,初始化完成车辆在上路前的注册和密钥分配:车辆到权威的车辆管理机构去注册,获取系统私钥s信息并存储在车辆的防篡改设备中,车辆的防篡改设备为其生成假名、签名私钥,当车辆入网通信时,防篡改设备为其生成消息签名;
步骤二,女巫攻击发现,女巫攻击发现用于判断车联网通信是否遭受女巫攻击:当车辆入网通信后,会收到通信范围内所有车辆发送的广播信息,计算自身与广播信息源的距离,若出现N个距离均为d的车辆通信节点,且N>Q,其中Q为根据环境情况设定的阈值,则说明该车辆周围发生了女巫攻击;
步骤三,恶意节点定位,恶意节点定位用于追踪发起攻击者的物理位置:诚实车辆遭受女巫攻击后,向通信范围的所有可信节点请求辅助测算,可信节点为与诚实车辆距离不为d的车辆,可信节点将自己的坐标,以及自身周围N个相等的距离发送给诚实车辆,诚实车辆依据可信节点发送的信息,分别以自身坐标,可信节点坐标为圆心,距离为半径,生成多个圆,圆的交点为恶意节点的坐标;
步骤四,攻击者身份追溯,攻击者身份追溯实现对攻击者真实身份的揭露:将测算到的恶意节点的位置进行偏差纠正计算后,匹配对应的假名,并将消息封装成请求身份追溯的数据包发送给TA,TA根据假名信息计算出恶意车辆的真实位置,并采取管制措施。
2.根据权利要求1所述的车联网环境下身份可溯的女巫攻击检测方法,其特征在于,其中,步骤一具体包括以下步骤:Step1:车辆上路前到权威的车辆管理机构注册,获得用于加密的公共参数{G,q,P,Ppub,h,h1,h2}、系统私钥s信息;
Step2:车辆入网时 ,车辆中的防篡改设备选择随机数 计算即获得一个假名ID=(ID1,ID2),根据假名计算私钥SK=sh1(ID1||ID2)并存储三元组{r,ID,SK}。
3.根据权利要求2所述的车联网环境下身份可溯的女巫攻击检测方法,其特征在于,所述步骤二中女巫攻击发现具体包括以下步骤:Step1:车辆入网通信后,根据公式:
(ABS(RSSI)‑A)
d=10 /(10*n)
计算自身到广播信号源的距离,若发现距离相等的车辆个数大于阈值,则证明自身受到了女巫攻击;
Step2:将主动发现女巫攻击的车辆定义为诚实节点,诚实节点检测到女巫攻击后,将自己发送数据包的女巫攻击标志位置为1。
4.根据权利要求3所述的车联网环境下身份可溯的女巫攻击检测方法,其特征在于,所述步骤三分为收集信息和辅助测算两个阶段,具体包括以下步骤:(1)车辆信息收集:
当OBU发现自己周围存在女巫攻击时,立刻收集当前时刻、通信区域内所有车辆的信息,信息参数如下:{ID,t,RSSI,V(x,y),β}将收集到的所有车辆信息存储到OBU缓冲区BUFF中,用于之后验证恶意节点的位置;
(2)可信节点辅助测算:
根据测算原理,只要诚实节点找到2个可信节点,可测算出恶意节点位置,具体测算过程如下:Step1:假设诚实节点能找到两个及以上可信节点;
Step2:A以自身位置坐标hon(x,y)A=(a,b)为圆心,测得多个相等的距离d为半径,得圆CA的标准方程为:
2 2 2
(x‑a) +(y‑b) =r
Step3:A向可信节点B,C发送请求,内容为:{ID,RSSI,hon(x,y)A,β,calculate}(ABS(RSSI)‑A)
Step4:可信节点B收到A的请求信息后,依据公式d=10 /(10*n)计算通信范围内,到所有车辆的距离d,测出多个距离为d1的车辆,向A发送反馈信息:{ID,RSSI,tru(x,y)B,d1,β}Step5:可信节点C收到A的请求信息后,依据公式(2.2)计算通信范围内,到所有车辆的距离d,测出多个距离为d2的车辆,向A发送反馈信息:{ID,RSSI,tru(x,y)C,d2,β}Step6:诚实节点A收到B,C的反馈信息后:以B位置坐标tru(x,y)B=(a1,b1)为圆心,距离d1=r1为半径,得圆Ct1的标准方程为:以C位置坐标tru(x,y)C=(a2,b2)为圆心,距离d2=r2为半径,则圆Ct2的标准方程为:Step7:诚实节点A计算CA,CB,CC三个圆是否交于一点;
Step8:若三圆交于一点,则证明该点为恶意节点,否则此处没有发生女巫攻击;
若诚实节点只能找到一个可信节点,诚实节点与可信节点形成两个圆,存在如下三种情况:①若两圆相切,则切点为恶意节点位置;
②若无交点,则此处不存在女巫攻击;
③若两圆相交,其中一个节点会被误判为恶意节点。
5.根据权利要求4所述的车联网环境下身份可溯的女巫攻击检测方法,其特征在于,所述步骤四中攻击者身份追溯包括位置计算与节点匹配、消息认证与封装转发、真实身份计算三个阶段,具体包括以下步骤:(1)位置计算与节点匹配:
Step1:在发现女巫攻击的T时刻内,诚实节点请求通信范围内所有可信节点进行辅助测算;
Step2:由于每次测算只需要两个可信节点,故可信节点可两两组合成一组检测节点,与诚实节点完成恶意节点位置测算;若诚实节点通信范围内有n个可信节点,那么可测得个坐标值,具体测算过程如下:①A以自身位置坐标hon(x,y)A=(a,b)为圆心,测得多个相等的距离d为半径,得圆CA的标准方程为:
2 2 2
(x‑a) +(y‑b) =r
②A向可信节点B,C发送请求,内容为:
{ID,RSSI,hon(x,y)A,β,calculate}(ABS(RSSI)‑A)
③可信节点B收到A的请求信息后,依据公式d=10 /(10*n)计算通信范围内,到所有车辆的距离d,测出多个距离为d1的车辆,向A发送反馈信息:{ID,RSSI,tru(x,y)B,d1,β}(ABS(RSSI)‑A)
④可信节点C收到A的请求信息后,依据公式d=10 /(10*n)计算通信范围内,到所有车辆的距离d,测出多个距离为d2的车辆,向A发送反馈信息:{ID,RSSI,tru(x,y)C,d2,β}⑤诚实节点A收到B,C的反馈信息后:
以B位置坐标tru(x,y)B=(a1,b1)为圆心,距离d1=r1为半径,得圆Ct1的标准方程为:以C位置坐标tru(x,y)C=(a2,b2)为圆心,距离d2=r2为半径,则圆Ct2的标准方程为:⑥诚实节点A计算CA,CB,CC三个圆是否交于一点;
⑦若三圆交于一点,则证明该点为恶意节点,否则此处没有发生女巫攻击;此点为测算出的恶意节点的位置;若诚实节点通信范围内有n个可信节点,通过此测算方法,可测得个坐标值;
Step3:将测得的 个横坐标x′存放在集合x={x′1,x′2,...,x′Q};
将测得的 个纵坐标y′存放在集合y={y′1,y′2,...,y′Q};
Step4:分别计算横坐标和纵坐标的算术平均值,计算公式如下:得出坐标
Step5:分别计算横坐标和纵坐标的标准偏差,计算公式如下:Step6:根据计算出的坐标 在缓冲区查找与 在标准偏差范围之内的坐标点,该点即为恶意节点准确坐标(x,y),并记录此车辆对应的假名信息;
Step7:向RSU发送信息{ID,M,t,SID,β,hon(x,y)i,Warning};
(2)消息验证与封装转发:
Step1:首先验证时间戳t是否有效,假定收到该消息的时间是trec,车联网中预先规定的最大传输时间为Δt,如果不等式Δt>trec‑t成立,则证明时间戳有效;
Step2:对时间戳有效的信息进行签名认证:βP=h1(ID1||ID2)Ppub+h2(Q||t)ID1若等式成立,则证明车辆的假名以及发送的信息没有经过篡改,签名是合法有效的;
Step3:辨别女巫警示信息标识位Warning值是否为1,若Warning=1,RSU将此车辆发送的有效信息{ID,Q,t,SID,β,hon(x,y)i}进行封装后转发给TA,封装格式如下:Request Identity {ID,M,t,SID,β,hon(x,y)i} 其中Request是请求信息标志位,取值可能如下:Identity标志请求内容为追溯真实身份,取值可能如下:TA接收到封装信息后,根据标志字段推断此条信息为请求身份认证的信息;
(3)真实身份计算:
Step1:对诚实车辆假名ID进行认证:TA根据诚实车辆传送的信息{ID,Q,T,SID,β,hon[i](x,y)}的假名ID={ID1,ID2}以及系统私钥s,通过公式:又ID1=rP, 故可计算出真实身份VID,确认身份合法,信任其发送的信息;
Step2:追溯恶意车辆SID的身份:
城市车辆发送的信息{ID,M,T,SID,β,hon[i](x,y)}中包含恶意车辆的假名SID={SID1 ,SID2},利用系统私钥s,根据公式 计算出真实身份;并对恶意车辆采取相应的管制措施。