Git 3.0のSHA-256デフォルト化は失策か
원제: Git 3.0's upcoming SHA-256 default will be a costly mistake
왜 중요한가
Gitはほぼすべてのソフトウェア開発の基盤であり、デフォルトアルゴリズム変更は世界中の開発ツール・CI/CDパイプライン・ホスティングサービスに連鎖的な対応コストを発生させる。
GitButlerの共同創業者Scott Chaconが、Git 3.0でSHA-256をデフォルトのハッシュアルゴリズムに変更する計画について警告を発した。2017年のSHAttered攻撃などを受けた対応だが、Chaconは実際のリスクに対してコストが見合わず、世界規模の混乱を招くと主張している。
Git共同創業者の一人であるScott Chaconが自身のブログで、Git 3.0がデフォルトのハッシュアルゴリズムをSHA-1からSHA-256に切り替える計画を強く批判した。
Gitは2005年の誕生以来、コンテンツアドレス型データベースのキーとしてSHA-1を使用してきた。SHA-1の160ビット出力では、同一プロジェクト内でハッシュの偶発的衝突が起きるには約1.4セプティリオン個のファイルが必要であり、現実的には発生したことがないとChaconは指摘する。
問題の発端は2017年の「SHAttered」攻撃と2020年の「SHA-1 is a Shambles」研究で、SHA-1が理論上は意図的な衝突を生成できる「破られた」アルゴリズムとみなされるようになったことだ。ただしChaconは、「破られた」の意味を正確に理解することが重要だと強調する。これは十分な計算資源と資金があれば意図的に同じハッシュ値の異なるコンテンツを生成できるという意味であり、偶発的な衝突や実際の攻撃が容易になったわけではない。
Chaconが懸念するのは、SHA-256への移行が既存のSHA-1リポジトリとの互換性を破壊し、世界中の開発者・企業・ツールチェーンに膨大な移行コストを強いる点だ。一方で得られる実際のセキュリティ上の恩恵は限定的だと主張している。彼は「ほぼ誰も何が来るかを知らない」として、業界への警鐘として本記事を公開したと述べている。