はじめに
この記事を読むと、ブラウザはインターネットサービスプロバイダー(ISP)に接続します。コンピュータから送信されたパケットは、このWebサイトをホストするサーバーに到達しました。 BGP(Border Gateway Protocol)は、途中でどのパスを使用するかを決定します。
ルーターが機能していないか、トラフィックの負荷が高い場合、パケットは別のルートをたどります。 BGPは、デフォルトで他のBGPルーターからのアドバタイズされたルートを受け入れます。パスや所有者の発表はなく、重大なセキュリティ問題が残っています。
この記事では、安全なBGPルーティングのソリューションとしてのRPKIプロトコルについて説明します。
BGPとは何ですか?
BGPプロトコル インターネットを介したルーティング交換を容易にする主要なプロトコルです。パケットは、自動ルーティングにより分散化された方法でグローバルに移動します。データが1つのルーターから別のルーターに渡されると、情報は目的の宛先に近づきます。
各ルーターは、IPアドレスプレフィックスの宛先グループごとにローカルで重要なベストパステーブルを維持します。 AS( A 自称S ystem)はプレフィックスのグループを所有し、ルーティング交換がどのように行われるかを決定します。各ASには一意の識別子(番号)があり、BGPプロトコルは自律システムがIPルーティングに関する情報を交換する方法を定義します。
各ASNは、データを配信できるプレフィックスをアドバタイズします。たとえば、ASが1.0.0.0/8に接続すると、そのアドレスがピアやプロバイダーにブロードキャストされます。
BGPの欠点
BGPルートの受け入れは、ISPエンジニアリングによって異なります。 ISPのデューデリジェンスはこれまでのところしか進んでいません。入力エラー、自動化の失敗、悪意のある意図は、軽減するのが難しいほんの一例です。結局のところ、問題の核心は、誰が道を発表すべきか、または本当の所有者が誰であるかについての根拠がないということです。
インターネットを介して送信される情報は、BGPハイジャックに対する保護が制限されています。 BGPハイジャックは、ASが所有していない同等以上の特定のIPプレフィックスに対してASがBGPアナウンスを行うときに発生します。
等しいプレフィックス長のハイジャック
所有者ではない誰かが同じプレフィックスをアナウンスすると、同じプレフィックス長のハイジャックが発生します。例:
- Origin ASは、1.0.0.0/8宛てのデータを送信します
- 宛先ASは1.0.0.0/8をアナウンスします。
- 別のASも1.0.0.0/8を発表します。
同じ長さのアナウンスが発生した場合、BGPはルートを選択する必要があります。決定はAS構成に帰着します。
オリジンASは、トラフィックのわずかな減少に気づきます。トラフィックの減少は、さまざまな理由で発生する可能性のある一般的な発生です。このため、BGPハイジャックは見過ごされます。
特定のプレフィックスハイジャック
特定のプレフィックスハイジャックは、悪意のあるASNがより具体的なプレフィックスをアナウンスしたときに発生します。両方のプレフィックスがBGPルーティングテーブルに追加されますが、より具体的なアドレスがネットワークへの最適なパスとして選択されます。
例:
- Originは1.0.0.0/8宛てのデータを送信します。
- 宛先ASは1.0.0.0/8をアナウンスします。
- 別のASがより具体的な1.2.3.0/24を発表します。
1.2.3.0 / 24の方が適しているため、1.2.3.0の範囲のすべてのデータが間違ったネットワークに送られます。
RPKIとは何ですか?
RPKI( R esource P ublic K ey私 nfrastructure)は、所有者が公開されている識別子を持っている場合に、所有権に対して完全な暗号化の信頼を提供するBGPルーティングのセキュリティレイヤーです。 BGPの場合、所有権のグラウンドトゥルースは存在しません。悪意を持っていようと偶然であろうと、誰でもより良いルートを宣伝することができます。
RPKIは、既存のPKI標準であるRFC6480に基づいています。安全な通信のための既存の暗号化手法への参照がたくさんあります。
RPKIが重要な理由
リソース公開鍵インフラストラクチャにより、BGPの安全性と信頼性が向上します。 BGPの動作によるインターネットの脆弱性は、体系的な問題です。インターネットの成長に伴い、その影響はより顕著になります。
小さなネットワークに情報をルーティングすると、過負荷が発生します。悪意のあるルーティングは、機密情報を間違った場所に持ち込みます。 BGPエラーは、詐欺や大規模な停止の可能性があります。いくつかの注目すべきケースは次のとおりです。
- アマゾン –暗号通貨強盗のためのAmazonDNSのRoute53BGPハイジャック。
- グーグル –中国、ロシア、ナイジェリアにルーティングされたトラフィックの更新中のBGPフィルタリングの設定ミス。
- Mastercard、Visa、および主要銀行 –支払いサービスの36個のプレフィックスが漏洩しました。
- YouTube –パキスタンでYouTubeウェブサイトをブロックしようとすると、結局それが削除されました。
RPKIはどのような保護形態を提供しますか?
BGPの問題は、さまざまな理由で発生します。
- 信頼できるセキュリティ計画はありません
- 再配布の間違い
- タイプミス
- マリス
最も一般的な要因はヒューマンエラーです。
RPKIの暗号化モデルは、公開鍵と証明書のインフラストラクチャを介して、識別情報がなくても所有権認証を提供します。証明書は、IPv4およびIPv6プレフィックスにネットワークセキュリティの層を追加します。 RPKI証明書は毎年更新されます。 HTTPは、同様の暗号化を使用してWebページを保護します。
パス全体が保護されているわけではありませんが、RPKIは発信元のIDを確認し、発信元が本人であることを確認する方法を提供します。 RPKIは、着信情報の発信元と誰がどのスペースを所有しているかを把握しているBGPルーティングを保護するためのステップです。
広範囲に展開することで、全体的なハイジャックをさらに効率的に防ぐことができます。
RPKIのメリット
RPKIの実装と使用には、次の利点があります。
- 原産地証明書 。リソース所有者は、署名された証明書の信頼チェーンを通じて特定のリソースを使用する所有権を証明し、情報の出所に関する間違いを防ぐのに役立ちます。
- 暗号化されたIDの検証 。リソース所有者は、リソースを配布するときに顧客に所有権を証明する方法があります。
- ルートハイジャックの防止 。リソースユーザーは、検証済みのリソース所有者が生成してユーザーに提供するデジタル署名を通じて、リソース所有者から提供された情報を保護します。署名を変更しようとすると、署名が無効になります。
RPKIはどのように機能しますか?
RIR( R 地域の私 インターネットR egistry)は、RPKI暗号化モデルのルート信頼を提供します。 IANA(私 インターネットA 署名されたN アンバーA uthority)はICANN( I )の一部です インターネットC Aのorporation 署名されたN エイムズとN umbers)IPv4およびIPv6アドレス空間を所有している人。
IANAは、IPスペースのチャンクをRIRにサブ割り当てします。次に、ローカルRIRはIPスペースをネットワークにサブアロケーションし、ネットワークはさらに小さなネットワークにサブアロケーションします。このパスは、証明書に署名する際に信頼できるチェーンを作成します。 RIRリージョンは、5つの地理的領域に分割されます。
頭字語 | 氏名 | 地域 |
ARIN | インターネット番号のアメリカのレジストリ | 北米 |
LACNIC | ラテンアメリカおよびカリブ海ネットワーク情報センター | ラテンアメリカ |
RIPENCC | RéseauxIPEuropéensネットワークコーディネーションセンター | ヨーロッパ、西アジア、旧ソ連 |
AFRINIC | アフリカンネットワークインフォメーションセンター | アフリカ |
APNIC | アジア太平洋ネットワーク情報センター | アジア太平洋 |
ROA
チェーンの最後の部分はROA( R oute O rigin A uthorization)。 ROAは、2つの情報を含む単純なドキュメントです。
1.ルートと最大長。
2.ルートを発表するAS。
たとえば、AS65005が1.0.0.0/8から1.0.0.0/12の範囲でアナウンスする場合、ROAにはスコープとAS65005識別子が含まれ、情報の実際の所有者が完全に信頼できるかどうかを検証します。
ROAを作成する方法
ROAを作成する前に考慮すべきことがいくつかあります:
- プレフィックス所有者のみがROAを作成できます。
- 各ROAは、既存のRIRの1つに固有です。
- 所有者は、ROAを作成する前にROA要求キーペアを生成する必要があります。
- ROAリクエストは適切なRIRに送信されます。
ROAの作成方法の詳細については、それぞれのRIRで概説されている手順を参照してください。
- ARIN-https://www.arin.net/resources/manage/rpki/hosted/
- RIPE-https://www.ripe.net/manage-ips-and-asns/resource-management/rpki/resource-certification-roa-management#---creating-and-editing-roas >
- APNIC-https://blog.apnic.net/2019/09/11/how-to-creating-rpki-roas-in-myapnic/
RPKIはどのように展開されますか?
P R P KIは、証明書とROAがパブリックリポジトリでアクセス可能であることを意味します。この情報は、どのプレフィックスがどのASNに属しているかのリストを生成するために使用されます。
証明書の署名とROAの有効期間は、各ネットワークによって個別にチェックされます。次のいずれかが失敗した場合、ROAは無視されます:
1. ROAの開始日または終了日、およびルートにチェーンバックする証明書は過去または将来のものです。
2.いずれかの署名が無効または取り消されています。
テストキャッシュを検証済みリストに合格させたすべてのROA。検証済みのキャッシュリストに基づいて、フィルタが生成され、ルータにアップロードされます。ルーターは、フィルターを介してBGPアドバタイズメントをチェックし、次の3つの結果のいずれかを示します。
- 有効 –ROAが存在します。プレフィックスの長さとAS番号が一致します。
- 無効 –ROAが存在します。プレフィックス長またはAS番号が一致しません。
- 見つからないまたは不明 –ROAはありません。
ルーターは、フィルターによって生成されたプレフィックスの状態に基づいて動作します。
署名プレフィックス
RIRは、プレフィックスに署名するためのオンラインツールを提供します。これにより、プレフィックスとプレフィックス長がASにリンクされます。プレフィックスが署名されると、RPKI検証を実装した他のユーザーがプレフィックスを検証できます。
証明書署名は、プレフィックスが(意図的または意図せずに)ハイジャックされるのを防ぎます。署名された証明書はROAの中核です。 RPKIはパス検証を提供せず、man-in-the-middle攻撃は引き続き可能です。
プレフィックスの検証
検証の実装は、ネットワークの詳細によって異なります。プレフィックス検証用のネットワークを設定する一般的な手順は次のとおりです。
1.RPKIバリデーターのインストール –すべてのインターネットルーティングレジストリ(IRR)からRPKIデータを取得し、署名を検証するソフトウェア。
2.ルートバリデーターを使用してボーダールーターの検証を構成します –ルーターは、検証済みのプレフィックス、プレフィックス長、および送信元ASNの組み合わせで検証キャッシュを埋めます。
3.外部BGPセッションへのBGPフィルターの実装 –すべてのBGPセッション(ピア、トランジット、および顧客)にポリシーを追加して、RPKI無効であるプレフィックスを拒否します。 。