7.1. Key derivation (Schlüsselableitung)
7.1. Key derivation (Schlüsselableitung)
Die Schlüsselableitung reduziert die Belastung der Schlüsseletablierung. Pro Kryptographie-Kontext werden bis zu sechs verschiedene Schlüssel benötigt (SRTP- und SRTCP-Verschlüsselungsschlüssel und -Salze, SRTP- und SRTCP-Authentifizierungsschlüssel), aber diese werden auf kryptographisch sichere Weise aus einem einzigen Hauptschlüssel abgeleitet. Daher muss das Schlüsselverwaltungsprotokoll nur einen Hauptschlüssel (plus Hauptsalz, wenn erforderlich) austauschen, und dann leitet SRTP selbst alle notwendigen Sitzungsschlüssel ab (über die erste, obligatorische Anwendung der Schlüsselableitungsfunktion).
Mehrfache Anwendungen der Schlüsselableitungsfunktion sind optional, bieten aber Sicherheitsvorteile, wenn sie aktiviert sind. Sie verhindern, dass ein Angreifer große Mengen an Chiffretext erhält, die von einem einzigen festen Sitzungsschlüssel erzeugt werden. Wenn der Angreifer in der Lage wäre, eine große Menge an Chiffretext für einen bestimmten Sitzungsschlüssel zu sammeln, könnte er bei der Durchführung bestimmter Angriffe unterstützt werden.
Mehrfache Anwendungen der Schlüsselableitungsfunktion bieten Rückwärts- und Vorwärtssicherheit in dem Sinne, dass ein kompromittierter Sitzungsschlüssel andere vom selben Hauptschlüssel abgeleitete Sitzungsschlüssel nicht kompromittiert. Dies bedeutet, dass der Angreifer, der in der Lage ist, einen bestimmten Sitzungsschlüssel wiederherzustellen, trotzdem nicht auf Nachrichten zugreifen kann, die unter früheren und späteren Sitzungsschlüsseln (die vom selben Hauptschlüssel abgeleitet wurden) gesichert sind. (Beachten Sie natürlich, dass ein durchgesickerter Hauptschlüssel alle davon abgeleiteten Sitzungsschlüssel offenbart.)
Überlegungen ergeben sich bei hochfrequenter Schlüsselerneuerung, insbesondere in großen Multicast-Einstellungen, siehe Abschnitt 11.