VANET 系统中基于中国剩余定理的群内相互认证密钥协商协议

2022-03-01 01:31张海波陈舟黄宏武贺晓帆
通信学报 2022年1期
关键词:素数公钥密钥

张海波,陈舟,黄宏武,贺晓帆

(1.重庆邮电大学通信与信息工程学院,重庆 400065;2.重庆邮电大学移动通信技术重庆市重点实验室,重庆 400065;3.武汉大学电子信息学院,湖北 武汉 430072)

0 引言

无线通信和汽车技术的飞速发展,促进了智能交通系统(ITS,intelligent transportation system)的发展。VANET(vehicular ad-hoc network)系统作为ITS 的重要组成部分,能够为车辆节点提供当前驾驶路面情况、交通拥塞状况和天气情况等辅助信息,使车辆驾驶员能够更加安全便捷地驾驶车辆[1]。VANET 系统主要包括3 种实体:可信机构(TA,trusted authority)、路边单元(RSU,road side unit)和车载单元(OBU,on broad units)。TA 负责RSU以及OBU 的注册,是一个完全可信的机构。RSU是TA 与车辆之间的桥梁,安装在道路的两侧,方便车辆的快速访问。OBU 负责车辆的计算任务和无线通信服务。

VANET 系统使用专用短程通信(DSRC,dedicated short range communication)协议进行通信[2],DSRC 协议符合IEEE 802.11p 标准。VANET 系统主要的通信方式分为2 种:车辆与车辆(V2V,vehicle-to-vehicle)、车辆与基础设施(V2I,vehicle-to-infrastructure)。V2V 和V2I 都是在公开的无线信道上进行通信的,所以在VANET 系统中进行信息传输时很容易受到恶意者的攻击,例如窃听、仿冒、重放攻击等[3]。恶意者的攻击行为使VANET 系统中的通信隐私安全受到威胁。同时,与其他静态的网络结构相比,VANET 系统具有车辆高速移动和快速的网络拓扑变化的特性,这使VANET 系统的隐私安全更容易受到恶意者的破坏[4]。

认证密钥协商(AKA,authentication key agreement)协议能够使参与者在公开的网络上完成相互认证并建立安全的会话密钥,以保护通信双方的隐私安全。许多学者对AKA 技术做了大量研究工作,并提出了很多有价值的方案。传统的基于公钥基础设施(PKI,public key infrastructure)方案[5-6],以数字证书为媒介,结合对称与非对称加密技术,将用户的身份和公钥等信息捆绑在一起,从而确保消息的完整性、身份认证和不可否认性。但是该方案需要管理大量的匿名证书和撤销列表,存储开销非常大;且该方案的证书验证过程涉及的节点数量较多,比较烦琐,导致该方案认证效率比较低。为避免基于PKI 技术带来的管理大量匿名证书和撤销列表的难题,Shamir[7]引入了基于身份基础设施的方案。身份基础设施由用户身份信息和一个可信的拥有用户密钥对的私钥生成中心(PKG,private key generator)组成,允许用户很容易地从自己的身份信息(例如电子邮箱、手机号码等)中获取公钥,再由PKG 为用户颁发私钥,这样就减轻管理大量证书带来的开销。基于区块链[8-9]的密钥协商方案通过利用区块链的优势,如可审计的日志、分散的体系结构和拒绝服务(DoS,denial of service),在保护用户隐私的同时提供了用户间的相互认证和密钥协商。但是基于区块链的认证密钥协商方案很少考虑成员动态变化的因素,无法应对VANET拓扑快速变化的特性。无证书非对称的群密钥协商方案[10-11]提供了一个公开的加密密钥,每个群成员都可以计算一个对应的解密密钥,并且只有群成员才能正确解密通过公钥加密的信息。该方案可以实现成员间的相互认证和密钥协商。但是该方案没有考虑成员的身份可追溯性和可撤销性,无法处理群成员的恶意行为。

许多学者对中国剩余定理(CRT,Chinese remainder theorem)在身份认证和密钥协商中的应用也进行了大量研究。文献[12]基于CRT 提出了2 种群签名方案,可信机构利用群成员的部分签名生成群签名,方案的安全性依赖于整数难分解、离散对数和椭圆曲线离散对数难题。文献[13]提出了一种基于CRT 的车载自组网中条件隐私保护认证方案,利用CRT的密钥管理方案为TA侧的每个车辆生成一个通用域密钥,降低了TA 的计算复杂度。

混沌系统具有对初始条件、伪随机性和遍历性十分敏感的特性,并具有良好的扩散和混淆特性,这对密码学特别是密钥系统有重要意义[14]。Kocarev 等[15]提出了一种基于切比雪夫混沌映射的公钥加密协议,由于切比雪夫混沌映射的数学特性,在公钥密码体制中使用切比雪夫混沌映射是一种更加安全的方法。Cui 等[16]提出了一种车载自组网中基于混沌映射的全会话密钥协商方案,利用扩展的切比雪夫多项式建立公钥,实现了雾服务器和车辆群管理者之间的安全会话。

综上所述,现有文献提出的VANET 系统中的认证密钥协商方案大多对车辆的匿名性、可追溯性和撤销性等安全问题考虑不全面,并且很少考虑VANET 拓扑的动态变化。本文针对上述问题,结合中国剩余定理和切比雪夫混沌映射,提出了一种VANET 系统中群内相互认证密钥协商协议。本文的主要贡献如下。

1)提出了一种基于CRT的动态车辆群建立方案。TA 利用分配给车辆节点的素数信息和车辆节点返回的公钥信息,再结合CRT 建立动态车辆群。新车辆节点加入时,群内成员不需要改变自己的私钥,只需要TA 重新计算系统公钥。车辆离开车辆群或TA 撤销车辆节点时,TA 将其对应的公钥信息修改即可。

2)提出了一种基于切比雪夫混沌映射的密钥协商协议。密钥协商双方通过访问RSU 获取对方的素数信息,并通过获取的素数认证对方的身份。密钥协商发起方利用切比雪夫映射产生密钥协商信息。接收方认证发起方对应的车辆身份后,利用切比雪夫混沌映射生成密钥协商回应信息。本文通过BAN 逻辑模型证明了所提协议的语义安全性。

3)安全分析结果表明,和现有的文献相比较,本文提出的认证密钥协商协议对车辆节点的身份认证性、身份隐私性和不可否认性等VANET 系统中的通信安全问题考虑更加全面,还考虑了VANET 拓扑动态变化的特性。仿真结果表明,本文所提协议能有效降低通信消耗,并且显著减少了计算开销。

1 预备知识

1.1 系统模型

本文提出的AKA 协议的系统模型如图1 所示。该模型中的VANET 主要由3 个实体组成,即TA、RSU 和OBU。

图1 AKA 协议的系统模型

TA。TA 拥有强大的计算能力、存储能力,是一个完全可信的机构。在VANET 系统中,合法的RSU 和OBU 都需要在TA 进行注册,然后TA 为注册实体分配参数。当有新的车辆节点加入车辆群或车辆节点离开车辆群使VANET 拓扑发生改变时,TA 会实时更新系统公钥。当有注册车辆进行恶意行为时,TA 会对该车辆的身份进行追溯并撤销其合法身份。

RSU。RSU 安装在道路的两侧,连接车辆和可信中心。RSU 负责管理车辆假名和素数信息表;当车辆通过RSU 的验证后,可以得到密钥协商对象的素数。相邻RSU 之间也可以进行通信,当车辆群进行下一个RSU 覆盖范围时,当前RSU 将假名和素数信息表发送给下一个RSU。

OBU。每一个车辆都配备一个OBU,OBU 负责车辆的通信和计算任务。

1.2 安全性假设

本文提出的认证密钥协商协议的安全性基于2种难破解问题,即计算离散对数问题(CDLP,computational discrete logarithm problem)和Zhang[17]提出的基于扩展切比雪夫混沌映射的计算Diffie-Hellman 问题(CDHP,computational Diffie-Hellman problem)。

CDLP。给定一个P阶有限循环乘法群G=〈g,P是一个大素数,g1,g2,…,gn是乘法群G的生成元。选定任意乘法群G的生成元g和y,计算x满足y=gx,其中0≤x≤|G|。

基于扩展切比雪夫混沌映射的CDHP。给定3 个参数x∈(-∞,+∞)、Tα(x)modn和Tβ(x)modn。其中n是一个大素数。计算Tαβ(x)modP。

通常情况下,想要在多项式时间内解决CDLP和基于扩展切比雪夫混沌映射的CDHP是非常困难的。这2 种难破解问题在密码学中的应用十分广泛,例如数字签名技术、匿名认证技术和密钥协商等。

2 VANET 系统中的AKA 协议

为满足VANET 系统中车辆间安全通信的需求,本文提出的AKA 协议包含7 个阶段,即系统初始化阶段、注册阶段、相互认证和密钥协商阶段、VANET 拓扑变化阶段、私钥更新阶段、假名更新阶段、RSU 切换阶段。协议涉及的参数及定义如表1 所示。

表1 协议涉及的参数及定义

2.1 系统初始化阶段

TA 负责系统初始化,定义2 个单向哈希函数H0,H1:{0,1}*→,i∈{0,1},li为哈希函数输出的位宽。对于切比雪夫混沌映射,TA 选择公共参数x、大素数n和系统私钥δsk。

2.2 注册阶段

RSUi和车辆的OBUi在TA 完成注册后身份才合法。

1)OBUi的注册

假设现有一个车辆群,该群里现在有k个车辆成员{V1,V2,…,Vk}。车辆节点Vi在进行身份注册时,Vi上的OBUi将Vi的真实身份IDVi通过安全信道发送给 TA。TA 收到消息后,计算Vi的假名SIDVi=H0(IDVi||δsk)并公布在整个系统中。TA 选择一个大素数pi(i=1,2,…,k),满足i≠j时pi≠pj,且在pi-1中有2 个大素数。TA 选择系统公共参数g,g是指数运算的原根,也是所有乘法群的生成元。TA 将{SIDVi,pi}通过安全信道发送给Vi。

Vi收到TA 发来的{SIDVi,pi}后,随机选择自己初始密码xi,0∈,计算Vi的公钥yi≡·modpi。Vi将{yi}通过安全信道发送给TA。TA将车辆群内车辆的公钥的有效时间划分为L个时间片段,在L个时间片段内,车辆节点的公钥yi保持不变。当L个时间片段用完时,Vi会重新选择私钥并重新计算公钥yi,TA 也会更新系统公钥c。

2)RSUi的注册

RSUi的注册过程和OBUi的注册过程类似,将真实身份IDRi通过安全信道发送给TA,TA 计算RSUi的假名 SIDRi=H0(IDRi||δsk),并分配给RSUi一个大素数pk+1。RSUi选择私钥xk+1,0∈,并计算对应公钥yk+1返回给TA。

3)TA 构建群组

TA 根据接收到的来自k个车辆节点的yi(i=1,2,…,k)和来自RSUi的yk+1构建同余方程组。

其中,c为系统公钥,利用中国剩余定理可以计算该同余方程组为

其中,P=p1p2…pk+1,表示对pi取模的逆。TA 计算 SPi=H1(SIDVi||pi),并将{SIDVi,pi}发送给经过注册的RSUi。RSUi根据收到的{SIDVi,pi}生成一个Vi假名和素数对应的列表λSIDV,p。

根据上面的描述,系统公布的参数为{x,n,g,SIDVi,SIDRi,c,P,SPi}。

2.3 相互认证和密钥协商阶段

在该阶段,车辆节点Vi和Vj在公开网络上完成相互认证和密钥协商,流程如图2 所示。具体步骤如下。

图2 认证密钥协商流程

Step1Vi通过发送请求给RSUi来获取Vj的素数pj。Vi选择时间戳Tvi,计算Bvi=H1(SIDVi||pi||Tvi)、AIDVi=SIDVi⊕H1(pi||Tvi),然后发送{Bvi,Tvi,AIDVi,SIDVj}给RSUi。

Step2RSUi对接收到的消息进行验证。RSUi收到消息后,首先通过TRi-Tvi<Δt检查Tvi的新鲜度。检验通过后,计算=AIDVi⊕H1(pi||Tvi),通过判断等式是否成立,判断消息请求方身份的合法性,只有群内成员才能通过验证。如果等式不成立,拒绝请求消息;如果等式成立,RSUi将{pj,TRi}发送给Vi。

Step3Vi验证来自RSUi的消息,并发送密钥协商请求消息给Vj。Vi收到{pj,TRi}后,首先由TvRi-TRi<Δt检验时间戳TRi的新鲜度,TvRi是系统当前时间戳。然后通过等式 SPj=H1(SIDVj||pj)是否成立来判断来自RSUi消息的正确性。验证通过后,Vi选择当前时间戳Tij,选择随机数α,计算ξ1≡Tα(x)modn。Vi对密钥协商请求进行签名,随机选择rvi∈,确定时间片段tvi,计算。Vi将签名消息发送给Vj。

Step4Vj检查来自Vi消息的时间戳,然后向RSUi访问Vi对应的素数pi。Vj收到消息后,通过Trj-Tij<Δt检验Tij的新鲜度,Trj是系统当前时间戳。验证通过后,生成时间戳Tvj,计算Bvj=H1(SIDVj||pj||Tvj)、AIDVj=SIDVj⊕H1(pj||Tvj)。Vj发送素数请求消息{Bvj,Tvj,AIDVj,SIDVi}给RSUi。

Step5RSUi对接收到的消息进行验证。RSUi收到消息后,首先通过TRj-Tvj<Δt检查时间戳Tvj的新鲜度,TRj是系统当前时间戳。检验通过后,计算,通过等式是否成立判断消息请求方身份的合法性。如果等式不成立,拒绝请求消息;若成立,RSUi将{pi,TRj}发送给Vj。

Step6Vj验证来自RSUi的消息,然后对Vi的身份进行认证,最后发送密钥协商消息给Vi。Vj通过TvRj-TRj<Δt判断时间戳TRj的新鲜度,TRj是系统当前时间戳。通过等式 SPi=H1(SIDVi||pi)判断来自RSUi素数的正确性。验证通过后,对Vi的身份信息进行认证,具体方法如下:计算yi≡c(modpi),判断等式是否成立。如果等式不成立,拒绝来自Vi的密钥协商请求。如果等式成立,Vj随机选择β和时间戳Tji,计算ξ2≡Tβ(x)modn,sk≡Tβ(ξ1)modn,Mij=H1(sk||ξ1||ξ2),δ≡modn。然后,Vj对密钥协商消息进行签名,随机选择rvj∈,确定时间片段tvj,计算。Vj发送消息{,tvj,Tji,ξ2,δ}给Vi。

Step7Vi检验Vj的密钥协商消息,检验通过后,会话密钥建立成功。Vi首先通过Tri-Tji<Δt对时间戳Tji进行检验,Tri是系统当前时间戳。时间戳检验通过后,再认证Vj的身份,即判断是否成立。认证通过后,计算 sk′≡Tα(ξ2)modn和=H1(sk′||ξ1||ξ2),判断等式δ′≡(sk′)modn=δ成立。若成立Vi,Vj之间会话密钥协商成功,会话密钥即为sk≡Tα(Tβ(x))modn=Tβ(Tα(x))modn。

2.4 VANET 拓扑变化阶段

1)车辆节点的加入

当新的车辆节点Vk+2想要成为车辆群的一员时,Vk+2首先需要向TA 发送加入请求。TA 接收到Vk+2的请求后,选择新的大素数pk+2发送给Vk+2,并确保g是的生成元。Vk+2接收到pk+2后,随机选择初始密钥xk+2,0∈,计算公钥yk+2≡·(modpk+2)并发送给TA。TA 收到yk+2后对系统公钥c进行更新,并将{SIDVk+2,pk+2}发送给RSU。此时Vk+2就成为车辆群的一员。

从Vk+2的加入过程可以发现,新的车辆节点的加入,不会导致原始群内车辆的密钥发生改变,TA只需要重新计算c。

2)车辆节点的追溯与撤销

当经过注册的车辆节点Vi在车辆群内发布恶意消息时,TA 会对其合法身份进行追溯和撤销。Vi在RSUi覆盖范围内发布恶意消息时,RSUi首先获取Vi在发送恶意消息使用的pi,然后在假名和素数列表λSIDV,p中找到TA 为Vi生成的当前假名。得到Vi的当前假名SIDVi后,发送假名SIDVi和pi给TA。TA 通过等式H0(IDVi||δsk)=SIDVi、pi对应的l和假名更新种子δIDi判断该假名对应车辆的真实身份。获取Vi的真实身份后,TA 将会对Vi在群内的合法身份进行撤销。此外,当经过注册的合法车辆节点Vj离开TA 建立的车辆节点群时,TA 也会撤销Vj的身份。

TA 撤销群成员Vi在群内的合法身份,只需要将Vi对应的公钥信息yi修改为另一个随机数,其他车辆节点信息保持不变,然后更新系统公钥c。此时Vi就被撤销了,其密钥将不能生成有效的密钥协商信息。

从撤销Vi的过程看,如果系统想要撤销一个车辆节点,TA 只需要改变Vi对应的公钥并重新计算c。

2.5 私钥更新阶段

Vi在第tvi个时间片段的私钥为,则在tvi+1个时间片段内Vi的私钥为。当tvi+1个时间片段对应的私钥生成后,OBUi会立刻将第tvi个时间片段的私钥删除。若tvi=L,车辆节点Vi输出的第tvi+1个时间片段的密钥为空串。当Vi的时间片段用完时,Vi重新选择私钥并重新计算对应公钥yi,TA 也会更新系统公钥c。

2.6 假名更新阶段

如果车辆自始至终都使用一个假名,这个假名就会被视为该车辆对应的真名。攻击者通过收集该车辆假名对应的信息,就可以对该车辆进行攻击。为了解决使用固定假名导致的安全问题,本文采用假名更新方案对车辆对应假名进行更新。TA 给每一个注册车辆都分配一个假名更新种子δIDi,当车辆节点Vi访问Vj当前假名对应的素数后,RSU 向TA 发送假名更新请求,TA 计算Vj对应的下一个假名并公布,记录对应的素数pj和l。然后将假名素数对应列表发送给RSU。

2.7 RSU 切换阶段

本文协议中的车辆节点的假名和素数对应表λSIDV,p由RSU 直接存储和维护,车辆节点不需要通过访问TA 获取λSIDV,p,而是直接通过访问RSU获取。当车辆节点Vi从RSUi覆盖的区域进入经过注册的RSUj覆盖的区域后,Vi向RSUj发送获取Vj的素数的请求,λSIDV,p在RSU 间的传递如图3所示。

图3 λSIDV,p 在RSU 间的传递

3 安全性证明与分析

3.1 协议安全的形式化证明

BAN 逻辑[18]由Burrows、Abadi 和Needham 提出,主要用于对认证协议的可靠性形式化证明,来确定信息交换面对任何恶意节点时是否安全。本节通过BAN 逻辑对本文提出的认证密钥协商协议的安全性进行证明。

1)BAN 逻辑符号

在对本文协议安全证明过程中,使用的BAN逻辑符号如下。

①P|≡X:P相信消息X是真实可信的。

②P◁X:P发现一条包含X的消息。

③P|~X:P在某个时间段发送过包含X的消息。

④P|⇒X:P拥有消息X的管辖权。

⑤#(X):消息X是新鲜的。

⑥(X,Y):X和Y是消息(X,Y)的一部分。

⑦〈X〉Y:使用密钥Y加密消息X。

⑧PQ:K是P和Q共享的密钥。

2)BAN 逻辑规则

本文使用4 个BAN 逻辑规则R1~R4 对协议安全进行形式化证明。

①信息含义(message-meaning)规则

②随机数证明(nonce-verification)规则

③管辖权(jurisdiction)规则

④新鲜度(freshness)规则

3)建立2 个协议安全证明目标

为了表明群内车辆节点相互认证密钥协商是安全的,需要实现2 个协议安全证明目标Goal1 和Goal2。

Goal1:Vj|≡ξ1。Vj相信Vi发来的密钥协商信息。

Goal2:Vi|≡ξ2。Vi相信Vj发来的密钥协商信息。

4)理想化协议形式

将2.3 节认证和密钥协商协议流程的普遍形式转化为理想化形式。

5)前提假设

在对协议进行安全证明之前,需要对BAN 逻辑做出如下假设。

6)协议安全性证明

通过分析理想化协议形式的安全性,得到2 个协议安全证明目标Goal1 和Goal2。

从Goal1 和Goal2 的证明过程可以看出,本文提出的协议能够有效地实现群内成员相互认证密钥协商的安全证明。

利用BAN 逻辑模型,模拟了协议中涉及的所有消息,建立了2 个协议安全证明目标。并通过合理的假设前提,完成了对消息来源的验证、消息新鲜度的验证和消息来源可信度的验证。最后根据模型规则证明了预先设定的2 个目标,完成了对协议的形式化证明。任何认证密钥协商协议都必须满足形式化安全证明的要求,否则提出的协议很可能存在安全漏洞。

3.2 安全性分析

为了在VANET 系统中安全通信,认证密钥协商协议除了需要对协议的语义安全进行形式化证明,还需要满足VANET 系统中一些基本安全需求[19],如身份认证性、身份隐私性、消息不可否认性、前向和后向安全性。同时协议还需要能够抵御各种恶意攻击,如女巫攻击、OBU 和RSU仿冒攻击、重放攻击。

1)身份认证性。本文提出的认证密钥协商协议中,Vj通过检验Vi对密钥协商消息的签名来认证Vi的身份,即判断是否成立。所有签名只有经过注册的群成员使用私钥才能生成。攻击者只有破解了CDLP 和基于扩展的切比雪夫混沌映射的CDHP 才能生成正确的签名信息。通过对签名信息的检验,车辆能够对接收消息的身份进行验证和消息完整性检验。所以该密钥协商协议可以实现Vi和Vj的相互身份认证。

2)身份隐私性。整个密钥协商过程中,V i和Vj都使用假名进行通信,只有TA 知道它们的真实身份。如果攻击者想要通过车辆节点的假名SIDVi=H0(IDVi||δsk)知道车辆的真实身份,就必须破解单向哈希函数难题并获取系统私钥。因为单向哈希函数难题解决的困难性和系统私钥的隐私性,车辆假名可以有效保护车辆的真实身份,实现车辆节点在认证密钥协商过程中的隐私性。

3)消息不可否认性。当车辆Va在RSUi覆盖范围内发布恶意消息时,如果Va不是合法的车辆群内成员,其他车辆群内成员可以直接拒接Va发布的消息;如果Va是车辆群内成员,RSUi通过检查Va的发布信息使用的素数pa,在λSIDV,p找到pa对应的假名SIDVa,再将假名和对应素数pa发给TA。TA通过H0(IDVa||δsk)=、pa对应的l和假名更新种子δIDa就找到Va的真实身份,完成了对车辆身份的追溯,确保车辆发送消息的不可否认性。

4)前向和后向安全性。Vi选择随机数α,计算出ξ1≡Tα(x)modn。Vj选择随机数β,计算出ξ2≡Tβ(x)modn。会话密钥skt≡Tαβ(x)modn。Vi和Vj都是通过选择随机数计算当前会话密钥,攻击者无法通过skt推导出skt-1或者skt+1。所以该方案的会话密钥具有前向和后向安全性。

5)抵御女巫攻击。攻击者创建大量假名车辆身份发送错误信息,以获得对对等网络的控制。在本文提出的认证密钥协商协议中,会话双方都可以通过访问RSU 对接收消息中假名对应的素数进行访问,如果没有获取到该假名对应的素数,可以直接拒绝接收的信息;如果获取到对应的素数,就可以利用该素数对消息的签名进行验证。在这个过程中,会话车辆并不关注其他车辆对该接收消息的信任度,而是通过素数对签名消息进行验证。所以本文提出的协议能够有效抵御女巫攻击。

6)抵御OBU 和RSU 仿冒攻击。对于OBU 仿冒攻击,攻击者A想要仿冒OBUi或OBUj来完成会话密钥协商。如果A不是合法的群成员,就无法通过RSUi的检验。RSUi根据A发来的消息计算,并判断等式是否成立,如果等式不成立,RSUi将会拒绝A的素数请求。如果A是经过注册的群成员,那么A就能成功的获取密钥协商的发起方和接收方对应的素数;但是密钥协商双方通过访问RSUi都知道对方对应的素数pi,然后计算y i≡c(modpi),对对方生成的签名进行检验;攻击者没有密钥协商双方的密钥xi,t,xj,t,就无法生成有效的签名。所以无论A是不是群成员都无法仿冒OBUi或OBUj,本文协议可以抵御仿冒攻击,对于RSU 仿冒攻击,当车辆节点Vi向RSU 发送素数请求后,得到RSU的回答。Vi通过 SPj=H1(SIDVj||pj)检验来自RSU 的信息,λSIDV,p只有进过注册的合法的RSU才能获取,其他RSU 无法获取。所以本文协议可以有效抵御RSU 仿冒攻击。

7)抵御重放攻击。在车辆进行认证和密钥协商协商过程中,恶意车辆监听车辆节点和RSUi之间的通信,并在当前会话中重放身份验证消息,以模拟该车辆。为避免这种情况,RSUi验证由车辆节点生成的时间戳,由于时间戳是新鲜的,因此重放攻击消息无法通过验证。同样,车辆节点双方进行消息的传输的过程中,都使用时间戳来保证消息的新鲜度。此外,每个会话都使用不同的时间戳,这增加了对重放攻击的抵抗力。所以本文协议可以有效抵御重放攻击。

4 仿真与性能评估分析

VANET 系统具有车辆快速移动和网络拓扑快速变化的特性,所以VANET 系统对通信性能要求比较高。下面将从安全性、计算开销和通信开销这几个角度对本文协议进行分析,并和Cui[16]方案、Bagga[20]方案和Ying[21]方案进行比较。

4.1 安全性分析

安全是VANET 系统中车辆间进行通信最基本的需求。本文对几种VANET 系统中认证和密钥协商方案的安全性进行了对比,具体如表2 所示。Cui方案、Bagga 方案和Ying 方案都忽略了车辆认证密钥协商的不可否认性、身份可撤销性和群组动态性的安全需求。Cui 方案无法完成身份的双向认证,Bagga 方案无法保证会话密钥的前向和后向安全性,Ying 方案也忽略了车辆身份双向认证性且不可以抵御RSU/Fog 仿冒攻击。本文协议满足所有安全需求,有较高的安全性。

4.2 计算开销分析

本文使用OpenSSL-1.0.1 密码学库,在配置为Intel(R)Core(TM)i5-8500、RAM 为2 GB的Windows 10 系统及Visual Studio 2017 的编译环境下对几种方案涉及的密码学操作进行了模拟,密码学运算的平均执行时间如表3 所示。其中Th、Tc、Texp、Tecm、Teca、Tsym、Tasy分别表示进行一次哈希运算、切比雪夫映射、模指数运算、椭圆曲线中的点乘运算、椭圆曲线中点的加法运算、对称加密/解密运算、非对称加密/解密运算的执行时间。

表3 密码学运算的平均执行时间

表4 给出了各方案在认证密钥协商过程中,在密钥协商发起方Vi、密钥协商接收方Vj和RSU 处需要执行的密钥学运算次数和总的计算开销。Cui 方案需要执行17 次单向哈希运算、18 次切比雪夫映射和3 次对称加密运算。所以Cui 方案总的计算开销为 17Th+18Tc+3Tsym≈362.86 ms。Bagga 方案需要执行10 次单向哈希运算、12 次椭圆曲线乘法运算和4 次椭圆曲线加法运算。所以 Bagga 方案总的计算开销为10Th+12Tecm+4Teca≈310.19 ms。Ying 方案需要执行22 次单向哈希运算、4 次模指数运算和4 次非对称加密/解密运算。所以Ying 方案总的计算开销为22Th+4Texp+4Tasy≈272.23 ms。本文协议需要执行16 次单向哈希函数、6 次切比雪夫映射和4 次模指数运算,所以总的计算开销为 16Th+6Tc+4Texp≈223.25 ms。

表4 各方案在认证密钥协商过程中的计算开销

各方案计算开销对比如图4 所示。从图4 可以看出,Cui 方案的计算开销最大,本文协议的计算开销明显低于其他方案。与Cui 方案相比,本文协议的计算开销减少了约38%。计算开销所导致就是通信时延。VANET 系统对通信时延特别敏感,因为只有低的通信时延才能满足VANET 拓扑快速变化的需求。所以相较于其他认证和密钥协商方案,本文协议拥有低通信时延的属性。

图4 各方案计算开销对比

4.3 通信开销分析

本文假设哈希摘要为160 bit,时间戳为32 bit,ID 为160 bit,椭圆曲线点乘为320 bit,切比雪夫映射为480 bit,非对称加密为1024 bit,对称加密为256 bit。各方案在密钥协商过程中需要发送的消息数量和总的通信开销如表5 所示。Cui 方案在密钥协商过程中需要发送4 条消息,分别是{h(ki),yi}、{sidi,zi,Ci,MACi}、和{Di},总的通信开销为2 464 bit。Bagga 方案在密钥协商过程中需要发送 3 条消息,分别是{,Sigx,t1}、{,SigSK,t2}和{,Vm,t3},总的通信开销为2 176 bit。Ying 方案在密钥协商过程中需要发送 4 条消息,分别是{DIDVi,j,CVi,nj,}、{DIDRi,CVi,nj,}、{C3,Mi,}和{C3,Mi,},总的通信开销为3 392 bit。本文协议在密钥协商过程中需要发送6 条消息,分别是{Bvi,Tvi,AIDVi,SIDVj}、{pj,TRi}、{,tvi,Tij,ξ1}、{Bvj,Tvj,AIDVj,SIDVi}、{pi,TRj}和{,tvj,Tji,ξ2,δ},总的通信开销为3 232 bit。

表5 各方案在密钥协商过程中需要发送的消息数量和总的通信开销

各方案通信开销对比如图5 所示。从图5 可以看出,Ying 方案通信开销最大,因为方案中使用了非对称加密解密运算。Bagga 方案通信开销最小。本文协议的通信开销比Ying 方案低但高于Cui 方案和Bagga 方案,主要是本文利用了签名机制验证群成员身份并使用了切比雪夫映射进行密钥协商,在认证和密钥协商过程中都保证了车辆节点通信的安全。从4.1 节的分析也可以看出,相较于Cui 方案和Bagga 方案,本文协议对VANET 系统中认证密钥协商的安全性考虑更加全面。

图5 各方案通信开销对比

5 结束语

本文提出了一种VANET 系统中的基于中国剩余定理的群内相互认证密钥协商协议。利用中国剩余定理建立动态车辆群,以适应VANET 拓扑变化。群内成员利用签名机制实现相互身份认证,并利用切比雪夫混沌映射实现车辆间的密钥协商。采用假名更新和私钥更新机制,保护通信双方隐私安全。通过BAN 逻辑模型证明了该协议的语义安全。最后,仿真结果表明,相较于现有方案,所提协议对VANET 系统中通信的安全性考虑更加全面,能有效降低通信消耗,并且显著减少了计算开销。

猜你喜欢
素数公钥密钥
幻中邂逅之金色密钥
幻中邂逅之金色密钥
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
密码系统中密钥的状态与保护*
关于素数简化剩余系构造的几个问题
TPM 2.0密钥迁移协议研究
神奇的公钥密码
国密SM2密码算法的C语言实现
P2X7 receptor antagonism in amyotrophic lateral sclerosis
孪生素数新纪录