
GitHub推出了一种后量子安全密钥交换混合算法,用于通过 SSH 访问 Git。新算法名为 sntrup761x25519-sha512(又名 sntrup761x25519-sha512@openssh.com),融合了精简版NTRU Prime(一种后量子加密方案)和经典曲线算法X25519。这一调整旨在防范未来量子计算机破译当前记录的 SSH 会话,从而保障 Git 数据安全。
本次更新会影响通过 SSH 端点连接的 Git 数据(不包括 HTTPS),并于 2025 年 9 月 17 日起在GitHub.com及非美国地区的 GitHub Enterprise Cloud 区域逐步推送。美国区域初期暂不包含在内,因该区域适用更严格的FIPS加密标准,而新算法尚未获得 FIPS 认证。GitHub Enterprise Server 3.19 版本也将包含新的后量子加密选项。
后量子加密(PQC)指的是一类旨在抵御量子计算机攻击的新加密算法。如今广泛使用的公钥算法,如RSA和椭圆曲线加密(ECC),依赖于整数分解和离散对数等数学问题。足够强大的量子计算机使用像Shor’s这样的算法能很高效地解决它们。如果量子计算机达到实用规模,这些方案可能在几秒钟内被破解,安全通信的机密性和完整性受到威胁。
为应对这一风险,以美国国家标准与技术研究院(NIST)后量子密码标准化项目为代表的研究机构正致力于开发基于不同数学基础(如格问题、基于代码的密码学、多变量方程)的量子抗性算法。其中许多算法正被集成到实际的系统中,通常采用结合经典算法与后量子算法的混合模式,既能保障当前的互操作性,又能确保未来的安全性。包括 GitHub SSH 新方案在内的后量子加密技术的采用,标志着基础设施在抵御未来量子威胁方面迈出了关键的一步,同时保持了向后兼容性。
从用户的角度来看,大多数工作流都几乎没有什么变化。如果你的 SSH 客户端支持新算法,例如OpenSSH 9.0或更新的版本,而且你的配置没有覆盖默认设置,那么它将自动协商并默认优先选择新算法。不支持新算法的客户端将继续使用经典密钥交换算法而不受影响。GitHub 还提供了像 ssh -Q kex 这样的命令来列出支持的密钥交换算法,以及 ssh -v git@github.com exit | grep 'kex: algorithm:'命令用于查看连接期间选择的算法。
这一举措的动机是为了应对“现在存储、以后解密”的威胁——攻击者可能会收集当前加密的 SSH 流量,并在未来量子计算机变得足够强大后再解密。通过使用结合经典安全算法和后量子加密算法的混合方案,GitHub 希望可以确保,当量子计算使得当前算法变得脆弱时仍然能够保护 SSH 流量的安全。
GitHub 同时指出,尽管新算法比较新颖,实际应用场景还比较少,但其设计可以确保其安全性绝不逊于现有的经典密钥交换方法。展望未来,GitHub 计划密切关注后量子加密算法的发展,并扩大对其他量子安全密钥交换算法的支持,特别是那些符合 FIPS 要求的算法。
OpenSSH已经在向量子加密(PQC)算法迈进。自 9.0 版本(2022 年 4 月发布)以来,OpenSSH 就包含了 sntrup761x25519-sha512 算法用于密钥协商(混合了经典算法和 PQC)。最近,OpenSSH 9.9 增加了 mlkem768x25519-sha256,到 10.0 版本时,这已经成为密钥交换的默认方案。此举与 GitHub 提供后量子 SSH 密钥交换混合算法的举措如出一辙。
类似地,SSH.com 的Tectia Quantum-Safe Edition通过结合经典加密和Crystals/Kyber、FrodoKem及NTRU等后量子算法,提供混合的、量子安全的 SSH 实现。它还兼容 FIPS 模式和经典 SSH 客户端/服务器模式。在提供前瞻性的后量子加密保护与兼容现有系统方面,他们的方法是类似的。
TinySSH(一款精简版 SSH 服务器)也已率先向混合 PQC 密钥交换领域迈开了步伐。它支持将 NTRU Prime 与ED25519曲线运算相结合的配置方案,在 SSH 密钥协商过程中增加了量子前向保密特性。尽管 TinySSH 的实现方案仍处于实验阶段,但作为一个例子,它可以说明专注的小型 SSH 工具同样有采用混合后量子密钥交换模型的趋势。
声明:本文为 InfoQ 翻译,未经许可禁止转载。
原文链接:https://www.infoq.com/news/2025/10/github-post-quantun-ssh-key/亅
评论