Zum Hauptinhalt springen

2.13. Generating Keying Material (Schlüsselmaterial erzeugen)

2.13. Generating Keying Material (Schlüsselmaterial erzeugen)

Im Kontext der IKE SA werden vier kryptografische Algorithmen ausgehandelt: ein Verschlüsselungsalgorithmus, ein Integritätsschutzalgorithmus, eine Diffie-Hellman-Gruppe und eine Pseudozufallsfunktion (PRF). Die PRF dient zur Erzeugung von Schlüsselmaterial (keying material) für alle in der IKE SA und den Child SAs verwendeten kryptografischen Algorithmen.

Wir nehmen an, dass jeder Verschlüsselungs- und Integritätsschutzalgorithmus einen festen Schlüssel verwendet und jeder zufällig gewählte Wert dieser Länge ein geeigneter Schlüssel sein kann. Bei variabler Schlüssellänge MUSS eine feste Schlüssellänge als Teil der ausgehandelten kryptografischen Transformation angegeben werden (Abschnitt 3.3.5, Attribut Key Length). Sind nicht alle Werte gültige Schlüssel (z. B. DES/3DES mit Schlüsselparität), MUSS die Transformation den Ableitungsalgorithmus festlegen. Bei HMAC-basiertem Integritätsschutz ist die feste Schlüssellänge die Ausgabelänge der zugrunde liegenden Hashfunktion.

PRFs akzeptieren Schlüssel beliebiger Länge, haben aber eine bevorzugte Schlüssellänge. Für SK_d, SK_pi und SK_pr MUSS die bevorzugte Länge der vereinbarten PRF verwendet werden (Abschnitt 2.14). Bei HMAC-basierten PRFs entspricht die bevorzugte Länge der Hashausgabe. Andere PRF-Typen MÜSSEN ihre bevorzugte Länge angeben.

Schlüsselmaterial wird stets als Ausgabe der vereinbarten PRF abgeleitet. Ist mehr Material nötig als die PRF auf einmal liefert, wird die PRF iteriert verwendet. Der Begriff „prf+“ bezeichnet eine Funktion, die einen Pseudozufallsstrom aus den Eingaben einer PRF namens „prf“ erzeugt.

Im Folgenden bedeutet | Verkettung. prf+ ist definiert als:

prf+ (K,S) = T1 | T2 | T3 | T4 | ...

wobei:
T1 = prf (K, S | 0x01)
T2 = prf (K, T1 | S | 0x02)
T3 = prf (K, T2 | S | 0x03)
T4 = prf (K, T3 | S | 0x04)
...

Es wird fortgesetzt, bis alles Material für alle benötigten Schlüssel ausgegeben wurde. Schlüssel werden aus der Ausgabebitfolge ohne Rücksicht auf Grenzen entnommen (z. B. 256-Bit-AES- und 160-Bit-HMAC-Schlüssel bei 160-Bit-PRF-Ausgabe: AES aus T1 und Anfang von T2, HMAC aus Rest von T2 und Anfang von T3).

Die an jeden prf-Aufruf angehängte Konstante ist ein einzelnes Oktett. prf+ ist nicht über das 255-Fache der PRF-Ausgabelänge hinaus definiert.