文章出处:Conditional Privacy-Preserving Multi-Domain Authentication and Pseudonym Management for 6G-Enabled IoV
1 方案介绍
1.1 MACPP 多域认证方案
1.1.1 系统初始化阶段
SD:
-
选择椭圆曲线E:y2=x3+ax+b (mod p) 上阶为q 的加法群G,其中a、b∈Fp,p、q 为两个大素数
-
定义三个安全哈希函数h1:G→Zq∗,h2:{0,1}∗→Zq∗,h3:G×{0,1}∗×{0,1}∗×{0,1}∗×{0,1}∗→Zq∗
-
广播公共参数Params={G,P,p,q,a,b,h1,h2,h3}
TAi:
-
选取tpi∈Zq∗ 作为系统私钥,计算系统公钥TPpki=tpi⋅P
-
通过有线信道将TPpki传给区域内的每个 RSU,由 RSU 周期性广播
1.1.2 车辆注册和假名生成阶段
车辆Vaj:
-
提前向 TAi 注册真实身份VIDajKGCj:
-
选取 Tagj∈Zq∗ 作为统一标签,证明具有 Tagj 的车辆属于ADj
-
计算并广播 TAGj=Tagj⋅P
-
预先加载 {VIDaj,ADj,Tagj} 至车辆Vaj的 OBU
车辆Vaj:
-
向 OBU 发送假名生成请求
-
OBU 选取κaj∈Zq∗ ,计算 PIDa,1j=κaj⋅P,PIDa,2j=VIDaj⊕h1(κaj⋅TAGj)⊕ADj
-
返回 {PIDaj,skaj,Taj} 给 Vaj,其中PIDaj={PIDa,1j,PIDa,2j},skaj=κaj+αaj⋅Tagj mod q,αaj=h2(PIDaj∥Taj)
1.1.3 消息签名阶段
车辆Vaj:
-
选取waj∈Zq∗,计算Waj=waj⋅P,βaj=h3(Waj∥Maj∥ADj∥PIDaj∥Taj),σaj=skaj+βaj⋅waj mod q
-
向附近车辆和 RSU 广播消息{Maj,PIDaj,ADj,Waj,σaj,Taj}
1.1.4 验证阶段
其他车辆 / RSU:
-
依次检查Taj和PIDaj是否有效
-
使用收到的消息和系统参数Params 计算αaj和βaj
-
计算并检查等式σaj⋅P=PIDa,1j+αaj⋅TAGj+βaj⋅Waj是否成立
正确性证明:
-
σaj⋅P =(skaj+βaj⋅waj)⋅P
=(κaj+αaj⋅Tagj+βaj⋅waj)⋅P
=κaj⋅P+αaj⋅Tagj⋅P+βaj⋅waj⋅P
=PIDa,1j+αaj⋅TAGj+βaj⋅Waj
批量认证:
-
检查每条信息中时间戳的新鲜度
-
验证者检查左侧等式是否成立。若成立,则表明所有n 个签名均有效
复杂度分析
忽略 Zq∗ 中的加法和哈希运算等简单操作的开销,对 n 个签名的情况,有:
-
逐一验证:开销为 3n 次点乘运算和 2n 次点加运算
-
批量验证:开销为 (n+2) 次点乘运算和 (2n+2) 次点加运算结论:由于点乘运算的显著减少,扩展的批量验证方案效率更高。
1.2 BAPM 假名管理方案
1.2.1 系统初始化
动态稀疏默克尔树 DSMT
-
结构:完全二叉树,每个数据块赋予唯一索引,空叶节点值被置为H(null);
-
动态:树的高度由 TA 在最新块中打包的假名数目决定;
-
稀疏性:允许大部分树被缓存,因为节点中存在恒定值如H(null),H(H(null)∥H(null)) 等。
示例:TAi按注册时间顺序在最新块中存储假名,每个假名对应唯一索引。TAi 将每辆车的假名索引记录到Ω中。其中,假名的索引与车辆的真实身份索引不同,以防止攻击者将假名与真实车辆相关联。
Ω:每个 TA 维护的列表,包含所有车辆真实身份,通过 SD 做离线同步,保持所有 TA 间的一致性
1.2.2 假名生成 / 更新
车辆Vaj:
-
向 OBU 发送假名生成请求
-
OBU 选取κaj∈Zq∗ ,计算 PIDa,1j=κaj⋅P,PIDa,2j=VIDaj⊕h1(κaj⋅TAGj)⊕ADj
-
返回 {PIDaj,skaj,Taj} 给 Vaj
1.2.3 假名验证与上传
假名在注册过后方可使用。生成新假名后,Vaj必须与TAi同步进行注册。
车辆Vaj:
-
加密VIDaj,打包消息Men={PIDaj,AEnc(TPpki,VIDaj),Ten}
-
签名消息,将Men和签名单播至最近的 RSU 验证
RSU:
-
验签,验证成功后经有线信道将Men上传至关联的TAi
TAi:
-
获得消息中的PIDaj,使用 tpi 解密得到VIDaj
1.2.4 假名注册与存储
TAi:
-
检查 Ω 中VIDaj对应车辆是否已撤销
-
将PIDaj存储到由 Idxa 索引的当前 DSMT 中的首个空节点
-
计算 H(PIDaj)、更新默克尔根并上链
-
在 Ω 中记录新的 Idxa
其他车辆和 RSU 可以通过区块链快速检查接收到的消息中假名的有效性。示例:如果一辆车想要验证假名 P ID j a 的合法性,它可以从区块链中的最新块查询 H (P ID j a) 的成员证明。如果车辆能够使用成员证明重建根 RT ′ 以使 RT ′ 等于最新块中包含的 Merkle 根,则假名有效。否则,车辆会直接拒绝该消息。
1.2.5 假名撤销
TAi:
-
从 Ω 查询恶意车辆Vbk假名索引的集合
-
替换所有假名为 “0”,将H(′′0′′) 存储在当前区块中相应索引的叶节点中
-
更新默克尔根、上链
-
删除该集合并在 Ω 中标记为 “Revoked”
2 安全性证明
2.1 形式化证明
Proof 假设敌手 𝒜 能伪造消息{Maj,PIDaj,ADj,Waj,σaj,Taj},给定一个 ECDLP 的实例 (P,Q=x⋅P),由挑战者 𝒞 模拟敌手 𝒜 的查询。
-
Setup-Oracle: 𝒞 设置 TAGj←Q 并将 Params 发给 𝒜 ;
-
h1-Oracle: 𝒞 维护形如 (m1,τ) 的空列表 Lh1。在收到 𝒜 对消息 m1 的查询时, 𝒞 检查 Lh1 中是否存在元组 (m1,τ) 。若存在,返回 τ=h1(m1) 给 𝒜 ;否则选取 τ∈Zq,将其存储在 Lh1 中,并将 τ 发给 𝒜 ;
-
h2-Oracle: 𝒞 维护形如 (PIDaj∥Taj,τ) 的空列表 Lh2。𝒞 选取τ∈Zq,将其存储在 Lh2 中,并将 τ=h2(PIDaj∥Taj) 发给 𝒜 ;
-
h3-Oracle: 𝒞 维护形如 (Waj,Maj,ADj,PIDaj,Taj,τ) 的空列表 Lh3。𝒞 选取τ∈Zq,将其存储在 Lh3 中,并将 τ=h3(Waj∥Maj∥ADj∥PIDaj∥Taj) 发给 𝒜 ;
-
Sign-Oracle: 收到 𝒜 的带有消息 Maj 的查询后,𝒞 选取σaj,αaj,βaj∈Zq∗ , 选取一点 PIDa,2j,计算 PIDa,1j=σaj⋅P−αaj⋅TAGj−βaj⋅Waj。𝒞 将 (PIDaj,Taj,αaj) 和 (Waj,Maj,ADj,PIDaj,Taj,βaj) 分别添加进 Lh2 和 Lh3。最后,𝒞 向 𝒜 发送消息{Maj,PIDaj,ADj,Waj,σaj,Taj}。由于方程①始终成立,𝒞 模拟生成的签名与认证车辆生成的签名是不可区分的。
2.2 非形式化证明
-
消息认证:接收消息 {Maj,PIDaj,ADj,Waj,σaj,Taj} 后,验证者可先通过区块链检查 PIDaj 合法性,再通过验证等式σaj⋅P=PIDa,1j+αaj⋅TAGj +βaj⋅Waj 是否成立来检查消息有效性和完整性。
-
不可链接性:假名PIDaj由 OBU 选取κaj秘密生成,敌手无法从假名中推断出车辆的真实身份;车辆能生成多个假名,敌手无法将多个消息或假名与同一车辆关联。
-
不可伪造性:由于 ECDLP 问题的困难性,且每个新传输消息必须嵌入一个与全局时钟同步的新时间戳,使验证者能检测到签名是否存在伪造。
-
条件隐私保护:若车辆Vaj被检测为恶意的,一方面
-
KGCj追责:计算VIDaj=PIDa,2j⊕h1(PIDa,1j⋅Tagj)⊕ADj另一方面,由于 CDHP 的困难性,具有 Tagj 和 PIDaj 的车辆或 RSU 均无法计算 PIDa,1j⋅Tagj 并推断出VIDaj。
-
不可否认性:由于签名的不可伪造性,车辆无法否认自己已发送了一条消息;一旦发现不当行为,验证者可在 KGC 帮助下揭示其身份。
3 方案评价
3.1 MACPP 多域认证方案评估
3.1.1 计算开销
结论:
-
在假名和密钥生成和单条消息验证阶段,MACPP 优于其他方案;
-
MDPA 在消息签名阶段更有效率,但它不支持对多条签名的批量验证;
-
当车辆数目达到 200 时,各阶段的计算时间分别为 455.75ms、354.36ms、177.54ms 和 90.05ms;
-
本文方案批量验证的计算复杂度不受车辆异构性及车辆分布的影响。随车辆数量的增加,MACPP 的表现更佳。
3.1.2 通信开销
结论:
MACPP 的通信开销优于其他方案,其开销为车辆广播的已签名消息,假名和密钥生成与验签阶段均在本地执行,无网络流量。
举例:方案中,ADj、GDi、所选随机数和时间戳大小均设置为 4 字节,哈希输出、素数 p 和阶数 q 的大小为 32 字节,群 G 中的元素为 64 字节。设Sm为消息大小。则车辆Vaj需向附近车辆和 RSU 广播{Maj,PIDaj,ADj,Waj,σaj,Taj},
其中PIDaj={PIDa,1j,PIDa,2j} 由PIDa,1j,Waj∈G, PIDa,2j,ADj,σaj∈Zq∗,Taj为时间戳,方案的通信开销为 64×2+4×4+Sm=144+Sm 字节
3.2 BAPM 假名管理方案评估
假名的存储和撤销本质上是对默克尔树叶节点的更新操作,因此分别改变更新操作和假名的数量,观察计算开销与存储开销的变化。
结论:
DSMT 具有比不同叶子大小(216、220 和224)的稀疏默克尔树更低的计算开销和存储开销
3.3 区块链性能评估
性能指标:
-
延迟:对新提交到区块链中的区块达成共识所花费的时间
-
吞吐量:在区块链网络中每秒提交的有效交易数
结论:
-
由于在共识过程中耗费的时间增加,更多的对等节点会导致平均延迟增加、吞吐量降低;
-
平均延迟和吞吐量随发送速率增加呈线性增长,直到验证队列达到容量。