5万ドルの余裕がある?それならSHA-1を解読できる。OpenSSHは「近い将来のリリース」で欠陥のあるハッシュアルゴリズムを廃止する予定だ。

Table of Contents

5万ドルの余裕がある?それならSHA-1を解読できる。OpenSSHは「近い将来のリリース」で欠陥のあるハッシュアルゴリズムを廃止する予定だ。

更新:ネットワーク経由でサーバーやデバイスに安全に接続するために広く使用されているツールキット OpenSSH のメンテナーは、SHA-1 アルゴリズムが「近い将来のリリース」で無効にされることを警告しました。

SHAはセキュアハッシュアルゴリズム(Secure Hash Algorithm)の略です。SHA-1の実装は2005年から脆弱性があることが知られていますが、解読には依然としてかなりの計算量が必要です。その後、より強力な攻撃が開発され、計算リソースも安価になったため、脆弱性は徐々に増大しています。

OpenSSH の決定は、Gaëtan Leurent 氏と Thomas Peyrin 氏による最近の論文 [PDF]「SHA-1 は大混乱」を参照しており、この論文では、「選択されたプレフィックスの衝突」が 45,000 ドルで実現可能であることが示されています。これは、通常の費用を超えていますが、「学術研究者の予算の範囲内」です。

選択プレフィックス衝突とは、ファイルや転送中の情報など、データに手を加え、以前のバージョンと改ざん後のバージョンが同じSHA-1ハッシュ値を持つようにすることが可能になることを意味します。そのため、SHA-1ハッシュによるデータ整合性の検証に依存するセキュリティチェックは、欺瞞される可能性があります。

「SHA-1アルゴリズムに対する選択プレフィックス攻撃が、5万ドル未満で実行可能になりました。そのため、近い将来のリリースでは、『ssh-rsa』公開鍵署名アルゴリズムをデフォルトで無効化する予定です」と、OpenSSHのメンテナーであるダミアン・ミラー氏はOpenSSH 8.3のリリースノートで述べており、2月の8.2リリースノートでも同様なコメントを残しています。

ハッシュタグに腹を立てている人

ハッシュの問題:セキュリティ専門家がSHA-1標準を非難、チップコスト約4万5千ドルを理由に重大な衝突を確認

続きを読む

OpenSSH チームは、ユーザーと管理者に、SHA-2 (4 年前の OpenSSH 7.2 からサポートされています)、またはさらに古い ssh-ed25519、あるいは 2009 年に提案された ECDSA (楕円曲線デジタル署名アルゴリズム) などの、より安全な代替ハッシュ アルゴリズムの使用を推奨しています。もう 1 つの提案は、OpenSSH クライアントの UpdateHostKeys 設定を使用することです。この設定は、サーバーを識別するキーと使用されるアルゴリズムに関するクライアントの知識を自動的に更新します。これは、2015 年に Miller がここで説明しています。

これらの発言は、鍵の再生成が必要かどうか、ハードウェアトークンや古いファームウェアを搭載したネットワークデバイスの場合はどうなるかといった点に関して、混乱を招いています。鍵とハッシュアルゴリズムを区別することが重要です。

「OpenSSHの勧告は非常に分かりにくい表現になっていますが、仕組みとしてはssh-rsaの*鍵*はssh-rsaの*アルゴリズム*とrsa-sha2-256の*アルゴリズム*の両方で使用できます。両方が後者をサポートしている場合、SHA-1は使用されません」と、セキュリティコンサルタントのヘクター・マーティン氏はTwitterで述べています。

OpenSSHにおけるSHA-1のサポート削除は、依然として大きな意味を持つでしょう。「残念ながら、このアルゴリズムはより優れた代替手段が存在するにもかかわらず、依然として広く使用されています」とミラー氏は述べており、実際にサポートを削除することが、その使用を防ぐ唯一の方法であるように思われます。

基本的に、デバイスまたはクライアントが OpenSSH でもサポートされている SHA-1 よりも優れたものをサポートできる場合は、すべて問題ありません。SHA-1 にハードワイヤードされている場合は、アルゴリズムをサポートしなくなった OpenSSH サーバーに接続するためのアクションが必要です。

英国サリー大学のサイバーセキュリティ教授アラン・ウッドワード氏は、The Register紙に対し「SHA-1はもはや安全ではないが、実はまだ解読が非常に難しい」と語った。これは事実だが、10年以上も欠陥があることが知られていたにもかかわらず、いまだに広く使用されているという事実は、業界の動きがいかに遅いかを示している。

SHA-1 をクラッキングするコストは今後も下がり続けるため、今こそ SHA-1 の使用をやめるべき時です。®

追加更新

SHA-1 サポートを削除した場合の影響について、Miller 氏に説明を求めました。

「更新された署名アルゴリズムで使用するために、ssh-rsaキーを再生成する必要はありません」と彼は述べた。「具体的には、既存のssh-rsaキーはrsa-sha2-256またはrsa-sha2-512アルゴリズムでも完全に使用できます。」

SHA-1 を使用する古いデバイスについてはどうでしょうか?「現在検討しているのは、デフォルトで有効化されているアルゴリズムのセットを変更することであり、ssh-rsa のサポートを完全に削除することではありません(少なくとも現時点では)。そのため、完全に使用できなくなるデバイスはなく、最悪の場合でも追加のコマンドライン引数や数行の設定が必要になる程度です。openssh.com/legacy.html にいくつか例があります。」

RFC8332 RSA/SHA-2署名方式をサポートしておらず、その他のより現代的な鍵タイプもサポートしていないデバイスでは、この追加手順が必要になります。そうしないと、SSHは接続を拒否します。私が言及したこれらの現代的な鍵タイプには、10年以上前に公開されたRFC5656で定義されたECDSA鍵が含まれます。ユーザーのデバイスがこれよりも新しい場合、ベンダーに対し、なぜ製品に現代的な暗号化技術を搭載していないのかを尋ねるのは当然のことだと思います。

Discover More