名前解決が正しくても、経路の起点は別に確認する
DNSで宛先のIPアドレスが正しく分かっても、インターネット上でそのアドレス範囲への経路が適切に広告されているかは別の問題です。BGPはAS同士で経路情報を交換する仕組みで、ROVはその経路を起点として広告してよいASかを確認するためのものです。
DNSSEC、TLS、VPNなどと「どれが最も安全か」を一列に並べるより、何を検証しているかを分けます。DNSの保護と監視が名前解決を扱うのに対し、本記事は経路の起点の承認情報を読む学習です。特定試験での出題頻度や実際の障害事例は示していません。
RPKI・ROA・VRP・ROVを一続きで整理する
RPKIは、インターネット番号資源に関する証明書などを使う基盤です。ROAは、特定のIPプレフィックスをどのASが起点として広告してよいかを示す署名付きの承認情報です。「この経路を通る全ASの正当性を証明するもの」とは違います。
検証済みの情報から得たプレフィックス、許す最大長、起点AS番号などの組をVRPと呼びます。ルーター側では、受信した経路のプレフィックスと起点ASをVRPへ照合して、ROVの状態を求めます。ROAの作成、情報の検証、ルーターでの状態判定という役割を分けると、用語を混同しにくくなります。
- 1
ROA
範囲・起点ASなどの承認情報
- 2
検証処理
証明書や署名等を確認
- 3
VRP
検証済みの照合用データ
- 4
ROV
BGP経路と照合し状態を付ける
状態判定の後に、運用者の明示した経路ポリシーを適用するかを扱います。
三つの状態は、覆う情報と一致する情報で分かれる
RFC 6811では、経路のアドレス範囲を覆うVRPが一つもなければNotFoundです。覆うVRPがあり、その中に起点ASと許されたプレフィックス長の条件を満たすものが少なくとも一つあればValid。覆うものはあるが、一つも条件が一致しなければInvalidとなります。
「最初に見たROAと違ったからInvalid」とはできません。複数の承認情報があれば、経路を覆う候補を照合します。またNotFoundは「不正な起点だと判明した」という意味ではありません。照合する承認情報が得られない状態と、不一致を示した状態は分けて読みます。
| 状態 | 照合結果 | 飛躍した説明 |
|---|---|---|
| NotFound | 経路を覆うVRPがない | 不正と確定した、は言い過ぎ |
| Valid | 覆うVRPの一つ以上がASと長さの条件に一致 | 通信全体が安全、ではない |
| Invalid | 覆うVRPはあるが、一つも一致しない | 必ず攻撃者、とは断定できない |
自作例:同じASでもプレフィックス長でInvalidになる
照合用データが一つだけあり、「203.0.113.0/24、起点AS 64496、maxLength 24」とするとします。以下は説明用の番号による架空の照合表です。実際の経路広告や設定変更を行うための手順ではありません。
203.0.113.0/24をAS 64496が広告する経路は、範囲・AS・長さが一致してValidです。同じ/24でもAS 64497が起点ならASが不一致でInvalid。一方、AS 64496でも203.0.113.0/25の広告は、/24の範囲内ですが、長さ25がmaxLength 24を超えるのでInvalidです。
| 受信した経路 | 起点AS | 結果と理由 |
|---|---|---|
| 203.0.113.0/24 | 64496 | Valid:同じ範囲・AS・許された長さ |
| 203.0.113.0/24 | 64497 | Invalid:範囲は覆うがAS不一致 |
| 203.0.113.0/25 | 64496 | Invalid:最大長24に対し長さ25 |
| 198.51.100.0/24 | 64496 | NotFound:この前提では覆うVRPなし |
maxLengthはアドレス数の大きさと逆に動く
/25は/24より数値が大きいので、より広い範囲と誤読しやすいところです。IPv4では、同じ先頭部分を使う/25は/24の半分のアドレス範囲です。より細かい範囲を広告してよいかが、最大プレフィックス長の確認点になります。
この自作例でmaxLengthを25とし、他の条件が同じなら、同じ範囲内の/25は長さ条件を満たします。ただし、だから実運用で上限を広げるべきという結論ではありません。正当な広告の範囲と運用計画を、資源を管理する担当者が確認する必要があります。
検証状態と、経路を拒否するポリシーは別
RFC 8481は、状態を評価して設定することと、その状態に基づく方針の適用を分け、運用者の明示的な設定なしにポリシーを適用しないことを明確にしています。「RPKIを導入したら、どのネットワークでも全Invalidが自動的に拒否される」とは説明できません。
学習では、状態を問われているのか、明示された方針でどの経路を採用するかを問われているのかを区別してください。実環境では、正当な広告と承認情報のずれが通信に影響する可能性もあります。このページは自社ルーターの拒否方針を独断で変更するための案内ではありません。
ROVの状態
- 承認情報が経路を覆うか
- 起点ASは一致するか
- プレフィックス長は許可内か
経路の扱い
- 運用者が何を明示設定したか
- 採用・優先度・拒否をどう扱うか
- 変更の影響と正当な広告を確認
Validは採用を保証せず、Invalidもそれだけで攻撃者の身元を確定しません。
Validでも、経路全体やデータの安全までは分からない
起点の照合がValidでも、途中のAS経路全体をこの仕組みだけで検証したことにはなりません。通信の暗号化、サーバーの真正性、端末やアプリの安全性も別の確認対象です。「何か一つがValidだから安全」という推論は、保証の範囲を広げすぎています。
復習では、NotFoundをInvalidへ置き換えていないか、ASが一致すれば長さを無視していないか、状態から拒否動作を勝手に推定していないかを点検します。IPv4・IPv6でアドレス範囲、ネットワーク科目の学習やサイバーセキュリティ学習ガイドで周辺分野へつなげます。
複数のROAが重なるとき、一つの不一致だけでInvalidにしない
既存の一つだけの照合例から、検証済みデータが二つある場合へ進みます。VRP Aは203.0.113.0/24・maxLength 25・AS 64496、VRP Bは203.0.113.0/25・maxLength 25・AS 64497とします。番号は説明用で、実在の経路や設定を示していません。
203.0.113.0/25をAS 64497が広告した場合、AではASが不一致ですがBには一致するため、全体はValidです。Aを先に読んだかBを先に読んだかで状態は変わりません。起点ASが64496ならAに一致するので、この場合もValidです。より細かいBのASだけに限定する読み方も違います。
| 受信した経路と起点 | 一致するVRP | 全体の状態 |
|---|---|---|
| 203.0.113.0/25・AS 64497 | B | Valid |
| 203.0.113.0/25・AS 64496 | A | Valid |
| 203.0.113.128/25・AS 64497 | なし。Aが覆うがAS不一致、Bは覆わない | Invalid |
| 198.51.100.0/24・AS 64497 | この前提では覆うVRPなし | NotFound |
RFC 6811の定義では、覆う情報がない、少なくとも一つ一致する、覆う情報はあるが一つも一致しない、を区別します(2026年11月9日確認)。一つの不一致を見つけたところで調査を終えず、条件全体を照合します。
この状態判定を、そのまま通信の安全性や採用・拒否へ置き換えない点は前節と同じです。範囲の重なりはIPv4サブネットの計算ツールでアドレス範囲を確認できます。実運用のROAやルーター設定はここでは変更しません。