车联网中支持直接撤销的外包属性签名方案
2024-03-05徐智宇王亮亮
徐智宇 王亮亮
收稿日期:2023-05-29;修回日期:2023-08-10 基金项目:国家自然科学基金资助项目(U1936213);浙江省密码技术重点实验室开放研究基金资助项目(ZCL21017)
作者简介:徐智宇(1997—),男,上海人,硕士研究生,主要研究方向为应用密码学与车联网隐私保护认证;王亮亮(1984—),男(通信作者),河北沧州人,副教授,硕导,博士,主要研究方向为应用密码学与信息安全(llwang@shiep.edu.cn).
摘 要:数字签名在应对车联网中数据窜改威胁时扮演着重要作用,然而现有的签名方案在灵活性、效率、隐私保护、用户密钥管理等方面存在诸多问题,难以在车联网中释放其潜力。针对这些问题,提出了一个面向车联网的直接可撤销外包属性签名方案。该方案使用了基于线性秘密分享的签名策略机制,赋予车联网用户在签名生成和验证方面的灵活性和隐私保护。此外,设计了一种高效的用户密钥直接撤销机制,以提供对用户的实时撤权。所提方案还构造了一种外包验证方法,从而显著降低了验证者的计算和存储开销。安全性分析结果表明,所提方案在选择消息攻击下具有不可伪造性,并且能够抵抗合谋攻击。实验结果表明了该方案相较于其他方案的优势及其在车联网中的实用性。
关键词:车联网; 基于属性签名; 线性秘密共享方案; 直接撤销机制
中图分类号:TP309 文献标志码:A
文章编号:1001-3695(2024)02-038-0569-07
doi:10.19734/j.issn.1001-3695.2023.05.0264
Outsourced attribute-based signature scheme with direct revocationsupport for vehicular Ad hoc network
Xu Zhiyu1, Wang Liangliang1,2
(1.College of Computer Science & Technology, Shanghai University of Electric Power, Shanghai 201306, China; 2.Zhejiang Key Laboratory of Cryptography, Hangzhou Normal University, Hangzhou 311121, China)
Abstract:Digital signatures play a critical role in addressing the threat of data tampering in VANET. However, existing signature solutions face numerous challenges, including flexibility, efficiency, privacy preservation, and user key management, which restrict their potential in VANET. To address these issues, this paper proposed a VANET-oriented directly revocable outsourced attribute-based signature scheme. The scheme employed a signature-policy mechanism based on the linear secret sharing scheme(LSSS) , endowing VANET users with flexibility and privacy preservation in signature generation and verification. Furthermore, the proposed scheme designed an efficient direct revocation mechanism to provide real-time revocation of users and their keys. This scheme also constructed an outsourced verification approach for significantly reducing computational and storage overhead for verifiers. The security analysis results show that the proposed scheme is unforgeable under chosen message attacks and is resistant to collusion attacks. Experimental results demonstrate the advantages of the proposed scheme over other related schemes and its practicality for VANET.
Key words:vehicular Ad-hoc network(VANET); attribute-based signature; linear secret-sharing scheme; direct revocation mechanism
0 引言
随着智能交通系统和物联网技术的不断发展,车联网(VANET)作为新兴的智能交通网络,受到了越来越多的关注和研究。在智能交通系统中,车联网通过实时的交通信息共享和交通流控制,可以改善道路拥堵和交通事故等问题,从而提高道路通行效率和驾驶体验[1]。典型的车联网体系结构包括可信任机构(trust authority,TA)、路边单元(road side unit,RSU)和搭載车载单元(vehicle with on-board unit,OBU)的车辆三个组成部分。在车联网环境中,专用短距离通信(dedicated short-range communications,DSRC)协议用于车辆与车辆之间(V2V)以及车辆与基础设施(V2I)之间的无线通信。车联网的信息传输速度范围在6~27 Mbps,传输范围可达1 km[2,3]。
车联网具有改善交通状况、提升驾驶体验的优势,但是其面临着诸多安全和隐私保护问题。由于其开放的通信环境,敌手可以轻易地窃听、删除、窜改或重放在车联网内传输的消息,从而导致交通事故[4]。为确保传输消息的不可否认性、完整性和不可链接性,对于车联网中传输的消息进行认证是至关重要的。车辆的隐私保护问题同样值得被关注,一旦违法人员截获车辆的身份标识,就可以通过监听车辆发送的消息来获取其行车轨迹,从而威胁驾驶员的人生安全[5]。针对上述车联网数据完整性和用户隐私问题,主流的解决方法是对传输的数据进行签名。这样攻击者即使窜改了数据,也会因为无法伪造出对应的合法签名而被察觉。目前,最新的IEEE 1609.2:2021车辆通信安全国际标准规定使用ECDSA算法来实现车联网中数据的签名,但该算法的应用局限于严格的点对点通信场景,不仅在强调范围内多用户通信的车联网应用中暴露出效率和灵活性缺陷,而且给用户带来了被识别、追踪等隐私泄露风险。因此,亟待一种灵活、高效、隐私保护的签名算法,用于满足车联网应用中的数据完整性和用户隐私保护需求。
基于属性签名(attribute-based signature,ABS)[6]以其一对多的匿名签名的特点,成为车联网中实现数据完整性和用户隐私保护的一个颇具前景的解决方案。在ABS方案中,可信的第三方机构TA为签名者分发一批与其属性相关的密钥,只有当签名者的属性满足特定的访问策略时,才能使用密钥对消息进行签名。在验证签名有效后,验证者只知道签名者的属性满足特定的访问策略,但不知道签名者的真实身份,从而实现了对于签名者身份隐私的保护。相比基于身份的签名体制和基于无证书的签名体制[7,8],基于屬性的签名体制在访问控制方面则更具灵活性和可扩展性。受益于ABS的巨大应用潜力,近年来学术界从功能、算法和安全性等多维度对ABS进行了深入探究,但现有的ABS原型方案难以在车联网应用中得到直接部署,主要因为ABS算法与车联网应用之间的以下冲突尚未得到解决:
a)ABS沉重的计算开销与车载终端资源受限的冲突。ABS通常基于椭圆曲线密码体制构造,其中签名生成和验证算法不可避免地涉及大量的配对和模指数操作,这些操作通常随着属性数量或访问结构规模的增加呈线性增长[9,10]。尽管有一些改进方案[11~14]提出外包签名和外包验证思想来降低终端计算开销,但它们在车联网应用背景下仍然面临着一些实际问题。例如,何业锋等人[7]将云计算中的可验证外包计算技术结合基于属性签名,提高了计算效率,同时实现了外包计算的可验证性,但是该方案的外包过程又产生了大量的额外计算开销。 Xiong等人[12]提出了一种在物联网环境下具有灵活访问控制策略的外包属性签名方案,该方案不仅实现了细粒度访问控制与高效的计算效率,还可以抵抗签名者与外包服务商之间的合谋攻击,但由于该方案基于密钥策略属性签名(key policy attribute-based signature,KP-ABS)构造,所以更适用于静态的场景而非动态的车联网场景;此外,该方案容易造成用户密钥膨胀等问题。Li等人[13]设计了一个物联网环境下支持外包技术的签名策略属性签名(signature policy attribute-based signature,SP-ABS),虽然与文献[12]相比,它更适用于车联网环境,但是该方案仅支持门限访问策略, 难以满足车联网场景下访问策略灵活性的实际需求。
b)ABS中缺乏有效密钥管理机制与车联网中用户群体不可控之间的冲突。现有ABS方案大多为云计算和具有固定部署传感器和稳定网络的物联网系统等静态应用场景而设计,这些场景中的用户易于监管,因此仅考虑了密钥生成与分发。然而,在车联网应用中,由于车辆的高机动、行为不可控的特征,以及设备服务范围的限制,一些恶意用户可能会恶意出售自己的密钥或使用自己的密钥发布消息,进而对车联网系统的安全造成破坏。例如,Chen等人[14]虽然提出了一种车联网环境下高效的外包抗合谋SP-ABS方案,并且使用线性秘密共享方案(linear secret-sharing scheme,LSSS)来实现灵活的访问控制策略,但并没有考虑到车辆长时间弃用或者车辆私钥泄露等问题所带来的隐患,缺乏有效的撤销方案。然而,现有具有撤销功能的属性签名方案主要采用间接撤销机制,需要频繁更新密钥,这将带来巨大的计算和存储开销[15]。最近,Zhao等人[16]提出了一种支持直接撤销的外包属性加密方案,只要用户的身份信息在撤销列表中,那么系统就拒绝他的解密请求,避免更新未撤销用户密钥,减少了计算和存储开销,但该方案只是实现了一种访问控制机制,并不能保护数据完整性。
针对上述ABS算法与车联网应用之间尚未解决的冲突,本文设计了一种车联网环境下支持直接撤销的外包属性签名方案。具体而言,本文的主要贡献有以下四点:
a)提出了一种面向车联网环境的可撤销外包属性签名方案,该方案使用外包计算技术,将复杂的计算转移到云服务器上,从而减轻了签名验证的计算负担。此外,本文方案使用签名策略属性签名体制,同时使用线性秘密共享方案来实现细粒度访问控制,在保护车辆隐私的同时提升了签名的灵活性。
b)所提方案使用了直接撤销机制,通过将被撤销车辆的ID加入撤销列表并拒接其服务请求,提升了撤销效率,节省了计算资源。
c)通过形式化的安全性证明,论证了该方案在随机预言机模型下,具有抗选择消息攻击的不可伪造性(existential unforgeability under a chosen message attack,EU-CMA)。同时证明了所提方案可以抵抗签名者与签名者之间的合谋攻击,以及签名者与外包服务器之间的合谋攻击。
d)通过从计算开销、通信开销两个方面进行理论及实验仿真分析,相较其他相关方案,所提方案在满足安全性与功能性的前提下拥有良好的性能效率,可较好地应用于高密度的车联网环境。
1 相关知识
1.1 双线性映射
假设G1、G2代表两个素数阶q的乘法循环群,设定g为G1的一个生成元,双线性映射e:G1×G1→G2具有以下三个基本性质:
a)双线性。对于g1,g2∈G1,a,b∈Z*q,满足e(ga1,gb2)=e(g1,g2)ab。
b)可计算性。对于g1,g2∈G1,都可以在多项式时间内计算出e(g1,g2)∈G2。
c)非退化性。e(g,g)≠1。
1.2 困难问题
计算型q并行双线性Diffie-Hellma问题(computational q-parallel bilinear Diffie-Hellman problem,q-PBDH):给定以下的基本参数bp=(G1,G2,q,g,e),并选择一组随机数(α,γ,β1,β2,…,βq)∈Z*q,然后,给任意的多项式敌手以下参数:
g,gα,gα2,…,gαq,gαq+2,gαq+3,…,g2q,h=gγ
1≤j≤qgγβj,gα/βj,…,gα/βj,gαq+2/βj,…,gα2q/βj
1≤j,k≤q,k≠jgαγβk/βj,…,gαqγβk/βj
则,敌手很难计算出e(g,h)αq+1。
1.3 访问结构与线性秘密共享
a)访问结构。令P={P1,P2,P3,…,Pn}为所有参与方的集合,设置集合F=2{P1,P2,…,Pn},如果集合A是集合F的非空子集,那么就认为A是P上的一个访问结构。當且仅当B,C,存在B∈A且B∈C,可以得到C∈A,那么称访问结构A是单调的。
b)线性秘密共享。所提方案采用基于线性秘密共享方案构造基于属性的签名方案。一个LSSS访问结构可以表示为(Ml×n,ρ),其中Ml×n表示一个l行n列的矩阵,ρ定义了矩阵Ml×n的每一行与属性的对应关系。使用ρ(i)来表示与Ml×n的第i行相关联的属性。
对访问结构A(Ml×n,ρ)以及秘密值s,使用线性秘密共享方案可以在满足访问结构A的条件下分享秘密值s,具体实现包括以下算法:
(a)秘密值分发。定义一个向量z=(s,z1,z2,…,zk),其中s表示需要分享的秘密值,z1,z2,…,zk∈Z*q为随机选择的随机数。令λ=Miz=(λ1,λ2,…,λl),其中,Mi表示矩阵Ml×k的第i行,则λi(1≤i≤l)为ρ(i)所对应的秘密值份额。
(b)秘密值重构。令S∈A是一个授权集合,并设置索引集合I={i|ρ(i)∈S},存在一组常量{wi}i∈I,可以使得∑i∈IwiMi=(1,0,…,0),那么可以通过s=∑i∈Iwiλi来还原秘密值s。
2 系统模型和安全模型
2.1 系统模型
本文方案的系统模型如图1所示,包括车联网中的可信第三方机构(trust authority,TA)、车辆(vehicle with on-board unit,OBU)、路边单元(road side unit,RSU)、云服务提供商(cloud server provider,CSP)四个实体。TA主要负责系统的参数设置,生成系统公共参数与主密钥以及车辆的签名密钥,初始化撤销列表,并将被撤销车辆的ID添加到撤销列表中。车辆OBU通过其车载单元与车联网中的其他实体进行通信,只有其属性满足给定的访问结构且未被撤销,才可以使用签名密钥对消息进行签名。
RSU主要负责对来自车辆的签名进行转换,生成转换签名,并将其转发给CSP,然后对来自CSP的辅助计算结果进行验证。CSP提供存储服务和部分外包计算功能,主要负责对来自RSU的转换签名进行外包计算得到辅助计算结果,并将其转发给RSU。
2.2 算法定义
本文方案包括以下六个算法:
a)setup(κ,U)→(PK,SK)系统建立算法。该算法由TA执行,TA输入安全参数κ以及属性全集U,输出系统的公共参数PP以及系统主密钥SK,并初始化撤销列表。
b)KeyGen(PK,SK,V,ID)→(KV)密钥生成算法。该算法由TA执行。TA以车辆的属性集V、车辆的身份ID、系统的公共参数PP以及系统密钥SK为输入,输出车辆的签名密钥KV。
c)Sign(PK,V,KV,Γ,m,ID)→(σ)签名算法。该算法由OBU执行。OBU输入系统公共参数PP,车辆的属性集V、车辆的身份ID、签名密钥KV、访问结构Γ、撤销列表L以及一条消息m,输出一条在属性V下的签名σ。
d)Signature transformed(PK,σ,Γ)→(σts,s)签名转换算法。该算法由RSU执行。RSU输入系统公共参数PP、签名σ以及访问结构Γ,输出转换签名σts以及验证密钥s。
e)Outsourced computing(PK,σts)→(SI)服务器外包计算算法。该算法由CSP执行。CSP输入系统公共参数PP和转换签名σts,输出辅助计算结果SI。
f)Verify(PK,SI,σ,s)→“1/0”验证算法。该算法由RSU执行。RSU输入系统的公共参数PP、辅助计算结果SI、签名σ以及验证密钥s,签名有效时输出“1”,签名无效时输出“0”。
2.3 安全模型
通过构造挑战者Euclid Math OneBAp与敌手Euclid Math OneAAp之间的交互式博弈游戏来描述所提方案的安全模型。
a)初始化。Euclid Math OneAAp选择挑战访问结构Γ*,挑战属性集V*,以及挑战撤销列表L*,并将Γ*和L*发送给Euclid Math OneBAp。
b)系统建立。挑战者Euclid Math OneBAp通过运行系统建立算法生成系统的公共参数PP以及系统主密钥SK,并将PP发送给敌手Euclid Math OneAAp,同时秘密保存主密钥SK。
c)密钥查询。敌手Euclid Math OneAAp可以对属性集V和身份ID进行重复的密钥查询,挑战者Euclid Math OneBAp通过调用密钥生成算法生成KV,并将其发送给Euclid Math OneAAp,但是敌手所提交的V和ID至少应满足以下一个限制条件。
条件1 敌手Euclid Math OneAAp提交的V不满足挑战访问结构Γ*。
條件2 Euclid Math OneAAp所提交的ID属于挑战撤销列表L*。
d)签名查询。敌手Euclid Math OneAAp可以对属性集V下的消息m和身份ID对挑战者Euclid Math OneBAp进行签名查询,Euclid Math OneBAp生成相关的签名σ并发送给Euclid Math OneAAp,但是Euclid Math OneAAp提交的属性集V不能满足挑战访问结构Γ*,ID不属于挑战撤销列表L*。
e)签名验证查询。敌手Euclid Math OneAAp可以对一条消息m的签名σ进行签名验证询问,Euclid Math OneBAp运行签名转换算法并将转换签名σts发送给Euclid Math OneAAp,并在本地存储(σts,s),然后Euclid Math OneAAp生成辅助计算结果SI并将其发送给Euclid Math OneAAp,Euclid Math OneAAp运行签名验证算法并返回输出结果。
f)伪造阶段。Euclid Math OneAAp生成一条消息m*的伪造签名σ*,其中包含了挑战访问结构Γ*以及挑战属性集V*。如果满足下列三个条件, 那么称Euclid Math OneAAp赢得游戏。
(a)敌手Euclid Math OneAAp没有对满足挑战访问结构的属性V*以及属于挑战撤销列表的ID进行任何签名询问。
(b)敌手Euclid Math OneAAp在进行密钥查询阶段,至少满足上述两个条件中的一个。
(c)σ*是一条有效签名。
定义1 如果没有敌手能够在多项式时间内以不可忽略的优势赢得上述游戏,那么称该方案在选择消息攻击下具有不可伪造性。
3 本文方案
3.1 系统建立
本文算法由TA完成系统的初始化,TA输入安全参数κ以及属性空间集合U={u1,u2,…,un}, 设定最大撤销用户数为R-1,并进行如下操作:
a)选择p阶的两个循环群(G1,G2),其中p>2κ,g是G1的一个生成元,设定e是一个双线性映射G1×G1→G2,选择一个抗碰撞的哈希函数H1:G*1×{0,1}*→G*1。
b)为U中的每一个属性ui(1≤i≤n)选择随机数(f1,f2,…,fn)∈Z*q,计算Fi=gfi,选取两个随机数(a,b)∈Z*q,计算ga和E=e(g,g)b。
c)选择R个随机数(c1,c2,…,cR)∈Z*q,并设置C=(gc1,gc2,…,gcR)=(d1,d2,…,dR),初始化撤销列表L为空。
d)输出系统公共参数PP=(e,{Fi}i∈[1,n],ga,E,C),并秘密保存主密钥SK=({fi}i∈[1,n],{ci}i∈[1,n],a,b)。
3.2 密钥生成
当某一车辆将其属性集V以及其ID发送给TA,TA判断属性集与ID无误后,输入系统的公共参数PP、系统主密钥SK、车辆的属性集V以及车辆的ID,算法输出签名密钥KV,具体步骤如下:
a)选择一个随机数r∈Z*q,计算K1=gbgargc1和K2=gr。
b)对于属性集V的每一个属性,计算K3i = Fri (1≤i≤k),其中k为V中属性的个数。
c)最后计算Di=d-IDi-11di(2≤i≤R)。输出签名密钥KV={K1,K2,{K3i}i∈[1,k],{Di}i∈[2,R]}。
3.3 签名
给定一个撤销列表L={ID1,ID2,…,IDv},其中v是撤销的车辆数目,并且d<R。OBU输入公共参数PP、一个属性集V、签名密钥KV、消息m、车辆的ID以及一个访问结构Γ=(Ml×k,ρ),签名算法首先判断属性集V是否满足访问结构Γ,且ID不在撤销列表L内,如果满足,输出签名σ。设置最小授权属性集V^V,索引集合I={i|ρ(i)∈V^},具体的算法步骤如下:
a)选择两个随机数t1,t2∈Z*p,并计算以下参数σ0=gt1,P1=K1(ga)t2=gbga(r+t2)gc1,以及σ1=K2gt2=gr+t2。
b)对于每一个索引i∈I,计算σ2i=K3ρ(i)Ft2ρ(i),并设置σ2={σ2i}i∈I,然后计算σ3=P1H1(σ0,σ1,σ2,Γ,m)t1。
c)令FR(Z)=∏vi=1(Z-IDi)=y1+y2Z+…+yvZv-1+yv+1Zv,为了防止v+1<R,令yv+2,…,yR=0。
d)设置两个向量X=(1,ID,…,IDR-1)T,Y=(y1,y2,…,yR)T,它们的内积为〈X,Y〉=y1+y2ID+…+yv+1IDv=FR(ID),为了防止v+1<R,令yv+2,…,yR=0。
e)如果ID∈L,此时〈X,Y〉=0,算法输出⊥,否则,计算以下两个参数:
D=∏Ri=2Dt1yii=(d-〈X,Y〉1·∏Ri=1dyii)t1,σ4=t1〈X,Y〉
最后输出签名σ=(σ0,σ1,σ2,σ3,σ4,D,V^,Γ)。
3.4 签名转换
当RSU收到来自车辆签名σ=(σ0,σ1,σ2,σ3,σ4,D,V^,Γ)、RSU输入公共参数PP、在属性集V下消息m的签名σ以及访问结构Γ,输出一个转换签名σts以及验证密钥s。具体操作步骤如下:
a)选择一个随机数s∈Z*q作为验证密钥并计算3=σs3=gsbgsa(r+t2)gc1sH1(σ0,σ1,σ2,Γ,m)t1s。
b)随机选择一组向量z=(s,z1,z2,…,zk)T,其中s为验证密钥,随机数z1,…,zk∈Z*q。令λ=Miz=(λ1,λ2,…,λl),其中λ为秘密值s分享向量,Mi表示矩阵Ml×k的第i行。
c)对于每一个i∈I,选取一个随机数μi,并计算MI1i=gaλiF-μiρ(i),MI2i=gμi,设置MI={MI1i,MI2i}i∈I。
d)选取一组常量{wi}i∈I,使∑i∈IwiMi=(1,0,…,0),可还原秘密值s=∑i∈Iwiλi。
e)输出转换签名σts=(σ1,σ2,3,MI,{wi}i∈I),并秘密保存验证密钥s。
3.5 服务器外包计算
当CSP收到转换签名σts后,输入公共参数PP以及转换签名σts,输出辅助计算结果SI。
SI=e(3,g)∏i∈I(e(MI1i,σ1)e(MI2i,σ2i))wi=
e(gsbgsa(r+t2)gc1s,g)e(H(σ0,σ1,σ2,Γ,m)t1s,g)∏i∈I(e(gaλρ(i)F-μiρ(i),gr+t2)e(gμi,Fr+t2ρ(i)))wi=
e(gsbgsa(r+t2)gc1s,g)e(H1(σ0,σ1,σ2,Γ,m)t1s,g)∏i∈I(e(gaλρ(i),gr+t2))wi=
e(g,g)sbe(g,g)c1se(H(σ0,σ1,σ2,Γ,m)t1s,g)
3.6 签名验证
当RSU收到来自CSP的辅助计算结果SI后,输入公共参数PP、辅助计算结果SI、属性签名σ以及一个验证密钥s。如果签名是有效的,RSU接收签名,输出“1”,否则,RSU拒绝接收σ,并输出“0”。具体的算法步骤如下:
a)计算。
Δ= (e(D,g)e((dy11dy22…dyRR),σ0))-1σ4=e(g,g)c1
RSU可以从撤销列表L中还原出dy11,…,dyRR,然后计算以下参数:
E*=SI1se(H1(σ0,σ1,σ2,Γ,m),σ0)·Δ=
(e(g,g)sbe(g,g)sc1e(H1(σ0,σ1,σ2,Γ,m)st1)1se(H1(σ0,σ1,σ2,Γ,m),σ0)·Δ=
e(g,g)be(g,g)c1e(H1(σ0,σ1,σ2,Γ,m)t1e(H1(σ0,σ1,σ2,Γ,m),gt1)·e(g,g)c1=e(g,g)b
b)驗证等式E=E*是否成立,如果成立则接收签名σ,并输出“1”;否则,RSU拒绝接受σ,并输出“0”。
3.7 方案的实际应用介绍
本节通过描述一个部署本文方案的实际应用场景来论述所提方案的实用性。假设某一地区部署了本文方案,初始化阶段车联网可信第三方运行系统建立算法生成主密钥对(PK,SK),并秘密保存主私钥SK,然后要求车联网中的其他实体(车辆,路边单元,云服务商)存储公共参数PP,同时建立一个空的撤销列表。
车辆Vi将自己的身份信息(车牌号,驾驶证信息)以及属性信息发送给车联网可信第三方进行注册,这里假定Vi的属性信息为高度(height)、宽度(width)和重量(weight),可信第三方对车辆的身份信息进行审核,审核通过后,运行密钥生成算法生成相关的签名密钥{K1,K2.Kheight,Kwidth,Kweight}并发送给Vi。
当车辆想知道其能否通过一座带有传感器的大桥,并且桥上装载的传感器中提前装载了关于重量与宽度的访问策略Γ1={weight≤50 t∧width≤6 m},或者车辆想获悉其能否通过一条部署了路边单元的隧道,且路边单元提前装载了访问策略Γ2={height≤3 m∧width≤3 m},此时车辆可以通过运行签名算法生成两个属性签名(σ1,σ2),并将它们发送给验证者(传感器或者路边单元),如果车辆的身份信息在可信第三方的撤销名单中,由于本文方案使用了直接撤销机制,车辆将无法生成签名。
当收到来自车辆的签名后,大桥的传感器或者路边单元运行签名转换算法与验证算法来验证签名的正确性,CSP需要运行服务器外包计算算法,转移一些验证的计算开销。如果验证失败则说明车辆属性并不满足可以通过大桥或者隧道的条件,验证者会向车辆发出警告;否则验证者放行车辆。
显然,在上述认证过程中,由于车辆在通信过程中一直使用其属性进行通信,攻击者无法获取其真实的身份信息,所以所提方案可以实现匿名性。除此以外,所提方案还可用于实现其他安全目标,如细粒度访问控制、身份验证,可撤销性等。
4 安全性证明
4.1 不可伪造性
定理1 在随机预言机模型下,如果存在一个敌手Euclid Math OneAAp可以在多项式时间内以一个不可忽略的概率攻破本文方案,那么可以构造一个挑战者Euclid Math OneBAp能够以一个不可忽略的概率来解决q-PBDH问题。
证明 给定一个q-PBDH问题的实例,构造一个挑战者Euclid Math OneBAp与敌手Euclid Math OneAAp之间的交互游戏来描述本文方案在选择消息攻击下的不可伪造性安全模型。
a)初始化。挑战者Euclid Math OneBAp设置属性全集U={u1,u2,…,uq},敌手Euclid Math OneAAp选择一个挑战访问结构Γ*=(M*l×k,ρ*)(l,k≤q),并设置挑战属性集V*U为满足访问结构Γ*的目标属性集以及挑战撤销列表L*(|L*|≤q-2),并将(Γ*,R*)发送给Euclid Math OneBAp。
b)系统建立。挑战者Euclid Math OneBAp设置基本参数PP={G1,G2,g,q,e},随机预言机H1,并进行以下操作:
(a)选择一个随机数b′∈Z*p,并秘密设置b=b′+αq+1,计算E=e(g,g)b=e(g,g)b′e(gα,gαq)。
(b)对于U中的每一个ux∈U(1≤x≤n),Euclid Math OneBAp选择一个随机数fx∈Z*p,设置Ω={1,…,l}为索引i∈Ω的集合且满足ρ*(i)=ux,然后Euclid Math OneBAp计算
Fx=gfx∏i∈ΩgαM*i,1gαM*i,2…gαkM*i,k
如果Ω=,则令Fx=gfx。
(c)令挑战撤销列表L*={ID1,ID2,…,IDv}(v≤q-2),设置向量(X1,X2,…,Xv),其中Xk={1,ID1k,…,IDq-2k}(1≤k≤v),对于所有k∈[1,v],设置一个矩阵
MXk=-IDk-ID2k…-IDq-2kIq-2
其中:身份矩阵Iq-2的规模为(q-2)×(q-2);Euclid Math OneBAp随机选取由q-1个随机数组成的向量φk∈Zq-1P(1≤k≤q-1),使其满足φkMXk=0。对于k∈[v+1,q-1],令φk=0。
(d)定义一个q-2阶的矩阵φ=(φ1|φ2|…|φv|0|…|0)。Euclid Math OneBAp设置向量=(1,2,…,q-1)T,其中i=αq+1-i(1≤i≤q-1),然后定义g=(g1,g2,…,gq-1)T=(gαq,…,gα2)T,秘密设置参数c=φ·+δ,其中δ∈Zq-1p是由q-1个随机数所组成的向量,之后Euclid Math OneBAp令C=gc=(gc1,…,gcR)T=(d1,…,dR)T。
(e)最后Euclid Math OneBAp将公共参数PP=(e,Fx(1≤x≤q),gα,E,C)发送给Euclid Math OneAAp,并秘密保存主密钥SK=({fx}x∈[1,q],c,b′)。
c)H1詢问。在这个阶段Euclid Math OneAAp可以向Euclid Math OneBAp询问哈希函数H1的值,Euclid Math OneBAp设置一个列表LH1,并将其初始设置为空。
当Euclid Math OneAAp将元组(σ0,σ1,σ2,Γ,m)发送给Euclid Math OneBAp时,如果列表LH1中存在(σ0,σ1,σ2,Γ,m),Euclid Math OneBAp将H1的值返回给Euclid Math OneAAp,否则Euclid Math OneBAp选择一个随机数η∈Z*q,并计算H1(σ0,σ1,σ2,Γ,m)=gη,将gη返回给Euclid Math OneAAp,然后将元组(σ0,σ1,σ2,Γ,m,η,gη,1)添加到LH中,其中1表示此元组已经被询问。
d)签名密钥查询。在此阶段,敌手Euclid Math OneAAp可以通过提交属性集V,以及身份ID,来向挑战者Euclid Math OneBAp问签名密钥,但是必须至少满足以下两个条件中的一个才可以进行签名密钥询问。
条件1 敌手Euclid Math OneAAp提交的属性集V={V1,…,Vl}不满足挑战访问结构Γ*=(M*l×k,ρ*)。
条件2 Euclid Math OneAAp所提交的ID属于挑战撤销列表L*。
情形1 Euclid Math OneAAp提交的属性集V不满足挑战访问结构Γ*=(M*l×k,ρ*)。Euclid Math OneBAp选择一个向量w′=(-1,w′1,…,w′k)∈Z*p,满足w′M*i=0,其所有的索引i∈[1,k]满足ρ*(i)∈V,然后Euclid Math OneBAp选择一个随机数t∈Z*p,并秘密设置
r=t+w1αq+w2αq1+…+wkαq-k+1
并计算
K1=gbgαrgc1=gb′gαtgc1∏i∈2,…,k(gαq+2-i)wi
K2=gr=gt∏i=1,…,k(gαq+1-i)wi
对于每一个属性Vx∈V(1≤x≤l),存在两种情况:(a)如果不存在索引i∈[1,k],满足ρ*(i)=Vx,Euclid Math OneBAp计算K3x=(gr)fx;(b)如果存在索引i∈[1,k],满足ρ*(i)=Vx,令Χ为所有满足ρ*(i)=Vx的索引i的集合,之后Euclid Math OneBAp计算
K3x=(Fx)r=(gr)fx∏i∈Χ∏j∈[1,k](gαjt∏n∈[1,k]∧(n≠j)(gαq+1+j-n)wn)M*i,j
最后,Euclid Math OneBAp再计算Di=d-IDi-11di(2≤i≤|R*|),之后将签名密钥KV={K1,K2,{K3x}x∈[1,l],{Di}i∈[2,R*]}发送给Euclid Math OneAAp。
情形2 Euclid Math OneAAp所提交的ID属于挑战撤销列表L*。在这种情况下,令IDk∈R*(k∈[1,v])为Euclid Math OneAAp询问的挑战者身份,Euclid Math OneBAp设置以下参数:
c1=δ1+∑vj=1j=δ1+∑vj=1αq+1-j(δ1∈δ)
r=t+w1αq+w2αq1+…+wkαq-k+1
并和情形1同样计算K1,K2,{K3x}x∈[1,l],之后Euclid Math OneBAp计算Di。
Di=gMTXkc=g-IDi-1kc1+ci=d-IDi-1ki·di 2≤i≤|R*|
然后,Euclid Math OneBAp将签名密钥KV={K1,K2,{K3x}x∈[1,l],{Di}i∈[2,R*]}发送给敌手Euclid Math OneAAp。
e)签名查询。在此阶段,Euclid Math OneBAp设置列表LS,并将其初始设置为空,敌手Euclid Math OneAAp可以通过提交一条在属性集V下的消息m以及一个访问结构Γ来向挑战者Euclid Math OneBAp询问签名,如果表LS中存在元组(σ0,σ1,σ2,σ3,σ4,Γ,m,η,gη,gαq+1gη,t1,r,t2,1),其中1表示此元组已经被查询,Euclid Math OneBAp用此元组生成签名,否则,Euclid Math OneBAp进行以下操作:
(a)选择四个随机数η,r,t1,t2∈Z*q,并计算σ0=gt1-α=gt′1,σ1=gr+t2,对于每一个i∈I,计算σ2i=Fr+t2ρ(i),令σ2={σ2i}i∈I。
设置H1(σ0,σ1,σ2,Γ,m)=gαqgη,并計算
σ3=gb′gα(r+t2)H1(σ0,σ1,σ2,Γ,m)t1(gα)-η=
gb′+αq+1gα(r+t2)(gαqgη)t1g-αq+1(gα)-η=
gbgα(r+t2)H1(σ0,σ1,σ2,Γ,m)t′1
(b)令FR*(Z)=∏vi=1(Z-IDi)=y1+y2Z+…+yvZv-1+yv+1Zv,为了防止v+1<R,令yv+2,…,yR=0,设置Y=(y1,y2,…,yR)T,其满足〈Xk,Y〉=0(k∈[1,v]),然后Euclid Math OneBAp计算
D=∏Ri=2Dt1yii=(gt1)〈Y,δ〉,σ4=t1〈Y,δ〉
最后,Euclid Math OneBAp将签名σ=(σ0,σ1,σ2,σ3,σ4,D,V^,Γ)发送给Euclid Math OneAAp,并将元组(σ0,σ1,σ2,σ3,σ4,Γ,m,η,gη,gαq+1gη,t1,r,t2,1)存储在表LS中。
f)签名验证查询。在此阶段敌手Euclid Math OneAAp可以向Euclid Math OneBAp进行签名验证查询,具体的查询步骤如下:Euclid Math OneAAp首先生成一条消息m上的签名σ,并将其发送给Euclid Math OneBAp,然后Euclid Math OneBAp运行签名转换算法生成转换签名σts,并持有验证密钥s。一旦收到σts,Euclid Math OneAAp运行服务器外包计算算法,并输出辅助计算结果SI。最后Euclid Math OneBAp运行签名验证算法,并根据算法结果判断接收或者拒绝签名σ,并输出验证结果“1”或“0”。
g)伪造阶段。 敌手Euclid Math OneAAp输出一条消息m*上的伪造签名σ*,其中包含了伪造签名的满足挑战访问结构Γ*的挑战属性集V*。令σ*=(σ*0,σ*1,σ*2,σ*3,σ*4,D*,V*,Γ*),Euclid Math OneAAp选择一个随机数s∈Z*q作为共享密钥,取k-1个随机数(s′2,s′3,…,s′k)∈Z*q,并秘密设置如下向量:
θ=(s,sα+s′2,sα2+s′3,…,sαk-1+s′k)
然后对于所有i∈[1,l],Euclid Math OneBAp随机选择l个随机数,并定义Ri为所有索引k≠i,且满足ρ(i)=ρ(k)的集合。然后Euclid Math OneBAp秘密设置参数ui=-t′i-γβi并计算
MI1i=gα(M*iθ)F-uiρ*(i)=gα(M*iθ)Ft′i+γβiρ*(i)=Ft′iρ*(i)(∏j∈[2,k](gα)M*i,js′j)(gβiγ)-tρ*(i)(∏n∈Ri∏j∈[1,k](gαjγ(βi/βk))M*n,j)
MI2i=gui=g-t′i-γβi=g-t′ig-γβi
由以上计算可知,MI=(MI1i,MI2i)是一条有效的转换签名,如果Euclid Math OneAAp生成的伪造签名σ*是有效的,那么挑战者Euclid Math OneBAp可以利用这个伪造签名进行以下计算,最终得到q-PBDH困难问题的解e(g,g)αq+1s。
Δ s = (e(D*,g)e((d1y1d2y2…dRyR),σ*0))-sσ*4= e(g,g)sc1
SI=e(σ*3,g)i∈I(e(MI1i,σ1)e(MI2i,σ2i))wi=
e(g,g)sbe(g,g)c1se(H(σ*0,σ*1,σ*2,Γ*,m*),g)t*1s
e(g,g)αq+1s=SIe(gb′,gs)e((σ*0)η,gs)·Δs=
e(g,g)s(b′+αq+1)e(gη,g)st*1e(g,g)c1se(gb′,gs)e((gt*1)η,gs)·Δs
其中:σ*3、σ*0是伪造签名;η能从表LH1中还原出来。
综上可知,Euclid Math OneBAp可以通过计算e(g,g)αq+1s来解决q-PBDH困难问题。然而这一结论与q-PBDH问题公认的困难性相矛盾。因此在随机预言机模型下,本文方案具有抗选择明文攻击的不可伪造性。
4.2 抗合谋攻击
对于抵抗不同签名者之间的合谋攻击,本文方案中的签名是基于签名者属性集相关联的签名密钥生成的。在生成签名密钥阶段,每个签名者的属性集都与一个随机数r结合在一起,来自不同签名密钥的不同随机数不能在验证阶段被抵消掉,因此不同的签名者不能通过组合他们的签名密钥来伪造一个有效的签名。
对于抵抗签名者与云服务器之间的合谋攻击,产生虚假信息m*签名的签名者可以指示云服务器对m*的签名进行服务器外包计算。但是,云服务商仍然声称它用正常的消息m生成了中间签名。因此,该方案中在签名验证算法中涉及消息m的验证是由用户执行的,签名者和云服务器之间的合谋攻击就无法实现。
5 性能分析
5.1 性能比较
如表1所示,本节将该方案与其他四个相关方案在功能性和安全性两个方面进行性能比较,结果表明本文方案在保障安全性的同时拥有更全面的功能性,因此本文方案可以满足车联网对于安全性以及功能性的需求。
本文方案所用的撤销方式为直接撤销,当车辆被撤销后,TA将其ID加入撤销列表,由于〈X,Y〉=0,在签名阶段,持有此ID的用户将无法生成有效的签名,相比于使用间接撤销机制的ABS方案,本文方案无须频繁地对未撤销的车辆进行密钥更新,提升了方案的效率。
5.2 计算开销与通信开销对比
设群G1和G2中的元素长度为|G1|和|G2|,n表示属性全集U中的属性个数,l表示用户属性集中属性的个数,d表示访问结构中属性个数,k表示用户属性集中满足访问结构的属性个数,R表示被撤销车辆的数量,它们的数量关系满足n>l>d>k,E1表示在乘法群G1上的一次指数运算,E2表示在群G2上的一次指数运算,P表示一次双线性映射运算,由于乘法与加法运算的计算开销相对较小,所以不进行统计。
在表2中列举了本文方案与文献[10,13]在签名密钥生成、签名生成和签名验证过程中的计算开销,本文方案在签名密钥生成阶段与属性数量相关的计算开销为(k+4)E1,相比于文献[10,13],本文方案在属性层面的计算开销更小。为了实现直接撤销,本文方案在该阶段还需要额外的计算开销为RE1。在签名生成阶段,本文方案在属性层面上的计算开销为(d+5)E1,相比于文献[10,13],本文方案在属性层面的计算开销更小。在该阶段中,本文方案需要额外的计算开销为RE1。在签名验证阶段中,本文方案在属性层面上的计算开销为2E2+3P,相比于文献[10],本文方案在属性层面的计算开销明显更少,但略多于文献[13],本文方案在该阶段需要额外消耗RE1的计算开销来实现直接撤销。虽然本文方案需要额外的计算开销来实现高效的撤销机制,但是这两个方案并没有实现直接撤销机制,因此在功能性上本文方案更有优势。
在表3中,本文方案与文献[10,13]在公钥长度和签名长度两个方面进行通信开销比较,本文方案的公钥长度为(n+1)|G1|+|G2|+R|G1|,相比于文献[10,13],本文方案传输公钥时的通信开销随属性的增长趋势更缓慢,本文方案在传输公钥时还需要额外的开销为R|G1|。本文方案的签名长度为(k+4)|G1|,相比于文献[10,13],本文方案在传输签名时的通信开销更小。
综上所述,本文方案在兼顾方案性能效率的同时保证了安全性与功能性,因此本文方案更适用于实际的车联网环境。
5.3 实验分析
为了更准确地评估在车联网中的实际性能,在不同的安全级别下模拟仿真了本文方案以及文献[10,13],实验环境为Windows 64位操作系统,处理器型号为i7-1165G7 CPU,内存为32 GB。实验代码使用C++语言编写代码,同时使用MIRACL库[17]进行密钥生成时間、签名生成时间和签名验证时间的实验模拟。选用了一条超奇异曲线y2=x3-3,其中曲线的阶数为2159+217+1和2255+217+1,分别对应了安全等级AES-80与AES-128。在本实验中,用户属性集中满足访问结构的属性个数k被设为变量,同时d、l、n分别被设定为k+1、d+1、l+1。此外,设定撤销的数量R为5。
实验结果由图2~4所示。在AES-80安全等级下本文方案与文献[10,13]在签名密钥生成、签名生成以及签名验证阶段所需的时间成本进行比较。在签名密钥生成阶段,所有方案的时间成本都与属性的数量呈线性关系,而本文方案随着属性个数增加,密钥生成所需的时间增长速度最小。当属性个数d≤7时,由于本文方案实现直接撤销机制需要额外的时间,所以签名密钥生成所需要的时间与文献[13]相当,且明显优于文献[10];当d>7时,本文方案密钥生成的时间要明显优于文献[10,13]。当属性d固定为30,本文方案需要143.555 ms生成签名密钥,而文献[13]需要311.248 ms,文献[10]需要427.289 ms。在签名生成阶段,本文方案随着属性数量的增加,时间成本增加的速度最慢。当属性个数d≤7时,该签名所需的时间与文献[10]相当;当属性个数d>7的时候,本文方案的签名生成时间明显优于文献[10,13]。当属性d被设定为30时,本文方案只需要142.513 ms来生成签名密钥,而文献[13]需要457.004 ms,文献[10]需要222.426 ms。在验证阶段,文献[10]的时间成本随着属性个数增加而增加。这是由于文献[10]并没有使用外包技术来减少签名验证的时间成本,所以本文方案与文献[13]在该阶段的时间成本要明显少于文献[10]。当属性个数d固定为30时,本文方案需要51.882 ms来进行签名验证,而文献[10]需要627.115 ms。尽管该方案需要额外的时间成本来实现直接撤销,导致在该阶段的时间成本略高于文献[13],但是文献[13]没有实现撤销机制。
另外,考虑了不同的安全级别,测试了每个方案在AES-128安全级别下的时间成本。如图5~7所示,每种方案的时间成本与AES-80安全级别下的趋势相似,但所需时间大约增加了10倍。例如,在签名密钥生成阶段,当属性d被设定为30时,本文方案需要1 714.560 ms来生成签名密钥,而文献[13]需要3 508.902 ms,文献[10]需要4 774.408 ms。在签名生成阶段,当属性d固定为30时,本文方案需要1 776.56 ms来生成签名,而文献[13]需要5 364.930 ms,文献[10]需要2 790.072 ms。在签名验证阶段,本文方案需要782.908 ms来生成签名密钥,而文献[10]需要8 454.280 ms。
综上所述,本文方案在满足安全性和功能性的前提下具有良好的性能效率,可较好地适用于车联网环境。
6 结束语
针对现有外包属性签名方案存在灵活的细粒度访问控制难以实现、缺乏高效撤销机制等问题,提出了一种车联网中支持直接撤销的外包属性签名方案。通过使用线性秘密分享方案以及签名策略框架实现了灵活的访问控制以及较小的存储开销,同时引入撤销列表,实现了直接撤销机制,提升了撤销效率。经过形式化的安全性证明,本文方案在选择消息攻击下具有不可伪造性,并且能够抵抗合谋攻击。性能分析结果表明,相比于其他相关方案,本文方案在满足安全性与功能性的前提下拥有良好的性能效率,可较好地适用于实际的车联网环境。下一步工作的重点是引入可追踪机制,以便在发生事故时可以及时追溯到恶意车辆。
参考文献:
[1]Engoulou R G, Bellache M, Pierre S, et al. VANET security surveys[J]. Computer Communications, 2014,44:1-13.
[2]Kenney J B. Dedicated short-range communications(DSRC) stan-dards in the United States[J]. Proceedings of the IEEE, 2011,99(7): 1162-1182.
[3]Abboud K, Omar H A, Zhuang Weihua. Interworking of DSRC and cellular network technologies for V2X communications: a survey[J]. IEEE Trans on Vehicular Technology, 2016,65(12): 9457-9470.
[4]刘辉, 张磊, 李晶. 基于车联网的隐私保护数据聚合研究综述[J]. 计算机应用研究, 2022,39(12): 3546-3554. (Liu Hui, Zhang Lei, Li Jing. Review of data aggregation research based on privacy protection of internet of vehicles[J]. Application Research of Computers, 2022,39(12): 3546-3554.)
[5]邓雨康, 张磊, 李晶. 车联网隐私保护研究综述[J]. 计算机应用研究,2022,39(10):2891-2906. (Deng Yukang,Zhang Lei,Li Jing. Overview of research on privacy protection of Internet of Vehicles[J]. Application Research of Computers, 2022,39(10): 2891-2906.)
[6]Li Jin, Au M H, Susilo W, et al. Attribute-based signature and its applications[C]//Proc of the 5th ACM Symposium on Information, Computer and Communications Security. New York:ACM Press, 2010: 60-69.
[7]何業锋, 李国庆, 刘继祥. 车联网中基于雾计算和多TA的条件隐私保护认证方案[J]. 计算机应用研究, 2023,40(6): 1845-1849. (He Yefeng, Li Guoqing, Liu Jixiang. Conditional privacy-preserving authentication scheme based on fog computing and multi TA in VANET[J]. Application Research of Computers, 2023,40(6): 1845-1849.)
[8]朱栋, 殷新春, 宁建廷. 车联网中具有强隐私保护的无证书签名方案[J]. 计算机应用, 2022,42(10): 3091-3101. (Zhu Dong, Yin Xinchun, Ning Jianting. Certificateless signature scheme with strong privacy protection for Internet of Vehicles[J]. Journal of Computer Applications, 2022,42(10): 3091-3101.)
[9]Cui Hui, Deng R H, Wang Guilin. An attribute-based framework for secure communications in vehicular Ad-hoc networks[J]. IEEE/ACM Trans on Networking, 2019,27(2): 721-733.
[10]Liu Xuejiao, Chen Wei, Xia Yingjie, et al. TRAMS: a secure vehicular crowdsensing scheme based on multi-authority attribute-based signature[J]. IEEE Trans on Intelligent Transportation Systems, 2021, 23(8): 12790-12800.
[11]韓益亮, 陈飞, 杨晓元. 可验证的外包属性签名方案[J]. 密码学报, 2017,4(2): 151-164. (Han Yiliang, Chen Fei, Yang Xiaoyuan. Verifiable outsourcing attribute-based signature scheme[J]. Journal of Cryptologic Research, 2017,4(2): 151-164.)
[12]Xiong Hu, Bao Yangyang, Nie Xuyun, et al. Server-aided attribute-based signature supporting expressive access structures for industrial Internet of Things[J]. IEEE Trans on Industrial Informatics, 2019,16(2): 1013-1023.
[13]Li Jiguo, Chen Yu, Han Jinguang, et al. Decentralized attribute-based server-aid signature in the Internet of Things[J]. IEEE Internet of Things Journal, 2021,9(6): 4573-4583.
[14]Chen Biwen, Xiang Tao, Li Xiaoguo, et al. Efficient attribute-based signature with collusion resistance for Internet of Vehicles[J]. IEEE Trans on Vehicular Technology, 2023,72(6): 7844-7856.
[15]Su Qianqian, Zhang Rui, Xue Rui, et al. Revocable attribute-based signature for blockchain-based healthcare system[J]. IEEE Access, 2020, 8: 127884-127896.
[16]Zhao Yanan, Wang Yunpeng, Cheng Xiaochun, et al. RFAP:a revocable fine-grained access control mechanism for autonomous vehicle platoon[J]. IEEE Trans on Intelligent Transportation Systems, 2021,23(7): 9668-9679.
[17]Konstantinou E, Stamatiou Y, Zaroliagis C. A software library for elliptic curve cryptography[M]//Mhring R, Raman R. Algorithms. Berlin:Springer, 2002: 625-637.