Page 445 - 《软件学报》2025年第4期
P. 445
陶静怡 等: 基于区块链和去中心化可问责属性认证的众包方案 1851
TPK r = g TSK r 作为 Tracer r 的部分公私钥.
(2) 追踪者退出
R
假设 Tracer n 退出, 追踪者变为 n−1 个, 剩下的 n−1 个成员 Tracer i 选择 q i ←Z p [x] , 满足 deg(q i ) = t −1 且 q i (0) = 0.
Tracer j , j ∈ [1,n−1], j , i. Tracer j 计算
接着针对剩下 n−1 个成员生成 q i (GID j ) , 并将其通过可信信道秘密分享给
∑ n−1
′
′
TSK = TSK j + q i (GID j ),TPK = g TSK ′ j 作为新的部分公私钥.
j j=1 j
4 方案分析
根据上述关于本方案的具体构造, 下面给出关于本方案的正确性及安全性分析.
4.1 正确性分析
1) 组织公钥与属性密钥生成正确性: 本方案的属性加解密算法基于 RW 属性密码 [28] 实现, 因此加解密算法正
确性由 RW 算法保证. 同时本方案引入了门限秘密分享来构造属性权威组织和追踪组. 属性权威组织的 OPK 生成
过程如下:
j=1
( )
∑ ∏
∑ n ∑ n t t GID j
f i (0) i=1 OSK i
α i
OPK = e(g,g) OSK = e(g,g) i=1 = e(g,g) i=1 = e(g,g) j=1,j,i GID j −GID i
∏ t GID j
t
∏
= OPK i j=1,j,i GID j −GID i .
i=1
授权组织公钥 APK 和追踪组公钥 TPK 的生成算法同理. 属性私钥的生成过程如下:
OSK APK β ∑ n ∑ n β
K x,GID = g H(GID) F(x) = g i=1 α i H(GID) i=1 y i F(x) =
t
∑ t ∏ t GID j ∑ t ∏ t GID j ∑ t ∏ t GID j ∏ ∏ t GID j
i=1 (OSK i ) i=1 (ASK i ) i=1 (β i )
g j=1,j,i GID j −GID i H(GID) j=1,j,i GID j −GID i F(x) j=1,j,i GID j −GID i = partK x i ,GID j=1,j,i GID j −GID i
i=1
∑ t ∏ t GID j ∏ t ∏ t GID j
′ β i=1 (β i ) ′ j=1,j,i GID j −GID i .
K = g = g j=1, j,i GID j −GID i =
x,GID partK x i ,GID
i=1
L 1 中, 公式 (1)、公式 (2) 证明了工作者拥有正确
2) 验证正确性: 证明 π 通过 ZK.Prove(⃗ x, ⃗ w,crs) 生成, 在语言
的满足访问策略的属性密钥, 公式 (3) 证明 t 1 ,t 2 正确计算, 公式 (4) 证明了工作者用追踪公钥正确加密了自己的身
GID , 由 ZK
份标识 的知识证明性确保工作者拥有满足策略的属性, 且正确计算了 t 1 ,t 2 ,σ .
′ ′
3) 链接正确性: 当同一个用户对同一个 tid 提交了两次不同的信息 M, M 时, 如提交的认证 η,η 能通过验证,
′ ′ ′
则有 t 1 = H 1 (tid,S u ) = t , 因此 Link(M, M ,η,η ) → 1 .
1
GID 得到的, 由 ElGamal 算法 [31] 的
4) 追踪正确性: 用户 GID 的认证为 η = (t 1 ,t 2 ,σ,π) , 其中 σ 为用 TPK 加密
正确性确保 Trace(η,{TSK i }) → GID . 由于引入了门限秘密分享, 追踪时计算 GID 的过程为:
∏ ∏ t GID j
∑ n t
TSK TSK i j=1, j,i GID j −GID i
GID = Ex 1 /Ex 2 = Ex 1 /Ex 2 i=1 z i = Ex 1 / (Ex 2 ) .
i=1
5) 追踪者加入和退出正确性:
追踪者加入正确性: Tracer r 加入, 追踪者变为 n+1 个, 原来的 n 个成员 Tracer i 选择的 h i 满足 h i (GID r ) = 0. 则由
∑ n ∑ t ∏ t ∑ n ∑ n
于 TSK = TSK j + h i (GID j ) , 计 算 TSK r = TSK ′ GID r −GID k = θ i (GID r )+ h i (GID r ) =
′
j
j=1 j i=1 i=1
k=1,k,j GID j −GID k
∑ ∑ n
n
θ i (GID r ). 则 TSK r 为函数 θ j (x) 在 GID r 处的值, 且再有新追踪者加入仍能执行该加入算法为新成员生成
i=1 j=1
追踪公私钥, 因此追踪者加入算法是正确的.
∑ n ∑ n
追踪者退出正确性: 假设 Tracer n 退出时, 原先的函数为 θ i (x) , 现更新为 (θ i (x)+q i (x)). Tracer n 的部
i=1 i=1
∑
n
分私钥 TSK n = θ i (GID n ) 不再是该函数上的点, 无法执行插值算法, 因此 Tracer n 的部分私钥失效. 而由于
i=1
q i (0) = 0, 则 TSK 不变, 原先用 TPK 加密生成的认证仍能被追踪, 因此追踪者退出算法是正确的.
4.2 安全性分析
本方案的安全模型满足匿名性、属性隐私性、不可伪造性、可链接性和可追踪性. 在给出安全性的形式化定