1.一种面向VANET的无证书和签名的条件匿名认证方法,其特征在于,包括以下步骤:
1)参数设定:受信任机构TA初始化公共参数;具体过程如下:设p和q为2个大素数,满足q|p-1,g是乘法群Zp*上阶为q的本原元,使得在Zp*上求解以g为底的离散对数为困难问题;另设 为一抗碰撞Hash函数,HMACkey(m)为一安全MAC算法,其中密钥key∈{0,1}L,L为固定正整数;TA任选随机数 令y0=R并计算Y0=gR;另任选 计算 公布p,q,g,H,HMAC(x),Y0,...,Yk为公开参数;
2)用户注册:用户车辆申请加入车联网,TA存储车辆信息ID并生成一个私钥;TA判断此私钥与存储在追踪列表中的私钥是否重复,若重复,则重新为车辆生成私钥,若不重复,则TA向车辆分发该私钥作为车辆的私钥;
3)消息生成:发送者vi将用于消息验证的相关信息附加在消息m之后,生成消息cert(m),cert(m)=ω0||t1||T1||T2||...||Tk||y”1||y”2||...||y”k||m||σ(m);
4)消息验证:当车辆vj接收到来自发送者vi的消息cert(m)时,车辆vj利用自己私钥中的 对cert(m)进行验证,判断是否接受消息;
5)恶意车辆追踪:若接收消息后发现消息为恶意消息,TA对恶意车辆进行追踪,从而完成认证。
2.根据权利要求1所述的一种面向VANET的无证书和签名的条件匿名认证方法,其特征在于,步骤2)的具体过程如下:步骤一:TA随机选择k+2个横坐标值 满足对所有k≠j,有步骤二:TA选择k+1对 可唯一确定一个Zq上的k次拉格朗日插值多项式fi(x):
其中 为拉格朗日插值系数,l=0,1,...,k;
TA将 代入多项式fi(x)求解对应的步骤三:TA利用k+1个横坐标 计算其中一个插值系数步骤四:设集合 TA随机选择两个k维向量(z1,z2,...,zk), 且两个向量(z1,z2,...,zk)、(z1',z'2,...,z'k)与向量(y1,y2,...,yk)线性无关;
步骤五:TA在追踪列表List中存储记录车辆vi的真实身份若 与List中某个已注册车辆vj存储记录中的相等,则TA重新进行步骤一至步骤四;确保不同车辆的记录值 不同;若 与List中某个已注册车辆vj存储记录中的 不相等,则TA通过安全信道发送车辆vi的私钥给发送者vi作为其私钥。
3.根据权利要求1所述的一种面向VANET的无证书和签名的条件匿名认证方法,其特征在于,步骤3)的具体过程为:步骤一:利用 计算插值系数
*
步骤二:任选随机数r∈Zq ,车辆利用自己选定的随机数对来自TA的参数进行加密计算的结果Tl:Tl=(Yl(i))r,l=0,1,2,...k步骤三:计算用于消息验证阶段的中间变量t1、t0和系统当前时间和t1进行级联的结果ω1:t1=gr
t0=T0modq
ω1=H(t1||time)
此处time表示系统当前时间,用以防止重放攻击,x||y表示级联操作;ω1表示系统当前时间和t1进行级联的结果;
步骤四:利用 求解用于消息验证阶段的参数ω0:其中,ω1表示系统当前时间和t1进行级联的结果; 表示t0的逆元;
步骤五:任选随机数 利用向量zl和zl'对拉格朗日系数 进行计算,,加密计算的结果y”l为:步骤六:计算用于HMAC函数的密钥key:key=(Y0)r|L
此处x|L表示截取x最左边Lbit操作;
步骤七:计算消息m的HMAC码σ(m):σ(m)=HMACkey(m)
发送者vi发送消息cert(m)=ω0||t1||T1||T2||...||Tk||y”1||y”2||...||y”k||m||σ(m)。
4.根据权利要求1所述的一种面向VANET的无证书和签名的条件匿名认证方法,其特征在于,步骤3)中,用于消息验证的相关信息包括时间戳和消息的HMAC码。
5.根据权利要求1所述的一种面向VANET的无证书和签名的条件匿名认证方法,其特征在于,步骤4)的具体过程为:步骤一:车辆vj接收来自vi的消息cert(m)并从消息cert(m)中解析出t1,T1,T2,...,,Tk;
步骤二:计算用于消息验证阶段的参数T0':其中
步骤三:计算用于消息验证阶段的中间变量ω'1,t'0,Tk+1:ω'1=H(t1||time)
t'0=T'0 modq
步骤五:利用步骤三中计算的变量,计算用于消息验证阶段的参数T”0:并验证
T'0=T”0
是否成立,若不成立,则抛弃消息,若成立,继续步骤六;
步骤六:令key'=T'0|L,计算σ'(m)=HMACkey'(m),验证:σ(m)=σ'(m)
是否成立,若成立则接收消息,否则抛弃消息。
6.根据权利要求1所述的一种面向VANET的无证书和签名的条件匿名认证方法,其特征在于,步骤5)的具体过程如下:接收消息后,若cert(m)=ω0||t1||T1||T2||...||Tk||y”1||y”2||...||y”k||m||σ(m)被发现是恶意消息,则接收者将cert(m)提供给TA;TA执行以下过程:步骤一:计算用于验证车辆是否是恶意车辆的参数u:步骤二:对List中的每一条记录 分别计算用于验证车辆是否是恶意车辆的参数u':
并比较
u=u’
是否成立,若成立,则IDi为恶意车辆。