本文へスキップ
ecdsa.com

key_share 拡張

クライアントが 1 つ以上のグループについて一時的な公開値を送り、サーバーが単一の応答を返す TLS 1.3 の拡張(51)で、これにより鍵交換が最初のラウンドトリップで完了します。
別表記key_shareKeyShareEntrysupported_groups

クライアントは通常、優先する 1〜2 個のグループについてキーシェアを送ります。現在は X25519MLKEM768(1,216 バイト)と x25519(32 バイト)の組み合わせが一般的です。クライアントの supported_groups の中でサーバーが優先するグループに、どのキーシェアも一致しない場合、サーバーはそのグループを指定した HelloRetryRequest で応答するため、ラウンドトリップが 1 回増えます。P-256 のキーシェアは 65 バイトの非圧縮形式の点です(RFC 9846 §4.3.8.2)。

クライアントはどのキーシェアを送るかを見込みで選ぶため、サイズの大きいポスト量子のキーシェアは、それが想定されるデフォルトになってから初めて有効にされました。サーバーは受け取ったキーシェアを検証しなければなりません。P-256 では点が曲線上にあるかの確認、ML-KEM では FIPS 203 に基づくカプセル化鍵の確認、X25519 ではすべてゼロになっていないかの確認です。

規格と参考文献

すべての用語