OpenSSH開発プロジェクトは4月9日(現地時間)、SSHサーバー・クライアントソフトウェア「OpenSSH」の最新版「OpenSSH 10.0/10.0p2」をリリースしました(リリースノート)。
最新版では古くなったDSA署名アルゴリズムのサポートが廃止され、SSHプロトコルのユーザー認証フェーズが新しい「sshd-auth」バイナリへ移動されることで、セキュリティの向上が図られています。また「DisableForwarding」オプションの修正により、X11およびエージェント転送の無効化が正しく機能するようになりました。
量子コンピュータ耐性を高めるため、鍵合意に「mlkem768x25519-sha256」ハイブリッドポスト量子アルゴリズムがデフォルトで採用され、従来よりも高速かつ安全な通信が可能になっています。
その他にも、FIDO認証情報の検証ツールが試験的に追加されました。
主な変更点は以下の通りです。
* This release removes support for the weak DSA signature
algorithm, completing the deprecation process that began in
2015 (when DSA was disabled by default) and repeatedly warned
over the last 12 months.* scp(1), sftp(1): pass "ControlMaster no" to ssh when invoked by
scp & sftp. This disables implicit session creation by these
tools when ControlMaster was set to yes/auto by configuration,
which some users found surprising. This change will not prevent
scp/sftp from using an existing multiplexing session if one had
already been created. GHPR557* This release has the version number 10.0 and announces itself
as "SSH-2.0-OpenSSH_10.0". Software that naively matches
versions using patterns like "OpenSSH_1*" may be confused by
this.* sshd(8): this release removes the code responsible for the
user authentication phase of the protocol from the per-
connection sshd-session binary to a new sshd-auth binary.
Splitting this code into a separate binary ensures that the
crucial pre-authentication attack surface has an entirely
disjoint address space from the code used for the rest of the
connection. It also yields a small runtime memory saving as the
authentication code will be unloaded after the authentication
phase completes. This change should be largely invisible to
users, though some log messages may now come from "sshd-auth"
instead of "sshd-session". Downstream distributors of OpenSSH
will need to package the sshd-auth binary.* sshd(8): this release disables finite field (a.k.a modp)
Diffie-Hellman key exchange in sshd by default. Specifically,
this removes the "diffie-hellman-group*" and
"diffie-hellman-group-exchange-*" methods from the default
KEXAlgorithms list. The client is unchanged and continues to
support these methods by default. Finite field Diffie Hellman
is slow and computationally expensive for the same security
level as Elliptic Curve DH or PQ key agreement while offering
no redeeming advantages. ECDH has been specified for the SSH
protocol for 15 years and some form of ECDH has been the default
key exchange in OpenSSH for the last 14 years.* sshd(8): this release removes the implicit fallback to compiled-
in groups for Diffie-Hellman Group Exchange KEX when the moduli
file exists but does not contain moduli within the client-
requested range. The fallback behaviour remains for the case
where the moduli file does not exist at all. This allows
administrators more explicit control over which DH groups will
be selected, but can lead to connection failures if the moduli
file is edited incorrectly. bz#2793
将来登場する量子コンピュータは、現在の一般的な暗号アルゴリズム(例えばRSAやECDSA)の安全性を脅かすと予測されています。従来のコンピュータでは数千年かかるような計算を極端に短縮できる可能性があり、公開鍵暗号の安全性が崩れる恐れがあります。
これに対抗するために、OpenSSH 10.0では「mlkem768x25519-sha256」というハイブリッド型のポスト量子暗号アルゴリズムがデフォルトで採用されました。これは、量子コンピュータによる攻撃に対して耐性を持ちつつ、従来の暗号技術とも互換性のある方式として知られています。
OpenSSH開発プロジェクトは、量子コンピュータ時代に備えた暗号技術を導入することで、将来的なセキュリティリスクを軽減しようとしています。