(57)【要約】【課題】  ゲスト端末がインターネットへ接続する際に、プロキシサーバが行うアクセスフィルタリングを適用できるシステムや方法を提供する。【解決手段】  通信機器のアクセスを制御する制御システムであって、指定された通信先の情報に応じて、第１のネットワークに接続された第１の通信機器から第２のネットワーク上の通信先へのアクセスを中継または遮断する制御を行う制御部４０と、第１のネットワークに接続され、第２の通信機器と通信を行う通信部４１と、通信部４１から第２のネットワークへのアクセスを中継し、制御部４０による制御を受けない通信経路を提供する中継部４２と、指定された通信先の情報を参照して、第２の通信機器から通信経路を使用した第２のネットワーク上の通信先へのアクセスを中継するか、遮断するかを通信部４１に対して指示する指示部４３とを含む。【選択図】  図５
2017085273.tif 000002
【特許請求の範囲】
【請求項１】
通信機器のアクセスを制御する制御システムであって、
指定された通信先の情報に応じて、第１のネットワークに接続された第１の通信機器から第２のネットワーク上の通信先へのアクセスを中継または遮断する制御を行う制御部と、
前記第１のネットワークに接続され、第２の通信機器と通信を行う通信部と、
前記通信部から前記第２のネットワークへのアクセスを中継し、前記制御部による制御を受けない通信経路を提供する中継部と、
前記指定された通信先の情報を参照して、前記第２の通信機器から前記通信経路を使用した前記第２のネットワーク上の通信先へのアクセスを中継するか、遮断するかを前記通信部に対して指示する指示部とを含む、制御システム。
【請求項２】
前記制御部は、ユーザに対し、該ユーザを識別するためのユーザ識別情報の入力を要求し、入力された前記ユーザ識別情報に基づき該ユーザの認証を行う認証部を含む、請求項１に記載の制御システム。
【請求項３】
前記指定された通信先の情報を記憶する記憶部をさらに含み、
前記指定された通信先の情報は、アクセスを禁止する通信先名もしくは通信先アドレスまたはその両方を含む、請求項１または２に記載の制御システム。
【請求項４】
前記通信部が前記第２の通信機器から前記アクセスを禁止する通信先名または通信先アドレスを含むアクセス要求を受けた場合、前記指示部は、前記アクセスを禁止する通信先へのアクセスを遮断するように指示し、前記通信部は、その指示を受けて前記アクセス要求を破棄する、請求項３に記載の制御システム。
【請求項５】
前記指定された通信先の情報は、前記第１のネットワーク上のアクセスを禁止する通信先名もしくは通信先アドレスまたはその両方を含み、
前記通信部が前記第２の通信機器から前記第１のネットワーク上のアクセスを禁止する通信先名または通信先アドレスを含むアクセス要求を受けた場合、前記指示部は、前記第１のネットワーク上のアクセスを禁止する通信先へのアクセスを遮断するように指示し、前記通信部は、その指示を受けて前記アクセス要求を破棄し、
前記通信部が前記第２の通信機器から前記第１のネットワーク上のアクセスを禁止する通信先名または通信先アドレス以外の通信先名または通信先アドレスを含むアクセス要求を受けた場合、前記指示部は、前記第１のネットワーク上のアクセスを禁止する通信先以外の通信先へのアクセスを中継するように指示し、前記通信部は、その指示を受けて前記アクセス要求を、前記アクセスを禁止する通信先以外の通信先へ転送する、請求項３に記載の制御システム。
【請求項６】
前記指示部は、前記アクセスを禁止する通信先へのアクセスを遮断するように指示する際、次回以降の該アクセスを禁止する通信先へのアクセス要求を遮断するように指示し、前記通信部は、次回以降に該アクセスを禁止する通信先へのアクセス要求を受けた場合は前記指示部からの指示を受けることなく該アクセス要求を破棄する、請求項３〜５のいずれか１項に記載の制御システム。
【請求項７】
前記制御部と前記指示部は、前記第１のネットワークに接続された同一の機器内に実装される、請求項１〜６のいずれか１項に記載の制御システム。
【請求項８】
通信機器のアクセスを制御する制御装置であって、
指定された通信先の情報に応じて、第１のネットワークに接続された第１の通信機器から第２のネットワーク上の通信先へのアクセスを中継または遮断する制御を行う制御部と、
前記第１のネットワークに接続され、第２の通信機器と通信を行う通信部と、
前記通信部から前記第２のネットワークへのアクセスを中継し、前記制御部による制御を受けない通信経路を提供する中継部と、
前記指定された通信先の情報を参照して、前記第２の通信機器から前記通信経路を使用した前記第２のネットワーク上の通信先へのアクセスを中継するか、遮断するかを前記通信部に対して指示する指示部とを含む、制御装置。
【請求項９】
指定された通信先の情報に応じて、第１のネットワークに接続された第１の通信機器から第２のネットワーク上の通信先へのアクセスを中継または遮断する制御を行う制御部を含む制御システムにより、第２の通信機器のアクセスを制御する方法であって、
前記第１のネットワークに接続された前記制御システムが備える通信部により、前記第２の通信機器と通信するステップと、
前記第２の通信機器からの前記第２のネットワーク上の通信先へのアクセス要求に基づき、前記指定された通信先の情報を参照して、前記通信部から前記第２のネットワークへ繋がる前記制御部による制御を受けない通信経路を使用した該第２のネットワーク上の通信先へのアクセスを中継するか、遮断するかを前記通信部に対して指示するステップと、
前記通信部が指示に従って前記第２の通信機器から前記第２のネットワーク上の通信先へのアクセスを中継または遮断するステップとを含む、制御方法。
【請求項１０】
請求項９に記載の制御方法に含まれる各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機器のアクセスを制御する制御システム、制御装置、制御方法およびその処理をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
ローカルネットワークからインターネットへ接続する環境では、高速なアクセスや安全な通信を確保するために、プロキシサーバと呼ばれる中継装置が設置されることが多い。このプロキシサーバを使用し、インターネットへアクセスすることに関し、ローカルネットワークの内部利用者には何の支障も生じないが、外部の利用者（ゲスト）には次のような問題がある。
【０００３】
ゲストは、プロキシサーバを利用する度に、ブラウザ等の通信を行うソフトウェアにプロキシサーバの設定を行い、利用が終了した後、その設定を解除する必要がある。個人認証を必要とする場合、ゲストにはユーザIDが配布されていないので、その認証を通ることができない。
【０００４】
このような問題に鑑み、ゲストに対しては、プロキシサーバを介さないインターネット通信を提供することができる。しかしながら、プロキシサーバを介さないインターネット通信を提供すると、アクセスフィルタリングを施すことができないため、ゲストの安全な通信を確保することができなくなってしまう。また、ゲストが利用する端末（ゲスト端末）がマルウェア感染や攻撃を受けた場合、その影響がローカルネットワーク内にも及ぶ可能性もある。ここで、マルウェアは、不正目的で作成されたソフトウェアである。
【０００５】
そこで、プロキシサーバの設定をしていないゲスト端末がインターネットへ接続する際にアクセスフィルタリングを適用し、ゲストに対して安全な通信を提供することができる技術が提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の技術では、内部利用者向けのプロキシサーバが行うアクセスフィルタリングを、ゲスト端末がインターネットへ接続する際に適用することができない。
【０００７】
そこで、ゲスト端末がインターネットへ接続する際に、プロキシサーバが行うアクセスフィルタリングを適用することが可能となるシステムや方法等の提供が望まれていた。
【課題を解決するための手段】
【０００８】
本発明は、上記課題に鑑み、通信機器のアクセスを制御する制御システムであって、指定された通信先の情報に応じて、第１のネットワークに接続された第１の通信機器から第２のネットワーク上の通信先へのアクセスを中継または遮断する制御を行う制御部と、第１のネットワークに接続され、第２の通信機器と通信を行う通信部と、通信部から第２のネットワークへのアクセスを中継し、制御部による制御を受けない通信経路を提供する中継部と、指定された通信先の情報を参照して、第２の通信機器から通信経路を使用した第２のネットワーク上の通信先へのアクセスを中継するか、遮断するかを通信部に対して指示する指示部とを含む、制御システムが提供される。
【発明の効果】
【０００９】
本発明によれば、ゲスト端末がインターネットへ接続する際に、プロキシサーバが行うアクセスフィルタリングを適用することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の制御システムの全体構成を示した図。
【図２】OpenFlowスイッチのパケット処理の流れを例示したフローチャート。
【図３】通信プロトコルの階層構造について説明する図。
【図４】制御システムが備えるサーバのハードウェア構成を例示した図。
【図５】制御システムの機能構成を示したブロック図。
【図６】フィルタリストの一例を示した図。
【図７】制御システムが行う通信機器のアクセス制御の第１の例を示したシーケンス図。
【図８】制御システムが行う通信機器のアクセス制御の第２の別の例を示したシーケンス図。
【図９】制御システムが行う通信機器のアクセス制御の第３の例を示したシーケンス図。
【図１０】制御システムの別の構成例を示した図。
【発明を実施するための形態】
【００１１】
図１は、本実施形態の制御システムの全体構成を示した図である。この制御システムは、店舗や施設内において、その利用者に無線LAN(Local Area Network)通信を提供したり、通信事業者によって公衆無線LAN通信を提供したりするために構築される。また、この制御システムは、社内に訪問者等のゲストに無線LAN通信を提供し、効率の良い仕事を実現するためにも構築される。
【００１２】
制御システムは、サーバ１０と、アクセスポイント１１と、ルータ１２とを含んで構成される。図１には、第１のネットワークとしてのLAN／イントラネット２０と、LAN／イントラネット２０に接続される第１の通信機器としての内部利用者端末２１と、第２のネットワークとしてのインターネット２２とが示されている。また、図１には、LAN／イントラネット２０とインターネット２２とを接続し、それらの間の通信を中継するルータ２３と、第２の通信機器としての外部の利用者が使用するゲスト端末２４とが示されている。
【００１３】
制御システムは、サーバ１０、アクセスポイント１１、ルータ１２の機能を１つの筐体内に備える制御装置であってもよいし、上記の内部利用者端末２１、ルータ２３、ゲスト端末２４の少なくとも１つをさらに備えていてもよい。また、制御システムは、LAN／イントラネット２０に接続される他の機器を含んで構成されていてもよい。
【００１４】
内部利用者端末２１は、内部利用者、例えばその会社の社員等が利用するデスクトップPC、ノートPC、タブレット端末、スマートフォン、MFP(Multi-Function Peripheral)、プロジェクタ、電子黒板等の通信可能な通信機器である。内部利用者端末２１は、LAN／イントラネット２０に接続されたルータ２３を介してインターネット２２にアクセスすることができ、インターネット２２上の所望の通信先と通信を行うことができる。
【００１５】
サーバ１０は、内部利用者端末２１がインターネット２２上の通信先と高速で、かつ安全に通信を行うことができるように設置される。サーバ１０は、それを実現するために、インターネット２２の通信先が保持する外部コンテンツをキャッシュする機能、利用者の個人認証を行う機能、セキュリティ上危険な外部サイトへのアクセス禁止を目的としたフィルタリング機能を備える。これらの機能は、サーバ１０内のプロキシサーバ１３により実現される。プロキシサーバ１３は、ソフトウェアにより実現されていてもよいし、ハードウェアにより実現されていてもよい。
【００１６】
キャッシュ機能は、内部利用者端末２１が一度アクセスし、利用した外部コンテンツを再利用するために保管しておく機能である。再利用する際、通信先から取得しなくても、保管したキャッシュから取得できるので、高速な通信を可能にし、通信量を削減することが可能となる。
【００１７】
個人認証機能は、認証に使用するユーザIDをもつ内部利用者のみに、LAN／イントラネット２０に接続される他の機器へのアクセスやインターネット２２へのアクセスの際のキャッシュ機能やフィルタリング機能の利用を可能にする。
【００１８】
フィルタリング機能は、予め指定された通信先の情報を許可サイトのリストや禁止サイトのリスト等のフィルタリスト１４として保持し、フィルタリスト１４を参照して、要求する通信先へのアクセスを中継または遮断する。すなわち、フィルタリスト１４が許可サイトのリストである場合、通信機器が要求する通信先がそのリストにあればアクセスを許可し、なければ禁止する。フィルタリスト１４が禁止サイトのリストである場合、通信機器が要求する通信先がそのリストにあればアクセスを禁止し、なければ許可する。アクセスを許可した場合、通信先へのアクセスを中継し、アクセスを禁止した場合は、通信先へのアクセスを遮断する。
【００１９】
ゲスト端末２４は、ゲストが利用するノートPC、タブレット端末、スマートフォン等である。ここでは、無線LAN接続を行う構成を例示しているが、これに限られるものではなく、有線LAN接続であってもよい。
【００２０】
アクセスポイント１１は、ゲスト端末２４がLAN／イントラネット２０やインターネット２２にアクセスすることを可能にするために設けられる。LAN／イントラネット２０には、業務に必要な情報機器やサーバ、プリンタやMFP等が接続されていてもよい。ゲスト端末２４は、アクセスポイント１１を介してLAN／イントラネット２０にアクセスすることで、これらの機器を利用することができる。
【００２１】
しかしながら、ゲストに対しては、セキュリティ上の観点から、利用可能な機器を制限し、その利用履歴（ログ）による監視を行えることが望ましい。ゲストが、社外秘の情報にアクセスすることは禁止されるべきである。このため、内部利用者とゲストのネットワーク利用を区別するべく、ゲスト専用の通信経路を敷設する方式、VLAN(Virtual LAN)等の技術を利用し、論理的にゲストの通信を隔離する方式を採用することができる。また、ネットワークをソフトウェアベースで区分し、制御するSDN(Software-Defined Network)を採用することもできる。
【００２２】
SDNを実現する代表的な手段として、OpenFlowプロトコルを使用する手法がある。OpenFlowプロトコルを使用したネットワークでは、データの伝送を実行するOpenFlowスイッチに、ソフトウェアで構築されたOpenFlowコントローラが処理内容を指示し、その内容を記憶させることで、柔軟な伝送制御を可能にしている。したがって、SDNを用いることで、既存のネットワークをゲストと共有しながら、ゲストのアクセス可能な対象を通信レイヤで制限することができる。
【００２３】
この手法では、既存のネットワークインフラをそのままゲスト用として活用することができるので、追加投資を抑制することができ、また、イントラネット内の機器を、内部利用者とゲストの両方からアクセスすることができるようにすることも容易である。これは、ゲスト専用の窓口（例えば、アクセスポイント等）を設置し、その窓口にOpenFlowスイッチを設置して通信パケットを制御することで実現することができる。
【００２４】
図２を参照して、OpenFlowスイッチのパケット処理の流れについて簡単に説明する。ステップ２００でOpenFlowスイッチは、通信パケットを受け取る。ステップ２０５で、そのパケットの先頭に記述されたヘッダの情報を読み込み、解析する。ヘッダは、国際標準化機構(ISO)により策定されたOSI参照モデルと呼ばれる通信機能の階層構造の各層で用いられるプロトコル毎に付与される。図３にそのOSI参照モデルを構成する各層と、各層で用いられるプロトコル・規格の例を示す。
【００２５】
OpenFlowスイッチは、階層構造におけるトランスポート層以下のヘッダから特定の情報を読み込むことができ、その情報としては、送信元、通信先（宛先）のMACアドレス、IPアドレス、TCPまたはUDPのポート番号が挙げられる。
【００２６】
再び図２を参照して、ステップ２１０でOpenFlowスイッチは、解析した情報を、既に記憶しているフローテーブル内の各処理規則と照合する。フローテーブルは、各処理規則につき、どのようなパケットをどのように処理するかという形式で記述している。一例を挙げると、宛先IPアドレスが192.168.1.2のパケットは、スイッチの３番ポートから送出するというものである。受け取ったパケットに対して、合致する処理規則がフローテーブル内に記憶されていれば、ステップ２１５へ進み、記憶されている処理規則に従って処理を行う。これに対し、合致する処理規則がフローテーブル内にない場合、ステップ２２０へ進み、OpenFlowコントローラに対してどのように処理すべきかを問い合わせる。この問い合わせは、packet_inメッセージにより行われる。
【００２７】
OpenFlowスイッチは、パケットに対し、単に伝送、破棄するだけではなく、ヘッダ情報の書き換えを行うことができる。例えば、ヘッダ情報として宛先や送信元のアドレスを書き換えることで、NAT(Network Address Translation)やルータのような既存ネットワーク機器と同等の機能を実現することができる。また、既存のネットワーク機器では実現が難しい、もしくは複雑で、動的な通信制御を、用途に応じて実現することもできる。
【００２８】
再び図１を参照して、ゲスト端末２４は、個人認証をしていないため、プロキシサーバ１３を使用したLAN／イントラネット２０およびルータ２３を介してインターネット２２へアクセスすることはできない。そこで、アクセスポイント１１とインターネット２２とをルータ１２により接続するゲスト専用の通信経路を提供する。
【００２９】
この通信経路を介したインターネット２２へのアクセスは、プロキシサーバ１３により制御されないため、ゲスト端末２４が有害サイトにアクセスし、マルウェア感染や攻撃を受ける可能性がある。また、その影響がLAN／イントラネット２０内に及ぶ可能性もある。これでは、セキュリティ上の問題が生じる。
【００３０】
そこで、アクセスポイント１１には、ゲスト端末２４がアクセスしようとする通信先の情報をサーバ１０に提供し、サーバ１０からの指示を受けて、ゲスト端末２４のインターネット２２へのアクセスを制御する手段を設ける。また、サーバ１０には、内部利用者端末２１がインターネット２２へアクセスする際に使用するフィルタリスト１４を参照し、上記の通信先の情報に応じてインターネット２２へのアクセスを許可するか否かを指示する手段を設ける。
【００３１】
これらの手段を設けることで、ゲスト端末２４がインターネット２２へ接続する際に、個人認証を必要とするプロキシサーバ１３が存在していても、アクセスフィルタリングを適用することができる。また、プロキシサーバ１３が行うアクセスフィルタリングを適用することもできる。このため、別途アクセスフィルタリングを施す必要がなく、追加コストや管理の手間が不要となる。
【００３２】
これらの手段は、上記のOpenFlowスイッチ、OpenFlowコントローラにより実現することができる。このため、図１に示す実施形態では、アクセスポイント１１に上記の制御する手段として上記のOpenFlowスイッチ１５を設け、サーバ１０に上記の指示する手段として上記のOpenFlowコントローラ１６を設けている。
【００３３】
内部利用者は、内部利用者端末２１を使用してインターネット２２へアクセスする際、LAN／イントラネット２０を経由してプロキシサーバ１３と通信を行う。プロキシサーバ１３は、ルータ２３を介してインターネット２２上の所望の通信先、例えばWebサイト等にアクセスし、そのWebサイト等からコンテンツを取得し、それを内部利用者端末２１へ渡す。このとき、プロキシサーバ１３は、フィルタリスト１４を参照し、通信先がアクセス禁止になっているかを確認し、禁止になっている場合、その通信を中継しない。ここでは、アクセス禁止を確認しているが、アクセス許可であってもよい。
【００３４】
一方、ゲストは、ゲスト端末２４を使用してインターネット２２へアクセスする際、内部利用者とは別の通信経路を使用する。ゲスト端末２４は、アクセスポイント１１と通信を行い、アクセスポイント１１は、ルータ１２を経由してインターネット２２上のWebサイト等にアクセスし、そのWebサイト等からコンテンツを取得し、ゲスト端末２４に渡す。ルータ１２は、例えば通信事業者によって提供される3G/LTE/WiMAXといった無線ルータである。
【００３５】
OpenFlowコントローラ１６は、プロキシサーバ１３と同じ機器内に実装されるため、プロキシサーバ１３が参照するフィルタリスト１４を参照することができ、それを参照して、通信先がアクセス禁止か否かを確認する。そして、OpenFlowコントローラ１６は、アクセスを許可するか、禁止するかを、OpenFlowスイッチ１５に対して指示する。OpenFlowスイッチ１５は、許可する指示である場合、ルータ１２を経由するインターネット２２へのアクセスを中継し、禁止する指示である場合、そのアクセスを遮断する。具体的には、所望するサイトへのアクセスに必要なパケットを転送または破棄する。
【００３６】
アクセスに必要なパケットとしては、DNS(Domain Name System)における名前解決に必要なDNSパケットや、通信先に対する要求（リクエスト）そのもののパケットを挙げることができる。
【００３７】
図１では、サーバ１０にプロキシサーバ１３とOpenFlowコントローラ１６とを実装しているが、これらは別の機器に実装されていてもよい。この場合、プロキシサーバ１３を実装する機器には、フィルタリスト１４を、OpenFlowコントローラ１６を実装する機器へ提供する手段（API等）を設けることができる。
【００３８】
図１では、内部利用者端末２１とゲスト端末２４とがインターネット２２に接続する際、別個の通信経路を使用している。すなわち、LAN／イントラネット２０およびルータ２３を通る通信経路と、アクセスポイント１１およびルータ１２を通る通信経路とである。通信経路が異なる場合、インターネット接続業者（プロバイダ）と二重に契約しなければならない。そこで、ルータを、例えばルータ１２の１つにし、LAN／イントラネット２０をルータ１２に接続し、通信経路を途中で合流させ、プロバイダとの契約を１つにすることも可能である。これにより、通信コストを低減させることができる。
【００３９】
図４を参照して、サーバ１０のハードウェア構成について説明する。なお、アクセスポイント１１やルータ１２、２３も同様のハードウェア構成を採用することができる。サーバ１０は、ハードウェアとして、CPU３０、ROM３１、RAM３２、HDD３３、ネットワークI/F３４を備える。CPU３０は、上記の処理を実現するためのプログラムを実行する演算処理装置である。ROM３１は、不揮発性の記憶装置で、ブートプログラムやファームウェア、種々のデータが記憶される。RAM３２は、揮発性の記憶装置で、CPU３０に対して作業空間を提供する。HDD３３は、不揮発性の記憶装置で、OSや種々のプログラムやデータが保存される。CPU３０は、OSの管理下で上記のプログラムをHDD３３から読み出し、RAM３２上に展開して実行する。ネットワークI/F３４は、LAN／イントラネット２０との接続を可能にするインタフェースである。
【００４０】
図５を参照して、制御システムが備える機能について説明する。制御システムは、機能部として、制御部４０と通信部４１と中継部４２と指示部４３とを含む。図５では、制御システムがさらに記憶部４４を備えている。記憶部４４は、フィルタリスト１４を記憶する。
【００４１】
制御部４０は、プロキシサーバ１３により実現され、フィルタリスト１４の内容に応じて、LAN／イントラネット２０に接続された内部利用者端末２１からインターネット２２上の通信先へのアクセスを中継または遮断する制御を行う。制御部４０は、アクセスを許可する場合、その通信先へアクセスに必要なパケットを転送し、アクセスを禁止する場合、アクセスに必要なパケットを破棄する。
【００４２】
制御部４０は、プロキシサーバ１３が有する認証機能やキャッシュ機能を備えることができる。したがって、制御部４０は、ユーザを識別するためのユーザ識別情報であるユーザIDを入力させる画面を提供し、ユーザIDが入力されたことを受けて、ユーザIDに基づきそのユーザの認証を行うことができる。ユーザ認証は、予め登録されたユーザIDの中に入力されたユーザIDが存在するかを確認し、存在する場合にそのユーザを認証することができる。また、制御部４０は、記憶部４４をキャッシュとして利用し、一度アクセスしたWebページの内容を保存し、次回アクセスする際に記憶部４４から読み出し、高速に表示させることができる。なお、これらの機能は、制御部４０が、機能部として、認証部や記憶処理部等として備えることができる。
【００４３】
通信部４１は、OpenFlowスイッチ１５により実現され、LAN／イントラネット２０に接続され、ゲスト端末２４と通信を行う。また、通信部４１は、ゲスト端末２４から送信されたパケット等の情報を、LAN／イントラネット２０に接続された機器や、インターネット２２上の機器へ転送する処理を行う。中継部４２は、ルータ１２により実現され、通信部４１からインターネット２２へのアクセスを中継し、制御部４０による制御を受けない通信経路を提供する。
【００４４】
指示部４３は、OpenFlowコントローラ１６により実現され、フィルタリスト１４を参照し、ゲスト端末２４から上記の通信経路を使用したインターネット２２上の通信先へのアクセスを中継するか、遮断するかを指示する。
【００４５】
制御部４０および指示部４３が参照するフィルタリスト１４は、例えば図６に示すようなものである。図６に示すフィルタリスト１４は、アクセス禁止サイトを記述したもので、番号１は、単一の通信先アドレスであるIPアドレス「192.0.2.200」を禁止対象としている。
【００４６】
番号２は、IPネットワークにおけるサブネット、もしくはIPアドレスの集合を禁止対象とするものである。IPアドレスは、ネットワークアドレスとビットマスクの組で表され、ネットワークアドレスに対して、前からマスクの数字と同じ個数のビットが一致していれば、そのネットワークに含まれる。図６に示す例の場合、198.51.100.0と前から24ビットが等しいアドレスであるため、198.51.100.0〜198.51.100.255が対象となる。ここでは２５６個を対象としたが、厳密には、198.51.100.0は、一般に使用せず、198.51.100.255は、サブネット内のブロードキャストアドレスで、使用することができないため、２５４個のアドレスが対象となる。
【００４７】
番号３は、単一の通信先名であるホスト名「virus.example.com」を禁止対象とし、番号４は、ホスト名の集合「*.yuugai.example.org」を禁止対象としている。「*」は、どのような文字や文字列でもマッチするワイルドカードで、それ以降のホスト名の記述がそのパターンに合致していれば対象であるとみなす。例えば、パターンが合致するabcde.yuugai.example.orgは、禁止対象とみなされる。ここでは、「*」をワイルドカードとして使用したが、ワイルドカードは、その他の記号であってもよい。
【００４８】
図７に示すシーケンス図を参照して、制御システムが行う処理を具体的に説明する。図７では、ゲスト端末２４と、制御システムが備える通信部４１、中継部４２、指示部４３と、DNSサーバ５０と、通信先としてのWebサイト５１との間で通信を行うものとする。また、Webサイト５１がフィルタリスト１４の禁止対象となっていないものとする。
【００４９】
ゲスト端末２４は、アクセスしたいホスト名に対応するIPアドレスを取得するため、DNSサーバ５０に対してDNSクエリを送信する（S1）。DNSクエリも、通信先へのアクセスを要求するアクセス要求の１つである。ホスト名は、通信先の機器名である。ここでは、通信先となるWebサイト５１のサイト名とされる。DNSサーバ５０は、ホスト名とIPアドレスとを対応付けたテーブルを保持し、名前解決と呼ばれる、与えられたホスト名からIPアドレスを決定する処理を実行する。Webサイト５１は、複数のWebページをコンテンツとして保持し、そのコンテンツを要求に応じて提供するコンテンツサーバとされる。コンテンツは、音楽、映画、ゲーム、ニュース等、いかなる情報や内容のものであってもよい。
【００５０】
通信部４１は、ゲスト端末２４からIPアドレスを問い合わせるためのDNSクエリのパケットを、OpenFlowのpacket_inメッセージとして指示部４３に送信する(S2)。指示部４３は、そのメッセージを受け取ると、DNSクエリを解析し、ホスト名を取り出す。指示部４３は、フィルタリスト１４を参照し(S3)、この例では禁止対象ではないため、アクセス禁止ホスト名ではないことを確認する。そして、指示部４３は、DNSクエリをそのままDNSサーバ５０に送信するように指示するpacket_outメッセージを通信部４１に送信する(S4)。
【００５１】
通信部４１は、packet_outメッセージで指示された通り、DNSクエリのパケットをDNSサーバ５０に転送する(S5)。DNSサーバ５０は、DNSクエリに含まれるホスト名に対応するIPアドレスを取得し、そのIPアドレスを含むDNSレスポンスを通信部４１に返す(S6)。通信部４１は、DNSレスポンスをそのままゲスト端末２４に転送する(S7）。
【００５２】
ゲスト端末２４は、受信したDNSレスポンスから通信先のIPアドレスを取り出し、そのIPアドレス宛てにHTTPリクエストを送信する(S8)。HTTPリクエストは、WebブラウザがWebサイト５１に対してデータを要求するアクセス要求の１つである。通信部４１は、ゲスト端末２４から受信したHTTPリクエストを、packet_inメッセージとして指示部４３に転送する(S9)。指示部４３は、フィルタリスト１４を参照し(S10）、この例では禁止対象ではないため、アクセス禁止IPアドレスではないことを確認する。そして、指示部４３は、HTTPリクエストをそのまま転送するように指示するpacket_outメッセージを通信部４１に送信する(S11)。
【００５３】
なお、指示部４３は、次回以降の同じ宛先のHTTPリクエストに対し、そのまま通信先に転送するように指示するflow_modメッセージを送信してもよい。このflow_modメッセージを送信することで、次回以降、通信部４１から同じ宛先に対するpacket_inメッセージを送信し、指示部４３がpacket_outメッセージを返す必要がなくなり、通信パフォーマンスを向上させることができる。
【００５４】
通信部４１は、指示部４３からの指示に従って、HTTPリクエストを、中継部４２を介してWebサイト５１に転送する(S12、S13)。Webサイト５１は、HTTPリクエストに基づき、Webページの内容を取得し、取得したWebページの内容を含むHTTPレスポンスを、中継部４２を介して通信部４１に返す(S14、S15)。通信部４１は、Webサイト５１から受信したHTTPレスポンスをそのままゲスト端末２４に転送する(S16)。これにより、ゲスト端末２４は、Webページの内容を表示させ、ゲストは、そのWebページの内容を閲覧することができる。
【００５５】
図７に示す実施形態では、ホスト名とIPアドレスの両方を確認しているが、これは、一方のみの場合、他方が禁止リストにある場合にアクセスが許可されてしまい、セキュリティを確保することができなくなるためである。ちなみに、DNSクエリの内容は、OpenFlowスイッチ１５の機能では判断する条件に含めることができないため、毎回OpenFlowコントローラ１６へ送り、OpenFlowコントローラ１６が確認を行う必要がある。これに対し、IPアドレスは、OpenFlowスイッチ１５の機能において判断する条件に含めることができるため、それを利用して高速に処理することができる。すなわち、上記のようにflow_modメッセージとして送信し、OpenFlowスイッチ１５に登録しておけば、次回以降のOpenFlowコントローラ１６による禁止対象かの確認を省略し、OpenFlowスイッチ１５が判断することができる。
【００５６】
次は、ゲスト端末２４がアクセスを要求するホスト名がフィルタリスト１４に含まれ、禁止対象になっている場合の処理を、図８を参照して説明する。ゲストは、ゲスト端末２４を使用し、Webサイト５１が提供するWebページを閲覧する際、ホスト名をWebブラウザに入力する。ゲスト端末２４は、ゲストがアクセスしたいホスト名に対応するIPアドレスを取得するため、DNSクエリを通信部４１に送信する(S1)。
【００５７】
通信部４１は、DNSクエリのパケットをOpenFlowのpacket_inメッセージとして指示部４３に送信する(S2)。指示部４３は、DNSクエリを解析し、要求されているホスト名を取り出す。そして、指示部４３は、フィルタリスト１４を参照し(S3)、取り出したホスト名と比較し、この例では禁止対象であるため、アクセス禁止ホスト名であることを確認する。指示部４３は、アクセス禁止ホスト名であった場合、何のメッセージも送信しない(S4)。通信部４１は、一定期間、何のメッセージも受信しない場合、DNSクエリのパケットを破棄し、ゲスト端末２４のWebサイト５１へのアクセスを遮断する(S5)。
【００５８】
上記でホスト名がフィルタリスト１４に含まれ、ホスト名が禁止対象になっている場合の処理について説明したが、ホスト名ではなく、IPアドレスが禁止対象になっている場合の処理を、図９を参照して説明する。ゲストは、ゲスト端末２４を使用し、Webサイト５１が提供するWebページを閲覧する際、ホスト名をWebブラウザに入力する。ゲスト端末２４は、ゲストがアクセスしたいホスト名に対応するIPアドレスを取得するため、DNSクエリを通信部４１に送信する(S1)。
【００５９】
通信部４１は、DNSクエリのパケットをOpenFlowのpacket_inメッセージとして指示部４３に送信する(S2)。指示部４３は、DNSクエリを解析し、要求されているホスト名を取り出す。指示部４３は、フィルタリスト１４を参照し(S3)、取り出したホスト名と比較し、この例ではホスト名は禁止対象になっていないので、アクセス禁止ホスト名ではないことを確認する。そして、指示部４３は、DNSクエリをそのままDNSサーバ５０に送信するように指示するpacket_outメッセージを通信部４１に返す(S4)。
【００６０】
通信部４１は、指示部４３から指示された通り、DNSクエリをそのままDNSサーバ５０に転送する(S5)。DNSサーバ５０は、DNSクエリに含まれるホスト名に対応するIPアドレスを取得し、そのIPアドレスを含むDNSレスポンスを通信部４１に返す(S6)。通信部４１は、DNSレスポンスをそのままゲスト端末２４に転送する(S7）。
【００６１】
ゲスト端末２４は、受信したDNSレスポンスから通信先のIPアドレスを取り出し、そのIPアドレス宛てにHTTPリクエストを送信する(S8)。HTTPリスエストは、WebブラウザがWebサイト５１に対してデータを要求するメッセージである。通信部４１は、ゲスト端末２４から受信したHTTPリクエストを、packet_inメッセージとして指示部４３に転送する(S9)。指示部４３は、フィルタリスト１４を参照し(S10）、この例では禁止対象であるため、アクセス禁止IPアドレスであることを確認し、HTTPリクエストの転送を指示しない。この場合、次回以降の同じ宛先のHTTPリクエストに対し、HTTPリクエストを破棄するように指示するflow_modメッセージを送信してもよい(S11)。
【００６２】
通信部４１は、指示部４３からの指示を受け付け、その指示に従ってHTTPリクエストを破棄し、その通信先へのアクセスを遮断する(S12)。このflow_modメッセージを送信することで、次回以降、通信部４１から指示部４３へ同じIPアドレスに対するpacket_inメッセージを送信する必要がなくなり、通信パフォーマンスを向上させることができる。
【００６３】
LAN／イントラネット２０には、図１０に示すように、ゲストに対してアクセスを制限する必要がある、社外秘の情報を記憶する社外秘データベースサーバ２５や、ゲストも利用可能なプリンタ２６が接続されていてもよい。この場合、ゲスト端末２４に対し、プリンタ２６へのアクセスは許可するが、社外秘データベースサーバ２５へのアクセスは禁止する必要がある。
【００６４】
そこで、サーバ１０は、インターネットフィルタリスト１７と、イントラネットフィルタリスト１８とを実装することができる。インターネットフィルタリスト１７は、図１に示すフィルタリスト１４と同様のもので、プロキシサーバ１３とOpenFlowコントローラ１６の両方に参照可能とされる。これに対し、イントラネットフィルタリスト１８は、LAN／イントラネット２０に接続された機器のうち、ゲスト端末２４からのアクセスを禁止する機器の一覧を記録したものである。ここでは、禁止する機器としているが、許可する機器の一覧であってもよい。イントラネットフィルタリスト１８は、OpenFlowコントローラ１６のみに参照可能とされる。
【００６５】
図１０に示す実施形態では、ゲストが利用可能な機器がプリンタ２６とされている。これは一例であるので、印刷や投影等、基本的に出力機器としてしか働かない機器や、秘匿性が高いデータが適切なユーザ認証によって保護されるような機器を、ゲストが利用可能な機器とすることができる。
【００６６】
図１０に示す実施形態では、ゲストが利用できない機器が社外秘データベースサーバ２５とされている。これも一例であるので、認証なしで秘匿性が高い情報を閲覧可能な機器を、ゲストが利用できない機器とし、禁止対象の機器としてイントラネットフィルタリスト１８に登録することができる。
【００６７】
これにより、LAN／イントラネット２０内の機器を通信先として指定しても、OpenFlowコントローラ１６がイントラネットフィルタリスト１８を参照し、禁止する通信先であるかを確認し、OpenFlowスイッチ１５に指示して、その機器へのアクセスを許可または禁止することができる。すなわち、ゲスト端末２４からアクセスを禁止する通信先名または通信先アドレスを含むアクセス要求を受けた場合、OpenFlowコントローラ１６は、アクセスを禁止する通信先へのアクセスを遮断するように指示し、OpenFlowスイッチ１５は、その指示を受けてそのアクセス要求を破棄する。
【００６８】
また、ゲスト端末２４からアクセスを禁止する通信先名または通信先アドレス以外の通信先名または通信先アドレスを含むアクセス要求を受けた場合、OpenFlowコントローラ１６は、そのアクセスを禁止する通信先以外の通信先へのアクセスを中継するように指示し、OpenFlowスイッチ１５は、その指示を受けてそのアクセス要求を、上記のアクセスを禁止する通信先以外の通信先へ転送することができる。
【００６９】
なお、当然にして、インターネット２２上の通信先は、インターネットフィルタリスト１７を参照して禁止対象かを確認し、その通信先へのアクセスを許可または禁止することができる。このようにして、インターネット２２だけではなく、LAN／イントラネット２０に対してもアクセスを制御することができる。
【００７０】
これまで本発明を、制御システム、制御装置、制御方法およびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００７１】
したがって、上記のプログラムが記録されたCD-ROM、SDカード、USBメモリ等の記録媒体、そのプログラムを提供するプログラム提供サーバ等も提供することができるものである。
【符号の説明】
【００７２】
１０…サーバ、１１…アクセスポイント、１２…ルータ、１３…プロキシサーバ、１４…フィルタリスト、１５…OpenFlowスイッチ、１６…OpenFlowコントローラ、１７…インターネットフィルタリスト、１８…イントラネットフィルタリスト、２０…LAN／イントラネット、２１…内部利用者端末、２２…インターネット、２３…ルータ、２４…ゲスト端末、２５…社外秘データベースサーバ、２６…プリンタ、３０…CPU、３１…ROM、３２…RAM、３３…HDD、３４…通信I/F、４０…制御部、４１…通信部、４２…中継部、４３…指示部、４４…記憶部、５０…DNSサーバ、５１…Webサイト
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特開２００８−２１１４４６号公報
【図１】
2017085273.tif 000003
【図２】
2017085273.tif 000004
【図３】
2017085273.tif 000005
【図４】
2017085273.tif 000006
【図５】
2017085273.tif 000007
【図６】
2017085273.tif 000008
【図７】
2017085273.tif 000009
【図８】
2017085273.tif 000010
【図９】
2017085273.tif 000011
【図１０】
2017085273.tif 000012