1. BGP にネイティブオリジン検証がない理由

BGP は、すべての参加者が信頼される協調的なインターネット向けに設計されました。ルーターは UPDATE メッセージを受け入れ、発信元 AS が実際にそれらの IP プレフィックスをアナウンスする権限を持っているかどうかの暗号検証を行わずにメッセージを伝播します。これは、どの AS も、設定ミスや悪意によって、他人のプレフィックスをアナウンスする可能性があり、そのアナウンスが数分以内に世界中に伝播する可能性があることを意味します。

RPKI の導入を加速した注目すべきインシデント:

  • 2008 — パキスタンテレコム:PTCL は誤って YouTube のアドレス空間のより具体的なプレフィックス (208.65.153.0/24) を発表し、上流プロバイダーがルートを撤回するまでの約 2 時間にわたって YouTube を世界中でブラックホール化しました。
  • 2010 — 中国電信:China Telecom は、米国の軍、政府、商用ネットワークに属する約 50,000 のプレフィックスを約 18 分間発信しました。偶然か故意かは確認されていない。
  • 2018 — Amazon Route 53 DNS ハイジャック:攻撃者は BGP を使用して 205.251.196.0/24 (Amazon DNS) をハイジャックし、暗号通貨ウォレットのトラフィックをリダイレクトして資金を盗みました。この攻撃では、eNet の BGP UPDATE (AS10297) が使用されました。
  • 2019 — ヨーロッパのトラフィックはチャイナテレコム経由で再ルーティングされました。ヨーロッパのモバイル トラフィック (ボーダフォンやスイスのスイスコムを含む) は、BGP ルートの漏洩により、約 2 時間チャイナ テレコム経由で再ルーティングされました。

2. RPKI トラスト階層

RPKI (RFC6480) IP アドレス空間がどのように委任されるかを反映する X.509 証明書の階層を構築します。

  1. イアナルートトラストアンカーを保持します。 5 つの RIR (ARIN、RIPE NCC、APNIC、LACNIC、AFRINIC) にリソース証明書を発行し、それぞれのアドレス空間をカバーします。
  2. RIRメンバー (ISP、企業) に、メンバーが保持するアドレス空間の証明書を発行します。
  3. メンバーエンドエンティティ (EE) 証明書を発行し、署名するルート起点の承認(ROA) - 特定の ASN が特定のプレフィックスを発信することを許可する署名付き証明書。

検証者は、この署名付きオブジェクト階層を 5 つの RIR リポジトリ (および委任されたリポジトリ) からダウンロードし、証明書チェーンを検証し、検証済みの ROA ペイロード (VRP) テーブルを構築します。次にルーターは、RTRプロトコル (RFC 8210) このテーブルを取得し、受信する BGP UPDATE に対して発信元の検証を実行します。

3. ルートオリジン認証 (ROA)

ROA (RFC 6482) は、次の 3 つのフィールドを含む署名付きオブジェクトです。

  • ASN: 自律システムはプレフィックスを発信する権限を持っています。
  • プレフィックス: 認可されている IP プレフィックス (IPv4 または IPv6)。
  • 最大長さ: ASN がアナウンスすることを許可されている最大プレフィックス長。指定しない場合は、正確なプレフィックスのみが許可されます。たとえば、/20 プレフィックスに対して 24 に設定されている場合、ASN は /20 と /24 の間でより具体的なものをアナウンスすることもあります。
maxLength は一般的な構成ミス ベクトルです。ROA で maxLength = 32 (IPv4) または maxLength = 128 (IPv6) を設定すると、ASN はハイジャックに使用される可能性のある /32 ホスト ルートを含む、より具体的なサブネットをアナウンスできるようになります。ベスト プラクティス: maxLength を、実際にアナウンスする最長のプレフィックス (多くの場合、プレフィックスの長さと同じ) に設定します。

1 つの ROA は同じ ASN に対して複数のプレフィックスを承認できますが、1 つの ROA が 1 つのプレフィックスに対して複数の ASN を承認することはできません。セカンダリ ASN (トランジット プロバイダーや CDN など) がプレフィックスを発信できるようにするには、その ASN に対して別の ROA を作成します。

4. 検証状態

ルーターが BGP UPDATE を受信すると、発信元の検証 (RFC 6811) ローカル VRP テーブルに対して:

状態典型的な地域優先の扱い
有効少なくとも 1 つの ROA がプレフィックスをカバーしており (プレフィックス ⊆ ROA プレフィックス AND プレフィックス長 ≤ maxLength)、ROA の ASN が BGP UPDATE の発信元 ASN と一致します。+20 または優先 (共通)
無効少なくとも 1 つの ROA がプレフィックスをカバーしていますが、一致する ASN と maxLength ≥ 発表されたプレフィックス長を持つカバー ROA はありませんlocal-pref 0 を設定するか、ドロップします (演算子の選択。RFC 6811 では、許可するがマーキングすることを推奨しています)。
見つかりません発表されたプレフィックスをカバーする ROA は存在しません変更なし (RPKI が存在する前と同様に扱われます)

重要な洞察:無効~よりも問題の強力な証拠である見つかりません。 NotFound は、単にプレフィックス所有者がまだ ROA を作成していないことを意味します。無効とは、この ASN が次のとおりであるという ROA が存在することを意味します。ない許可済み — 構成ミスまたはハイジャックのいずれかの強い信号。

5. RTRプロトコル

ルーターは X.509 証明書チェーン自体を検証しません。これには計算コストがかかり、完全な RPKI キャッシュを保持する必要があります。代わりに、専用のRPKIバリデーター(Routinator、OctoRPKI、Fort、rpki-client) は、完全な RPKI リポジトリをダウンロードして検証し、結果として得られる検証済み ROA ペイロード (VRP) だけを RTR プロトコル経由でルーターにエクスポートします (RFC 8210)。

RTR は、増分同期メカニズムを備えた TCP (IANA によって割り当てられたポート 323、Routinator などのバリデーターは root 権限の要求を回避するためにデフォルトでポート 3323) を使用します。バリデーターはシリアル番号を送信し、ルーターは最後の同期以降の差分のみを要求します。これにより、大規模な VRP テーブルであっても帯域幅が低く抑えられます (現在、世界中で約 400,000+ IPv4 エントリ)。

6. 導入と統計

2026 年初頭の時点で、RPKI の導入はかなりの規模に達しています。

  • グローバルにルーティングされる IPv4 プレフィックスの 50% 以上に、ROA をカバーするものが少なくとも 1 つあります (2019 年の最大 10% から増加)。
  • Tier-1 および Tier-2 ISP の多くは現在、ルート起点の検証を実行し、無効なルートを削除または優先順位を下げています。
  • MANRS (ルーティング セキュリティのための相互合意規範) は、メンバーシップの前提条件として RPKI ROA の作成を要求し、AS ごとの適合ダッシュボードを公開します。

ライブ統計:NIST RPKI モニター, ROV++, APNIC RPKI 統計.

7. ROV を超えて: ASPA と BGPsec

RPKI ルート起点の検証では、発信元ASNプレフィックスをアナウンスする権限を持っています。 AS_PATH は検証されません。攻撃者は、最後に正当な起点 AS を持つ偽の AS_PATH を構築する可能性があります。これに対処する 2 つの IETF 標準があります。

  • BGPsec (RFC 8205): パス内の各 AS は UPDATE に暗号署名し、解読不可能な管理チェーンを作成します。すべてのトランジット AS が BGPsec をサポートする必要がありますが、これは展開上の大きな障壁となります。 2026 年の時点ではほとんど配備されていません。
  • アスパ(自律システムプロバイダーの認可、ドラフト-ietf-sidrops-aspa-プロファイル): AS は、承認された上流プロバイダーをリストするオブジェクトに署名します。検証者は、無効なバレーフリー パス (たとえば、顧客がプロバイダであるかのようにルートをアナウンスするなど) を検出できます。 BGPsec よりも導入が簡単で、2025 ~ 2026 年の時点で注目を集めています。

参考文献

  • RFC6480— 安全なインターネット ルーティングをサポートするインフラストラクチャ (RPKI の概要)
  • RFC 6482— ルートオリジン認証 (ROA) のプロファイル
  • RFC 6811— BGP プレフィックス発信元の検証
  • RFC 8210— RPKI to Router Protocol、バージョン 1 (RTR)
  • RFC 8416— RPKI による簡素化されたローカル インターネット番号リソース管理 (SLURM — ローカル オーバーライド)
  • RFC 9286— リソース公開キー基盤 (RPKI) のマニフェスト
  • RFC 8205— BGPsecプロトコル仕様
  • マンズ— ルーティングのセキュリティに関する相互に合意された規範
  • Cloudflare RPKI ポータル— ライブ ROA ルックアップ