Page 447 - 《软件学报》2026年第2期
P. 447

926                                                        软件学报  2026  年第  37  卷第  2  期


                    3) 挑战阶段: A  向  B  发送两个先前未请求过的关键词          w 0 ,w 1 , B  随机选取   b ∈ {0,1} 并生成   sd w b  ,C sd w b  ,td w b , B  发
                           给  A.
                 送   C sd w b  ,td w b
                    4) 问答阶段   2: A  可以继续适应性地向     B  请求除   w 0 ,w 1  以外任意关键词  w 的陷门或强化关键词密文.
                    5) 输出阶段: A  输出猜测结果     b ∈ {0,1}, 若  b = b 则  A  获胜; 否则, A  失败.
                                                      ′
                                            ′
                    A  赢得  SS-CKGA  挑战的优势定义为:     Adv SS-CKGA  (ℓ) = |Pr[b = b]−1/2|.
                                                                 ′
                                                     A
                    根据以下两个定理, CADC       可以被证明是     SS-CKGA  安全的.
                    定理  1. 如果  PPT  敌手  A  可以破坏  CADC  的  SS-CKGA  安全, 那么一定存在一个   PPT  敌手  B  可以破坏底层签
                 名  (BLS  签名  [55] ) 的安全性.
                    证明: 定理   2  的证明同服务器协助的       PEKS  方案  [53] 对  SS-CKGA  安全的证明. 由于  B  破坏底层签名安全性的
                 概率是可忽略的, 故      A  在  SS-CKGA                      Adv SS-CKGA (ℓ) = negl(ℓ).
                                             中获胜的优势是可忽略的, 即
                                                                      A
                    定理  2. 假设  Shamir 秘密共享方案   [56] 是安全的, 那么  CADC  中以分布式的方式生成给定关键词的签名的过程
                 就不会破坏    CADC  的  SS-CKGA  安全.
                    证明: 在  CADC  中,  w 的签名  σ w  由多个作为密钥服务器的      App  参与生成, 其中各    App  使用  Shamir 秘密共享
                                       w 进行签名. 但对于敌手      A  来说, 分布式方式    (即多个密钥服务器的情况) 和集中式方
                 方案共享私钥     s, 并使用   s 对
                 式  (即单个密钥服务器的情况) 并没有区别. 因为在问答阶段               1  和问答阶段   2  中, 当  A  向  B  请求强化关键词密文或
                 陷门时, B  与签名预言机交互, 接下来的挑战都基于该预言机的输出. 在挑战阶段, B                     不能与签名预言机交互, 而是
                                   w b  的签名以生成挑战关键词密文和陷门. 实际上, 上述所有过程对敌手                   A  都是透明的, 不
                 随机选择一个元素作为
                 会影响   A  在  SS-CKGA  挑战中获胜的优势.
                    定义  3. 针对选择关键词攻击的不可区分性            (IND-CKA) 挑战定义如下.
                                        ℓ, 挑战者  B  产生  App  端秘密共享, 其中一个     App (不失一般性地,    A 1 ) 的公共参数
                    1) 初始化: 根据安全参数
                 sk 1 ,PSK 1  并发送给敌手  A.
                    2) 挑战阶段: A  向  B  发送两个关键词    w 0 ,w 1 , B  随机选取   b ∈ {0,1},r ∈ Z p , 计算签名  σ 1  并发送给  A.
                    3) 输出阶段: A  输出猜测结果     b ∈ {0,1}, 若  b = b, A  获胜.
                                                      ′
                                            ′
                                                                  ′
                    A  赢得  IND-CKA  挑战的优势被定义为      Adv IND-CKA (ℓ) = |Pr[b = b]−1/2|.
                                                      A
                    根据以下定理, 方案是       IND-CKA  安全的.
                    定理  3. 如果存在一个    PPT  敌手  A  可以破坏  CADC  的  IND-CKA  安全, 那么就存在一个    PPT  敌手  B  可以破坏
                 门限盲签名方案      [57] 的盲性.
                    证明: 为了证明定理      4, 不失一般性地, 假设敌手      A  为  A 1 , B  将  A  作为子程序运行, 且对于挑战者来说是透明的.
                    在初始化时, B    收到来自挑战者的        sk 1 ,PSK 1  并发送给  A. 在挑战阶段, B  收到来自  A  的  w 0 ,w 1  并发送给挑战
                                                 w = rH (w b )  并发送给  B, B    σ 1 = sk 1 w  并发送给  A. 在输出阶
                                                   ′
                                                                                      ′
                 者, 挑战者随机选取      b ∈ {0,1},r ∈ Z p , 计算                计算签名
                                                   b                                  b
                                  ′
                                           ′
                 段, A  向  B  发送猜测  b , B  也输出  b  作为其对  b 的猜测.
                    在上述过程中, 对于挑战者, B        是破坏了门限盲签名方案         [57] 的盲性的敌手; 对于   A, B  是  CADC  的  IND-CKA
                 挑战中的挑战者. 因此, B       破坏门限盲签名方案         [57] 的盲性的优势大于等于       A  在  CADC  挑战中获胜的优势
                 Adv IND-CKA  (ℓ). 若  Adv IND-CKA  (ℓ) > negl(ℓ), 则  B  一定能够以不可忽略的优势破坏门限盲签名方案  [57] 的盲性.
                    A            A
                    此外, 在方案中即使部分        App  的子密钥泄露, 方案的安全性仍旧可以得到保证.
                    密钥具有如下形式:

                                                                  
                                                                        
                                                                  
                                                  t ∑     t ∑ ∏     n    
                                                                η  ∑    
                                              sk =  w i sk i =         f j (i)               (22)
                                                                    
                                                                    
                                                                    
                                                                        
                                                               η−i  
                                                                   
                                                  i=1     i=1  1⩽η⩽t    j=1
                                                             η,i
                                                ,
                    由于敌手无法获取对于         j = 1,2,...,n i = 1,...,t 的全部   f j (i) 值, 因此敌手无法恢复出密钥  sk.
                    假设敌手    A  可以破坏任意    t (t < t) 个作为身份服务器的     App  并获取其秘密共享. A     的目标是获取受害用户
                                          ′
                                            ′
   442   443   444   445   446   447   448   449   450   451   452