安 涛 马文平 刘小雪
(西安电子科技大学综合业务网国家重点实验室 陕西 西安 710071)
车辆自组织网(Vechicular Adhoc Network,VANET)是物联网在公共交通领域上的一种应用,车辆可以传输周边的交通信息至交通指挥中心服务器,交通指挥中心服务器可以对交通信息进行分析,并及时对交通路况进行优化。车辆自组织网由静态节点和动态节点组成,静态传感器部署在道路周围基础设施上的路侧单元(Road Side Unit,RSU)充当静态节点,用于收集周边行驶车辆发送的信息,车辆上的车载单元(On Board Units,OBU)充当动态节点。车辆自组织网中,通过动态节点间通信(车辆与车辆)和动态节点与静态节点间通信(车辆与基础设施),实现信息共享[1]。
在实际应用中,车辆可以从VANET中获得实时的路况信息、拥塞避免、紧急情况和导航服务等。车辆在行驶过程中,会将周围的路况信息通过无线信道广播给周围的车辆和RSU,但是由于信息在VANET中是在不可信的信道上传输,会产生如下一系列的数据隐私安全问题:(1)敌手可以恶意修改、伪造、丢弃信息,造成交通事故;(2)通过对车辆发送的信息进行分析,从而获取车辆的隐私,如车牌照、行驶路线等,导致违法行为的发生。因此,研究一种VANET中的车辆信息认证方案是很有必要的。
目前,有效的认证方案就是采用数字签名技术,但是在车流量大、交通拥堵的情况下,RSU要验证大量的签名,这会出现资源受限而导致验证效率低下的情况。针对这种情况,采用聚合签名这种具有“批量验证”特性的签名技术会大大提高验证效率。
聚合签名的概念由Boneh等[2]首次提出。简单来说,聚合签名就是将多个签名压缩聚合成为一个签名,验证者只需一次操作就可验证多个签名,大大降低了计算复杂度,适合用于资源受限和计算能力较弱的网络环境中。Gong等[3]首次提出了在随机预言机(Random Oracle)模型下的可证明安全的无证书聚合签名算法。Xiong等[4]提出了更为高效的方案,但He等[5]发现文献[4]的方案在第 Ⅱ 类攻击下是不安全的。侯红霞等[6]在文献[5]的基础上,提出了更为安全的方案。王大星等[7]提出了一种适用于VANET的无证书聚合签名方案,但是无法抵抗内部签名者的联合攻击。
本文采用国产密码SM9[8]建立一种基于身份的聚合签名方案,解决了证书管理问题。车辆采用假名进行通信,保证了匿名性和可追踪性,方案采用了聚合签名技术,大大降低了RSU验证负担,加快了VANET的通信速率。通过安全性证明,验证了本文方案的安全性。
VANET认证系统模型由认证中心、车载单元、路侧单元和服务器组成,如图1所示。
图1 VANET认证系统模型
认证中心(Trusted Authority,TA)是车载网的安全认证中心,是可信的第三方,用于管理VANET中车辆的身份信息。当有新的车辆加入到车联网中,TA会为车辆分配假名并进行注册。
OBU是部署在汽车上的通信节点,是车联网的重要组成部分。车载单元在车联网中主要充当动态节点,负责收集本车的数据信息,并将采集到的数据信息发送到车载网中。车载单元也可以作为传输节点负责转发车载网信息,实现车载网的信息传播。
RSU是路侧单元,也是车载网的重要组成部分。路侧单元作为固定的网络节点,一般部署在红绿灯、停车场、路边,也被称为基础设施。路侧单元可以作为传输节点,将车辆接入到车联网中,将车载单元收集的数据信息上传给服务器,或者传输给其他车辆,提供交通信息服务,同时也可以作为认证节点,对车辆的信息进行身份认证,实现标识验证服务。
服务器负责数据信息处理。路侧单元将收集到的车联网的数据信息进行汇总上传到服务器。服务器对收集到的交通信息进行分析和处理,实现路径优化,解决交通拥堵问题,避免事故发生。
整个认证流程为:
(1)注册。车辆加入VANET之前要先向TA发起注册请求,TA为车辆分发假名和密钥。
(2)签名。车辆使用TA分发的假名和密钥对通信的信息进行聚合签名。
(3)认证。RSU接收到周边车辆发来的信息和聚合签名,进行批量验证,将通过认证的信息上传到服务器。
(4)追踪。当RSU验证签名失败或对车辆进行追责时,RSU将车辆的假名发送给TA,TA查询真正的车辆身份。
设(G1,+)为一个阶为素数q的循环群,P为其生成元;(G2,+)为一个阶为素数q的循环群,定义双线性映射e:G1×G1→G2有以下三条性质。
(2)非退化性。对任意的X,Y∈G1,e(X,Y)≠1。
(3)可计算性。对任意的X,Y∈G1,存在一个有效的算法计算e(X,Y)。
首先生成系统参数组,密钥生成中心(KGC)选择3个阶数是素数N(N>2λ)的循环群(G1,+),(G2,+),(G3,·)。P1是G1的生成元,P2是G2的生成元;存在从G2到G1的同态映射ψ,使得ψ(P2)=P1,并且有双线性对e:G1×G2→G3。定义哈希函数Hv(Z,n)输出的是长度为v(单位为b)的散列值。哈希函数H1(Z,n)的输入为比特串Z和整数n,输出整数h1∈[1,n-1],H2(Z,n)的输入为比特串Z和整数n,输出整数h2∈[1,n-1]。
KGC将随机选择的s∈[1,n-1]作为系统主私钥,并将s和P2的乘积作为系统主公钥Ppub,Ppub=s·P2。
TA为认证中心,主要负责对车辆进行注册,并且为注册的车辆分发密钥。车辆向TA发送注册请求,为了保护车辆的隐私,TA为车辆分配假名PIDi,只有当车辆发生不法行为被追责时,TA才会公布车辆真实身份IDi。TA选择一个字节表示的私钥生成识别符hid。车辆的真实身份标识为IDi,计算PIDi=h1i,h1i=H1(IDi‖hid,N),若TA审核通过,则为可信的车辆分发密钥。
di=t2·P1=[s/(PIDi+s)]P1
(1)
车辆公钥为:
Qi=PIDi·P2+Ppub
(2)
车辆在行驶过程中,会对周围的交通路况信息进行收集并发送给交通信息平台,交通信息平台会对收集到的信息进行分析从而对当前的交通情况进行优化。交通信息平台收到的信息要确保可信,防止有敌手篡改车辆发送的消息干扰信息平台的决策,于是对车辆发送的信息进行数字签名。
设待签名的消息为mi,签名者为车辆PIDi,签名过程如下:
(1)计算群G3中的元素g=e(P1,Ppub);
(2)随机选择ri∈[1,N-1],计算群G3中的元素wi=gri;
(3)计算整数h2i=H2(mi‖wi,N),计算整数Li=(ri-hi)modN,若L=0则重新选择随机数;
(4)计算群G1中的元素Si=Li·di,Ui=Si·PIDi,消息mi的签名为(Si,Ui,wi)。
为了检验收到的消息mi及其数字签名(Si,Ui,wi),过程如下:
(1)计算群G3中的元素g=e(P1,Ppub),整数h2i=H2(mi‖wi,N),ti=gh2i;
(2)计算群G3中的元素vi=e(Si,Qi)·ti,检验vi是否等于wi,若成立,则验证成功。
通过计算验证因子vi=wi来检验签名是否合法,其证明过程如下:
vi=e(Si,Qi)·ti=
e(Li·di,PIDi·P2+Ppub)·e(P1,Ppub)h2i=
e(Li·t2·P1,PIDi·P2+Ppub)·e(P1,Ppub)h2i=
e(Li·t2·P1,PIDi·P2)·e(Li·t2·P1,Ppub)·
e(P1,Ppub)h2i=
e(P1,Ppub)h2i=
e(P1,Ppub)(ri-h2i)modNe(P1,Ppub)h2i=
e(P1,Ppub)(ri-h2i)modN+h2imodN=wi
(1)Setup。C运行Setup算法Ppub=R=sP2,s充当系统主密钥,s对C是未知的,C挑选身份IDi作为挑战身份,发送系统参数{P1,P2,Ppub,H1,H2}给A。
下面分析C在这个游戏中的优势:
(2)除非事件E1或E2发生,否则对于私钥提取预言机和签名预言机的回答是有效的。
(3)如果A伪造了一个有效的签名和事件E3没有发生,则C能解决qE-CAA问题的一个实例。所以整体来说,如果事件E1、E2和E3都不发生,则C就能解决qE-CAA问题的一个实例。
这些事件发生的概率计算如下:
而C的运行时间为:
t′ 综上所述,有挑战者C解决了qE-CAA,这与qE-CAA问题的假设矛盾,因此本文方案的聚合签名是安全的。 由安全性证明得知,本文基于SM9签名算法的聚合签名方案在适应性选择消息攻击和身份攻击下是能够抵抗存在性伪造的,因此本方案具有不可伪造性。 车辆在加入VANET前,要先将自己的真实身份IDi作为申请注册的请求信息发送给认证中心TA,TA执行h1i=H1(IDi‖hid,N)操作计算假名PIDi=h1i,并将假名PIDi返回给车辆。除了TA之外不会有任何第三方知道车辆的真实身份,在之后的通信过程中,车辆将使用假名PIDi参与聚合签名过程,因此本方案保护了车辆的隐私。 当RSU验证签名失败或者因为车辆发生交通事故而被执法部门追责时,RSU会将追责车辆的假名PIDi发送给TA,TA利用假名PIDi查询车辆的注册信息,从而追踪到车辆的真实身份IDi,因此本方案具有可追踪性。 下面将对本文提出的基于SM9的聚合签名方案与目前几种性能较好的方案进行比对。表1列举了几种现存的聚合签名方案,主要对单个签名验证和批量验证的效率进行对比,其中:PB表示一个双线性对运算;M表示一个标量乘法;n表示车辆数目。 表1 不同聚合签名方案的计算量 文献[12]采用了处理器为Pentium Dual CPU e2200 2.2 GHz,内存为2 048 MB的实验平台进行测试,计算出PB运行时间为5.811 ms,M的运行时间为2.226 ms。几种聚合签名方案的计算开销对比如图2所示。 图2 不同车辆密度下各方案批量验证计算开销 由图2可见,本文方案在随着车流量n增大后,批量验证的计算开销在几种方案中是最少的,可见本文方案在性能上有很大优势。 本文基于国产密码SM9算法设计了一种聚合签名方案。本文方案适用于车辆自组织网络,通过设置假名保护车辆的隐私,采用聚合签名降低了RSU的验证负担。在证明了方案的正确性和安全性之后,通过和现有的几种聚合签名方案的计算量进行对比,证明了本文方案在性能上有着一定的优势。但本文方案产生的聚合签名长度与参与签名的车辆呈线性关系,未来可以对方案进行进一步的优化,使签名长度为一常量值,以节省通信开销。3.3 不可伪造性
3.4 隐私性
3.5 可追踪性
4 性能分析
5 结 语