5.1.2 Authentication Using a Pre-Shared Key (Autenticazione utilizzando una chiave pre-condivisa)
5.1.2 Authentication Using a Pre-Shared Key (Autenticazione utilizzando una chiave pre-condivisa)
Questa variante estende il meccanismo di base permettendo al destinatario di autenticare che il mittente possedesse una data PSK. La PSK migliora anche le garanzie di riservatezza in certi modelli di avversari, come descritto più dettagliatamente nella Sezione 9.1. Assumiamo che entrambe le parti siano state provviste sia del valore PSK psk che di un'altra stringa di byte psk_id che è usata per identificare quale PSK dovrebbe essere utilizzata.
La differenza principale dal caso base è che i valori psk e psk_id sono usati come input ikm per il KDF (invece di usare la stringa vuota).
La PSK DEVE avere almeno 32 byte di entropia e DOVREBBE essere di lunghezza Nh byte o superiore. Vedere la Sezione 9.5 per una discussione più dettagliata.
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)