ROV (Route Origin Validation)とは
「ROV (Route origin validation)」または「オリジン検証」とは、 BGP(Border Gateway Protocol)*1ルータにおいて、 伝わってきた経路情報のIPアドレスに対して、 オリジン(特定のIPのネットワークの経路情報を生成するAS*2)が当該IPアドレスの正当な分配先が指定したものになっているかどうかを検証する仕組みです。
BGPによる経路制御では、オリジンASの他に、 経路情報が伝わっていくにあたって経由したASなどの情報がBGPルータ間で交換されます。 BGPそのものには、経路広告の正当性を確認する仕組みがありません。 そのため、オペレータのミスによる誤った設定などによって、 集まった経路情報の中には正しい経路情報とそうでないものとが入り交じることがあります*3。 こうした事態を解決するための仕組みとして、 RPKI (Resource Public Key Infrastructure)*4とROVが考案されました。
BGPの経路制御にROVを導入すると、 経路情報中のIPアドレスとAS番号の組み合わせが正しいかどうかを、 ROA (Route origin authorization)に基づいて検証できるようになります。 ROAとは、IPアドレスを正当に分配されたホルダーが、特定のASに対して、 そのIPのネットワークの経路情報を生成することを認可したことを示す署名付きのデータです。 ROAは、RPKIを使って検証することができる仕組みになっています。
いわゆる"正しくない経路広告"にはさまざまな種類がありますが、 代表的なものとしては
(a) 異なるASがオリジンASとされている経路情報
(b) ASパスが想定されたものとは異なる経路情報*5
があります。ROVはこのうち、 前者(a)のオリジンASが異なること(mis-origination)を検知する仕組みです。
ROVには、経路制御におけるポリシーと矛盾のないROAが不可欠です。 ROAが適切に作成・更新されていなければ、ROVは正しく機能しません。 さらに、インターネットにおける経路制御の適切な拠点ごとに、 ROVが実施されている必要があります。
*1 https://www.nic.ad.jp/ja/basics/terms/bgp.html
*2 https://www.nic.ad.jp/ja/basics/terms/as.html
*3 BGP経路制御での正しくない設定は、 オペレータのミスだけに限らず、分配を受けていないオペレータがIPアドレスを不正に使用する目的で、 意図的に行っている場合があります。
*4 https://www.nic.ad.jp/ja/basics/terms/resource-pki.html
*5 ASパスが正しいかどうかは「ASパス検証」の仕組みによって検証できるとされています。