Git ist eine inhaltlich adressierbare Datenbank, die Hashfunktionen als Schlüssel verwendet, um Dateiinhalte zu speichern. Seit zwei Jahrzehnten verlässt sich Git auf SHA-1, den Algorithmus, den Linus Torvalds 2005 ausgewählt hat. SHA-1 erzeugt eine 160-Bit-Ausgabe, wodurch zufällige Kollisionen mathematisch äußerst unwahrscheinlich werden — etwa 1,4 Septillion Dateien wären nötig, um eine zu erzeugen.
Dennoch haben Kryptographen Kollisionsangriffe veröffentlicht, wobei die bekanntesten SHAttered aus dem Jahr 2017 und SHA-1 is a Shambles aus dem Jahr 2020 sind. Obwohl zufällige Kollisionen praktisch unmöglich bleiben, zeigen diese Angriffe, dass vorsätzliche Kollisionen theoretisch möglich sind, wenn auch kostspielig. Als Reaktion darauf plant die bevorstehende Git 3.0-Version, den Standard-Hash-Algorithmus von SHA-1 auf den stärkeren SHA-256 umzustellen.
Dieser Übergang wird von Entwicklern erfordern, bestehende Repositorys und Tools zu aktualisieren, und stellt einen erheblichen globalen Aufwand dar für eine Änderung, die für die meisten Nutzer nur geringfügige praktische Sicherheitsvorteile bietet. Diese Migration repräsentiert ein kostspieliges globales Unterfangen mit wenig greifbarem Wert für den durchschnittlichen Entwickler.
Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing