it-swarm.com.de

Versteckte Zahlen mit MD5 sicher anzeigen

Ein System, das ich untersuche, verwendet den folgenden Mechanismus: Eine 19-stellige Ganzzahl wird über den MD5-Algorithmus gehasht, und das Salz der Ganzzahl wird dem Benutzer sichtbar angezeigt, bevor er eine irreversible Aktion ausführt, die für den Versuch relevant ist, die ersten 2 zu erraten Ziffern dieser Nummer.

Meine Intuition ist, dass dies nicht sicher ist. Mit 10 ^ 19 möglichen Ergebnissen für jede bestimmte Implementierung und einer Lebensdauer von 2 Minuten für einen einzelnen Eintrag sowie den Funktionen moderner GPUs habe ich einfach nicht das Gefühl, dies in Ordnung zu bringen.

Ich habe versucht, eine Hashcat-Maske Bruteforce mit einer etwas hochwertigen Grafikkarte von meinem PC zu verwenden, um sehr beruhigende Ergebnisse bei einer Zeitspanne von mehr als zwei Minuten zu erzielen, aber die Intuition scheint auf etwas hinzudeuten, das mir fehlt.

Bin ich

6
Ivan T.

Dieser sehr hochwertige GPU-Cracker erreicht eine Leistung von 200 GH/s:

https://Gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c4

Das sind 200 Milliarden Hashes pro Sekunde (2e11 Hashes/s). Bei einem Suchraum von 1e19 möglichen Zahlen dauert es ca. 500.000 Sekunden (ca. 1,5 Jahre), bis der Parameterraum vollständig durchsucht ist. Natürlich finden Sie im Durchschnitt in der Hälfte dieser Zeit ein Match.

Kurz gesagt, MD5 ist ein schneller Algorithmus, was normalerweise bedeutet, dass Brute Force einfach ist. In diesem Fall negiert jedoch die Größe Ihres Suchraums viel davon.

Je nachdem, was für einen erfolgreichen Benutzer passiert, ist MD5 möglicherweise immer noch nicht die beste Wahl. Ein Top-End-Hashing-Rig ist um den Faktor ~ 200.000 zu langsam. Das scheint viel zu sein, aber Sie fragen sich im Grunde: "Wie lange dauert es, bis meine Hardware 200.000x schneller ist?". Während sich das Wachstumstempo der Computerhardware verlangsamt hat, ist es nicht unrealistisch zu erwarten, dass sich diese Lücke in nur wenigen Jahren erheblich verringert.

Schließlich müssen Sie sich auch Gedanken über Schwächen im Vorbildwiderstand machen. Ich habe den Status von MD5 seit einiger Zeit nicht mehr "eingecheckt", aber zuletzt habe ich gehört, dass MD5 immer noch vor dem Bild resistent ist. Andere Aspekte der kryptografischen Sicherheit von MD5 wurden verletzt (auch bekannt als nicht mehr kollisionssicher, obwohl dies hier nicht relevant ist). Während MD5 noch vor dem Bild resistent ist, kann sich dies jeden Tag ändern. Ohne Pre-Image-Widerstand könnte ein Angreifer eine Technik entwickeln, um eine Nutzlast zu finden, die den gleichen Hash wie Ihre Nummer liefert, ohne die Nummer tatsächlich brutal erzwingen zu müssen.

Kurz gesagt, Sie sind im Moment in Sicherheit. Die Sicherheitsmarge ist vielleicht nicht so hoch. Ob Sie Maßnahmen ergreifen müssen oder nicht, hängt davon ab, was Sie auf der anderen Seite sichern.

9
Conor Mancone