Page 271 - 《软件学报》2020年第10期
P. 271

张启慧  等:改进的三方口令验证元认证密钥交换协议                                                        3247


                               | Adv A  8 ( ) −  Adv 7 ( ) |A  2q send  ⋅  Adv CPA  (t O+ ≤  (q send +q exe ))  (8)
                                                         PKE′
                                                               )
             游戏 G 9 :本游戏修改服务器在收到消息 SendServer       1 (S  j , A〈  ,,B c 〉 的响应方式.直接利用私钥 sk′对密文 c AS
                                                             AS
         进行解密,并验证其中的 P A 与用户口令 π A 是否匹配.如果匹配,则直接认为攻击成功,停止模拟;如果不匹配,则按
         照完全随机的方式选择 tk        A  || mk .可以看出,第 1 部分修改仅仅是增加了攻击者成功的途径,而第 2 部分修改的
                                  A
         合理性则由平滑投射哈希函数的随机性保证,从而可得
                                      Adv  ()A  Adv  ( ) 2q+A ≤  ε ⋅  ( )k                    (9)
                                         8        9      snde  SP H F
                                                            j
             游戏 G 10 :本游戏继续修改服务器在收到消息 SendServer 1 (S ,〈A,B,c AS 〉)的响应方式.类似于游戏 G 4 ,我们将
          c =  SA  Enc (pk M A ; ;l tk A ),c SB  =  Enc (pk M  B ; ;l tk B ) 替换成消息 M =  s A  || H 0, A ,M =  s B  || H 0,B  的密文,其中, H 0, A  =
                   ,
                                      ,
                                                           A
                                          B
                        A
                                                                       B
          =  s π 0 ,H 0,B  =  s π 0 . 由于 tk A 和 tk B 已被替换成完全随机的比特串,因此根据加密体制 PKE 的 CCA 安全性(由于游
            A
                    B
         戏 G 6 需要解密能力),可知
                                                          CCA
                               | Adv A  9 ( ) −  Adv 10 ( ) |A  2q send  ⋅  Adv PKE (t O+≤  (q send  +q exe ))  (10)
             游戏 G 11 :本游戏修改针对 SendClient A  i ,m ),d ∈ { 2,4} 的模拟.类似于游戏 G 5 ,利用 DDH 自规约技术在给定
                                          (
                                         d
         三元组(X 0 ,Y 0 ,Z 0 )的情形下,修改用户会话 A 和 B 生成 X、Y、sk AB 、sk BA 的方式,即当用户 A 需要计算 X 时,选择
                                 a
         随机的 , ax∈Z 并计算 X =    Xg  x , 当用户 B 需要计算 Y 时,选择随机的 ,by ∈Z 并计算 Y =       Y g y , 当双方需要生
                                                                                  b
                                                                                  0
                                 0
                                                                       p
                     p
                                   xb
                                 ab
                                      ya
         成密钥时,计算 sk      =  sk  =  Z Y X g xy .此时,攻击者区分真实的会话密钥 sk AB =sk BA 和完全随机值的优势不超
                       AB   BA  0
         过攻击者攻破 DDH 假设的优势,即
                                 | Adv A  ( ) −  Adv  ( ) |A  2 Adv⋅  ddh (t O+ ≤  (q  +q  ))  (11)
                                    10       11         G       send  exe
             综上可得,攻击者的优势满足 Adv         ake  () =  A  Adv  ()A  Adv A≤  ( ) negl+  ( ).k 下面分析攻击者在游戏 G 11 中成功
                                        , PD     0       11
         的方式.
             (1)  攻击者冒充用户 A(B 类似)发送了消息〈A,B,c AS 〉,且密文 c AS 确实是与口令 π A 相对应的密文;
             (2)  攻击者冒充服务器向用户 A(B 类似)发送了消息〈hp 1A ,hp 2A ,c SA 〉,且其中的 c SA 确实是与口令 π A 相对应的
         验证元(s A ,H A )的密文;
             (3)  在 MAC 安全的情况下,攻击者成功地伪造了用户 A(B 类似)所使用的 MAC 认证值;
             (4)  攻击者成功地猜对了 Test 询问中所使用的比特 b.
             记计算时间至多为 t 的攻击者针对协议所采用的 MAC 机制的优势函数为 Adv                      CMA -EUF (),t 由于 MAC 密钥在
                                                                           MAC
         游戏 G 3 和 G 9 中已被替换成随机值,则攻击者通过情形(3)成功的概率至多是 2(q                         send  +  q exe ) Adv⋅  CMA EUF−
                                                                                           MAC
          (tO+  (q send +q exe )). 若用 PwdGuess 表示事件“上述情形(1)或情形(2)发生”,注意到在上述游戏 G 11 中攻击者已经
         不能从会话消息获取到口令的任何信息,从而攻击者只能通过暴力穷举或字典攻击                               [22] 猜测用户所使用的正确
         口令.
             当协议中所有用户口令构成的集合服从 Zipf 定律时,可知攻击者成功的概率至多为 Pr[PwdGuess                             ]≤
           ′
          Cq ⋅  s′ send , 其中,C′和 s′是相应的 Zipf 参数.另外,如果事件 PwdGuess 不出现,注意到协议会话密钥都已经被替换
                                                                         ′
                                                                            s′
         成随机值,可知攻击者通过情形(4)成功的概率至多为 1/2.因此可得 dAv                   11 ()A ≤  C q ⋅  send . 综合上式以及式(3)~式
         (11)可得,
                                                        CPA
                Adv ake  () =  A  Adv 0 ()A  Cq s′ send  +  2(q send  + ≤  q exe ) [Adv⋅⋅ ′  PKE′ (t O+  (q send  +q exe )) ε+  SPHF  ()+k
                    , P D

                                                CMA
                          Adv CCA (t O+  (q send +q exe ))+Adv MAC -EUF  (t O+  (q send  +q exe ))] 4 Adv+  ⋅  G ddh (t O+  (q send  +q exe )).
                             PKE
                                   ′
                                     s′
             从而有 Adv  ake , PD ()A 至多比 Cq ⋅  send  大一个可忽略量,可知 I-V3PAKE 协议是语义安全的.               □
             定理 2.  若 DDH 假设成立,则 I-V3PAKE 协议相对于诚实而好奇的服务器可保证会话密钥的私密性.具体
         地说,假设 A 是安全模型中针对会话密钥私密性的攻击者,其运行时间至多为 t,发出的 Execute 和 Send 询问次
                   kp
         数至多为 q exe ,q send ,则有
                                    Adv kp , P D (A kp )≤  2 Adv⋅  G ddh (t O+  (q exe  +  q send )).
   266   267   268   269   270   271   272   273   274   275   276