2.3.3.1 消息格式
表2-2定义了OBU发送的安全信息格式,其中组ID用来标识车辆属于哪一组。消息的有效负载可以包括车辆的位置信息、消息发送时间、方向、速度、加减速度和交通事件,其长度是100Byte[23]。时间戳用来防止消息重放攻击。倒数第二个字段是针对消息前四个部分的OBU的签名。最后一个字段是生存时间(TTL),即消息被允许留在VANET中的时间,可以防止VANET不被消息淹没。
表2-2 OBU发送的安全信息格式
2.3.3.2 OBU通信的安全协议
为了支持混合的成员撤销方案,本小节针对短群签名方案[21]进行了细化,如下所述。具体地说,该安全协议包含五个阶段。
1)会员注册。在车辆注册登记过程中,MM针对每个车辆i(其身份为IDi)生成一个二元组(Ai,xi),车辆的私钥gsk[i]如下所示:
使用γ,MM首先计算
然后设置。完成会员注册后,MM在它的记录中存储(Ai,IDi)对。
注意,因为xi可以由γ和IDi计算而来,因此为了节省存储空间,MM不需要存储xi。
2)签名。给定消息M,车辆i在发送消息之前应该对M进行签名。使用组公钥gpk和私钥对(Ai,xi),签名过程由以下计算组成:选择指数α,。
计算Ai和(T1,T2,T3)的加密,其中
T1←uα,T2←vβ,T3←Aihα+β。(2.1)
计算δ1←xiα和δ2←xiβ。
从ZZp∗中随机选择盲选值rα,rβ,rxi,rδ1,rδ2,按照下式计算R1,R2,R3,R4,R5。
使用上面的值和M得到挑战者c。
计算sα,sβ,sxi,sδ1,sδ2,其中
最后,将式(2.1)和式(2.2)的结果进行组合,生成消息签名σ。
σ←(T1,T2,T3,c,sα,sβ,sxi,sδ1,sδ2)
按照表2-2的格式组成消息并发出。
3)确认。当接收者收到消息后,首先检查消息负载中的时间信息是否在允许的时间窗内。如果是,接收车辆将执行签名确认操作,首先按照下面的公式重新构造(R~1,R~2,R~3,R~4,R~5),并重新计算挑战者C~:
然后,从c~=H(M,T1,T2,T3,R~1,R~2,R~3,R~4,R~5)中重新计算出c~。
接收者最后检查c~是否和签名中的c相同。如果相同,则接收者认为消息是从可信的组成员发出的有效的、没有修改的消息;如果不一样,接收者将忽略该消息。
4)成员的可追溯性。当需要解决争端时,系统执行成员追溯操作,得到生成签名成员的真实身份。TM首先检查签名的有效性,然后通过以下公式计算Ai:
一旦MM从TM得到元素Ai,就可以通过查找记录(Ai,IDi)来发现相关的身份标识IDi。
5)成员撤销。一旦发现车辆受损,就需要将其排除在系统之外。目前有两种方案可实现受损车辆的撤销。一种是通过更新所有不被撤销的车辆的群公钥和私钥实现。如果在撤销列表(RL)中发布撤销车辆的私钥对,那么不被撤销的车辆可以在本地更新它们的私钥对gsk[i]和组公钥gpk,而撤销车辆则无法更新它们的密钥介质[21]。该方案需要改变每辆车的群公钥和私钥,因此会明显地引入大量的开销。其他撤销机制类似于传统的基于CRL的撤销方案,称为本地验证撤销(VLR)[25-27],该方案中只有审核员参与撤销的检查操作。由于VLR方案的签名验证时间是随着撤销车辆数量的增长而线性增长的,因此当撤销车辆数量少时该方案是很有效的。但是当RL中有大量的撤销车辆时,车辆撤销验证过程非常耗时,导致效率低下。因此,本书在权衡之下提出了混合成员撤销机制,其基本思想是当撤销车辆的数量在撤销列表中(用|RL|表示)小于预定义的阈值Tτ时使用VLR机制,否则使用第一种方案即通过更新相应的公钥和私钥对来实现撤销。具体的机制如下所示。
情况1:当|RL|<Tτ时,MM发布撤销列表RL={A1,…,Ab},其中b<Tτ。
对于给定的群签名σ,确认者首先执行签名确认操作,然后按照算法1执行撤销检查,其中param是(G,G′,GT,g1,g2,g,p,ψ,e^,H,H1,Ppub,u,v,h,h0,h1,h2)。如果返回的值是Valid,RL中没有元素在σ的(T1,T2,T3)中存在,群签名σ的签名者没有被撤销。如果返回的值是invaild,那么已有的Ai被编码进(T1,T2,T3),通过e^(T3/Ai,h0)=e^(T1,h1)e^(T2,h2)检查,因为
情况2:当|RL|≥Tτ时,MM将所有的签名者和确认者发送到系统撤销列表,其中b≥Tτ。对于每个私钥,,。其中需要注意。
在收到撤销列表RL,组公钥gpk可以容易地进行更新。下面的辅助定理证明了如何使用给定的组公钥和所有的撤销私钥来构建新的组公钥。
辅助定理1:给定组密钥gpk=(g1,g2,g,w)和所有的撤销私钥{(A1∗,x1),…,(Ab∗,xb)}∈RL,新的组公钥可以按照下面的方式构建。
其中,,,,
证明:
∗因为可以从(A1∗,x1),…,(Ab∗,xb)得到,首先构建下列方程:
其中b为未知值y1,y2,…,yb。
提高式(2.3)到指数方程如下:
然后,可以得到下式:
不失一般性地,假设b=2,可以得出:
然后,可以得出下面两个方程:
解方程(2.6),可以得到:(www.xing528.com)
将式(2.7)代入式(2.3),得出:
和
∗为了计算w^=g^2γ=g2γ/y,构建了下面的方程:
其中,b+1未知值为y0,y1,y2,…,yb。提高式(2.8)到指数方程:
那么可以得到:
同样的,假设b=2,那么可以得到:
可以得到下面三个方程:
解方程(2.9),得到:
将式(2.10)代入,得到:
作为结果,组公钥可以按照构建。
下面将描述没有被撤销的车辆如何更新它的私钥,新的私钥用表示,其中。
辅助定理2:给定的所有撤销私钥,…,,没有被撤销的车辆i=0的新私钥可以构建为,其中,。
证明:
∗因为可以从(A,x0)和(A1∗,x1),…,(Ab∗,xb)得到,首先构建方程:
其中,b+1未知值为y0,y1,y2,…,yb。将式(2.11)提高到指数方程:
那么可以得到:
不失一般性,假设b=2,因此可以得到:
通过上面的方程可以得出下列三个方程:
解方程(2.12)可以得到:
将式(2.13)代入式(2.11),得到:
于是,是对应于组公钥的有效的私钥。
2.3.3.3 消息长度
OBU消息的长度为
p是170bit的素数[6]。GG的每个元素是171bit长,Lsig是192Byte长,因此LmsgOBU=2+2+100+4+192+1=301Byte。
2.3.3.4 安全分析
使用群签名允许组成员代表组匿名地签署任意数量的消息。组签名方案的安全需求包括正确性、不可伪造性、匿名性、不可链接性、可追溯性和撤销[16],具体讨论如下。
•正确性:根据安全协议由有效的组成员生成的组签名σ可以通过上面的验证过程来标识。
•不可伪造性:只有有效的组成员可以代表组签署消息,有效的组签名不能被伪造,否则强烈Diffie-Hellman(SDH)假设将不一致。
•匿名性:消息的有效的组签名σ,除了组管理者,很难通过计算识别真正的签名者。根据线性Diffie-Hellman假设,组签名方案为基础的交互协议是零知识的,σ没有显示任何信息。
•不可链接性:根据确认程序,很难判断出两个不同的有效组签名是相同的组成员计算的。
•可追溯性:组管理者可以通过成员恢复过程来创建一个有效的签名和识别真正的签名者。假设群签名σ=(T1,T2,T3,c,sα,sβ,sxi,sδ1,sδ2)是有效的。组管理者可以首先推导Ai←T3/(T1ξ1·T2ξ2),可以追溯签名者的标识。
•可撤销性:可以通过上述两个撤销方案实现成员撤销。
在[21]中,Boheh等更详细地描述了安全分析。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。