HKDF Schlüsselableitung
RFC 5869 HMAC-basierte Extract-and-Expand Schlüsselableitung
HKDF Dokumentation
HKDF (HMAC-basierte Extract-and-Expand Schlüsselableitungsfunktion) ist in RFC 5869 definiert. Sie bietet eine robuste Methode zur Ableitung kryptographischer Schlüssel aus Eingabe-Schlüsselmaterial mittels eines zweistufigen Prozesses: Extraktion und Expansion.
HKDF wird in modernen Sicherheitsprotokollen wie TLS 1.3, Signal Protocol, Noise Protocol Framework und SSH breit eingesetzt. Die klare Trennung von Extraktions- und Expansionsphasen macht es besonders geeignet für die Ableitung von Schlüsselhierarchien.
Extraktionsphase: HKDF-Extract(salt, IKM) → PRK
Die Extraktionsphase konzentriert die möglicherweise verteilte Entropie des Eingabe-Schlüsselmaterials (IKM) in einen pseudozufälligen Schlüssel (PRK) fester Länge:
- Nimmt Salt (optional, Standard: HashLen Nullen) und IKM als Eingabe
- Berechnet PRK = HMAC-Hash(salt, IKM)
- PRK-Länge entspricht der Hash-Ausgabelänge (32 Bytes für SHA-256)
- Salt fungiert als Schlüssel für HMAC und verstärkt die Extraktion
Expansionsphase: HKDF-Expand(PRK, info, L) → OKM
Die Expansionsphase dehnt den PRK auf Ausgabe-Schlüsselmaterial (OKM) der gewünschten Länge aus:
- Nimmt PRK, info (Kontext/Label) und gewünschte Ausgabelänge L
- Berechnet iterativ T(i) = HMAC-Hash(PRK, T(i-1) | info | Zähler)
- Verkettet Ergebnisse: OKM = T(1) | T(2) | ... | T(N)
- Maximale Ausgabelänge ist 255 × HashLen Bytes
Häufige Anwendungsfälle
- TLS 1.3 Schlüsselplanung: Ableitung von Traffic Secrets, Handshake-Schlüsseln und Anwendungsschlüsseln
- Signal Protocol: Ableitung von Chain Keys und Message Keys aus Shared Secrets
- SSH Schlüsselaustausch: Ableitung von Verschlüsselungs- und Integritätsschlüsseln nach ECDH
- Schlüsselhierarchie: Ableitung mehrerer zweckspezifischer Schlüssel aus einem Master Secret
HKDF vs PBKDF2
| Eigenschaft | HKDF | PBKDF2 |
|---|---|---|
| Standard | RFC 5869 | RFC 8018 |
| Eingabetyp | Shared Secrets, DH-Ausgaben | Benutzerpasswörter |
| Iterationen | Einzeldurchlauf | Viele (10K-1M) |
| Geschwindigkeit | Schnell | Absichtlich langsam |
| Info-Parameter | Ja (Kontextbindung) | Nein |
| Primärer Anwendungsfall | Hochentropie-Eingabe | Niedrigentropie-Passwörter |
Sicherheitshinweise
- HKDF setzt voraus, dass das IKM bereits ausreichend Entropie enthält; nicht mit schwachen Passwörtern verwenden
- Der info-Parameter sollte den beabsichtigten Verwendungszweck des Schlüssels eindeutig identifizieren (Kontexttrennung)
- Salt ist optional, aber empfohlen beim Extrahieren mehrerer Schlüssel aus demselben IKM
- PRK sollte niemals direkt verwendet werden; immer die Expansionsphase zur Ableitung der endgültigen Schlüssel nutzen
Technische Referenzen
Verwandte Tools
PBKDF2-Schlüsselableitung
Sichere Verschlüsselungsschlüssel aus Passwörtern mit PBKDF2 SHA-256/384/512 ableiten, OWASP-konform
HMAC-Generator
Generieren Sie HMAC-Authentifizierungscodes mit MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3 und RIPEMD-160 Algorithmen
AES-Verschlüsselung/Entschlüsselung
Verschlüsseln und entschlüsseln Sie Text sicher mit dem AES-Algorithmus
SHA-Hash-Generator
Online SHA-Hash-Generator mit Unterstützung für SHA-1, SHA-256, SHA-384, SHA-512 Algorithmen