5.1.2 Authentication Using a Pre-Shared Key (Authentification à l'aide d'une clé prépartagée)
5.1.2 Authentication Using a Pre-Shared Key (Authentification à l'aide d'une clé prépartagée)
Cette variante étend le mécanisme de base en permettant au destinataire d'authentifier que l'émetteur possédait une PSK donnée. La PSK améliore également les garanties de confidentialité dans certains modèles d'adversaires, comme décrit plus en détail dans la Section 9.1. Nous supposons que les deux parties ont été provisionnées à la fois avec la valeur PSK psk et une autre chaîne d'octets psk_id qui est utilisée pour identifier quelle PSK doit être utilisée.
La différence principale par rapport au cas de base est que les valeurs psk et psk_id sont utilisées comme entrées ikm pour le KDF (au lieu d'utiliser la chaîne vide).
La PSK DOIT avoir au moins 32 octets d'entropie et DEVRAIT avoir une longueur de Nh octets ou plus. Voir la Section 9.5 pour une discussion plus détaillée.
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)