杨 鸽,赖成喆,郑 东
西安邮电大学 网络空间安全学院,西安 710121
随着智能车辆的快速发展,车辆网络和应用已经出现在我们的日常生活中[1-3]。人们的出行要求也从最初的迅速快捷延伸到个性化的驾驶需求,在这样的背景下,智能交通系统(ITS)[4-6]的快速发展成为解决出行要求的关键。车联网是物联网在智能交通领域的核心应用和新动向,其本质上是一个动态的移动通信系统,可以实时的收集、分享、处理、计算及更新网络中的信息。由于车辆节点的高速移动性,车载环境的复杂性,交通用户的规模性,通信环境的属性,以及车辆用户间的交互性等因素,使车联网中安全高效的数据转发备受挑战。
数据转发机制对实现安全的出行及车联网的各类应用都起着至关重要的作用。隐私保护是数据转发所面临的一个严峻问题,车载传感器从周围环境收集和转发的数据涉及很多敏感信息,因此会给参与者造成极大的困扰,例如身份隐私。数据的可靠性评估也是一个重要的问题。由于移动感知的开放性,需要大量的移动设备接入来提供数据,因此在提供数据源的用户以及数据的可信度方面都存在着相应的问题。另外,用户的参与性也是数据转发中的一个重要研究内容。因为车辆在参与转发时,也会在一定程度上牺牲用户的隐私,因此在保证安全的转发过程如何提高用户的参与性也是非常重要的。目前,数据转发在车联网中得到了广泛的应用[7-9],文献[8]提出一种安全的上下文隐私数据传输方案,文献[9]研究了车辆间的多跳转发方案以增强通信的可靠性,文献[10]提出了一种基于投票的信任管理系统来评估车辆的可靠性。由此可见,在目前的研究中,大多数的方案都只关注车辆的可信度,并未考虑到车辆所转发内容的真实性。此外,由于车联网无线通信的属性,以及车辆用户的自私性等问题。因此,在车联网中如何保证数据转发的可靠性以及用户身份的隐私性和用户的参与性等问题是非常重要的。
针对以上问题,我们把匿名认证和信誉模型的思想引入数据转发中,并提出了具备匿名性和信任评估的车联网数据转发方案,它实现了数据的可靠性、完整性、匿名性以及不可抵赖性。本文的主要贡献如下:
(1)该方案提出了一种具备匿名性和信任评估的车联网数据转发方案,并通过相互认证可以同时实现车辆的隐私保护及可追溯性。
(2)通过对信任等级的计算对车辆用户的信用值进行更新,以此来激励车辆贡献自己的带宽和消息,提高了参与用户的积极性。
(3)利用Beta信任函数对信息内容的相似度和冲突度进行分类评估,判断出消息内容的可信度。
近几年来,数据转发在各个领域都得到了广泛的关注[11]。为了给用户提供安全的驾驶环境以及方便高效的出行计划,车联网中安全的数据转发十分重要,具体包括隐私安全,消息内容的可靠性以及转发的及时性。
为了实现用户的隐私,提出了消息认证的方法来实现用户身份隐私。2006年,Raya等人[12]提出了关于车联网隐私保护方案。目前车联网中的隐私保护主要包括匿名方案和基于身份的密码学方案。文献[13]使用了匿名认证协议来保护用户的隐私;文献[14]提出了一种基于匿名证书的认证方案;文献[15]提出基于共享证书实现车辆间身份验证的匿名认证方案;文献[16]都提出了给车辆分配大量证书的匿名认证方案;文献[17]提出了一种车联网中有效的消息认证方案;文献[18]利用双重假名的方法来隐藏车辆的真实身份并采用动态更新技术以定期更新信息,而且该方案在计算方面有较少的开销;文献[19]提出了一种新的轻量级群组身份验证方案,不仅可以对所有设备进行身份验证,而且还可以最大程度地减少身份验证开销。
文献[20]中详细介绍了VANET中的各种信任模型。目前车联网中基于数据可靠性主要存在3种信任模型[21],它们分别是实体信任、数据信任以及组合信任。文献[12]提出使用贝叶斯推理和谢弗理论来评价某一事件发生所收到的证据。文献[22]提出了一种基于数据的信任架构,包括基于信任的数据共享系统,数据语义和抽象模型以及数据透明性和责任感增强机制。文献[23]提出了参与者协调框架,该方法包括一个合作的数据聚合、一个激励分配方法和一个惩罚机制,既保护了参与者的隐私,又保证了收集到的数据的可信度。组合信任模型的目的是基于其他对等工具提供的意见来确定数据包的可信度。文献[8]提出了使用一种同态加密方式来保护众包定位系统的数据的可信度。文献[9]提出一种安全的上下文隐私数据传输方案。文献[24]研究了车辆间的多跳转发方案以增强通信的可靠性。
目前已经提出了很多研究车联网中数据转发的方案。文献[25]研究了车辆间的中继转发方案以增强通信的可靠性。文献[26]提出了一种安全的激励方案来实现高速行驶的车辆中公平可靠的合作下载问题。文献[27]提出了基于车载社交网络中具有隐私保护要求和内容分发的解决方案。一些研究将V2V与V2R通信结合起来完成数据转发。尽管它已经被证明RSU可以提高数据传输的性能,但由于其困难的部署策略和高成本限制了它的适用性[28]。随着控制消息数量的增加,当遇到交通阻塞时,路由开销和端到端延迟增加。因此,这些协议不适用于车联网中大规模的数据转发。
设G1和G2分别为阶为q的加法群和乘法群,G1和G2上的双线性映射为:e:G1×G1→G2,其中P为G1的生成元,它满足以下3个性质。
双线性:对任意的a,b∈Z q*以及S,R∈G1,总有e(aP,bP)=e(P,P)ab以及e(S+R,P)=e(S,P)e(R,P)。
非退化性:存在G1中两个点S和R,使得e(R,S)≠e(P,P)。
可计算性:对中任意的S和R存在一个有效的算法e(R,S)。
Diffie-Hellman(CDH)问题:P为生成元,对于任意a,b∈Z q,已知aP及bP,计算abP是困难的。
共谋攻击算法(k-CAA):给定整数a∈Z q,x∈Z q,P,Q=x P,h1,h2,…,h k∈Z q,(1/(h1+x))P,(1/(h k+x))P对于h∉{h1,h2,…,h k}计算1/(h+x)是困难的。
本文的方案主要研究的是区域车辆通过RSU转发消息,然后交通管理中心做出及时的响应,最后可信机构更新相关车辆的信用值。区域车辆首先需要和RSU进行认证,TA(可信机构)将车辆转发的消息发送给TMC(交通管理中心),TMC接收后并验证信息的真实性及可靠性,验证完成后及时转发给相应的车辆,最后TA(可信机构)计算车辆的信任等级,更新参与转发车辆的信用账户。本文中,首先车辆和路边单元(RSU)向可信机构(TA)发送注册请求并进行相互认证,注册后的车辆拥有一个账户用来记录它的信用值;同一RSU范围内的车辆将消息通过直接转发或者多跳转发的方式发送给TA;TMC接收到来自TA发送的消息后对消息进行分类并通过对Beta信任函数计算来决定信息是否可信,将可靠的消息发送给相应的车辆,最后可信机构(TA)计算每个转发车辆的信任等级,并通过信任等级来更新车辆的信用账户。本文所描述的系统模型如图1所示。
图1 系统模型Fig.1 System model
该系统主要由以下4部分组成。
(1)可信机构(trusted authority,TA):它是车联网中完全可信的服务器,主要作用于注册阶段和转发阶段,因此它是可信的并且具有足够的计算能力和存储空间。当车辆首次加入新的区域后,它会向可信机构提交属性信息并在完成转发后更新车辆的账户,此外它可以保证用户的安全和隐私。
(2)交通管理中心(transportation management center,TMC):TMC主要负责从TA接收信息,并评估车辆发送信息的真实性和可靠性。当评估完成后,交通管理中心就会将可靠的消息转发给相应的车辆。
(3)车辆(vehicles,V):本文中,每个车辆都配备一个车载通信单元。新加入区域的车辆需要通过RSU向TMC发送道路安全信息。在路网中,车辆节点既是消息的产生者又是转发消息的中间车辆。
(4)路边单元(road-side unit,RSU)。本文中,RSU需要和新加入的车辆进行相互认证后才可以继续通信,它是道路上配备的固定基础设施,通常能通过无限通道和TMC进行通信。
给定一个安全参数K,加法循环群G1和乘法循环群G2的阶为q,这两个循环群均满足双线性映射e:G1×G1→G2,并且群G1的生成元为P。TA选择一个随机数s∈Z*q,为系统主密钥并计算系统主公钥Ppub=Ppub1,Ppub2,Ppub3=s×P,s-1×P,s2×P。然后它选择三个安全的哈希函数:Z*q。接着TA会选择一个基于椭圆曲线(ECC)和一个消息认证码函数MACkey。最后TA就会公布系统参数params:{p,q,G1,G2,P,Ppub,Tpub,H1,H2,H3,H4,e(P,P)=E}。
本阶段,RSU和它区域内的车辆分别向TA发送注册请求。本文中,每个RSU和车辆都有唯一的身份ID∈{0,1}*并储存在它的防篡改设备中。注册过程如下。
(1)车辆注册:车辆选择一个随机数xo∈Z*q,并计算它的公钥PIDo=xo×Ppub1,接着向TA发送注册请求消息req=(IDo,PKIDo)。然后TA选择一个随机数rIDo∈Zq*,并且计算RIDo=rIDo×Ppub1,h1=H1(IDo,RIDo,Ppub),dIDo=rIDo+h1×s。最终,TA向车辆发送部分私钥DIDo={RIDo,sIDo}和公钥PKIDo={RIDo,PIDo}。
验证部分私钥DIDo:区域内车辆通过dIDo×Ppub1=RIDo+h1×Ppub3验证私钥DIDo。如果等式成立,车辆接受DIDo为它的部分私钥,否则车辆就会丢弃它。
在完成车辆注册后,TA就会将相关信息增添到记录队列L中。
(2)RSU注册:可信机构(TA)接收到RSU的注册请求r=ID R后,然后TA就会计算h3=H3(ID R),DIDR=[1/(h3+s)]×P,然后向RSU发送部分私钥DIDR。
验证DIDR:RSU通过e(DIDR,H3(ID R)×P+Ppub1)=E,验证DIDR。如果等式成立,RSU接受DIDR,否则RSU就会丢弃它。
(1)假名生成:在这部分,引入RSU的区域管理概念。在同一区域的RSU具有相同的公私钥对,TA会定期生成公私钥对,并定期发送给RSU。
当一个车辆进入新的区域后,它会向RSU广播它的公钥。如果车辆想要通过RSU上传信息,它就必须向附近的RSU发送访问报告。然后RSU会为每个用户生成一个假名P=E pk(r||IDo)。
(2)报告签名:车辆执行以下步骤完成报告签名,并得到当前的时间戳T,然后计算h2=H2(r,T,P,PIDo,RIDo,Ppub),报告r的签名为σ0=(h2×dIDo+xo)-1。最后车辆将请求报告r的签名发送给RSU。
(3)RSU验证车辆:一旦接收后,RSU核查T的有效性,然后验证e(σ0,h2(RIDo+h1Ppub3+PIDo))=e(P,P)是否成立。一旦验证算法失败或某个车辆用户违法时,用户即可把违法车辆用户的假身份递交给TA,TA查询到该车辆用户的注册信息,从而追踪到相应的真实身份。
(4)车辆验证RSU:RSU使用其私钥解密区域内车辆用户的假名D sk(f)=(r||IDo)。获得IDo后,RSU计算hIDo=H3(IDo),key=H4(hIDo,ID R),mac=MAC key(hIDo),并发送消息验证码给其他车辆。然后车辆用户计算接着验证mac是否和接收到的一致。如果两个值相同,则RSU被认证。
在转发阶段,可能有些车辆节点不能直接转发消息给可信机构,因此会出现两种情况,车辆直接转发或者多跳转发。帮助转发的中继车辆可以从源车辆获得积分值。加入系统的车辆首先必须注册一个帐户,中继车辆帮助转发后可以从源车辆获得一定的信用值。
完成转发任务后,车辆节点会将它们的转发记录上传到可信机构。然后可信机构就会计算相应的信用值。对于第一种情况,任务完成后车辆期望获得的信用值为P1=S·p。其中,S为数据的大小,p为每单位的固定信用值。在本文中,车辆的信用值与它的信任等级相关,因此车辆节点可以获得的信用值为Pa=(1+θ)R·P1,θ是由可信机构设置的一个惩罚因子,它是正数。第二种情况,中继车辆节点可以获得从源车辆节点转移的信用值。完成合作转发后,所有的中继车辆会将他们的转发记录上传到可信机构。然后,可信机构就会计算应从源车辆帐户转移到中继车辆帐户的信用值。对于第i个中继车辆节点应从源节点获得的信用值为Pra=P a·(1-λ)i,λ为调整因子。
定义1可信属性信息(TAI):TAI代表个人的各种属性参数用来对它进行可信度评估。TAI不是单个值而是一个集合,它由车辆上的传感器节点收集的参数。A=a1,a2,…,a n,其中A代表TAI集,a1,a2,…,a n表示由n个传感器所收集的不同参数,用来反映车辆的属性信息。
TAI是给定车辆的个人信息,其中包含由传感器收集的车辆的私人数据。TAI可能包括最新的活动状态,正在运行时间,里程,油耗,行车路线,交通事故记录以及其他可以反映车辆健康状况的参数状态和行为模式。TAI仅只能记录数据,收集TAI的目的是使TA能够执行TL评估。车辆的平均可信属性值εi计算方式如下:
定义2信任等级(TL):本文引入了一个信任等级,它是TA所提供的一个评估标准。
其中,参数γ称为历史因子,γ的取值范围[0,1],π表示消息的可信度。
当交通管理服务器接收到信息后,它会对信息的真实性进行验证。TMC可能在短时间内接收到来自不同车辆的具有不同甚至可能是相反信息的多个消息。这些消息可能与发生在相同或不同位置的不同事件(或不同查询)有关,我们将从这些事件中识别出描述同一事件的消息,以此对每个事件进行分析。然后使用了类似的贝叶斯统计方法用于计算信息的可信度,假设它们遵循概率分布。Beta分布通过使用两个参数来决定该信息是否可信。它们通过观察同一位置事件的相似性和冲突性来计算该消息的可信度。Beta信任函数φ(x|t,d)的期望概率值E(x)是非常合适的表示。因此该消息的可信度为:
基于Beta信任函数φ(x|t,d)的计算方式如下:
其中,0≤x≤1,0≤t,0≤d,ε表示gamma函数。
当π等于1时,说明该消息可信,TMC将该消息转发给相应的车辆并发送π到TA。当π等于0时,说明该消息不可信,然后将π值发送给TA,以此更新车辆节点的信任等级。
(1)正确性
(2)匿名性
在本文中,车辆的真实身份被转换为不受任何第三方管理的假名f=(r||IDo)。由于报告r中车辆的假名都是一次性的,因此对手无法区分两个不同的假名是否来自同一辆车。而且没有RSU的私钥sk,对手很难暴露车辆的真实身份,由于任何第三方都不能获得车辆的真实身份,因此实现了匿名性。
(3)不可抵赖性
车辆不能拒绝提交某些消息的行为,因此服务请求消息包含车辆的假名f。RSU可以通过使用其私有密钥计算Dsk()f来发现车辆的真实身份,因此满足不可抵赖性。
(4)可追溯性
如果车辆转发了不可信的消息,TMC就会发送Req给TA,TA首先会验证车辆是否恶意。如果有,TMC就会发送报告Req和相关证据给TMC,TMC就会通过TA提供的位置消息找到相应的车辆。
(5)抵抗重放攻击
由于当前时间戳T保证了报告的新鲜度,在收到车辆的请求消息req,RSU首先会检查是否过期,因此,我们的方案可以抵抗重放攻击。
(6)消息可靠性
本文方案中,交通管理中心接收到消息后会对其进行分类评估,最后转发给需要的车辆并向可信机构提交结果,因此车辆用户从交通管理中心所接收的消息具有可靠性。
在本节中,从方案服务功能和计算开销方面对本文所提出的方案进行了简单的比较。
(1)方案服务功能
在表1中,该方案的服务功能与现有的车联网中的转发方案的功能进行了对比。由于移动群体感知的开放性,需要大量的移动设备接入来提供数据,因此车辆的身份必须经过验证,前面所提到的工作系统模型并未考虑车辆的身份隐私问题以及信息内容的真实性问题。针对以上问题,把匿名认证和信誉模型的思想引入车联网的数据转发中,解决了车辆身份的隐私问题以及转发信息的真实性问题。
表1 服务功能对比Table 1 Comparison of service functions
(2)计算开销
由于缺乏完全相似的方案进行比较,因此简要的测试了一下本方案的密码算法来代替整个方案的结果。我们将本文方案的计算效率与现有方案[32-34]的效率进行了比较。为了评估该方案的效率,本文选取了一个由8 GB处理器内存的Intel I5-5200和Windows7组成的硬件平台,通过仿真实验结果对比了开销。表2是不同方案间计算开销的对比,其中M表示一个标量乘运算,E表示一个指数运算,PP表示一个双线性运算。
表2 认证开销对比Table 2 Authentication cost comparison
在签名阶段,本文的方案仅使用了一个标量乘法运算。在验证阶段,使用了一个双线性运算和两个标量乘法。图2表示了3个方案签名和验证的总时间,因此本文方案具有计算开销低的优点。
图2 认证开销对比Fig.2 Authentication cost comparison
本文针对车联网中的数据转发面临的安全、隐私及用户可靠性问题,提出了具备匿名性和信任评估的车联网数据转发方案,它实现了消息的完整性、可靠性、匿名性、不可抵赖性及用户的可靠性。安全性分析和性能分析表明,该系统提高了所转发信息内容的真实性,并在匿名认证方面具有较高的效率。