さらにSHA-1の脆弱性の報告
暗号など、サイバーセキュリティの大家であるブルース・シュナイアー氏のブログによれば、さらにまたSHA-1の脆弱性が発見されたようです。すでに2015年には大きな脆弱性(The SHAppening)が発見され、もはやSHA-1の信用性は地に落ちておりますが、使用頻度が減っているとはいえ、まだまだ使われているところもあります。一応、さらなる注意が必要です。
その記事はコチラ。
https://www.schneier.com/blog/archives/2020/01/new_sha-1_attac.html
ほぼママですが、以下意訳してみました。
ブルース・シュナイアー氏のブログ記事(翻訳)
新しいSHA-1攻撃
SHA-1への新しい実践的な衝突攻撃:
この論文では、この攻撃の最初の実用的な実装と、PGP/GnuPGのなりすまし攻撃による実際のセキュリティへの影響を報告しています。SHA-1に対する衝突攻撃の複雑さを大幅に減らすことができました。それはNvidia GTX 970で、同一プレフィックスの衝突は264.7よりも261.2の複雑さで、選択されたプレフィックスの衝突は267.1よりも263.4の複雑さで計算できます。 安価なGPUをレンタルする場合、学術研究者のできる範囲内で、この衝突にかかる計算コストは1万1,000米ドルになり、選択したプレフィックスの衝突の場合は4万5,000米ドルになります。実際の攻撃には、900個のNvidia GTX 1060のGPUを使用して2ヶ月の計算が必要です( GPUの価格が高かったため、7万5,000米ドルを支払い、攻撃の準備に時間を浪費しました)。
SHA-1に対する選択されたプレフィックスの衝突攻撃のデモンストレーションとして、PGP/GnuPGの信用の輪(Web of Trust)を選択しました。信用の輪(Web of Trust)は、セントラルPKIを使用する代わりに、ユーザーが互いのID証明書に署名することに依存するPGPに使用される信頼されるモデルです。互換性の理由から、GnuPG(バージョン1.4)のレガシーブランチは、ID認証にデフォルトでSHA-1を使用します。
SHA-1選択プレフィックスの衝突を使用して、異なるユーザーIDと衝突する証明書を持つ2つのPGPキーを作成しました。鍵B(Web of Trustによって署名される)はボブにとっての正当な鍵ですが、署名はAの鍵、アリスのIDを持つ偽造された鍵へ転送できます。衝突のため、署名は引き続き有効ですが、アリスの名前付き鍵Aをボブはコントロールでき、3rdパーティーによって署名されます。したがって、彼はアリスになりすまし、彼女の名前で任意の文書に署名することができます。
この新しい記事によれば:
その新しい攻撃は重要な意味を持ちます。SHA1は過去5年間で徐々に段階的に廃止されてきましたが、完全に非推奨となるにはほど遠いままです。それはまだGnuPGのレガシー1.4バージョンブランチによるPGP鍵での認証するためのデフォルトのハッシュ関数です。それは、電子メールとファイルを暗号化するためのPGPアプリケーションのオープンソースの後継です。これらのSHA1によって生成された署名は、最近までGnuPGの最新のブランチによって採用されおり、その新しい衝突について個人的に結果を報告した研究者たちは後にすぐ却下されました。
Gitは、多くの人々の間でソフトウェア開発を管理するために世界で最も広く使用されているシステムですが、データの整合性を確保するためにまだSHA1に依存しています。そしてまた、HTTPS暗号化に依存する多くの非Webアプリケーションでは、SHA1証明書を引き続き頼っています。SHA1は、トランスポート層セキュリティおよびセキュアシェルプロトコルのプロトコル内署名に対しても引き続き使用を許されています。
(引用、翻訳ここまで)
もはやSHA-1の信用性はない
すでにSHA-1にはいくつもの致命的な脆弱性が発見され、Googleも2017年、具体的な衝突例を公開しています。2015年からサーバ証明書にSHA-1が使われているサイトに関しては警告を出すようにGoogle Chromeでの改良も進んでいます(他のモダンブラウザでも現在はほぼすべてが対応済みです)。
現在のサーバ証明書も、ほとんどはSHA-2使用への移行が進んでおり、ウェブサイト証明書はもちろんのこと、非Webアプリケーションにおいての使用も廃止する方向でしょう。
ちなみに、SHA-2とは、SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256の6つのバリエーションを持っていて、SHA-1の上位互換的な位置付けのものです。仕様的には、「SHA-1」の改良版アルゴリズムといったところです。
実は2015年にアメリカ国立標準技術研究所(NIST)が、SHA-1への攻撃に対応するために、新しいハッシュ関数を公募して、SHA-3というSHA-2シリーズとはまったくちがう仕様のアルゴリズムを選出しましたが、2017年時点ではSHA-2に対する致命的、有効的な攻撃方法が見つかっていなかったため、SHA-3の採用はあまり進んでいません。
したがって現状、SHA-2への移行が現実的でしょう。