Das deutsche Bundesamt für Sicherheit in der Informationstechnik (BSI) empfiehlt in seiner technischen Richtlinie BSI TR-02102-1 explizit Argon2id für die Passwortspeicherung und nennt konkrete Mindestparameter — etwa eine bestimmte Speichermenge kombiniert mit mehreren Iterationen, je nach Einsatzszenario. Das ist bemerkenswert konkret für eine Behördenempfehlung und ein Grund, warum Argon2 in deutschen Unternehmen mit Compliance-Anforderungen (etwa im Finanz- oder Gesundheitssektor) oft nicht nur "eine gute Idee", sondern faktisch Pflicht ist.
Warum Speicher genauso zählt wie Zeit
Bcrypt und PBKDF2 verlangsamen ausschließlich die Rechenzeit. Argon2 zwingt zusätzlich jeden einzelnen Versuch dazu, eine konfigurierbare Menge RAM zu belegen — das nennt man eine memory-hard Funktion. Eine gemietete GPU-Farm in der Cloud parallelisiert einfache Berechnungen sehr günstig, aber den gleichzeitigen Zugriff auf viel Speicher zu parallelisieren ist ungleich teurer: Speicher ist, anders als Rechenkerne, pro Karte physisch begrenzt.
Drei Varianten: d, i, id
- Argon2d — der Speicherzugriff hängt vom Passwort selbst ab, was maximalen GPU-Schutz bietet, aber theoretisch Seitenkanalangriffe ermöglicht.
- Argon2i — der Speicherzugriff ist passwortunabhängig, was diese Lücke schließt, auf Kosten etwas geringeren GPU-Schutzes.
- Argon2id — kombiniert beide Strategien in unterschiedlichen Phasen der Berechnung. Diese Variante empfiehlt sowohl RFC 9106 als auch das BSI, und sie ist in den meisten Frameworks der Standard.
Drei unabhängige Stellschrauben
Anders als bei bcrypts einzelnem Kostenfaktor lassen sich bei Argon2 Speicher, Iterationen und Parallelität getrennt einstellen. Das ist praktisch relevant: Eine Serverless-Funktion mit begrenztem Speicher kann das durch mehr Iterationen ausgleichen, während ein dedizierter Auth-Server mit reichlich RAM den umgekehrten Weg gehen kann.
Wofür man das braucht
- Einen modernen Algorithmus für ein neues Authentifizierungssystem wählen statt MD5 oder reinem SHA-256.
- Verstehen, warum Argon2 Angriffe mit gemieteter GPU- oder Krypto-Mining-Hardware gezielt verteuert.
- Eine Migration von bcrypt oder PBKDF2 im Rahmen eines Sicherheitsaudits planen.
Die Parallelitätsfalle
Parallelität wirkt wie ein kostenloser Gewinn — mehr Threads, schnelleres Hashing auf einem Mehrkernserver. Doch ein Angreifer mit derselben Mehrkern-Hardware erhält bei jedem Versuch exakt denselben Geschwindigkeitsvorteil. Die Parallelität an die tatsächliche Kernzahl des Servers anzupassen ist sicher; sie „zur Sicherheit" höher zu setzen, schenkt dem Angreifer nur einen proportionalen Rabatt.