HOME情報セキュリティ資料・報告書・出版物調査・研究報告書情報セキュリティ技術動向調査(2011 年下期)

本文を印刷する

情報セキュリティ

情報セキュリティ技術動向調査(2011 年下期)

7. インターネット経路制御のセキュリティに関する動向
- BGPSEC

木村 泰司

7.1. BGPSECの動向

 現代のインターネットは、BGP(Border Gateway Protocol)[1]と呼ばれるプロトコルを扱うルーター(以下、BGPルーターと呼ぶ)が相互に接続することで、IP(Internet Protocol)のパケットが届く世界規模のネットワークとして形作られている[2]。BGPルーターはISP(Internet Service Provider)等に設置され、IPアドレスやインターネットの経路に関する情報をBGPルーター同士で交換しており、隣接していないIPのネットワークに対してIPパケットが転送できるようになっている。
 2011年後半、このBGPに、セキュリティの仕組みを加えるためのBGPSEC(BGP Security Extension)に関する議論がIETF(Internet Engineering Task Force)で活発化した。2011年7月から12月にかけて、提案文書であるInternet-Draftが出揃ってきた。また米国のNIST(National Institute of Standards and Technology)では、BGPSECやリソースPKI [3]に関する試験や評価を行うプロジェクト[4]が立ち上がり、実現性を検証する動きが出てきている。
 本稿では、2011年下半期のインターネット経路制御のセキュリティに関する動向としてBGPSECを解説する。

7.2. BGPSECの背景と現状

 BGPSECのような、インターネットのASパス(経路に関する情報)を確認するための技術は、2009年頃、IETF SIDR WG(Secure Inter-Domain Routing Working Group)で既に標準化に向けた話題として上がっていた。しかし、当時はリソースPKIとこれを使ったIPアドレスの正しさを確認する仕組み[5]の標準化に向けた議論の最中であり、BGPSECの議論に入れない状況であった。WGのメンバーの間でもBGPSECの技術標準化の必要性が認められていたものの、まずリソースPKIとSecure BGPを標準化してIPアドレスの正しさを確認できるようにする、というのがWGとしての考え方であった。その標準化が一段落した2011年になって、ようやくBGPSECの標準化が始まったのである。
 BGPSECは、まだその名称がひとつに絞られておらず、”BGP Security Extension”または”A security extension to BGP”などと呼ばれている。BGPSECは、BGPで伝えられるメッセージの中の重要な情報であるASパスと呼ばれる情報とIPアドレスが正しいかどうかをBGPルーターにおいて確認するための仕組みである。
 不正なASパスの情報をBGPルーターの間にうまく伝えることができると、インターネットからの特定のISPへの到達性を失わせたり、インターネットの経路を操作して特定のWebサービスのすべてのトラフィックを盗聴したり、更にはMan-in-the-Middle攻撃を行ったりすることが可能である[6]
 執筆現在、BGPSECに関してまとまった文献はほとんど無く、詳しい文献には、全体像を述べた「An Overview of BGPSEC」[7]や、IPv4アドレスの枯渇予測で知られるGeoff Huston氏によるISP Columnの記事「Securing BGP with BGPsec」[8]がある。
 BGPSECの標準化は始まったばかりであるが、後述するNISTにおけるシミュレーションでは、2016年が普及の始まる目処とされている。リソースPKIの標準化に5年かかっていることから、今後、2~3年で詳細が決められていくと考えられる。

7.3. BGPSECの仕組み

 BGPSECはいくつかの脅威モデルが立てられ、それらに対策するための仕組みとして考案された[9]。例えば、インターネットの経路の途中でASパスの中に不正な値を追加されたときに、BGPルーターにおいてそれをどう検知するか、といった考え方である。その仕組みの中で重要な役割を果たすのが、BGPSECパス署名と呼ばれる電子署名である。
 BGPでは、AS番号(Autonomous System Number)と呼ばれる数字でネットワークが識別される。AS番号はIPアドレスと同様に、JPNICのような「インターネットレジストリ」から、ISP毎にひとつ、またはGoogleやYahoo、YouTubeといったサービスのネットワークにひとつといった形で割り当てられている。AS同士がBGPを使って経路の情報を交換することでIPを使った広域の通信ができるようになっている。AS同士は、どのASを経由するとあて先のIPアドレスに到達できるかを示す、ASパスと呼ばれるAS番号の並びの情報を交換している。ASパスは、IPアドレスのプレフィックスに続いて送られる。

図1: BGPとASパス


 図1はBGPルーターAのAS001が含まれるASパスの情報がBGPルーターCに伝わっていく様子を示している1 。BGPルーターAは10.1.0.0/16というIPアドレスのネットワークを収容しており、BGPルーターBは10.2.0.0/16というネットワークを収容している。BGPルーターBから10.1.0.0/16にIPパケットを到達させるためには、BGPルーターA、すなわちAS001にIPパケットを転送すればよい。これを「10.1.0.0/16, AS001」と示している。
 BGPルーターAと隣接していないネットワークからも到達できるようにするため、AS001の情報は、BGPルーターBからBGPルーターCに伝えられる。そのとき先頭にAS002が加えられる。AS003のネットワークからAS001のネットワークに到達するには、まずAS002を通る必要があるという意味である。この情報は「10.1.0.0/16, AS002, AS001」と示される。このAS002 AS001というAS番号の列がASパスである。
 このASパスの情報に対して電子署名を行ったものがASパス署名である。ASパス署名は各ASによって署名が加えられていくため、入れ子構造をしている。

図2: BGPSECパス署名


 図2はASパス署名が加えられたネットワーク層到達性情報を示している。ネットワーク層到達性情報はASパスを伝えるためのBGPのメッセージに入っている。ふき出しの10.1.0.0/16へのネットワーク層到達性情報の中では、始めにASパス(AS_Path)が示され、その後にBGPSECパス署名(BGPSEC_Path_Signature)がつけられている2
 AS001は、次のASがAS002であることを示すため、「10.1.0.0/16, AS001」にAS002を加えた値に電子署名を行っている。これをAS001 sig{10.1.0.0/16, AS001, AS002}と表している。AS002はこれに次のASである「AS003」を加えて更に電子署名を行っている。これがAS002 sig{{10.1.0.0/16, AS001, AS002}, AS003}である。これを受け取ったAS003は、BGPSEC_Path_Signatureをひとつずつ確認した結果をAS_Pathと比較し、相違がなければ本来の経路であることがわかる。
 もし途中のBGPルーターで不正にASパスが変更されると、その箇所のAS番号の並びに対しては有効な電子署名がつかないことになる。また本来と異なるBGPルーターが他のASに成りすまそうとしても、その署名のための秘密鍵を持っていないため、正しい電子署名を加えることができない。更に経路の情報に含まれるあて先IPアドレスが詐称された場合は、リソース証明書とROA(Route Origination Authorization)を使って本来のIPアドレスではないことが確認できる。つまりBGPで伝えられる重要な情報を電子署名で確認できるようにしているのである。
 運用面のメリットもある。ASのつながりが変わったときに、それが運用者の意図通りである場合には、そのひとつひとつについて各国のネットワーク管理者の間で連絡を取りあわなくてもよいことになる。また、例えば、特定のISPのトラフィックを一旦中継して通信内容を改ざんするようなMan-in-the-Middle攻撃や、過去に起きたYouTubeの事件のように、他のASによって特定のサービスの到達性が失われるような不正な経路の情報が国際的に伝わってしまう範囲、つまり影響範囲を、各BGPルーターにおいて小さくできると考えられる。



1 実際には、基本的に双方向に伝えられていく。
2 執筆の段階では、ASパス署名の中のAS番号の順列はASパスとは異なる。

7.4. 実現に向けた大きな課題

 BGPSECは、電子署名の技術を使って不正なASパスの操作から経路を守る技術である。従って、各ASのBGPルーターにおいて電子署名を施し、また検証できる必要が出てくる。これには大きく分けてふたつの課題がある。
 ひとつめは、ルーターの性能である。米国のNISTにおけるシミュレーション[10]によると、ASパスが含まれるBGPのUpdateと呼ばれるメッセージの平均のサイズは平均78バイトであるが、BGPSECパス署名が含まれると平均1,188バイトになる(鍵長2,048ビットのRSAを使った場合)。BGPルーターにBGPSECが導入され、仮に2016年から普及し始めた場合、2020年頃にはIPv4だけで7.9Gバイトものメモリ量3が必要になる。IPv6も加えると更に増える[11]。現代のBGPルーターは数百Mバイトのメモリ量で経路の情報が溢れる恐れが指摘されており、このサイズは現代のBGPルーターでは考えられないほど大きい。
 もうひとつは、ASにおける電子証明書の普及4 、そしてその運用である。インターネットの接続性を維持するために、BGPルーターのオペレーターは、秘密鍵を管理したり証明書の有効期限に気をつけたりする必要がある。TLS(Transport Layer Security)のサーバ証明書を扱うよりも更に慎重な運用が求められる可能性が高い。
 BGPSECはIETFにおける標準化が始まったばかりである。その実現には大きな課題があるが、BGPにおけるIPアドレスの不正な利用や、適切かどうかわからないASパスは、米国や欧州、そして日本でも観測されている。BGPのネットワークは国際的なものであるため、各国の社会情勢や外交上の問題がインターネットという共通基盤に対する脅威につながりなりかねない。また、インターネットにおける到達性が、一部の人によって操作できるものになってしまうと、テロ行為のために使われてしまう恐れもある5
 BGPSECが、グローバルなインターネットにみられる不正な経路制御に対して、どれほど有効に機能し、また日常的な運用のできる技術になっていくのか、今後も動向をみていく必要がある。

以上



3 ここではRIB(Routing Information Base)のサイズをメモリ量と呼んでいる。
4 IPアドレスやAS番号が入った電子証明書であるリソース証明書の方は、世界の5つの地域インターネットレジストリから提供が始まっている。しかし、これを使う実装がほとんどなく、普及には至っていない。
5 本文で紹介したNISTのBRITEは、米国国土安全保障省の活動の一環でもある。

参考文献

[1]

Y. Rekhter, T. Li, “A Border Gateway Protocol 4 (BGP-4)”, March 1995, RFC1771, http:/www.ietf.org/rfc/rfc1771.txt

[2]

あきみち,空閑 洋平,「インターネットのカタチ―もろさが織り成す粘り強い世界―」
(2011年6月)ISBN-10:4274068/162, ISBN-13:978-4274068/169

[3]

木村泰司,「Resource PKIの動向」,情報セキュリティ技術動向調査(2008年下期), 2009年3月, http:/www.ipa.go.jp/security/fy20/reports/tech1-tg/2_09.html

[4]

“BRITE - BGPSEC / RPKI Interoperability Test & Evaluation”, National Institute of Standards and Technology (NIST), http:/brite.antd.nist.gov/

[5]

“An Infrastructure to Support Secure Internet Routing”, M. Lepinski, S. Kent, (May 2011), http:/tools.ietf.org/html/draft-ietf-sidr-arch-13

[6]

Alex Pilosov, Tony Kapela, “Stealing The Internet - An Internet-Scale Man In The Middle Attack”, Defcon 16, Las Vegas (Aug, 2008),
http://safecomputing.umich.edu/events/sumit08/docs/kapela-umich-edited-defcon.ppt

[7]

M. Lepinski, S. Turner, “An Overview of BGPSEC” (October 2011),
http:/tools.ietf.org/html/draft-ietf-sidr-bgpsec-overview-01

[8]

Geoff Huston, Randy Bush, “Securing BGP with BGPsec” (July 2011),
http:/www.potaroo.net/ispcol/2011-07/bgpsec.html

[9]

“S. Kent, Threat Model for BGP Path Security” (February 2011),
http:/tools.ietf.org/html/draft-kent-bgpsec-threats-01

[10]

K. Sriram, O. Borchert, O. Kim, D. Cooper, and D. Montgomery, “RIB Size Estimation for BGPSEC”, (May 2011),
http:/www.antd.nist.gov/~ksriram/BGPSEC_RIB_Estimation.pdf

[11]

K. Sriram, O. Borchert, O. Kim, D. Cooper, and D. Montgomery, “RIB Size Estimation for BGPSEC Including IPv4 and IPv6”, (June 2011),
http:/www.antd.nist.gov/~ksriram/BGPSEC_RIB_Estimation_v4_v6.pdf

 

目次へ