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