要約

  • アドレスとポートを変更しない中間装置なら、両端が TCP-AO 以外の全 TCP オプションを MAC 対象から外すことで共存できる。
  • NAT/NAPT はアドレスまたはポートを変更する。これらは認証される接続の同一性を定義するため、同じ設定では対応できない。

オプションと接続識別子

Master Key Tuple のフラグは、TCP-AO 以外の TCP オプションを MAC 計算に含めるかどうかを一括で決める。含める場合は送信順にすべてを保護し、外す場合はすべてを省略する。TCP-AO 自体は保護される。このため、タイムスタンプを書き換える装置には対応できるが、対象オプションは改変可能になり、タイムスタンプの変更やウィンドウスケールの変更が効率や動作に影響するおそれがある。

一方、IP アドレスと TCP ポートのカバレッジは任意ではない。RFC 5925 は、これらが接続を定義するためだと説明する。翻訳装置がタプルを変えると、両端は異なる接続を認証することになる。したがって、調整されていない NAT/NAPT を TCP-AO がネイティブに通過することはできない。

RFC 5925 は、値の調整、カプセル化、または NAT トラバーサル付き IPsec を代替策として挙げるが、標準化された単一の TCP-AO NAT 通過方式は定めていない。

境界を監査する

重要なのは、各端点が MAC に入れたバイトと、経路上でそれを変更できた装置である。通信が成立したという事実だけでは、変換後のヘッダーまで TCP-AO が認証したとは言えない。

出典