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

4434                                                      软件学报  2025  年第  36  卷第  10  期


                 者和响应者各自拥有长期的          DH  公私钥对. 在握手过程中, 双方将各自的公钥和对方的长期私钥结合, 如果双方能
                 够计算出相同的      DH  值则可以认证对方的身份, 同时, 双方在握手中各自生成临时的                  DH  公私钥对, 并且将各自的
                 临时  DH  公钥发送给对方, 将对方的临时         DH  公钥与自己的临时       DH  私钥结合, 直观上说, 如果双方导出相同的
                 DH  值, 则可以保证协议的前向安全性.
                    通过公钥加密和密钥封装构造            AKE  与通过  DH  密钥交换构造     AKE  具有较大区别, 由于公钥加密并不具备
                 和  DH  运算类似的对称性质, 因此在身份认证和会话密钥的导出上存在较大的区别. 具体来说, 发起者和响应者各
                 自有用于认证身份的长期公私钥对. 在握手过程中, 发起者使用响应者的公钥进行加密, 并发送给响应者. 如果响
                 应者可以解密该密文, 代表响应者拥有相应的私钥, 从而向发起者认证自己的身份. 响应者使用发起者的公钥进行
                 加密, 并发送给发起者, 如果发起者可以解密该密文, 代表发起者拥有相应的私钥, 从而向响应者认证自己的身份.
                 此外发起者在握手过程中会生成临时公私钥对, 并将临时公钥发送给响应者, 响应者使用该临时公钥加密后将密
                 文发送给发起者, 如果发起者能够解密该密文可以保证了握手的前向安全性. 因此, Kyber-AKE                        将这三者各自的共
                 享密钥   (其计算过程为    KDF(pk,m), 其中  pk 为公钥,  m 为明文) 进行密钥导出     (即对共享密钥进行       KDF  运算), 作为
                 双方的会话密钥. 同时, Kyber-AKE     是一个两轮协议, 无法达到完美的前向安全性. 而本文的                 Kyber-PFS-AKE  的构
                 造中, 添加了密钥确认消息, 取消了共享密钥的导出过程, 将明文                  m 和部分公钥直接进行密钥导出, 对使用长期密
                 钥的解密运算, 通过重加密技术解决了            IND-CPA  安全的  PKE  的解密错误, 在保证完美前向安全性的同时, 使得协
                 议拥有更好的计算性能.
                    在考虑到网络延迟的情况下, Kyber-PFS-AKE         的运行时间通常会高于两轮的           Kyber-AKE. 根据文献  [12] 中的
                 研究, 广域网上的网络延迟通常要超过             20 ms, 甚至高达数百毫秒, 而后量子的公钥加密            (PKE/KEM), 以及杂凑、
                 AEAD  的运行时间通常不会超过        10 ms, 因此  3 轮的  AKE  协议在传输时间上会显著慢于两轮的          AKE. 然而, Kyber-
                 PFS-AKE  能够达到完美的前向安全性, 因此这是一个取舍的问题, 在不需要达到完美前向安全性的场景下                             Kyber-
                 AKE  具有性能上的优势, 在需要前向安全性的场合, Kyber-PFS-AKE             显然有更强的安全性质. 因此需要根据安全
                 性和性能需求选择合适的协议.
                    PQ-WireGuard [11] 可以看成  WireGuard  的后量子版本, 基于  IND-CCA  安全的  Classic McEliece 密钥封装机制
                 和  IND-CPA  安全的密钥封装机制      Saber 构造的认证密钥交换. 作者同样在         eCK-PFS-PSK  模型下给出了安全性证
                 明. 在设计上, Kyber-PFS-AKE  与之有很多相似之处. 然而, 两者在困难问题、计算效率和使用场景上差别较大. 具
                 体来说: (1) PQ-WireGuard  基于  IND-CCA  安全的  Classic McEliece 和  Saber, Classic-McEliece 是一个基于编码困
                 难问题的密钥封装机制, 该方案是否成为             NIST  标准目前仍在第     4  轮讨论中; 此外, PQ-WireGuard  选用  IND-CPA
                 版本的   Saber, Saber 已经不被  NIST  考虑成为标准. 另外, PQ-WireGuard  使用的  Saber 参数并非是   NIST  提案中的
                 参数, 而是作者自己选择的新参数           (被命名为   Dagger), 其解密错误率被升高到       2 −25 , 是否能够使用  Dagger 仍然需
                 要讨论. (2) 关于计算性能: Classic McEliece 密钥封装机制在封装运算和解封装运算中均显著慢于                   Kyber, 以  NIST
                 规定的安全级别      3  为例, Classic McEliece 的封装时间与解封装时间分别为        Kyber-768  的加解密时间的    2.5  倍和
                 6  倍, Saber 的封装时间与解封装时间与       Kyber-768  类似. 因此在计算效率方面, Kyber-PFS-AKE     显然更具有计算
                 性能上的优势. (3) 使用场景: PQ-WireGuard    是一个基于    UDP  协议的  VPN (虚拟专用网络), 双方无需传输证书, 此
                 外, PQ-WireGuard  的数据可以在一个    IP  包内传输完成而无需分片, 而        Kyber-PFS-AKE  需要  IP  分两片完成传输,
                 此时  PQ-WireGuard  比  Kyber-PFS-AKE  更有优势. 但是  Classic-McEliece 的公钥长度为  524 160  字节, 在很多需要
                 传输证书的场景中       (如: 国密  SSL  协议), 如此长的公钥传输是需要耗费相当长的时间的. 而               Kyber 公钥与密文长
                 度仅为   1 184  字节, 在这种场景下, 选择   Kyber-PFS-AKE  是更有优势的.
                    本文第   1  节介绍后量子认证密钥交换构造相关工作与研究现状. 第                  2  节介绍本文所需的基础知识. 第        3  节介
                 绍  Kyber-PFS-AKE  协议构造. 第  4  节给出协议在  eCK-PFS-PSK  模型下的安全性证明      (内容梗概, 完整证明发布在
                 公开平台   CSDN  上: https://blog.csdn.net/weixin_38238086). 第  5  节通过对比实验验证我们的协议对比  Kyber-AKE
                 有更高的效率. 最后总结全文. 在完整的安全性证明中, 我们给出协议在                     eCK-PFS-PSK  模型下的完整安全性证明,
                 包括完整的安全模型、敌手能力、证明过程等.
   32   33   34   35   36   37   38   39   40   41   42