车载自组网(Vehicular Ad Hoc Network, VANET)是由车辆行驶信息构成的交互网络(包括车辆位置、车速和路线等)。车辆利用摄像头、传感器或全球定位系统等装置完成各种信息的采集, 并通过互联网和计算机技术将所采集的信息传输到附近的车辆或交通管理中心等机构。交通管理中心收到传输来的消息后, 对其进行分析和处理, 可以有效解决交通拥堵等问题[1]。此外, 车载自组网能提供综合的智能交通服务[2]。然而, 车载自组网面临诸多安全问题[3]。在隐私保护和提高计算效率等需求下, 利用密码学技术设计安全高效的消息认证方案是当前车载自组网领域的研究热点之一。
针对传统密码体制的密钥管理复杂等问题, 文献[4]提出将身份信息作为公钥的基于身份的密码体制。文献[5]提出方案将多个消息的签名压缩成一个短签名, 验证者只需对聚合后的签名进行验证, 便可快速判断所有签名的有效性。随后, 研究人员相继提出聚合签名方案[6-8]。文献[7]设计一个基于身份的聚合签名方案, 具有较高的签名验证效率和较长的签名长度。文献[8-9]提出具有固定双线性对运算的基于身份的聚合签名方案, 其存在签名长度随签名人数的增加而增长的问题。文献[10]设计一个高效的基于身份的聚合签名方案, 由于该方案中的签名可以被伪造, 因此安全性较低。文献[11]提出一个签名长度固定的聚合签名方案, 其在签名开始前需要预先确定所有参与签名人的集合, 不适用于动态车载自组网。文献[12]构造一个面向车联网的聚合签名方案, 但签名验证需要大量的双线性对操作。文献[13]提出一个适用于智能电网的基于身份的聚合签名方案, 解决了智能电网中存在的隐私泄露问题, 但其计算效率和通信效率均较低。文献[14]提出一种新的聚合签名方案, 但其无法抵抗联合攻击[15]。文献[16]设计一种适用于车载自组织网的聚合签名方案, 但其无法抵抗伪造攻击。针对现有方案存在证书管理开销过大、签名验证效率过低等问题[17-19], 本文利用基于身份的密码体制和聚合签名技术, 构造一个新的车载自组网消息认证方案。
1 预备知识 1.1 双线性映射设q是一个大素数, G1和G2是阶为q的两个循环群, g为G1的生成元, e:G1×G1→G2表示一个双线性映射, 且具有以下特性:
1) 双线性:对于任意a, b∈Zq*, 存在e(ga, gb)=e(g, g)ab。
2) 非退化性:e(g, g)≠1。
3) 可计算性:对于任意g1, g2∈G1, 存在一个有效的算法计算e(g1, g2)。
1.2 困难性问题定义1(计算Diffie-Hellman问题) G1是阶为素数q的循环群, g为G1的生成元, a, b∈Zq*, 给定(g, ga, gb)∈G13, 计算gab∈G1是困难的。
定义2 若对于任意敌手Adversary, 在多项式时间t内攻破群G1上的CDH问题的概率小于ε, 则群G1上的(t, ε)-CDH假设成立。
2 基于身份聚合签名的VANET消息认证方案 2.1 系统模型可信的私钥生成中心(Private Key Generator, PKG)、车辆单元(On Board Unit, OBU)和路边单元(Road Side Unit, RSU)3个实体构成本文方案的系统模型(见图 1)。PKG主要负责为车辆分发私钥, 同时对于发布虚假消息的车辆, PKG可以追查其真实身份, 以便对其作出具体的惩罚。OBU可以利用DSRC技术, 完成与RSU或其他OBU之间的无线通信。RSU主要为安装在路边的基础设施(如电线杆等实体), 负责验证车辆单元发送的通信消息的签名以及聚合多个消息的签名等。
![]() |
Download:
|
图 1 系统模型 Fig. 1 System model |
基于身份聚合签名的VANET消息认证方案具体描述如下:
1) 系统初始化。PKG首先选择两个阶为素数q的循环群G1和G2, 然后随机选择一个G1的生成元g、一个双线性映射e:G1×G1→G2、两个安全的Hash函数H1:{0, 1}*→Zq*和H2:{0, 1}*→G1。PKG随机选择s∈Zq*作为主密钥, 计算Ppub=gs∈G1, 并公开系统参数params={λ, G1, G2, e, q, g, Ppub, H1, H2}。
2) 私钥提取。对于车辆单元OBUi(i=1, 2, …, n)的身份IDi, PKG确认身份信息IDi的合法性后, 计算dIDi=H1(IDi, s)+s, 并通过安全信道将私钥dIDi发送给车辆单元OBUi。
3) 签名。对于消息mi, 车辆单元OBUi利用私钥dIDi进行如下操作:
(1) 计算QIDi=gdIDi和hi=H2(mi, IDi, Ti, QIDi), 其中Ti为当前时间戳;
(2) 计算Si=hidIDi, 则消息mi的签名为δi=(Si, QIDi);
(3) 输出一个关于mi和Ti的签名δi=(Si, QIDi)。
4) 签名验证。路边单元RSU在当前时间T′收到OBUi发送的关于消息mi和时间戳Ti的签名δi=(Si, QIDi)后, 若T′-Ti>τ, 则拒绝验证, 其中τ表示规定时间差; 否则, RSU计算hi=H2(mi, IDi, Ti, QIDi)。若等式e(Si, g)=e(hi, QIDi)成立, 则接受(Si, QIDi)是一个合法的签名。
5) 聚合签名。对于n个车辆节点OBUi产生的签名δi=(Si, QIDi), RSU计算
6) 聚合签名验证。车辆节点计算hi=H2(mi, IDi, Ti, QIDi), 若等式e(δ, g)=
下文通过定理1证明2.2节提出方案的安全性可归约到CDH问题的困难性。
定理1 假定存在一个攻击者Adversary发起关于H1预言机、H2预言机、私钥提取预言机和签名预言机的询问次数分别为qH1、qH2、qE和qs, 询问的时间分别为tH1、tH2、tE和ts。如果Adversary在时间t内以不可忽略的优势ε攻破本文方案, 则存在一个挑战者Challenger在时间t′ < t+(qEtE+qsts)+2(qH1tH1+qH2tH2)内以ε′≥
证明 假定Challenger获得一个CDH困难实例(g, gm, gn)∈G13, 其中n, m∈Zq*是未知的随机数, Challenger的目标是计算gmn。Challenger运行系统初始化算法, 公布系统参数params={λ, G1, G2, e, q, g, Ppub, H1, H2}, 保存系统主秘钥s, 并将系统参数params发送给攻击者Adversary。攻击者Adversary向挑战者Challenger适应性执行以下随机预言机询问, 并用ID*表示目标用户的身份。
1) H1询问。当Adversary给Challenger发送一个身份IDi时, 如果在列表ListH1中存在(IDi, ai), 则Challenger将ai返回给Adversary; 否则Challenger进行如下操作:
(1) 当IDi=ID*时, Challenger终止询问, 并输出“FAILURE”(该事件发生用Eevent1表示)。
(2) 当IDi≠ID*时, Challenger随机选择ai∈Zq*发送给Adversary, 并在列表ListH1中增加记录(IDi, ai)。
2) 私钥提取询问。当Adversary向Challenger提交一个身份IDi并对其进行私钥提取询问时, Challenger查询列表ListE(IDi, dIDi), 如果在列表ListE中有对于身份IDi的私钥, 则发送给Adversary; 否则Challenger进行如下操作:
(1) 当IDi=ID*时, Challenger终止询问, 并输出“FAILURE”(该事件发生用Eevent2表示)。
(2) 当IDi≠ID*时, Challenger从列表ListH1中获取(IDi, ai), 并计算dIDi=ai+s, 此时Ppub=gs; 然后将(IDi, dIDi)增加到列表ListE中, 发送私钥dIDi给Adversary。
3) H2询问。当Adversary询问关于身份IDi的H2哈希值时, 如果列表ListH2中存在(IDi, mi, Ti, Qi, hi), 则Challenger发送hi给Adversary; 否则Challenger执行如下操作:
(1) 当IDi=ID*时, Challenger设置Q*=gn和hi=H2(IDi, mIDi, Ti, QIDi)=gm, 然后将gm发送给Adversary, 并在列表ListH2中增加(IDi, mIDi, Ti, gn, gm)。
(2) 当IDi≠ID*时, Challenger在列表ListE中提取(IDi, dIDi), 计算Qi=gdIDi; 随机选取bi∈Zq*, 计算gbi作为hi=H2(IDi, mIDi, Ti, Qi)的值发送给Adversary, 同时将(mIDi, IDi, Ti, Qi, gbi)增加到列表ListH2中。
4) 签名询问。当Adversary向Challenger询问关于消息mIDi和身份IDi的签名时, Challenger先从ListH2提取IDi对应的哈希值hi, 然后进行以下操作:
(1) 当IDi=ID*时, Challenger终止询问, 输出“FAILURE”(该事件发生用Eevent3表示)。
(2) 当IDi≠ID*时, Challenger从列表ListE中获得(IDi, dIDi), 然后计算S=hdiIDi, 并将S作为mIDi的签名返回给Adversary。
最后, Adversary输出一个关于消息/身份(m1*, ID1*)的有效签名δ*。若ID1*≠ID*, 则输出“FAILURE”; 否则假设ID1*=ID*, Challenger从列表ListH2中获得值Q*=gn和h1*=gm。由于对于消息(m1*, m2*, …, mn*)的聚合签名δ*是合法的, 因此有e(δ*, g)=
下文分析Challenger成功解决CDH问题实例的时间和优势:
1) 对于H1和H2询问的回答是在Zq*内均匀分布的, 并且该回答也是有效的。
2) 只有当3个事件Eevent1、Eevent2和Eevent3都不发生时, Challenger才能完成整个询问, 进而解决CDH问题实例。
事件Eevent1、Eevent2和Eevent3都不发生的概率为:
当Adversary未询问H2却伪造了一个有效的签名时, 此事件发生的概率为
本文方案与文献[12-13]方案都利用了基于身份的聚合签名技术, 下文对这3个方案的通信开销和计算开销进行对比分析。
4.1 通信开销通信开销主要集中在私钥提取、签名和聚合签名阶段。将本文方案与文献[12-13]方案在私钥提取阶段、签名阶段和聚合签名阶段的通信开销进行对比分析。为便于比较, 假设3个方案都选取阶为同一个素数q的群G1和G2。在文献[13]方案中, 私钥提取阶段需要的通信开销为(n+2)G1+GT; 签名阶段对n个消息进行加密需要的通信开销是2nG1, 对n个密文进行签名需要的通信开销是nG1, 所以在签名阶段总的通信开销是3nG1; 聚合阶段聚合密文需要的通信开销是2G1, 同时对聚合密文进行签名需要的通信开销是2G1, 所以在聚合阶段总的通信开销是4G1。在文献[12]方案中, 私钥提取阶段需要的通信开销是2nG1, 签名阶段需要的通信开销是2nG1, 聚合阶段需要的通信开销是2G1。在本文方案中, 私钥提取阶段需要的通信开销是nG1, 签名阶段需要的通信开销是2nG1, 聚合阶段需要的通信开销是G1。各方案的通信开销对比结果如表 1所示。由此可知, 本文方案优化了私钥提取、签名和聚合签名阶段的算法, 有效降低了通信开销。
![]() |
下载CSV 表 1 基于身份的聚合签名方案通信开销比较 Table 1 Comparison of communication costs of identity-based aggregate signature schemes |
本文方案、文献[12-13]方案的计算开销比较结果如表 2所示, 其中, Exp表示1次幂运算、Mul表示1次乘法运算、Add表示1次加法运算、H表示1次哈希运算、P表示1次双线性配对运算, n表示车辆数量。
![]() |
下载CSV 表 2 基于身份的聚合签名方案计算开销比较 Table 2 Comparison of computational costs of identity-based aggregate signature schemes |
由表 2可知, 在文献[12]方案中, 签名阶段执行4n次乘法运算, 签名验证阶段执行3n次双线性配对运算和n次乘法运算, 聚合签名验证阶段执行(n+2)次双线性配对运算、(n-1)次乘法运算和加法运算; 在文献[13]方案中, 签名阶段执行4(n+1)次幂运算和2(n+1)次乘法运算, 签名验证阶段执行(3n+3)次双线性配对运算, 聚合签名验证阶段执行3n次双线性配对运算。但在本文方案中, 签名阶段执行2n次幂运算, 签名验证阶段执行2n次双线性配对运算, 聚合签名验证阶段执行(n+1)次双线性配对运算。因此, 本文方案具有较低的签名验证开销和聚合签名验证开销, 可以在较短的时间内验证通信消息的有效性。
5 实验结果与分析实验环境:CPU为Intel Core i7-5500U, 内存为4 GB。基于版本号为0.4.7的PBC库, 对本文方案和文献[12-13]方案进行仿真实验。
5.1 签名验证的计算开销图 2展示了RSU在仿真实验中执行签名验证所需的计算开销。仿真实验模拟了从10辆~100辆车辆生成消息后, RSU执行签名验证所需的计算开销。3个方案随着车辆数量的增加, 对多个消息进行签名验证所需的时间也逐渐增多。然而, 相比文献[12-13]方案, 本文方案在签名验证阶段计算开销最小。
![]() |
Download:
|
图 2 签名验证过程中计算时间与车辆数量的关系 Fig. 2 Relationship between the calculation time and the number of vehicles during signature verification |
图 3展示了RSU在仿真实验中执行聚合签名验证所需的计算开销。仿真实验模拟了从10辆~100辆车辆生成消息后的聚合签名验证所需的计算开销。由图 3可知, 本文方案在聚合签名验证阶段具有更高的计算效率。
![]() |
Download:
|
图 3 聚合签名验证过程中计算时间与车辆数量的关系 Fig. 3 Relationship between the calculation time and the number of vehicles during aggregate signature verification |
为降低车辆对通信消息的认证响应时间, 本文设计一个基于身份聚合签名的车载自组网消息认证方案, 将多个消息的多个签名聚合为一个短签名进行验证。分析结果表明, 本文方案具有较高的安全性及较低的通信与计算开销。然而, 由于本文方案的安全性规约于计算Diffie-Hellman困难问题, 无法抵抗量子计算攻击, 因此下一步将设计基于格困难问题的车载自组网消息认证方案。
[1] |
QIU Tie, CHEN Ning, LI Keqiu, et al. Heterogeneous ad hoc networks:architectures, advances and challenges[J]. Ad Hoc Networks, 2017, 55: 143-152. |
[2] |
ZHANG F S, LIU H, LEUNG Y W, et al. CBS:community-based bus system as routing backbone for vehicular ad hoc networks[J]. IEEE Transactions on Mobile Computing, 2017, 16(8): 2132-2146. |
[3] |
MISHRA B, MNAYAK P, BEHERA S, et al.Security in vehicular ad hoc networks: a survey[C]//Proceedings of 2011 International Conference on Communication, Computing and Security.New York, USA: ACM Press, 2011: 59-74.
|
[4] |
SHAMIR A.Identity-based cryptosystems and signature schemes[C]//Proceedings of Workshop on the Theory and Application of Cryptographic Techniques.Berlin, Germany: Springer, 1984: 47-53.
|
[5] |
BONEH D, GENTRY C, LYNN B, et al.Aggregate and verifiably encrypted signatures from bilinear maps[C]//Proceedings of the 22th Annual International Conference on the Theory and Applications of Cryptographic Techniques.Berlin, Germany: Springer, 2003: 416-432.
|
[6] |
CHEON J H, KIM Y, YOON H J. A new ID-based signature with batch verification[J]. Trends in Mathematics Information Center for Mathematical Sciences, 2005, 8(1): 119-131. |
[7] |
XU Jing, ZHANG Zhenfeng, FENG Dengguo.ID-based aggregate signatures from bilinear pairings[C]//Proceedings of CANS'05.Berlin, Germany: Springer, 2005: 110-119.
|
[8] |
HERRANZ J. Deterministic identity-based signatures for partial aggregation[J]. The Computer Journal, 2006, 3(3): 322-330. |
[9] |
SHIM K A. An ID-based aggregate signature scheme with constant pairing computations[J]. The Journal of Systems and Software, 2010, 83(10): 1873-1880. |
[10] |
DU Hongzhen, WEN Qiaoyan. An efficient identity-based aggregate signature scheme[J]. Journal of Sichuan University (Engineering Science Edition), 2011, 43(1): 87-90. (in Chinese) 杜红珍, 温巧燕. 一个高效的基于身份的聚合签名方案[J]. 四川大学学报(工程科学版), 2011, 43(1): 87-90. |
[11] |
YU Yike, ZHENG Xuefeng, SUN Hua. An identity based aggregate signature from pairings[J]. Journal of Networks, 2011, 6(4): 631-637. |
[12] |
DU Hongzhen. An efficient and secure aggregate signature scheme for vehicular ad hoc network[J]. Henan Science, 2016, 34(4): 481-485. (in Chinese) 杜红珍. 一个适用于车载自组织网络的安全高效的聚合签名方案[J]. 河南科学, 2016, 34(4): 481-485. |
[13] |
WANG Z. An identity-based data aggregation protocol for the smart grid[J]. IEEE Transactions on Industrial Informatics, 2017, 13(5): 2428-2435. |
[14] |
CHENG Ling, WEN Qiaoyan, JIN Zhengping, et al. Cryptanalysis and improvement of a certificateless aggregate signature scheme[J]. Information Sciences, 2015, 295: 337-346. |
[15] |
YANG Xiaodong, LI Yutong, CHEN Chunlin, et al. A short certificateless aggregate signature against coalition attacks[J]. PloS One, 2018, 13(12): 1-18. |
[16] |
WANG Daxing, TENG Jikai. Probably secure cetificateless aggregate signature algorithm for vehicular ad hoc network[J]. Journal of Electronics and Information Technology, 2018, 40(1): 11-17. (in Chinese) 王大星, 滕济凯. 车载网中可证安全的无证书聚合签名算法[J]. 电子与信息学报, 2018, 40(1): 11-17. |
[17] |
ZUO Liming, CHEN Lanlan, ZHOU Qing. A certificate-based short signature scheme[J]. Journal of Shandong University(Natural Science), 2019, 54(1): 79-87. (in Chinese) 左黎明, 陈兰兰, 周庆. 一种基于证书的短签名方案[J]. 山东大学学报(理学版), 2019, 54(1): 79-87. |
[18] |
XU Jinfang, GAO Dezhi, LIU Shudong. Efficient signature scheme for specified verifier[J]. Application Research of Computers, 2011, 28(1): 298-303. (in Chinese) 许金芳, 高德智, 刘树栋. 高效的具有指定验证者的签名方案[J]. 计算机应用研究, 2011, 28(1): 298-303. |
[19] |
YANG Lu. Certificateless implicit authentication and key agreement protocol without pairing operation[J]. Computer Engineering, 2012, 38(2): 138-140. (in Chinese) 杨路. 无对运算的无证书隐式认证及密钥协商协议[J]. 计算机工程, 2012, 38(2): 138-140. |