APP下载

车载自组网中可撤销的聚合签名认证方案

2022-04-12吴静雯殷新春宁建廷

计算机应用 2022年3期
关键词:私钥攻击者密钥

吴静雯,殷新春,2*,宁建廷

(1.扬州大学信息工程学院,江苏扬州 225127;2.扬州大学广陵学院,江苏扬州 225128;3.福建师范大学计算机与网络空间安全学院,福州 350007)

0 引言

车载自组网(Vehicular Ad hoc Network,VANET)是车辆利用车载单元(On-Board Unit,OBU)与路边单元(Road-Side Unit,RSU)或其他车辆及设施进行通信的自组织网络。在车载自组网中,OBU 周期性地向其他OBU 和RSU 广播关于行车状态与交通状况的信息,包括当前所处位置、车速、附近路况、交通拥堵情况、是否有突发事件等。收到消息的车辆根据消息及时调整行车路线,获取更高的通行效率;RSU 通知交通管理中心,令其对交通信号灯的相位和配时等参数作出调整,减少或避免可能的交通拥堵。车载自组网能为用户提供便利,提升通行效率,具有广泛的应用前景。由于处在移动状态的车辆一般使用无线信道向周边的OBU 以及RSU广播消息,消息易受窃听、篡改、伪造等攻击手段影响,因此,接收方需要进行消息认证。另一方面,车辆的隐私信息,包括车辆的真实身份和行驶路线等当受到保护,在此同时,系统还需保有对恶意车辆进行追踪和撤销的能力,因此,车载自组网中的通信需要满足条件隐私保护的需求。

为实现车载自组网中通信的认证性和隐私性,研究者提出了基于公钥基础设施(Public-Key Infrastructure,PKI)[1]的认证方案;但在此类方案中,证书中心对已发布的证书进行管理维护工作的代价较高,利用证书保障车辆公钥合法性的方案并不适用于资源受限的车载自组网环境[2]。为避免证书管理问题,研究者们在基于身份的密码学理论(Identity-Based Cryptography,IBC)[3]的基础上提出 了若干认证方案[4-8]。在此类方案中,用户的公钥直接由其身份信息转化得到,不再需要用证书将用户身份与其公钥绑定。文献[4-6]中通过将系统主密钥存储在抗数据泄漏的防篡改设备中,降低了认证流程中的通信和计算开销;文献[7-8]中实现了简洁高效的消息认证,但方案假设车辆与可信中心(Trusted Authority,TA)/密钥生成中心(Private Key Generator,PKG)之间通过安全信道通信,而在实际生活中,车辆往往处于移动状态,借助无线信道进行通信,因此车辆与可信中心之间的通信有被窃听的风险。

为了进一步缩减认证时间,满足让计算资源有限的移动车辆在短时间内认证大量消息的需求,研究者采用了聚合签名技术[9]。聚合签名可以将多个签名聚合成一个签名,仅需进行一次验证便可认证多个消息,极大地提高签名认证的效率,被广泛地应用于实现车载自组网的通信认证[10-19]。文献[10-15]中使用聚合签名降低认证开销,但在聚合签名验证阶段未使用小随机数,无法抵抗文献[20-21]中提出的恶意用户的共谋攻击;文献[16-19]中方案能够抵抗恶意用户的共谋攻击,但仍存在一些细节问题;文献[16-17]提出的方案中,可信中心需要预存一个用户追踪列表以实现对恶意用户的追踪,带来了较大的存储和管理开销;文献[18]提出的方案中,包含在消息中的车辆假名是由车辆自身生成的,未经过权威机构的检验和认证,因此,恶意车辆可以捏造一个不合法的假名以逃避追踪;文献[19]提出的方案中,路边单元需要借助可信中心对车辆身份的合法性进行检验,系统的运行效率较低。

另一方面,研究具有高保密性、能抵抗物理攻击的防篡改设备,建立可信计算的环境,也是车载自组网相关研究的一个重要方向[22],防篡改设备旨在保护存储在其中的机密数据,包括车辆的私钥以及真实身份等。存储在防篡改设备中的机密数据和对相关数据执行的运算是难以获知和不可篡改的。借助防篡改设备的特性,可以设计出更高效的认证方案。文献[4-5]通过将系统主密钥预先存储在防篡改设备中,省去了可信中心与车辆之间线上交互的过程,节省了通信开销;文献[6]借助存储在防篡改设备中的密钥无法被窃取的特性,省去了用户私钥中为了掩盖系统主密钥而选取的随机数,使得消息认证的效率得到了进一步的提高。

除去效率问题,目前对车载自组网认证方案的研究在落实可追踪性和可撤销性,保证系统在恶意车辆的威胁下具有可修复性等方面,仍有待更深入的研究。上述文献中,绝大部分方案设计实现了对恶意车辆的追踪功能[4-8,10-11,14,16-19],在此基础上,文献[10,17-18]通过设置撤销列表来撤销恶意车辆。但是,由于撤销列表中的车辆仍然拥有能够生成合法签名的私钥,接收消息的车辆无法仅通过检验签名来排除恶意消息,还需检索撤销列表。为此,车辆需要存储日渐庞大的撤销列表,这给车载单元带来了较大的存储负担。

综合上述文献提供的启发,并针对其中存在的问题,本文设计了一种车载自组网中可撤销的聚合签名认证方案。该方案能够满足车载自组网中的通信在认证性和条件隐私保护这两方面的需求,并在实现可撤销性的同时,简化了消息接收者排除恶意消息的方式,节省了车载单元的存储开销。本文的主要工作如下:

1)提出了一种适用于车载自组网的认证方案。该方案能实现对认证性和条件隐私保护的需求;同时,该方案借助防篡改设备和聚合签名技术,提高了认证的效率。将该方案与其他文献提出的方案就批量认证开销进行对比,结果表明,所提方案的开销更小,适用于资源受限的车载自组网环境。

2)实现了可追踪性和可撤销性。该方案利用路边单元协助完成车辆撤销。当车辆进入路边单元的通信范围时,路边单元检查车辆身份的合法性,拒绝为撤销列表中的车辆颁发用于生成消息签名的成员密钥。因此,接收者仅需认证签名即可排除恶意消息,免除了存储、更新撤销列表的负担,节省了车辆的存储空间。此外,在该方案中,可信中心无需预存追踪列表便可还原恶意车辆的真实身份及其所有假名身份,节省了可信中心的存储和管理开销。

3)本文方案在随机预言机模型[23]下被证明可以抵抗来自被撤销的恶意车辆以及被妥协的路边单元的适应性选择消息伪造攻击,是安全有效的。

1 预备知识

1.1 双线性映射

设Gq和GT是两个阶为q的群,Gq是加法循环群,GT是乘法循环群。双线性映射e:Gq×Gq→GT具备如下几种性质:

1)双线性 :对任意的P,Q,R∈Gq,a,b∈,有

2)非退化性:如果P,Q∈Gq,那么e(P,Q) ≠1。

3)可计算性:对任意P,Q∈Gq,存在算法能在多项式时间内计算e(P,Q)。

4)对称性:对任意P,Q∈Gq,有e(P,Q)=e(Q,P)。

1.2 基本假设

计算性Diffie-Hellman 假设(Computational Diffie-Hellman assumption,CDH assumption),其内容为:给定一个加法循环群G和群上的生成元P,在已知P,aP,bP∈G,未知a,b∈的情况下,任何多项式时间内的概率算法A求解出abP的优势SuccCDH=[Pr(A(P,aP,bP)=abP)](a,b∈)都是可以忽略的。

1.3 系统模型

如图1 所示,本文的系统模型中包括3 类实体:

图1 系统模型Fig.1 System model

1)车载单元(OBU)。每台车辆拥有一个车载单元OBU,用于在车载自组网中收发消息。OBU 是车载自组网中发布和接收道路交通消息的主要实体。每个OBU 中包含一个防篡改设备,用于存储车辆的身份和私钥。防篡改设备中包含硬件安全模块(Hardware Security Module,HSM),用于进行密码学相关的运算,如计算签名等。假设车辆所有者和攻击者皆无法对防篡改设备中存储的数据及设定的运算流程进行操作、修改,也无法探知存储在防篡改设备中的数据[6]。

2)可信中心(TA)。TA 负责为车辆生成假名身份(Pseudonym Identity,PID)以及对应的部分私钥,同时具备根据假名身份追踪恶意车辆的真实身份并撤销恶意车辆的能力。假定TA 安全可信,并且具有充足的计算和存储能力。

3)路边单元(RSU)。系统中的每个RSU 负责管辖一定范围的区域,该区域中的车辆进行通信时,需使用由RSU 分发的成员密钥对消息进行签名。车辆进入某个RSU 的通信范围时,该RSU 实时审核车辆身份,阻止撤销列表中的车辆获取成员密钥。假设RSU 是半可信的,不排除其有被妥协的可能。

1.4 安全性需求

匿名性 消息发送者的真实身份对于系统中除TA 以外的其他实体而言是不可知的。

不可链接性 攻击者无法根据多个来自同一发送者的消息串联起该发送者的行车路线。

消息认证性 接收者能确认消息是否来源于可靠实体,如合法车辆或可信RSU 等。

消息完整性 接收者能确认接收到的消息是否为发送者发送的未经修改的原始消息。

不可抵赖性 若消息发送者用其私钥为消息签名,且该签名能通过认证,发送者将无法否认该消息是由其发送的。

可追踪性 TA 能根据假名身份追踪出车辆的真实身份。

可撤销性 TA 能撤销系统中发送虚假消息的恶意车辆。

2 车载自组网中可撤销的聚合签名方案

本文提出的聚合签名认证方案分为8 个阶段:系统初始化阶段、路边单元初始化阶段、车辆注册阶段、成员密钥获取阶段、消息签名阶段、消息认证阶段、批量认证阶段以及追踪与撤销阶段。

2.1 系统初始化

在系统运行前,TA 为系统进行初始化。TA 拥有路边单元信息列表和车辆的身份列表,路边单元信息列表中存储着路边单元的身份和位置信息,车辆的身份列表中存储着车辆的真实身份。此外,TA 会定期向RSU 传送更新的撤销列表,公布被撤销车辆的假名身份。

1)TA 选取阶为q的加法循环群Gq和乘法循环群GT,定义双线性映射e:Gq×Gq→GT,并从群Gq上选取两个生成元P和Q。

2)TA 选择一个随机数s∈作为私钥,并计算与之对应的公钥PTA=sP。

3)TA 选取一个安全的对称加密算法Encθ/Decθ和7 个安全的哈希函数:

4)TA 公开系统参数params={Gq,GT,q,e,P,Q,PTA,Encθ,Decθ,H0,H1,H2,H3,H4,H5,H6},保留私钥s。

2.2 路边单元初始化

设系统中共有m个RSU。在该阶段,每个RSU 选取一对公私钥,向TA 申请证书以绑定其身份和公钥,随后在其通信范围内广播获取的证书。

1)RSUj选择一个随机数rj∈作为私钥,计算与之相应的公钥PRSUj=rjP(j∈{1,2,…,m})。

2)RSUj计算mskIDRj=IDRj⊕H0(rjPTA,τRT),并将消息{mskIDRj,locRj,PRSUj,τRT}发送给TA,其中IDRj是RSUj的身份信息,locRj是RSUj的位置信息,τRT是当前消息的时间戳。

3)TA 检验消息中时间戳的新鲜性,若未失效,则根据IDRj=mskIDRj⊕H0(sPRSUj,τRT)还原出IDRj,并在路边单元信息列表中检索IDRj和locRj。若检索时未发现匹配项,则终止流程,否则TA 选取随机数wj∈,计算Wj=wjP,certRj=sH1(locRj,PRSUj,Wj,Tj)+wjmodq,其中Tj是该证书的使 用期限。

4)TA 将{certRj,Wj,Tj}返回给RSUj。

5)RSUj验证certRj的合法性:

若等式成立,则在其通信范围内广播消息{certRj,locRj,PRSUj,Wj,Tj}。

2.3 车辆注册

在该阶段,车辆向TA 提出注册申请,TA 按如下流程为车辆生成一系列假名身份以及对应的部分私钥。

1)OBUi选取一个随机数di∈作为私钥,计算与之相应的公钥Pi=diP。

2)OBUi计算mskIDvi=IDvi⊕H0(diPTA,τvT),并将{mskIDvi,Pi,τvT}发送给TA,其中IDvi是车辆的身份信息,τvT是当前消息的时间戳。

3)TA 检验消息中时间戳的新鲜性,若未失效,则根据IDvi=mskIDvi⊕H0(sPi,τvT)还原出IDvi,并在其存储的车辆身份列表中检索IDvi。若检索时未发现匹配项,则终止操作,若发现匹配项,TA 同意为该车辆生成b对假名身份及部分私钥。TA计算,车辆的假名身份PIDi,k=IDvi⊕H2(sZi,k),PIDi,k对应的部分私 钥si,k=sH3(PIDi,k,Zi,k,Ti,k,1)Q,其中Ti,k,1是si,k的使用时限。使用时限内的假名身份可以被多次使用,但不会在相近的时段、在位置相近的RSU 的通信范围中被重复使用。

4)TA 计算对称加密算法Encθ的加密密钥θi=H0(sPi,τTv),并用该密钥加密数据,将{Encθi({si,1,si,2,…,si,b}{PIDi,1,PIDi,2,…,PIDi,b}{Zi,1,Zi,2,…,Zi,b} {Ti,1,1,Ti,2,1,…,Ti,b,1}),τTv}返回给OBUi,其中τTv是当前消息的时间戳。

5)OBUi检验时间戳的新鲜性,若未失效,则将消息置入防篡改设备中,随后计算对称解密算法Decθ的解密密钥θ′i=H0(diPTA,τTv),用该密钥解密消息,并验证获取的假名身份与部分私钥是否正确:

若上式成立,则将它们分别存入假名身份池与部分私钥池;若等式不成立,则将这条消息删除。

2.4 成员密钥获取

当车辆进入某个RSU 的通信范围时,车辆向该RSU 提出加入群组的请求,RSU 按如下流程为其计算用于生成签名的成员密钥。

1)OBUi进入RSUj的管辖范围时,先获取RSUj广播的证书消息{certRj,locRj,PRSUj,Wj,Tj},并对该证书进行认证:

若等式成立,则认可PRSUj是当前RSUj的公钥。

2)OBUi从假名身份池中选取一个PIDi,k,并从部分私钥池中取出PIDi,k对应的部分私钥si,k,再选取随机数yi∈,计算Yi=yiP。最后,利用防篡改设备中的硬件安全模块为请求消息计算签名σi=H4(PIDi,k,Pi,Yi,locRj,τvR)si,k+yiQ,其中τvR是当前请求的时间戳。

3)OBUi将请求消息{PIDi,k,Pi,Zi,k,Ti,k,1,Yi,τvR,σi}发送给RSUj。

4)RSUj检验时间戳τvR的新鲜性,若未失效,则计算hi,1=H3(PIDi,k,Zi,k,Ti,k,1),并验证车辆身份的合法性:

若等式成立,则RSUj用消息中的PIDi,k进一步在TA 发布的撤销列表中进行检索。若检索时发现匹配项,说明该车辆已被撤销,终止流程;若未检索到匹配项,则RSUj同意为该车辆生成成员密钥ski,j=rjH5(PIDi,k,Ti,j,2)Q,其中Ti,j,2是该密钥的使用时限。

5)RSUj计算mskski,j=ski,j⊕H0(rjPi,τRv),并将{PIDi,k,Ti,j,2,mskski,j,τRv}返回给OBUi,其中τRv是当前消息的时间戳。

5)OBUi检验消息中的时间戳τRv的新鲜性,若未失效,则将消息置入防篡改设备中,随后通过ski,j=mskski,j⊕H0(diPRSUj,τRv)还原成员密钥,再对其进行检验:

若等式成立,则接受该密钥;否则,将消息删除。

2.5 消息签名

车辆行驶途中,OBUi通过发送签名消息与周边车辆及RSU 进行实时交互,发布道路交通信息。OBUi使用防篡改设备中的硬件安全模块进行计算签名等密码学相关的运算,该模块能避免签名过程被外部攻击者干扰[6]。

1)OBUi取一个随机数li∈,计算Li=liP,并生成消息签名:

其中Mi是消息主体,τvB是当前消息的时间戳。

2)OBUi向周边车辆和RSU 广播签名消息msgi={sigi,PIDi,k,Zi,k,Ti,k,1,Ti,j,2,Li,Mi,τvB}。

2.6 消息认证

接收者先检验时间戳τvB的新鲜性,若未失效,则计算:

并检验消息的合法性:

若等式成立,则接受该消息。

2.7 批量认证

当接收者同时收到来自多个发送者的共计n个消息时,可对这些消息的合法性进行批量认证:

若等式成立,则接收者接受这些消息;否则,接收者利用二分法,逐步筛查并剔除其中无效的签名消息[24]。

式中的αi是小随机数,αi∈{1,2,…,210},i∈{1,2,…,n}。设置小随机数是为了抵抗文献[20-21]中提出的恶意车辆合谋攻击。若无小随机数项的存在,恶意车辆可以将若干个无效签名聚合成一个有效的聚合签名。如设OBUi与OBUg代表两台恶意车辆,则它们可以分别生成如下的签名:

这两个签名无法通过单个签名认证,但相加后能消去冗余项Ri,因而能通过聚合签名认证,这将使签名方案的不可抵赖性无法实现。添加小随机数项后,由于为每个签名sigi选取的αi是任意选取的,αiRi与αgRi可以相互抵消的概率小到可以忽略,因此可以有效防范恶意车辆的共谋攻击。

2.8 追踪与撤销

TA 可以通过恶意消息中包含的假名身份对恶意车辆进行追踪和撤销,追踪与撤销工作按照如下流程进行。

1)若某个有效的签名消息msgi被判定为虚假消息,TA将通过IDvi=PIDi,k⊕H2(sZi,k)还原出消息发送者的真实身份。

2)TA 将IDvi从车辆身份列表中删除,并利用IDvi,计算出OBUi其余的假名身份:

随后,TA 将假名身份{PIDi,1,PIDi,2,…,PIDi,b}加入撤销列表revokeList。

3)TA 随机选取ui∈,计算Ui=uiP,σre=(sH3(revokeList,Ui,τr)+ui)Q,其中τr是当前撤销列表的时间戳。TA 向所有RSU 传送{revokeList,Ui,σre,τr}。

4)RSU 收到TA 传送的撤销列表消息后,对revokeList的合法性进行验证:

若等式成立,则接受撤销列表revokeList。

3 安全性分析

3.1 安全模型

本文方案中存在两种类型的攻击者A1和A2:A1代表在系统中注册过,但因非法行为被撤销的恶意车辆,这类攻击者拥有TA 为车辆生成的部分私钥,但不能获取RSU 为车辆生成的成员密钥,也不能获取TA 的私钥;A2代表恶意的RSU,这类攻击者拥有特定RSU 的私钥,可以获取RSU 为车辆生成的成员密钥,但不能获取TA 为车辆生成的部分私钥,也不能获取TA 的私钥。

本文方案在适应性选择消息伪造攻击下的安全性可用挑战者C与攻击者A1和A2间进行的两个游戏来模拟。

游戏Ⅰ

初始化 挑战者C运行初始化算法,生成公开参数params,并将params发送给A1。

询问阶段

RSU 公钥询问A1提出RSU 公钥询问,C产生PRSUj并将其返回给A1。

H1询问A1提出H1询问,C产生hi,1并将其返回给A1。

H2询问A1提出H2询问,C产生hi,2并将其返回给A1。

H3询问A1提出H3询问,C产生hi,3并将其返回给A1。

部分私钥询问A1提出部分私钥询问,C产生si,k并将其返回给A1。

签名询问A1提出签名询问,C产生sigi并将其返回给A1。

伪造阶段A1输出对目标的伪造签名。若A1在未对(进行签名询问的情况下,生成了有效的签名,则认为A1赢得了游戏。

游戏Ⅱ

初始化 挑战者C运行初始化算法,生成公开参数params,并将params发送给A2。

询问阶段

RSU 公钥询问A2提出RSU 公钥询问,C产生PRSUj并将其返回给A2。

H1询问A2提出H1询问,C产生hi,1并将其返回给A2。

H2询问A2提出H2询问,C产生hi,2并将其返回给A2。

H3询问A2提出H3询问,C产生hi,3并将其返回给A2。

成员密钥询问A2提出成员密钥询问,C产生ski,j并将其返回给A2。

签名询问A2提出签名询问,C产生sigi并将其返回给A2。

伪造阶段A2输出对目标的伪造签名。若A2在未对进行签名询问的情况下,生成了有效的签名,则认为A2赢得了游戏。

3.2 本文方案的安全性证明

在随机预言机模型[23]下,攻击者A1及A2不能伪造关于特定身份和消息的有效签名。相关证明如下。

定理1在随机预言机模型下,本文提出的签名认证方案能够抵抗来自A1的适应性选择消息伪造攻击。

证明 若在随机预言机模型下,攻击者A1通过执行若干次询问,能够在多项式时间内,以不可忽略的优势ε伪造一个合法的签名,则挑战者C可以利用A1,在多项式时间内以不可忽略的概率ε′解决CDH 困难问题。

挑战者C拥有一个建立在群Gq上的CDH 问题的实例(P,aP,bP),其中P是从Gq中选取的一个生成元,a,b∈是两个随机数。设C可以建立某个多项式时间内的概率算法,通过调用A1作为子程序,输出该CDH 实例的解abP。

游戏I 挑战者C执行系统初始化算法,令Q=bP,设置TA 的私钥s∈,计算TA 的公钥PTA=sP,并将公共参数params={Gq,GT,q,e,P,Q,PTA,Encθ/Decθ,H0,H1,H2,H3,H4,H5,H6}发送给攻击者A1。

挑战者C维护5 个初始为空的列表LH1、LH2、LH3、Lsi,k、Lsig,它们分别存储着C对H1询问、H2询问、H3询问、部分私钥询问以及签名询问的响应记录。

A1自适应地向C发起如下询问:

RSU 公钥询问A1输入locRj进行询问,C设置RSUj的公钥PRSUj=aP,并将PRSUj返回给A1。

H1询问A1输入PIDi,k进行询问,C检索列表LH1,若此时列表中存在(PIDi,k,hi,1),则将hi,1返回给A1;否则,C选择随机 数hi,1∈,将元组(PIDi,k,hi,1)加入LH1,并将hi,1返回给A1。

H2询问A1输入(PIDi,k,Ti,j,2)进行询问,C检索列表LH2,

1)若P若此时列表中存在(PIDi,k,Ti,j,2,hi,2),则将hi,2返回给A1;否则,C选择随机数hi,2∈,将元组(PIDi,k,Ti,j,2,hi,2)加入LH2,并将hi,2返回给A1。

H3询问A1输入(PIDi,k,Mi)进行询问,C检索列表LH3,若此时列表中存在(PIDi,k,Mi,li,hi,3),则将hi,3返回给A1;否则,C选择两个随机 数hi,3∈,li∈,并将元组(PIDi,k,Mi,li,hi,3)加入LH3,将hi,3返回给A1。

部分私钥询问A1输入PIDi,k进行询问,C检索列表Lsi,k,若此时列表中存在(PIDi,k,si,k),则将si,k返回给A1;否则,C检索列表LH1,若此时列表中不存在(PIDi,k,hi,1),则执行关于PIDi,k的H1询问。C利用从列表LH1中取得的hi,1,计算si,k=shi,1Q,并将元组(PIDi,k,si,k)加入Lsi,k,将si,k返回给A1。

签名询问A1输入(PIDi,k,Mi)进行询问。,C终止模拟。

该签名是合法的,因为:

C将元组(PIDi,k,Li,Mi,sigi)加入Lsig,将sigi和Li返回给A1。

计算出CDH 困难问题的解:

接下来,计算挑战者C通过调用A1成功解决CDH 困难问题的概率ε′。如果以下条件成立,C将成功解决CDH 困难问题。

条件1 在运行游戏Ⅰ期间,挑战者C未曾终止游戏。

条件2 攻击者A1能够输出一个合法的伪造签名。

设询问阶段A1执行签名询问的次数最多为qsq次,且A1能查询的身份池中有n1个车辆身份,满足条件1 的概率为sq。又由最初的假设可知,A1能够输出一个合法的伪造签名的概率Pr(cond2)≥ε,因此C借助A1成功解决CDH 困难问题的概 率ε′=Pr(cond1)×。由于ε是一个不可忽略的概率,因此挑战者C成功解决CDH 困难问题的概率ε′也是不可忽略的,这与CDH 问题是一个难以求解的困难问题的假设相违背。由此证明,攻击者A1无法伪造关于的合法签名。 证毕。

定理2在随机预言机模型下,本文提出的签名认证方案能够抵抗来自A2的适应性选择消息伪造攻击。

证明 若在随机预言机模型下,攻击者A2通过执行若干次询问,能够在多项式时间内,以不可忽略的优势ε伪造一个合法的签名,则挑战者C可以利用A2,以不可忽略的概率ε′解决CDH 困难问题。

挑战者C拥有一个建立在群Gq上的CDH 问题的实例(P,aP,bP),其中P是从Gq中选取的一个生成元,a,b∈是两个随机数。设C可以建立某个多项式时间内的概率算法,通过调用A2作为子程序,输出该CDH 实例的解abP。

游戏Ⅱ 挑战者C执行系统初始化算法,令Q=bP,设置 TA 的公钥PTA=aP。C将公共参数params={Gq,GT,q,e,P,Q,PTA,Encθ/Decθ,H0,H1,H2,H3,H4,H5,H6} 发送给攻击者A2。

挑战者C维护 6 个初始为空的列表LH1、LH2、LH3、Lski,j、Lsig、LPRSU,它们分别存储着C对H1询问、H2询问、H3询问、成员密钥询问、签名询问以及RSU 公钥询问的响应记录。

A2自适应地向C发起如下询问:

RSU 公钥询问A2输入locRj进行询问,C检索列表LPRSU,若此时列表中存在,则将PRSUj返回给A2;否则,C选择随机数rj∈,计算PRSUj=rjP,将元组()locRj,PRSUj加入LPRSU,并将PRSUj返回给A2。

H1询问A2输入PIDi,k进行询问,C检索列表LH1,若此时列表中存在,则将hi,1返回给A2;否则,C选择随机 数hi,1∈,将元组(PIDi,k,hi,1)加入LH1,并将hi,1返回给A2。

H2询问A2输入(PIDi,k,Ti,j,2)进行询问,C检索列表LH2,若此时列表中存在(PIDi,k,Ti,j,2,hi,2),则将hi,2返回给A2;否则,C选择随机数hi,2∈,将元组(PIDi,k,Ti,j,2,hi,2)加入LH2,并将hi,2返回给A2。

H3询问A2输入(PIDi,k,Mi)进行询问,C检索列表LH3,若此时列表中存在(PIDi,k,Mi,li,hi,3),则将hi,3返回给A2;否则,C选择两个随机 数hi,3∈,li∈,并将元组(PIDi,k,Mi,li,hi,3)加入LH3,将hi,3返回给A2。

成员密钥询问A2输入(PIDi,k,Ti,j,2)进行询问,C检索列表Lski,j,若此时列表中存在(PIDi,k,Ti,j,2,ski,j),则将ski,j返回给A2;否则,C查找列表LH2,若此时列表中不存在(PIDi,k,Ti,j,2,hi,2),则执行关于PIDi,k的H2询问。C利用从列表LH2中取得的hi,2,计算ski,j=rjhi,2Q,将元组(PIDi,k,Ti,j,2,ski,j)加入Lski,j,将ski,j返回给A2。

签名询问A2输入(PIDi,k,Mi)进行询问。

该签名是合法的,因为:

C将元组(PIDi,k,Li,Mi,sigi)加入Lsig,将sigi和Li返回给A2。

计算出CDH 困难问题的解:

接下来,计算挑战者C通过调用A2,成功解决CDH 困难问题的概率ε′。如果以下条件成立,C将成功解决CDH 困难问题:

条件1 在运行游戏Ⅱ期间,挑战者C未曾终止游戏。

条件2 攻击者A2能够输出一个合法的伪造签名。

设询问阶段A2执行签名询问的次数最多为qsq次,且A2能查询的身份池有n2个车辆身份,满足条件1 的概率为。又由最初的假设可知,A2能够输出一个合法的伪造签名的概率Pr(cond2)≥ε,因此C借助A2成功解决CDH 困难问题的概 率ε′=Pr(cond1)×。由于ε是一个不可忽略的概率,因此挑战者C成功解决CDH 困难问题的概率ε′也是不可忽略的,这与CDH 问题是一个难以求解的困难问题的假设相违背,由此证明,攻击者A2无法伪造关于的合法签名。 证毕。

3.3 安全需求的达成情况分析

匿名性 由于消息发送者使用假名身份发送消息,除TA 以外,系统中其他实体都无法根据假名身份还原出车辆的真实身份,因此车辆的匿名性能够得到保障。

不可链接性 当车辆离开上一个RSU 的管辖范围,加入下一个RSU 所在的群组时,它将选取一个与前次不同的假名身份发送给RSU 进行注册。由于车辆在位置相近的若干RSU 中注册时使用的假名身份是不同的,因此,攻击者无法根据同一发送者发送的多个消息串联起发送者的行驶路线。

消息认证性 由于攻击者无法伪造一个合法的消息签名,使该消息通过接收者的认证,因此消息的认证性能够得到保障。该性质的详细证明过程见3.2 节。

消息完整性 若发送者发送的原始消息被更改,消息签名也应作出变化,否则将不能通过认证。由于攻击者不能伪造有效的消息签名,因此无法篡改消息。

不可抵赖性 本文方案的认证算法包含了小随机数,因而能避免多个恶意车辆合谋,将若干无效的签名聚合成一个有效签名的情况发生,保障了签名的不可抵赖性。

可追踪性 TA 能够根据假名身份计算出发送者的真实身份。计算方式如下IDvi=PIDi,k⊕H2(sZi,k)。

可撤销性 RSU 根据TA 提供的撤销列表审查加入该RSU 的车辆身份的合法性,拒绝为被撤销的车辆发放用于生成消息签名的成员密钥,被撤销的车辆后续将不能生成合法的消息签名,由此实现了对恶意车辆的撤销。

4 性能分析

将本文提出的方案与文献[11,14,16-18]方案就安全性能、计算开销和通信开销三方面进行对比,以衡量本文方案的性能。文献[11,14,16]是基于双线性映射的签名方案;文献[17-18]是基于椭圆曲线的签名方案。通过仿真实验分析了在不同车流量状况下上述各方案的性能表现。仿真结果表明,在多数状况下,本文方案的批量认证开销均低于其他方案,因而本文方案适用于资源受限的车载自组网环境。

对基于双线性映射的签名方案,为达到80 b 的安全等级[4],选取两个群元素为512 b(64 B),阶为160 b(20 B)的循环群Gq和GT,定义双线性映射e:Gq×Gq→GT。对基于椭圆曲线的签名方案,为达到80 b 的安全等级[4],选取一个构建在椭圆曲线E:y2=x3+ax+b(a,b∈)模p的有限域上的循环群G,群元素和群的阶p皆为160 b(20 B)。

4.1 安全性能分析

将本文方案与文献[11,14,16-18]提出的方案就各项安全性能的实现情况进行对比,对比结果如表1 所示。由表1可见,本文方案满足各项安全性能的需求。需要说明的是,虽然文献[18]方案声称能实现可追踪性和可撤销性,但消息中包含的车辆假名是由车辆自身生成的,未经过权威机构的检验和认证,恶意车辆可以捏造不合法的假名以逃避追踪,故无法实现以上两项安全属性。

表1 各方案的安全性能对比Tab.1 Security performance comparison of different schemes

4.2 计算开销分析

为表示各类基本运算的时间开销,现将符号约定如下:Tp表示在群Gq上执行一次双线性对运算所需的时间;Tbp⁃sm表示在群Gq上执行一次标量乘运算所需的时间;Tbp⁃sm⁃s表示在群Gq上执行一次小规模的标量乘运算所需的时间;Tbp⁃pa表示在群Gq上执行一次点加运算所需的时间;Tecc⁃sm表示在群G上执行一次标量乘运算所需的时间;Tecc⁃sm⁃s表示在群G上执行一次小规模的标量乘运算所需的时间;Tecc⁃pa表示在群G上执行一次点加运算所需的时间;;Thmtp表示执行一次映射到点的哈希运算所需的时间。

根据文献[4]中提供的实验统计结果,各类运算的平均执行时间如表2 所示。由于执行一次常规哈希运算的开销与其他基本运算的计算开销相比十分微小,可以忽略这一项。

表2 各类基本运算的执行时间 单位:msTab.2 Execution time of different operations unit:ms

表3 展示了文献[11,14,16-18]方案与本文方案在签名开销和认证开销方面的理论耗时对比。由表3 中统计的对比结果可知,本文方案在单个签名的签名和认证开销上高于文献[14,17-18]方案,与文献[16]方案持平,低于文献[11]方案。本文方案的主要优势体现在批量认证开销方面。随着消息数n的增大,本文方案中令计算开销发生线性增长的n的系数相较其他方案更低,消息数增多时,批量认证开销能维持在较低的水准,不会随消息数的增多而显著增长。

表3 各方案的计算开销对比 单位:msTab.3 Computational cost comparison of different schemes unit:ms

图2 显示了当包含的消息数逐渐增多时,上述各方案的批量认证开销对比情况。

图2 各方案批量认证开销对比Fig.2 Comparison of batch verification overhead among different schemes

由图2 可见,当包含的消息数较多时,本文方案的认证开销远小于其他各方案。当批量认证时包含的签名消息数为500 条时,本文方案中批量认证开销是125.84 ms。文献[18]方案的批量认证开销仅次于本文方案,为223.88 ms;相较该方案,本文方案减少了43.79%的认证开销。因此,本文方案更适宜需要快速认证大量消息的车载自组网环境。

4.3 通信开销分析

参照文献[4],为达到80 b 的安全等级,设计基于双线性映射的方案时,群Gq中的元素为512 b(64 B),设计基于椭圆曲线的方案时,群G中的元素为160 b(20 B)。各类方案中的时间戳均为32 b(4 B)。

在文献[16]方案中,车辆发送的签名消息为{OIDi,Si,Mi,Ti},其中Si是群元素对,OIDi是有限域上的元素,Ti是时间戳,因而签名消息的通信开销为:

在文献[17]方案中,车辆发送的签名消息为{PIDi,P1,P2,i,M,L,T,v,time},其中P1、P2,i、L是群元素对,PIDi、v是有限域上的元素,T、time是时间戳,因而签名消息的通信开销为:

在文献[18]方案中,车辆发送的签名消息为{M,U,Q,PIDi,T,δ},其中U、Q是群元素对,PIDi、δ是有限域上的元素,T是时间戳,因而签名消息的通信开销为:

在本文方案中,车辆发送的签名消息为{sigi,PIDi,k,Zi,k,Ti,k,1,Ti,j,2,Li,Mi,τvB},其中Zi,k、Li是群元素对,sigi、PIDi,k是有限域上的元素,Ti,k,1、Ti,j,2、τvB是时间戳,因而签名消息的通信开销为:

上述方案的通信开销对比情况如图3 所示。

图3 各方案通信开销对比Fig.3 Comparison of communication cost among different schemes

由图3 可见,本文方案的通信开销高于文献[16-18]方案,低于文献[11,14]方案。与基于双线性映射的同类签名方案[11,14,16]相比,仅高于文献[16]方案,但文献[16]方案中,车辆使用唯一的假名身份重复发送消息,因此无法实现不可链接性。对比结果表明,本文方案与基于双线性映射的同类签名方案相比具有适中的通信开销,同时实现了更为全面的安全性能保障,适宜用于实现车载自组网中的消息认证。

4.4 各方案认证效率的仿真分析

本文使用Matlab R2014a 编写程序进行道路交通仿真,借助仿真实验,分析车流量的变化在认证开销方面对本文方案和文献[11,14,16-18]方案造成的影响。实验设置的仿真区域是一个道路为双向四车道的十字交叉口,其中每条车道长900 m,整个区域中共包含16 条车道。假设该区域内的车辆以每分钟3 条的频率发送消息,以5 s 为间隔对接收到的消息签名进行批量认证。仿真程序分别模拟计算了当各进口道中的输入车流量为每小时300、400、500、600 辆时,区域内的车辆按照上述文献中的方案执行批量认证分别耗费的平均时间,并将结果进行对比。对比结果如图4 所示。

图4 不同车流量情况下的认证开销对比Fig.4 Comparison of batch verification overhead under varied traffic volumes

由图4 可见,当进口道的输入车流量为每小时400、500、600 辆时,本文方案的认证开销都是最低的。当输入车流量为每小时600 辆时,本文方案的平均认证时间为49.92 ms,是对比方案中用时最少的。认证效率仅次于本文方案的是文献[18]方案,认证时间为75.37 ms;相较于该方案,本文方案节省了33.77%的时间开销。由于本文方案具有较低的认证开销,因此,该方案适用于资源受限的车载自组网环境。

5 结语

针对目前车载自组网中存在的通信安全和隐私保护方面的问题,本文提出了一种车载自组网中可撤销的聚合签名认证方案。该方案借助防篡改设备和聚合签名技术,提高了认证效率。此外,RSU 对车辆身份进行实时审查,阻止撤销列表中的车辆获取成员密钥、生成合法签名,因此消息接收者无需检索撤销列表来排除恶意消息,更高效地实现了对系统中恶意车辆的撤销。该方案在随机预言机模型下被证明可以抵抗来自被撤销的恶意车辆和被妥协的RSU 的适应性选择消息伪造攻击。性能分析的结果表明,本文方案的认证开销较小,适用于资源受限的车载自组网环境。

未来工作中,将进一步研究车载自组网的通信安全问题,将签名与加密结合,在保障消息认证性的同时,保障数据机密性。

猜你喜欢

私钥攻击者密钥
基于贝叶斯博弈的防御资源调配模型研究
比特币的安全性到底有多高
幻中邂逅之金色密钥
幻中邂逅之金色密钥
程序员把7500枚比特币扔掉损失巨大
正面迎接批判
Android密钥库简析
正面迎接批判
基于身份的聚合签名体制研究
一种新的动态批密钥更新算法