メインコンテンツまでスキップ

5.1.2 Authentication Using a Pre-Shared Key (事前共有鍵を使用した認証)

5.1.2 Authentication Using a Pre-Shared Key (事前共有鍵を使用した認証)

このバリアントは, 受信者が送信者が与えられた PSK を所有していたことを認証できるようにすることで, 基本メカニズムを拡張します。PSK は, 9.1節でより詳細に説明されているように, 特定の敵対者モデルにおける機密性保証も改善します。私たちは両当事者が PSK 値 psk と, 使用すべき PSK を識別するために使用される別のバイト文字列 psk_id の両方で事前設定されていると仮定します。

基本ケースとの主な違いは, psk と psk_id の値が (空文字列を使用する代わりに) KDF への ikm 入力として使用されることです。

PSK は少なくとも32バイトのエントロピーを持たなければならず, Nh バイト以上の長さであるべきです。より詳細な議論については9.5節を参照してください。

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)