Page 42 - 《软件学报》2025年第10期
P. 42

米瑞琪 等: 基于   Kyber 公钥加密的高效认证密钥交换协议                                               4439


                    上述  cookie 方案使用在   DTLS [19] 和  IKEv2 [20] 中. 但该  cookie 机制存在  3  个主要缺点. 首先, 为了尽可能避免暴
                 露服务器, 原则上, 不应当给任何不能确认身份的包回应任何消息. 在服务器高负载的情况下, 如果给收到的每个
                 消息都发送    cookie 回复会破坏这个特性. 第      2  个问题是, cookie 不应以明文发送, 因为中间人可能会利用它发送伪
                 造的信息, 引导消息的发送者和中间人握手. 第              3  个问题是, 攻击者可以给发起者发送大量的虚假              cookie, 随后发
                 起者会使用这些虚假的        cookie 计算消息的   MAC, 这样计算出来的      MAC  值是无效的, 但是会大量消耗发起者的计
                 算资源.
                    为解决这个问题, 我们采用了双           MAC  机制  [15]  (以下用  msg.mac 1 和  msg.mac 2 指代) 解决了上述  3  个问题. 针
                 对第  1  个问题, 无论是否处于高负载状态下, 发送的每一条消息都必须包含一个                     MAC  值, 记作  msg.mac 1 . 发起者
                 使用响应者的公钥作为计算           msg.mac 1 的密钥, 这意味着发起者至少能够确定响应者的身份. 只有发送有效的
                 msg.mac 1 才能引发响应者的     cookie 响应. 尽管响应者的公钥并非保密的值, 但是在保证服务的隐秘性的要求下,
                 能够算出正确的      msg.mac 1 的响应者的公钥能够证明消息的发起方知道响应者的存在. 从而可以保证握手确实在
                 发起者和响应者之间进行.
                    为了解决第     2  个问题, 可以使用    AEAD  加密  cookie. AEAD  的加密密钥为响应者的公钥. 在拒绝服务攻击模
                 型中, 这些大多是公开的值已经足够满足我们的目的. 如果存在中间人利用该                         cookie 进行欺诈, 如果接收者身份
                 (公钥) 不正确则无法对      cookie 解密, 从而可以识别出恶意发送的        cookie. 当响应者负载过高时, 只接受包含        msg.mac 2
                 的消息. msg.mac 2 的运算使用安全传输的 cookie 作为      MAC  的密钥. 总的来说, 响应者在计算        msg.mac 1 与  msg.mac 2
                 并将其与消息中接收到的 MAC 进行比较后, 必须拒绝带有无效                   msg.mac 1 的消息, 并且在负载过高时也可能会拒
                 绝带有无效 msg.mac 2 的消息. 如果响应者收到一个带有有效 msg.mac 1 但无效             msg.mac 2 的消息, 并且处于负载状
                 态, 它可以回应一个包含       cookie 的回复消息.
                    最后, 为了解决第      3  个问题, 即攻击者可能给发起者发送大量的虚假              cookie, 欺骗发起者会使用这些虚假的
                 cookie 计算消息的   MAC, 这样计算出来的      MAC  值是无效的, 攻击者可能通过这种方式对发起者进行                DDoS  攻击.
                 为了解决这个问题, WireGuard     采用的解决方案是使用        AEAD  加密  cookie 的时候, 将  AEAD  的“附加数据”字段设
                 定为  msg.mac 1 . cookie 回复消息中  cookie 对初始消息的第  1  个 MAC (msg.mac 1 ) 进行额外认证. 如果攻击者没有站
                 在中间人位置, 由于      cookie 的计算中, 使用  AEAD  的关联数据部分绑定了初始消息, 攻击者无法向发起者发送大
                 量无效的   cookie 回复消息阻止发起者使用正确的 cookie 进行认证. 对于处于中间人位置的攻击者                     (可以任意改变
                 或阻止消息传输), 阻止      cookie 的方法是直接去掉      cookie 回应从而阻止发起者和响应者之间建立连接. 此外, 在
                 msg.mac 1 和  msg.mac 2 的运算中, 可以不包含对消息中密文的      MAC  运算. 发起者给响应者发送的消息中, 包含使用
                 响应者公钥计算的密文        ct 1 , 响应者给发起者发送的消息中, 包含使用发起者临时公钥计算密文                   ct 2  和发起者公钥
                        ct 3 . 计算上千字节的杂凑值本身是个非常耗时的行为, 计算密文的杂凑值耗时几乎占据计算整个握手消
                 计算密文
                 息的一半. 因此, 这种做法可以极大地提升            Kyber-PFS-AKE  的计算性能. 这种做法不会影响会话密钥的安全性, 这
                 是因为在   Kyber-PFS-AKE  的协议设计中包含对密文的解密和重加密校验. 重加密校验会检出无效的密文, 并拒绝
                 无效的   zero  值, 因此无效密文会被拒绝. 验证        MAC  的过程可以和重加密校验并行完成, 消息中其他内容                  (如:
                 time,ltk) 长度均非常短  (32  字节), 对其进行  MAC  计算耗时很短.

                  4   算法安全性分析

                    本节给出    Kyber-PFS-AKE  协议在  eCK-PFS-PSK  模型下的安全性证明概述. 我们参照在          eCK-PFS-PSK  模型
                 下的  AKE  的证明, 基于游戏跳跃      (game hop) 给出了  Kyber-PFS-AKE  的安全性证明. 因篇幅有限, 证明过程中, 情
                 况  (case) 和游戏  (game) 的详细内容可以查阅本文的电子附件         https://blog.csdn.net/weixin_38238086.
                                                                                            s
                    Kyber-PFS-AKE  的证明将证明分为     3  种情况讨论, 假设敌手选中用于测试随机性的会话为                π , 敌手需要判断
                                                                                            i
                                                            s
                                                                             s
                                                           π , 3            π  会话是否具有匹配的会话.
                 挑战者返回给他的比特串是均匀随机选取的, 还是会话                  i  种情况的区分是       i
                    1) 情况  1:  π  为发起者的会话, 不存在与之匹配的会话         (意味着敌手在另一端欺骗发起者完成会话并协商出会
                             s
                             i
   37   38   39   40   41   42   43   44   45   46   47