本文へスキップ
ecdsa.com

TLS セッション再開

以前の接続のシークレットから TLS セッションを再確立することです。証明書による認証を省略して計算量を節約でき、TLS 1.3 では 0-RTT データを送ることもできます。
別表記session resumptionsession ticketsPSK resumptionNewSessionTicket

TLS 1.3 では事前共有鍵を使います。ハンドシェイクの後、サーバーは NewSessionTicket メッセージを送信し、クライアントは後でそのチケットを pre_shared_key 拡張で提示して、バインダーでその正当性を証明します。psk_dhe_ke では新たな (EC)DHE 交換も実行されるため、新しいセッションは前方秘匿性を持ちますが、psk_ke だけではそうなりません。TLS 1.2 ではセッション ID(サーバー側のキャッシュ)またはセッションチケット(RFC 5077)を使っていましたが、どちらの場合も再開したセッションに前方秘匿性はありません。

セッションチケットの暗号化鍵は長期にわたって使われるシークレットです。この鍵を持つ者は誰でも、それを使って再開されたすべてのセッションを復号できます。そのため、鍵を頻繁にローテーションし、サーバー群での共有は必要な範囲にとどめてください。セッション再開はサイトやセッションをまたいだトラッキングの手段にもなるため、ブラウザーはチケットの再利用を制限しています。

規格と参考文献

すべての用語