要約

  • RFC 9930では、TEAPセッションの再開をサーバーが受け入れるとフェーズ2を完全に省略する。したがってチケットには、完了済みの内部認証と現在使うべき資格情報・認可状態が結び付いていなければならない。
  • 新しい資格情報をチケットに関連付けられない場合、サーバーはチケットを無効化し、次の接続で完全な再認証を強制する。暗号上の連続性は恒久的なアクセス権ではない。

再開は、認証基盤にとって単なる小技ではない。同じ利用者や端末が日に何度も接続する環境では、毎回内部方式を実行すれば、認証データベースへの負荷が積み上がる。RFC 9930 が全TEAP実装に再開対応を求め、スケーラビリティーと安定性を利点に挙げるのはそのためだ。ただし、機能を実装する義務は、提示されたチケットを無条件に受け入れる義務ではない。

通常のTEAPには二つの段階がある。フェーズ1はTLSで認証済みの保護トンネルを作る。フェーズ2はその内部で、利用者、端末、あるいは両方を認証し、資格情報を発行・変更し、TLVによる結果交換とCrypto-Bindingを行う。RFC 6678 は標準的なトンネル型EAP方式の要件を示し、RFC 3748 はEAPの役割と成功・失敗の枠組みを定める。トンネルの成立と、トンネル内の判断完了は別の事実である。

再開が成立すると、その違いが表面化する。RFC 9930は、サーバーが再開に同意した場合、フェーズ2を完全に迂回すると定める。同意しなければ、完全なTLSハンドシェイクの後にフェーズ2を実行しなければならない。状態はサーバー側に置くことも、RFC 5077 のようなクライアント側チケットに置くこともできる。RFC 8446 のTLS 1.3では、NewSessionTicketが将来の接続に使うPSK関連状態を作る。しかし、その状態は将来の認可条件まで固定しない。

しかも、チケット発行が内部認証より先に起きる場合がある。RFC 9427 は、TLS 1.3がクライアントのFinished受信後にNewSessionTicketを送れる一方、トンネル内認証がまだ始まっていない可能性を指摘する。チケットを得たクライアントが途中で切断し、それを再開に使えば、内部認証を迂回しかねない。サーバーは内部認証が成功していないチケットで認証を再開させてはならない。発行を成功後まで遅らせるか、失敗セッションのチケットを破棄・無効化する必要がある。チケットから完了状態を判定できなければ、「未完了」として内部方式を再実行する。

完全なセッションでも、成功は一枚の印ではない。成功した内部方式ごとにIntermediate-ResultとCrypto-Bindingが必要になる。Compound MACは、同じトンネルと認証列にピアとサーバーが参加したことを検証する。置き換えや結合の不備は見つけられても、VLAN、ACL、ロール、アカウント状態、サービス範囲は決めない。成功のResult TLVを受け取っても、ピア側の方針を満たさなければ追加動作を要求でき、サーバーが応じるかはローカル方針に残る。

時間差の問題は、正しい初回認証の後にも続く。フェーズ2では資格情報を新規発行したり変更したりできる。そのため後続認可は、匿名または別のフェーズ1識別子ではなく、認証された資格情報を基準にしなければならない。再開でも正しい認可を適用するため、新しい資格情報をセッションチケットに関連付ける必要がある。関連付けられなければ、現在のセッションのチケットを無効化する。次回接続を完全認証へ戻し、新しいチケットに説明可能な認可根拠を結び直すためである。

RFC 9190 は、資格情報以外の変化もTOCTOU問題として扱う。初回ハンドシェイクから再開までに、ピア、認証装置、周辺プロトコルの情報は変わり得る。その変化で認可、アカウンティング、方針判断が変わるなら、判断を再評価しなければならない。安全な判断ができない時は、再開を拒否して完全なハンドシェイクへ進む。TLS 1.3のチケット上限である7日間は、認可の有効期間ではない。期限内でも根拠は古くなり得る。

運用記録には、単なる「再開成功」以上が必要だ。チケットまたはSession IDのハッシュ、発行者、発行・失効時刻、元の完全セッション、内部認証完了、資格情報と方針のバージョン、認証装置の文脈、途中の変更、再評価、受理・拒否・無効化理由を残す。そのうえで現在の認可、NASの適用記録、パケットまたはサービス観測を分離する。RFC 5247 はEAPの鍵と識別文脈を整理するが、後段の実行結果まで代弁しない。

Heng Luの最小初期仕様という考え方を当てはめれば、共有するチケットは相互運用に必要な有限の状態にとどまる。将来の判断はローカルに残し、実際に何を参照したかは稼働コードで確かめる。チケット、認証済み資格情報、現在の方針、認可、適用、結果という現実の層を重ねてはならない。信頼できる再開とは、何を省いたかだけでなく、なぜ省いてよかったかを説明できる仕組みである。

Sources