ROAとは
ROA (Route Origin Authorization)は、 BGP (Border Gateway Protocol)(*1)で使われるAS (Autonomous System)番号(*2)と、 IPアドレスの組み合わせに対して、 それが正しい組み合わせであることを示す電子署名が施されたデータです(*3)。 ROAは、数多くのBGPルータ同士でインターネットの経路情報を交換する際に、 経路情報の正当性を確認できるようにすることを目的としています。
ROAの電子署名は、 IPアドレスの正しい割り振りや割り当てであることを示す、 リソース証明書の私有鍵を使って行われます。 従ってROAの電子署名が確認できれば、 ROAに含まれるIPアドレスがレジストリから正しく割り振られたものであり、 かつ割り当て先によってASに対して経路広告することが認可(authorize)された、 正しい経路情報であることが分かります。
ROAの元になる概念は、1997年頃、 リソースPKI(*4)の提案者であるStephen Kent氏、 Charles Lynn氏らによって公表されました(*5)。 BGPルータには、BGPの仕組み上、 正しいかどうか分からないIPアドレスを含む経路情報が伝達されてきます。 世界のどこかのBGPルータでIPアドレスの入力ミスがあったり、 故意による不正な設定がされたりしていても、 各BGPルータではそれを検知することはできません。
ROAはIPアドレスの割り当て先によって作成され、 リポジトリと呼ばれるサーバに置かれます。 ROAをダウンロードしてBGPの経路情報と比較することで、 本来の経路情報であるかどうかどうかが確認できます。 もし異なる組み合わせの経路情報があった場合には、 BGPルータの経路表に加えないなどの対応を行うことで、 いわゆる"経路ハイジャック"の影響がインターネットに広がって行くことを防ぐことができると考えられています。
五つの地域インターネットレジストリ(RIR)では、 リソース証明書とROAが提供されています。 一方、IETF SIDR WGではBGPルータにおける確認処理の方式が提案され、 2012年2月にRFC化されました(*6)。
(*1) http://www.nic.ad.jp/ja/basics/terms/bgp.html
(*2) http://www.nic.ad.jp/ja/tech/glos-ah.html#01-ASbangou
(*3) "A Profile for Route Origin Authorizations (ROAs)", RFC6482, Feb,2012,
http://www.ietf.org/rfc/rfc6482.txt
(*4) http://www.nic.ad.jp/ja/basics/terms/resource-pki.html
(*5) BBN Report 8217, "An Architecture for BGP Countermeasures," November 1997
(*6) "Validation of Route Origination Using the Resource Certificate Public Key Infrastructure (PKI) and Route Origin Authorizations (ROAs)", RFC6483, Feb, 2012,
http://www.ietf.org/rfc/rfc6483.txt