Git 3.0 et SHA-256 : un changement coûteux

Original : Git 3.0's upcoming SHA-256 default will be a costly mistake

Pourquoi c'est important

La migration forcée vers SHA-256 impactera l'ensemble de l'écosystème Git mondial.

Scott Chacon, co-fondateur de GitButler, critique le passage de SHA-1 à SHA-256 comme algorithme de hachage par défaut dans Git 3.0, estimant que ce changement sera coûteux et sans bénéfice pratique réel.

Git utilise depuis 2005 SHA-1 comme algorithme de hachage pour sa base de données clé-valeur. Chaque fichier, arbre ou commit reçoit un identifiant unique basé sur son contenu — garantissant l'intégrité cryptographique de l'ensemble de l'historique d'un dépôt. Le problème : SHA-1 est aujourd'hui considéré comme « cassé » sur le plan théorique. Les attaques SHAttered (2017) et SHA-1 is a Shambles (2020) ont démontré que des collisions intentionnelles sont possibles avec suffisamment de ressources computationnelles, même si aucune exploitation pratique n'a jamais été démontrée dans un vrai dépôt Git.

En réponse, Git 3.0 prévoit de remplacer SHA-1 par SHA-256 comme algorithme par défaut. Chacon juge cette décision démesurée. Il rappelle que SHA-1 n'a produit aucune collision accidentelle en 20 ans, sur des milliards et milliards d'objets Git dans tous les dépôts du monde. La probabilité d'une collision non intentionnelle reste astronomiquement faible. Quant aux collisions volontaires, elles nécessitent des ressources considérables pour un gain très limité dans un contexte Git.

Le vrai problème, selon Chacon, c'est le coût de la migration : des millions de dépôts, d'outils, de services et d'intégrations devront être mis à jour ou refactorisés, pour un bénéfice de sécurité qu'il juge quasiment nul en pratique.

Source

blog.gitbutler.com — Lire l'original →