1.基于多因素认证的多实体跨域密钥协商与认证方法,其特征在于,该方法具体为:步骤1:无人机Ei,路边单元RSUj和雾节点FSm向云服务器CS进行注册;
步骤2:无人机登录阶段;
步骤3:无人机登录后,第一次行经某路边单元的负责区域时,无人机开始在单域场景下与该路边单元进行认证通信;并将该路边单元记作RSU1;
步骤4:当无人机即将移动到下一个路边单元RSU2所负责区域内时,RSU1将无人机的伪身份发送至RSU2,若该无人机是首次与RSU2通信,则进入数据请求,RSU2向CS请求无人机的私密数据,然后转步骤5,否则直接转步骤5;
步骤5:无人机和RSU2进行跨区域认证;
无人机注册阶段具体为:
无人机IDi生成身份ri,口令IDi,生物特征BIOi和随机数PSWi,使用模糊提取器的生成函数从生物特征中提取随机分布的字符串σi,并生成公开辅助串τi,然后将身份Ei通过安全信道传送给CS;
CS收到无人机的身份身份IDi后,选择随机数rc,计算无人机的伪身份PIDi和私密数据TKEC;并将{PIDi,TKEC}保存在数据库中,同时通过安全信道传送给无人机;
无人机收到{PIDi,TKEC}后,根据如下公式计算摘要信息Pi,并对自身的私密数据进行加密得到加密后的数据TRi:Pi=h(IDi||RPWi||ri);
其中, 表示异或运算,RPWi为对口令加密后的密文,RPWi=h(PSWi||σi),h(·)表示哈希函数,然后将{PIDi,ri,Pi,TRi,τi}保存在机载单元OBU中;
路边单元注册具体为:路边单元RSUj选择身份IDj和随机数rj;并将{IDj,rj}通过安全信道发送至CS;
CS收到TCRC后选择随机数{PIDj,IDj},计算路边单元的伪身份RSUj和私密数据{IDj,rj};
CS将{PIDj,TKRC}存储在数据库中,并将rs发送给PIDj,将{PIDj,IDj,TKRC}发送给所有雾节点;
RSUj将{PIDj,TKRC}存储在内存中,雾节点将{PIDj,IDj}保存在数据库中,将{PIDj,TKRC}保存在软件防护扩展模块SGX中;
雾节点注册具体为:雾节点选择身份IDf和随机数rf,并将{IDf,rf}通过安全信道发给CS;CS收到消息后,选择随机数rCS,计算雾节点的伪身份PIDf和私密数据TKFC;将{PIDf,IDf}保存在数据库中,将{PIDf,TKFC}通过安全信道传送给雾节点;
雾节点将收到的数据保存在数据库中;
所述步骤4中根据如下步骤判断无人机与RSU2是否为首次通信:
步骤4.1:RSU1首先生成请求数据Notj,选择时间戳TA,计算用于步骤4阶段雾节点向路边单元RSU1进行验证的参数D1:D1=h(PIDj1||IDj1||TA);
RSU1将{Notj,PIDi,PIDj1,PIDj2,D1,TA}作为数据Ma发送给雾节点;PIDj2为RSU2的伪身份;
PIDj1为RSU1的伪身份,IDj1为RSU1的身份;
步骤4.2:雾节点收到数据后验证Ma中时间戳的新鲜度,若验证不通过,则终止认证,否则根据雾节点收到的路边单元RSU1的伪身份PIDj1,f匹配雾节点接收到的RSU1的身份IDj1,f,所述验证时间戳的新鲜度为,计算收到数据的时间和数据中时间戳之间的差值的绝对值,若该差值的绝对值大于等于预设的时间阈值,则验证不通过;将PIDj1,f,IDj1,f以及TA,f代入到计算D1的公式中,得到参数D1';TA,f为雾节点收到的TA的值;
若D1'和D1,f相等,则雾节点选择时间戳TB,并根据收到的路边单元RSU2的伪身份PIDj2,f匹配雾节点接收到的RSU2的身份IDj2,f,计算用于步骤4阶段RSU2向雾节点进行验证的参数D2,D1,f为雾节点收到的D1的值;否则终止认证;
D2=h(PIDj2,f||IDj2,f||TB);
雾节点将{Notj,f,PIDi,f,D2,TB}作为数据Mb,发送给RSU2;Notj,f为雾节点收到的请求数据Notj,PIDi,f为雾节点收到的PIDi的值;
步骤4.3:RSU2收到数据后验证Mb中时间戳的新鲜度,若验证不通过,则终止认证,否则通过如下公式计算参数D2':其中, 为RSU2收到的时间戳TB的值,IDj2为RSU2的身份,若D2′和D2,f不相等,则终止认证,否则,RSU2根据收到的无人机的伪身份检索无人机的私密数据,若未检索到,则认定为首次通信,D2,f为雾节点收到的D2的值。
2.根据权利要求1所述的基于多因素认证的多实体跨域密钥协商与认证方法,其特征在于:所述无人机的伪身份和私密数据的表达式如下所示:PIDi=h(IDi||rc);
TKEC=h(PIDi||KCS);
其中,KCS为CS的长期密钥;
路边单元的伪身份和私密数据的表达式如下所示:
PIDj=h(IDj||rj||rs);
TKRC=h(PIDj||KCS);
雾节点的伪身份和私密数据的表达式如下所示:
PIDf=h(IDf||rf||rcs);
TKFC=h(PIDf||KCS)。
3.根据权利要求1所述的基于多因素认证的多实体跨域密钥协商与认证方法,其特征在于,所述无人机登录认证具体为:用户登录无人机,输入无人机的身份,口令,生物特征,无人机根据用户输入的生物特征,利用模糊提取器的再生函数计算新的字符串σi',将用户输入的无人机的身份,口令,生物特征以及σi'代入到Pi的计算公式中,得到Pi′,验证Pi′和Pi是否相等,若相等,则登录成功,否则登录失败。
4.根据权利要求1所述的基于多因素认证的多实体跨域密钥协商与认证方法,其特征在于,所述步骤3具体为:步骤3.1:无人机成功登录后,生成随机数Ni和时间戳T1,无人机根据随机数采用如下公式推算出自身的私密数据TKEC:步骤3.2:计算步骤3阶段用于雾节点向无人机进行验证的参数E1:E1=h(IDi||Ni||TEEC||T1);
其中, TNEC=h(TKEC||PIDi),TEEC为采用随机数对无人机身份、伪身份以及私密数据共同加密后的值,TNEC为对无人机伪身份和私密数据加密后的值;无人机将{PIDi,TEEC,E1,T1}作为数据M1发送至路边单RSU1;
步骤3.3:RSU1收到数据后验证M1中时间戳的新鲜度,若验证不通过,则终止认证,否则转步骤3.4,所述验证时间戳的新鲜度为:计算收到数据的时间和数据中时间戳之间差值的绝对值,若该差值的绝对值大于等于预设的时间阈值,则验证不通过;
步骤3.4:RSU1根据收到的无人机的伪身份PIDi^在SGX中检索PIDi^对应的私密数据,若未检索到,RSU1发送数据请求给CS请求关于该无人机的私密数据,然后转步骤3.5继续认证,若能够检索到,则直接转步骤3.5继续认证;
步骤3.5:RSU1选择随机数Nj和时间戳T2计算步骤3阶段用于雾节点向路边单元进行验证的参数E2:E2=h(IDj1||Nj||TERC||T2);
其中, TNRC=h(TKRC1||PIDj1),TNRC为对路边单元RSU1的私密数据TKRC1和伪身份PIDj1加密后的值,TERC为采用随机数对路边单元的私密数据和伪身份进行加密后的值;IDj1为RSU1的身份,然后RSU1将{PIDi^,TEEC^,E1^,T1^,PIDj1,TERC,E2,T2}作为数据M2发送给相应的雾节点;其中TE^EC为路边单元收到的TEEC的值;E1^为路边单元收到的E1的值,T1^为路边单元收到的T1的值;步骤3.6:雾节点收到数据后验证M2中时间戳的新鲜度,若验证不通过,则终止认证,否则根据收到的无人机的伪身份PIDi^^匹配无人机的私密数据TKEC^^,若未匹配到,则终止认证,若匹配到,则根据匹配到的无人机的私密数据推导无人机的身份IDi′以及无人机选择的随机数Ni′:其中,TNEC为对PIDi^^和TKEC^^加密后的值,TNEC=h(PIDi^^||TKEC^^), 表示雾节点收到的 的值;
将IDi′,Ni′, 以及T1^^代入到计算E1的公式中,得到验证参数E1′,若E1′和E1^^相等,则继续认证,并转步骤3.7,否则终止认证;E1^^为雾节点收到的E1^的值,T1^^为雾节点收到的T1^的值;
步骤3.7:雾节点根据收到的路边单元RSU1的伪身份PIDj1^,匹配路边单元RSU1的身份IDj1^和私密数据TKRC1^,若未匹配到,则终止认证,否则推导出路边单元RSU1选择的随机数Nj′:其中,TERC^为雾节点收到的TERC的值,TNRC^为将PIDj1^和TKRC1^代入到计算TNRC的公式后得到的值;
将Nj′,IDj1^,TERC^以及T2^代入到计算E2的公式中,得到验证参数E2',若E2'与E2'相等,则继续认证,并转步骤3.8,否则终止认证;E2^为雾节点收到的E2的值,T2^为雾节点收到的T2的值;
步骤3.8:雾节点选择时间戳T3,计算步骤3阶段用于路边单元向雾节点进行验证的参数E3:E3=h(IDj1^||Nj'||TEFR||T3);
其中,TEFR为对无人机身份和路边单元身份结合随机数加密后的值,雾节点将数据{TEFR,E3,T3}作为数据M3发送给路边单元RSU1;
步骤3.9:RSU1收到数据后验证M3中时间戳的新鲜度,若验证不通过,则终止认证,否则将TEFR^,Nj,IDj1以及T3^代入到计算E3的公式中,得到参数E3′;T3^为路边的单元收到的T3的值;TEFR^为路边单元收到的TEFR的值;
若E3^与E3′相等,则继续认证,RSU1采用如下公式推导出无人机的身份ID″i以及无人机选择的随机数Ni″,并计算路边单元向无人机发起会话的会话密钥SKi,否则终止认证:SKi=h(ID″i||IDj1||Ni″||Nj);
步骤3.10:RSU1选择时间戳T4,计算用于步骤3阶段无人机向路边单元进行验证的参数E4:E4=h(ID″i||Ni″||TERE1||T4);
其中,TERE1为ID″i和IDj1结合随机数加密后的值, 将数据{TERE1,E4,T4}作为数据M4发送给无人机;
步骤3.11:无人机收到数据后验证M4中时间戳的新鲜度,若验证不通过,则终止认证,否则无人机采用如下公式推导路边单元的身份ID′j1,路边单元选择的随机数N″j以及无人机向路边单元发起会话的会话密钥SKi′:(ID′j1||N″j)=TERE1^h(IDi||Ni);
SKi′=h(IDi||ID′j1||Ni||N″j);
其中,TERE1^为无人机收到的TERE1的值;
将IDi,Ni,TERE1^以及T4^代入到计算E4的公式中,得到参数E4′,若E4^与E4′相等,则无人机和RSU1完成相互认证并建立会话密钥,否则终止认证;E4^为无人机收到的E4的值,T4^为无人机收到的T4的值。
5.根据权利要求4所述的基于多因素认证的多实体跨域密钥协商与认证方法,其特征在于,所述步骤3.4中请求关于该无人机的私密数据具体为:步骤A:RSU1生成请求数据Reqj1,选择随机数NR和时间戳T5,并计算路边单元身份和私密数据结合随机数加密后的值TERC1和步骤3.4阶段用于CS向路边单元进行验证的参数E5:E5=h(IDj1||NR||TERC1||T5);
将{Reqj1,PIDi^,PIDj1,PIDf,TERC1,E5,T5}作为数据M5发送至CS;
步骤B:CS收到数据后验证M5中时间戳的新鲜度,若验证不通过,则终止认证,否则,CS根据收到的RSU1的伪身份PIDj1,cs匹配对应的身份IDj1,cs,若未匹配到则表明数据M5受到攻击,终止认证,若匹配到,则对RSU1的私密数据和随机数NR进行推导,得到推导后的私密数据TKRC1,cs和随机数NR′:TERC1,CS=h(PIDj1,cs||KCS);
其中,TERC1,CS为CS收到的TERC1的值;KCS为CS的长期密钥;
将NR′,IDj1,cs,T5,CS和TERC1,CS代入到计算E5的公式中,得到参数E5′;如果E5′和E5,CS相等,则转步骤C,否则终止认证;E5,CS为CS收到的E5的值;T5,CS为CS收到的T5的值;步骤C:CS选择时间戳T6和T7,使用h(IDj1,cs||TKRC1,cs)对无人机的私密数据TKEC通过对称加密进行加密,得到加密后的数据CNm,计算步骤3.4阶段路边单元向CS进行验证的参数E6:E6=h(IDj1,cs||NR′||CNm||T6);
CS根据收到的雾节点的伪身份PIDf,cs匹配到雾节点的身份IDf,cs,计算雾节点的私密数据TKFC,cs,使用h(IDf,cs||TKFC,cs)对TKEC通过对称加密技术加密,得到加密后的数据CNn,计算步骤3.4阶段雾节点向CS进行验证参数的E7:E7=h(IDf,cs||TKFC,cs||CNn||T7);
CS将{CNm,E6,T6}作为数据M6发送给路边单元RSU1,将{CNn,E7,T7}作为数据M7发送给雾节点;
步骤D:RSU1收到数据后验证M6中时间戳的新鲜度,若验证不通过,则终止认证,否则,将IDj1,NR以及 代入到计算E6的公式中,得到参数E6',若E6'和 不相等,则终止认证,若相等,则对 进行解密,得到解密后的无人机的私密数据;其中, 为RSU1收到的E6的值, 为RSU1收到的CNm的值, 为RSU1收到的T6的值;
步骤E:雾节点收到数据后验证M7中时间戳的新鲜度,若验证不通过,终止认证,否则,将IDf,TKFC,CNn,f以及T7,f代入到计算E7的公式中,得到参数E7′,若E7′和E7,f不相等,则终止认证,若相等,则对CNn,f进行解密,得到解密后的无人机的私密数据;F7,f为雾节点收到的E7的值,CNn,f为雾节点收到的CNn的值,T7,f为雾节点收到的T7的值。
6.根据权利要求1所述的基于多因素认证的多实体跨域密钥协商与认证方法,其特征在于:所述步骤4中的数据请求具体为:步骤a:RSU2首先生成数据请求Reqj2,选择随机数Ns和时间戳TC,然后计算步骤4数据请求阶段雾节点向RSU2进行验证的参数D3:D3=h(IDj2||Ns||TERF||TC);
其中,TERF为采用随机数和时间戳对RSU2的身份IDj2和私密数据TKRC2加密后的值,RSU2将{Reqj2,PIDi,PIDj2,TERF,D3,TC}作为数据Mc发送至雾节点;
步骤b:雾节点收到数据后验证Mc中时间戳的新鲜度,若验证不通过,则终止认证,否则雾节点根据自身收到的RSU2的伪身份PIDj2,f′匹配到RSU2的身份IDj2,f′,并在SGX中找到RSU2的私密数据TKRC2,f′,然后根据如下公式推导随机数Ns,得到Ns′,所述验证时间戳的新鲜度为,计算收到数据的时间和数据中时间戳之间的差值的绝对值,若该差值的绝对值大于等于预设的时间阈值,则验证不通过:其中,TERF,f为雾节点收到的TERF的值,将Ns′,IDj2,f′,TERF,f以及Tc,f代入到计算D3的公式中,得到参数D3′,若D3′和D3相等,则转步骤c,否则终止认证;TC,f为雾节点收到的TC的值,D3,f为雾节点收到的D3的值;
步骤c:雾节点选择时间戳TD,雾节点根据收到的无人机的伪身份PIDi,f′在SGX中找到与PIDi,f′对应的无人机的私密数据TKEC,f′,并对TKEC,f′进行加密,得到加密后的数据CNO,并计算步骤4数据请求阶段RSU2向雾节点进行验证的参数D4:D4=h(IDj2,f′||Ns′||CNO||TD);
雾节点将{CNO,D4,TD}作为数据Md发送给RSU2;
步骤d:RSU2收到数据后验证Md中时间戳的新鲜度,若验证不通过,则终止认证,否则将IDj2, 和Ns代入计算D4的公式中,得到参数D4′;若D4′和 相等,则认证成功,RSU2对 进行解密,得到无人机的私密数据,否则终止认证;其中, 为RSU2收到的CNO的值, 为RSU2收到的TD的值, 为RSU2收到的D4的值。
7.根据权利要求6所述的基于多因素认证的多实体跨域密钥协商与认证方法,其特征在于:步骤c中使用h(IDj2||TKRC2)对TKEC,f′进行加密。
8.根据权利要求1所述的基于多因素认证的多实体跨域密钥协商与认证方法,其特征在于:所述步骤5认证阶段具体为:步骤5.1:无人机选择随机数Nm和时间戳Ta,计算用于步骤5阶段RSU2向无人机进行验证的验证参数D5:D5=h(IDi||Nm||TEER||Ta);
其中, TNER=h(TKEC||PIDi||PIDj2),TNER为对无人机伪身份,无人机私密数据以及RSU2伪身份PIDj2进行加密后的数值,TEER为采用TNER和随机数Nm对无人机身份IDi进行加密后的数值,无人机将{PIDi,TEER,D5,Ta}作为数据Me发送给RSU2;
步骤5.2:RSU2收到数据后验证数据Me中时间戳的新鲜度,若验证不通过,则终止认证,否则RSU2根据如下公式推算出步骤5.1中无人机选择的随机数,所述验证时间戳的新鲜度为,计算收到数据的时间和数据中时间戳之间的差值的绝对值,若该差值的绝对值大于等于预设的时间阈值,则验证不通过;
其中,Nm'为推算出的步骤5.1中无人机选择的随机数, 为RSU2收到的无人机的身份; 为RSU2收到的TEER的值, 为对RSU2收到的无人机的伪身份 无人机私密数据以及RSU2的伪身份PIDj2进行加密后的数值, 的表达式为:通过如下公式计算参数D5':
其中, 为RSU2收到的Ta的值;
判断D5′与 是否相等,若不相等,则终止认证,否则转步骤5.3; 为RSU2收到的D5的值;
步骤5.3:RSU2选择随机数Nn和时间戳Tb,并计算步骤5阶段用于无人机向RSU2认证的参数D6以及RSU2向无人机发起通话的密钥SKj:D6=h(IDj2‖Nn‖TERE2‖Tb);
其中, TERE2为采用随机数Nn和Nm′对RSU2的身份IDj2加密后的值,RSU2将{TERE2,D6,Tb}作为数据Mf发送给无人机;
步骤5.4无人机收到数据后验证Mf中时间戳的新鲜度,若验证不通过,则终止认证,否则无人机通过如下公式推算出RSU2选择的随机数:其中,Nn′为推算出的RSU2选择的随机数,IDj2,E为无人机收到的RSU2的身份,TERE2,E为无人机收到的TERE2的值;
根据如下公式计算参数D6′和无人机向RSU2发起会话的密钥SKj′:D6′=h(IDj2,E||Nn′||TERE2,E||Tb,E);
SKj′=h(IDi||IDj2,E||Nm||Nn′);
其中,Tb,E为无人机收到的时间戳Tb的值;若D6′与D6,E相等,则认证通过,并建立会话密钥,否则终止认证,D6,E为无人机收到的D6的值。