(57)【特許請求の範囲】
【請求項１】
IPアドレスを用いてパケットの転送制御を行う通信装置であって、
パケットの転送を制限する制限条件を定めた第１規則を用いて、自通信装置が受信したパケットのうち前記第１規則に該当するパケットの転送を制限し、
パケットの送信元への経路である逆行経路を示す逆行経路情報を含む第２規則を用いて、前記第１規則に該当しないパケットのうちから、前記受信したパケットの送信元IPアドレスが前記第２規則の逆行経路情報に含まれる第１パケットを特定して前記第１パケットを転送し、前記受信したパケットの送信元IPアドレスが前記第２規則の逆行経路情報に含まれない第２パケットの転送を制限することで、前記第１パケットを前記逆行経路のアドレス空間内に制限する転送部と、
被害を受けた端末装置側からの第１制限要求を前記受信したパケットから抽出し、前記抽出した第１制限要求に基づいて、前記第１規則の前記制限条件を更新し、前記第１制限要求に基づく第２制限要求を含む要求パケットを生成し、前記逆行経路側にある他の通信装置の第１規則を更新するように攻撃元への経路に向けて送出する制御部と
を備える通信装置。
【請求項２】
前記第１制限要求は、転送元の真正性と前記第１制限要求の完全性を検証するための第１検証コードが付加され、
前記制御部は、
前記抽出した第１検証コードを用いて前記第１制限要求に係る前記真正性と前記完全性の検証を行い、前記検証に成功した後、前記第１制限要求に該当するパケットの前記転送部による転送を制限し、さらに、
前記第２制御要求に、前記転送元の真正性と前記第２制御要求の完全性を検証するための第２検証コードを付加した前記要求パケットを生成し、前記攻撃元への経路に向けて送出する
請求項１に記載の通信装置。
【請求項３】
請求項１または請求項２に記載の通信装置を複数備えた通信システムであって、
前記複数の通信装置のうち第１通信装置は、
通信利用者ネットワークの通信事業者ネットワーク寄りの端部に設けられ、
前記複数の通信装置のうち第２通信装置は、
一つ又は複数の前記第１通信装置を収容するよう前記通信事業者ネットワークの通信利用者ネットワーク寄りの端部に設けられ、
前記複数の通信装置のうち第３通信装置は、
前記通信事業者ネットワークにおける他の通信事業者ネットワークとの境界に設けられる
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置及び通信システムに関する。
【背景技術】
【０００２】
従来、複数のノードを含んで構成されるネットワークにおける通信を、そのネットワークの管理者が定める通信規則に従って制御する集中制御型の通信制御装置が知られている。関連するＯｐｅｎＦｌｏｗ（登録商標）という技術がある。ＯｐｅｎＦｌｏｗでは、コントローラが各ノードのスイッチを一元管理する（特許文献１、非特許文献１参照）。
ところで、サイバー攻撃は、年々過激化・巧妙化する傾向にあり、攻撃の手法やタイミングを予測しきることができず、攻撃が顕在化してから、管理者が定めた通信規則を変更するなどの対策を講じている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１４−５２６８１０号公報
【非特許文献】
【０００４】
【非特許文献１】“OpenFlow  Switch Specification Version 1.3.1,”The Open Networking Foundation,(2013),［ｏｎｌｉｎｅ］、［平成２８（２０１６）年１月７日検索］、インターネット〈https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、攻撃が顕在化してから管理者が通信規則を変更するという対策では、その対策が実施されるまで、攻撃により発生した過度のトラフィックを制限することができない。また、大規模なネットワークでは、通信規則の変更を適切に行うこと自体が困難となる場合がある。
【０００６】
本発明が解決しようとする課題は、攻撃等により発生した不正や過度のトラフィックの要因となるパケットの送信元アドレスの範囲をより速やかに特定することができる通信装置及び通信システムを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一態様に係る通信装置は、IPアドレスを用いてパケットの転送制御を行う通信装置であって、パケットの転送を制限する制限条件を定めた第１規則を用いて、自通信装置が受信したパケットのうち前記第１規則に該当するパケットの転送を制限し、パケットの送信元への経路である逆行経路を示す逆行経路情報を含む第２規則を用いて、前記第１規則に該当しないパケットのうちから、前記受信したパケットの送信元IPアドレスが前記第２規則の逆行経路情報に含まれる第１パケットを特定して前記第１パケットを転送し、前記受信したパケットの送信元IPアドレスが前記第２規則の逆行経路情報に含まれない第２パケットの転送を制限することで、前記第１パケットを前記逆行経路のアドレス空間内に制限する転送部と、被害を受けた端末装置側からの第１制限要求を前記受信したパケットから抽出し、前記抽出した第１制限要求に基づいて、前記第１規則の前記制限条件を更新し、前記第１制限要求に基づく第２制限要求を含む要求パケットを生成し、前記逆行経路側にある他の通信装置の第１規則を更新するように攻撃元への経路に向けて送出する制御部とを備える。
本発明の一態様に係る通信装置は、前記第１制限要求は、転送元の真正性と前記第１制限要求の完全性を検証するための第１検証コードが付加され、前記制御部は、前記抽出した第１検証コードを用いて前記第１制限要求に係る前記真正性と前記完全性の検証を行い、前記検証に成功した後、前記第１制限要求に該当するパケットの前記転送部による転送を制限し、さらに、前記第２制御要求に前記転送元の真正性と前記第２制御要求の完全性を検証するための第２検証コードを付加した前記要求パケットを生成し、前記攻撃元への経路に向けて送出する。
本発明の一態様に係る通信システムは、通信装置を複数備え、前記複数の通信装置のうち第１通信装置は、通信利用者ネットワークの通信事業者ネットワーク寄りの端部に設けられ、前記複数の通信装置のうち第２通信装置は、一つ又は複数の前記第１通信装置を収容するよう前記通信事業者ネットワークの通信利用者ネットワーク寄りの端部に設けられ、前記複数の通信装置のうち第３通信装置は、前記通信事業者ネットワークにおける他の通信事業者ネットワークとの境界に設けられる。
【発明の効果】
【００２２】
本発明の一態様によれば、攻撃等により発生した過度のトラフィックをより速やかに制限することができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態に係る通信システムを示す構成図である。
【図２】本実施形態に係る通信システムの構成例を示す図である。
【図３】ｅＭＬＢＲ１１における処理の手順を示すフローチャートである。
【図４】ｉＭＬＢＲ１２における処理の手順を示すフローチャートである。
【図５】ｂＭＬＢＲ１３における処理の手順を示すフローチャートである。
【図６】スイッチ部を示す図である。
【図７】廃棄テーブルの一例を示す図である。
【図８】パケットタイプテーブルの一例を示す図である。
【図９】ＳＣＯＰＥテーブルの一例を示す図である。
【図１０】ＤＲＭの一例を説明するための図である。
【図１１】ＤｏＳ攻撃遮断実験の構成を示す図である。
【図１２】各ノードで観測した累積パケット数の継時変化を示す図である。
【図１３】変形例のｂＭＬＢＲ１３における処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、図面を参照し、本発明の通信制御装置、通信装置、通信システム、通信制御方法、及びプログラムの実施形態について説明する。
【００２５】
図１は、本実施形態の通信システム１の構成を示す図である。
通信システム１は、ネットワークＮＷ１を形成する。ネットワークＮＷ１は、互いに通信を可能とする１又は複数の他のネットワークに接続されている。ネットワークＮＷ２とネットワークＮＷ３とネットワークＮＷ４は、他のネットワークの一例である。以下の説明において、ネットワークＮＷ１、ネットワークＮＷ２、ネットワークＮＷ３、ネットワークＮＷ４等を総称してネットワークＮＷということがある。例えば、各ネットワークＮＷは、異なるＩＳＰ（Internet Service Provider）等によって独立して管理されており、管理者が定める通信規則（ポリシー等）はそれぞれ異なるものとする。例えば、各ネットワークＮＷは、互いに接続されており、例えば、それぞれがインターネットの一部を構成する。
【００２６】
通信システム１は、ｅＭＬＢＲ（egress Multi Layer Binding Router）１１と、ｉＭＬＢＲ（ingress MLBR）１２と、ｂＭＬＢＲ（border MLBR）１３と、中継装置１４と、管理装置１５とを含む。以下の説明において、ｅＭＬＢＲ１１と、ｉＭＬＢＲ１２と、ｂＭＬＢＲ１３とを総称してＭＬＢＲ１０ということがある。各ＭＬＢＲ１０は、通信システム１の通信ノードとして機能する。通信システム１は、複数のＭＬＢＲ１０によってネットワークＮＷ１を構成する。ネットワークＮＷ１内の各ＭＬＢＲ１０間は、互いに直接的に接続されていてもよく、中継装置１４等を介して接続されていてもよい。
【００２７】
通信システム１には、ユーザが操作する端末装置１７、ＩｏＴ（Internet of Things）と総称される各種データ端末１８などの端末が通信可能に接続される。例えば、端末装置１７とデータ端末１８は、ｅＭＬＢＲ１１等を介して、各端末からの要求等に起因する所望の通信を実施する。
【００２８】
管理装置１５は、通信システム１における基本設定を行うとともに、各ＭＬＢＲ１０の状態を監視させてもよい。さらに管理装置１５は、連携サーバとして機能し、端末装置１７などの認証と検疫を担うＨＲＳ（Home RADIUS Server）として機能させてもよい。また、管理装置１５は、ＩＤＳ（Intrusion Detection System）／ＩＰＳ（Intrusion Prevention System）等により検出した通信履歴を記憶するように構成してもよい。
【００２９】
通信システム１と同様に、通信システム２は、ネットワークＮＷ２を形成する。通信システム２は、ｅＭＬＢＲ２１と、ｉＭＬＢＲ２２と、ｂＭＬＢＲ２３と、管理装置２５とを含む。また、通信システム３は、ネットワークＮＷ３を形成する。通信システム３は、ｅＭＬＢＲ３１と、ｉＭＬＢＲ３２と、ｂＭＬＢＲ３３と、管理装置３５とを含む。通信システム２におけるｅＭＬＢＲ２１と、ｉＭＬＢＲ２２と、ｂＭＬＢＲ２３と、管理装置２５、及び、通信システム３におけるｅＭＬＢＲ３１と、ｉＭＬＢＲ３２と、ｂＭＬＢＲ３３と、管理装置３５は、通信システム１のｅＭＬＢＲ１１と、ｉＭＬＢＲ１２と、ｂＭＬＢＲ１３と、管理装置１５にそれぞれ対応する。
【００３０】
通信システム４は、ネットワークＮＷ４を形成する。通信システム４は、通信システム１とは異なり、ＭＬＢＲ１０を含まずに、ＭＬＢＲ１０とは異なるルータ等により構成される。
【００３１】
ところで、通信システム１において、端末装置１７及びデータ端末１８に到来するパケットの個数又は頻度が異常に高くなることがある。例えば、その原因がＤＤｏＳ攻撃の場合には、ネットワークＮＷ上に分散して配置された多数のコンピュータから端末装置１７及びデータ端末１８に対するパケットが到来する。通信システム１は、ＤＤｏＳ攻撃に参加しているコンピュータ等からのパケットを選択的に遮断して、通信の安全性を確保する。
【００３２】
なお、上記のように悪意を持って送られた攻撃パケットを遮断するように構成したシステムであっても、悪用されることが考えられる。通信システム１では、下記の点に留意してその完全性を確保する。
【００３３】
通信システム１は、端末装置１７とデータ端末１８などの端末について、真正性と健全性を検査して、その結果に応じて帯域制限や通信相手の限定等を課すサービス品質（ＱｏＳ）を決定する。
【００３４】
通信システム１は、ＭＬＢＲ１０が保持管理する物理ポート又は（セキュア）チャネルをキーにＭＡＣアドレスとＩＰアドレスとの対応関係を管理する。通信システム１は、上記の対応関係を満足しないパケットをアドレス詐称パケットとみなして廃棄する。
【００３５】
通信システム１は、真正性と健全性が確認された端末装置１７等の端末から、正当な攻撃パケットの廃棄要請を受ける。通信システム１は、その廃棄要請に基づいて、ＭＬＢＲ１０における転送を制限するための規則を更新し、以降、該当するアドレス非詐称の攻撃パケット等を廃棄する。
【００３６】
（ＭＬＢＲ１０）
通信システム１を構成するＭＬＢＲ１０には、複数のタイプがあり、互いに構成と用途が異なる。利用者ネットワーク側の出口（egress）に設置するｅＭＬＢＲ１１と、ネットワークＮＷ１の利用者側入口（ingress）端部（エッジ）に設置するｉＭＬＢＲ１２と、他のネットワークとの境界に配置するｂＭＬＢＲ１３は、ＭＬＢＲ１０の一例である。ＭＬＢＲ１０の各タイプを上記のように配置することにより、例えば、外部のネットワークから大量の送信元ＩＰアドレスを詐称するパケットが送り付けられても、ｂＭＬＢＲ１３が当該攻撃パケットを遮断する。ｂＭＬＢＲ１３は、その処理を実施するに当たり送信元ＩＰアドレス以外の情報を組み合わせて利用して、より正確に処理をする。例えば、送信元ＩＰアドレス以外の情報には、攻撃パケットの廃棄を要請した端末装置１７もしくは実際に攻撃された通信端末等のＩＰアドレス、ポート番号等が含まれていてもよい。
【００３７】
図２を参照して、通信システム１における各ＭＬＢＲ１０について説明する。図２は、通信システム１の構成例を示す図である。通信システム１における各ＭＬＢＲ１０の詳細について順に説明する。
【００３８】
（ｅＭＬＢＲ１１）
ｅＭＬＢＲ１１（通信装置）は、コントローラ１１１（制御部）と、ＩＦ部１１３と、ＩＦ部１１４と、スイッチ部１１２（転送部）と、記憶部１１５とを含む。コントローラ１１１と記憶部１１５の組み合わせは通信制御装置の一例である。
【００３９】
ＩＦ部１１３は、端末装置１７又はデータ端末１８とのインタフェースである。例えば、端末装置１７又はデータ端末１８と有線で通信する場合、ＩＦ部１１３は、通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部１１２に出力し、スイッチ部１１２により転送されたパケットを、物理ポートに接続される通信回線に出力する。また、例えば、端末装置１７又はデータ端末１８と無線で通信する場合、ＩＦ部１１３は、無線通信の（セキュア）チャネルに対応させて設けられ、特定の（セキュア）チャネルから取得したパケットをスイッチ部１１２に出力し、スイッチ部１１２により転送されたパケットを、特定の（セキュア）チャネルまたは有線の物理ポートに出力する。以下、物理ポートと（セキュア）チャネルを接続ポートと総称する。
【００４０】
ＩＦ部１１４は、他のＭＬＢＲ１０等と通信する際のインタフェースである。例えば、ＩＦ部１１４は、通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部１１２に出力し、スイッチ部１１２により転送されたパケットを、物理ポートに接続される通信回線に出力する。
【００４１】
スイッチ部１１２は、コントローラ１１１により設定された条件に基づいて、ＩＦ部１１３とＩＦ部１１４とコントローラ１１１等の間でパケットを転送する。例えば、スイッチ部１２２は、プロトコルスタックのレイヤ２（Ｌ２）からレイヤ４（Ｌ４）までの各ヘッダ情報に基づいて、当該パケットの転送を制御する。パケットを転送する処理の詳細は後述する。
【００４２】
記憶部１１５は、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）、ＨＤＤ（Hard Disk Drive）等の不揮発性の記憶装置と、ＲＡＭ（Random Access Memory）レジスタ等の揮発性の記憶装置によって実現される。記憶部１１５は、ｅＭＬＢＲ１１を機能させるためのプログラム、スイッチ部１１２を制御するための複数のテーブル、通信履歴情報等を格納する。例えば、第１記憶部１１５１と第２記憶部１１５２とは、上記の複数のテーブルの一例である。第１記憶部１１５１は、ｅＭＬＢＲ１１が受信した受信パケット（受信データ）の転送を制限する条件を定めた第１規則を記憶する。受信パケットは、ヘッダ情報とデータ（受信データ）とを含んで構成される。第２記憶部１１５２は、受信パケットの転送を許可する条件を定めた第２規則を記憶する。第１規則と第２規則の詳細は後述する。
【００４３】
コントローラ１１１は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサを有する。コントローラ１１１は、記憶部１１５に記憶されているプログラムにより、記憶部１１５に記憶されている複数のテーブルに基づいて、スイッチ部１１２を制御する。
【００４４】
（ｉＭＬＢＲ１２）
ｉＭＬＢＲ１２は、コントローラ１２１と、ＩＦ部１２３と、ＩＦ部１２４と、スイッチ部１２２と、記憶部１２５とを含む。
【００４５】
ＩＦ部１２３は、ｅＭＬＢＲ１１と通信する際のインタフェースである。ＩＦ部１２３は、ｅＭＬＢＲ１１に対する通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部１２２に出力し、スイッチ部１２２により転送されたパケットを、物理ポートに接続される通信回線を介してｅＭＬＢＲ１１に対し出力する。
【００４６】
ＩＦ部１２４は、他のＭＬＢＲ１０等と通信する際のインタフェースである。例えば、ＩＦ部１２４は、他のＭＬＢＲ１０等に対する通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部１２２に出力し、スイッチ部１２２により転送されたパケットを、物理ポートに接続される通信回線を介して他のＭＬＢＲ１０等に対し出力する。
【００４７】
スイッチ部１２２は、コントローラ１２１により設定された条件に基づいて、ＩＦ部１２３とＩＦ部１２４とコントローラ１２１等の間でパケットを転送する。例えば、スイッチ部１２２は、Ｌ２からＬ４までのヘッダ情報に基づいて、当該パケットの転送を制御する。パケットを転送する処理の詳細は後述する。
【００４８】
記憶部１２５は、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ等の不揮発性の記憶装置と、ＲＡＭ、レジスタ等の揮発性の記憶装置によって実現される。記憶部１２５は、ｉＭＬＢＲ１２を機能させるためのプログラム、スイッチ部１２２を制御するための複数のテーブル、通信履歴情報等を格納する。例えば、テーブル１２５１（第１記憶部）とテーブル１２５１（第１記憶部）とは、上記の複数のテーブルの一例である。テーブル１２５１は、ｉＭＬＢＲ１２が受信した受信パケット（受信データ）の転送を制限する条件を定めた第１規則を記憶する。テーブル１２５２は、受信パケットの転送を許可する条件を定めた第２規則を記憶する。第１規則と第２規則の詳細は後述する。
【００４９】
コントローラ１２１は、例えば、ＣＰＵ等のプロセッサを有する。コントローラ１２１は、記憶部１２５に記憶されているプログラムにより、記憶部１２５に記憶されている複数のテーブルに基づいて、スイッチ部１２２を制御する。
【００５０】
（ｂＭＬＢＲ１３）
ｂＭＬＢＲ１３は、コントローラ１３１と、ＩＦ部１３３と、ＩＦ部１３４と、スイッチ部１３２と、記憶部１３５とを含む。
【００５１】
ＩＦ部１３３は、他のＭＬＢＲ１０等と通信する際のインタフェースである。ＩＦ部１３３は、他のＭＬＢＲ１０等に対する通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部１３２に出力し、スイッチ部１３２により転送されたパケットを、物理ポートに接続される通信回線を介してｅＭＬＢＲ１１に対し出力する。
【００５２】
ＩＦ部１３４は、他のネットワークＮＷ等と通信する際のインタフェースである。例えば、ＩＦ部１３４は、ネットワークＮＷ２に対する通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部１３２に出力し、スイッチ部１３２により転送されたパケットを、物理ポートに接続される通信回線を介して、ネットワークＮＷ２などの他のネットワークＮＷに対し出力する。
【００５３】
スイッチ部１３２は、コントローラ１３１により設定された条件に基づいて、ＩＦ部１３３とＩＦ部１３４とコントローラ１３１等の間でパケットを転送する。例えば、スイッチ部１２２は、Ｌ２からＬ４までのヘッダ情報に基づいて、当該パケットの転送を制御する。パケットを転送する処理の詳細は後述する。
【００５４】
記憶部１３５は、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ等の不揮発性の記憶装置と、ＲＡＭ、レジスタ等の揮発性の記憶装置によって実現される。記憶部１３５は、ｂＭＬＢＲ１３を機能させるためのプログラム、スイッチ部１３２を制御するための複数のテーブル、通信履歴情報等を格納する。例えば、テーブル１３５１（第１記憶部）とテーブル１３５１（第１記憶部）とは、上記の複数のテーブルの一例である。テーブル１３５１は、ｂＭＬＢＲ１３が受信した受信パケット（受信データ）の転送を制限する条件（制限条件）を定めた第１規則を記憶する。テーブル１３５２は、受信パケットの転送を許可する条件（許可条件）を定めた第２規則を記憶する。第１規則と第２規則の詳細は後述する。
【００５５】
コントローラ１３１は、例えば、ＣＰＵ等のプロセッサを有する。コントローラ１３１は、記憶部１３５に記憶されているプログラムによりスイッチ部１３２を制御する。例えば、コントローラ１３１は、端末装置１７からの要請に基づいて、スイッチ部１３２の転送処理を変更する。
【００５６】
上記のとおり、各ＭＬＢＲ１０は、それぞれコントローラとスイッチ部とを含む。ＭＬＢＲ１０のコントローラは、他のＭＬＢＲ１０のコントローラから取得した情報等に基づいて、自装置のスイッチ部をそれぞれ制御する。
【００５７】
（端末装置１７）
端末装置１７は、ＣＰＵと、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＲＡＭ、レジスタ等の記憶装置と、を含むコンピュータであり、実行するプログラムにより端末或いはサーバとして機能する。例えば、端末装置１７のＣＰＵは、プログラムの実行により、端末装置１７を、ＩＤＳ／ＩＰＳとして機能する。端末装置１７は、端末装置１７に実装したもしくは端末装置１７が接続しているローカルエリアネットワークに接続されたＩＤＳ／ＩＰＳにより、所定の通信量又は頻度を超えて到来するパケットや、その振る舞いの異常さもしくは既知の攻撃パターンなどから攻撃パケットとして検出する。端末装置１７は、攻撃パケットを検出した場合に、ネットワークＮＷ１における攻撃パケットの転送を中断させることを要求するメッセージをｅＭＬＢＲ１１に対して送信する。例えば、ｅＭＬＢＲ１１攻撃パケットの転送を中断させることを要求するメッセージを、攻撃パケットを廃棄することを要求する廃棄要請メッセージとして受け付けて、攻撃パケットを廃棄してもよい。以下の説明では、攻撃パケットの転送を中断させることを要求するメッセージをＤＲＭ（Dropping Request Message）と呼ぶ。
【００５８】
例えば、端末装置１７は、自装置の正当性と完全性を示す検証用データをＤＲＭに付加してｅＭＬＢＲ１１へ送信する。ｅＭＬＢＲ１１は、受信した検証用データもしくは認証コードを検証し，その正当性（ＩＤＳ／ＩＰＳが改ざんされたり、マルウェアに感染していたりしないことなど）と、完全性（データが改ざんされていないこと）とを確認する。なお、端末装置１７とＭＬＰＲ１１は、共通の検証用データもしくは認証コードを生成するＴＰＭ（Trusted Platform Module）やＨＳＭ（Hardware Security Module）などハードウェアを備えて構成する。これにより、端末装置１７とＭＬＰＲ１１は、ＴＰＭやＨＳＭにより生成された検証用データもしくは認証コードに基づいて、プラットホームの正当性やハードウェア、ソフトウェア、ＤＲＭなどの完全性を検証してもよい。
【００５９】
（攻撃パケットの転送を制限する処理）
図３から図５を参照して、攻撃パケットの転送を制限する処理について説明する。攻撃パケットの転送を制限する処理として、端末装置１７によるＤＲＭの生成から、ネットワークＮＷ１におけるＭＬＢＲ１０のうち攻撃ノードに最も接近しているｂＭＬＢＲ１３に、ＤＲＭによる要求が伝搬されて、ｂＭＬＢＲ１３が攻撃パケットを遮断するまでの処理を例示する。図３は、ｅＭＬＢＲ１１における処理の手順を示すフローチャートである。図４は、ｉＭＬＢＲ１２における処理の手順を示すフローチャートである。図５は、ｂＭＬＢＲ１３における処理の手順を示すフローチャートである。
【００６０】
まず、端末装置１７は、自装置に備える、もしくは接続しているローカルエリアネットワークに接続されたＩＤＳ／ＩＰＳが所定の通信量又は頻度を超えて到来するパケットやその振る舞いの異常さもしくは既知の攻撃パターンなどから攻撃パケットとして検知して、検知結果を端末装置１７の記憶領域に通信履歴情報（ログ）として書き込む。端末装置１７は、このログに基づいて攻撃パケットに付与されている送信元アドレスを特定する。上記により特定された送信元アドレスは、攻撃パケットを実際に送信した攻撃ノードの実際のアドレスと一致しないこともある。端末装置１７は、特定された送信元アドレスと、宛先アドレスや宛先／送信元ポート番号などを組み合せた制限条件を含むＤＲＭを自動で生成し、ＤＲＭに認証コードを付与してｅＭＬＢＲ１１に送信する。なお、上記の認証コードには、ＤＲＭを認証する認証コードと、ＤＲＭに記載された攻撃先ＩＰアドレスなどが正規に割り当てられたものかを検証するためにＲＰＫＩ（Resource Public-Key Infrastructure）を用いてもよい。
【００６１】
図３に示すように、ｅＭＬＢＲ１１のコントローラ１１１は、認証コードが付与されたＤＲＭを端末装置１７から取得する（Ｓ１１）。コントローラ１１１は、認証コードに基づいて、取得したＤＲＭが正当なものか否かを判定する（Ｓ１２）。ＤＲＭが正当なものでないと判定した場合、コントローラ１１１は、そのＤＲＭを破棄して、Ｓ１９の処理に進む。
【００６２】
一方、ＤＲＭが正当なものであると判定した場合、コントローラ１１１は、ＤＲＭを送信した端末装置の識別情報が正当か否かの判定（認証処理）を実施する（Ｓ１３）。これにより、コントローラ１１１は、認証コードが付与されているＤＲＭのみを処理の対象にすることで、虚偽の要求を処理の対象から削除してシステムの完全性を確保する。
【００６３】
次に、コントローラ１１１は、端末装置がＤＲＭのパケットに付与したＲＰＫＩの認証コードに基づいて、パケットに付与された送信元アドレス（端末装置１７のアドレス等）が正当なものであることについて判定する。ＤＲＭを送信した端末装置の識別情報が正当でないと判定した場合、コントローラ１１１は、そのＤＲＭを破棄して、Ｓ１９の処理に進む。
【００６４】
一方、端末装置の識別情報が正当であると判定した場合、コントローラ１１１は、そのＤＲＭにより指定される制限条件を抽出する（Ｓ１４）。
【００６５】
次に、コントローラ１１１は、抽出した制限条件が、第１記憶部１１５１に第１規則として登録されているか否かを判定する（Ｓ１５）。抽出した制限条件が第１記憶部１１５１に登録されていないと判定した場合、コントローラ１１１は、抽出した制限条件を第１記憶部１１５１に追加して更新する（Ｓ１６）。ｅＭＬＢＲ１１は、更新されたテーブル１２５１を用いて、パケットの転送処理を実施する。
【００６６】
一方、抽出した制限条件が第１記憶部１１５１に登録されていると判定した場合、又はＳ１６の処理を終えた場合、コントローラ１１１は、抽出したＤＲＭに基づいて、ＤＲＭに、予め接続先のｉＭＬＢＲ１２との間で交換した共有鍵を用いて生成したＡＨ（Authentication Header）を付加して転送ＤＲＭを生成する（Ｓ１７）。転送ＤＲＭは、ｅＭＬＢＲ１１の接続先のｉＭＬＢＲ１２に送られるものである。このＡＨにより、転送ＤＲＭにおけるデータの完全性を保証される。なお、転送ＤＲＭでは、ＡＨによりデータの完全性を保証できることから、端末装置１７により付与された認証コードに代えることができる。
【００６７】
次に、コントローラ１１１は、転送ＤＲＭを当該ｉＭＬＢＲ１２宛に送信する（Ｓ１８）。
【００６８】
なお、ＤＲＭを送信した端末装置１７の識別情報が正当でないと判定した場合、又はＳ１８の処理を終えた場合、コントローラ１１１は、第１記憶部１１５１に登録されている制限条件のうち、攻撃パケットが到来しない状態になった後、或いは、到来しなくなって所定期間が経過した後、その制限条件を削除する（Ｓ１９）。
【００６９】
図４に示すように、ｉＭＬＢＲ１２のコントローラ１２１は、図３のＳ１８においてｅＭＬＢＲ１１から送信された転送ＤＲＭを取得する（Ｓ２１）。ｉＭＬＢＲ１２は、ＡＨに基づいて、取得した転送ＤＲＭが正当なものか否かを判定する（Ｓ２２）。転送ＤＲＭが正当なものでないと判定した場合、ｉＭＬＢＲ１２は、その転送ＤＲＭを破棄して、Ｓ２９の処理に進む。
【００７０】
一方、転送ＤＲＭが正当なものであると判定した場合、コントローラ１２１は、その転送ＤＲＭにより指定される制限条件を抽出する（Ｓ２４）。
【００７１】
次に、コントローラ１２１は、抽出した制限条件が、テーブル１２５１に第１規則として登録されているか否かを判定する（Ｓ２５）。抽出した制限条件が第１記憶部１２５１に登録されていないと判定した場合、コントローラ１２１は、抽出した制限条件をテーブル１２５１に追加して更新する（Ｓ２６）。ｉＭＬＢＲ１２は、更新された第１記憶部１２５１を用いて転送処理を実施する。
【００７２】
一方、抽出した制限条件が第１記憶部１２５１に登録されていると判定した場合、又はＳ２６の処理を終えた場合、コントローラ１２１は、抽出した転送ＤＲＭに基づいて、転送ＤＲＭにＡＨ（Authentication Header）を付加して、ｉＭＬＢＲ１２の接続先のｂＭＬＢＲ１３に送る転送ＤＲＭを生成する。このＡＨにより、転送ＤＲＭにおけるデータの完全性が保証される（Ｓ２７）。
【００７３】
次に、コントローラ１２１は、転送ＤＲＭを当該ｂＭＬＢＲ１３等に送信する（Ｓ２８）。
【００７４】
なお、ＤＲＭを送信した端末装置１７の識別情報が正当でないと判定した場合、又はＳ２８の処理を終えた場合、ｅＭＬＢＲ１１は、第１記憶部１２５１に登録されている制限条件のうち、攻撃パケットが到来しない状態になった後、或いは、到来しなくなって所定期間が経過した後、その制限条件を削除する（Ｓ２９）。
【００７５】
図５に示すように、ｂＭＬＢＲ１３は、図４のＳ２８においてｉＭＬＢＲ１２から送信された転送ＤＲＭを取得する（Ｓ３１）。ｂＭＬＢＲ１３は、ＡＨに基づいて、取得した転送ＤＲＭが正当なものか否かを判定する（Ｓ３２）。転送ＤＲＭが正当なものでないと判定した場合、ｂＭＬＢＲ１３は、その転送ＤＲＭを破棄して、Ｓ３９の処理に進む。
【００７６】
一方、転送ＤＲＭが正当なものであると判定した場合、コントローラ１３１は、その転送ＤＲＭにより指定される制限条件を抽出する（Ｓ３４）。
【００７７】
次に、コントローラ１３１は、抽出した制限条件が、第１記憶部１３５１に第１規則として登録されているか否かを判定する（Ｓ３５）。抽出した制限条件が第１記憶部１３５１に登録されていないと判定した場合、コントローラ１３１は、抽出した制限条件を第１記憶部１３５１に追加して更新する（Ｓ３６）。ｂＭＬＢＲ１３は、更新された第１記憶部１３５１を用いて転送処理を実施する。
【００７８】
なお、ＤＲＭを送信した端末装置１７の識別情報が正当でないと判定した場合、又はＳ３６の処理を終えた場合、コントローラ１３１は、第１記憶部１３５１に登録されている制限条件のうち、攻撃パケットが到来しない状態になった後、或いは、到来しなくなって所定期間が経過した後、その制限条件を削除する（Ｓ３９）。
【００７９】
上記の処理により、通信システム１は、ｂＭＬＢＲを介してネットワークＮＷ１に流入する攻撃パケットを単独で遮断することができる。
【００８０】
（より具体的な一実施例）
以下の説明では、ＯｐｅｎＦｌｏｗ（登録商標）の技術を適用してＭＬＢＲ１０を構成する場合を例示する。
【００８１】
（分散型のコントローラ）
ＯｐｅｎＦｌｏｗの各ノードは、ＯｐｅｎＦｌｏｗコントローラにより制御されるＯｐｅｎＦｌｏｗスイッチ部を備える。一般的なＯｐｅｎＦｌｏｗの技術では、１つのＯｐｅｎＦｌｏｗコントローラが複数のＯｐｅｎＦｌｏｗスイッチを一元管理する。
これに代えて、本実施形態のＭＬＢＲ１０は、コントローラ１１１とスイッチ部１１２とを備えており、ＭＬＢＲ１０ごとに設けられたコントローラ１１１がスイッチ部１１２を管理する。この点が一般的なＯｐｅｎＦｌｏｗの構成と異なる。以下、上記の相違点を中心に説明する。
【００８２】
ＭＬＢＲ１０のコントローラは、互いに通信することにより、分散型のコントローラとして機能して、例えばＤＲＭを順に転送する。上記のとおり、ＤＲＭは、各ＭＬＢＲ１０における転送を制限するための情報である。ＭＬＢＲ１０は、ＤＲＭが通知されるまでに構成されていた転送情報を変更することなく、転送を制限する制限条件を追加し、また、制限条件を単位にして個々に削除する。これにより、通信システム１は、ネットワークＮＷ内の転送規則を維持したまま、転送を制限する制限条件のみを変更する。例えば、スイッチ部１１２を下記するように構成して、スイッチ部１１２において上記の処理を実施する。
【００８３】
(スイッチ部の一例)
図６から図９を参照して、スイッチ部のより具体的な一例について説明する。図６は、スイッチ部１１２を示す図である。スイッチ部１１２は、各段のフローテーブルとして、廃棄テーブル１１２１、パケットタイプテーブル１１２２、ＳＣＯＰＥテーブル１１２３、ＭＬＢテーブル１１２４、ルーティングテーブル１１２５を備える。図７から図９のそれぞれは、廃棄テーブル１１２１、パケットタイプテーブル１１２２、ＳＣＯＰＥテーブル１１２３の一例を示す図である。
【００８４】
（スイッチ部における各種テーブルの一例）
スイッチ部１１２において、廃棄テーブル１１２１には、廃棄するパケットのフローエントリが必要数格納される。廃棄するパケットのフローエントリは、前述のパケットの転送を制限する条件に対応する。例えば図７に示すように、廃棄テーブル１１２１は、格納されたフローエントリにマッチしたパケットを廃棄（ｄｒｏｐ）する。格納されたフローエントリにマッチしなかったパケットは、パケットタイプテーブル１１２２による選択処理の対象にする。フローエントリに規定するアドレス情報は、１つのＩＰアドレスであってもよく、或いは、複数のＩＰアドレスを含むネットワークアドレスであってもよい。例えば、廃棄テーブル１１２１のフローエントリとして、転送を制限する領域に対応するネットワークアドレスをマッチ条件として規定する。廃棄テーブル１１２１は、そのネットワークアドレスが示すアドレス空間に含まれた送信元ＩＰアドレスが付与されているパケットの転送を制限する。図７に示す「129.168.3.0/24」は、ＩＰｖ４で記述した場合のネットワークアドレスの一例である。
【００８５】
パケットタイプテーブル１１２２は、廃棄テーブル１１２１により廃棄されなかったパケットと、コントローラから取得したパケットを処理対象のパケットとし、パケットのタイプごとのフローエントリを格納する。例えば図８に示すように、パケットタイプテーブル１１２２に格納するフローエントリには、ＩＰｖ４のパケットであることを特定するものと、ＩＰｖ６のパケットであることを特定するものと、コントローラ宛に送信するパケットであることを特定するものが含まれる。例えば、パケットタイプテーブル１１２２として、各パケットのタイプに対応するアクションを下記のように定義する。パケットタイプテーブル１１２２は、自ＭＬＢＲ１０宛のＩＣＭＰｖ６（Internet Control Message Protocol for IPv6）又はＡＲＰ（Address Resolution Protocol）、ＩＣＭＰ（Internet Control Message Protocol）、ＤＨＣＰ（Dynamic Host Configuration Protocol）、ＤＲＰ（Dropping Request Message Protocol）、ＲＩＰ（Routing Information Protocol）、ＯＳＰＦ（Open Shortest Path First）、ＢＧＰ（Border Gateway Protocol）などの通信制御パケットをコントローラ１１１宛のパケット（Ｐａｃｋｅｔ−Ｉｎ）とし、上記を除くＩＰｖ４のパケットをＭＬＢテーブル１１２４による処理の対象にし、上記を除くＩＰｖ６のパケットをＳＣＯＰＥテーブル１１２３による処理の対象にする。上記のＤＲＰは、ＤＲＭに検証データもしくは認証コードを付加した規格である。ＤＲＰの詳細については後述する。パケットタイプテーブル１１２２は、コントローラ１１１宛のパケットのうち、コントローラ１１１による判定結果に基づいて、必要であればＦｌｏｗ−Ｍｏｄにて各テーブルを更新するとともに、他のＭＬＢＲに転送が必要なパケットは、スイッチ部１１２に戻す（Ｐａｃｋｅｔ−Ｏｕｔ）。
【００８６】
ＳＣＯＰＥテーブル１１２３は、パケットタイプテーブル１１２２によりＩＰｖ６のパケットであると特定されたパケットに対し、スコープ（SCOPE）の逸脱有無を判定して当該パケットのルーティングを許可するか否かを特定する。例えば図９に示すように、当該パケットのスコープに逸脱が無くルーティングを許可すると判定した場合には、ＳＣＯＰＥテーブル１１２３は、当該パケットをＭＬＢテーブル１１２４による処理の対象にする。一方、当該パケットのスコープに逸脱がありルーティングを許可しないと判定した場合には、ＳＣＯＰＥテーブル１１２３は、対象のパケットを廃棄する。
【００８７】
ＭＬＢテーブル１１２４は、パケットタイプテーブル１１２２によりＩＰｖ４のパケットであると特定されたパケット、又は、ＳＣＯＰＥテーブル１１２３によりルーティングを許可するＩＰｖ６のパケットであると特定されたパケットに対し、当該パケットが転送を許可すべきパケットであるか否かを特定する。ＭＬＢテーブル１１２４は、端末装置１７等のMACアドレスとＩＰアドレス及びｅＭＬＢＲ１１の接続ポートの識別情報を組み合わせて、端末装置１７等を認証するためのホワイトリストとして機能して、アドレス詐称のチェックを実施する。例えば、当該パケットが転送を許可すべきパケットであると特定した場合、ＩｏＴから送信されたパケットを除いた当該パケットをルーティングテーブル１１２５による転送処理の対象にする。当該パケットが転送すべきパケットでないと特定された場合、当該パケットをルーティングテーブル１１２５に従って、廃棄処理の対象にする。
【００８８】
ルーティングテーブル１１２５は、ＭＬＢテーブル１１２４により当該パケットが転送すべきパケットであると特定された場合、当該パケットをルーティングテーブル１１２５により規定される物理ポートに出力する。ルーティングテーブル１１２５は、当該パケットが転送すべきパケットでないと特定された場合、当該パケットをルーティングテーブル１１２５に従って、廃棄処理の対象にする。
【００８９】
上記の図１に示すように、ｉＭＬＢＲ１２のスイッチ部１２２は、各段のフローテーブルとして、廃棄テーブル１２２１、パケットタイプテーブル１２２２、ＳＣＯＰＥテーブル１２２３、ＭＬＢテーブル１２２４、ルーティングテーブル１２２５を備える。ｂＭＬＢＲ１３のスイッチ部１３２は、各段のフローテーブルとして、廃棄テーブル１３２１、パケットタイプテーブル１３２２、ＳＣＯＰＥテーブル１３２３、ＭＬＢテーブル１３２４、ルーティングテーブル１３２５を備える。ｉＭＬＢＲ１２のスイッチ部１２２と、ｂＭＬＢＲ１３のスイッチ部１３２は、下記を除き、スイッチ部１１２と同様の構成を備える。
【００９０】
ｉＭＬＢＲ１２では、ｅＭＬＢＲ１１が利用される形態に応じて、ＭＬＢテーブル１２２４に格納するデータを変える。例えば、ｅＭＬＢＲ１１が家庭用に用いられている場合には、ｉＭＬＢＲ１２は、グローバルＩＰアドレス（ＩＰｖ６の場合では、これに代えて、グローバルルーティングプリフィックスとサブネットＩＤである。以下の説明では、グローバルＩＰアドレス等という。）を、ｅＭＬＢＲ１１に割り当てる。この場合、ｉＭＬＢＲ１２のコントローラ１２１は、ｅＭＬＢＲ１１に割り当てたグローバルＩＰアドレス等とｅＭＬＢＲ１１のＭＡＣアドレス及びｉＭＬＢＲ１２の接続ポートの識別情報を組み合わせて生成したフローエントリを、ＭＬＢテーブル１２２４に登録して管理する。
【００９１】
また、例えば、グローバルアドレス空間のアドレスが割当てられている組織ユーザ、又は、グローバルアドレス空間のアドレスを保有している組織ユーザの場合には、組織ユーザのグローバルアドレス空間のネットワークアドレスとｅＭＬＢＲ１１のＭＡＣアドレス及びｉＭＬＢＲ１２の接続ポートの識別情報を組み合わせて生成したフローエントリを、ＭＬＢテーブル１２２４に登録して管理する。
【００９２】
なお、ｉＭＬＢＲ１２のＭＬＢテーブル１２２４は、ｕＲＰＦのストリクトモード（strictモード）相当の機能を実現するように構成される。例えば、ＭＬＢＲ１０を導入する過程などで、ｅＭＬＢＲ１１が未導入のユーザからネットワークアドレス空間内のアドレス詐称パケットが送信された場合に、ｕＲＰＦのストリクトモード相当の機能では、当該アドレス詐称パケットを廃棄することができないが、ｅＭＬＢＲ１１を併せて導入することで、アドレス詐称パケットの発生自体が制限される。また、ｉＭＬＢＲ１２宛にｅＭＬＢＲ１１を偽装する偽装パケットが送られたとしても、ｉＭＬＢＲ１２は、ＡＨの検証によりそれを検出することができ、同パケットを廃棄する。
【００９３】
ｂＭＬＢＲ１３は、主に、受信したパケットの送信元IPアドレスが経路表に存在するか否かを判定し、経路表に存在するものを転送する。上記の転送処理は、ｕＲＰＦのルースモード（looseモード）相当のフィルタリングと同様の処理をする。そのため、ｂＭＬＢＲ１３と他のネットワークＮＷのｂＭＬＢＲとの間のリンクの接続ポートの識別情報や、リンクに接続されたｂＭＬＢＲ１３のＭＡＣアドレスとを組み合わせたフローエントリを、MLBテーブル１３２４に登録する必要はない。
【００９４】
多数のＩＳＰと相互接続しているティア１（Tier 1）やティア２（Tier 2）などの上位ＩＳＰのネットワークは、複数の他のネットワークに接続されている。このような場合、同一の送信元から送信されたパケットであっても、各ネットワークの状態により、そのパケットの転送経路が変化し得る。これに対して、ネットワークＮＷ１内のすべてのｂＭＬＢＲ１３は、各ｂＭＬＢＲ１３の経路表を包含したＭＬＢテーブル（所謂ｕＲＰＦのルースモードの機能として）をそれぞれ保持することで、上記の転送経路の変化を吸収する。
【００９５】
ｂＭＬＢＲ１３のＭＬＢテーブル１３２４は、逆行経路から外れた送信元ＩＰアドレスのパケットを廃棄する。これに加えて、ＭＬＢテーブル１３２４は、送信元IPアドレスを詐称する攻撃パケットを大量に送り込まれても、ｂＭＬＢＲ１３のＭＬＢテーブル１３２４の転送経路情報に基づいたｕＲＰＦの機能により、パケットを逆行経路内に閉じ込めることができる。すなわち、攻撃の被害を受けた端末装置１７から見れば攻撃元への経路（攻撃元経路）を特定できる。端末装置１７は、攻撃元経路に向けて廃棄要請を送信することで，その攻撃元経路からの攻撃をＭＬＢＲ１０の機能により遮断する。
【００９６】
（ｅＭＬＢＲ１１における端末装置１７等から送信されたパケットの転送処理）
認証・検疫に成功した端末装置１７は、ＭＬＢテーブル１１２４に登録・管理される。
ｅＭＬＢＲ１１は、パケットを受信すると、受信したパケットのフローエントリがＭＬＢテーブル１１２４に存在するか調べ、存在する場合には、受信したパケットのアドレスがプライベートＩＰアドレスであればグローバルＩＰアドレス等に変換してからＡＨを付加し、さらにＭＡＣアドレスを書き替えて、指定されたＱｏＳでｉＭＬＢＲ１２へ転送する。指定されたＱｏＳには、例えば、帯域制限なし、ＡＨを付加しての転送、帯域制限などの項目を含めてもよい。
【００９７】
一方、存在しない場合には、ｅＭＬＢＲ１１は、偽装パケットと見なして受信したパケットを廃棄する。ｅＭＬＢＲ１１は、接続ポートを介して、端末装置１７等の実在確認を適宜行い、ＭＬＢテーブル１１２４に登録された経路情報の有効期間を延長する。
【００９８】
（ＤＲＭの構成）
図１０を参照して、ＤＲＭの一例とその通信手順（ＤＲＰ）について説明する。図１０は、ＤＲＭの一例を説明するための図である。同図にＤＲＭを送信するパケットのフレーム構成の一例を示す。同フレームは、ＭＡＣヘッダ、ＩＰヘッダ、ＴＣＰヘッダ、ペイロードを含む。ペイロードにはＤＲＭが割り付けられる。ＤＲＭを送受信する端末装置１７及びＭＬＢＲ１０等は、ＤＲＭの通信手順を規定するＤＲＰを共有し、ＤＲＰに基づいて通信する。
【００９９】
例えば、ＤＲＭは、ＤＲＭの通信手順を定めるプロトコル（ＤＲＰ）のバージョン、ＤＲＭのメッセージ長、ＤＲＭを送信する端末装置の識別情報、有効期間、監視規定時間、廃棄対象情報、将来の機能拡張のための予約領域である拡張情報、検証用データもしくは認証コードなどの情報を含む。有効期間は、ＭＬＢＲ１０が転送の制限を継続する期間を示す。監視規定時間は、攻撃パケットの有無を含む通信状態の監視を実施する周期を規定する。廃棄対象情報は、攻撃パケットの転送を制限するための攻撃パケットの送信元アドレス等を含む。なお、廃棄対象情報は、例えば、特定した送信元アドレスと宛先ＩＰアドレス，送信元／宛先ポート番号，さらにＴＣＰ制御フラグやパケット長，パケットタイプなどの属性データを適宜組み合せてもよい。このような組み合わせにより，廃棄対象とした送信元ネットワークアドレス空間内から、一般ユーザが同じ宛先にパケットを送っても，誤廃棄する確率を減らすことができる。検証用データは、前述の端末装置１７が自装置の正当性と完全性を示す情報と付与するものである。
【０１００】
端末装置１７とｅＭＬＢＲ１１との間にファイアウォールが設けられている場合には、通信可能なプロトコルが制限される。この場合、端末装置１７は、ＩＣＭＰなどを用いてＭＬＢＲ１０に発見要求メッセージを送り、ｅＭＬＢＲ１１からの応答を取得して、ｅＭＬＢＲ１１を特定するとともに、先に応答したｅＭＬＢＲ１１の真正を確認する手順を実施する。その後、端末装置１７は、上記のフレームを用いてＤＲＭをｅＭＬＢＲ１１に送信する。
【０１０１】
なお、ＭＬＢＲ１０間の通信において、相手先を認証する必要が無い場合には、ＤＲＭの検証が行えればよいため、ＭＬＢＲ１０は、検証用データに代えて、上記のフレームのＩＰヘッダとＴＣＰヘッダの間にＡＨを付与したフレームを用いてもよく、ＤＲＭにＡＨを付与して上記のペイロードに収納してもよい。
【０１０２】
図１１と図１２とを参照して、ＤｏＳ攻撃遮断実験の結果について説明する。
図１１は、ＤｏＳ攻撃遮断実験の構成を示す図である。図１１のｂＭＬＢＲ１３をｕＲＰＦ相当機能として機能させて、同図に示す範囲でランダムに送信元ＩＰアドレスを変えながら、ホストＥから攻撃パケットに見立てたＩＣＭＰパケットを１ｐｐｓの頻度で端末装置１７−１宛に送信する。端末装置１７−１は、受信したパケットの累計が１０パケットに達するとログに書き出す。端末装置１７−１は、攻撃パケットから抽出した攻撃元ＩＰアドレスと、送信先ＩＰアドレスと、パケットタイプとを組み合せてＤＲＭを生成して、ｅＭＬＢＲ１１宛に送信する。各ＭＬＢＲ１０は、前述の手順に従ってＤＲＭを転送して、廃棄テーブル１１２１等の廃棄テーブルに、ＤＲＭに基づいて生成した廃棄エントリを登録する。各ＭＬＢＲ１０は、上記の廃棄エントリを登録した後、該当するパケットを受信すると廃棄する。以上のモデルに基づいて実験を行う。
【０１０３】
なお、通信システム１は、ＩＰアドレス詐称範囲を下記の方法で決定する。通信システム１は、検知したパケット中の最小のＩＰアドレスをＸｍｉｎ、最大をＸｍａｘとして、式（１）を満たす最小のｎを求めることによって、ＩＰアドレス詐称範囲を決定する。
【０１０４】
（Ｘｍｉｎ−Ｘｍｉｎ  ｍｏｄ２ｎ）＋２ｎ＞Ｘｍａｘ  ・・・（１）
【０１０５】
ＩＰｖ４である場合、上記式（１）を満たす最小のｎを求めることによってネットワークアドレスを特定でき、（３２−ｎ）がネットマスクになる。通信システム１は、この計算結果からＩＰアドレス詐称範囲を決定する。
【０１０６】
また、ランダムにアドレスが詐称されているとすれば、攻撃パケット数をｋとすると、ＩＰアドレス詐称範囲の大きさに関わらず、（１−２−（ｋ−１））の確率で詐称しているネットワークアドレスを特定できる。例えば、１０個のアドレス詐称パケットを検出すれば９９．８％の確率で特定できる。
【０１０７】
通信システム１は、送信元ＩＰアドレスが、ランダムに変化する場合であっても、上記の方法で分類された固定ＩＰアドレス又はネットワークアドレスから、所定時間内に１０パケット以上を検出することにより、９９．８％以上の確率で送信元ネットワークアドレスを特定できる。
【０１０８】
図１２は、各ノードで観測した累積パケット数の継時変化を示す図である。
同図におけるＧ１が、ホストＥが送信したパケットの累計（累積パケット数）を示し、Ｇ２が、ｂＭＬＢＲ１３をｕＲＰＦとして機能させたことにより廃棄したパケット数の累計を示し、Ｇ３が、端末装置１７−１が受信したパケット数の累計を示す。
【０１０９】
Ｇ２に示すように、ｂＭＬＢＲ１３をｕＲＰＦとして機能させたことにより、ｂＭＬＢＲ１３は、約２／３のパケットを遮断している。
【０１１０】
端末装置１７−１は、時刻ｔ１において、受信したパケット数の累計が１０パケットに達したことにより、ＤＲＭを送信する。Ｇ３に示すように、端末装置１７−１がＤＲＭを送信した後、端末装置１７−１が受信したパケット数の累計値に変化がなく、端末装置１７−１にパケットが到達しなくなったことが確認できる。
本実験では攻撃ホストＥが１台で、送信元ＩＰアドレスを詐称するＤｏＳ攻撃を模したものであるが、ＤＤｏＳ攻撃などの多重攻撃を受けた場合も、同様に攻撃パケットを廃棄する。
【０１１１】
上記のとおり、本実施形態に示す通信システム１は、ＩＰトレースバックのような攻撃の発信源のアドレスを特定することなく、攻撃パケットの送信元アドレスに基づいて、同アドレスに接近するようＤＲＭを転送することで、攻撃パケットの経路に存在するＭＬＢＲ１０における攻撃パケットの転送を遮断する。
【０１１２】
以上に説明した、実施形態によれば、ｅＭＬＢＲ１１（通信制御装置）は、通信を中継するノードを制御する。ｅＭＬＢＲ１１は、第１記憶部１１５１と第２記憶部１１５２とコントローラ１１１とを備える。第１記憶部１１５１は、ｅＭＬＢＲ１１が受信した受信パケット（受信データ）の転送を制限する条件を定めた第１規則を記憶する。第２記憶部１１５２は、受信パケットの転送を許可する条件を定めた第２規則を記憶する。コントローラ１１１は、取得した制限要求に基づいて第１規則の条件を追加し、追加した第１規則に基づいて受信パケットの転送を制限し、転送を制限しない受信パケットの転送を第２規則に基づいて実行させることにより、攻撃等により発生した過度のトラフィックをより速やかに制限することができる。
【０１１３】
また、コントローラ１１１は、受信パケットの転送先から取得したＤＲＭ（第１制限要求）に基づいた転送ＤＲＭ（第２制限要求）を、受信パケットの送信元であるｉＭＬＢＲ１２（第１送信ノード）に対して送信するように制御する。端末装置１７は、受信パケットの転送先の一例である。これにより、通信システム１は、実際に被害を受けた端末装置１７からのＤＲＭによる申告に基づいて、攻撃パケットの転送を制限することができる。
【０１１４】
また、第１記憶部１１５１は、受信パケットの転送を制限する条件を列挙したブラックリストを第１規則として記憶する。ブラックリストとは、例えば、受信パケットの転送を制限して、スイッチ部１１２において当該パケットを廃棄処理するなどのためのフローリストを記憶するものである。第２記憶部１１５２は、受信パケットの転送を許可する条件を列挙したホワイトリストを第２規則として記憶する。ホワイトリストとは、例えば、受信パケットの転送をスイッチ部１１２に実施させるためのフローリストを記憶するものである。コントローラ１１１は、ブラックリストに基づいた制限をホワイトリストに基づいた許可より優先させて、受信パケットの転送を制御する。これにより、コントローラ１１１は、ブラックリストに基づいて転送するパケットを抽出して、その結果に基づいてホワイトリストに基づいて転送するように制御することができる。通信システム１は、上記のようにブラックリストを優先させたことにより、ＭＬＢＲ１０に対する攻撃をＭＡＣフレームや接続ポートベースでの制限ができるなど、制御装置や転送処理の負荷を軽減することができる。
【０１１５】
また、受信パケットの転送を許可する条件に転送を許可する通信元の経路を示す逆行経路情報が含まれ、一部又は全部の該経路情報が示す経路の送信元情報に、前記受信データを含む受信パケットに付与された送信元情報が該当する場合、スイッチ部１１２は、その受信パケットを転送する。これにより、スイッチ部１１２は、逆行経路情報が示す経路の送信元情報に、受信パケットに付与された送信元情報が該当する場合に、その受信パケットを転送することができる。
【０１１６】
また、ＭＬＢＲ１０は、第２規則として規定される該当経路情報に基づき、逆行経路から外れる送信元アドレスが付与された受信パケットの転送を制限する。ＭＬＢＲ１０は、ＭＬＢテーブルに登録されている逆行経路情報に基づいてｕＲＰＦ相当の機能の処理をする。ｂＭＬＢＲ１３は、ｕＲＰＦによる通信制御を実施することにより、ＭＬＢテーブルに登録された逆行経路情報の経路以外のパケットをブロックする。これにより、送信元ＩＰアドレス３２ビットすべてを変化させながら攻撃パケットを送り込まれても，ｂＭＬＢＲ１３のＭＬＢテーブルに書き込まれた逆行経路情報から、攻撃パケットを送り込んだ送信元への逆行経路を特定できる。
【０１１７】
また、ｉＭＬＢＲ１２（第２通信装置）は、複数のＭＬＢＲ１０を含むネットワークＮＷ１における通信利用者側の端部（エッジ）に設けられる。ｂＭＬＢＲ１３（第３通信装置）は、ネットワークＮＷ１における他のネットワークＮＷ側との境界に設けられる。ｂＭＬＢＲ１３のスイッチ部１３２は、ｉＭＬＢＲ１２を介して通知される転送ＤＲＭ（第１規則）に基づいて受信パケットの転送を制限することにより、ｂＭＬＢＲ１３は、転送ＤＲＭ（第１規則）に基づいて他のネットワークＮＷ側からのパケットの転送を制御することができる。
【０１１８】
また、ＭＬＢＲ１０は、ｉＭＬＢＲ１２又はｂＭＬＢＲ１３などの他のＭＬＢＲ１０宛の転送ＤＲＭを、自ＭＬＢＲ１０内の経路情報に基づき、転送ＤＲＭに記述された送信元アドレスに向かう方向に送信する。これにより、ＭＬＢＲ１０は、ＭＬＢＲ１０間の通信により、転送ＤＲＭを中継することができ、一元管理するコントローラによる介在を得ることなく、速やかに転送ＤＲＭを転送することができる。
【０１１９】
また、ｉＭＬＢＲ１２のスイッチ部１２２は、ｉＭＬＢＲ１２における転送ＤＲＭに基づいてｕＲＰＦのストリクトモード相当機能により通信する。スイッチ部１２２は、このｕＲＰＦのストリクトモード相当機能では、送信元ＩＰアドレスに対する戻りのルートがルーティングテーブル１１２５に存在していることと、パケットを受信したインタフェースと経路情報が示すルートの出力インタフェースとが一致していることとについて判定する。ｂＭＬＢＲ１３のスイッチ部１３２は、ｂＭＬＢＲ１３における転送ＤＲＭに基づいて生成した廃棄エントリ（第１規則）とｕＲＰＦのルースモード相当機能（第２規則）とにより通信する。スイッチ部１３２は、このｕＲＰＦのルースモード相当機能では、送信元ＩＰアドレスに対する戻りのルートがルーティングテーブル１１２５に存在していることについて判定する。これにより、通信システム１は、ＭＬＢテーブルに登録された逆行経路情報に基づいた逆行経路に通信の範囲を制限することができ、送信元アドレスを詐称した攻撃パケットによる影響を低減することができる。
【０１２０】
また、ネットワークＮＷ１は、複数の他のネットワークＮＷに接続され、他のネットワークＮＷに対応させて設けられたｂＭＬＢＲ１３を複数含む。複数のｂＭＬＢＲ１３は、他のネットワークＮＷに対応させて設けられたｂＭＬＢＲ１３にそれぞれ規定される通信逆行経路情報を共有する。これにより、通信システム１は、他のネットワークＮＷを含めて複数の経路が設定される場合においても、必要な対策を講じることができる。
なお、コントローラ１２１は、ｂＭＬＢＲ１３に対して転送ＤＲＭを通知した後、受信パケットの送信元である他のｂＭＬＢＲ１３（第２送信ノード）に対して、端末装置１７から取得したＤＲＭに基づいて生成した転送ＤＲＭ（第３制限要求）を送信するもしくは同じネットワーク上の複数のｂＭＬＢＲ１３に対して一斉に送信するように制御してもよい。これにより、上記のように、他のネットワークＮＷを含めて複数の経路が設定される場合においても、第１の経路の対策を講じた後に第２の経路に対しても必要な対策を講じることができる。コントローラ１２１は、第１の経路に対する処理を実施した後、一定時間経過しても攻撃パケットが止まらないときに、上記の第２の経路に対する対策を実施するようにしてもよい。
【０１２１】
また、ｅＭＬＢＲ１１（第１通信装置）は、ｉＭＬＢＲ１２に接続される。ｅＭＬＢＲ１１は、ｅＭＬＢＲ１１におけるＭＬＢテーブル１１２４として、端末装置１７の接続ポートとＭＡＣアドレスとＩＰアドレスの対応関係を記憶する。ｅＭＬＢＲ１１のスイッチ部１１２は、ＭＬＢテーブル１１２４に対応関係が存在するパケットの通信を許可する。これにより、ｅＭＬＢＲ１１のスイッチ部１１２は、ＭＬＢテーブル１１２４に対応関係が管理されている接続ポートとＭＡＣアドレスとＩＰアドレスに基づいて通信することができ、通信経路の途中でアドレスを詐称する攻撃に対して、必要な対策を講じることができる。
【０１２２】
（実施形態の変形例）
実施形態の変形例では、他のネットワークＮＷ、例えばネットワークＮＷ２に、ネットワークＮＷ１において生成された転送ＤＲＭをさらに転送する場合を例示する。実施形態の通信システム１は転送ＤＲＭを、他のネットワークＮＷに転送しないものであったため、この点が異なる。以下、相違点を中心に説明する。
【０１２３】
以下の説明において、ｅＭＬＢＲ２１と、ｉＭＬＢＲ２２と、ｂＭＬＢＲ２３とを総称してＭＬＢＲ２０という。ネットワークＮＷ２のようにＭＬＢＲ２０を備えるネットワークが、ネットワークＮＷ１に接続されており、ｂＭＬＢＲ２３がｂＭＬＢＲ１３からの転送ＤＲＭを取得できるものとする。通信システム２内の各ＭＬＢＲ２０も、通信システム１と同様の手法によって、転送ＤＲＭを転送する。
【０１２４】
図１３は、変形例のｂＭＬＢＲ１３における処理の手順を示すフローチャートである。前述の図５と同じ処理を実施する手順には同じ符号を附す。
図１３のＳ３５において抽出した制限条件がテーブル１３５１に登録されていると判定した場合、又はＳ３６の処理を終えた場合、通信システム１のｂＭＬＢＲ１３は、自装置に接続されているネットワークＮＷの通信システムが、契約先ＩＳＰなど連携可能なものであるか否かを判定する（Ｓ４０）。連携可能な通信システムがないと判定した場合には、Ｓ３９の処理に進む。
【０１２５】
一方、連携可能な通信システムがあると判定した場合には、ｂＭＬＢＲ１３は、抽出した転送ＤＲＭに基づいて、その転送ＤＲＭに、予め交換した共有鍵を用いてＡＨ（Authentication Header）を付加して、ｂＭＬＢＲ１３の接続先のネットワークＮＷ２に送る転送ＤＲＭを生成する。このＡＨにより、転送ＤＲＭにおけるデータの完全性が保証される（Ｓ４７）。
【０１２６】
次に、ｂＭＬＢＲ１３は、転送ＤＲＭを当該ネットワークＮＷ宛に送信する（Ｓ４８）。
【０１２７】
なお、ＤＲＭを送信した端末装置１７の識別情報が正当でないと判定した場合、連携可能な通信システムがないと判定した場合、又はＳ４８の処理を終えた場合、ｅＭＬＢＲ１１は、テーブル１３５１に登録されている制限条件のうち、攻撃パケットが到来しない状態になった後、或いは、到来しなくなって所定期間が経過した後、その制限条件を削除する（Ｓ３９）。
【０１２８】
以上に説明した、実施形態の変形例によれば、実施形態と同様の効果を奏するものに加え、通信システム１は、転送ＤＲＭを、受信パケットの送信元である他のネットワークのｂＭＬＢＲ２３に対して送信することにより、ｂＭＬＢＲ１３を介してネットワークＮＷ１に流入する攻撃パケットを単独で遮断するほか、通信システム２を連携させて、ネットワークＮＷ２内で転送させる攻撃パケットを遮断することができる。
【０１２９】
上記について換言すれば、ｂＭＬＢＲ１３は、自ネットワークＮＷ内で隣接するＭＬＢＲ１０を特定して、そのＭＬＢＲ１０に対して転送ＤＲＭを送る。これらを、攻撃ノードに最も近いＭＬＢＲ１０、すなわち、基盤の外からの攻撃であれば、基盤の境界に位置するｂＭＬＢＲ１３に向けて繰り返し、或いは、セキュリティ基盤内からの攻撃であれば攻撃ノードを収容しているｅＭＬＢＲ１１またはｉＭＬＢＲ１２に向けて繰り返すことによって、攻撃パケットのセキュリティ基盤内への流入を阻止することができる。
【０１３０】
以上説明した少なくともひとつの実施形態によれば、通信制御装置は、通信を中継するノードを制御する。第１記憶部は、自ノードが受信した受信データの転送を制限する条件を定めた第１規則を記憶する。第２記憶部は、受信データの転送を許可する条件を定めた第２規則を記憶する。制御部は、取得した制限要求に基づいて第１規則の条件を追加し、第１規則に基づいて前記受信データの転送を制限し、転送を制限しない受信データの転送を第２規則に基づいて実行させることにより、攻撃等により発生した過度のトラフィックをより速やかに制限することができる。
【０１３１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【０１３２】
例えば、上記の実施形態の説明では、ＭＬＢＲ１０等のスイッチ部が攻撃パケットを“廃棄する”こととして説明したが、ＭＬＢＲ１０等は、当該パケットを、各スイッチ部内で廃棄せずに、特定のポートから外部記憶装置に出力して格納させてもよい。
【０１３３】
なお、上記の実施形態の説明では、端末装置１７がＩＤＳ／ＩＰＳを備えるものとして説明したが、ｅＭＬＢＲ１１又はｉＭＬＢＲ１２がＩＤＳ／ＩＰＳを備えるように構成してもよい。この場合、ｅＭＬＢＲ１１又はｉＭＬＢＲ１２は、端末装置１７のＩＤＳ／ＩＰＳに代えて、ｅＭＬＢＲ１１又はｉＭＬＢＲ１２が備えるＩＤＳ／ＩＰＳの検出結果を取得するように構成する。
【０１３４】
なお、ネットワークＮＷ間でＤＲＭ（転送ＤＲＭ）を転送する場合には、既存のルーティングプロトコルとの整合性をとって、ＢＧＰ  Ｆｌｏｗｓｐｅｃを使用してもよい。
【符号の説明】
【０１３５】
１、２、３、４…通信システム、１０…ＭＬＢＲ、１１…ｅＭＬＢＲ、１２…ｉＭＬＢＲ、１３…ｂＭＬＢＲ、１４…中継装置、１５…管理装置、１７…端末装置、１８…データ端末、１１１…コントローラ（制御部）、１１２…スイッチ部（転送部）、１１３、１１４…ＩＦ部、１１５…記憶部、ＮＷ、ＮＷ１、ＮＷ３、ＮＷ４…ネットワーク
【図１】
0006683480.tif 000002
【図２】
0006683480.tif 000003
【図３】
0006683480.tif 000004
【図４】
0006683480.tif 000005
【図５】
0006683480.tif 000006
【図６】
0006683480.tif 000007
【図７】
0006683480.tif 000008
【図８】
0006683480.tif 000009
【図９】
0006683480.tif 000010
【図１０】
0006683480.tif 000011
【図１１】
0006683480.tif 000012
【図１２】
0006683480.tif 000013
【図１３】
0006683480.tif 000014