要約
- PCP によってホストは NAT マッピングやファイアウォールの通過口を明示的に要求できるようになったが、外向きのアドレスとポート、方針、存続期間を決めるのはサーバーである。
- Nonce、有限のライフタイム、Epoch Time は状態の照合と再作成を助けるが、恒久的な所有や到達可能性までは保証しない。
PCP クライアントは、マッピングごとに Mapping Nonce を選び、MAP 要求に載せる。応答には同じ値が戻り、その後の更新でも照合される。単純脅威モデルでは、異なる nonce を持つ要求が既存の動的マッピングを安易に引き継ぐことを防ぐ。ここで確認できるのは「同じ状態の系譜か」という点に限られる。人の認証、端末の永続的な識別、経路上の攻撃者に対する万能な防御ではない。
では、その状態を作る権限は誰にあるのか。MAP では、ホストがトランスポートプロトコルと内部ポートを示し、外向きのアドレスとポートを提案できる。だが提案値は命令ではない。サーバーは利用可能な別の組み合わせを割り当て、成功応答に実際のアドレス、ポート、ライフタイムを記すことができる。
提案どおりでなければ意味がない場合、クライアントは PREFER_FAILURE を付ける。そのときサーバーは代替値を返さず、提供不能として失敗させる。通常の MAP が「条件を満たす別の割り当て」を許すのに対し、このオプションは「提案値か失敗か」を選ぶ仕組みである。それでも最終判断はサーバー側に残る。
結果コードには、その判断理由が表れる。未対応の操作やオプション、権限不足、資源不足、利用者ごとの上限、指定された外部エンドポイントを用意できない場合などだ。成功は、ある時点でそのサーバーがその状態を受け入れた証拠にすぎない。世界中の経路から接続できることや、同じポートが永久に残ることは意味しない。
ライフタイムもサーバーが設定する。必要な間はクライアントが更新し、更新が止まれば状態は失効へ向かう。MAP で要求ライフタイムをゼロにする操作には、プロトコルと内部ポートの組み合わせに応じた削除の意味がある。Nonce や脅威モデルの規則を無視して、任意のマッピングを消す命令にはならない。
状態を保持していた機器が再起動した場合はどうか。応答の Epoch Time は、サーバーの継続性を判断する材料になる。時間の巻き戻りや不自然なずれを検知したクライアントは、失われた可能性のあるマッピングを速やかに作り直す。これは消失の兆候であり、途切れず通信できたという証明ではない。
PEER は、特定の相手アドレスとポートへ向かう明示的な送信マッピングを作るか、既存状態を延長する。相手先を含むため、一般的な MAP とは役割が異なる。THIRD_PARTY では別のホストのための要求も表現できるが、サーバーが許可し、要求元が適切に認可されている場合だけである。家庭向け機器では既定で禁止することが推奨されている。
RFC 7488 は、一つのサーバーが複数のアドレスを持つ場合と、複数の独立したサーバーが存在する場合を分けた。同じサーバーの各アドレスには同じ nonce を使い、別のサーバーには別の nonce を使う。あるアドレスで最大四回の再送を終えると次を試し、すべて失敗すれば一定間隔で再開する。
複数サーバーへの要求は互いに独立している。結果として別々の機器が複数のマッピングを維持することがある。状態を共有しないファイアウォールが複数経路にあるなら、すべてに通過口が必要になる場合もある。一台の成功応答を、別の一台の状態の証拠にはできない。
事実、解釈、分からないこと
二つの RFC が定めるのは、要求と応答の形式、nonce、ライフタイム、結果コード、Epoch Time、再送とサーバー選択である。そこから、PCP を「境界状態の管理を交渉する仕組み」と読むことはできる。一方、普及率、製品ごとの適合性、個別の拒否理由、あらゆるネットワークからの到達性は分からない。正当な PCP サーバーのアドレスをどう安全に入手するかも、RFC 7488 は供給方式側の責任として残している。
出典
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
