本发明属于车联网安全技术领域,具体涉及一种面向vanet的高效条件匿名认证方法。
背景技术:
作为移动自组网技术在交通领域的应用,车联网已成为未来智能交通系统的重要组成部分。利用车联网技术,可以改善道路通行状况,降低车辆事故,并且可以提供定制性娱乐服务,使得行车更安全、便捷、舒适。在vanet(车载自组网)中,配备有车载单元(obu)的车辆可以与其他人无线通信,称为v2v通信,或者与固定的路侧单元(rsu),称为v2r通信。通过v2v或v2r通信,车辆共享其交通信息,例如车辆的身份、行驶速度、方向、道路状况、位置、时间、驾驶状态等。通过接收这些共享信息,车辆能够意识到更大区域的交通状况,并且可以尽早做出反应以避免交通堵塞或交通事故。根据专用短程通信标准(dsrc),车辆需要在100-300ms内发送有关其自身交通信息的消息。为了确保车辆发送消息的真实性和可靠性,车辆需要将其身份与消息绑定。然而,车辆的身份与驾驶员的隐私有很大关系。考虑到隐私泄露,司机可能不愿意共享自己的消息,这是vanet的主要问题。
已有匿名认证方案中,基于pki的匿名机制是典型的传统方法。这种情况下,ta需要一次为车辆颁发多个匿名证书,并且车辆需要定期更新匿名证书。另外,车辆认证接收到的消息时,需要先检查crl来确定该消息使用的匿名证书是否已被撤销。这种方法的主要问题是对匿名证书和crl的动态更新会导致复杂的证书管理问题,并且crl规模的持续增长将导致crl检查耗时,降低认证效率。
技术实现要素:
本发明的目的是提供一种面向vanet的高效条件匿名认证方法。
为实现上述目的,本发明所采用的技术方案如下:
一种面向vanet的高效条件匿名认证方法,包括以下步骤:
1)参数设定:ta初始化公共参数;具体过程如下:ta生成双线性参数(g,gt,g,e,q);ta随机选择参数a1,a2,...,an,ai∈zq*,1≤i≤n,zq*表示整数集合[1,q-1],令参数a=(a1,a2,...,an);ta另随机选择系统主密钥s∈zq*;ta公开双线性参数(g,gt,g,e,q)并保存系统主私钥(a,s),ta生成自己的签名密钥对(skta,pkta)及相应的证书certta并公开certta;
3)车辆注册:用户注册车辆vi时,提供自己的真实身份ridi给ta;ta验证车辆真实身份并为vi生成相应的私钥xi1,...,xi(n-1),yin,y′i;
3)路侧单元注册:对一个新加入的路侧单元rsui,ta为其生成相应的公私钥对、证书
4)车辆认证:当车辆进入一个新的rsu的区域时,首先向rsu匿名认证自己的身份;认证成功后,rsu向获得认证的车辆发送临时匿名证书
5)消息广播:车辆vi广播消息m时,使用自己的私钥
6)消息验证:设车辆vj接收到消息
7)恶意车辆追踪:若接收消息后发现消息为恶意消息,ta对恶意车辆进行追踪。
本发明进一步的改进在于,步骤2)中车辆注册的具体过程如下:
步骤一:用户车辆vi提供自己的真实身份ridi给ta,ta核实用户车辆vi的身份信息;
步骤二:若身份核实无误,ta随机选择一组随机数xi1,xi2,...,xin∈zq*,满足
步骤三:ta计算用户的参数信息
步骤四:ta计算部分私钥参数
步骤五:ta通过安全信道发送随机数xi1,...,xi(n-1),部分私钥参数yin,部分私钥参数y′i给用户车辆vi作为其私钥。
本发明进一步的改进在于,步骤3)中,路侧单元注册的具体过程如下:
对一个新加入的路侧单元rsui,ta执行以下过程:
步骤一:ta为路侧单元rsui随机生成用于签名的公私钥对
步骤二:ta选择随机数r∈zq*并存储rsui的证书以及随机数信息
步骤三:ta计算并发送私钥信息
本发明进一步的改进在于,步骤4)中,车辆认证的具体过程如下:
步骤一:路侧单元rsui选择两个随机数r,t∈zq*,并计算参数ti=(ui)rgt,1≤i≤n-1,参数tn=run+tmod(q-1);其中变量
步骤二:路侧单元rsui广播当前消息
本发明进一步的改进在于,步骤5)中,消息广播的具体过程如下:
当用户车辆vi新进入路侧单元rsui通信区域时,将接收到路侧单元rsui当前广播的认证消息
步骤一:用户车辆vi利用ta的证书certta中包含的ta公钥pkta验证rsui的证书
步骤二:用户车辆vi利用rsui的证书
步骤三:用户车辆vi选择随机数r'∈zq*,计算一组认证消息c1=(us)r′,
其中参数
步骤四:用户车辆vi随机生成用于签名的公私钥对
路侧单元rsui收到用户车辆vi发送的消息
步骤一:验证两个双线性函数组成的等式e(c2,c3)=e(g,g)是否成立,若成立,继续步骤二,否则终止进行;
步骤二:计算参数c′1=(c1)r,c'3=(c3)t;
步骤三:计算对称密钥k'=c′1c'3,消息认证码
步骤四:路侧单元rsui为车辆vi生成临时证书
用户车辆vi使用rsui的公钥
用户车辆vi广播消息m时,使用自己的私钥
本发明进一步的改进在于,用户车辆vi广播消息m时,使用自己的私钥
步骤一:车辆vi使用自己的私钥
步骤二:广播消息
本发明进一步的改进在于,步骤6)中,验证消息的具体过程如下:
假设车辆vj接收到车辆vi广播的消息
步骤一:判断time是否新鲜,若是则继续步骤二,否则抛弃消息;
步骤二:利用已经存储的rsui的公钥
步骤三:使用vi的证书
本发明进一步的改进在于,步骤7)的具体过程如下:
步骤一:如果车辆vj收到一个来自vi发送的恶意消息
步骤二:路侧单元rsui首先从vi的证书
ta收到路侧单元rsui发送的记录
步骤一:查找对应路侧单元rsui的存储信息
步骤二:遍历追踪列表tl,计算参数
与现有技术中的匿名认证方案相比,本发明的有益效果是:
(1)与现有基于证书的车联网匿名认证方案相比,本发明中车辆不需要存储大量的匿名证书和crl列表,不存在复杂的管理问题,认证消息时车辆也不需要进行耗时的crl检查。
(2)本发明中ta一旦追踪到一个恶意车辆后,只需要在crl中增加一条记录,并且只需要更新所有rsu存储的crl列表。而现有基于证书的匿名认证方案中,每撤销一辆恶意车辆,需要在crl中增加多条记录,并需要更新所有车辆存储的crl列表,因而其crl更新过程远远比本发明复杂,同时其crl的规模增长远大于本发明中的crl增长,相应的crl检查也比本发明更耗时。
(3)与现有基于身份的公钥密码设计的车联网匿名认证方案相比,本发明不需要依赖tpm假设。
(4)与rongxinglu等人以及dijianghuang等人提出的2个同类方案相比,本发明中车辆不需要从ta获得任何匿名证书,能够抵抗多个被恶意控制的rsu间的共谋追踪攻击。而在这2个的方案中,车辆向rsu认证时,需要出示从ta获得的固定匿名证书,通过关联此固定证书,多个rsu能够获得车辆的轨迹隐私,即这2个的方案不能抵抗多个rsu的共谋追踪攻击。另外,这2个方案中,为了避免rsu以外的攻击者实施关联攻击,车辆认证时消息必须进行加密传送,需要使用加解密算法,而本发明中车辆认证时不需要对消息进行加解密操作。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
参见图1,本发明的方法包括系统参数设置、用户车辆注册、路侧单元注册、用户车辆认证、消息生成、消息验证和恶意车辆追踪七个部分,具体步骤如下:
1)参数设定:受信任机构(ta)初始化公共参数;具体过程如下:
ta生成双线性参数(g,gt,g,e,q)。设q是一个大素数;g,gt是阶为q的两个乘法循环群,g群g的一个生成元,假设g中求解以g底的离散对数为困难问题;e:g×g→gt为双线性映射;hmack(m)为一安全mac算法,其中k为一对称密钥;x||y表示x与y进行级联操作;ta随机选择参数a1,a2,...,an,ai∈zq*,1≤i≤n,zq*表示整数集合[1,q-1],令向量a=(a1,a2,...,an)。ta另随机选择系统主密钥s∈zq*。ta公开系统参数即双线性参数(g,gt,g,e,q)并保存(a,s),称(a,s)为系统主私钥。ta生成自己的签名密钥对(skta,pkta)及相应的证书certta并公开certta。除特别说明外,本发明中所有算术操作都是模q运算。
2)用户车辆注册:用户车辆注册时的过程如下:
步骤一:用户车辆vi提供自己的真实身份ridi(例如车牌号码、用户身份证号码等)给ta,ta核实用户车辆vi的身份信息;
步骤二:若身份核实无误,ta随机选择一组随机数xi1,xi2,...,xin∈zq*,满足
步骤三:ta计算用户的参数信息
步骤四:ta计算部分私钥参数
步骤五:ta通过安全信道发送随机数xi1,...,xi(n-1),部分私钥参数yin,部分私钥参数y′i给用户车辆vi作为其私钥。
3)路侧单元注册:对一个新加入的路侧单元rsui,ta执行以下过程:
步骤一:ta为路侧单元rsui随机生成用于签名的公私钥对
步骤二:ta选择随机数r∈zq*并存储rsui的证书以及随机数信息
步骤三:ta计算并发送私钥信息
4)用户车辆认证:为了认证进入的车辆,每个rsu周期性(例如5分钟)广播用于认证的消息,具体过程如下:
步骤一:路侧单元rsui选择两个随机数r,t∈zq*,并计算参数ti=(ui)rgt,1≤i≤n-1,参数tn=run+tmod(q-1)。其中变量
步骤二:路侧单元rsui广播当前消息
5)消息生成
当用户车辆vi新进入路侧单元rsui通信区域时,将接收到路侧单元rsui当前广播的认证消息
步骤一:用户车辆vi利用ta的证书certta中包含的ta公钥pkta验证rsui的证书
步骤二:用户车辆vi利用rsui的证书
步骤三:用户车辆vi选择随机数r'∈zq*,计算一组认证消息c1=(us)r′,
步骤四:用户车辆vi随机生成用于签名的公私钥对
路侧单元rsui收到vi发送的消息
步骤一:验证两个双线性函数组成的等式e(c2,c3)=e(g,g)是否成立,若成立,继续步骤二,否则终止进行;
步骤二:计算参数c′1=(c1)r,c'3=(c3)t;
步骤三:计算对称密钥k'=c′1c'3,消息认证码
步骤四:路侧单元rsui为车辆vi生成临时证书
用户车辆vi使用rsui的公钥
6)消息广播过程:车辆vi广播消息m时,使用自己的私钥
具体过程如下:
步骤一:车辆vi使用自己的私钥
步骤二:广播消息
7)消息验证过程:
假设车辆vj接收到车辆vi广播的消息
步骤一:判断time是否新鲜,若是则继续步骤二,否则抛弃消息;
步骤二:利用已经存储的rsui的公钥
步骤三:使用vi的证书
8)恶意车辆追踪:若车辆vj接收消息后发现消息为恶意消息,ta对恶意车辆进行追踪;具体过程如下:
步骤一:如果车辆vj收到一个来自vi发送的恶意消息
步骤二:路侧单元rsui首先从vi的证书
ta收到路侧单元rsui发送的记录
步骤一:查找对应路侧单元rsui的存储信息
步骤二:遍历追踪列表tl,计算参数
为了验证方法的效率,采用实验模拟测试了生成认证消息、验证认证消息这两个过程的时间性能。实验设置的系统参数q的大小为1024bit,随机选择了5组数据进行验证。由表1可知,实验结果显示生成认证消息开销大约为11ms,验证认证消息开销大约为6ms,可以满足实际需求。实验结果表明本发明的应用是可行的。
表1实验数据(单位:s)