Git 3.0のSHA-256デフォルト化は大きなミスか
Original : Git 3.0's upcoming SHA-256 default will be a costly mistake
Pourquoi c'est important
Gitは世界で最も広く使われるバージョン管理システムであり、その破壊的変更は数億の開発者に影響する。
Git 3.0はコンテンツハッシュのデフォルトをSHA-1からSHA-256に変更する予定だが、GitButlerの共同創業者Scott Chaconは、この変更が実質的なメリットなしに膨大なコストと混乱を世界中にもたらすと警告している。
GitButlerの共同創業者でGitの主要貢献者の一人であるScott Chaconが、Git 3.0における最大の破壊的変更の一つを厳しく批判している。
Gitはコンテンツアドレッサブルなデータベースとして機能しており、2005年の誕生以来SHA-1をハッシュ関数として使用してきた。2017年の「SHAttered」攻撃や2020年の「SHA-1 is a Shambles」など、SHA-1への衝突攻撃が発表されたことを受け、Git開発コミュニティはSHA-256への移行を決定した。
しかしChaconは「暗号学的に『壊れている』とは、偶然の衝突が不可能でなくなったという意味に過ぎない」と指摘する。実際、Gitの用途においてSHA-1衝突攻撃を実用的に悪用するには莫大なコストと特定の条件が必要であり、これまでの数十億のリポジトリにおいて偶発的な衝突は一件も確認されていない。
Chaconが最も懸念するのは移行コストだ。SHA-1とSHA-256は互換性がないため、既存の全リポジトリ、ツール、サービス、CI/CDパイプラインが影響を受ける。GitHubやGitLabなどの巨大プラットフォームも対応を迫られ、世界規模での混乱が避けられないと彼は主張している。