发明内容
本发明的目的是提供一种面向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)路侧单元注册:对一个新加入的路侧单元RSU
i,TA为其生成相应的公私钥对、证书
以及其它信息并通过安全信道发送给路侧单元RSU
i;
4)车辆认证:当车辆进入一个新的RSU的区域时,首先向RSU匿名认证自己的身份;认证成功后,RSU向获得认证的车辆发送临时匿名证书
5)消息广播:车辆v
i广播消息m时,使用自己的私钥
生成签名σ
m,广播消息
6)消息验证:设车辆v
j接收到消息
首先对其进行验证,若通过验证v
j就接收消息msg;否则抛弃;
7)恶意车辆追踪:若接收消息后发现消息为恶意消息,TA对恶意车辆进行追踪。
本发明进一步的改进在于,步骤2)中车辆注册的具体过程如下:
步骤一:用户车辆vi提供自己的真实身份RIDi给TA,TA核实用户车辆vi的身份信息;
步骤二:若身份核实无误,TA随机选择一组随机数x
i1,x
i2,...,x
in∈z
q *,满足
步骤三:TA计算用户的参数信息
并在追踪表TL中存储用户车辆的真实身份和相关参数信息y
i=RID
i||z
i,并进行步骤四;若用户的相关信息y
i与追踪表TL中已有存储值相等,则继续步骤二;
步骤五:TA通过安全信道发送随机数xi1,...,xi(n-1),部分私钥参数yin,部分私钥参数y′i给用户车辆vi作为其私钥。
本发明进一步的改进在于,步骤3)中,路侧单元注册的具体过程如下:
对一个新加入的路侧单元RSUi,TA执行以下过程:
步骤一:TA为路侧单元RSU
i随机生成用于签名的公私钥对
及相应的RSU
i的证书
步骤二:TA选择随机数r∈z
q *并存储RSU
i的证书以及随机数信息
步骤三:TA计算并发送私钥信息
ra
n modq,g
rs,sk
i以及RSU
i的证书
给路侧单元RSU
i。
本发明进一步的改进在于,步骤4)中,车辆认证的具体过程如下:
步骤一:路侧单元RSU
i选择两个随机数R,t∈Z
q *,并计算参数T
i=(u
i)
Rg
t,1≤i≤n-1,参数t
n=Ru
n+tmod(q-1);其中变量
变量u
n=ra
nmodq-1;
步骤二:路侧单元RSU
i广播当前消息
其中消息M=T
1||T
2||...||T
n-1||t
n,签名
参数u
s=g
rs。
本发明进一步的改进在于,步骤5)中,消息广播的具体过程如下:
当用户车辆v
i新进入路侧单元RSU
i通信区域时,将接收到路侧单元RSU
i当前广播的认证消息
用户车辆执行如下过程:
步骤一:用户车辆v
i利用TA的证书cert
TA中包含的TA公钥pk
TA验证RSU
i的证书
是否有效;若有效,则存储RSU
i的证书
并继续步骤二,否则终止认证过程;
步骤二:用户车辆v
i利用RSU
i的证书
中包含的RSU
i的公钥
验证RSU
i的签名σ是否有效;若有效,继续步骤三,否则终止认证过程;
步骤三:用户车辆v
i选择随机数R'∈Z
q *,计算一组认证消息c
1=(u
s)
R′,
c
3=(y′
i)
R,
步骤四:用户车辆v
i随机生成用于签名的公私钥对
计算消息认证码
发送消息
给路侧单元RSU
i;
路侧单元RSU
i收到用户车辆v
i发送的消息
后,进行以下过程:
步骤一:验证两个双线性函数组成的等式e(c2,c3)=e(g,g)是否成立,若成立,继续步骤二,否则终止进行;
步骤二:计算参数c′1=(c1)R,c'3=(c3)t;
步骤三:计算对称密钥k'=c′
1c'
3,消息认证码
验证β=β'是否成立,若成立则意味着用户车辆v
i通过验证,否则终止进行;
步骤四:路侧单元RSU
i为车辆v
i生成临时证书
其中valid为证书的有效期限;路侧单元RSU
i广播v
i的证书
并记录
用户车辆v
i使用RSU
i的公钥
验证证书
是否有效;若有效,则存储证书
作为自己的临时匿名证书;
用户车辆v
i广播消息m时,使用自己的私钥
生成签名σ
m,广播消息msg。
本发明进一步的改进在于,用户车辆v
i广播消息m时,使用自己的私钥
生成签名σ
m,广播消息msg的具体过程如下:
本发明进一步的改进在于,步骤6)中,验证消息的具体过程如下:
假设车辆v
j接收到车辆v
i广播的消息
则进行以下验证过程:
步骤一:判断time是否新鲜,若是则继续步骤二,否则抛弃消息;
步骤二:利用已经存储的RSU
i的公钥
对v
i的证书
进行验证,若通过验证,则继续步骤三,否则抛弃消息;
步骤三:使用v
i的证书
中包含的公钥
对v
i的签名σ
m进行验证,若通过验证则接受v
i发送的消息m,否则抛弃消息。
本发明进一步的改进在于,步骤7)的具体过程如下:
步骤一:如果车辆v
j收到一个来自v
i发送的恶意消息
则将这个消息msg发送给路侧单元RSU
i;
步骤二:路侧单元RSU
i首先从v
i的证书
中提取出相应的公钥
再查找出对应的记录
并将其递交给TA;
TA收到路侧单元RSU
i发送的记录
后,执行以下追踪过程:
步骤一:查找对应路侧单元RSU
i的存储信息
利用密钥r和主私钥s,计算参数
步骤二:遍历追踪列表TL,计算参数
并比较α
i=c
3是否成立,若成立则对应记录RID
i||z
i中的RID
i为发送该恶意消息的车辆。
与现有技术中的匿名认证方案相比,本发明的有益效果是:
(1)与现有基于证书的车联网匿名认证方案相比,本发明中车辆不需要存储大量的匿名证书和CRL列表,不存在复杂的管理问题,认证消息时车辆也不需要进行耗时的CRL检查。
(2)本发明中TA一旦追踪到一个恶意车辆后,只需要在CRL中增加一条记录,并且只需要更新所有RSU存储的CRL列表。而现有基于证书的匿名认证方案中,每撤销一辆恶意车辆,需要在CRL中增加多条记录,并需要更新所有车辆存储的CRL列表,因而其CRL更新过程远远比本发明复杂,同时其CRL的规模增长远大于本发明中的CRL增长,相应的CRL检查也比本发明更耗时。
(3)与现有基于身份的公钥密码设计的车联网匿名认证方案相比,本发明不需要依赖TPM假设。
(4)与Rongxing Lu等人以及Dijiang Huang等人提出的2个同类方案相比,本发明中车辆不需要从TA获得任何匿名证书,能够抵抗多个被恶意控制的RSU间的共谋追踪攻击。而在这2个的方案中,车辆向RSU认证时,需要出示从TA获得的固定匿名证书,通过关联此固定证书,多个RSU能够获得车辆的轨迹隐私,即这2个的方案不能抵抗多个RSU的共谋追踪攻击。另外,这2个方案中,为了避免RSU以外的攻击者实施关联攻击,车辆认证时消息必须进行加密传送,需要使用加解密算法,而本发明中车辆认证时不需要对消息进行加解密操作。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
参见图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随机选择一组随机数x
i1,x
i2,...,x
in∈z
q *,满足
a
j是TA随机选择的参数,这里的i,j只是表示变量在执行计算时的一个下标变化。
步骤三:TA计算用户的参数信息
并在追踪表TL中存储用户车辆的真实身份和相关参数信息y
i=RID
i||z
i,并进行步骤四;若用户的相关信息y
i与追踪表TL中已有存储值相等,则继续步骤二;
步骤五:TA通过安全信道发送随机数xi1,...,xi(n-1),部分私钥参数yin,部分私钥参数y′i给用户车辆vi作为其私钥。
3)路侧单元注册:对一个新加入的路侧单元RSUi,TA执行以下过程:
步骤一:TA为路侧单元RSU
i随机生成用于签名的公私钥对
及相应的RSU
i的证书
步骤二:TA选择随机数r∈z
q *并存储RSU
i的证书以及随机数信息
步骤三:TA计算并发送私钥信息
ra
n modq,g
rs,sk
i以及RSU
i的证书
给路侧单元RSU
i。
4)用户车辆认证:为了认证进入的车辆,每个RSU周期性(例如5分钟)广播用于认证的消息,具体过程如下:
步骤一:路侧单元RSU
i选择两个随机数R,t∈Z
q *,并计算参数T
i=(u
i)
Rg
t,1≤i≤n-1,参数t
n=Ru
n+tmod(q-1)。其中变量
变量u
n=ra
nmodq-1;
步骤二:路侧单元RSU
i广播当前消息
其中消息M=T
1||T
2||...||T
n-1||t
n,签名
参数u
s=g
rs。
5)消息生成
当用户车辆v
i新进入路侧单元RSU
i通信区域时,将接收到路侧单元RSU
i当前广播的认证消息
车辆执行如下过程:
步骤一:用户车辆v
i利用TA的证书cert
TA中包含的TA公钥pk
TA验证RSU
i的证书
是否有效。若有效,则存储RSU
i的证书
并继续步骤二,否则终止认证过程;
步骤二:用户车辆v
i利用RSU
i的证书
中包含的RSU
i的公钥
验证RSU
i的签名σ是否有效。若有效,继续步骤三,否则终止认证过程;
步骤三:用户车辆v
i选择随机数R'∈Z
q *,计算一组认证消息c
1=(u
s)
R′,
c
3=(y″
i)
R,其中参数
并计算对称密钥
步骤四:用户车辆v
i随机生成用于签名的公私钥对
计算消息认证码
发送消息
给路侧单元RSU
i。
路侧单元RSU
i收到v
i发送的消息
后,进行以下过程:
步骤一:验证两个双线性函数组成的等式e(c2,c3)=e(g,g)是否成立,若成立,继续步骤二,否则终止进行;
步骤二:计算参数c′1=(c1)R,c'3=(c3)t;
步骤三:计算对称密钥k'=c′
1c'
3,消息认证码
验证β=β'是否成立,若成立则意味着用户车辆v
i通过验证,否则终止进行;
步骤四:路侧单元RSU
i为车辆v
i生成临时证书
其中valid为证书的有效期限(例如有效期限为5min)。路侧单元RSU
i广播v
i的证书
并记录
用户车辆v
i使用RSU
i的公钥
验证证书
是否有效。若有效,则存储证书
作为自己的临时匿名证书。
6)消息广播过程:车辆v
i广播消息m时,使用自己的私钥
生成签名σ
m,广播消息msg。
具体过程如下:
步骤二:广播消息
其中time为当前时间,用于防止重放攻击。
7)消息验证过程:
假设车辆v
j接收到车辆v
i广播的消息
则进行以下验证过程:
步骤一:判断time是否新鲜,若是则继续步骤二,否则抛弃消息;
步骤二:利用已经存储的RSU
i的公钥
对v
i的证书
进行验证,若通过验证,则继续步骤三,否则抛弃消息;
步骤三:使用v
i的证书
中包含的公钥
对v
i的签名σ
m进行验证,若通过验证则接受v
i发送的消息m,否则抛弃消息。
8)恶意车辆追踪:若车辆vj接收消息后发现消息为恶意消息,TA对恶意车辆进行追踪;具体过程如下:
步骤一:如果车辆v
j收到一个来自v
i发送的恶意消息
则将这个消息msg发送给路侧单元RSU
i;
步骤二:路侧单元RSU
i首先从v
i的证书
中提取出相应的公钥
再查找出对应的记录
并将其递交给TA。
TA收到路侧单元RSU
i发送的记录
后,执行以下追踪过程:
步骤一:查找对应路侧单元RSU
i的存储信息
利用密钥r和主私钥s,计算参数
步骤二:遍历追踪列表TL,计算参数
并比较α
i=c
3是否成立,若成立则对应记录RID
i||z
i中的RID
i为发送该恶意消息的车辆。
为了验证方法的效率,采用实验模拟测试了生成认证消息、验证认证消息这两个过程的时间性能。实验设置的系统参数q的大小为1024bit,随机选择了5组数据进行验证。由表1可知,实验结果显示生成认证消息开销大约为11ms,验证认证消息开销大约为6ms,可以满足实际需求。实验结果表明本发明的应用是可行的。
表1实验数据(单位:s)