Zum Hauptinhalt springen

9.5. Pre-Shared Key Recommendations (Empfehlungen für vorgeteilte Schlüssel)

9.5. Empfehlungen für vorgeteilte Schlüssel

In den PSK- und AuthPSK-Modi MUSS der PSK mindestens 32 Bytes Entropie haben und SOLLTE eine Länge von Nh Bytes oder mehr haben. Die Verwendung eines PSK, der länger als 32 Bytes, aber kürzer als Nh Bytes ist, ist zulässig.

HPKE ist spezifiziert, HKDF als Schlüsselableitungsfunktion zu verwenden. HKDF ist nicht dafür ausgelegt, Wörterbuchangriffe zu verlangsamen (siehe [RFC5869]). Daher eignet sich der PSK-Mechanismus von HPKE nicht für die Verwendung mit einem Passwort mit niedriger Entropie als PSK: In Szenarien, in denen der Gegner das gemeinsame KEM-Geheimnis shared_secret kennt und Zugang zu einem Orakel hat, das zwischen einem guten und einem falschen PSK unterscheidet, kann er PSK-Wiederherstellungsangriffe durchführen. Dieses Orakel kann die Entschlüsselungsoperation auf einem erfassten HPKE-Chiffretext oder ein anderes Empfängerverhalten sein, das bei Verwendung eines falschen PSK beobachtbar unterschiedlich ist. Der Gegner kennt das gemeinsame KEM-Geheimnis shared_secret, wenn er alle privaten KEM-Schlüssel eines Teilnehmers kennt. Im PSK-Modus ist dies trivial der Fall, wenn der Gegner als Sender agiert.

Um einen PSK mit niedrigerer Entropie wiederherzustellen, kann ein Angreifer in diesem Szenario trivial einen Wörterbuchangriff durchführen. Bei einer Menge S möglicher PSK-Werte erzeugt der Angreifer einen HPKE-Chiffretext für jeden Wert in S und übermittelt die resultierenden Chiffretexte an das Orakel, um zu erfahren, welcher PSK vom Empfänger verwendet wird. Da HPKE außerdem AEAD-Schemata verwendet, die nicht key-committing sind, kann ein Angreifer einen Partitionierungsorakel-Angriff [LGR20] durchführen, der den PSK aus einer Menge von S möglichen PSK-Werten mit |S| = m*k in etwa m + log k Anfragen an das Orakel unter Verwendung von Chiffretexten mit einer Länge proportional zu k, der maximalen Nachrichtenlänge in Blöcken, wiederherstellen kann. (Die Anwendung des Multi-Kollisionsalgorithmus aus [LGR20] erfordert eine kleine Anpassung des Algorithmus, wobei die entsprechende Nonce für jeden Kandidatenschlüssel berechnet wird. Diese Modifikation fügt einen Aufruf von HKDF pro Schlüssel hinzu. Die Anzahl der Partitionierungsorakel-Anfragen bleibt unverändert.) Als Ergebnis muss der PSK daher mit ausreichender Entropie gewählt werden, so dass m + log k für Angreifer prohibitiv ist (z.B. 2^128). Zukünftige Spezifikationen können neue AEAD-Algorithmen definieren, die key-committing sind.