使用神经网络,NIST抗量子算法第四次被破解
光子盒研究院出品
近日,瑞典皇家理工学院研究团队发表论文,称其提出一种新的神经网络训练方法“递归学习”(Recursive Learning),并通过周期性循环旋转信息,实现了对美国国家技术标准研究院(NIST)四种抗量子密码安全算法之一Crystals - Kyber最高5阶掩码的侧信道攻击,以高于99%的概率从中恢复了信息位(message bit)。
随着量子计算机的不断发展,其展现出的算力潜力对当前经典密码体系下的信息安全已经造成巨大威胁。为了抵御未来量子计算机对信息安全领域的冲击,全球密切开展保护数据和加密通信的研究,并从技术来讲总体分为两个方向——基于量子物理原理的量子密钥分发(Quantum Key Distribution,QKD)以及基于经典数学算法的抗量子密码学(Post-Quantum Cryptography,PQC)。
与QKD不同,PQC关注的是可在经典计算机上运行且量子计算机也无法破解的算法。2016年4月,NIST发布抗量子密码报告,宣布启动PQC标准制定项目。2022年7月,NIST完成了第三轮标准化评估,确定了四种标准化候选算法,其中主要的两种为Crystals - Kyber:用于通用加密,保护公共网络交换的信息,和Crystals - Dilithium:用于数字签名,身份认证。
Crystals - Kyber已被NIST选为待标准化的公钥加密和密钥封装机制,同时也被纳入美国国家安全局(NSA)推荐用于国家安全系统的密码算法套件,这使得评估Crystals - Kyber对侧信道攻击的抵抗能力变得非常重要:侧信道攻击利用从物理可测量的非主信道获得的信息,例如运行实现的设备的时序或功耗。
1)递归学习神经网络
瑞典皇家科学院的研究团队开创性的提出一种使用递归学习的神经网络训练方法(Recursive Learning),他们从人工构建神经网络开始训练,这一网络的权重是由可破解低阶的神经网络复制而来。其核心思想是将能破解低阶(ω-1)掩码的神经网络模型作为破解高阶(ω)掩码神经网络模型的基础,然后循环前进至更高阶。
研究团队调用一个批量归一化层级,首先对输入值使用各自的均值μ和方差σ进行标准化,
ω阶神经网络批量归一化层级输入值基于ω-1阶神经网络批量归一化层级数值权重构造如下图:
在不使用递归学习训练方法的情况下,对于5阶及以上掩码很难破解。
2)周期循环信息恢复
研究人员还发现破解掩码过程中信息位(message bit)的泄漏是非均匀的——每个信息位的第一个比特泄漏比最后一个强得多。例如,对于一阶掩码的破解,恢复比特0和比特7的平均成功概率相差9 %。为了解决这个问题,他们采用循环旋转信息恢复的方法,将泄漏量较小的信息比特移到泄漏量较大的位置。
对于每组测试信息,他们使用两位循环,对每个字节比特2i和2i+1分别用
研究团队还表示,该方法对Crystals - Kyberr不具有特异性,可以应用于其他LWE / LWR PKE / KEM方案。递归学习技术可能具有超越侧信道攻击的意义。
Crystals - Kyber被破解并不是一件坏事,现阶段,众多网络安全公司进军PQC项目研究,但PQC目前还不具备商业化条件,经典密码向抗量子密码过渡仍存在大量挑战。
并且这已经不是NIST抗量子安全算法第一次被破解,2022年7月,SIKE在被NIST评为抗量子安全算法第四轮候选算法之一一个月内,就被破解了两次。SIKE的主要提出者David Jao表示:“对SIKE的攻击是一个积极信号,表明外界正认真研究这一挑战,并有助于我们将其修复。”
在论文的最后,瑞典皇家理工学院研究团队也表示他们将研究抵御这种递归学习神经网络与循环信息方法的侧信道攻击的对策。