Page 393 - 《软件学报》2025年第7期
P. 393

3314                                                       软件学报  2025  年第  36  卷第  7  期


                                                             n−m n−1−m      n−c+1−m
                                   P X = P{X ⩾ 1} = 1− P{X = 0} = 1−  ·  ·...·       ,
                                                              n    n−1        n−c+1
                                c
                 即, P X ≥1–((n–m)/m) .
                    (3) 云存储审计的合理性
                    定理  1. 若  DL  假设成立, 则不存在概率多项式时间的攻击者能在没有挑战数据的情况下伪造证明通过                           TA  的
                 数据完整性验证.
                    证明: 如果   CS  在没有存储相应挑战数据的情况下通过了              TA  的数据完整性验证, 那么我们就可以通过构造一
                 个知识抽取器与本文方案进行多次交互来获取正确的挑战数据块, 我们通过一系列游戏来进行证明.
                    ● 游戏  0: 挑战者运行   Setup  和  KeyGen  来生成公共参数  pp  以及用户  uid  的私钥{sk 1 , sk 2 }, 挑战者公开  pp. 攻
                 击者选择某文件的数据块         m 1 , …, m n 提交给挑战者, 挑战者生成相应的文件标签         tag. 挑战者向攻击者发起审计挑
                 战, 攻击者返回一个证明       P = (T,b e). 如果证明能通过挑战者的验证, 则攻击者赢得该游戏.
                    ● 游戏  1: 游戏  1  基本与游戏  0  相同, 唯一的区别在于挑战者通过一个列表记录所有生成的文件标签                      tag. 如
                 果攻击者在完整性验证中提交了一个并非由挑战者生成的合法                      tag, 则挑战者拒绝进行验证.
                    分析: 如果挑战者在游戏        1  中能以不可忽略的优势识别出恶意的完整性验证请求, 那么说明攻击者可以有效
                 地伪造   SSig  签名. 这与  SSig  签名是一个安全的身份基签名算法相矛盾. 因此, 攻击者无法伪造文件标签                    tag  中的
                 fn  与验证信息  R uid .
                    ● 游戏  2: 游戏  2  基本与游戏  1  相同, 唯一的区别在于挑战者通过一个列表记录所有对攻击者询问的响应. 由
                 于挑战者可以获取攻击者发起的所有询问的内容, 如果挑战者发现聚合签名                        T  与   ∏ T  v i  不相等, 则说明攻击者获胜.
                                                                                  i
                                                                               i∈I
                             P = (T,b e) 是一个可以通过验证的合法证明, 那么可以推出下列等式是成立的:
                    分析: 假设

                                                                         
                                                     ∏                   
                                                                         
                                                              v i  b e  H 0 (R uid )  .
                                             e(T,g) = e    (H 1 ( fn||i) )u ,R uid Y  
                                                                         
                                                      i∈I
                                               ′
                                                   ′
                                                     ′
                    假设攻击者提供一个伪造的证明            P = (T , b e ), 当伪造成功时, 则下列验证等式依然成立:

                                                                          
                                                     ∏                    
                                               ′             v i  b e ′  H 0 (R uid )   .
                                             e(T ,g) = e    (H 1 ( fn||i) )u ,R uid Y  
                                                                          
                                                      i∈I
                            b e =b e (否则可说明                        ∆b e = b e −b e (∆b e , 0), 如果攻击者能以不可忽略的
                                                                        ′
                             ′
                    明显可得                   T=T', 与之前的假设相矛盾). 令
                 优势使得挑战者停止游戏, 则我们可以构造一个模拟者打破                   CDH  假设.
                                                                                       a
                           α
                                                                                        b
                    给定  g, g ,  w ∈ G, 模拟者的目标为输出   w . 模拟者选择两个随机数       a,  b ∈ Z p , 计算  u=g w . 规定模拟者的能力
                                                    α
                 与游戏   1  中的挑战者基本一致.
                                                   α
                    在  Setup  和  KeyGen  中, 挑战者设置  Y=g , 这表示挑战者不知道   x 和  σ ui 的值.
                                                                          d
                    对于挑战    chal 中的每一项                       r i ∈ Z  p , 令随机预言机的输出为:
                                         i, 模拟者选择一个随机数
                                                               g r i
                                                     H 1 ( fn||i) =  ,
                                                              g w be i
                                                               ae i
                 则

                                                       g r i      g r i
                                         H 1 = ( fn||i)u =  ·u =       ·g w be i  = g .
                                                                               r i
                                                             e i
                                                                        ae i
                                                  e i
                                                     (g w )     (g w )
                                                      ae i
                                                         be i
                                                                 ae i
                                                                    be i
                                      T i = (H 1 ( fn||i)u )  = (g )  = (R uid Y  H 0 (R uid ) r i
                                                                     ) . 随后计算:
                                                        r i σ uid
                                                 e i σ uid
                    此时, 模拟者可以计算

                                                             g a
                                               ∆b e
                          ′
                                       ′
                       e(T ,g)/e(T,g) = e(T /T,g) = e(u ,R uid Y  H 0 (R uid ) ) = e(( ,g Y  H 0 (R uid ) ) = e(g a∆b e w b∆b e ,g Y  H 0 (R uid ) )
                                                                r uid
                                                                                  r uid
                                   = e(g a∆b e ,g Y H 0 (R uid ) )e(w b∆b e ,g Y  H 0 (R uid ) ) = e(g,g a∆b er uid Y a∆b eH 0 (R uid ) )e(w b∆b er uid ,g)e(w b∆b e ,Y  H 0 (R uid ) )
                                          r uid
                                                       r uid
                                   = e(g,g a∆b er uid Y  a∆b eH 0 (R uid ) w b∆b er uid )e(w b∆b e ,Y  H 0 (R uid ) ).
                    由此可得:

                            (                         )   (        )
                                                                                     α
                               ′
                           e (T /T)·g −a∆b er uid Y  −a∆b eH 0 (R uid ) w −b∆b er uid ,g = e w b∆b e ,Y  H 0 (R uid )  = e(w,Y) b∆b eH 0 (R uid )  = e(w ,g) b∆b eH 0 (R uid ) .
                                     (                        ) 1/b∆b eH 0 (R uid )
                                   α
                                        ′
                    由以上等式可知,      w = (T /T)·g −a∆b er uid Y  −a∆b eH 0 (R uid ) w −b∆b er uid  . 也就是说, 解决  CDH  问题概率与  b∆b eH 0 (R uid )
   388   389   390   391   392   393   394   395   396   397   398