(57)【要約】  本発明によるコンピュータシステムは、コントローラと、コントローラによって設定されたフローエントリに適合する受信パケットに対し、フローエントリで規定された中継動作を行うスイッチとを具備する。スイッチは、自身に設定されたフローエントリに適合しない受信パケットを、コントローラに送信する。コントローラは、受信パケットに含まれる認証情報を参照して当該受信パケットを認証する。ここで、コントローラは、正当と判断した受信パケットのヘッダ情報のうち、受信パケットの送信元を特定する情報を含むパケットに対する中継動作を規定したフローエントリを、スイッチに設定する。これにより、オープンフロープロトコル環境のコンピュータシステムにおけるネットワークアクセスポリシ制御が容易となる。
2012141086.tif 000002
【特許請求の範囲】
【請求項１】
コントローラと、
前記コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチと
を具備し、
前記スイッチは、自身に設定されたフローエントリに適合しない受信パケットを、前記コントローラに送信し、
前記コントローラは、前記受信パケットに含まれる認証情報を参照して前記受信パケットを認証し、正当と判断した前記受信パケットのヘッダ情報のうち、前記受信パケットの送信元を特定する情報を含むパケットに対する中継動作を規定したフローエントリを、前記スイッチに設定する
コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、
前記コントローラは、前記認証情報を参照して前記受信パケットを認証し、不正と判断した前記受信パケットのヘッダ情報のうち、前記受信パケットの送信元を特定する情報を含むパケットを破棄することを規定したフローエントリを、前記スイッチに設定する
コンピュータシステム。
【請求項３】
請求項１又は２に記載のコンピュータシステムにおいて、
前記コントローラは、中継動作ポリシを規定したポリシ情報が記録された記憶装置を備え、前記正当と判断した受信パケットに含まれる認証情報に対応するポリシ情報に従ったフローエントリを、前記スイッチに設定する
コンピュータシステム。
【請求項４】
請求項３に記載のコンピュータシステムにおいて、
認証情報は、前記ポリシ情報を識別するポリシＩＤと、認証に利用される第１認証ＩＤを含み、
前記ポリシ情報は、前記ポリシ情報を識別するポリシＩＤと、第２認証ＩＤとが対応付けられて前記記憶装置に記録され、
前記コントローラは、前記認証情報に含まれるポリシＩＤに対応する前記第２認証ＩＤと、前記第１認証ＩＤとが一致する受信パケットを正当な受信パケットと判断する
コンピュータシステム。
【請求項５】
請求項４に記載のコンピュータシステムにおいて、
前記ポリシ情報は、前記ポリシ情報を識別するポリシＩＤに対応付けられた複数のポリシを含み、
前記コントローラは、前記認証情報に含まれるポリシＩＤに対応する複数のポリシの中で、前記正当と判断した受信パケットのヘッダ情報に適合するポリシを前記記憶装置から抽出し、抽出されたポリシに従ったフローエントリを前記スイッチに設定する
コンピュータシステム。
【請求項６】
請求項１から５のいずれか１項に記載のコンピュータシステムで利用されるサーバ。
【請求項７】
スイッチに設定されたフローエントリに適合しない受信パケットを前記スイッチからコントローラが受信するステップと、
前記コントローラが、前記受信パケットに含まれる認証情報を参照して前記受信パケットを認証するステップと、
前記コントローラが、前記認証するステップにおいて正当と判断した前記受信パケットのヘッダ情報のうち、前記受信パケットの送信元を特定する情報を含むパケットに対する中継動作を規定したフローエントリを、前記スイッチに設定するステップと
を具備する
ポリシ制御方法。
【請求項８】
請求項７に記載のポリシ制御方法において、
コントローラが、前記認証するステップにおいて不正と判断した前記受信パケットのヘッダ情報のうち、前記受信パケットの送信元を特定する情報を含むパケットを破棄することを規定したフローエントリを、前記スイッチに設定するステップを更に具備する
ポリシ制御方法。
【請求項９】
請求項７又は８に記載のポリシ制御方法において、
前記コントローラが、中継動作ポリシを規定したポリシ情報を保持するステップと、
前記中継動作を規定したフローエントリを設定するステップは、前記コントローラが、前記正当と判断された受信パケットに含まれる認証情報に対応するポリシ情報に従ったフローエントリを前記スイッチに設定するステップを備える
ポリシ制御方法。
【請求項１０】
請求項９に記載のポリシ制御方法において、
認証情報は、前記ポリシ情報を識別するポリシＩＤと、認証に利用される第１認証ＩＤを含み、
前記ポリシ情報は、前記ポリシ情報を識別するポリシＩＤと、第２認証ＩＤとが対応付けられて前記コントローラに保持され、
前記認証するステップにおいて、前記コントローラは、前記認証情報に含まれるポリシＩＤに対応する前記第２認証ＩＤと、前記第１認証ＩＤとが一致する受信パケットを正当な受信パケットと判断する
ポリシ制御方法。
【請求項１１】
請求項１０に記載のポリシ制御方法において、
前記ポリシ情報は、前記ポリシ情報を識別するポリシＩＤに対応付けられた複数のポリシを含み、
前記中継動作を規定したフローエントリを設定するステップは、
前記コントローラが、前記認証情報に含まれるポリシＩＤに対応する複数のポリシの中で、前記正当と判断した受信パケットのヘッダ情報に適合するポリシを前記記憶装置から抽出するステップと、
前記コントローラが、前記抽出されたポリシに従ったフローエントリを前記スイッチに設定するステップと
を備える
ポリシ制御方法。
【請求項１２】
請求項７から１１のいずれか１項に記載のポリシ制御方法をコンピュータに実行させるポリシ制御プログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、コントローラ、ネットワークアクセスポリシ制御方法、及びプログラムに関し、特に、オープンフロー（オープンフロー）技術を利用したコンピュータシステム、及びネットワークポリシ制御方法に関する。
【背景技術】
【０００２】
ネットワークを利用した情報システムの普及により、ＩＰ網などのネットワークは大規模かつ複雑になり、加えて高い柔軟性が求められている。このため、ネットワーク機器の設定は複雑になり、さらに設定すべき台数も膨大な数になっているため、ネットワークの設計管理の負担が大きくなっている。【０００３】
例えば、広く普及しているパーソナルコンピュータ（以下、ＰＣと称す）に対するアクセス制御方法の１つに、ＰＣに隣接する末端のＬ２スイッチにＭＡＣベースＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を作成し、指定したＭＡＣアドレスを持つＰＣからの接続のみを許可するという方法がある。しかしこの方法では、数十万台のＰＣが接続される環境において、数千台のＬ２スイッチと数十万のＭＡＣアドレスの追加や削除を日々メンテナンスする必要があり、管理者に大きな負担がかかってしまう。【０００４】
このような問題を解決するため記述として、ＯｐｅｎＦｌｏｗ  Ｃｏｎｓｏｒｔｉｕｍ（ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／）が提案しているオープンフロー技術がある（非特許文献１参照）。この技術に対応したオープンフローシステムでは、オープンフローコントローラ（ＯＦＣ：Ｏｐｅｎ  Ｆｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）と呼ばれるサーバが、オープンフロースイッチ（ＯＦＳ：Ｏｐｅｎ  Ｆｌｏｗ  Ｓｗｉｔｃｈ）と呼ばれるネットワークスイッチを一元的に設定管理することが可能である。このため、ＯＦＣに対し、ＯｐｅｎＦｌｏｗシステム全体のネットワークアクセスポリシ（以下、ポリシと称す）を設定することで、全てのＯＦＳの制御が可能となる。【０００５】
図１を参照して、オープンフロープロトコルを利用したコンピュータシステムの構成及び動作を説明する。図１を参照して、本発明の関連技術によるコンピュータシステムは、オープンフローコントローラ１００（以下、ＯＦＣ１００と称す）、複数のオープンスイッチ２−１〜２−ｎ（以下、ＯＦＳ２−１〜２−ｎと称す）を有するスイッチ群２０、複数のホストコンピュータ３−１〜３−ｉ（以下、ホスト３−１〜３−ｉと称す）を有するホスト群３０を具備する。ただし、ｎ、ｉは２以上の自然数である。以下、ＯＦＳ２−１〜２−ｎを区別せずに総称する場合はＯＦＳ２と称し、ホスト３−１〜３−ｉを区別せずに総称する場合はホスト３と称して説明する。【０００６】
ＯＦＣ１００は、ホスト３間の通信経路の設定や、経路上におけるＯＦＳ２に対する転送動作（中継動作）等の設定を行う。この際、ＯＦＣ１００は、ＯＦＳ２が保持するフローテーブルに、フロー（パケットデータ）を特定するルールと、当該フローに対する動作を規定するアクションとを対応付けたフローエントリを設定する。通信経路上のＯＦＳ２は、ＯＦＣ１００によって設定されたフローエントリに従って受信パケットデータの転送先を決定し、転送処理を行う。これにより、ホスト３は、ＯＦＣ１００によって設定された通信経路を利用して他のホスト３との間でパケットデータの送受信が可能となる。すなわち、オープンフローを利用したコンピュータシステムでは、通信経路を設定するＯＦＣ１００と、転送処理を行うＯＦＳ２とが分離されているため、システム全体の通信を一元的に制御及び管理することが可能となる。【０００７】
図１を参照して、ホスト３−１からホスト３−ｉへパケット送信を行う場合、ＯＦＳ２−１はホスト３−１から受け取ったパケット内にある送信先情報（ヘッダ情報：例えば宛先ＭＡＣアドレスや宛先ＩＰアドレス）を参照し、ＯＦＳ２−１内部で保持しているフローテーブルから当該ヘッダ情報に適合するエントリを探す。フローテーブルに設定されるエントリの内容については、例えば非特許文献１で規定されている。【０００８】
ＯＦＳ２−１は、受信パケットデータについてのエントリがフローテーブルに記載されていない場合、当該パケットデータ（以下、ファーストパケットと称す）、又はファーストパケットのヘッダ情報（あるいはファーストパケットそのもの）をＯＦＣ１００に転送する。ＯＦＳ２−１からファーストパケットを受け取ったＯＦＣ１００はパケット内に含まれている送信元ホストや送信先ホストという情報を元に経路４０を決定する。【０００９】
ＯＦＣ１００は、経路４０上の全てのＯＦＳ２に対して、パケットの転送先を規定するフローエントリの設定を指示する（フローテーブル更新指示を発行）。経路４０上のＯＦＳ２は、フローテーブル更新指示に応じて、自身で管理しているフローテーブルを更新する。この後ＯＦＳ２は、更新したフローテーブルに従い、パケットの転送を開始することで、ＯＦＣ１００が決定した経路４０を経由して、宛先のホスト３−ｉへパケットが到達するようになる。【００１０】
しかし、上記のＯｐｅｎＦｌｏｗ技術では、ＯｐｅｎＦｌｏｗシステムに接続するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のホスト端末を、ＩＰアドレスやＭＡＣアドレスで識別している。このため、数十万台のＰＣが接続されるような環境では、数十万のＩＰアドレスやＭＡＣアドレスの１つ１つに対してポリシを設定する必要があり、大きな負担となっている。又、ＩＰアドレスやＭＡＣアドレスは偽装することが可能であるため、不正アクセスの危険があり対策が求められている。【００１１】
ポリシ制御に関するシステムが、例えば特開２００５−４５４９に記載されている（特許文献１参照）。特許文献１には、自身が保持するセキュリティポリシに基づいてネットワーク機器やアプリケーションサーバへのアクセス制御機能を有するポリシサーバが記載されているが、オープンフロー環境のシステムにおけるポリシ制御については開示されていない。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００５−４５４９
【非特許文献】
【００１３】
【非特許文献１】ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．０．０  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０１）  Ｄｅｃｅｍｂｅｒ  ３１，  ２００９
【発明の概要】
【００１４】
以上のことから、本発明による目的は、ネットワークアクセスポリシ制御を容易に行うことが可能なオープンフロープロトコル環境のコンピュータシステムを提供することにある。
【００１５】
又、本発明による他の目的は、オープンフロープロトコル環境のネットワークにおける不正アクセスに対するセキュリティ強度を向上させることにある。
【００１６】
一の観点において、本発明によるコンピュータシステムは、コントローラと、コントローラによって設定されたフローエントリに適合する受信パケットに対し、フローエントリで規定された中継動作を行うスイッチとを具備する。スイッチは、自身に設定されたフローエントリに適合しない受信パケットを、コントローラに送信する。コントローラは、受信パケットに含まれる認証情報を参照して当該受信パケットを認証する。ここで、コントローラは、正当と判断した受信パケットのヘッダ情報のうち、受信パケットの送信元を特定する情報を含むパケットに対する中継動作を規定したフローエントリを、スイッチに設定する。
【００１７】
他の観点において、本発明によるポリシ制御方法は、スイッチに設定されたフローエントリに適合しない受信パケットを当該スイッチからコントローラが受信するステップと、コントローラが、受信パケットに含まれる認証情報を参照して受信パケットを認証するステップと、コントローラが、認証において正当と判断した受信パケットのヘッダ情報のうち、受信パケットの送信元を特定する情報を含むパケットに対する中継動作を規定したフローエントリを、スイッチに設定するステップとを具備する。
【００１８】
更に他の観点おいて、上述のポリシ制御方法は、コンピュータによって実行されるプログラムによって実現されることが好ましい。
【００１９】
本発明によれば、オープンフロープロトコル環境のコンピュータシステムにおけるネットワークアクセスポリシ制御を容易に行うことが可能となる。
【００２０】
又、詐称アドレスを利用した不正アクセスや妨害に対するセキュリティ強度を向上させることができる。
【図面の簡単な説明】
【００２１】
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
【図１】図１は、オープンフロープロトコルを利用したコンピュータシステムの構成の一例を示す図である。
【図２】図２は、本発明によるコンピュータシステムの構成の一例を示す図である。
【図３】図３は、本発明に係るポリシ情報の一例を示す図である。
【図４】図４は、本発明に係るポリシ情報の具体例を示す図である。
【図５Ａ】図５Ａは、本発明に係るフローエントリの具体例を示す図である。
【図５Ｂ】図５Ｂは、本発明に係るフローエントリの具体例を示す図である。
【図６】図６は、本発明によるコンピュータシステムにおけるポリシ設定及び通信動作の一例を示すシーケンス図である。
【図７】図７は、本発明によるオープンフローコントローラよるポリシ制御動作の一例を示すフロー図である。
【発明を実施するための形態】
【００２２】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
【００２３】
（コンピュータシステムの構成）
本発明によるコンピュータシステムは、図１に示すシステムと同様にオープンフロー技術を利用して通信経路の構築及びパケットデータの転送制御を行う。図２は、本発明によるコンピュータシステムの構成の一例を示す図である。本発明によるコンピュータシステムは、図１に示すシステムとは、オープンフローコントローラ（ＯＦＣ）とホスト端末（例えばＰＣ）の構成が相違し、他の構成（例えばＯＦＳ）は同様である。
【００２４】
図２を参照して、本発明によるコンピュータシステムの第１の実施の形態における構成を説明する。図２を参照して、本発明によるコンピュータシステムは、オープンフローコントローラ１（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ：以下、ＯＦＣ１と称す）、複数のオープンフロースイッチ２（Ｏｐｅｎ  Ｆｌｏｗ  Ｓｗｉｔｃｈ：以下、ＯＦＳ２と称す）、複数のホスト端末３（例示：ＰＣ）、入力端末４を具備する。
【００２５】
ＯＦＣ１は、セキュアチャネルネットワークを介して複数のＯＦＳ２に接続され、当該ネットワークを介してＯＦＳ２のフローテーブル２１を更新する。これにより、ＯＦＳ２を介して接続される複数のホスト端末３間の通信は制御される。ＯＦＳ２は、複数のホスト端末３間に設けられ、ホスト端末３や図示しない他のネットワークから転送されるパケットを、フローテーブル２１に設定されたフローエントリに従った転送先に中継する。
【００２６】
ＯＦＣ１は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路の構築及びパケット転送処理を制御する。ここで、オープンフロー技術とは、ＯＦＣ１が、ルーティングポリシ（フローエントリ：フロー＋アクション）に従い、マルチレイヤ及びフロー単位の経路情報を通信経路上のＯＦＳ２やＯＦＶＳ３３に設定し、経路制御やノード制御を行う技術を示す（詳細は、非特許文献１を参照）。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるＯＦＳ２やＯＦＶＳ３３は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、ＥＮＤ２ＥＮＤのフローとして通信を取り扱う。
【００２７】
図２を参照して、本発明によるＯＦＣ１の構成の詳細を説明する。ＯＦＣ１は、ＣＰＵ及び記憶装置を備えるコンピュータによって実現されることが好適である。ＯＦＣ１では、図示しないＣＰＵが記憶装置に格納されたプログラムを実行することで、図２に示すフロー制御部１１及びポリシ管理部１２の各機能が実現される。
【００２８】
フロー制御部１１は、オープンフロープロトコルに従ったスイッチ（ここではＯＦＳ２）に対してフローエントリ（ルール＋アクション）の設定又は削除を行う。これにより、ＯＦＳ２は、受信パケットのヘッダ情報に応じたルールに対応するアクション（例えばパケットデータの中継や破棄）を実行する。
【００２９】
フローエントリに設定されるルールには、例えば、ＴＣＰ／ＩＰのパケットデータにおけるヘッダ情報に含まれる、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ１からレイヤ４のアドレスや識別子の組み合わせが規定される。例えば、レイヤ１の物理ポート、レイヤ２のＭＡＣアドレス、ＶＬＡＮタグ（ＶＬＡＮ  ｉｄ）、レイヤ３のＩＰアドレス、レイヤ４のポート番号のそれぞれの組み合わせがルールとして設定される。尚、ＶＬＡＮタグには、優先順位（ＶＬＡＮ  Ｐｒｉｏｒｉｔｙ）が付与されていても良い。
【００３０】
ここで、フロー制御部１１によってルールに設定されるポート番号等の識別子やアドレス等は、所定の範囲で設定されても構わない。又、宛先や送信元のアドレス等を区別してルールとして設定されルことが好ましい。例えば、ＭＡＣ宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルールとして設定される。更に、データ転送プロトコルを特定する識別子をルールとして設定してもよい。
【００３１】
フローエントリに設定されるアクションには、例えばＴＣＰ／ＩＰのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクションとして、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
【００３２】
本発明に係るフロー制御部１１は、ポリシ管理部１２からの指示に応じたフローエントリを、当該指示によって指定されたＯＦＳ２に設定する。
【００３３】
ポリシ管理部１２は、入力端末４から供給されたポリシ情報１３０を、検索し易い形式に変換してポリシ情報記憶部１３に記録する。図３は、ポリシ情報記憶部１３に記録されるポリシ情報１３０の構造を示す図である。図３を参照して、ポリシ情報記憶部１３には、ポリシＩＤ１３１、認証ＩＤ１３２、ポリシ１３３が対応付けられてポリシ情報１３０として記録される。
【００３４】
ポリシＩＤ１３１は、ポリシ情報１３０を一意に特定するための識別子である。認証ＩＤ１３２は、ファーストパケット（の送信元ホスト又は宛先ホスト）に対しポリシ１３３を適用してよいかを認証するための情報（例示：パスワード）である。ポリシ１３３は、ホスト端末３のネットワークアクセスポリシを規定する情報である。ポリシ１３３には、送信元ホスト又は送信先ホストを規定する条件、アクセス方法を規定するプロトコル、優先度等が規定される。
【００３５】
図４は、ポリシ情報１３０の具体例を示す図である。図３に示すポリシ情報１３０は、ポリシＩＤ１３１として、複数のポリシ１３３“ポリシ１〜ポリシ３、・・・”の適用対象となる端末を特定する識別子“経理部一般職員用ポリシ”が設定され、当該ポリシ１３３を適用するか否かの認証に用いられる認証ＩＤ１３２“ＸＸＸＸＸ”が設定される。ここで、ポリシ１は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を利用したＩＰアドレス１０．１１．１２．１宛のパケット転送を許可するとともにその優先度を“１０”とすることを示す。ポリシ２は、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ）を利用したＩＰアドレス１０．１１．１２．２宛のパケット転送を許可するとともにその優先度を“２０”とすることを示す。ポリシ３は、ＲＤＰ（Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ  ）を利用したＩＰアドレス１０．１１．１２．０／２４宛のパケット転送を許可するとともにその優先度を“３０”とすることを示す。
【００３６】
ポリシ管理部１２は、ＯＦＳ２から通知されたファーストパケットに含まれる認証情報１４０とポリシ情報記憶部１３に記録されたポリシ情報１３０とを照合し、ファーストパケットの認証を行う。
【００３７】
詳細には、ホスト端末３は、ポリシＩＤと認証ＩＤを有する認証情報１４０を、パケットのデータ領域に含めて宛先ホストに送信する。ポリシ管理部１２は、ＯＦＳ２から通知されたファーストパケットに含まれる認証情報１４０のポリシＩＤをキーとしてポリシ情報記憶部１３を検索し、当該ポリシＩＤに一致するポリシＩＤ１３１のポリシ情報１３０を抽出する。そして、ポリシ管理部１２は、認証情報１４０の認証ＩＤとポリシ情報１３０内の認証ＩＤ１３２とを照合することで、当該ファーストパケットの認証を行う。
【００３８】
ポリシ管理部１２は、ファーストパケットの認証に成功（認証ＩＤが一致）すると、当該ファーストパケットを転送するためのフローエントリの設定指示をフロー制御部１１に指示する。この場合、フロー制御部１１は、当該ファーストパケットのヘッダ情報に応じたポリシ１３３に従ったフローエントリを、当該ヘッダ情報に応じて算出した通信経路上のＯＦＳ２に設定する。
【００３９】
一方、ファーストパケットに含まれるポリシＩＤに一致するポリシＩＤ１３１がポリシ情報記憶部１３に登録されていない場合や、認証情報ＩＤが一致しない場合、ポリシ管理部１２は認証失敗と判定する。この場合、ポリシ管理部１２は、当該ファーストパケットを破棄するためのフローエントリの設定をフロー制御部１１に指示する。フロー制御部１１は、当該指示に応じて、当該ファーストパケットのヘッダ情報の少なくとも一部をルールとし、パケット破棄をアクションとするフローエントリを、ファーストパケットの通知元のＯＦＳ２に設定する。尚、フローエントリの設定対象となるＯＦＳ２の選択方法、通信経路の算出方法、フロー制御部１１によるフローエントリの設定及び管理方法は、非特許文献１に記載のオープンフロープロトコルに準拠して行われる。
【００４０】
ポリシ管理部１２によって端末Ａ（からのファーストパケット）の認証が成功し、図４に示すポリシ１を適用するときのスイッチに設定するフローエントリの一例を図５Ａ及び図５Ｂに示す。ここでは、ポート０／１に端末Ａが接続され、ポート０／２にＷｅｂサーバが接続されたＯＦＳ２に設定されるフローエントリについて説明する。
【００４１】
図５Ａ及び図５Ｂを参照して、フローエントリには、ルール２１１として、マッチフィールド（Ｍａｔｃｈ  Ｆｉｅｌｄ）とマッチフィールドの値（Ｍａｔｃｈ  Ｖａｌｕｅ）とが規定される。又、アクション情報２１２としてアクション（Ａｃｔｉｏｎ）と優先度（Ｐｒｉｏｒｉｔｙ）が規定される。ポリシ１には、“１０．１１．１２．１へのＨＴＴＰ接続を許可、優先度１０”が規定されている。ＯＦＳ２には、認証された端末ＡからＩＰアドレス“１０．１１．１２．１”を宛先としたパケットに対する中継処理を規定するフローエントリ（図５Ａ）と、ＩＰアドレス“１０．１１．１２．１”が割り当てられたＷｅｂサーバから、認証された端末Ａを宛先としたパケットに対する中継処理を規定するフローエントリ（図５Ｂ）が設定される。
【００４２】
図５Ａを参照して、ルール２１１には、入力ポートが“０/１”、送信元ＭＡＣアドレスが“端末ＡのＭＡＣアドレス”、入力ＶＬＡＮ  ＩＤが“端末ＡのＶＬＡＮ  ＩＤ”、Ｅｔｈｅｒ  Ｔｙｐｅが“０ｘ０８００（ＩＰｖ４）”、ＩＰ  プロトコル（プロトコル番号）が“６（ＴＣＰ）”、送信元ＩＰアドレスが“端末ＡのＩＰアドレス”、宛先ＩＰアドレスが“１０．１１．１２．１”、宛先ポート番号が“８０（ＨＴＴＰ）”が規定され、他のマッチフィールドは“ＡＮＹ”が規定される。又、アクション情報２１２には、“受信パケットをポート“０／２”へ出力する”ことと、その優先度“１０”が規定される。
【００４３】
ＯＦＳ２は、図５Ａに示すフローエントリに従うことで、認証された端末ＡからＨＴＴＰ通信により送信された、ＩＰアドレス“１０．１１．１２．１”宛てのパケットを、Ｗｅｂサーバに接続されたポート“０／２”に出力する。
【００４４】
又、図５Ｂを参照して、ルール２１１には、入力ポートが“０/２”、宛先ＭＡＣアドレスが“端末ＡのＭＡＣアドレス”、Ｅｔｈｅｒ  Ｔｙｐｅが“０ｘ０８００（ＩＰｖ４）”、ＩＰ  プロトコル（プロトコル番号）が“６（ＴＣＰ）”、送信元ＩＰアドレスが“１０．１１．１２．１”、宛先ＩＰアドレスが“端末ＡのＩＰアドレス”、宛先ポート番号が“８０（ＨＴＴＰ）”が規定され、他のマッチフィールドは“ＡＮＹ”が規定される。又、アクション情報２１２には、“受信パケットをポート“０／１”へ出力する”ことと、その優先度“１０”が規定される。
【００４５】
ＯＦＳ２は、図５Ｂに示すフローエントリに従うことで、ＩＰアドレス“１０．１１．１２．１”のＷｅｂサーバからＨＴＴＰ通信により送信された、ＩＰアドレス“端末ＡのＩＰアドレス”宛てのパケットを、端末Ａに接続されたポート“０／１”に出力する。
【００４６】
このように、本発明では、認証に成功したファーストパケット（ホスト端末３）に対応するポリシに従ったフローエントリが、ＯＦＳ２に設定される。尚、上述の一例では、ポリシ１に対するフローエントリの設定について説明したが、認証されるポリシが複数ある場合は、それぞれに対応するフローエントリが設定される。
【００４７】
ＯＦＳ２は、ＯＦＣ１によってフローエントリが設定されるフローテーブル２１と、フローテーブル２１に設定されたフローエントリに従って受信パケットの転送や破棄を行うパケット制御部２２を備える。ＯＦＳ２に対するフローエントリの設定は、従来と同様にＯＦＣ１からのＦｌｏｗ−ｍｏｄ要求によって行われる。パケット制御部２２は、受信パケットのヘッダ情報に適合するフローエントリ（ルール）がフローテーブル２１に無い場合、当該受信パケットをファーストパケットとしてＯＦＣ１に送信する。これにより、ＯＦＳ２は、ホスト端末３から送信された認証情報１４０をＯＦＣ１に送信することとなる。一方、パケット制御部２２は、受信パケットのヘッダ情報に適合するフローエントリがある場合、当該フローエントリのアクションに従った処理を当該パケットに対して行う。受信パケットに対するアクションとして、例えば、他のＯＦＳ２やホスト端末３への転送や、パケット破棄がある。尚、図２には、２つのホスト端末３に接続されたエンドスイッチのみが図示されているが、図１と同様に、他のＯＦＳ２を介して他のホスト端末３に接続されていることは言うまでもない。又、ＯＦＳ２は物理スイッチが好適であるが、オープンフロープロトコルに従って動作すれば仮想スイッチによって実現されても構わない。
【００４８】
ホスト端末３は、図示しないＣＰＵやＲＡＭを備えるコンピュータ装置（物理サーバ）が好適であり、認証情報１４０が記録された記憶装置（図示なし）を備える。あるいは、ホスト端末３は、仮想マシンにより実現されても構わない。ホスト端末３は自身が保有する認証情報１４０をパケットのデータ領域に含めて送信する。その他の構成は、パケット通信可能な従来のコンピュータ装置や仮想マシンと同様である。尚、図２には、２つのホスト端末３のみが記載されているが、本システムは、図１と同様に複数のＯＦＳ２を介して接続された他のホスト端末３を備えることは言うまでもない。
【００４９】
図２には、システム内にホスト端末３が１つしか設けられていないが、これに限らず、通常、複数のホスト端末３が設けられる。
【００５０】
入力端末４は、ポリシ設定ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）４１を備えるコンピュータ装置である。ポリシ設定ＵＩ４１は、ＯＦＣ１にポリシ情報を設定するためのユーザインターフェースであり、ユーザからの指示をＯＦＣ１のポリシ管理部１２に出力する。これにより、ＯＦＣ１に任意のポリシ情報１３０が設定される。尚、ポリシ情報１３０の設定方法はこれに限らず、携帯可能な記録媒体を利用して設定されても良い。
【００５１】
更に、ＯＦＣ１にはモニタやプリンタに例示される出力装置が接続されていても良い。ポリシ管理部１２は、認証に失敗しファーストパケットのヘッダ情報（送信元ポート番号や送信元ＭＡＣアドレス）に基づいて当該パケットの通知元のＯＦＳ２や送信元のホスト端末３を特定することができる。この特定結果を、出力装置を介して視認可能に出力することで、不正アクセスの監視のみならず不正アクセス元を特定することが可能となる。
【００５２】
以上のような構成により、本発明によるコンピュータシステムでは、オープンフロープロトコルに従ったファーストパケットを利用して、コントローラ側でパケット（アクセス）の認証が行われ、認証結果に応じてパケットの転送動作（アクセス先）が制御される。本発明では、ホスト端末３によってパケットに挿入された認証情報を、フローを制御ＯＦＣ１において認証しているため、ネットワークアクセスポリシが異なるホスト端末３からの通信をＯＦＣ１において一元的に制御することができる。又、本発明では、ポリシ情報１３０毎に付与した認証ＩＤ１３２によってポリシ１３３を適用するホスト端末３を特定できる。このため、ＩＰアドレスやＭＡＣアドレスの１つ１つに対してポリシを設定する必要がなく、容易にポリシの変更や管理を行うことが可能となる。更に、本発明によるＯＦＣ１は、ファーストパケットを利用したパケット認証によってアクセス制御しているため、ホスト側の末端のＯＦＳ２、すなわちネットワークの入口において不正アクセス（例示：アドレスを詐称したパケットの侵入）を遮断することができる。
【００５３】
（動作）
次に、図６及び図７を参照して、本発明によるコンピュータシステムにおける通信動作及びアクセス制御動作の詳細を説明する。
【００５４】
図６は、本発明によるコンピュータシステムにおけるポリシ設定及び通信動作の一例を示すシーケンス図である。図７は、本発明によるＯＦＣ１によるポリシ制御動作の一例を示すフロー図である。
【００５５】
図６を参照して、先ず、コンピュータシステムの起動に際し、予め、入力端末４からポリシ情報１３０がＯＦＣ１のポリシ情報記憶部１３に記録される（ステップＳ１１、Ｓ１２）。詳細には、入力端末４から与えられたポリシ情報１３０は、ポリシ管理部１２に供給され、データベース化されてポリシ情報記憶部１３に格納される。これにより、ポリシ情報記憶部１３は、最新のポリシ情報１３０によって更新される。ここで、ポリシ情報記憶部１３は、ポリシ管理部１２によって常時検索が可能である。又、ステップＳ１１、Ｓ１２におけるポリシ情報記憶部１３の更新は、システムの運用中に行われても良い。
【００５６】
続いて、ホスト端末３からシステム内にパケット転送が行われたときのアクセス制御及び通信動作について説明する。ホスト端末３は、暗号化したポリシＩＤと認証ＩＤを付与した認証情報１４０を含めたパケットを、ネットワーク内に送信する（ステップＳ２１）。このとき、ホスト端末３からのパケットはＯＦＳ２に転送される。
【００５７】
ＯＦＳ２は、ホスト端末３から受信したパケットのヘッダ情報が、フローテーブル２１に設定されたフローエントリのルールに適合（一致）するか否かを判定し、適合するルールがある場合、当該ルールに対応するアクションに従い受信パケットを処理（例えば、他のＯＦＳ２への転送や破棄）する（図示なし）。詳細には、ＯＦＳ２は、ホスト端末３から受信したパケットのヘッダ情報（送受信ＩＰアドレス、ＭＡＣアドレス、ポート番号、又はプロトコル等）を抽出する。そしてＯＦＳ２は、ヘッダ情報とフローテーブル２１を比較し、マッチするフローエントリがあるかを確認する。マッチするフローエントリがある場合、ＯＦＳ２は当該フローエントリに記載されたアクション（転送や破棄）を実行し、転送処理を終了する。
【００５８】
一方、受信パケットのヘッダ情報に適合（一致する）フローエントリ（内のルール）がフローテーブル２１に設定されていない場合、ＯＦＳ２は、当該受信パケットをファーストパケットとしてＯＦＣ１のポリシ管理部１２に通知する（ステップＳ２２、ＰａｃｋｅｔＩＮ）。
【００５９】
ＰａｃｋｅｔＩＮされたポリシ管理部１２は、ファーストパケットの認証を行い、認証結果に応じたパケット処理方法をフロー制御部１１に指示する（ステップＳ２３、Ｓ２４）。フロー制御部１１は、ポリシ管理部１２の指示に従ったフローエントリを制御対象のＯＦＳ２のフローテーブル２１に設定する（ステップＳ２５）。これにより、ＯＦＳ２は、新たにフローテーブル２１に設定されたフローエントリに従った処理を、ステップＳ２１において受信したパケットに対して実行する。
【００６０】
図７を参照して、ファーストパケットを受信したポリシ管理部１２の動作（図６におけるステップＳ２３〜Ｓ２５）の詳細を説明する。
【００６１】
ＯＦＣ１は、ＯＦＳ２から受信したファーストパケットのデータ領域を解析し、認証情報１４０（ポリシＩＤと認証ＩＤ）を取得する（ステップＳ１０１）。続いて、ＯＦＣ１は、取得した認証情報１４０（ポリシＩＤと認証ＩＤ）とポリシ情報記憶部１３に保存されたポリシ情報１３０と比較し、認証を行う（ステップＳ１０２）。詳細には、ポリシ管理部１２は、認証情報１４０（ポリシＩＤ及び認証ＩＤ）に一致するポリシ情報１３０がポリシ情報記憶部１３内にあるかを検索する。このとき、認証情報１４０に一致するポリシ情報１３０がポリシ情報記憶部１３に記録されている場合、ポリシ管理部１２は認証成功と判定し、記録されていない場合、認証失敗と判定する（ステップＳ１０２）。
【００６２】
ステップＳ１０２において、認証に成功した場合、ポリシ管理部１２は、認証情報１４０内のポリシＩＤに該当するポリシ情報１３０をポリシ情報記憶部１３から取得する（ステップＳ１０３）。ＯＦＣ１は、取得したポリシ情報１３０に応じたフローエントリを制御対象のＯＦＳ２に設定する（ステップＳ１０４）。
【００６３】
詳細には、ポリシ管理部１２は、認証に成功した認証情報１４０に対応するポリシ情報１３０を参照し、ファーストパケットのヘッダ情報に対応するポリシ１３３に基づいたフローエントリの設定を、フロー制御部１１に指示する。この際、従来のオープンフローシステムと同様に、通信経路の算出が行われ、フローエントリの設定対象となるＯＦＳ２が指定される。フロー制御部１１は、セキュアチャネルを介したＦｌｏｗ−ｍｏｄ要求によって、ポリシ管理部１２からの指示に応じたフローエントリを指定されたＯＦＳ２に設定する。ここでは、送信元ＭＡＣアドレスを含むルールと、ポリシ１３３に対応するアクションとを含むフローエントリが設定されることが好適である。これにより、ＯＦＣ１によって認証されたパケットの送信元ホスト（すなわち認証されたホスト端末）の通信が、予めＯＦＣ１に設定されたポリシに基づいて制御されることとなる。尚、ここで設定されるフローエントリのルールとして、送信元ＭＡＣアドレスに加えて宛先アドレスや宛先ポート番号が規定されてもよい。これにより、認証されたホスト端末のアクセス先に応じた制御も可能となる。
【００６４】
具体例として、ポリシ管理部１２が認証情報１４０に応じて図４に示すポリシ情報１３０を取得し、ファーストパケットのヘッダ情報に、送信元ＭＡＣアドレス：“００００．００００．０００１”、宛て先ＩＰアドレス：“１０．１１．１２．１”、プロトコル：“ＨＴＴＰ”が含まれる場合のフローエントリの設定について説明する。この場合、ポリシ管理部１２は、図４に示すポリシ１に応じたフローエントリの設定を指示する。これにより、フロー制御部１１は、ポリシ管理送信元ＭＡＣアドレスが“００００．００００．０００１”、あて先ＩＰアドレスが“１０．１１．１２．１”、プロトコルが“ＨＴＴＰ”であることをルールとし、“１０．１１．１２．１”が接続されたポートへパケットを転送することをアクションとするフローエントリを、通信経路上のＯＦＳ２に設定する。又、フロー制御部１１は、ＯＦＳ２において当該フローエントリが適用されるときの優先度を“１０”に設定する。
【００６５】
以降、フローテーブル２１が更新されたＯＦＳ２は、当該フローテーブルに従いパケット制御を行う。
【００６６】
一方、ステップＳ１０２において、認証に失敗した場合、ＯＦＣ１は、ファーストパケットのヘッダ情報に含まれる少なくとも一部をルールとしパケット破棄をアクションとして規定したフローエントリを、ファーストパケットの通知元のＯＦＳ２のフローテーブル２１へ設定する（ステップＳ１０５）。ここでは、送信元ＭＡＣアドレスを含むルールが規定され、パケット破棄をアクションとするフローエントリが設定されることが好適である。これにより、ＯＦＣ１によって認証されないパケットの送信元ホスト（すなわち認証されないホスト端末）の通信が、ネットワークの入口のＯＦＳ２において遮断されることとなる。尚、パケット破棄を規定するフローエントリのルールとして、送信元ＭＡＣアドレスに加えて宛先アドレスや宛先ポート番号が規定されてもよい。これにより、認証されないホスト端末のアクセス先毎に、アクセスを制限することが可能となる。
【００６７】
以上のように本発明によるＯＦＣ１は、ホスト端末３からの認証情報１４０を、ファーストパケットの通知により受け取って認証するとともに、送信元が当該ホスト端末であることをルールとし、ポリシに応じたアクションを規定したフローエントリを設定する。このため、本発明によるシステムでは、ポリシを適用するホスト端末３に予め認証情報１４０を付与することで、端末毎のポリシ制御が可能となる。すなわち、本発明では、ポリシ適用のためのコンフィグ（ポリシ情報）をホスト端末毎に用意する必要はない。例えば、数万台規模のＰＣが接続されるネットワークでは、柔軟なポリシ制御を設計するために数万台分のコンフィグが必要であるが、本発明ではＰＣ毎のコンフィグは必要ないため容易に設計運用することができる。
【００６８】
又、本発明では、ホスト端末３からネットワークに対する最初の接続において認証情報を用いた認証が行われる。このため、ＩＰアドレスやＭＡＣアドレスの詐称による不正アクセスを、アクセスの最初の段階で遮断することができるため、オープンフローシステムの安全性を向上することができる。
【００６９】
更に、本発明によるコンピュータシステムで利用されるＯＦＳは、従来のオープンフロープロトコル（例えばＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｖｅｒｓｉｏｎ１．０によって規定されるプロトコル）に従っていればよく、ＯＦＣやホスト端末の機能のみを上述の実施の形態のように変更することで、ネットワークポリシ制御や不正アクセスの防止を実現できる。すなわち、本発明によれば、既存のオープンフローシステムにおいて、ＯＦＣ及びホスト端末の機能のみを変更することで、上述したネットワークポリシ制御や不正アクセスの防止を実現できる。このため、低コスト且つ容易に既存のシステムにネットワークポリシ制御等の機能を追加することが可能となる。
【００７０】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。上述では、認証処理後に設定されるフローエントリのルールとして送信元ＭＡＣアドレスを含む一例について説明したが、送信元ホスト端末を特定できればこれに限らない。例えば、送信元のＩＰアドレスや、送信元のホスト端末が接続するポート番号がルールとして規定されても良い。
【００７１】
尚、本出願は、日本出願番号２０１１−９１１０５に基づき、日本出願番号２０１１−９１１０５における開示内容は引用により本出願に組み込まれる。
【図１】
2012141086.tif 000003
【図２】
2012141086.tif 000004
【図３】
2012141086.tif 000005
【図４】
2012141086.tif 000006
【図５Ａ】
2012141086.tif 000007
【図５Ｂ】
2012141086.tif 000008
【図６】
2012141086.tif 000009
【図７】
2012141086.tif 000010
【国際調査報告】
2012141086.tif 000011
2012141086.tif 000012
2012141086.tif 000013