Lernen · 7 Min. Lesezeit
Argon2id vs. PBKDF2: Welche Schlüsselableitungsfunktion solltest du verwenden?
Beide strecken ein Passwort zu einem Verschlüsselungsschlüssel, kosten Angreifer aber sehr unterschiedliche Beträge. Argon2id ist der moderne Standard; PBKDF2 ist der kompatible Fallback.
Wenn du etwas mit einer Passphrase verschlüsselst, ist die Passphrase selbst zu kurz und zu vorhersehbar, um direkt als AES-Schlüssel verwendet zu werden. Eine Schlüsselableitungsfunktion (KDF) nimmt die Passphrase und streckt sie — führt Tausende oder Millionen kleiner Operationen durch, um sie in einen 256-Bit-Schlüssel umzuwandeln, während Brute-Force für einen Angreifer teuer gemacht wird.
PBKDF2 — der bewährte Standard
PBKDF2 (Password-Based Key Derivation Function 2) wurde im Jahr 2000 standardisiert und ist immer noch überall — TLS, FileVault, OpenPGP, die Festplattenverschlüsselung deines Smartphones. Es iteriert HMAC-SHA-256 eine konfigurierbare Anzahl von Malen. Mehr Iterationen bedeutet langsamere Ableitung, was mehr Kosten für einen Angreifer bedeutet, der jede Vermutung testet.
PBKDF2 hat eine große Schwäche: Es ist auf spezialisierter Hardware günstig. Eine GPU oder ein ASIC kann Tausende von PBKDF2-Iterationen parallel für die Kosten von einer auf einer CPU durchführen. Ein Angreifer mit einer kleinen GPU-Farm kann also Größenordnungen schneller durch Vermutungen mahlen, als der legitime Benutzer eine einzige verifizieren kann.
Argon2id — der moderne Standard
Argon2 gewann 2015 den Password Hashing Competition mit einer bewussten Designentscheidung: speicherintensiv zu sein. Jede Iteration erfordert einen großen RAM-Block, und parallele Angreifer können keine Speicher über Vermutungen hinweg teilen. Eine GPU mit 4 GB Speicher kann also 4 Angriffe gleichzeitig statt 4000 ausführen — das Kostenverhältnis verschiebt sich zurück zugunsten des Verteidigers.
Argon2id ist die empfohlene Variante — sie kombiniert Argon2i (datenunabhängig, resistent gegen Seitenkanalangriffe) und Argon2d (datenabhängig, schneller) für das Beste beider Welten. Es ist der Standard in libsodium, Bitwarden, 1Password und dem OpenPGP-Standard ab 2024.
Wann was verwenden
- Verwende Argon2id für jede neue Verschlüsselung. Die Bibliothekskosten sind gering (~250 KB WASM) und der Sicherheitsgewinn ist real.
- Verwende PBKDF2, wenn du maximale Kompatibilität benötigst — ältere PGP-Clients, Archivierungswerkzeuge, eingebettete Geräte.
- Diese App verwendet Argon2id für neue symmetrische Verschlüsselungen und fällt auf PBKDF2 zurück, wenn ältere Geheimtexte entschlüsselt werden (ein "Magic-Prefix"-Umschlag identifiziert, welche verwendet wurde).
Praktische Zahlen
Auf einem modernen Laptop dauert Argon2id mit Standardparametern (m=65536 KiB, t=3, p=1) etwa 200 ms. Eine High-End-GPU, die PBKDF2-SHA256 mit 200.000 Iterationen ausführt, erreicht etwa 50 Millionen Vermutungen pro Sekunde. Dieselbe GPU, die Argon2id mit 64 MB Speicherkosten ausführt, erreicht etwa 100 Vermutungen pro Sekunde. Das ist ein Vorteil von sechs Größenordnungen für den Verteidiger.