説明

中継処理装置、及びその制御方法、プログラム

【課題】 エンドツーエンドで通信される通信データを中継する仕組みにおいて、当該通信で用いられるプロトコルに基づいて、当該通信される通信データを中継するか否かを決定することにより、セキュリティを向上させること。
【解決手段】 クライアント端末と情報処理装置との間で通信される通信データを中継する仕組みであって、通信プロトコルに従ったデータの通信を情報処理装置と行い、情報処理装置とのデータの通信が成功した通信プロトコルを、クライアント端末と情報処理装置との間での通信で用いられる通信プロトコルとして特定し、当該特定された通信プロトコルに従って、クライアント端末と情報処理装置との間で通信される通信データを中継するか否かを決定することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継処理装置、及びその制御方法、プログラムに関し、特に、通信データの中継制御を行う技術に関するものである。
【背景技術】
【0002】
近年、インターネットを介した情報交換が活発になるにつれて、ウィルス・マルウェアによる被害や企業などにおける顧客情報、営業機密等の情報漏洩による社会的信用の失墜や賠償請求による金銭的損失など、情報セキュリティにかかわる問題が深刻化している。
【0003】
このような問題に対して、ファイアーウォールやアンチウィルスソフトをはじめとするソフトウェア、情報処理装置によって対策がとられるのが一般的になっている。
【0004】
ファイアーウォールは、企業内LANなどの組織内ネットワークとインターネットなどの外部ネットワークの境界領域に設置され、両領域をまたがる通信に関して、その通信を中継し制御する機能を主にもつ。
【0005】
ファイアーウォールは、中継する通信の内容を監視し、その通信を行うノード機器(クライアント、サーバなどと呼ばれる)のアドレス、通信プロトコル、通信プロトコルで伝送されるアプリケーションデータなどの情報を、事前に設定されたアクセス制御ルールと照合し、その照合結果によってその通信の可否を決定し、制御するといった動作を行う機器である。
【0006】
ファイアーウォールの上記のような機能は、主にプロキシサーバーとよばれるソフトウェアプロセスによって実現されている。プロキシサーバーは、基本的にアプリケーションレベルのゲートウェイシステムであり、HTTP、HTTPS、FTP、GOPHERの通信プロトコルに対応しており、これらの通信の中継を行うことができる。
【0007】
このうちHTTP、FTP、GOPHERのプロトコルに関しては、アプリケーションゲートウェイ方式で中継する。クライアントとプロキシサーバーの間の通信と、プロキシサーバーとサーバの間の通信とは、それぞれ独立にアプリケーションレベルの通信回線が開設され、プロキシサーバーにおいて両通信回線間のデータを相互に中継する(アプリケーションゲートウェイ方式)。つまり、プロキシサーバーはアプリケーション層において中継処理を行っている。
【0008】
例えば、FTP通信では、クライアントとプロキシサーバーとの間はHTTPの通信回線が確立され、プロキシサーバーとFTPサーバとの間でFTPの通信回線が確立される。プロキシサーバーでは、HTTPで受け取った要求メッセージをFTPの要求メッセージへ変換し、サーバへ送信し、サーバから受け取ったFTPの応答メッセージを、HTTPの応答メッセージへ変換して、クライアントへ送信するといった動作を行う。
【0009】
これに対し、HTTPS(HTTP Over SSL)通信に関しては、SSL(Secure Socket Layer)通信が、クライアントとサーバとの間でエンドツーエンドの暗号化通信回線を要求するため、プロキシサーバーではトンネリング方式で中継する。すなわち、プロキシサーバーでは単純に、クライアントから受信した通信データをサーバ側へ送信し、サーバ側から受信した通信データをクライアントへ送信するという動作を行う。つまりプロキシサーバーはトランスポート層において中継処理を行っている。
【0010】
非特許文献1は、HTTPを規定したRFCであり、中継処理システムにおいてアプリケーションゲートウェイ方式で通信を中継する動作仕様が記載されている。
【0011】
また、非特許文献2には、中継処理システムにおいて、トンネリング方式で、暗号化されたデータを中継する(橋渡しする)ことが記載されている。
【0012】
また、非特許文献3では、SoftEtherというVPN(仮想プライベートネットワーク)プロトコルが、プロキシサーバーのHTTPS通信を中継するための設定(ポート番号443)を使って、内部ネットワークと外部ネットワークの間に自由にVPNを構築することができることが記載されている。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】R. Fielding他, “Hypertext Transfer Protocol −− HTTP/1.1”, RFC2616 <URL:http://www.ietf.org/rfc/rfc2616.txt>
【非特許文献2】Ari Luotonen, “Tunneling TCP based protocols through web proxy servers”, IETF InternetDraft <URL:http://tools.ietf.org/html/draft−luotonen−web−proxy−tunneling−01>
【非特許文献3】登大遊, “SoftEtherによるEthernetの仮想化とトンネリング通信” <URL:http://www.softether.co.jp/jp/vpn2/old/overview/paper/softetherpaper.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0014】
前述したしたように、HTTP、FTP、GOPHERの通信は、プロキシサーバーにおいてアプリケーションゲートウェイ方式で通信を中継するため、上述したファイアーウォールでの説明のように、クライアントとサーバのアドレス情報、通信プロトコル、アプリケーションデータの情報に基づいてアクセス制御することができる。
【0015】
例えば、HTTPの中継では、クライアントとプロキシサーバーとの間で通信回線を確立した後、クライアントのIPアドレス、通信プロトコル(HTTP)、受信したHTTPリクエストメソッド、リクエストURLなどを取得し、次にそれらの組合せがプロキシサーバーに事前に登録されたアクセス制御ルールと照合して許可すべきものか拒否すべきものか判定し、それに基づきアクセス制御を実施する。
【0016】
これに対し、HTTPSの通信を中継する場合は、トンネリング方式(トランスポート層での中継を行う方式)であるため、プロキシサーバーにおいては、クライアントとプロキシサーバーのTCP回線とプロキシサーバーとサーバのTCP回線との間でデータの橋渡しをするのみである。
【0017】
そのため、従来のプロキシサーバーは、TCP通信回線(トランスポート通信:トランスポート層での通信)の上(上位)を流れるデータについては感知しておらず、そのアプリケーションプロトコル(HTTPやFTP、GOPHERなど)(アプリケーション層のプロトコル)が何であるかを確認することなく中継処理を行っている。
【0018】
プロキシサーバーは、HTTPSを中継するための仕組みとして開発されたにも関わらず、結果的に、TCPベースの通信プロトコルの汎用中継システムとなっている。
【0019】
このため、HTTPS通信を中継する目的で設置されたプロキシサーバーを悪用して、ファイアーウォールのアクセス制御を回避する形で、組織内ネットワークから外部ネットワークのHTTPS以外のプロトコルのサーバ(たとえば、SMTPサーバ、SoftEtherの仮想ハブ)に接続することが可能となっている。例えば、社内PCからプロキシサーバーを経由して自宅のVPNサーバに接続し、そのVPNサーバから他のファイルサーバやHTTPサーバ等の他のサーバのデータを不正に取得することが可能となる。
【0020】
例えば、スパムメールの送信する業者が、送信元詐称を行うために外部のプロキシサーバーを経由して、SMTPサーバへ接続し、スパムメールを送るなどの事例が報告されている。
【0021】
このような本来の意図に反したプロキシサーバーの不正な利用に対して、従来は、非特許文献3のように、プロキシサーバーにおいて、中継先のサーバのTCPポート番号をHTTPS用の443や8443に限定するといった効果が限定的な対策しかとることができていない。
【0022】
すなわち、例えば、通常、HTTPSでは、HTTPのデータをSSLにより暗号化して通信されるが、プロキシサーバーでは、SSLで暗号化されているデータが本当にHTTPによるデータなのか、SSLで暗号化されているデータがどのプロトコルによるデータなのかを確認して、不正なプロキシサーバーの利用を判定することが困難であった。
【0023】
なぜならば、プロキシサーバーは、クライアント端末から送信される、エンドツーエンドで通信されるトランスポート層での通信の通信要求(CONNECTメソッド)には、クライアント端末と中継先のサーバとの間で通信される通信プロトコルを示す情報が含まれていないため、その通信プロトコルを特定することができない。そのため、プロキシサーバーは、クライアント端末と中継先のサーバとの間で通信される通信プロトコルを特定することが困難であった。
【0024】
上述した問題を解消するために、プロキシサーバーの不正な利用を判定して、その結果に応じた中継制御を行う機能が必要である。
【0025】
本発明は、エンドツーエンドで通信される通信データを中継する仕組みにおいて、当該通信で用いられるプロトコルに基づいて、当該通信される通信データを中継するか否かを決定することにより、セキュリティを向上させることを目的とする。
【課題を解決するための手段】
【0026】
本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置であって、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継が許可又は不許可されている当該通信で用いられる通信プロトコルを記憶する記憶手段と、前記記憶手段に記憶された通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信手段と、前記通信手段による、前記情報処理装置との、前記記憶手段に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する判定手段と、前記判定手段による判定結果に従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定する決定手段と、を備えることを特徴とする。
【0027】
また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置であって、通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信手段と、前記通信手段による前記情報処理装置とのデータの通信が成功した通信プロトコルを、前記情報処理装置との通信で用いられる通信プロトコルとして特定する特定手段と、前記特定手段で特定された通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データを中継するか否かを決定する決定手段と、を備えることを特徴とする。
【0028】
また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継し、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継が許可又は不許可されている当該通信で用いられる通信プロトコルを記憶する記憶手段を備える中継処理装置の制御方法であって、前記通信手段が、前記記憶手段に記憶された通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信工程と、判定手段が、前記通信工程による、前記情報処理装置との、前記記憶手段に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する判定工程と、決定手段が、前記判定工程による判定結果に従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定する決定工程と、を備えることを特徴とする。
【0029】
また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継し、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継が許可又は不許可されている当該通信で用いられる通信プロトコルを記憶する記憶手段を備える中継処理装置で実行可能なプログラムであって、前記中継処理装置を、前記記憶手段に記憶された通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信手段と、前記通信手段による、前記情報処理装置との、前記記憶手段に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する判定手段と、前記判定手段による判定結果に従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定する決定手段として機能させることを特徴とする。
【0030】
また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置の制御方法であって、通信手段が、通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信工程と、特定手段が、前記通信工程による前記情報処理装置とのデータの通信が成功した通信プロトコルを、前記情報処理装置との通信で用いられる通信プロトコルとして特定する特定工程と、決定手段が、前記特定工程で特定された通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データを中継するか否かを決定する決定工程と、を備えることを特徴とする。
【0031】
また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置で実行可能なプログラムであって、前記中継処理装置を、通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信手段と、前記通信手段による前記情報処理装置とのデータの通信が成功した通信プロトコルを、前記情報処理装置との通信で用いられる通信プロトコルとして特定する特定手段と、前記特定手段で特定された通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データを中継するか否かを決定する決定手段として機能させることを特徴とする。
【発明の効果】
【0032】
本発明によれば、エンドツーエンドで通信される通信データを中継する仕組みにおいて、当該通信で用いられるプロトコルに基づいて、当該通信される通信データを中継するか否かを決定することにより、セキュリティを向上させることができる。
【図面の簡単な説明】
【0033】
【図1】本発明の実施形態における中継処理システムの構成を示す図である。
【図2】本発明の実施形態における各種端末のハードウェア構成を示す図である。
【図3】本発明の実施形態における中継処理装置のプロトコル検査部の構成を示す図である。
【図4】本発明の実施形態における中継処理装置の基本的な処理フローを示す図である。
【図5】本発明の実施形態における中継処理装置のプロトコル検査処理フローを示す図である。
【図6】本発明の実施形態における中継処理装置のプロトコル検査手続き決定表の例を示す図である。
【図7】本発明の実施形態における中継処理装置のプロトコルキャッシュ表の例を示す図である。
【図8】本発明の実施形態における中継処理装置と情報提供処理装置とのSSLプロトコルのデータフローの例を示す図である。
【図9】本発明の実施形態における中継処理装置と情報提供処理装置とのHTTPプロトコルのデータフローの例を示す図である。
【図10】本発明の実施形態における中継処理装置と情報提供処理装置とのSMTPプロトコルのデータフローの例を示す図である。
【図11】本発明の実施形態における中継処理装置のアクセス制御表の例を示す図である。
【図12】本発明に係る機能ブロック図である。
【図13】本発明に係る機能ブロック図である。
【図14】本発明に係る機能ブロック図である。
【図15】本発明に係る機能ブロック図である。
【発明を実施するための形態】
【0034】
以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0035】
図1は、本発明の実施形態における中継処理システムの構成を示す図である。
【0036】
尚、図1のネットワーク上に接続される各種端末と各種装置の構成は、一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0037】
中継処理システム(図1)は、利用者端末110と中継処理装置120と情報提供処理装置150とから構成される。利用者端末110と中継処理装置120、中継処理装置120と情報提供処理装置150とはそれぞれネットワークを介して相互に通信可能に接続されている。
【0038】
中継処理装置120は、本発明の中継処理装置の適用例であり、利用者端末110は、クライアント端末の適用例であり、情報提供処理装置150は、情報処理装置の適用例である。
【0039】
利用者端末110は、情報提供処理装置150が提供するコンテンツデータを取得し表示するために使用する情報処理装置である。利用者端末110は、閲覧処理部111を備えている。
【0040】
閲覧処理部111は、一般にWebブラウザと呼ばれるHTTPプロトコル、HTTPSプロトコルのクライアントプログラム、一般にメーラーと呼ばれるSMTPプロトコルのクライアントプログラム、SSHプロトコルのクライアントプログラム、SoftEatherプロトコルのクライアントプログラムに相当する機能処理部である。
【0041】
閲覧処理部111は、利用者からの指示を受付け、中継処理装置120を経由して情報提供処理装置150へ通信要求メッセージを送信し、該通信要求メッセージに対して情報提供処理装置150から応答された通信応答メッセージを受信し、該通信応答メッセージを整形したものを利用者端末110のCRT210等に表示する機能を備えている。この時、閲覧処理部111と中継処理装置120のクライアント通信部121との間で開設される通信コネクションをクライアント回線161とする。
【0042】
中継処理装置120は、一般にプロキシサーバーと呼ばれるプログラムまたは装置がもつ機能を備える情報処理装置である。
【0043】
中継処理装置120は、利用者端末110から送信される通信要求メッセージを受信し、宛先である情報提供処理装置150へ該通信要求メッセージを中継し、情報提供処理装置150から応答される通信応答メッセージを、利用者端末110へ中継することができる。
【0044】
中継処理装置120は、クライアント通信部121と、サーバ通信部122と、通信制御部123と、プロトコル検査部124と、管理表保存部125と、検査手続き定義部126と、から構成される。
【0045】
クライアント通信部121は、利用者端末110の閲覧処理部111から接続要求を受け付け、利用者端末110からの通信要求メッセージを受信し、情報提供処理装置150からの通信応答メッセージを送信する機能を備える。
【0046】
サーバ通信部122は、情報提供処理装置150のサーバ処理部151へ接続し、利用者端末110からの通信要求メッセージを送信し、情報提供処理装置150からの通信応答メッセージを受信する機能を備える。
【0047】
通信制御部123は、クライアント通信部121が行う処理と、サーバ通信部122が行う処理と、プロトコル検査部124が行う処理との間で同期制御処理を行う機能をもつ。また、該同期制御処理において関連する情報を、管理表保存部125へ記憶させる機能と、管理表保存部125に記憶されたデータを参照する機能と、を備えている。また、通信制御部123は、管理表保存部125に保存されているアクセス制御情報に基づき、クライアント通信部121が受信した接続要求(情報提供処理装置150と通信するための情報提供処理装置150との接続要求)(通信要求メッセージ)による通信を許可するか否かを判定する機能、該判定された結果に基づき、クライアント通信部121と、サーバ通信部122とに、中継を許可するか否かの中継制御指示を通知する機能を備える。クライアント通信部121と、サーバ通信部122とは、この通知に基づいて中継を許可するか否かを制御する。
【0048】
プロトコル検査部124は、サーバ通信部122が行う通信とは独立して、情報提供処理装置150のサーバ処理部151とテスト回線163を開設して、サーバ処理部151が対応する通信プロトコル(単にプロトコルとも言う)を検査する機能(サーバ処理部151が通信で用いる通信プロトコルを検査する機能)を備える。
【0049】
プロトコル検査部124は、図3で示すように、検査処理制御部301と、個々の通信プロトコルを検査する部分(302〜307)と、から構成される。
【0050】
図3で示すプロトコル検査部は、SSL検査処理部302と、HTTP検査処理部303と、SMTP検査処理部304と、SSH検査処理部305と、SoftEther検査処理部306とを含み、それぞれ、SSLと、HTTPと、SMTPと、SSHと、SoftEtherのプロトコルを検査する機能を備えていることを表している。また、図3のXXX検査処理部307は検査する通信プロトコルを示していない。これは、新規に検査したい通信プロトコルが出てきた場合には、307に新規に検査したい通信プロトコルの検査処理部を追加し、該通信プロトコルを検査することが可能となることを示している。
【0051】
管理表保存部125は、アクセス制御表(アクセス制御情報)(図11)を記憶するための記憶領域である。
(アクセス制御表の説明)
【0052】
アクセス制御表(図11)は、通信制御部123から参照され、利用者端末110からの通信要求リクエスト(通信要求メッセージ)の中継の可否を決定するために利用される表である。
【0053】
図11にアクセス制御表の一例を示す。アクセス制御表の各レコードは、利用者端末110と情報提供処理装置150との通信の可否を示すルール(アクセス制御ルール)を表し、クライアント条件欄と、サーバ条件欄と、プロトコル欄と、結果欄と、から構成される。
【0054】
クライアント条件欄は、利用者端末110の条件(利用者端末を識別するための識別情報)が記憶される。サーバ条件欄は、情報提供処理装置150の条件(情報提供処理装置を識別するための識別情報)が記憶される。プロトコル欄は、利用者端末110と情報提供処理装置150との通信で用いられる通信プロトコルが記憶される。
【0055】
例えば、図11の1101のレコードは、10.1.0.0/255.255.0.0の範囲のIPアドレス(クライアントアドレス情報)が設定されている利用者端末110が任意の情報提供処理装置とHTTPSによるデータの通信を許可するルールを示している。
【0056】
検査手続き定義部126は、プロトコル検査手続き決定表(図6)とプロトコル情報キャッシュ表(図7)とを記憶するための記憶領域である。
【0057】
(プロトコル検査手続き決定表(図6)の説明)
【0058】
プロトコル検査手続き決定表(図6)は、サーバ回線162の開設に先立ち、情報提供処理装置150のサーバ処理部151が通信で用いる通信プロトコルを検査するため、プロトコル検査部124が使用する表である。
【0059】
プロトコル検査手続き決定表の例を図6に示す。プロトコル検査手続き決定表は、プロトコル検査部124が検査する各通信プロトコルを示しており、プロトコル名欄と、下位プロトコル検査処理部欄と、上位プロトコル検査処理部欄と、から構成される。
【0060】
プロトコル名欄は、検査対象である通信プロトコル名を保存する場所である。下位プロトコル検査処理部欄は、該通信プロトコルのトランスポート層の通信プロトコル(下位通信プロトコル)の検査処理部名を保存する場所である。上位プロトコル検査処理部欄は、該通信プロトコルの上位の通信プロトコル(上位通信プロトコル)(例えば、アプリケーション層の通信プロトコル)の検査処理部名を保存する場所である。
【0061】
下位通信プロトコルには、SSLなどの、トランスポート層での(エンドツーエンドでの)暗号通信で用いられる通信プロトコルが含まれている。
【0062】
例えば、図6の601のレコードは、情報提供処理装置150がHTTPSによる通信に対応しているかどうかを検査するためには、上位プロトコルと下位プロトコルの二段階で検査する必要があることを示している。すなわち、上位プロトコルの検査は、上位プロトコル検査処理部に示しているようにHTTP検査処理部303で検査を行い、下位プロトコルの検査は、下位プロトコル検査処理部に示しているようにSSL検査処理部302で検査を行うことを示している。
【0063】
(プロトコル情報キャッシュ表(図7)の説明)
【0064】
プロトコル情報キャッシュ表(図7)は、プロトコル検査部124によって判明(特定)した、情報提供処理装置150のサーバ処理部151が対応している通信プロトコル(サーバ処理部151が通信で用いる通信プロトコル)を一定期間記憶するための表である。
【0065】
プロトコル情報キャッシュ表の例を図7で示す。プロトコル情報キャッシュ表は、サーバ識別子欄、有効期限欄、プロトコル名欄から構成される。
【0066】
サーバ識別子欄は、情報提供処理装置150を識別するための識別情報として、情報提供処理装置150のホスト名とTCPポート番号とを組み合わせた情報を保存する場所である。有効期限欄は、レコードの有効期限(日時)を保存する場所である。プロトコル名欄は決定された通信プロトコル名を保存する場所である。
【0067】
プロトコル情報キャッシュ表の各レコードは定期的に検査され、有効期限欄の日時が、検査する日時より古い場合には、それに該当するレコードが削除される。
【0068】
例えば、図7の701のレコードは、ホスト名がwww.xxx.co.jpである情報提供処理装置150のポート番号443をもつサーバ処理部151が通信で用いる通信プロトコルがHTTPSであることを、2009年8月31日の3時20分54秒まで、再利用できる情報として保存されていることを示している。
【0069】
図7は、通信プロトコルと、該通信プロトコルを通信で用いる情報提供処理装置を識別するサーバ識別子(情報処理装置識別情報)とを関連付けて記憶している(プロトコル記憶手段)。
【0070】
情報提供処理装置150は、利用者端末110から送信された通信要求メッセージを受信し、該通信要求メッセージの内容に基づき通信応答メッセージを応答する情報処理装置である。情報提供処理装置150は、サーバ処理部151を備えている。
【0071】
サーバ処理部151は、一般にアプリケーションプロトコルのサーバと知られるプログラムに相当する機能処理部である。サーバ処理部151は、HTTP、HTTPS、SMTP、SSH、SoftEther、SMTP Over SSLの1つ又は複数のプロトコルのサーバ機能を備えている。
【0072】
次に、図1の利用者端末110、中継処理装置120、情報提供処理装置150の各種端末のハードウェア構成について、図2を用いて説明する。
【0073】
図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
【0074】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0075】
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0076】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
【0077】
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
【0078】
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
【0079】
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【0080】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
【0081】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0082】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0083】
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。
【0084】
さらに、外部メモリ211は、本発明に係わるプログラムが用いる前述した管理表保存部125及び検査手続き定義部126を含み、これらについての詳細な説明は後述する。
【0085】
次に、中継処理装置における処理手順を、図4を用いて説明する。
【0086】
図4に示す各ステップは、中継処理装置120のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0087】
ステップ401では、クライアント通信部121は、利用者端末110の閲覧処理部111からの接続要求を受け付け、通信回線(以降、クライアント回線161と呼ぶ)を確立し、利用者端末110のクライアントアドレス情報をRAM203の特定の領域に保存する。
【0088】
次に、クライアント通信部121は、確立された通信回線によって利用者端末より送信された通信要求メッセージ(情報提供処理装置からのデータ送信を要求する通信要求データ(通信データ))を受信する。そして、クライアント通信部121は、通信制御部123へ通信要求メッセージを渡し、ステップ402へ進む。
【0089】
ステップ402では、通信制御部123は、通信制御部123は通信要求メッセージに含まれるリクエストメソッドを参照し、接続先となる情報提供処理装置150のサーバ処理部のアドレスを表すサーバ識別子情報(ホスト名:ポート番号)を、RAM203の特定の領域に保存する。
【0090】
次に、通信制御部123は、該リクエストメソッドがCONNECTメソッドか否かを判定する。すなわち、該リクエストメソッドが、トランスポート層における、利用者端末と情報提供処理装置との間で(エンドツーエンドで)通信されるデータの中継を要求するCONNECTメソッド(トランスポート通信要求情報)であるか否かを判定する(要求情報判定手段)。
【0091】
CONNECTメソッドである場合は、情報提供処理装置150のサーバ処理部151が通信で用いる通信プロトコルを検査(特定)するために、ステップ403へ進む。通信制御部123は、該リクエストメソッドがCONNECTメソッドでない場合は、該通信要求メッセージを解析して、該リクエストメソッドのメソッド引数から通信プロトコルを判別し、該通信プロトコル名をRAM203の特定の領域の保存し、ステップ404へ進む。
【0092】
リクエストメソッドがCONNECTメソッドである場合の通信要求メッセージの例を下記に示す。
【0093】
CONNECT www.xxxx.co.jp:443 HTTP/1.0
【0094】
この場合は、サーバ識別子情報は“www.xxxx.co.jp:443”であることはわかるが、通信プロトコルが何であるのか不明である。
【0095】
次に、通信要求メッセージのリクエストメソッドがCONNECTメソッドでない場合(例えば、リクエストメソッドがGETメソッドの場合)の通信要求メッセージの例を下記に示す。
【0096】
GET http://www.xxxx.co.jp/index.html HTTP/1.0
【0097】
この場合は、サーバ識別子情報は“www.xxxx.co.jp:80”であることが分かり、メソッド引数の“http://www.xxxx.co.jp/index.html”というURLのスキーム部分から通信プロトコルが“http”であることが判別できる。
【0098】
ステップ403では、プロトコル検査部124において、サーバ処理部151の通信プロトコルを判別(特定)するための処理を行う。
【0099】
プロトコル検査部124におけるプロトコル検査処理の詳細は、後ほど説明する。プロトコル検査部124は、サーバ処理部151の通信プロトコルが何かを判明(特定)すると、該通信プロトコル名をRAM203の特定の領域の保存し、ステップ404へ進む。
【0100】
ステップ404では、通信制御部123において、ステップ401においてRAM203に保存したクライアントアドレス情報と、ステップ402においてRAM203に保存したサーバ識別子情報と、ステップ402またはステップ403でRAM203の特定の領域に保存された通信プロトコル名を取得する。
【0101】
次に、通信制御部123は、管理表保存部125に保存されているアクセス制御表(図11)を取得し、該アクセス制御表(図11)の各レコードを1つ1つ取り出し、利用者端末110が情報提供処理装置150としようとしている通信の条件に合致するレコードを検索する。
【0102】
通信制御部123は、アクセス制御表(図11)の先頭行から順番に1つ1つレコードを取得して照合手続き処理を繰返し実施する。照合手続き処理では、利用者端末110から受信した通信要求メッセージに含まれる利用者端末110のIPアドレス(クライアントアドレス情報)がクライアント条件欄の条件が合致し、かつ、利用者端末110から受信した通信要求メッセージに含まれる、サーバを識別するための識別情報(サーバ識別子)(サーバ識別子情報とも言う)がサーバ条件欄の条件と合致し、かつ、ステップS403で特定された通信プロトコル、又は、通信要求メッセージに含まれるメソッド引数のURLのスキーム部分から特定された通信プロトコルの通信プロトコル名がプロトコル欄の条件と合致するか否かを判定する。照合手続き処理で、利用者端末110が情報提供処理装置150としようとしている通信の条件に合致するレコードが見つかるか、全てのレコードに対して処理するまで実行する。
【0103】
通信制御部123は、条件に合致するレコードがあった場合には、該レコードの結果欄をアクセス制御の結果(中継制御の内容)として用いる。全てのレコードを検査しても合致するレコードがなかった場合には、中継処理装置120に予め設定されたデフォルトの結果値(“許可”もしくは“禁止(不許可)”)を、アクセス制御の結果(アクセス制御の内容)として用いる。次にステップ405へ進む。
【0104】
図11の例では、ステップS403で特定された通信プロトコルが、未定義(サーバ処理部151が通信するために用いられる通信プロトコルが不明な通信プロトコル)である場合は、No.6の条件に合致して、中継が禁止されるように設定されている。
【0105】
ステップ405では、ステップ404で判定されたアクセス制御の結果が、“許可”の場合は、ステップ406へ進み、“禁止”の場合は、ステップ407へ進む。
【0106】
また、ステップS405では、ステップS404でRAM203から読み出した、サーバ識別子情報と、通信プロトコル名を、それぞれ、プロトコル情報キャッシュ表(図7)のサーバ識別子、プロトコル名に記憶して、有効期限を更新する。
【0107】
ステップ406では、通信制御部123は、利用者端末110からの通信要求メッセージを、サーバ通信部122へ渡し、サーバ通信部122では、RAM203に保存されたサーバ識別子情報に基づき、情報提供処理装置150のサーバ処理部151へ接続し、通信回線(以降、サーバ回線162と呼ぶ)を開設する。
【0108】
通信制御部123は、サーバ回線162を通じて、利用者端末110からの通信要求メッセージを送信する。これに対して、情報提供処理装置150のサーバ処理部151から応答される通信応答メッセージを、サーバ通信部122で受信する。
【0109】
通信制御部123は、該通信応答メッセージを、サーバ通信部122から通信制御部123、クライアント通信部121へと渡し、クライアント通信部121は、クライアント回線161を介して、利用者端末110の閲覧処理部111に該通信応答メッセージを送信する。そして、サーバ回線162とクライアント回線161を切断し、処理を終了する。
【0110】
このように、中継処理装置120は、利用者端末110と情報提供処理装置150との間で通信されるデータ(通信データ)を中継するように制御する。
【0111】
ステップ407では、通信制御部123は、クライアント通信部121に、アクセス拒否を指示する情報(中継を禁止する旨の中継制御指示)を送信し、クライアント通信部121は、クライアント回線161を介して、利用者端末110にアクセス拒否を表す通信応答メッセージを送信する。そして、クライアント回線161を切断して処理を終了する。利用者端末110は、当該アクセス拒否を表す通信応答メッセージを受信すると、当該通信応答メッセージに従って中継処理装置120で中継が禁止された旨を表示する。
【0112】
通信制御部123は、ステップS406、又はステップS407の処理を実行すると、処理を終了する。
【0113】
次に、ステップ403に示すプロトコル検査処理の詳細処理について、図5を用いて説明する。
【0114】
図5に示す各ステップは、中継処理装置120のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0115】
ステップ501では、プロトコル検査部124は、検査手続き定義部126に保存されたプロトコル情報キャッシュ表(図7)をRAM203へ読み込む。そしてステップ502へ進む。
【0116】
プロトコル検査部124は、ステップ502では、ステップ501において読み込んだプロトコル情報キャッシュ表(図7)の中から、RAM203に保存されたサーバ識別子情報が、プロトコル情報キャッシュ表のサーバ識別子欄の値と一致し、かつ、プロトコル情報キャッシュ表の有効期限欄の値が、現在の日時よりも後であるレコードを検索する。
【0117】
そして、プロトコル検査部124は、該当するレコードが検索された場合は、処理をステップ503に進め、該当するレコードが検索されなかった場合は、処理をステップ504に進める。
【0118】
プロトコル検査部124は、ステップ503では、ステップ502において検索されたレコードのプロトコル名欄の値(通信プロトコル)をプロトコル検査処理の結果値として処理を終了する。すなわち、ステップ502において検索されたレコードのプロトコル名欄の値(通信プロトコル)を、情報提供処理装置150のサーバ処理部151が通信で用いる通信プロトコルとして特定する。そして、ステップ403の処理(図5)を終了し、処理をステップS404に進める。なお、ここで特定された通信プロトコル名(プロトコル検査処理の結果値)は、RAM203の特定の領域に保存する。
【0119】
ステップ504では、プロトコル検査部124は、検査手続き定義部126に保存されたプロトコル検査手続き決定表(図6)を、RAM203へ読み込み、プロトコル検査手続き決定表(図6)の先頭から1行ずつレコードを取り出し、レコードの数だけステップ505からステップ507を繰り返し実行する。
【0120】
ステップ505では、プロトコル検査部124は、RAM203に保存されたサーバ識別子情報に基づき、情報提供処理装置150のサーバ処理部151へ接続し、通信回線(以降、テスト回線163と呼ぶ)を開設する。
【0121】
ステップ506では、プロトコル検査部124は、テスト回線を通じて、プロトコル検査手続き処理を実施する。プロトコル検査手続き処理は、ステップ504で取り出したプロトコル検査手続き決定表(図6)のレコードに従って処理を行う。
【0122】
まず、プロトコル検査部124は、レコードの下位プロトコル検査処理部に記載されている検査処理部(図3の302から307のいずれかの処理部)で処理を実行する(下位プロトコル検査処理)。
【0123】
すなわち、例えば、図6の601のレコードの例では、下位プロトコル検査処理部であるSSL検査処理部302が、SSLの通信プロトコルに従ったデータの通信(交換)を情報提供処理装置150のサーバ処理部151と行う。
【0124】
そして、プロトコル検査部124は、情報提供処理装置150のサーバ処理部151と行った、通信プロトコルに従ったデータの通信(交換)が失敗した場合、すなわち、プロトコル検査手続き決定表(図6)の下位プロトコル検査処理部に記載されている検査処理部の通信プロトコルに従った、情報提供処理装置150とのデータの通信(交換)による検査結果が失敗の場合は、プロトコル検査手続きの検査結果ステータスを失敗とし、処理をステップ507に進める。
【0125】
一方、プロトコル検査部124は、情報提供処理装置150のサーバ処理部151と行った、通信プロトコルに従ったデータの通信(交換)が成功した場合、すなわち、プロトコル検査手続き決定表(図6)の下位プロトコル検査処理部に記載されている検査処理部の通信プロトコルに従った、情報提供処理装置150とのデータの通信(交換)による検査結果が成功の場合は、レコードの上位プロトコル検査処理部の値を取得し、当該値が未定義でない場合は該値が示す検査処理部(図3の302から307のいずれかの処理部)の処理を実行する(上位プロトコル検査処理)。また、該値が未定義の場合は、プロトコル検査手続きの検査処理の結果ステータスを成功とし、処理をステップ507に進める。
【0126】
例えば、図6の601のレコードの例では、上位プロトコル検査処理部であるHTTP検査処理部303が、HTTPの通信プロトコルに従ったデータの通信(交換)を情報提供処理装置150のサーバ処理部151と行う。
ここで行われる情報提供処理装置150との通信は、通信が成功した下位プロトコル検査処理部での通信プロトコルを利用して行われる。
【0127】
すなわち、例えば、中継処理装置120は、通信が成功した下位プロトコル検査処理部がSSL検査処理部であれば、SSL通信の確立の際に得られる、中継処理装置120と情報提供処理装置150の共通鍵を用いて、情報提供処理装置150に送信するデータを暗号化し、また、情報提供処理装置150から受信するデータを復号して、上位プロトコル検査処理部での通信プロトコルに従ったデータの通信(交換)を行う。
【0128】
そして、プロトコル検査部124は、情報提供処理装置150のサーバ処理部151と行った、通信プロトコルに従ったデータの通信(交換)が失敗した場合、すなわち、プロトコル検査手続き決定表(図6)の上位プロトコル検査処理部に記載されている検査処理部の通信プロトコルに従った、情報提供処理装置150とのデータの通信(交換)による検査結果が失敗の場合は、プロトコル検査手続きの検査結果ステータスを失敗とし、処理をステップ507に進める。
【0129】
一方、プロトコル検査部124は、情報提供処理装置150のサーバ処理部151と行った、通信プロトコルに従ったデータの通信(交換)が成功した場合、すなわち、プロトコル検査手続き決定表(図6)の上位プロトコル検査処理部に記載されている検査処理部の通信プロトコルに従った、情報提供処理装置150とのデータの通信(交換)による検査結果が成功の場合は、プロトコル検査手続きの検査結果ステータスを成功とし、処理をステップS507に進める。
【0130】
ステップ507では、ステップ506のプロトコル検査手続き処理の検査結果ステータスが成功であるか、失敗であるかを判定し、成功であると判定された場合は、処理をステップ510へ進める。一方、検査結果ステータスが失敗であると判定された場合は、処理をステップ508へ進める。
【0131】
ステップ508では、ステップ505で開設したテスト回線163を切断する。次に、プロトコル検査手続き決定表(図6)の全てのレコードに対する処理を行った場合には、処理をステップ509に進め、そうでない場合は、次のレコードを処理対象にして、処理をステップ504に戻す。
【0132】
ステップ509では、プロトコル検査処理の結果を未定義(サーバ処理部151が通信するために用いられる通信プロトコルが不明な通信プロトコル)として、RAM203の特定領域に記憶保存して、ステップ403の処理(図5)を終了し、処理をステップS404に進める。
【0133】
ステップ510では、ステップ506のプロトコル検査手続き処理でサーバ処理部とデータの通信が成功したプロトコル検査手続き決定表(図6)のレコードのプロトコル名欄の値を、サーバ処理部が通信で用いる通信プロトコルとして、RAM203の特定領域に記憶保存して、ステップ403の処理(図5)を終了し、処理をステップS404に進める。
【0134】
次に、ステップ506で実行される上位プロトコル検査処理と下位プロトコル検査処理の具体例について説明する。
【0135】
まず、図8を用いて、SSL検査処理部302によるSSLプロトコルの検査処理の例を説明する。
【0136】
ステップ801では、中継処理装置120は、開設されたテスト回線163を通じて、Client Helloメッセージを送信する。
【0137】
ステップ802では、情報提供処理装置150は、テスト回線163を通じて、Server Helloメッセージを送信する。
【0138】
ステップ803では、情報提供処理装置150は、テスト回線163を通じて、Server Certificateメッセージを送信する。
【0139】
ステップ804では、情報提供処理装置150は、テスト回線163を通じて、Server Hello Doneメッセージを送信する。
【0140】
ステップ805では、中継処理装置120は、テスト回線163を通じて、ClientKeyExchangeメッセージを送信する。
【0141】
ステップ806では、中継処理装置120は、テスト回線163を通じて、ChangeCipherSpecメッセージを送信する。
【0142】
ステップ807では、中継処理装置120は、テスト回線163を通じて、Handshake finishedメッセージを送信する。
【0143】
ステップ808では、情報提供処理装置150は、テスト回線163を通じて、ChangeCipherSpecメッセージを送信する。
【0144】
ステップ809では、情報提供処理装置150は、テスト回線163を通じて、Handshake finishedメッセージを送信する。
【0145】
SSL検査処理部302では、以上のようなSSLプロトコルに準拠したメッセージ交換ができるか否かを、実際にテスト回線163を通じて試行して確認する。SSLプロトコルに準拠したメッセージ交換(データの通信)ができればSSL検査手続き処理の検査結果を成功として処理を終了する。また、SSLプロトコルに準拠したメッセージ交換(データの通信)ができなければ、SSL検査手続き処理の検査結果を失敗として処理を終了する。
【0146】
SSLプロトコルの対応確認だけの場合は、例えばステップ801に対してステップ802の実行があることを、SSL検査処理部302が確認するだけでよいが、SSL通信の場合は、続いてペイロード部分の通信プロトコルも検査することが必要なので、ステップ809までのハンドシェイク手続きを正常に完了するところまでの確認を実施し、その後そのまま上位プロトコル検査処理を行うようにする。
【0147】
プロトコル検査部124は、下位プロトコル検査処理としてSSL検査処理が実施された場合は、上位プロトコル検査処理は、図8のペイロードプロトコルと記載した個所で実施する。ペイロード部分のプロトコル検査処理が終了したら、その後、ステップ810、ステップ811のSSLコネクション終了手続き処理(通知)を実施し、SSL通信全体を終了する。
【0148】
次に、図9を用いて、HTTP検査処理部303によるHTTPプロトコルの検査処理の例を説明する。例えば、図8のペイロードプロトコルと記載した個所で、上位プロトコル検査処理であるHTTPプロトコルの検査処理を行うことができる。
【0149】
ここで、後述するステップ901、ステップ902で送受信されるHTTPリクエストメッセージ、HTTPレスポンスメッセージは、ステップ801からステップステップ809により確立されたSSL通信の通信回線(テスト回線163)を用いて送受信される。
【0150】
ステップ901では、中継処理装置120は、開設されたテスト回線163を通じて、“GET / HTTP/1.0”というリクエストラインからなるHTTPリクエストメッセージを送信する。
【0151】
すなわち、ステップ901では、中継処理装置120は、ステップ801からステップステップ809により確立されたSSL通信により得られる、情報提供処理装置150との共通鍵を用いて、HTTPリクエストメッセージを暗号化し、当該暗号化されたHTTPリクエストメッセージを送信する。
【0152】
ステップ902では、情報提供処理装置150は、テスト回線163を通じて、“HTTP/1.0 200”というステータスラインからなるHTTPレスポンスメッセージを送信する。
【0153】
すなわち、ステップ902では、情報提供処理装置150は、ステップ801からステップステップ809により確立されたSSL通信により得られる、中継処理装置120との共通鍵を用いて、HTTPレスポンスメッセージを暗号化し、当該暗号化されたHTTPレスポンスメッセージを送信する。
【0154】
そして、中継処理装置120は、情報提供処理装置150から受信した暗号化されたHTTPレスポンスメッセージを、共通鍵を用いて復号して、復号されることで得られるHTTPレスポンスメッセージを取得する。このようにして、取得されたデータがHTTPレスポンスメッセージであるか否かの検査を行うことで、HTTPSプロトコルに準拠したメッセージ交換ができるか否かを判定する。
【0155】
HTTP検査処理部303では、以上のようなHTTPプロトコルに準拠したメッセージ交換ができるか否かを、実際にテスト回線163を通じて試行して確認する。確認に成功すればHTTP検査手続きの結果を成功として処理を終了する。また、HTTPプロトコルに準拠したメッセージ交換(データの通信)ができなければ、HTTP検査手続き処理の検査結果を失敗として処理を終了する。
【0156】
次に、図10を用いて、SMTP検査処理部304によるSMTPプロトコルの検査処理の例を説明する。例えば、図8のペイロードプロトコルと記載した個所で、上位プロトコル検査処理であるSMTPプロトコルの検査処理を行うことができる。
【0157】
ここで、後述するステップ1001からステップ1007で送受信されるデータは、ステップ801からステップステップ809により確立されたSSL通信の通信回線(テスト回線163)を用いて送受信される。
【0158】
ここで、ステップ1002、ステップ1004、ステップ1006では、中継処理装置120は、ステップ801からステップステップ809により確立されたSSL通信により得られる、情報提供処理装置150との共通鍵を用いて、情報提供処理装置150に送信するデータ(メッセージ)を暗号化し、当該暗号化されたデータを情報提供処理装置150に送信する。
【0159】
ここで、ステップ1001、ステップ1003、ステップ1005、ステップ1007では、情報提供処理装置150は、ステップ801からステップステップ809により確立されたSSL通信により得られる、中継処理装置120との共通鍵を用いて、中継処理装置120に送信するデータ(メッセージ)を暗号化し、当該暗号化されたデータを中継処理装置120に送信する。
【0160】
ステップ1001では、情報提供処理装置150は、開設されたテスト回線163を通じて、リプライコード220のメッセージを送信する。
【0161】
ステップ1002では、中継処理装置120は、テスト回線163を通じて、EHLOメッセージを送信する。
【0162】
ステップ1003では、情報提供処理装置150は、テスト回線163を通じて、リプライコード250のメッセージを送信する。
【0163】
ステップ1004では、中継処理装置120は、テスト回線163を通じて、NOOPメッセージを送信する。
【0164】
ステップ1005では、情報提供処理装置150は、テスト回線163を通じて、リプライコード250のメッセージを送信する。
【0165】
ステップ1006では、中継処理装置120は、テスト回線163を通じて、QUITメッセージを送信する。
【0166】
ステップ1007では、情報提供処理装置150は、テスト回線163を通じて、リプライコード221のメッセージを送信する。
【0167】
SMTP検査処理部304では、以上のようなSMTPプロトコルに準拠したメッセージ交換ができるか否かを、実際にテスト回線163を通じて試行して確認する。確認に成功すればSMTP検査手続きの結果を成功として処理を終了する。
【0168】
以上、上述した本実施の形態では、プロトコル検査手続き決定表(図6)のプロトコル名に示す通信プロトコルに従ったデータの通信(交信)が情報提供処理装置150のサーバ処理部151とできた場合は、当該通信プロトコルを、情報提供処理装置150のサーバ処理部151との通信で用いられる通信プロトコルとして特定され、当該通信プロトコルが、アクセス制御表(図11)で中継が許可されているか否かを判定し、利用者端末110と情報提供処理装置150との間で通信される通信データの中継を許可するか否かを決定すること説明した。例えば、情報提供処理装置150のサーバ処理部151との通信で用いられる通信プロトコルが、図6のNo.5のSoftEtherである場合は、図11で中継が禁止されるように制御される。
【0169】
また、プロトコル検査手続き決定表(図6)のプロトコル名に示す通信プロトコルが、利用者端末110と情報提供処理装置150との間で通信されるデータの中継が許可される通信プロトコルとして登録するべく、アクセス制御表(図11)に示すプロトコルに、プロトコル検査手続き決定表(図6)のプロトコル名に示す通信プロトコルが、中継が許可される通信プロトコルとして登録されている場合は、プロトコル検査手続き決定表(図6)のプロトコル名に示す通信プロトコルに従ったデータの通信を情報提供処理装置と行い、当該データの通信が成功したか否かを判定し、その判定結果に従って、利用者端末と情報処理装置との間で通信される通信データの中継を許可するか否かを決定することができるようになる(ホワイトリストの方式)。
【0170】
また、プロトコル検査手続き決定表(図6)のプロトコル名に示す通信プロトコルが、利用者端末110と情報提供処理装置150との間で通信されるデータの中継が禁止される通信プロトコルとして登録するべく、アクセス制御表(図11)に示すプロトコルに、プロトコル検査手続き決定表(図6)のプロトコル名に示す通信プロトコルが、中継が禁止される通信プロトコルとして登録されている場合は、プロトコル検査手続き決定表(図6)のプロトコル名に示す通信プロトコルに従ったデータの通信を情報提供処理装置と行い、当該データの通信が成功したか否かを判定し、その判定結果に従って、利用者端末と情報処理装置との間で通信される通信データの中継を許可するか否かを決定することができるようになる(ブラックリストの方式)。
【0171】
以上、本発明によれば、エンドツーエンドで通信される通信データを中継する仕組みにおいて、当該通信で用いられるプロトコルに基づいて、当該通信される通信データを中継するか否かを決定することにより、セキュリティを向上させることができる。
【0172】
また、本実施形態によれば、通信をトランスポート層で中継する仕組みにおいても、中継する通信のアプリケーション層のプロトコルを正確に把握してその情報に基づいてアクセス制御を実施することができる。
【0173】
また、本実施形態によれば、中継処理システムのHTTPS通信を中継するためのトンネリング機能を悪用して他の種類の通信(SMTPなどの他プロトコルへのスパムブロック回避手段やVPN)を行おうという行為を遮断し、ネットワークシステムの安全性を向上させることができる。
以下に、図12を用いて、本発明に係る機能ブロックについて説明する。
図12は、本発明に係る機能ブロックを示す図である。
中継処理装置120は、記憶部1201、通信部1202、判定部1203、決定部1204を備えている。
【0174】
記憶部1201は、クライアント端末(利用者端末)と情報処理装置(情報提供処理装置)との間で通信される通信データの中継が許可又は不許可されている当該通信で用いられる通信プロトコルを記憶している。
通信部1202は、記憶部1201に記憶された通信プロトコルに従ったデータの通信を情報処理装置と行う。
判定部1203は、通信部による、情報処理装置との、記憶部に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する。
決定部1204は、通信部による、情報処理装置との、記憶部に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する。
以下に、図13を用いて、本発明に係る機能ブロックについて説明する。
図13は、本発明に係る機能ブロックを示す図である。
【0175】
中継処理装置120は、記憶部1201、通信部1202、判定部1203、決定部1204、受信部1301、要求情報判定部1302、特定部1303、プロトコル記憶部1304、取得部1305、キャッシュ部1306を備えている。
【0176】
記憶部1201、通信部1202、判定部1203、決定部1204については、図12を用いて、既に説明しているため、記憶部1201、通信部1202、判定部1203、決定部1204については、更に有している機能について追加で説明する。
【0177】
記憶部1201は、クライアント端末と情報処理装置との間で通信される通信データの中継が許可又は不許可されている通信プロトコルを構成する通信プロトコルとして、トランスポート層の通信プロトコルである下位通信プロトコルと、トランスポート層よりも上位の通信プロトコルである上位通信プロトコルとを記憶している。
【0178】
ここで、下位通信プロトコルは、暗号通信で用いられる通信プロトコルを含む。また、上位通信プロトコルは、アプリケーション層における通信プロトコルを含む。
【0179】
通信部1202は、記憶部に記憶された下位通信プロトコルに従ったデータの通信、及び記憶部に記憶された上位通信プロトコルに従ったデータの通信を情報処理装置と行う。
【0180】
判定部1203は、通信部により、情報処理装置との、記憶部に記憶された下位通信プロトコルに従ったデータの通信、及び記憶部に記憶された上位通信プロトコルに従ったデータの通信が成功したか否かを判定することにより、情報処理装置との、記憶部に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する。
受信部1301は、クライアント端末から、情報処理装置からのデータ送信を要求する通信要求データを含む通信データを受信する。
【0181】
要求情報判定部1302は、受信部で受信した通信要求データが、トランスポート層における、クライアント端末と情報処理装置との間で通信される通信データの中継を要求するトランスポート通信要求情報であるか否かを判定する。
【0182】
通信部1202は、要求情報判定部で、受信部で受信した通信要求データが当該トランスポート通信要求情報であると判定された場合に、記憶部に記憶された通信プロトコルに従ったデータの通信を情報処理装置と行う。
【0183】
特定部1303は、要求情報判定部で、受信部で受信した通信要求データがトランスポート通信要求情報ではないと判定された場合、受信部で受信した通信要求データを解析することにより、クライアント端末と情報処理装置との間の通信で用いられる通信プロトコルを特定する。
【0184】
決定部1204は、特定部により特定された通信プロトコルと、記憶部に記憶されている、中継が許可又は不許可されている通信プロトコルとに従って、クライアント端末と情報処理装置との間で通信される通信データの中継を許可するか否かを決定する。
プロトコル記憶部1304は、通信プロトコルと、当該通信プロトコルを通信で用いる情報処理装置を識別する情報処理装置識別情報とを関連付けて記憶する。
【0185】
取得部1305は、受信部で受信した通信要求データを解析することにより、該通信要求データによりデータ送信が要求されている情報処理装置の情報処理装置識別情報を取得する。
【0186】
決定部1204は、更に、取得部で取得した情報処理装置識別情報に関連付けられてプロトコル記憶部に記憶された通信プロトコルと、記憶部に記憶されている、中継が許可又は不許可されている通信プロトコルとに従って、クライアント端末と情報処理装置との間で通信される通信データの中継を許可するか否かを決定する。
【0187】
キャッシュ部1306は、判定部により、通信部によるデータの通信が成功したと判定された通信プロトコルと、取得部により取得された情報処理装置識別情報とを関連付けてプロトコル記憶部に記憶する。
以下に、図14を用いて、本発明に係る機能ブロックについて説明する。
図14は、本発明に係る機能ブロックを示す図である。
中継処理装置120は、通信部1401、特定部1402、決定部1403を備えている。
通信部1401は、通信プロトコルに従ったデータの通信を情報処理装置(情報提供処理装置)と行う。
【0188】
特定部1402は、通信部による情報処理装置とのデータの通信が成功した通信プロトコルを、情報処理装置との通信で用いられる通信プロトコルとして特定する。
【0189】
決定部1403は、特定部で特定された通信プロトコルに従って、クライアント端末(利用者端末)と情報処理装置(情報提供処理装置)との間で通信される通信データを中継するか否かを決定する。
以下に、図15を用いて、本発明に係る機能ブロックについて説明する。
図15は、本発明に係る機能ブロックを示す図である。
【0190】
中継処理装置120は、通信部1401、特定部1402、決定部1403、受信部1501、要求情報判定部1502、記憶部1503、取得部1504、キャッシュ部1505を備えている。
【0191】
通信部1401、特定部1402、決定部1403については、図14を用いて、既に説明しているため、通信部1401、特定部1402、決定部1403、については、更に有している機能について追加で説明する。
【0192】
特定部1402は、通信部による情報処理装置との、通信プロトコルに従ったデータの通信が成功しない場合、情報処理装置との通信で用いられる通信プロトコルを不明な通信プロトコルとして特定する。
【0193】
また、決定部は、特定部で特定された不明な通信プロトコルに従って、クライアント端末と情報処理装置との間で通信される通信データを中継するか否かを決定する。
【0194】
通信部1401は、トランスポート層の通信プロトコルである下位通信プロトコルに従ったデータの通信、及びトランスポート層よりも上位の通信プロトコルである上位通信プロトコルに従ったデータの通信を情報処理装置と行う。ここで、下位通信プロトコルは、暗号通信で用いられる通信プロトコルを含む。また、上位通信プロトコルは、アプリケーション層における通信プロトコルを含む。
【0195】
特定部1402は、通信部による情報処理装置とのデータの通信が成功した下位通信プロトコル、及び、通信部による情報処理装置とのデータの通信が成功した上位通信プロトコルから、情報処理装置との通信で用いられる通信プロトコルを特定する。
受信部1501は、クライアント端末から、情報処理装置からのデータ送信を要求する通信要求データを含む通信データを受信する。
【0196】
要求情報判定部1502は、受信部で受信した通信要求データが、トランスポート層における、クライアント端末と情報処理装置との間で通信される通信データの中継を要求するトランスポート通信要求情報であるか否かを判定する。
【0197】
通信部1401は、要求情報判定部で、受信部で受信した通信要求データがトランスポート通信要求情報であると判定された場合に、通信プロトコルに従ったデータの通信を情報処理装置と行う。
【0198】
特定部1402は、要求情報判定部で、受信部で受信した通信要求データがトランスポート通信要求情報ではないと判定された場合、受信部で受信した通信要求データを解析することにより、クライアント端末と情報処理装置との間の通信で用いられる通信プロトコルを特定する。
【0199】
決定部1403は、特定部により特定された通信プロトコルに従って、クライアント端末と情報処理装置との間で通信される通信データを中継するか否かを決定する。
記憶部1503は、通信プロトコルと、当該通信プロトコルを通信で用いる情報処理装置を識別する情報処理装置識別情報とを関連付けて記憶する。
【0200】
取得部1504は、受信部で受信した通信要求データを解析することにより、該通信要求データによりデータ送信が要求されている情報処理装置の情報処理装置識別情報を取得する。
【0201】
決定部1403は、取得部で取得した情報処理装置識別情報に関連付けられて記憶部に記憶された通信プロトコルに従って、クライアント端末と情報処理装置との間で通信される通信データの中継を許可するか否かを決定する。
【0202】
キャッシュ部1505は、通信部によるデータの通信が成功した通信プロトコルと、取得部により取得された情報処理装置識別情報とを関連付けて記憶部に記憶する。
【0203】
以上、本発明の実施形態を詳述したが、本発明は、例えば、システム、装置、方法、装置で読み取り実行可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0204】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0205】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0206】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0207】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0208】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【0209】
110 利用者端末
111 閲覧処理部
120 中継所処理装置
121 クライアント通信部
122 サーバ通信部
123 通信制御部
124 プロトコル検査部
125 管理表保存部
126 検査手続き定義部
150 情報提供処理装置
151 サーバ処理部
161 クライアント回線
162 サーバ回線
163 テスト回線
301 検査処理制御部
302 SSL検査処理部
303 HTTP検査処理部
304 SMTP検査処理部
305 SSH検査処理部
306 SoftEther検査処理部
307 XXX検査処理部


【特許請求の範囲】
【請求項1】
クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置であって、
前記クライアント端末と前記情報処理装置との間で通信される通信データの中継が許可又は不許可されている当該通信で用いられる通信プロトコルを記憶する記憶手段と、
前記記憶手段に記憶された通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信手段と、
前記通信手段による、前記情報処理装置との、前記記憶手段に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する判定手段と、
前記判定手段による判定結果に従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定する決定手段と、
を備えることを特徴とする中継処理装置。
【請求項2】
前記記憶手段は、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継が許可又は不許可されている通信プロトコルを構成する通信プロトコルとして、トランスポート層の通信プロトコルである下位通信プロトコルと、トランスポート層よりも上位の通信プロトコルである上位通信プロトコルとを記憶し、
前記通信手段は、前記記憶手段に記憶された下位通信プロトコルに従ったデータの通信、及び前記記憶手段に記憶された上位通信プロトコルに従ったデータの通信を前記情報処理装置と行い、
前記判定手段は、前記通信手段により、前記情報処理装置との、前記記憶手段に記憶された下位通信プロトコルに従ったデータの通信、及び前記記憶手段に記憶された上位通信プロトコルに従ったデータの通信が成功したか否かを判定することにより、前記情報処理装置との、前記記憶手段に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記クライアント端末から、前記情報処理装置からのデータ送信を要求する通信要求データを含む通信データを受信する受信手段と、
前記受信手段で受信した通信要求データが、トランスポート層における、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を要求するトランスポート通信要求情報であるか否かを判定する要求情報判定手段と、
を更に備え、
前記通信手段は、前記要求情報判定手段で、前記受信手段で受信した通信要求データが当該トランスポート通信要求情報であると判定された場合に、前記記憶手段に記憶された通信プロトコルに従ったデータの通信を前記情報処理装置と行うことを特徴とする請求項1又は2に記載の中継処理装置。
【請求項4】
前記要求情報判定手段で、前記受信手段で受信した通信要求データが当該トランスポート通信要求情報ではないと判定された場合、前記受信手段で受信した通信要求データを解析することにより、前記クライアント端末と前記情報処理装置との間の通信で用いられる通信プロトコルを特定する特定手段を更に備え、
前記決定手段は、前記特定手段により特定された通信プロトコルと、前記記憶手段に記憶されている、中継が許可又は不許可されている通信プロトコルとに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定することを特徴とする請求項3に記載の中継処理装置。
【請求項5】
通信プロトコルと、当該通信プロトコルを通信で用いる情報処理装置を識別する情報処理装置識別情報とを関連付けて記憶するプロトコル記憶手段と、
前記受信手段で受信した通信要求データを解析することにより、該通信要求データによりデータ送信が要求されている情報処理装置の情報処理装置識別情報を取得する取得手段と
を更に備え、
前記決定手段は、前記取得手段で取得した情報処理装置識別情報に関連付けられて前記プロトコル記憶手段に記憶された通信プロトコルと、前記記憶手段に記憶されている、中継が許可又は不許可されている通信プロトコルとに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定することを特徴とする請求項3又は4に記載の中継処理装置。
【請求項6】
前記判定手段により、前記通信手段によるデータの通信が成功したと判定された通信プロトコルと、前記取得手段により取得された情報処理装置識別情報とを関連付けて前記プロトコル記憶手段に記憶するキャッシュ手段を更に備えることを特徴とする請求項5に記載の中継処理装置。
【請求項7】
前記下位通信プロトコルは、暗号通信で用いられる通信プロトコルを含むことを特徴とする請求項2乃至6の何れか1項に記載の中継処理装置。
【請求項8】
前記上位通信プロトコルは、アプリケーション層における通信プロトコルを含むことを特徴とする請求項2乃至7の何れか1項に記載の中継処理装置。
【請求項9】
クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置であって、
通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信手段と、
前記通信手段による前記情報処理装置とのデータの通信が成功した通信プロトコルを、前記情報処理装置との通信で用いられる通信プロトコルとして特定する特定手段と、
前記特定手段で特定された通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データを中継するか否かを決定する決定手段と、
を備えることを特徴とする中継処理装置。
【請求項10】
前記特定手段は、前記通信手段による前記情報処理装置との、通信プロトコルに従ったデータの通信が成功しない場合、前記情報処理装置との通信で用いられる通信プロトコルを不明な通信プロトコルとして特定し、
前記決定手段は、前記特定手段で特定された不明な通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データを中継するか否かを決定することを特徴とする請求項9に記載の中継処理装置。
【請求項11】
前記通信手段は、トランスポート層の通信プロトコルである下位通信プロトコルに従ったデータの通信、及びトランスポート層よりも上位の通信プロトコルである上位通信プロトコルに従ったデータの通信を前記情報処理装置と行い、
前記特定手段は、前記通信手段による前記情報処理装置とのデータの通信が成功した下位通信プロトコル、及び、前記通信手段による前記情報処理装置とのデータの通信が成功した上位通信プロトコルから、前記情報処理装置との通信で用いられる通信プロトコルを特定することを特徴とする請求項9又は10の中継処理装置。
【請求項12】
前記クライアント端末から、前記情報処理装置からのデータ送信を要求する通信要求データを含む通信データを受信する受信手段と、
前記受信手段で受信した通信要求データが、トランスポート層における、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を要求するトランスポート通信要求情報であるか否かを判定する要求情報判定手段と、
を更に備え、
前記通信手段は、前記要求情報判定手段で、前記受信手段で受信した通信要求データが当該トランスポート通信要求情報であると判定された場合に、通信プロトコルに従ったデータの通信を前記情報処理装置と行うことを特徴とする請求項9乃至11の何れか1項に記載の中継処理装置。
【請求項13】
前記特定手段は、前記要求情報判定手段で、前記受信手段で受信した通信要求データが当該トランスポート通信要求情報ではないと判定された場合、前記受信手段で受信した通信要求データを解析することにより、前記クライアント端末と前記情報処理装置との間の通信で用いられる通信プロトコルを特定し、
前記決定手段は、前記特定手段により特定された通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データを中継するか否かを決定することを特徴とする請求項12に記載の中継処理装置。
【請求項14】
通信プロトコルと、当該通信プロトコルを通信で用いる情報処理装置を識別する情報処理装置識別情報とを関連付けて記憶する記憶手段と、
前記受信手段で受信した通信要求データを解析することにより、該通信要求データによりデータ送信が要求されている情報処理装置の情報処理装置識別情報を取得する取得手段と
を更に備え、
前記決定手段は、前記取得手段で取得した情報処理装置識別情報に関連付けられて前記記憶手段に記憶された通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定することを特徴とする請求項12又は13に記載の中継処理装置。
【請求項15】
前記通信手段によるデータの通信が成功した通信プロトコルと、前記取得手段により取得された情報処理装置識別情報とを関連付けて前記記憶手段に記憶するキャッシュ手段を更に備えることを特徴とする請求項14に記載の中継処理装置。
【請求項16】
前記下位通信プロトコルは、暗号通信で用いられる通信プロトコルを含むことを特徴とする請求項9乃至15の何れか1項に記載の中継処理装置。
【請求項17】
前記上位通信プロトコルは、アプリケーション層における通信プロトコルを含むことを特徴とする請求項9乃至16の何れか1項に記載の中継処理装置。
【請求項18】
クライアント端末と情報処理装置との間で通信される通信データを中継し、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継が許可又は不許可されている当該通信で用いられる通信プロトコルを記憶する記憶手段を備える中継処理装置の制御方法であって、
前記通信手段が、前記記憶手段に記憶された通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信工程と、
判定手段が、前記通信工程による、前記情報処理装置との、前記記憶手段に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する判定工程と、
決定手段が、前記判定工程による判定結果に従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定する決定工程と、
を備えることを特徴とする中継処理装置の制御方法。
【請求項19】
クライアント端末と情報処理装置との間で通信される通信データを中継し、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継が許可又は不許可されている当該通信で用いられる通信プロトコルを記憶する記憶手段を備える中継処理装置で実行可能なプログラムであって、
前記中継処理装置を、
前記記憶手段に記憶された通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信手段と、
前記通信手段による、前記情報処理装置との、前記記憶手段に記憶された通信プロトコルに従ったデータの通信が成功したか否かを判定する判定手段と、
前記判定手段による判定結果に従って、前記クライアント端末と前記情報処理装置との間で通信される通信データの中継を許可するか否かを決定する決定手段として機能させることを特徴とするプログラム。
【請求項20】
クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置の制御方法であって、
通信手段が、通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信工程と、
特定手段が、前記通信工程による前記情報処理装置とのデータの通信が成功した通信プロトコルを、前記情報処理装置との通信で用いられる通信プロトコルとして特定する特定工程と、
決定手段が、前記特定工程で特定された通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データを中継するか否かを決定する決定工程と、
を備えることを特徴とする中継処理装置の制御方法。
【請求項21】
クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置で実行可能なプログラムであって、
前記中継処理装置を、
通信プロトコルに従ったデータの通信を前記情報処理装置と行う通信手段と、
前記通信手段による前記情報処理装置とのデータの通信が成功した通信プロトコルを、前記情報処理装置との通信で用いられる通信プロトコルとして特定する特定手段と、
前記特定手段で特定された通信プロトコルに従って、前記クライアント端末と前記情報処理装置との間で通信される通信データを中継するか否かを決定する決定手段として機能させることを特徴とするプログラム。







【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−147415(P2012−147415A)
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2011−207531(P2011−207531)
【出願日】平成23年9月22日(2011.9.22)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【出願人】(312000206)キヤノンMJアイティグループホールディングス株式会社 (259)
【出願人】(592135203)キヤノンITソリューションズ株式会社 (528)
【Fターム(参考)】