其他
量子安全加密遭破解:因加密组件存在漏洞
关注我们
带你读懂网络安全
研究人员发现量子安全算法Kyber的实现版本存在KyberSlash缺陷,如遭利用可被用来恢复密钥。
前情回顾·新技术安全
KyberSlash攻击是什么?
KyberSlash缺陷攻击是基于时间的攻击。攻击者利用Kyber在解封装过程中某些除法操作的执行方式,从而分析执行时间并推导可能损害加密的密钥。如果一个实施 Kyber 的服务允许多个操作请求同一密钥对,攻击者可以测量时间差并逐渐推算出密钥。Cryspen的研究人员Goutam Tamvada、Karthikeyan Bhargavan和Franziskus Kiefer,发现了造成KyberSlash漏洞(KyberSplash1和KyberSplash2)的问题代码片段。Cryspen是一家专门提供验证工具和经数学证明的软件供应商。
修复工作正在进行
Cryspen分析人员于2023年11月底发现了KyberSlash1漏洞,并向Kyber的开发人员报告了这一问题。后者于12月1日推出了KyberSlash1的补丁。然而,这项修复并未被标记为安全问题。直到12月15日,Cryspen才采取更加公开的方式,开始逐个通知受影响的项目升级Kyber实现工具。12月30日,Prasanna Ravi和Matthias Kannwischer发现KyberSlash2漏洞,并负责任地进行了报告。随后,该漏洞得到修复。截至2024年1月2日,确定受影响的项目及修复状态如下:
pq-crystals/kyber/ref – 已全面修复
symbolicsoft/kyber-k2so – 已全面修复
aws/aws-lc/crypto/kyber主分支– 已全面修复
zig/lib/std/crypto/kyber_d00.zig – 已全面修复
liboqs/src/kem/kyber – 仅修复KyberSlash1漏洞
aws/aws-lc/crypto/kyber, fips-2022-11-02 branch – 仅修复KyberSlash1漏洞
randombit/botan – 仅修复KyberSlash1漏洞
mupq/pqm4/crypto_kem/kyber – 仅修复KyberSlash1漏洞
antontutoveanu/crystals-kyber-javascript – 未修复
Argyle-Software/kyber – 未修复
debian/src/liboqs/unstable/src/kem/kyber – 未修复
kudelskisecurity/crystals-go – 未修复
PQClean/PQClean/crypto_kem/kyber/aarch64 – 未修复
PQClean/PQClean/crypto_kem/kyber/clean – 未修复
rustpq/pqcrypto/pqcrypto-kyber(Signal 使用)– 未修复
另外,以下库不含需要输入密钥的除法操作,因此被标记为未受影响:boringssl/crypto/kyber
filippo.io/mlkem768
formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/avx2
formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/ref
pq-crystals/kyber/avx2
pqclean/crypto_kem/kyber/avx2
最坏的情况是密钥发生泄露,但这并不意味着所有使用Kyber的项目都容易泄露密钥。KyberSlash漏洞的后果取决于具体的Kyber实现工具,可能因实际用例和额外安全措施而有所不同。例如,Mullvad表示KyberSlash不会影响其VPN产品,因为他们为每个新隧道连接使用唯一密钥对。这样,攻击者无法对同一对密钥发动一系列时间攻击。外媒BleepingComputer已联系Signal,希望了解KyberSlash漏洞对其加密和用户通信的实际影响以及该项目的纠正计划,但目前尚未获得评论。参考资料:bleepingcomputer.com
推荐阅读