2015-01-10 1 views
5

Nehmen wir an, SHA1 ist in der Zukunft so weit geknackt, dass es möglich ist, bösartige Commits für eine bestimmte Commit ID zu erstellen. Haben die Git-Leute einen Contingency-Migrationsplan, um ihre Hash-Funktion zu ändern, ohne dass Clients und Repositories gleichzeitig upgraden müssen?Hat Git Plan, ihre Hash-Funktion zu ändern?

Hat die aktuelle Version von Git irgendeinen Code, um verschiedene Hash-Algorithmen intelligent zu erkennen und dem Benutzer eine gute Nachricht zu geben, wenn er sie nicht erkennt? Ist der Hash-Algorithmus irgendwo im Repo gespeichert? Fügen sie den Hashes Präfixe wie $#$ in /etc/shadow hinzu, um einen anderen Hashalgorithmus anzuzeigen?

Antwort

7

Dies kommt ziemlich häufig vor.

A recent thread zeigt, dass erst im November 2014, das ist ein etwas beteiligt Änderung:

Gibt es einen Plan für die Zukunft eine bessere Hash-Funktion ein Upgrade? (z. B. sollte es ein dringendes Bedürfnis werden.)

Was sind die Hindernisse für die Annahme einer Ersatz-Hash-Funktion? Nur dokumentieren dies würde einen langen Weg in Richtung eines Tages zu aktualisieren.

Das größte Hindernis ist die Annahme von SHA-1 überall in den Quellcode (z.B. nehmen die Objektname dauert immer 20 Byte). Brian begann mit der Reinigung, [1] aber ich denke, es ist ins Stocken geraten. Dann brauchen wir , um mit Upgrade-Pfad für SHA-1-Repos umzugehen.

Wenn und wenn die Git-Entwickler sich entschließen, von SHA-1 wegzukommen, werden sie einiges zu tun haben. Im Moment scheint es keinen klaren Plan zu geben, aber es scheint, dass es keine größeren technischen Hindernisse gibt.