«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (10): 34-42, 51  DOI: 10.19678/j.issn.1000-3428.0061105
0

引用本文  

杨吉云, 姚锐冬, 周洁, 等. 基于切比雪夫混沌映射的车联网高效认证方案[J]. 计算机工程, 2021, 47(10), 34-42, 51. DOI: 10.19678/j.issn.1000-3428.0061105.
YANG Jiyun, YAO Ruidong, ZHOU Jie, et al. Efficient Authentication Scheme Based on Chebyshev Chaotic Map for VANET[J]. Computer Engineering, 2021, 47(10), 34-42, 51. DOI: 10.19678/j.issn.1000-3428.0061105.

基金项目

重庆市技术创新与应用发展专项(cstc2019jscx-msxm0341)

作者简介

杨吉云(1975-), 男, 副教授、博士, 主研方向为信息安全、隐私保护、恶意代码分析;
姚锐冬, 硕士研究生;
周洁, 硕士研究生;
高凌云, 硕士研究生

文章历史

收稿日期:2021-03-12
修回日期:2021-05-24
基于切比雪夫混沌映射的车联网高效认证方案
杨吉云1 , 姚锐冬1 , 周洁1 , 高凌云2     
1. 重庆大学 计算机学院, 重庆 400044;
2. 中国石油集团测井有限公司西南分公司, 重庆 400030
摘要:车联网在智能交通系统构建中发挥重要作用,消息认证方案能够为车联网的实际应用提供可靠性和安全性保障,但现有认证方案多数存在计算效率低下的问题,为此,提出一种基于切比雪夫混沌映射的车联网认证方案。利用切比雪夫多项式的半群性质构建对称密钥,以实现车辆节点与路边设施单元(RSU)的密钥协商。车辆节点使用由RSU分发的时效性共享密钥完成车辆间的匿名消息认证,无须为每个消息签名验证一个较大的撤销列表,车辆的撤销也不会影响群组性能。分析结果表明,该方案可以满足车联网的安全需求并抵御多种安全攻击,同时提供条件隐私保护,其密钥协商与消息认证阶段的计算效率较高,通信开销较低。
关键词车联网    混沌映射    认证    智能交通系统    条件隐私保护    
Efficient Authentication Scheme Based on Chebyshev Chaotic Map for VANET
YANG Jiyun1 , YAO Ruidong1 , ZHOU Jie1 , GAO Lingyun2     
1. College of Computer Science, Chongqing University, Chongqing 400044, China;
2. Southwest Branch of CNPC Logging Co., Ltd., Chongqing 400030, China
Abstract: Vehicular Ad-hoc Network(VANET) plays an important role in the construction of intelligent transportation systems.The message authentication schemes can ensure the reliability and security of VANET in practical applications, but most of the existing authentication schemes are limited in the computational efficiency.To address the problem, an authentication scheme based on Chebyshev chaotic map for VANET is proposed.With the semi-group nature of Chebyshev polynomial, the proposed scheme securely constructs the symmetric key to finish the key agreement phase between vehicle nodes and the Road-Side Unit(RSU).Then the vehicle nodes use the temporary shared key distributed by RSU to complete the anonymous message authentication phase.There is no need to verify a large revocation list for each signature, and the revocation of vehicles will not affect the performance of the group.The analysis results show that the proposed scheme satisfies the security requirements of VANET for resisting a variety of security attacks, and provides conditional privacy-preserving at the same time.In the key agreement phase and message authentication phase, the scheme exhibits an improved computational effiency and reduced communication overhead.
Key words: Vehicular Ad-hoc Network(VANET)    chaotic map    authentication    intelligent transportation system    conditional privacy-preserving    

开放科学(资源服务)标志码(OSID):

0 概述

车联网(Vehicular Ad-hoc Network,VANET)是一种分布式的自组织通信网络,目的是提高交通效率、保障交通安全并为车辆提供优质服务,其对于智能交通系统的构建具有重要作用[1]。VANET系统主要包含可信权威机构(Trusted Authority,TA)、路边设施单元(Road-Side Unit,RSU)、车辆等3种实体。每辆车都配备一个车载单元(On-Board Unit,OBU),在车辆通信过程中负责资源命令处理和读写存储[2]。RSU作为TA与车辆之间通信和认证的桥梁,TA是VANET中被其他实体所信任的管理者,负责系统内所有RSU和OBU的注册与认证。

在VANET中,RSU与TA通过有线安全信道连接,而车辆基于IEEE 802.11p标准使用专用短程通信(Dedicated Short Range Communication,DSRC)协议[3]进行无线通信,通信分为车辆与车辆(Vehicle-to-Vehicle,V2V)通信、车辆与基础设施(Vehicle-to-Infrastructure,V2I)通信2种类型。依据DSRC协议,V2V和V2I通信使用公开的无线信道。

由于采用公开的无线通信方式,VANET消息在传送过程中很容易被恶意攻击者拦截和窃听,并对消息发起修改、伪装、重放等攻击[4]。恶意消息的发布会为车辆提供错误的交通状况信息,从而导致交通事故的发生,严重影响系统功能,此外,还会使得车辆的隐私信息暴露[5]。因此,需要设计安全高效的消息认证方案,以保证VANET消息的可靠性和完整性并抵抗安全攻击。VANET内还可能存在发布垃圾信息或虚假信息的车辆,因此,绝对匿名的方案不可行[6],应当使用条件隐私保护[7]的匿名认证方案,仅TA可以对此类车辆进行追踪,获取其真实身份并对合法认证进行撤销。

近年来,许多国内外学者针对上述问题进行了大量研究,并提出了很多有价值的方案。由于传统基于公钥基础设施(Public Key Infrastructure,PKI)的方案需要管理大量的匿名证书和撤销列表[8],因此存在较重的计算负担,难以满足VANET的系统性能需求[9]。为避免基于PKI方案在匿名证书管理中付出过高代价,基于身份基签名(Identity-Based Signature,IBS)的方案利用身份生成公私钥对为消息签名,而不需要为公钥分配证书,因此,其广泛应用于无证书公钥加密方案中,提高了计算效率。文献[10]提出一种新的无证书聚合签名方案,该方案同时具有IBS和聚合签名的优点,消息批量认证时只需进行常数个双线性对运算,节省了计算开销。文献[11]提出一种基于一次性身份聚合签名的认证协议,该协议能够解决密钥托管问题,且不依赖于完全可信的第三方。文献[12]提出一种新的高效认证方案,该方案在密钥协商过程中向通过验证的车辆分发临时共享密钥,车辆节点使用该密钥进行匿名消息认证,而不需要为每个签名验证一个较大的撤销列表,同时减少了批量消息认证需要进行的双线性对运算数量,进一步提高了计算效率。但文献[13]指出,双线性对运算复杂,开销较大,难以满足VANET的系统性能需求,应当避免使用双线性对运算。文献[14]提出一种基于半可信TA的方案,其在解决撤销列表过大问题的同时,消息认证过程只进行了椭圆曲线密码运算,避免了双线性对运算,从而能够减少计算成本,提高消息认证效率。但是,目前很多基于双线性对密码和椭圆曲线密码的方案都会使用Map-to-point哈希函数运算,仿真分析结果表明,Map-to-point哈希函数运算的开销较高,在消息数量较多或资源受限的情况下其认证效率大幅降低。

混沌系统具有优良的密码学性质,初值极具敏感性和高度随机性,自20世纪90年代开始被应用于新型密码算法研究中。文献[15]对基于多混沌系统的公钥密码体系进行分析,提出一种扩展切比雪夫多项式,将切比雪夫多项式的定义域扩展至实数域,同时提高了基于切比雪夫混沌映射的公钥加密方法的安全性[16]。文献[17]提出一种面向车联网的群认证和密钥协商协议,该协议基于文献[15]定义的扩展切比雪夫混沌映射,利用其半群性质提高了群认证效率。文献[18]提出一种基于混沌映射的全会话密钥协商协议,包括雾服务器与群管理员之间的密钥协议和群内车辆节点的密钥协议。关于文献[17-18]方案的实验结果表明,切比雪夫多项式运算的计算效率高于椭圆曲线标量乘法运算,在保证安全性的前提下,与避免Map-to-point哈希函数运算的基于椭圆曲线密码的认证方案相比,基于切比雪夫混沌映射的认证方案具有突出的计算效率优势。

本文提出一种V2I通信中基于混沌映射的车辆身份认证方案,利用切比雪夫多项式的半群性质构建V2I密钥协商架构,采用对称密码算法完成车辆身份认证和密钥分发,并设计车辆对参数进行安全线上更新的方法。在此基础上,提出一种基于混沌映射的消息认证方案,RSU通过安全的V2I通信过程向车辆分发时效性共享密钥,车辆节点通过混沌映射和共享密钥生成广播消息或对同一RSU内的消息进行认证。在该方案中,车辆无须为每个消息签名验证一个较大的撤销列表,车辆的撤销也不会影响群组性能。

1 预备知识 1.1 系统模型

图 1所示,一个VANET系统主要由TA、RSU、OBU这3种实体组成,具体如下:

Download:
图 1 VANET系统模型 Fig. 1 System model of VANET

1)TA在VANET中是可信机构,负责生成和分配所有RSU和车辆OBU的初始参数以及系统的主参数。只有TA有权揭露车辆的真实身份,并对广播虚假、恶意消息或具有恶意行为的车辆节点予以撤销。

2)RSU主要负责覆盖范围内所有车辆与TA的连接,使得车辆能够进行身份认证后获得来自TA的服务。RSU通常被部署在道路两旁或一些特定地点,如停车场等车辆服务站点。在本文方案中,每个RSU要求配备防篡改装置(Tamper-Proof Device,TPD)以安全存储系统参数,辅助完成身份认证过程并提高参数更新效率[19]

3)OBU是车辆内部资源命令处理和读写存储单元,每辆车都配备一个OBU。通过OBU,车辆可以与RSU以及其他车辆的OBU进行通信。每个OBU配备有TPD以存储私密参数等敏感信息,由OBU监控并收集传感器所记录的信息,形成消息后通过无线传输的方式发送[6]

1.2 攻击模型

在VANET中,典型的攻击方式有如下4种:

1)修改攻击(Modification Attack)。攻击者修改、删除或截取消息的特定部分,作为新的消息进行发送。

2)女巫攻击(Sybil Attack)[20]。攻击者同时利用多个身份生成消息并进行广播,以此扰乱VANET的正常运作。比如,通过这些消息使得其他车辆误认为前方发生了交通堵塞,迫使这些车辆改变原来的交通路线以保持道路畅通。

3)伪装攻击(Masquerading Attack)。攻击者利用虚假身份信息伪装成合法车辆并发布恶意消息。

4)重放攻击(Replay Attack)[21]。攻击者将之前接收到的消息在VANET中重复不断地发布,以达到扰乱交通的目的。

1.3 安全需求

针对典型的安全攻击方式,一个面向VANET的消息认证协议存在如下的安全需求:

1)消息的可靠性、完整性、不可抵赖性。在VANET中,消息验证者通过消息认证过程,能够确认该消息的发送者为可靠实体,消息为未经篡改的原始消息,且消息在产生争议的情况下其发送者不能否认发送。

2)隐私保护。通过分析窃听和截取所获得的多个消息,攻击者也无法获取车辆的真实身份信息。

3)可追踪性与可撤销性。在通过合法注册后,攻击者利用匿名性在VANET中生成并发布恶意消息。当此类事件发生时,认证方案必须能够通过消息追踪到恶意消息发送者的真实身份,并将其合法认证从VANET中撤销。

4)抗攻击性。VANET易遭受安全攻击,在1.2节列出了一些常见的攻击模型。因此,方案需要能够抵抗攻击者发动的多种安全攻击,以保证VANET的安全性和可靠性。

1.4 切比雪夫混沌映射 1.4.1 切比雪夫多项式的定义

本文方案采用安全性更高的扩展切比雪夫多项式[15],其定义如下:

定义1  对于$ n\in \mathbb{N} $$ x\in (-{\rm{\infty }}, +{\rm{\infty }}) $$ n $阶切比雪夫多项式$ {T}_{n}\left(x\right):(-{\rm{\infty }}, +{\rm{\infty }})\to (-{\rm{\infty }}, +{\rm{\infty }}) $表达为:

$ {T}_{n}\left(x\right)={\rm{c}}{\rm{o}}{\rm{s}}(n\cdot {\rm{a}}{\rm{r}}{\rm{c}}{\rm{c}}{\rm{o}}{\rm{s}}(x\left)\right) $

通过三角变换可以得到不同阶的递推公式如下:

$ {T}_{n}\left(x\right)=2x{T}_{n-1}\left(x\right)-{T}_{n-2}\left(x\right)\;\left({\rm{m}}{\rm{o}}{\rm{d}}\;p\right) $

其中:$ p $为一个大素数;$ n\ge 2 $

在特殊情况下,$ {T}_{0}\left(x\right)=1 $$ {T}_{1}\left(x\right)=x $

1.4.2 切比雪夫多项式的性质[22]

性质1  半群性质

对于$ n\in \mathbb{N} $$ n\ge 2 $,有:

$ {T}_{r}\left({T}_{s}\left(x\right)\right)={T}_{s}\left({T}_{r}\left(x\right)\right)={T}_{rs}\left(x\right)\;\left({\rm{m}}{\rm{o}}{\rm{d}}\;p\right) $

其中:$ x\in (-{\rm{\infty }}, +{\rm{\infty }}) $$ r $$ s $为正整数。

性质2  扩展切比雪夫多项式的离散对数问题

记扩展切比雪夫多项式的值$ {T}_{n}\left(x\right)=y\left({\rm{m}}{\rm{o}}{\rm{d}}\;p\right) $,给定$ x $$ y $及大素数$ p $,则求解$ {n}^{\text{'}}\in \mathbb{N} $使得$ {T}_{{n}^{\text{'}}}\left(x\right)=y\left({\rm{m}}{\rm{o}}{\rm{d}}\;p\right) $是一个离散对数困难问题。

性质3  扩展切比雪夫多项式的DH问题

给定$ x\in (-{\rm{\infty }}, +{\rm{\infty }}) $、大素数$ p $以及扩展切比雪夫多项式$ {T}_{r}\left(x\right)\;\left({\rm{m}}{\rm{o}}{\rm{d}}\;p\right) $$ {T}_{s}\left(x\right)\;\left({\rm{m}}{\rm{o}}{\rm{d}}\;p\right) $$ r $$ s $均为大于1的正整数)的值,求解扩展切比雪夫多项式$ {T}_{rs}\left(x\right)\;\left({\rm{m}}{\rm{o}}{\rm{d}}\;p\right) $的值是一个DH(Diffie-Hellman)困难问题。

2 本文方案

本文方案包含5个部分,分别为系统初始化、车辆加入RSU、消息认证以及可选的线上参数更新、身份追踪与撤销。方案中涉及的符号或参数描述如表 1所示。

下载CSV 表 1 符号和参数描述 Table 1 Symbols and parameters description
2.1 系统初始化

TA负责系统主要参数的生成与分配,以完成系统建立和初始化过程。具体内容如下:

1)TA选取大素数$ p $$ q $,随机选取$ u\in {\mathbb{Z}}_{q}^{{\rm{*}}}(u>1) $作为系统私钥。

2)TA选取安全的单向哈希函数$ {h}_{1} $$ {h}_{2} $$ {h}_{3} $$ {h}_{4} $$ {\left\{{\rm{0, 1}}\right\}}^{{\rm{*}}}\to {\mathbb{Z}}_{q}^{{\rm{*}}} $;确定对称加密算法$ {\rm{E}}{\rm{N}}{{\rm{C}}}_{{\rm{k}}{\rm{e}}{\rm{y}}}(\cdot ) $及其对应的解密算法$ {\rm{D}}{\rm{E}}{{\rm{C}}}_{{\rm{k}}{\rm{e}}{\rm{y}}}(\cdot ) $。TA公开参数$ \{p, q, {T}_{n}(\cdot ), {h}_{1}(\cdot ), {h}_{2}(\cdot ), $$ {h}_{3}(\cdot ), {\rm{E}}{\rm{N}}{{\rm{C}}}_{{\rm{k}}{\rm{e}}{\rm{y}}}(\cdot ), {\rm{D}}{\rm{E}}{{\rm{C}}}_{{\rm{k}}{\rm{e}}{\rm{y}}}(\cdot )\} $$ {T}_{n}(\cdot ) $$ n $阶模$ p $的切比雪夫多项式运算。

3)对于系统内的$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $,TA随机选取$ {x}_{j}\in {\rm{G}}{\rm{F}}\left(q\right) $作为$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $的真实身份,随机选取$ {r}_{j}\in {\mathbb{Z}}_{q}^{{\rm{*}}}({r}_{j}>1) $,计算$ {A}_{j}={T}_{u}\left({x}_{j}\right) $。通过有线安全信道将参数元组$ \left\{{h}_{4}\right(\cdot ), {x}_{j}, $$ {r}_{j}, u, {A}_{j}, {\rm{C}}{\rm{e}}{\rm{r}}{{\rm{t}}}_{{\rm{R}}{\rm{S}}{{\rm{U}}}_{j}}\} $部署至$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $的防篡改装置。其中,$ {\rm{C}}{\rm{e}}{\rm{r}}{{\rm{t}}}_{{\rm{R}}{\rm{S}}{{\rm{U}}}_{j}} $是TA为$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $颁发的证书,$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $在其覆盖范围内公开参数$ \{{x}_{j}, {A}_{j}, {\rm{C}}{\rm{e}}{\rm{r}}{{\rm{t}}}_{{\rm{R}}{\rm{S}}{{\rm{U}}}_{j}}\} $

4)在每个车辆$ {V}_{i} $的注册阶段,根据车辆及车主的真实信息,TA为其生成真实身份$ {\rm{I}}{{\rm{D}}}_{i} $,随机选取周期性更换的临时参数$ {a}_{i}\in {\mathbb{Z}}_{q}^{{\rm{*}}} $及其有效期$ {\rm{T}}{{\rm{S}}}_{i} $,将$ \{{a}_{i}, {\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}\} $存储至TA的数据库中。在$ {a}_{i} $临近到期之前,车辆可以通过3.4节所述线上参数更新方法或在线下完成对$ {a}_{i} $$ {\rm{T}}{{\rm{S}}}_{i} $的更新。通过线下方式,TA安全部署参数元组$ \{{a}_{i}, {\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}\} $$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $的防篡改装置。

2.2 车辆加入RSU的过程

$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $进入$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $的覆盖范围时,获取到$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $广播的公开参数,验证其证书$ {\rm{C}}{\rm{e}}{\rm{r}}{{\rm{t}}}_{{\rm{R}}{\rm{S}}{{\rm{U}}}_{j}} $后接受$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $公布的其身份$ {x}_{j} $与系统公钥$ {A}_{j} $。为获取时效性共享密钥以在VANET中进行通信,$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $需要向$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $发送请求消息元组以加入$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $。若请求消息通过了$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $和TA的验证,则$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $返回响应消息元组,$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $验证响应消息后获取共享密钥及其时效性,从而加入$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $。上述过程具体步骤如下:

1)OBU生成请求消息

$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $随机选取$ v\in {\mathbb{Z}}_{q}^{{\rm{*}}}(v>1) $作为该请求消息的私钥,生成时间戳$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{1} $,计算:

$ {P}_{i}={T}_{v}\left({x}_{j}\right) $
$ {\rm{R}}{\rm{I}}{{\rm{D}}}_{i}={h}_{1}\left(({\rm{I}}{{\rm{D}}}_{i}\oplus {a}_{i})\left|\right|{\rm{T}}{{\rm{S}}}_{i}\right) $
$ {\rm{r}}{\rm{e}}{{\rm{q}}}_{i, j}=\left({a}_{i}\right|\left|{\rm{R}}{\rm{I}}{{\rm{D}}}_{i}\right|\left|{x}_{j}\right|\left|{\rm{t}}{\rm{m}}{{\rm{p}}}_{1}\right) $
$ {H}_{1}={h}_{2}\left({\rm{r}}{\rm{e}}{{\rm{q}}}_{i, j}\right) $
$ {\rm{S}}{{\rm{K}}}_{i, j}={T}_{v}\left({A}_{j}\right) $
${C_{i, j}} = {\rm{EN}}{{\rm{C}}_{{\rm{S}}{{\rm{K}}_{i, j}}}}({\rm{re}}{{\rm{q}}_{i, j}}||{H_1})$

请求消息元组$ {\mathcal{M}}_{i, j}^{1}=\{{P}_{i}, {C}_{i, j}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{1}\} $$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $发送$ {\mathcal{M}}_{i, j}^{1} $

2)RSU验证请求消息

$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $接收到$ {\mathcal{M}}_{i, j}^{1} $后首先检查$ {x}_{j} $$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{1} $,确认消息接收方和新鲜性,然后通过防篡改装置中存储的系统参数,计算:

$ {\rm{S}}{{\rm{K}}}_{i, j}^{{\rm{\text{'}}}}={T}_{u}\left({P}_{i}\right) $
$ \left({\rm{r}}{\rm{e}}{{\rm{q}}}_{i, j}||{H}_{1}\right)={\rm{D}}{\rm{E}}{{\rm{C}}}_{{\rm{S}}{{\rm{K}}}_{i, j}^{{\rm{\text{'}}}}}\left({C}_{i, j}\right) $

$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $根据计算出的结果检查$ {\rm{r}}{\rm{e}}{{\rm{q}}}_{i, j} $中的$ {x}_{j} $$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{1} $是否与消息元组中相等,并验证如下等式:

$ {H}_{1}={h}_{2}\left({\rm{r}}{\rm{e}}{{\rm{q}}}_{i, j}\right) $

若等式成立,则验证通过,$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $$ \left\{{a}_{i}, {\rm{R}}{\rm{I}}{{\rm{D}}}_{i}\right\} $交由TA验证。

3)TA验证车辆身份

TA根据$ {a}_{i} $在数据库中查找对应记录$ \left\{{a}_{i}, {\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}\right\} $,若存在该记录且其$ {\rm{T}}{{\rm{S}}}_{i} $有效,则获取对应车辆的真实身份$ {\rm{I}}{{\rm{D}}}_{i} $,验证如下等式:

$ {\rm{R}}{\rm{I}}{{\rm{D}}}_{i}={h}_{1}\left(({\rm{I}}{{\rm{D}}}_{i}\oplus {a}_{i})\left|\right|{\rm{T}}{{\rm{S}}}_{i}\right) $

若等式成立,则身份验证通过,向$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $返回验证结果。

4)RSU生成响应消息

$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $会周期性地生成时效性共享密钥,并通过返回响应消息将其安全分发给通过身份验证的OBU。时效$ {\rm{T}}{\rm{V}} $的共享密钥计算方法如下:

$ {\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}}=\left({\rm{T}}{\rm{V}}\left|\right|{h}_{4}\left((u\oplus {r}_{j})\left|\right|{\rm{T}}{\rm{V}}\right)\right) $

$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $随机选取$ s\in {\mathbb{Z}}_{q}^{{\rm{*}}}(s>1) $作为该响应消息的私钥,生成时间戳$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{2} $,计算:

$ {S}_{j}={T}_{s}\left({x}_{j}\right) $
$ {\rm{r}}{\rm{s}}{{\rm{p}}}_{j, i}=\left({a}_{i}||{\rm{R}}{\rm{I}}{{\rm{D}}}_{i}||{\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}}||{x}_{j}||{\rm{t}}{\rm{m}}{{\rm{p}}}_{2}\right) $
$ {H}_{2}={h}_{2}\left({\rm{r}}{\rm{s}}{{\rm{p}}}_{j, i}\right) $
$ {\rm{S}}{{\rm{K}}}_{j, i}={T}_{s}\left({P}_{i}\right) $
$ {C}_{j, i}={\rm{E}}{\rm{N}}{{\rm{C}}}_{{\rm{S}}{{\rm{K}}}_{j, i}}\left({\rm{r}}{\rm{s}}{{\rm{p}}}_{j, i}\right|\left|{H}_{2}\right) $

响应消息元组$ {\mathcal{M}}_{j, i}^{2}=\{{S}_{j}, {C}_{j, i}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{2}\} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $发送$ {\mathcal{M}}_{j, i}^{2} $

5)OBU验证响应消息

$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $接收到$ {\mathcal{M}}_{j, i}^{2} $后首先检查$ {x}_{j} $$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{2} $,确认消息发送方和新鲜性,计算:

$ {\rm{S}}{{\rm{K}}}_{j, i}^{{\rm{\text{'}}}}={T}_{v}\left({S}_{j}\right) $
$ \left({\rm{r}}{\rm{s}}{{\rm{p}}}_{j, i}\right|\left|{H}_{2}\right)={\rm{D}}{\rm{E}}{{\rm{C}}}_{{\rm{S}}{{\rm{K}}}_{j, i}^{{\rm{\text{'}}}}}\left({C}_{j, i}\right) $

$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $根据计算的结果检查$ {\rm{r}}{\rm{s}}{{\rm{p}}}_{j, i} $中的$ {x}_{j} $$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{2} $是否与消息元组中相等,并验证如下等式:

$ {H}_{2}={h}_{2}\left({\rm{r}}{\rm{s}}{{\rm{p}}}_{j, i}\right) $

若等式成立,则验证通过,$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $获取时效$ {\rm{T}}{\rm{V}} $的共享密钥$ {\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}} $$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $加入$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $过程结束。

若车辆进入其他RSU范围或密钥临近过期,OBU需要重新向对应RSU发送请求消息,以获取新的时效性共享密钥。对于一个覆盖范围内车辆较多的$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $,在单位时间内可能面临大量OBU的加入请求。为减少身份验证的时间并提高密钥分发的效率,将维护一张已认证列表$ {\rm{C}}{\rm{A}}{{\rm{L}}}_{j} $,在$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $首次通过TA的身份验证后,为该身份元组设置一个信任时间$ {\rm{T}}{{\rm{C}}}_{i} $,并存储$ \left\{{a}_{i}, {\rm{R}}{\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{C}}}_{i}\right\} $$ {\rm{C}}{\rm{A}}{{\rm{L}}}_{j} $中,该条记录将在$ {\rm{C}}{\rm{A}}{{\rm{L}}}_{j} $中维持一段时间$ {\rm{T}}{{\rm{C}}}_{i} $。若$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $后续发起加入请求,$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $解析出$ \left\{{a}_{i}, {\rm{R}}{\rm{I}}{{\rm{D}}}_{i}\right\} $元组后,首先在$ {\rm{C}}{\rm{A}}{{\rm{L}}}_{j} $中查询其对应记录的有效性,如果存在该条记录且未过期,则无需让TA进行身份验证,按照本节所述RSU生成响应消息过程为$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $发放时效性共享密钥,并对其信任时间进行更新;若不存在该身份元组所对应的记录或信任时间已过期,则需交由TA进行身份验证。$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $以时间$ {\tau }_{1} $为周期,定期清理$ {\rm{C}}{\rm{A}}{{\rm{L}}}_{j} $中过期的记录。

2.3 消息认证

车辆获取到$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $发放的时效性共享密钥$ {\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}} $后,$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $使用已知参数生成广播消息元组,同时对同一RSU中其他合法车辆广播的消息进行认证。具体如下:

1)消息生成

对于$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $待发布的消息$ {M}_{i} $,生成时间戳$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{3} $,计算:

$ {\rm{P}}{\rm{I}}{{\rm{D}}}_{i}={h}_{1}\left((I{D}_{i}\oplus {a}_{i})\left|\right|{\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\right) $
$ {Q}_{i}={T}_{{a}_{i}}\left({\rm{P}}{\rm{I}}{{\rm{D}}}_{i}\right|\left|{\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\right) $
$ {\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j}=\left({M}_{i}\right|\left|{\rm{P}}{\rm{I}}{{\rm{D}}}_{i}\right|\left|{\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\right) $
$ {H}_{3}={h}_{2}\left({\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j}\right) $
$ {\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}}={T}_{{\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}}}\left({Q}_{i}\right) $
$ {B}_{i, j}={\rm{E}}{\rm{N}}{{\rm{C}}}_{{\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}}}\left({\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j}\right|\left|{H}_{3}\right) $

广播消息元组$ {\mathcal{M}}_{i, j}^{3}=\{{Q}_{i}, {B}_{i, j}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\} $$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $广播发送$ {\mathcal{M}}_{i, j}^{3} $

2)消息认证

$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i+1} $接收到$ {\mathcal{M}}_{i, j}^{3} $后首先检查$ {x}_{j} $$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{3} $,确认消息所属RSU和新鲜性,计算:

$ {\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}\text{'}}={T}_{{\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}}}\left({Q}_{i}\right) $
$ \left({\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j}\right|\left|{H}_{3}\right)={\rm{D}}{\rm{E}}{{\rm{C}}}_{{\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}\text{'}}}\left({B}_{i, j}\right) $

$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i+1} $根据计算的结果检查$ {\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j} $中的$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{3} $是否与消息元组中相等,并验证如下等式:

$ {H}_{3}={h}_{3}\left({\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j}\right) $

若等式成立,则验证通过,$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i+1} $获取并接受$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $发布的消息$ {M}_{i} $

2.4 线上参数更新

在本文方案中,车辆的临时参数$ {a}_{i} $由TA进行生成和分发,除通过线下方式完成参数安全更新之外,车辆可以在其临近到期前通过线上方式获得新的临时参数。首先,$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $发送请求消息元组,提出参数更新请求,TA通过$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $身份认证后获取到$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $对应的身份信息记录$ \left\{{a}_{i}, {\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}\right\} $。TA随机选取$ {a}_{i}^{new}\in {\mathbb{Z}}_{q}^{{\rm{*}}} $,确定新的有效期$ {\rm{T}}{{\rm{S}}}_{i}^{{\rm{n}}{\rm{e}}{\rm{w}}} $,计算:

$ {U}_{i}={\rm{T}}{{\rm{S}}}_{i}\oplus {\rm{T}}{{\rm{S}}}_{i}^{{\rm{n}}{\rm{e}}{\rm{w}}} $

然后向$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $返回$ \{{a}_{i}, {\rm{R}}{\rm{I}}{{\rm{D}}}_{i}, {a}_{i}^{{\rm{n}}{\rm{e}}{\rm{w}}}, {U}_{i}\} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $生成响应消息元组。与加入$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $过程不同,响应消息的内容如下:

$ {\rm{r}}{\rm{s}}{{\rm{p}}}_{j, i}^{{\rm{n}}{\rm{e}}{\rm{w}}}=\left({a}_{i}\right|\left|{\rm{R}}{\rm{I}}{{\rm{D}}}_{i}\right|\left|{a}_{i}^{{\rm{n}}{\rm{e}}{\rm{w}}}\right|\left|{U}_{i}\right|\left|{x}_{j}\right|\left|{\rm{t}}{\rm{m}}{{\rm{p}}}_{2}\right) $

验证$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $返回的响应消息后,$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $获取新的临时参数$ {a}_{i}^{{\rm{n}}{\rm{e}}{\rm{w}}} $,并通过下列计算获取更新参数的有效期:

$ {\rm{T}}{{\rm{S}}}_{i}^{{\rm{n}}{\rm{e}}{\rm{w}}}={U}_{i}\oplus {\rm{T}}{{\rm{S}}}_{i} $

参数元组$ \{{a}_{i}, {\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}\} $更新为$ \{{a}_{i}^{{\rm{n}}{\rm{e}}{\rm{w}}}, {\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}^{{\rm{n}}{\rm{e}}{\rm{w}}}\} $,并使用更新后的参数发起加入$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $的请求。在允许的时间延迟$ {\tau }_{2} $内,若TA和$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $收到了$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $使用新的参数元组发送的请求消息,则视为该车辆成功完成了参数的线上更新过程,否则视为更新失败或超时。在一定的时间限制$ {\tau }_{3} $后,车辆可以重新以参数元组$ \left\{{a}_{i}, {\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}\right\} $发起线上更新请求。若$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $维护已认证列表$ {\rm{C}}{\rm{A}}{{\rm{L}}}_{j} $,应当对存储的该车辆原信息元组内容进行更新。

2.5 追踪和撤销

TA是唯一可以揭露消息发送者真实身份的实体。在本文方案中,未认证的车辆节点发布的恶意消息无法通过其他车辆节点的消息认证,而如果某个认证后的车辆节点发布了恶意消息$ \{{\rm{P}}{\rm{I}}{{\rm{D}}}_{i}, {B}_{i, j}, $ $ {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $获取该恶意消息元组后,首先完成消息认证过程,获取消息发送者的假名$ {\rm{P}}{\rm{I}}{{\rm{D}}}_{i} $,并将$ \{{\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}}, {\rm{P}}{\rm{I}}{{\rm{D}}}_{i}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{3}, {\rm{T}}{\rm{V}}\} $提交给TA。在数据库中,TA查找在时效$ {\rm{T}}{\rm{V}} $内发送过加入$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $请求消息的车辆信息元组$ \left\{{a}_{k}, {\rm{I}}{{\rm{D}}}_{k}, {\rm{T}}{{\rm{S}}}_{k}\right\} $,计算:

$ {\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}{\rm{*}}}={T}_{{\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}}}\left({T}_{{a}_{k}}\left({\rm{P}}{\rm{I}}{{\rm{D}}}_{i}\right)\right) $

$ {\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}{\rm{*}}}={\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}} $,则$ \{{a}_{k}, {\rm{I}}{{\rm{D}}}_{k}, {\rm{T}}{{\rm{S}}}_{k}\} $即为恶意车辆的身份信息记录,TA在数据库中对该车辆的合法认证进行撤销,计算如下等式并通知维护已认证列表的RSU移除参数元组为$ \{{a}_{k}, {\rm{R}}{\rm{I}}{{\rm{D}}}_{k}\} $的记录。

$ {\rm{R}}{\rm{I}}{{\rm{D}}}_{k}={h}_{1}\left(({\rm{I}}{{\rm{D}}}_{k}\oplus {a}_{k})\left|\right|{\rm{T}}{{\rm{S}}}_{k}\right) $

在上述过程完成后,对于发送恶意消息的车辆,TA成功追踪到其真实身份并撤销它的合法认证,因此,该车辆节点不能通过身份验证过程,在时效性共享密钥失效后无法继续生成可认证消息。

3 安全性分析 3.1 不可伪造性

本文方案中存在3种消息元组:$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $发送的请求消息$ {\mathcal{M}}_{i, j}^{1}=\{{P}_{i}, {C}_{i, j}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{1}\} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $返回的响应消息$ {\mathcal{M}}_{j, i}^{2}=\{{S}_{j}, {C}_{j, i}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{2}\} $;加入$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $发布的广播消息$ {\mathcal{M}}_{i, j}^{3}=\{{Q}_{i}, {B}_{i, j}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\} $

若敌手$ \mathcal{A} $成功伪造一个有效的请求消息元组$ {\mathcal{M}}_{i, j}^{1\text{'}} $,则$ {\mathcal{M}}_{i, j}^{1\text{'}} $应当通过系统的身份认证过程,即敌手$ \mathcal{A} $需要伪造一个车辆的身份信息元组$ \{{a}_{i}, {\rm{R}}{\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}\} $,以计算请求消息中车辆的请求身份$ {\rm{R}}{\rm{I}}{{\rm{D}}}_{i}={h}_{1}\left(({\rm{I}}{{\rm{D}}}_{i}\oplus {a}_{i})\left|\right|{\rm{T}}{{\rm{S}}}_{i}\right) $。由于3种消息元组均不能直接得到这些参数,敌手$ \mathcal{A} $只能通过碰撞的方式进行构造,显然在多项式时间内敌手$ \mathcal{A} $无法构造出其对应的有效身份信息元组,即伪造的$ {\mathcal{M}}_{i, j}^{1\text{'}} $不能通过系统的身份认证。

对于系统内车辆发送的$ {\mathcal{M}}_{i, j}^{1}=\{{P}_{i}, {C}_{i, j}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{1}\} $,若敌手$ \mathcal{A} $成功伪造其对应的响应消息元组$ {\mathcal{M}}_{j, i}^{2\text{'}} $,需要知道该车辆的$ {a}_{i} $$ {\rm{R}}{\rm{I}}{{\rm{D}}}_{i} $,为此需要通过$ {\mathcal{M}}_{i, j}^{1} $计算出车辆私钥$ v $或对称密钥$ {\rm{S}}{{\rm{K}}}_{i, j}={T}_{v}\left({A}_{j}\right) $。根据性质2可知,敌手$ \mathcal{A} $在知晓$ {P}_{i}={T}_{v}\left({x}_{j}\right) $$ {x}_{j} $的情况下求解一个$ {v}^{\text{'}}=v $是离散对数困难问题。同时,根据性质1和性质3可知,敌手$ \mathcal{A} $在知晓$ {x}_{j} $$ {A}_{j} $$ {P}_{i} $的情况下求解出$ {\rm{S}}{{\rm{K}}}_{i, j}={T}_{v}\left({A}_{j}\right)={T}_{u}\left({P}_{i}\right)={T}_{uv}\left({x}_{j}\right) $是一个DH困难问题。因此,敌手$ \mathcal{A} $无法伪造有效的响应消息元组$ {\mathcal{M}}_{j, i}^{2\text{'}} $

由于敌手$ \mathcal{A} $无法伪造有效的$ {\mathcal{M}}_{i, j}^{1\text{'}} $,不能获取到通过身份认证后由$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $分发的时效性共享密钥$ {\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}} $,因此无法伪造可被$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $范围内其他车辆接受的广播消息元组$ {\mathcal{M}}_{i, j}^{3\text{'}} $

综上,敌手$ \mathcal{A} $无法伪装成合法车辆或RSU,以构建可被系统内实体所接受的合法消息。因此,本文方案消息具有不可伪造性,可以抵抗伪造攻击。

3.2 条件隐私保护

在本文方案中,每个车辆的原始身份信息元组$ \{{a}_{i}, {\rm{I}}{{\rm{D}}}_{i}, {\rm{T}}{{\rm{S}}}_{i}\} $由TA生成和分配,并存储在TA的数据库中。在V2I通信中,RSU验证请求消息后获得的车辆信息只有临时参数$ {a}_{i} $$ {\rm{R}}{\rm{I}}{{\rm{D}}}_{i} $。在V2V通信中,其他车辆节点解密广播消息后获得的是车辆为该消息生成的一次性假名$ {\rm{P}}{\rm{I}}{{\rm{D}}}_{i} $。同时,对于外部攻击者,在不知晓$ {\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}} $的情况下,即使窃听截获了该消息,也不能从消息密文中得到$ {\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j} $的内容。因此,RSU、其他车辆节点、外部攻击者均不能揭示车辆的真实身份,从而保证了匿名性。

请求消息$ {\mathcal{M}}_{i, j}^{1} $和响应消息$ {\mathcal{M}}_{j, i}^{2} $的验证都使用基于切比雪夫混沌映射生成的一次性对称密钥,由$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $发布的广播消息$ {\mathcal{M}}_{i, j}^{3} $中使用的假名$ {\rm{P}}{\rm{I}}{{\rm{D}}}_{i} $及对应生成的公钥也是一次性的,并且$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $的临时参数$ {a}_{i} $会周期性地进行安全更新,因此,其他车辆节点无法判断不同的广播消息发布者是否为同一车辆,从而保证了车辆节点的不可链接性。

只有保存了车辆真实身份元组的TA才可以揭露车辆的真实身份,对车辆进行身份认证或在车辆发送恶意消息时撤销其合法认证,从而保证了可追踪性。因此,本文方案可以实现条件隐私保护。

3.3 抗攻击性分析

由3.1节分析可知,敌手$ \mathcal{A} $无法伪装成一个合法车辆节点或一个合法RSU生成3种消息元组,因此,本文方案可以抵抗消息伪造攻击。

对于$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $发送的请求消息$ {\mathcal{M}}_{i, j}^{1}=\{{P}_{i}, {C}_{i, j}, $$ {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{1}\} $,敌手$ \mathcal{A} $将其篡改为$ {\mathcal{M}}_{i, j}^{1\text{'}}=\{{P}_{i}, {C}_{i, j}^{{\rm{\text{'}}}}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{1}\} $,篡改后的消息由$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $解密后需要通过身份认证过程。根据性质2可知,在知道$ {x}_{j} $的情况下,根据车辆公钥$ {P}_{i}={T}_{v}\left({x}_{j}\right) $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $公钥$ {A}_{j}={T}_{u}\left({x}_{j}\right) $求解出系统私钥$ u $和车辆私钥$ v $均为离散对数困难问题,而在多项式时间内无法求解该问题;而在不知道$ u $$ v $的情况下,根据性质3可知,在多项式时间内求解$ {C}_{i, j} $的对称密钥$ {\rm{S}}{{\rm{K}}}_{i, j}={T}_{u}\left({P}_{i}\right)={T}_{v}\left({A}_{j}\right) $是一个DH困难问题。因此,请求消息$ {\mathcal{M}}_{i, j}^{1} $可以抵抗修改攻击。同理,响应消息$ {\mathcal{M}}_{j, i}^{2} $可以抵抗修改攻击。对于$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $发布的广播消息$ {\mathcal{M}}_{i, j}^{3}=\{{Q}_{i}, {B}_{i, j}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\} $,由于不知道$ {\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}} $,敌手$ \mathcal{A} $无法将其篡改为可认证广播消息元组$ {\mathcal{M}}_{i, j}^{3{\rm{\text{'}}}}=\{{Q}_{i}^{{\rm{\text{'}}}}, {B}_{i, j}^{{\rm{\text{'}}}}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\} $。因此,广播消息$ {\mathcal{M}}_{i, j}^{3} $可以抵抗修改攻击。综上,本文方案可以抵抗修改攻击。

3种消息元组均包含时间戳,验证者在消息认证时首先检查时间戳是否新鲜,若时间戳已不新鲜,则该消息将被丢弃。因此,本文方案可以抵抗重放攻击。

在本文方案中,生成一条可认证的广播消息$ {\mathcal{M}}_{i, j}^{3} $,需要通过$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $的身份认证并获取时效性共享密钥$ {\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}} $。在未获取$ {\rm{t}}{\rm{s}}{{\rm{k}}}_{j}^{{\rm{T}}{\rm{V}}} $的情况下,敌手$ \mathcal{A} $无法同时利用多个身份生成合法的广播消息,以此扰乱VANET的正常运作。因此,本文方案可以抵抗女巫攻击。

4 性能分析

以计算开销和通信开销作为性能评估指标,将本文方案与NECPPA[12]、AEAS-STA[14]、IB-CPPA[23]、EPFCAS[24]方案进行性能对比。其中,NECPPA方案在基于双线性对的方案中计算效率较高,其他方案都采用了椭圆曲线密码,并且避免了Map-to-point哈希函数运算。

4.1 计算开销分析

双线性对密码算法和椭圆曲线密码算法的安全等级均为80 bit。双线性对密码运算方案设置为:

$ e :{G}_{b}\times {G}_{b}\to {G}^{\text{'}} $

其中:$ {G}_{b} $是由生成元$ {P}^{\text{'}} $生成的阶为$ {q}^{\text{'}} $的加法群;$ {P}^{\text{'}} $是度为2的超奇异椭圆曲线$ {E}^{\text{'}} $$ {y}^{2}={x}^{3}+{a}^{\text{'}}x+{b}^{\text{'}}\left({\rm{m}}{\rm{o}}{\rm{d}}\;{p}^{\text{'}}\right) $上的点;$ {p}^{\text{'}} $是一个长度为512 bit的素数;$ {q}^{\text{'}} $是一个长度为160 bit的素数。

椭圆曲线密码运算方案设置为:

$ E :{y}^{2}={x}^{3}+ax+b\left({\rm{m}}{\rm{o}}{\rm{d}}\;p\right) $

其中:$ P $为非奇异椭圆曲线$ E $上的一点,由$ P $作为生成元生成的阶为$ q $的加法群记为$ G $$ p $$ q $为长160 bit的素数;$ a $$ b\in {\mathbb{Z}}_{p}^{{\rm{*}}} $

本文方案采用对称密码算法AES-192,大素数$ p $$ q $的长度均为192 bit。利用JAVA密码学库[17],在配置为Intel i5-8400 CPU和8 GB内存的Win10操作系统环境下,本文对上述密码运算方案中的各种密码运算进行实现,并记录相应运算的平均执行时间。令$ {T}_{{\rm{b}}{\rm{m}}}{\rm{、}}{T}_{{\rm{b}}{\rm{s}}{\rm{m}}}{\rm{、}}{T}_{{\rm{b}}{\rm{a}}}{\rm{、}}{T}_{{\rm{b}}{\rm{p}}} $分别表示双线性对中标量乘法、小因子乘法、加法、双线性对运算,$ {T}_{{\rm{e}}{\rm{m}}}{\rm{、}}{T}_{{\rm{e}}{\rm{s}}{\rm{m}}}{\rm{、}}{T}_{{\rm{e}}{\rm{a}}} $分别表示椭圆曲线中标量乘法、小因子乘法、加法运算,$ {T}_{{\rm{h}}} $表示单向哈希函数运算,$ {T}_{{\rm{m}}{\rm{t}}{\rm{p}}} $表示Map-to-point哈希函数运算,$ {T}_{{\rm{c}}} $表示切比雪夫混沌映射运算,$ {T}_{{\rm{s}}{\rm{y}}{\rm{m}}} $表示对称密码算法中的加密或解密运算。表 2所示为上述密码运算的平均执行时间。

下载CSV 表 2 密码运算的执行时间对比 Table 2 Comparison of execution time of cryptographic operations  

表 3给出各方案在车辆加入RSU过程中整个密钥协商阶段OBU与RSU的计算开销,表 4给出各方案中消息认证阶段的计算开销。

下载CSV 表 3 密钥协商阶段的计算开销 Table 3 Computational overhead in key agreement phase
下载CSV 表 4 消息认证阶段的计算开销 Table 4 Computational overhead in message authentication phase

在AEAS-STA方案中,车辆节点加入RSU阶段使用了椭圆曲线公钥密码算法,其加密过程包括2个椭圆曲线标量乘法计算和1个椭圆曲线加法计算,解密过程则为1个椭圆曲线标量乘法计算和1个椭圆曲线加法计算。在该阶段,车辆节点从发送请求消息到接受响应消息并获取群密钥一共需要完成1个公钥加密过程、2个公钥解密过程、2个椭圆曲线标量乘法计算和2个单向哈希计算,共需$ 6{T}_{{\rm{e}}{\rm{m}}}+3{T}_{{\rm{e}}{\rm{a}}}+2{T}_{{\rm{h}}}\approx 1.905\;3\;{\rm{m}}{\rm{s}} $。由于该协议的响应参数计算主要依靠子TA完成,RSU在密钥协商阶段只需完成1个公钥加密过程的计算,即$ 2{T}_{{\rm{e}}{\rm{m}}}+{T}_{{\rm{e}}{\rm{a}}}\approx 0.634\;7\;{\rm{m}}{\rm{s}} $。OBU为消息签名需要执行3个椭圆曲线标量乘法计算、1个椭圆曲线加法运算和3个单向哈希计算,共需$ 3{T}_{{\rm{e}}{\rm{m}}}+{T}_{{\rm{e}}{\rm{a}}}+3{T}_{{\rm{h}}}\approx 0.952\;3\;{\rm{m}}{\rm{s}} $。OBU对$ n $条消息进行批量认证需要执行$ 2n $个椭圆曲线加法计算、$ \left(n+2\right) $个椭圆曲线标量乘法计算、$ n $个椭圆曲线小因子乘法计算和$ 2n $个单向哈希计算,共需$ 2n{T}_{{\rm{e}}{\rm{a}}}+\left(n+2\right){T}_{{\rm{e}}{\rm{m}}}+n{T}_{{\rm{e}}{\rm{s}}{\rm{m}}}+2n{T}_{{\rm{h}}}\approx \left(0.352\;\;4n+0.631\;\;6\right){\rm{m}}{\rm{s}} $。同理,可以计算出其他方案各阶段的计算开销,此处不再重复列出。由于结构差异,因此EPFCAS方案没有对应的密钥协商阶段。

在本文方案中,车辆节点在加入RSU过程中生成请求消息和验证响应消息共需执行3个切比雪夫多项式计算、3个单向哈希计算、1个对称加密计算和1个对称解密计算,共需$ 3{T}_{{\rm{c}}}+3{T}_{{\rm{h}}}+2{T}_{{\rm{s}}{\rm{y}}{\rm{m}}}\approx 0.600\;5\;{\rm{m}}{\rm{s}} $;RSU验证请求消息和生成响应消息共需$ 3{T}_{c}+2{T}_{h}+2{T}_{{\rm{s}}{\rm{y}}{\rm{m}}}\approx $$ 0.599\;9\;{\rm{m}}{\rm{s}} $;OBU生成一条广播消息需要执行2个切比雪夫多项式计算、2个单向哈希计算和1个对称加密计算,共需$ 2{T}_{{\rm{c}}}+2{T}_{{\rm{h}}}+{T}_{{\rm{s}}{\rm{y}}{\rm{m}}}\approx 0.371\;\;8\;{\rm{m}}{\rm{s}} $;单条消息认证需要执行1个切比雪夫多项式计算、1个单向哈希计算和1个对称解密计算,即$ {T}_{{\rm{c}}}+{T}_{{\rm{h}}}+{T}_{{\rm{s}}{\rm{y}}{\rm{m}}}\approx 0.228\;7\;{\rm{m}}{\rm{s}} $,因此,对$ n $条消息进行认证共需$ n{T}_{{\rm{c}}}+n{T}_{{\rm{h}}}+n{T}_{{\rm{s}}{\rm{y}}{\rm{m}}}\approx \left(0.228\;7n\right){\rm{m}}{\rm{s}} $

结合表 3数据可得本文方案与其他方案在密钥协商阶段的计算开销对比,结果如图 2所示。从图 2可以看出,本文方案OBU与RSU的计算开销均小于对比方案,与计算开销最低的IB-CPPA方案相比,本文方案在密钥协商过程中,OBU的计算开销节省约5.10%,RSU的计算开销节省约5.11%。

Download:
图 2 密钥协商阶段的计算开销对比结果 Fig. 2 Comparison results of computational overhead in key agreement phase

结合表 4数据可知,在消息认证过程中,生成广播消息时,本文方案的计算时间最少,与其他方案中单条消息生成效率最高的EPFCAS方案相比,本文方案提升了约41.30%的单条消息生成效率。对消息进行批量认证时,车辆节点的计算开销与消息数量呈线性正相关关系,图 3给出了各方案在消息批量认证时消息数量与认证执行时间的关系对比。通过上述分析结果可以看出,相比现有基于双线性对或椭圆曲线密码学的方案,基于切比雪夫混沌映射的方案在计算效率上具有显著优势。其他方案在执行消息批量认证时,$ n $系数最小的是AEAS-STA方案,n为0.352 4,而本文方案中$ n $的系数仅为0.228 7,在同一时间段内所验证消息的数量提升约为54.09%。当待认证的消息数量较多时,本文方案在计算开销上的优势更为明显,能够更好地满足VANET对于消息认证协议的高性能需求。

Download:
图 3 消息批量认证的执行时间对比结果 Fig. 3 Comparison results of execution time of message batch authentication
4.2 通信开销分析

通过4.1节的分析可知,$ {P}^{\text{'}} $$ P $所占字节分别为64 Byte和20 Byte,则群$ {G}_{b} $和群$ G $中的元素所占字节分别为128 Byte和40 Byte。此外,时间戳所占大小为4 Byte,车辆真实身份所占大小为20 Byte,哈希函数的输出长度为20 Byte。在本文方案中,对称密码算法的密钥长度为192 bit,即24 Byte,对应切比雪夫多项式的值占24 Byte,RSU身份所占大小为24 Byte。

表 5所示,在NECPPA方案中,$ {\rm{O}}{\rm{B}}{{\rm{U}}}_{i} $的广播消息元组为$ \{{\rm{p}}{\rm{I}}{{\rm{D}}}_{i}, {\delta }_{i}, {M}_{i}, {\rm{I}}{{\rm{D}}}_{{\rm{R}}{\rm{S}}{{\rm{U}}}_{j}}\} $,元组中的$ {M}_{i} $为消息,$ {\rm{I}}{{\rm{D}}}_{{\rm{R}}{\rm{S}}{{\rm{U}}}_{j}} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $的身份,假名$ {\rm{p}}{\rm{I}}{{\rm{D}}}_{i}=\{{\rm{p}}{\rm{I}}{{\rm{D}}}_{i}^{1}, {\rm{p}}{\rm{I}}{{\rm{D}}}_{i}^{2}\} $$ {\rm{p}}{\rm{I}}{{\rm{D}}}_{i}^{1}\in {G}_{b} $$ {\rm{p}}{\rm{I}}{{\rm{D}}}_{i}^{2} $为真实身份与一个单向哈希函数值的异或,消息签名$ {\delta }_{i}\in {G}_{b} $。因此,增加的通信开销总量为$ 128\times 2+20\times 2=296\;{\rm{B}}{\rm{y}}{\rm{t}}{\rm{e}} $

下载CSV 表 5 通信开销比较 Table 5 Communication overhead comparisonByte

其他方案所增加的通信开销的计算方式同理。在AEAS-STA方案中,广播消息元组为$ \{{M}_{i}, {U}_{i}, {Q}_{i}, $ $ {T}_{i}, {\delta }_{i}\} $,增加的通信开销为$ 40\times 3+20+4=144\;{\rm{B}}{\rm{y}}{\rm{t}}{\rm{e}} $。IB-CPPA方案中的广播消息元组为$ \{{\rm{A}}{\rm{I}}{{\rm{D}}}_{i}, {T}_{i}, {R}_{i}, {\sigma }_{i}\} $,增加的通信开销为$ 40\times 3+20+4=144\;{\rm{B}}{\rm{y}}{\rm{t}}{\rm{e}} $。EPFCAS方案中的广播消息元组为$ \{{m}_{i}, {t}_{i}, {\sigma }_{i}\} $,增加的通信开销为$ 40\times 4+20\times 4+4=244\;{\rm{B}}{\rm{y}}{\rm{t}}{\rm{e}} $。在本文方案中,广播消息元组$ {\mathcal{M}}_{i, j}^{3}=\{{Q}_{i}, {B}_{i, j}, {x}_{j}, {\rm{t}}{\rm{m}}{{\rm{p}}}_{3}\} $,其中,$ {Q}_{i} $为切比雪夫多项式的值,$ {x}_{j} $$ {\rm{R}}{\rm{S}}{{\rm{U}}}_{j} $的身份,$ {\rm{t}}{\rm{m}}{{\rm{p}}}_{3} $为时间戳,$ {B}_{i, j}={\rm{E}}{\rm{N}}{{\rm{C}}}_{{\rm{S}}{{\rm{K}}}_{j}^{{\rm{T}}{\rm{V}}}}\left({\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j}\right|\left|{H}_{3}\right) $$ {\rm{b}}{\rm{d}}{{\rm{c}}}_{i, j} $包含消息$ {M}_{i} $、车辆假名$ {\rm{P}}{\rm{I}}{{\rm{D}}}_{i} $和一个时间戳,$ {H}_{3} $是一个单向哈希函数值。因此,本文方案增加的通信开销为$ 24\times 2+20\times 2+4\times 2=96\;{\rm{B}}{\rm{y}}{\rm{t}}{\rm{e}} $。由此可见,本文方案的消息是轻量级的,生成单条消息的负载低于其他方案,本文方案更能满足VANET的通信需求。

5 结束语

现有面向车联网的消息认证协议计算效率较低,为此,本文提出一种基于切比雪夫混沌映射的认证方案。该方案利用切比雪夫混沌映射和对称密码实现V2I密钥协商与车辆身份认证,不需要群签名,同时采用一种时效性共享密钥完成V2V匿名消息认证,无须车辆节点为每个消息签名验证一个较大的撤销列表,车辆的撤销也不会影响群组性能。安全分析结果表明,本文方案能够实现条件隐私保护并能抵御多种安全攻击。性能分析结果表明,本文方案具有较高的计算效率和较低的通信负载,在资源受限或车辆密度较大的场景下,其可以更好地满足车联网的性能需求。下一步将在本文方案的基础上优化系统内各实体的参数配置,降低追踪与撤销阶段TA的检索与存储开销以及各实体的计算和通信开销,同时提高方案的安全性并扩展其适用场景。

参考文献
[1]
ALAM M, FERREIRA J, FONSECA J. Introduction to intelligent transportation systems[M]. Berlin, Germany: Springer, 2016.
[2]
AZEES M, VIJAYAKUMAR P, JEGATHA DEBORAH L. Comprehensive survey on security services in vehicular ad-hoc networks[J]. IET Intelligent Transport Systems, 2016, 10(6): 379-388. DOI:10.1049/iet-its.2015.0072
[3]
JIANG D, TALIWAL V, MEIER A, et al. Design of 5.9 GHz DSRC-based vehicular safety communication[J]. IEEE Wireless Communications, 2006, 13(5): 36-43. DOI:10.1109/WC-M.2006.250356
[4]
VIJAYAKUMAR P, AZEES M, KANNAN A, et al. Dual authentication and key management techniques for secure data transmission in vehicular ad hoc networks[J]. IEEE Transactions on Intelligent Transportation Systems, 2016, 17(4): 1015-1028. DOI:10.1109/TITS.2015.2492981
[5]
ALFADHLI S A, LU S, CHEN K, et al. MFSPV: a multi-factor secured and lightweight privacy-preserving authentication scheme for VANETs[J]. IEEE Access, 2020, 8: 142858-142874. DOI:10.1109/ACCESS.2020.3014038
[6]
AZEES M, VIJAYAKUMAR P, DEBOARH L J. EAAP: efficient anonymous authentication with conditional privacy-preserving scheme for vehicular ad hoc networks[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(9): 2467-2476. DOI:10.1109/TITS.2016.2634623
[7]
MANVI S S, TANGADE S. A survey on authentication schemes in VANETs for secured communication[J]. Vehicular Communications, 2017, 9: 19-30. DOI:10.1016/j.vehcom.2017.02.001
[8]
CUI J, ZHANG J, ZHONG H, et al. SPACF: a secure privacy-preserving authentication scheme for VANET with cuckoo filter[J]. IEEE Transactions on Vehicular Technology, 2017, 66(11): 10283-10295. DOI:10.1109/TVT.2017.2718101
[9]
SONG C, ZHANG M Y, PENG W P, et al. Research on pairing-free certificateless batch anonymous authentication scheme for VANET[J]. Journal on Communications, 2017, 38(11): 39-47. (in Chinese)
宋成, 张明月, 彭维平, 等. 基于非线性对的车联网无证书批量匿名认证方案研究[J]. 通信学报, 2017, 38(11): 39-47.
[10]
HORNG S J, TZENG S F, HUANG P H, et al. An efficient certificateless aggregate signature with conditional privacy-preserving for vehicular sensor networks[J]. Information Sciences, 2015, 317: 48-66. DOI:10.1016/j.ins.2015.04.033
[11]
ZHANG L, WU Q, DOMINGO-FERRER J, et al. Distributed aggregate privacy-preserving authentication in VANETs[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(3): 516-526. DOI:10.1109/TITS.2016.2579162
[12]
POURNAGHI S M, ZAHEDNEJAD B, BAYAT M, et al. NECPPA: a novel and efficient conditional privacy-preserving authentication scheme for VANET[J]. Computer Networks, 2018, 134: 78-92. DOI:10.1016/j.comnet.2018.01.015
[13]
ISLAM S K H, OBAIDAT M S, VIJAYAKUMAR P, et al. A robust and efficient password-based conditional privacy preserving authentication and group-key agreement protocol for VANETs[J]. Future Generation Computer Systems-the International Journal of Escience, 2018, 84: 216-227. DOI:10.1016/j.future.2017.07.002
[14]
CUI J, WU D, ZHANG J, et al. An efficient authentication scheme based on semi-trusted authority in VANETs[J]. IEEE Transactions on Vehicular Technology, 2019, 68(3): 2972-2986. DOI:10.1109/TVT.2019.2896018
[15]
ZHANG L. Cryptanalysis of the public key encryption based on multiple chaotic systems[J]. Chaos, Solitons & Fractals, 2008, 37(3): 669-674.
[16]
BERGAMO P, D'ARCO P, DE SANTIS A, et al. Security of public-key cryptosystems based on Chebyshev polynomials[J]. IEEE Transactions on Circuits and Systems I: Regular Papers, 2005, 52(7): 1382-1393. DOI:10.1109/TCSI.2005.851701
[17]
ROYCHOUDHURY P, ROYCHOUDHURY B, SAIKIA D K. Provably secure group authentication and key agreement for machine type communication using Chebyshev's polynomial[J]. Computer Communications, 2018, 127: 146-157. DOI:10.1016/j.comcom.2018.06.005
[18]
CUI J, WANG Y, ZHANG J, et al. Full session key agreement scheme based on chaotic map in vehicular ad hoc networks[J]. IEEE Transactions on Vehicular Technology, 2020, 69(8): 8914-8924. DOI:10.1109/TVT.2020.2997694
[19]
REIS A B, SARGENTO S, NEVES F, et al. Deploying roadside units in sparse vehicular networks: what really works and what does not[J]. IEEE Transactions on Vehicular Technology, 2013, 63(6): 2794-2806.
[20]
GROVER J, LAXMI V, GAUR M S. Sybil attack detection in VANET using neighbouring vehicles[J]. International Journal of Security and Networks, 2014, 9(4): 222-233. DOI:10.1504/IJSN.2014.066178
[21]
GOYAL D. Design and analysis of secure VANET framework preventing black hole and gray hole attack[J]. International Journal of Innovative Computer Science & Engineering, 2016, 3: 9-13.
[22]
ISLAM S H, KHAN M K, OBAIDAT M S, et al. Provably secure and anonymous password authentication protocol for roaming service in global mobility networks using extended chaotic maps[J]. Wireless Personal Communications, 2015, 84(3): 2013-2034. DOI:10.1007/s11277-015-2542-8
[23]
HE D, ZEADALLY S, XU B, et al. An efficient identity-based conditional privacy-preserving authentication scheme for vehicular ad hoc networks[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(12): 2681-2691. DOI:10.1109/TIFS.2015.2473820
[24]
GAYATHRI N B, THUMBUR G, REDDY P V, et al. Efficient pairing-free certificateless authentication scheme with batch verification for vehicular ad-hoc networks[J]. IEEE Access, 2018, 6: 31808-31819. DOI:10.1109/ACCESS.2018.2845464