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   安全性分析
                    本方案的安全模型满足匿名性、属性隐私性、不可伪造性、可链接性和可追踪性. 在给出安全性的形式化定
   440   441   442   443   444   445   446   447   448   449   450