コンテンツにスキップ
老齢
他の開発者に大きく遅れをとりましたが、SSH 開発者はついに古いハッシュ関数を廃止しました。
数百万台のコンピュータが相互に暗号化された接続を確立するために使用するプロトコルである Secure Shell 用の 2 つのオープンソース コード ライブラリの開発者は、研究者らがその棺に最後の釘を打ち付けてから 4 か月後に、SHA-1 ハッシュ アルゴリズムを廃止する予定です。
OpenSSHのリリースノートとlibsshのコードアップデートでそれぞれ発表されたこれらの変更は、SHA-1が、SSH(Secure Shellの略語)で接続された2台のコンピュータ間でやり取りされるデータの監視や改ざんを防ぐ暗号鍵のデジタル署名手段として使用されなくなることを意味します。(水曜日に発表されたOpenSSHにおけるSHA-1の廃止に関するリリースノートは、開発者が2月のリリースノートに記載した内容を一字一句そのまま繰り返したものでしたが、これまでこの計画された変更に気づいた人はほとんどいなかったようです。)
「保育園のチェーンソー」
暗号ハッシュ関数は、ハッシュダイジェストと呼ばれる長い文字列を生成します。理論的には、このダイジェストは、関数に入力されるファイル、メッセージ、その他の入力ごとに一意である必要があります。実際には、利用可能なコンピューティングリソースの性能を考慮すると、ダイジェストの衝突は数学的に不可能である必要があります。近年、研究者らが攻撃者がSHA-1を使用したデジタル署名を偽造する実用的な方法を実証したことを受けて、多くのソフトウェアやサービスがSHA-1の使用を中止しました。専門家の間では、ほぼすべてのセキュリティコンテキストにおいてSHA-1はもはや安全ではないという点で一致しています。
セキュリティ研究者のケン・ホワイト氏は、1995年に登場したこのハッシュ関数について「保育園のチェーンソーのようなものだ」と語った。
約10年前、研究者たちはSHA-1が衝突(2つ以上の入力から同じダイジェストが出力されることを指す暗号用語)に対してますます脆弱になっていると警告し始めました。当時、国家支援を受けたハッカーが、同じく脆弱なMD5アルゴリズムの衝突を利用してMicrosoftのWindows Updateシステムを乗っ取ったことで、世界は既にこうした攻撃がどれほどの被害をもたらすかを目の当たりにしていました。
SHA-1ではこの種の衝突攻撃の要件はより厳しかったものの、それが現実のものとなるのは時間の問題でした。2017年、SHA-1は、わずか11万ドルで作成できる、それほど強力ではない衝突攻撃に屈しました。この研究の前後数ヶ月で、多くのブラウザ、ブラウザが信頼する証明機関、そしてソフトウェア更新システムがすべてこのアルゴリズムを廃止しました。しかし、その他のサービスやソフトウェア製品はSHA-1を使い続けました。
選ばれた少数
SHA-1の終焉は1月に鳴り響きました。研究者らが、わずか4万5000ドルというコストで実現可能な、さらに強力な衝突攻撃を公表したのです。これは「選択プレフィックス衝突」と呼ばれ、攻撃者が任意の標的になりすますことを可能にしました。Microsoftのインフラに対するMD5攻撃のケースもその一例です。
このような背景から、OpenSSH 開発者は水曜日に公開されたリリースノートに次のように記しました。
SHA-1アルゴリズムに対する選択プレフィックス攻撃が、5万ドル未満で実行可能になりました。そのため、近い将来のリリースでは、「ssh-rsa」公開鍵署名アルゴリズムをデフォルトで無効化する予定です。
残念ながら、このアルゴリズムは、より優れた代替手段が存在するにもかかわらず、元の SSH RFC で指定された唯一の公開鍵署名アルゴリズムであるため、依然として広く使用されています。
何百万もの組織が企業ネットワーク、AmazonやAzureのクラウドサービス、そしてインターネット上のあらゆるコンピュータへの接続にSSHに依存していることを考えると、今回の廃止はあまりにも遅すぎたと言えるでしょう。さらに事態を複雑にしているのは、ネットワークスイッチや、ATMや産業用制御システムを動かす低価格の組み込み機器でSSHが使用されていることです。組み込みシステムは遠隔地に設置されているため、何か問題が発生した場合のトラブルシューティングが困難で、アップデートが提供されないことがよくあります。
1月の論文の共著者の一人であり、フランスのINRIA研究者であるガエタン・ルラン氏は、電子メールの中で、OpenSSH開発者がこれらの廃止措置をすぐに実装するとは予想していないと述べた。彼は次のように書いている。
SHA-1が完全に無効化されると、最新のOpenSSHから古いSSHサーバーを搭載したデバイスへの接続は不可能になりますが、それまでに段階的な対策(大きな警告を発しながら)が取られる可能性が高いでしょう。また、長年更新されていないSSHアクセスを持つ組み込みシステムには多くのセキュリティ上の問題がある可能性が高いため、それらを妨害するのも悪くないかもしれません…
いずれにせよ、私はこの移転に非常に満足しています。これはまさに私たちが実現したかったことです :-)
OpenSSHとlibsshがついに廃止計画を発表したことで、SHA-1を使わないリストは短くなりましたが、完全になくなったわけではありません。エージング機能は、多くのウェブサイトやインターネットサービスがHTTPSなどの暗号化プロトコルを実装するために使用しているコードライブラリであるOpenSSLの最新バージョンではまだサポートされています。今月初めにリリースされたGNUコンパイラコレクションの最新バージョンは、SHA-1でデジタル署名されています。
ルレント氏は、決済カードのEMV規格でもSHA-1が使用されているが、この規格は「選択されたプレフィックスの衝突の影響を直接受けないような、奇妙な署名システム」を採用していると述べた。GitもSHA-1をサポートしているが、これはデータの整合性のみを目的としており、ほとんどの専門家はセキュリティ上の脅威にはならないと述べている。

ダン・グッドインはArs Technicaのシニアセキュリティエディターとして、マルウェア、コンピュータースパイ、ボットネット、ハードウェアハッキング、暗号化、パスワードなどの記事を担当しています。余暇にはガーデニング、料理、インディーズ音楽シーンの追及を楽しんでいます。サンフランシスコを拠点としています。MastodonのこちらとBlueskyのこちらでフォローしてください。SignalのDanArs.82までご連絡ください。
60件のコメント