Zum Hauptinhalt springen

5.1.2 Authentication Using a Pre-Shared Key (Authentifizierung mit einem vorgeteilten Schlüssel)

5.1.2 Authentication Using a Pre-Shared Key (Authentifizierung mit einem vorgeteilten Schlüssel)

Diese Variante erweitert den Basismechanismus, indem sie dem Empfänger ermöglicht zu authentifizieren, dass der Sender einen gegebenen PSK besaß. Der PSK verbessert auch die Vertraulichkeitsgarantien in bestimmten Angreifermodellen, wie in Abschnitt 9.1 ausführlicher beschrieben. Wir nehmen an, dass beide Parteien sowohl mit dem PSK-Wert psk als auch mit einer anderen Byte-Zeichenfolge psk_id bereitgestellt wurden, die verwendet wird, um zu identifizieren, welcher PSK verwendet werden soll.

Der Hauptunterschied zum Basisfall besteht darin, dass die Werte psk und psk_id als ikm-Eingaben für den KDF verwendet werden (anstatt die leere Zeichenfolge zu verwenden).

Der PSK MUSS mindestens 32 Bytes Entropie haben und SOLLTE eine Länge von Nh Bytes oder mehr haben. Siehe Abschnitt 9.5 für eine detailliertere Diskussion.

def SetupPSKS(pkR, info, psk, psk_id):
shared_secret, enc = Encap(pkR)
return enc, KeyScheduleS(mode_psk, shared_secret, info,
psk, psk_id)

def SetupPSKR(enc, skR, info, psk, psk_id):
shared_secret = Decap(enc, skR)
return KeyScheduleR(mode_psk, shared_secret, info, psk, psk_id)