1.一种基于消息预认证技术的车联网v2v高效通信方法,其特征在于,包括以下步骤:S1、车辆及RSU线下获得身份证书后,进行线上双向认证,完成车辆身份初始化,初始化分为线下和线上初始化两部分;线下初始化基于PKI系统实现OBU和RSU身份认证,生成初始参数以及CA证书;线上初始化完成车辆驶入RSU通信范围后的双向认证,以及用于车辆间后继安全高效通信的假名注册和会话密钥的生成;
所述步骤S1具体包括以下步骤:
S11、RSU身份注册,TC中心的PKI服务器CA统一部署RSU,为其生成身份标识IDR,并利用RSA算法:选取两个素数p,q,计算n=p×q,选取e满足gcd(φ(n),e)=1,1<e<φ(n);计算‑1d≡e (modφ(n)),计算得公私钥对PR={e,n},SR={d,n},CA结合IDR、公钥及时间戳元素生成本域身份证书CertR;
S12、车辆(OBU)身份注册,经核实车辆提供有效身份信息,CA为其生成车辆身份标识ID,利用RSA算法计算公私钥对{PV,SV},CA结合车辆ID、本地域ID、公钥及时间戳元素生成本域身份证书CertV,并将CertV存于OBU设备;
S13、车辆Vi驶入某RSU Ri的通信范围,Ri周期性发送的Hello报文被车辆Vi检测到RSU Ri广播自己的证书和签名:Ri‑>Vi:{CertR,Sign(SR,CertR)};
S14、车辆Vi接收到RSU广播信息,成功验证RSU的公钥证书CertR,从CertR获得Ri的公钥PR,Vi生成大素数q以及整数a,aRi:{Certv,Sign(Sv,Certv||E2(PR,a||q||Yv))};
S15、RSU Ri获取车辆Vi的消息,成功验证车辆Vi的公钥证书Certv,从Certv获得Vi的公钥PV和大素数q以及整数a、Yv,Ri产生整数XR(XR<q),计算 生成共享密钥并为此车分配一个假名IDi,为保护车辆的隐私,防止车辆移动轨迹被跟踪,方案为同一时段内所有车分配相同的假名IDi,同一时段内所有车使用同一个假名IDi和RSU通信,RSU将假名、共享会话密钥、车辆证书、时间戳存入列表,假名和共享会话密钥是一对多的关系;
Ri用车辆Vi的公钥PV加密假名IDi和参数YR后发送给Vi:
Ri‑>Vi:{E2(Pv,YR||IDi)}
S16、车辆Vi用私钥Sv解密来自Ri的消息,获得YR和假名IDi,生成共享密钥S2、车辆向RSU提交预发布消息,RSU完成对消息的预认证,采用消息认证码技术实现消息的完整性和身份预验证,RSU将合法消息的hash值存入缓存表,以完成消息快速认证;
所述步骤S2具体包括以下步骤:
S21、车辆发送消息前,首先用HMAC算法和共享密钥K对消息(IDi||Mi||Tmi)计算消息认证码,向RSU发送消息:Vi‑>Ri:{IDi||Mi||Tmi||HMAC(K,IDi||Mi||Tmi)}其中,IDi是线上初始化阶段的假名;Mi为业务消息;Tmi为发送消息Mi的当前时间,用于防止重放攻击;
S22、Ri收到消息后,判断当前时间Tn和Tmi的时间差,若|Tn‑Tmi|>Δt,表明不是双方认可的时间延迟,拒绝接受该消息;否则进行预认证操作S23;
S23、Ri无法根据IDi值判断是哪个车辆发出的消息,必须轮寻所有与IDi匹配的共享会话密钥K,方法为:对消息中的IDi、Mi、Tmi,依次用表中的K执行HMAC运算,查看结果是否等于接受消息中的HMAC(K,IDi||Mi||Tmi)值:(1)若Ri尝试了与IDi对应的所有K值,均无法匹配,消息被认为是被篡改或者发送者不拥有会话密钥K,没有通过线上认证,身份不合法,消息无效被丢弃;
(2)若找到匹配值,则根据消息认证码的原理表明,同时认证了消息完整性和用户合法性,将消息中的IDi、Mi、Tmi字段进行hash运算:HAi=hash(IDi||Mi||Tmi),然后将(HAi,Tci)加入hash缓存表,其中Tci为HAi加入缓存表的时间戳,保证合法消息的时效性;
S3、接收该消息的车辆向RSU申请消息认证,RSU匹对缓存消息并反馈验证结果,用于消息的快速认证,提交完消息预认证后,车辆等待一个预定义阈值时间向其他车辆发送该消息,其他车辆成功接收消息,首先将其缓存到本地数据库,并对相关字段进行hash运算,把运算后的值用RSU公钥进行加密后发送至RSU,RSU将该值匹配hash缓存表,若匹配则将验证成功消息反馈给车辆,否则反馈验证失败消息;
所述步骤S3具体包括以下步骤:
S31、车辆提交消息进行预认证,并等待一个预定义阈值时间ΔT后,向其他车辆发送该消息,包含字段假名IDi、业务数据Mi、发送此条消息进行预认证的时间Tmi;
Vi‑>Vj:{IDi||Mi||Tmi}
S32、车辆Vj收到Vi发送的消息,计算HA=hash(IDi||Mi||Tmi),将消息缓存入本地数据库,记录格式为:(IDi,Mi,Tmi,HA);
S33、车辆Vj用共享密钥K签名HA及自身假名IDj,一起发送至RSU:Vj‑>Ri:{IDj||HA||Sign(K,IDj||HA)}
此处的HA无需加密保护,攻击者伪造HA值并不能被RSU验证通过,签名用于身份认证,防止DOS攻击;
S34、RSU获得{IDj||HA||Sign(k,HA)},先通过假名IDj匹配车辆线上初始化信息存储表,获得该车的共享密钥K,再利用签名值验证发送者身份,若成功则将HA的值检索hash缓存表进行匹配,并将匹配结果反馈给车辆:Ri‑>Vj:{E1(K,result)}。
2.根据权利要求1所述的基于消息预认证技术的车联网v2v高效通信方法,其特征在于,所述RSU验证消息过程为:RSU将hash值HA与存储的hash缓存表进行匹对:S341、有匹配项则验证成功,置标志result=1;
S342、否则再等待一个预定义阈值时间ΔT重新检索,若找到匹配项,则验证成功,置标志result=1;否则验证失败,置标志result=0;
S343、将验证结果加密E1(K,result)发送至车辆Vj,车辆Vj接受到此密文,用共享密钥K解密,result=D1(K,E1(K,result));
S344、若result为1,车辆Vj确认缓存的消息,消息认证通过,否则清除缓存中该条消息记录,消息认证不通过。