(57)【要約】【課題】  機密情報がイントラネットからその外部へ漏洩してしまうことを確実に防止する。【解決手段】  イントラネット外の宛先へＡＰにしたがって通信メッセージを送信する端末装置と、その通宛先と上記端末装置との通信を中継するゲートウェイ装置と、を備え、上記端末装置は、上記ＡＰが予め定められたＡＰであるか否かを表すデータを上記ゲートウェイ装置へ送信し、上記ゲートウェイ装置は、上記通信メッセージの送信に用いられたＡＰが上記予め定められたＡＰであるか否かを上記端末装置から送信されてくるデータに基づいて判定し、その判定結果が否定的である場合には、その通信メッセージを破棄する一方、その判定結果が肯定的である場合には、その通信メッセージその宛先へと転送することを特徴とする通信システムを提供する。【選択図】      図８
2006270894.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信網に接続されている端末装置と該第１の通信網とは異なる第２の通信網に接続されている通信装置との間の通信を中継するゲートウェイ装置において、
前記２の通信網に接続されている通信装置へ宛てて前記端末装置から送信されてくる通信メッセージを前記第１の通信網を介して受信する一方、前記端末装置にて該通信メッセージの送信に用いられたアプリケーションプログラムを表すフィルタリング制御情報を前記第１の通信網を介して前記端末装置から受信する受信手段と、
前記受信手段により受信された通信メッセージが、前記第２の通信網へ接続されている通信装置へ通信メッセージを送信することを許可されているアプリケーションプログラムによって送信された通信メッセージであるか否かを、前記受信手段により受信されたフィルタリング制御情報に基づいて判定する送信元判定手段と、
前記受信手段により受信された通信メッセージについての前記送信元判定手段による判定結果が否定的である場合には、その通信メッセージを破棄する一方、前記送信元判定手段による判定結果が肯定的である場合には、その通信メッセージを前記第２の通信網を介してその宛先へと転送する転送制御手段と
を有することを特徴とするゲートウェイ装置。
【請求項２】
前記受信手段により受信された通信メッセージを解析し、そのヘッダに書き込まれているデータが所定の条件を満たしているか否かを判定するメッセージ内容判定手段を備え、
前記転送制御手段は、
前記受信手段により受信された通信メッセージについて、前記送信元判定手段による判定結果が肯定的であっても、前記メッセージ内容判定手段による判定結果が否定的である場合には、その通信メッセージを破棄する
ことを特徴とする請求項１に記載のゲートウェイ装置。
【請求項３】
前記受信手段により受信された通信メッセージの内容に基づいて、その通信メッセージが前記第２の通信網に接続されている通信装置との通信を開始することを表す通信メッセージであるか否かを判定するメッセージ種別判定手段を備え、
前記転送制御手段は、
前記メッセージ種別判定手段による判定結果が肯定的である通信メッセージについては、前記送信元判定手段による判定結果に応じて、その通信メッセージの転送または破棄を行い、逆に、前記メッセージ種別判定手段による判定結果が否定的である通信メッセージについては、前記送信元判定手段の判定結果によらずに、常に、その宛先へ転送する
ことを特徴とする請求項１に記載のゲートウェイ装置。
【請求項４】
前記フィルタリング制御情報に所定の電子署名データによる電子署名が施されているか否かを判定する署名判定手段を備え、
前記転送制御手段は、
前記受信手段により受信された通信メッセージについての前記送信元判定手段による判定結果が肯定的であっても、前記署名判定手段による判定結果が否定的である場合には、その通信メッセージを破棄する
ことを特徴とする請求項１に記載のゲートウェイ装置。
【請求項５】
前記フィルタリング制御情報は、
前記端末装置にて通信メッセージの送信に用いられたアプリケーションプログラムを一意に識別するプログラム識別子を含み、
前記第２の通信網に接続されている通信装置へ宛てて通信メッセージを送信することを許可されている１または複数のアプリケーションプログラムについての前記プログラム識別子が書き込まれた記憶手段を備え、
前記送信元判定手段は、
前記受信手段によって前記端末装置から受信したフィルタリング制御情報に含まれているプログラム識別子と前記記憶手段の記憶内容とを比較して、その端末装置から送信された通信メッセージが、前記第２の通信網に接続されている通信装置へ宛てて通信メッセージを送信することを許可されているアプリケーションプログラムによって送信された通信メッセージであるか否かを判定する
ことを特徴とする請求項１に記載のゲートウェイ装置。
【請求項６】
前記プログラム識別子は、
アプリケーションプログラムの実行形式ファイルの構造に応じて定まるデータである
ことを特徴とする請求項５に記載のゲートウェイ装置。
【請求項７】
アプリケーションプログラムを実行する制御手段と、
アプリケーションプログラムを実行中の前記制御手段により所定の宛先へ通信メッセージを送信することを指示された場合に、その通信メッセージをその宛先へと送信する一方、そのアプリケーションプログラムを表すデータであるフィルタリング制御情報を、その通信メッセージの宛先との通信を中継するゲートウェイ装置へ送信する送信手段と
を有することを特徴とする端末装置。
【請求項８】
前記フィルタリング制御情報は、
前記通信メッセージの送信に用いられたアプリケーションプログラムを一意に識別するプログラム識別子が含まれている
ことを特徴とする請求項７に記載の端末装置。
【請求項９】
前記プログラム識別子は、前記通信メッセージの送信に用いられたアプリケーションプログラムの実行形式ファイルの構造に応じて定まるデータであり、
前記制御手段により実行中のアプリケーションプログラムの実行形式ファイルを解析して、そのアプリケーションプログラムについての前記プログラム識別子を取得する取得手段を備え、
前記送信手段は、
前記取得手段により取得されたプログラム識別子を含むフィルタリング制御情報を前記ゲートウェイ装置へ送信する
ことを特徴とする請求項８に記載の端末装置。
【請求項１０】
前記宛先へ通信メッセージを送信することを許可されている１または複数のアプリケーションプログラムについて、その実行形式ファイルの構造に応じて定まるデータであるプログラム識別子が書き込まれた記憶手段と、
前記制御手段により実行されているアプリケーションプログラムの実行形式ファイルを解析して、そのアプリケーションプログラムについての前記プログラム識別子を取得する取得手段と、
前記取得手段により取得されたプログラム識別子が前記記憶手段に記憶されている否かを判定する判定手段と、
を備え、
前記送信手段は、
前記判定手段による判定結果を表すデータを含むフィルタリング制御情報を前記ゲートウェイ装置へ送信する
ことを特徴とする請求項７に記載の端末装置。
【請求項１１】
第１の通信網に接続されている端末装置と、
前記端末装置と前記第１の通信網とは異なる第２の通信網に接続されている通信装置との間の通信を中継するゲートウェイ装置と、
を備え、
前記端末装置は、
アプリケーションプログラムにしたがって前記通信装置へ宛てて所定の通信メッセージを送信する一方、そのアプリケーションプログラムを表すデータであるフィルタリング制御情報を前記ゲートウェイ装置へ送信し、
前記ゲートウェイ装置は、
前記通信メッセージを前記第１の通信網を介して受信した場合に、その通信メッセージの送信に用いられたアプリケーションプログラムが、前記第２の通信網に接続されている通信装置へ宛てて通信メッセージを送信することを許可されているアプリケーションプログラムであるか否かを前記端末装置から受信したフィルタリング制御情報に基づいて判定し、その判定結果が否定的である場合には、その通信メッセージを破棄する一方、その判定結果が肯定的である場合には、その通信メッセージを前記第２の通信網を介してその宛先へ転送する
ことを特徴とする通信システム。
【請求項１２】
コンピュータ装置に、
第１の通信網に接続されている端末装置と該第１の通信網とは異なる第２の通信網に接続されている通信装置との間の通信を中継する処理を実行させるプログラムにおいて、
前記２の通信網に接続されている通信装置へ宛てて前記端末装置から送信されてくる通信メッセージを前記第１の通信網を介して受信する一方、前記端末装置にて該通信メッセージの送信に用いられたアプリケーションプログラムを表すフィルタリング制御情報を前記第１の通信網を介して前記端末装置から受信する第１のステップと、
前記第１のステップによて受信された通信メッセージが、前記第２の通信網へ接続されている通信装置へ通信メッセージを送信することを許可されているアプリケーションプログラムによって送信された通信メッセージであるか否かを、前記第１のステップにて受信されたフィルタリング制御情報に基づいて判定する第２のステップと、
前記第１のステップにて受信された通信メッセージについての前記第２のステップの判定結果が否定的である場合には、その通信メッセージを破棄する一方、前記第２のステップの判定結果が肯定的である場合には、その通信メッセージを前記第２の通信網を介してその宛先へと転送する第３のステップと
を実行させることを特徴とするプログラム。
【請求項１３】
コンピュータ装置に、
アプリケーションプログラムにしたがって所定の宛先へ通信メッセージを送信する第１のステップと、
前記アプリケーションプログラムを表すデータであるフィルタリング制御情報を、前記通信メッセージの宛先との通信を中継するゲートウェイ装置へ送信する第２のステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イントラネットなどの第１の通信網に接続されている端末装置と外部ネットワークなど第２の通信網に接続されている通信装置との間の通信を仲介する技術に関し、特に、機密情報が第１の通信網から第２の通信網へ流出してしまうことを回避する技術に関する。
【背景技術】
【０００２】
近年、各企業においては、その企業の店舗や工場などの施設内にＬＡＮなどの通信網を敷設し、その通信網にパーソナルコンピュータなどの端末装置を接続してイントラネットと呼ばれる通信システムを構築することが一般に行われている。この種の通信システムは、例えば、他の企業の通信システムとの通信を可能にするために、ゲートウェイ装置と呼ばれる中継装置を介してインターネットなどの他の通信網へ接続されることが一般的である。しかしながら、イントラネットを外部の通信網に接続してしまうと、イントラネットに接続されている端末装置と外部の通信網に接続されている端末装置やコンテンツサーバなどの通信装置との間で通信を行う際に、そのイントラネット内の機密情報が外部に漏洩してしまう虞がある。そこで、このような機密情報の漏洩を防止することを可能にする技術が従来より種々提案されており、その一例としては、特許文献１に開示された技術が挙げられる。
【０００３】
特許文献１には、例えばＴＣＰ／ＩＰなどにしたがって、パケット交換により通信を行う場合に、そのパケットのヘッダに書き込まれているデータ（例えば、そのパケットの送信元を表す送信元アドレスやその送信先を表す送信先アドレスなど）が所定の条件を満たしているか否かを上記ゲートウェイ装置に判定させ、その判定結果に応じてそのパケットの転送または破棄を行わせる技術が開示されている。
【特許文献１】特開２００２−０６３０８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術のように、パケットのヘッダに書き込まれたデータに基づいて、そのパケットの転送の可否を判定するようにしても、それらデータを詐称してパケットの送信するように作成されたＡＰ（例えば、自らがブラウザソフトウェアであるかのようなデータを書き込んでパケットを送信するように作成されたＡＰ）によってパケットの送信が行われた場合には、そのパケットの転送を差し止めることはできない。つまり、特許文献１に開示された技術を用いたとしても、機密情報の外部への漏洩を確実に防ぐことはできない。
【０００５】
本発明は、上記課題を鑑みて為されたものであり、イントラネットなどの第１の通信網からその外部の第２の通信網へ機密情報が漏洩してしまうことを確実に防ぐことを可能にする技術を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、第１の通信網に接続されている端末装置と該第１の通信網とは異なる第２の通信網に接続されている通信装置との間の通信を中継するゲートウェイ装置において、前記２の通信網に接続されている通信装置へ宛てて前記端末装置から送信されてくる通信メッセージを前記第１の通信網を介して受信する一方、前記端末装置にて該通信メッセージの送信に用いられたアプリケーションプログラムを表すフィルタリング制御情報を前記第１の通信網を介して前記端末装置から受信する受信手段と、前記受信手段により受信された通信メッセージが、前記第２の通信網へ接続されている通信装置へ通信メッセージを送信することを許可されているアプリケーションプログラムによって送信された通信メッセージであるか否かを、前記受信手段により受信されたフィルタリング制御情報に基づいて判定する送信元判定手段と、前記受信手段により受信された通信メッセージについての前記送信元判定手段による判定結果が否定的である場合には、その通信メッセージを破棄する一方、前記送信元判定手段による判定結果が肯定的である場合には、その通信メッセージを前記第２の通信網を介してその宛先へと転送する転送制御手段とを有することを特徴とするゲートウェイ装置を提供する。このようなゲートウェイ装置によれば、通信メッセージの送信元である端末装置にてその通信メッセージの送信に用いられたアプリケーションプログラムが、上記第２の通信網に接続されている通信装置へ通信メッセージを送信することが許可されているアプリケーションプログラムである場合にのみ、その通信メッセージがその宛先である上記第２の通信網に接続されている通信装置へ転送される。
【０００７】
より好ましい態様においては、前記受信手段により受信された通信メッセージを解析し、その宛先または該通信メッセージの送信に利用された通信プロトコルが所定の条件を満たしているか否かを判定するメッセージ内容判定手段を備え、前記転送制御手段は、前記受信手段により受信された通信メッセージについて、前記送信元判定手段による判定結果が肯定的であっても、前記メッセージ内容判定手段による判定結果が否定的である場合には、その通信メッセージを破棄することを特徴としている。このような態様にあっては、さらに、通信メッセージの宛先またはその送信に利用されている通信プロトコルが予め定められている条件を満たしており、かつ、その通信メッセージが、上記第２の通信網に接続されている通信装置へ通信メッセージを送信することを許可されているアプリケーションプログラムによって送信された通信メッセージである場合に、その通信メッセージがその宛先である上記第２の通信網に接続されている通信装置へ転送される。
【０００８】
また、別の好ましい態様においては、前記受信手段により受信された通信メッセージの内容に基づいて、その通信メッセージが前記第２の通信網に接続されている通信装置との通信を開始することを表す通信メッセージであるか否かを判定するメッセージ種別判定手段を備え、前記転送制御手段は、前記メッセージ種別判定手段による判定結果が肯定的である通信メッセージについては、前記送信元判定手段による判定結果に応じて、その通信メッセージの転送または破棄を行い、逆に、前記メッセージ種別判定手段による判定結果が否定的である通信メッセージについては、前記送信元判定手段の判定結果によらずに、常に、その宛先へと転送することを特徴としている。このような態様にあっては、上記第２の通信網に接続されている通信装置との通信を開始することを表す通信メッセージについては、その送信の際に利用されたアプリケーションプログラムに応じて転送または破棄され、他の通信メッセージについては、常に、その宛先へと転送される。
【０００９】
また、別の好ましい態様においては、前記フィルタリング制御情報に所定の電子署名データによる電子署名が施されているか否かを判定する署名判定手段を備え、前記転送制御手段は、前記受信手段により受信された通信メッセージについての前記送信元判定手段による判定結果が肯定的であっても、前記署名判定手段による判定結果が否定的である場合には、その通信メッセージを破棄することを特徴としている。このような態様にあっては、上記署名判定手段による判定結果と上記送信元判定手段による判定結果とが共に肯定的である場合に、上記受信手段により受信された通信メッセージは、その宛先へ転送される。
【００１０】
また、別の好ましい態様においては、前記フィルタリング制御情報は、前記端末装置にて通信メッセージの送信に用いられたアプリケーションプログラムを一意に識別するプログラム識別子を含み、前記第２の通信網に接続されている通信装置へ宛てて通信メッセージを送信することを許可されている１または複数のアプリケーションプログラムについての前記プログラム識別子が書き込まれた記憶手段を備え、前記送信元判定手段は、前記受信手段によって前記端末装置から受信したフィルタリング制御情報に含まれているプログラム識別子が、前記記憶手段に記憶内容とを比較して、その端末装置から送信された通信メッセージが、前記第２の通信網に接続されている通信装置へ宛てて通信メッセージを送信することを許可されているアプリケーションプログラムによって送信された通信メッセージであるか否かを判定することを特徴としている。さらに好ましい態様においては、前記プログラム識別子は、アプリケーションプログラムの実行形式ファイルの構造に応じて定まるデータであることが望ましい。
【００１１】
また、上記課題を解決するために、本発明は、アプリケーションプログラムを実行する制御手段と、アプリケーションプログラムを実行中の前記制御手段により所定の宛先へ通信メッセージを送信することを指示された場合に、その通信メッセージをその宛先へと送信する一方、そのアプリケーションプログラムを表すデータであるフィルタリング制御情報を、その通信メッセージの宛先との通信を中継するゲートウェイ装置へ送信する送信手段とを有することを特徴とする端末装置を提供する。このような端末装置によれば、アプリケーションプログラムにしたがって上記通信端末へ宛てて所定の通信メッセージが送信されるとともに、上記プリケーションプログラムを表すデータであるフィルタリング制御情報がその通信装置との通信を中継するゲートウェイ装置へ送信される。
【００１２】
より好ましい態様においては、前記フィルタリング制御情報は、前記通信メッセージの送信に用いられたアプリケーションプログラムを一意に識別するプログラム識別子が含まれていることを特徴としている。さらに好ましい態様においては、前記プログラム識別子は、前記通信メッセージの送信に用いられたアプリケーションプログラムの実行形式ファイルの構造に応じて定まるデータであり、前記制御手段により実行中のアプリケーションプログラムの実行形式ファイルを解析して、そのアプリケーションプログラムについての前記プログラム識別子を取得する取得手段を備え、前記送信手段は、前記取得手段により取得されたプログラム識別子を含むフィルタリング制御情報を前記ゲートウェイ装置へ送信することが好ましい。
【００１３】
また、別の好ましい態様においては、前記宛先へ通信メッセージを送信することを許可されている１または複数のアプリケーションプログラムについて、その実行形式ファイルの構造に応じて定まるデータであるプログラム識別子が書き込まれた記憶手段と、前記制御手段により実行されているアプリケーションプログラムの実行形式ファイルを解析して、そのアプリケーションプログラムについての前記プログラム識別子を取得する取得手段と、前記取得手段により取得されたプログラム識別子が前記記憶手段に記憶されている否かを判定する判定手段と、を備え、前記送信手段は、前記判定手段による判定結果を表すデータを含むフィルタリング制御情報を前記ゲートウェイ装置へ送信することを特徴としている。
【００１４】
また、上記課題を解決するために、本発明は、第１の通信網に接続されている端末装置と、前記端末装置と前記第１の通信網とは異なる第２の通信網に接続されている通信装置との間の通信を中継するゲートウェイ装置と、を備え、前記端末装置は、アプリケーションプログラムにしたがって前記通信装置へ宛てて所定の通信メッセージを送信する一方、そのアプリケーションプログラムを表すデータであるフィルタリング制御情報を前記ゲートウェイ装置へ送信し、前記ゲートウェイ装置は、前記通信メッセージを前記第１の通信網を介して受信した場合に、その通信メッセージの送信に用いられたアプリケーションプログラムが、前記第２の通信網に接続されている通信装置へ宛てて通信メッセージを送信することを許可されているアプリケーションプログラムであるか否かを前記端末装置から受信したフィルタリング制御情報に基づいて判定し、その判定結果が否定的である場合には、その通信メッセージを破棄する一方、その判定結果が肯定的である場合には、その通信メッセージを前記第２の通信網を介してその宛先へ転送することを特徴とする通信システムを提供する。
【００１５】
また、上記課題を解決するために、本発明は、コンピュータ装置に、第１の通信網に接続されている端末装置と該第１の通信網とは異なる第２の通信網に接続されている通信装置との間の通信を中継する処理を実行させるプログラムにおいて、前記２の通信網に接続されている通信装置へ宛てて前記端末装置から送信されてくる通信メッセージを前記第１の通信網を介して受信する一方、前記端末装置にて該通信メッセージの送信に用いられたアプリケーションプログラムを表すフィルタリング制御情報を前記第１の通信網を介して前記端末装置から受信する第１のステップと、前記第１のステップによて受信された通信メッセージが、前記第２の通信網へ接続されている通信装置へ通信メッセージを送信することを許可されているアプリケーションプログラムによって送信された通信メッセージであるか否かを、前記第１のステップにて受信されたフィルタリング制御情報に基づいて判定する第２のステップと、前記第１のステップにて受信された通信メッセージについての前記第２のステップの判定結果が否定的である場合には、その通信メッセージを破棄する一方、前記第２のステップの判定結果が肯定的である場合には、その通信メッセージを前記第２の通信網を介してその宛先へと転送する第３のステップとを実行させることを特徴とするプログラムを提供する。このようなプログラムによれば、一般的なコンピュータ装置に、本発明に係るゲートウェイ装置と同一の機能を実現させることが可能になる。また、本発明の別の態様にあっては、コンピュータ装置読取り可能な記録媒体に上記プログラムを書き込んで提供するとしても勿論良い。
【００１６】
また、上記課題を解決するために、本発明は、コンピュータ装置に、アプリケーションプログラムにしたがって所定の宛先へ通信メッセージを送信する第１のステップと、前記アプリケーションプログラムを表すデータであるフィルタリング制御情報を、前記通信メッセージの宛先との通信を中継するゲートウェイ装置へ送信する第２のステップとを実行させることを特徴とするプログラムを提供する。このようなプログラムによれば、一般的なコンピュータ装置に、本発明に係る端末装置と同一の機能を実現させることが可能になる。また、本発明の別の態様にあっては、コンピュータ装置読取り可能な記録媒体に上記プログラムを書き込んで提供するとしても勿論良い。
【発明の効果】
【００１７】
本発明によれば、第１の通信網からその外部の第２の通信網へ機密情報が漏洩してしまうことを確実に防止することが可能になる、といった効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施する際の最良の形態について図面を参照しつつ説明する。
（Ａ．構成）
（Ａ−１：通信システムの構成）
図１は、本発明に係る通信システムの１実施形態である通信システム１０の構成例を示すブロック図である。この通信システム１０には、本発明に係る端末装置の１実施形態である利用者端末１００と、同じく穂発明に係るゲートウェイ装置の１実施形態であるゲートウェイ（以下、「ＧＷ」と表記する）装置２００とを含んでいる。なお、図１では、１つの利用者端末のみが例示されているが複数の利用者端末が第１通信網３００に接続されているとしても良いことは勿論である。
【００１９】
図１において、第１通信網３００は、例えば、企業内に敷設されたＬＡＮであり、この第１通信網３００に接続されている通信装置間の通信を仲介するためのものであり、いわゆるイントラネットとして機能する。一方、第２通信網４００は、例えばインターネットであり上記第１通信網３００に対して外部ネットワークとして機能する。図１においては詳細な図示は省略したが、第２通信網４００には、例えば、コンテンツサーバなどの複数の通信装置が接続されている。
【００２０】
図１の利用者端末１００は、第１通信網３００に接続されているパーソナルコンピュータであり、この第１通信網３００を介して所定の通信プロトコル（本実施形態では、ＴＣＰ／ＩＰ）にしたがって通信を行うことができる。図１に示すように、ＧＷ装置２００は、第１通信網３００と第２通信網４００とに接続されている。このＧＷ装置２００は、第１通信網３００に接続されている通信装置（例えば、利用者端末１００）と、第２通信網４００に接続されている通信装置（例えば、上記コンテンツサーバ）との間で上記所定の通信プロトコルにしたがって行われる通信を仲介する機能を備えている。なお、本実施形態では、上記所定の通信プロトコルがＴＣＰ／ＩＰである場合について説明するが、ＵＤＰ／ＩＰなど他の通信プロトコルであっても良いことは勿論である。
【００２１】
図１に示す通信システム１０においては、利用者端末１００は、第１通信網３００に接続されている他の通信装置と上記所定の通信プロトコルにしたがった通信を行うことができる他、ＧＷ装置２００を介して第２通信網４００に接続されている通信装置とも上記所定の通信プロトコルにしたがって通信を行うことが可能なようになっている。より詳細に説明すると、利用者端末１００のユーザは、例えばブラウザソフトウェアなど上記所定の通信プロトコルにしたがった通信を実現するためのアプリケーションプログラム（以下、ＡＰ）を利用者端末１００に実行させ、上記所定の通信プロトコルにて規定されている通信メッセージをその通信相手である通信装置との間で送受信させることによって、その通信相手と上記所定の通信プロトコルにしたがった通信を実行させることができる。
【００２２】
そして、図１に示す通信システム１０においては、利用者端末１００にて何らかのＡＰが実行され、第２通信網４００に接続されている通信装置へ宛てて通信メッセージが送信された場合に、その通信メッセージの送信の際に用いられたＡＰが、第１通信網３００に対して外部ネットワーク（本実施形態では、第２通信網４００）に接続されている通信装置へ通信メッセージを送信することを許可されているＡＰであるか否かがＧＷ装置２００によって判定され、その判定結果が“肯定的”である場合にのみ、その通信メッセージがその宛先へ転送されるようになっている。
【００２３】
このような構成としたため、図１に示す通信システム１０においては、上記外部ネットワークへ通信メッセージを送信することを許可されていないたＡＰから送信された通信メッセージを確実にフィルタリングし、上記イントラネット内の機密情報がその外部へ漏洩してしまうことを確実に防止することができるようになっている。以下、図１に示す通信システム１０の構成要素である利用者端末１００とＧＷ装置２００とについて詳細に説明する。
【００２４】
（Ａ−２：利用者端末１００の構成）
まず、図２を参照しつつ利用者端末１００の構成について説明する。
図２は、利用者端末１００のハードウェア構成の一例を示すブロック図である。図２に示すように、利用者端末１００は、制御部１１０と、通信インターフェイス（以下、「ＩＦ」）１２０と、記憶部１３０と、これら構成要素間のデータ授受を仲介するバス１４０と、を有している。なお、利用者端末１００は、これら構成要素の他に、例えばキーボードやマウスなど各種指示をユーザに入力させるための入力部や各種入力画面や各種出力画面を表す画像を表示する表示部などを備えているが、これら入力部や表示部は本発明に係る端末装置に特有な機能に直接的に関連しないため、図２においてはその図示を省略した。
【００２５】
制御部１１０は、例えばＣＰＵであり、後述する記憶部１３０に格納されている各種ソフトウェアを実行することによって、利用者端末１００の各部を中枢的に制御するものである。通信ＩＦ部１２０は、第１通信網３００に接続されており、この第１通信網３００を介して送信されてくるデータを受信し制御部１１０へ引き渡す一方、制御部１１０から引き渡されたデータを第１通信網３００へと送出する機能を備えている。
【００２６】
記憶部１３０は、図２に示すように、揮発性記憶部１３０ａと不揮発性記憶部１３０ｂとを含んでいる。揮発性記憶部１３０ａは、例えばＲＡＭ（Random Access Memory）であり、各種ソフトウェアを制御部１１０に実行させる際のメモリ空間が各ソフトウェア毎に割り当てられる。一方、不揮発性記憶部１３０ｂは、例えば、ハードディスクであり、各種データやソフトウェアを格納している。より詳細には、不揮発性記憶部１３０ｂには、ソフトウェアの実行形式ファイルが各ソフトウェア毎に格納されている。ここで、実行形式ファイルとは、制御部１１０に実行させる処理の内容および順序を表す機械語コードが書き込まれたファイルである。不揮発性記憶部１３０ｂに書き込まれているソフトウェアの一例としては、各種ＡＰの他、オペレーティングシステム（Operating System：以下、「ＯＳ」）を制御部１１０に実現させるためのＯＳソフトウェアや、本発明に係る端末装置に特徴的な通信制御処理を制御部１１０に実行させるための通信制御ソフトウェアが挙げられる。一方、不揮発性記憶部１３０ｂに格納されているデータの一例としては、ＧＷ装置２００との間で暗号化通信を行うためのデータ（例えば、秘密鍵―公開鍵方式の暗号化であれば、秘密鍵：以下、電子署名データと呼ぶ）が挙げられる。なお、電子署名データについては、耐タンパー化（情報処理学会誌 Vol44 No.6-10 “ソフトウェアの耐タンパー化技術”、石間他）などの既存の技術を用いて、例えば、ｘｄｂやｓｄｂなどのシンボリックデッバガを用いても読み出せないようにしておくことが望ましい。また、以下では、この電子署名データを用いて暗号化を行うことを「電子署名を施す」という。
【００２７】
次いで、上記ＯＳソフトウェアや通信ソフトウェアを実行することによって制御部１１０に付与される機能について説明する。利用者端末１００の電源（図示省略）が投入されると、制御部１１０は、ＯＳソフトウェアの実行形式ファイルを不揮発性記憶部１３０ｂから読み出して揮発性記憶部１３０ａへロードし、この実行形式ファイルに書き込まれている機械語コードにしたがって作動する。このＯＳソフトウェアにしたがって作動している制御部１１０には、例えばユーザの指示に応じて他のソフトウェアを実行する機能、複数のソフトウェアを並列に実行する機能が付与される。例えば、図示せぬ入力部を介して、あるＡＰの実行を指示されると、制御部１１０は、そのＡＰの実行形式ファイルを不揮発性記憶部１３０ｂから読み出して揮発性記憶部１３０ａへロードし、その実行形式ファイルに書き込まれている機械語コードの表す処理を実行する。なお、上記ＡＰの実行形式ファイルを揮発性記憶部１３０ａへロードする際には、各ＡＰ毎に固有のメモリ空間（以下、「プロセス」）が割り当てられる。そして、このようなプロセスには各プロセスを一意に識別する識別子（以下、プロセスＩＤ）がＯＳによって割り当てられ、そのプロセスＩＤと、そのプロセスＩＤで特定されるメモリ空間にロードされている実行形式ファイルを一意に識別する識別子（例えば、その実行形式ファイルの不揮発性記憶部１３０ｂ内での所在場所を表すファイルパス）と、がＯＳに割り当てられているメモリ空間内のプロセス管理テーブルに登録される。なお、このプロセス管理テーブルの格納内容は、各プロセスの状態の変化に応じて随時更新される。そして、上記ＯＳソフトウェアの実行を完了し、ＯＳを実現している状態になると、制御部１１０は、即座に、上記通信制御ソフトウェアを不揮発性記憶部１３０ｂから読み出し、この通信制御ソフトウェアを実行する。この通信制御ソフトウェアにしたがって作動している制御部１１０には、以下に述べる３つの機能が付与される。
【００２８】
第１に、制御部１１０により実行されているＡＰから、上記所定の通信プロトコルにしたがって通信メッセージを送信することを指示された場合に、その通信メッセージが、第２通信網４００に接続されている通信装置（すなわち、外部ネットワークの通信装置）との通信を開始することを表す通信メッセージであるか否かを判定するメッセージ種別判定機能である。より詳細に説明すると、通信制御ソフトウェアにしたがって作動している制御部１１０は、上記通信メッセージが上記通信装置との間に通信コネクションを確立するためのＳＹＮメッセージであるか否かをその通信メッセージに書き込まれている送信先アドレスおよびＳＹＮフラグの値に基づいて判定する。
第２に、上記メッセージ種別判定機能の判定結果が“肯定的”である場合に、上記通信メッセージの送信元であるＡＰについて、そのＡＰを一意に識別するデータであるプログラム識別子を取得し、そのプログラム識別子と上記通信メッセージを一意に識別するメッセージ識別子（例えば、送信元および送信先のアドレスおよびポート番号）とを含んだフィルタリング制御情報を生成し、上記電子署名データを用いてそのフィルタリング制御情報に電子署名を施してＵＤＰ／ＩＰにしたがってＧＷ装置２００へ送信する第１の送信機能である。
そして、第３に、上記通信メッセージを通信ＩＦ部１２０を介してその宛先へと送信する第２の送信機能である。
【００２９】
より詳細に説明すると、上記通信制御ソフトウェアにしたがって作動している制御部１１０は、以下に説明するようにして上記プログラム識別子を取得する。すなわち、制御部１１０は、例えばｎｅｔｓｔａｔコマンドなどを実行するなどの周知の方法により、上記ＡＰについてのプロセスＩＤを取得し、そのプロセスＩＤをキーにして前述したプロセス管理テーブルを検索して、そのＡＰの実行形式ファイルのファイルパスを取得する。そして、制御部１１０は、そのファイルパスで特定される実行形式ファイルの所定部分のビット列を所定のビット長分だけ読み出し、そのビット列を所定のハッシュ関数（例えば、ＳＨＡ−１やＭＤ−５など）へ入力して上記プログラム識別子を取得する。なお、本実施形態では、通信メッセージの送信元であるＡＰの実行形式ファイルの所定部分の所定ビット長分のビット列を所定のハッシュ関数へ入力して得られるデータを上記プログラム識別子として用いる場合について説明したが、上記ビット列をそのままプログラム識別子として用いても良い。要は、通信メッセージの送信元であるＡＰの実行形式ファイルの構造に応じて定まるデータであれば、どのようなデータであっても良い。
【００３０】
以上が利用者端末１００の構成である。
以上に説明したように、本実施形態に係る利用者端末１００のハードウェア構成は一般的なコンピュータ装置のハードウェア構成と同一であり、上記通信制御ソフトウェアにしたがって制御部１１０を作動させることによって、本発明に係る端末装置に特有な機能が実現される。このように、本実施形態では、本発明に係る端末装置に特有な機能をソフトウェアモジュールで実現する場合について説明したが、上記各機能を担っているハードウェアモジュールを組み合わせて本発明に係る端末装置を構成するとしても良いことは勿論である。
【００３１】
（Ａ−３：ＧＷ装置２００の構成）
次いで、ＧＷ装置２００のハードウェア構成について説明する。
図３は、ＧＷ装置２００のハードウェア構成の一例を示すブロック図である。図３に示すように、ＧＷ装置２００のハードウェア構成は、通信ＩＦ部１２０に替えて第１通信ＩＦ部１２０ａと第２通信ＩＦ部１２０ｂとを設けた点を除いて利用者端末１００のハードウェア構成と同一である。この第１通信ＩＦ部１２０ａは、第１通信網３００に接続されており、第１通信網３００から送信されてくるデータを受信して制御部１１０へ引き渡す一方、制御部１１０から引き渡されたデータを第１通信網３００へと送出する。一方、第２通信ＩＦ部１２０ｂは、前述した第２通信網４００に接続されていおり、第２通信網４００から送信されてくるデータを受信して制御部１１０へ引き渡す一方、制御部１１０から引き渡されたデータを第２通信網４００へと送出する。
【００３２】
さて、ＧＷ装置２００の不揮発性記憶部１３０ｂには、前述した利用者端末１００とは異なるソフトウェアが格納されており、そのソフトウェアを制御部１１０が実行することによって利用者端末１００とは異なる機能が付与される。より詳細に説明すると、ＧＷ装置２００の不揮発性記憶部１３０ｂには、前述したＯＳソフトウェアの他に、本発明に係るゲートウェイ装置に特有な中継処理を制御部１１０に実行させる中継ソフトウェアとその中継処理の実行の際に利用されるフィルタリング制御テーブル（図４参照）と利用者端末１００によってフィルタリング制御情報に施された電子署名を確認するための署名確認データ（例えば、前述した電子署名データが秘密鍵であれば、署名確認データは公開鍵）が格納されている。
【００３３】
まず、不揮発性記憶部１３０ｂに格納されているフィルタリング制御テーブルについて説明する。
図４は、フィルタリング制御テーブルの一例を示す図である。図４に示すように、フィルタリング制御テーブルには、複数のＡＰの各々について、前述したプログラム識別子と、第２通信網４００に接続されている通信装置へ宛てて通信メッセージを送信することを許可されているＡＰであるか否かを表す送信可否フラグ（図４では、フラグの値が“１”ならば許可、フラグの値が“０”ならば不許可）とが格納されている。なお、図４に示すフィルタリング制御テーブルでは、プログラム識別子に対応付けてそのプログラム識別子で識別されるＡＰが上記通信装置へ宛てて通信メッセージを送信することを許可されているＡＰであるか否かを表す送信可否フラグを格納しておく場合について説明したが、上記通信装置へ宛てて通信メッセージを送信することを許可されているＡＰのプログラム識別子のみ、または、上記通信装置へ宛てて通信メッセージを送信することを許可されていないＡＰのプログラム識別子のみを上記フィルタリング制御テーブルに格納しておくとしても勿論良い。要は、利用者端末１００から送信されてくるフィルタリング制御情報に含まれているプログラム識別子に基づいて、そのフィルタリング制御情報に含まれているメッセージ識別子で識別される通信メッセージが、第２通信網４００に接続されている通信装置へ宛てて通信メッセージを送信することを許可されているＡＰによって送信された通信メッセージであるか否かを、ＧＷ装置２００の制御部１１０に判定させることができる態様であれば、何れであっても良い。
【００３４】
次いで、上記ＯＳソフトウェアや中継ソフトウェアを実行することによってＧＷ装置２００の制御部１１０に付与される機能について説明する。ＧＷ装置２００の電源（図示省略）が投入されると、制御部１１０は、まず、ＯＳソフトウェアを不揮発性記憶部１３０ｂから読み出し、これを実行する。このＯＳソフトウェアにしたがって作動している制御部１１０には、ＧＷ装置２００の各部を制御する機能、図示せぬクロックジェネレータから供給されるクロックに基づいて計時を行うタイマ機能、他のソフトウェアを不揮発性記憶部１３０ｂから読み出し実行する機能などが付与される。そして、上記ＯＳソフトウェアの実行を完了しＯＳを実現している状態になると、制御部１１０は、即座に、上記中継ソフトウェアを不揮発性記憶部１３０ｂから読み出し、これを実行する。この中継ソフトウェアにしたがって作動している制御部１１０には、以下に述べる６つの機能が付与される。
【００３５】
第１に、第１通信網３００を介して送信されてくる通信メッセージを第１通信ＩＦ部１２０ａによって受信する第１の受信機能である。なお、ＧＷ装置２００の制御部１１０は、この第１の受信機能により通信メッセージを受信すると、その受信時刻を上記タイマ機能により取得するとともに、その通信メッセージを揮発性記憶部１３０ａ内に設けられているメッセージバッファへ格納する。そして、制御部１１０は、上記受信時刻を表す受信時刻データ（例えば、上記通信メッセージを受信した時点のクロック値を表すデータなど）と、その通信メッセージの上記メッセージバッファ内での格納位置を表すデータ（例えば、メモリアドレス）とその通信メッセージを一意に識別するデータ（例えば、前述したメッセージ識別子）とを対応付けて図５に示すメッセージ管理テーブルへ登録する。以降、制御部１１０は、上記メッセージ管理テーブルを、上記メッセージ識別子をキーとして検索することによって、各通信メッセージの格納位置を特定し各通信メッセージに対して高速にアクセスすることが可能になる。
第２に、第１通信網３００を介してＵＤＰにしたがって送信されてくるフィルタリング制御情報を第１通信ＩＦ部１２０ａによって受信する第２の受信機能である。
第３に、上記第１の受信機能により受信された通信メッセージが、第２通信網４００に接続されている通信装置との通信を開始することを表す通信メッセージであるか否かを判定するメッセージ種別判定機能である。なお、このメッセージ種別判定機能については、前述した通信制御ソフトウェアを実行することによって利用者端末１００の制御部１１０に付与されるメッセージ種別判定機能と同一である。
第４に、上記第２の受信機能により受信されたフィルタリング制御情報に所定の電子署名データによる電子署名が施されているか否かを判定する署名判定機能である。例えば、上記電子署名データが秘密鍵であり、電子署名確認データが公開鍵である場合には、その電子署名データにより電子署名（すなわち、暗号化）されたフィルタリング制御情報を上記電子署名確認データにより複号化できた場合に、上記署名判定機能による判定結果は“肯定的”になる。
第５に、上記第２の受信機能により受信されたフィルタリング制御情報に含まれているプログラム識別子と上記フィルタリング制御テーブルの格納内容とに基づいて、そのフィルタリング制御情報に含まれているメッセージ識別子で識別される通信メッセージが、第２通信網４００に接続されている通信端末へ宛てて通信メッセージを送信することを許可されているＡＰによって送信された通信メッセージであるか否かを判定する送信元判定機能である。なお、上記第１の受信機能によって通信メッセージを受信した時点から所定のタイムアウト時間が経過するまで（すなわち、上記受信時刻データの表す時刻から所定のタイムアウト時間が経過するまで）に、対応するフィルタリング制御情報（すなわち、その通信メッセージを一意に識別するメッセージ識別子が含まれているフィルタリング制御情報）が上記第２の受信機能によって受信されなかった場合には、この送信元判定機能による判定結果は、常に、“否定的”になる。
そして、第６に、上記各判定機能による判定結果に応じて、上記第１の受信機能により受信された通信メッセージをその宛先へ転送、または、破棄する転送制御機能である。より詳細に説明すると、上記メッセージ種別判定機能の判定結果が“否定的”である通信メッセージについては、常に、その通信メッセージをその宛先へ転送し、その判定結果が“肯定的”である通信メッセージについては、上記送信元判定機能および上記署名判定機能の判定結果に応じて、その宛先への転送、または、破棄を行う。具体的には、上記送信元判定機能による判定結果と上記署名判定機能による判定結果とが共に“肯定的”である場合にのみ、上記第１の受信機能により受信した通信メッセージをその宛先へと転送し、その他の場合には、その通信メッセージを上記メッセージバッファから削除して破棄する。なお、上記転送制御機能により通信メッセージの破棄を行う際でには、制御部１１０は、その通信メッセージに対応するデータを上記メッセージ管理テーブルから削除する。
【００３６】
ここで、上記第１の受信機能により受信された通信メッセージの転送制御を上記転送制御機能によって行う際に、上記メッセージ種別判定機能による判定結果が“肯定的”である場合にのみ、その通信メッセージの送信元であるＡＰについての上記送信元判定機能による判定結果、および、署名判定機能による判定結果に応じて、その通信メッセージの転送または破棄を決定する理由は、次の通りである。本実施形態においては、利用者端末１００にて実行されるＡＰは、ＴＣＰにしたがって通信を行う。ＴＣＰにおいては、実際のデータの送受信に先立って、その通信相手との間に通信コネクションを確立しておくことが定められており、この通信コネクションの確立は、図６に示す３ウェイハンドシェークと呼ばれる手順にしたがって行われる。図６では、利用者端末１００が、外部ネットワーク（例えば、第２通信網４００）に接続されている通信装置に対して通信コネクションの確立を要求した場合の通信シーケンスが示されている。ここで注目すべき点は、ＴＣＰにおいては、実際のデータの送受信に先立って、通信コネクションの確立を行うためのＳＹＮメッセージが必ず送信される点である。つまり、上記ＳＹＮメッセージについてのみ、上記送信元判定機能による判定結果、および、署名判定機能による判定結果に応じて転送の可否を決定すれば、第２通信網４００に接続されている通信装置との通信が許可されていないＡＰについて、係る通信装置との通信を確実に差し止めることが可能になるからである。
【００３７】
以上が、ＧＷ装置２００の構成である。
以上に説明したように、本実施形態に係るＧＷ装置２００のハードウェア構成は一般的なコンピュータ装置のハードウェア構成と同一であり、上記通信制御ソフトウェアにしたがって制御部１１０を作動させることによって、本発明に係るＧＷ装置に特有な機能が実現される。このように、本実施形態では、本発明に係るＧＷ装置に特有な機能をソフトウェアモジュールで実現する場合について説明したが、上記各機能を担っているハードウェアモジュールを組み合わせて本発明に係るＧＷ装置を構成するとしても良いことは勿論である。
【００３８】
（Ａ−４：動作）
次いで、利用者端末１００とＧＷ装置２００とが行う動作のうち、その特徴を顕著に示している動作について図面を参照しつつ説明する。なお、以下に説明する動作例では、利用者端末１００においては前述した通信制御ソフトウェアが実行されており、ＧＷ装置２００においては上述した中継ソフトウェアが実行されているものとする。そして、以下に説明する動作例では、あるＡＰが利用者端末１００の制御部１１０によって実行されており、第２通信網４００に接続されているコンテンツサーバへ宛てて前述したＳＹＮメッセージが上記ＡＰによって送信される場合について説明する。
【００３９】
まず、上記ＡＰによって通信メッセージの送信を指示された場合に、利用者端末１００の制御部１１０が上記通信制御ソフトウェアにしたがって行う通信制御処理について図７を参照しつつ説明する。
図７は、利用者端末１００の制御部１１０が、上記通信制御ソフトウェアにしたがって行う通信制御処理の流れを示すフローチャートである。図７に示すように、利用者端末１００の制御部１１０は、通信メッセージの送信を指示されることを待ち受けており、上記ＡＰによって通信メッセージの送信を指示されると（ステップＳＡ１００：Ｙｅｓ）、その通信メッセージが、外部ネットワーク（本実施形態では、第２通信網４００）に接続されている通信装置との通信を開始することを表す通信メッセージであるか否かを判定する（ステップＳＡ１１０）。具体的には、利用者端末１００の制御部１１０は、上記通信メッセージの送信先アドレスが第１通信網３００に接続されている通信装置以外の通信アドレスであり、かつ、ＳＹＮフラグの値が“１”である場合に、第２通信網４００に接続されている通信装置との通信を開始することを表す通信メッセージであると判定する。本動作例では、第２通信網４００に接続されているコンテンツサーバへＳＹＮメッセージを送信することを上記ＡＰによって指示されるのであるから、上記ステップＳＡ１１０の判定結果は“Ｙｅｓ”になる。
【００４０】
ステップＳＡ１１０の判定結果が“Ｎｏ”である場合には、利用者端末１００の制御部１１０は、通信ＩＦ部１２０を用いて上記通信メッセージを第１通信網３００へ送信し（ステップＳＡ１５０）、本通信制御処理を終了する。逆に、ステップＳＡ１００の判定結果が“Ｙｅｓ”である場合には、利用者端末１００の制御部１１０は、後述するステップＳＡ１２０〜ステップＳＡ１４０の処理を実行する。
【００４１】
ステップＳＡ１１０の判定結果が“Ｙｅｓ”である場合に後続して実行されるステップＳＡ１２０においては、利用者端末１００の制御部１１０は、上記通信メッセージについて前述したフィルタリング制御情報を生成する。具体的には、利用者端末１００の制御部１１０は、上記通信メッセージの送信元であるＡＰについて、そのＡＰの実行に割り当てられているプロセスのプロセスＩＤに基づいて、そのＡＰのプログラム識別子を取得する一方、上記通信メッセージを一意に識別するメッセージ識別子をその通信メッセージの内容を解析して取得する。そして、利用者端末１００の制御部１１０は、このようにして取得したプログラム識別子とメッセージ識別子とを含むフィルタリング制御情報を生成する。
【００４２】
次いで、利用者端末１００の制御部１１０は、不揮発性記憶部１３０ｂに格納されている電子署名データを読み出し、上記ステップＳＡ１２０にて生成したフィルタリング制御情報に、その電子署名データによって電子署名を施した後に、ＵＤＰにしたがってＧＷ装置２００へ送信し（ステップＳＡ１３０）、さらに、上記通信メッセージを通信ＩＦ部１２０によって第１通信網３００へ送信する（ステップＳＡ１４０）。前述したように、本動作例では、ステップＳＡ１１０の判定結果は“Ｙｅｓ”になるのであるから、上記ステップＳＡ１２０〜ステップＳＡ１４０の処理が実行され、上記ＡＰによって送信されたＳＹＮメッセージが第１通信網３００へ送出されるとともに、上記ＡＰについてのプログラム識別子と上記ＳＹＮメッセージについてのメッセージ識別子とを含んでいるフィルタリング制御情報が第１通信網３００を介してＧＷ装置２００へ送信されることになる。
以上が、上記通信制御ソフトウェアにしたがって利用者端末１００の制御部１１０が行う通信制御処理の流れである。
【００４３】
さて、上記のようにして利用者端末１００から送信されたＳＹＮメッセージとフィルタリング制御情報とは、第１通信網３００内で適宜ルーティングされ、ＧＷ装置２００へ到達する。次いで、上記ＳＹＮメッセージおよびフィルタリング制御情報を受信した場合に、ＧＷ装置２００の制御部１１０が行う中継処理について図８を参照しつつ説明する。
【００４４】
図８は、ＧＷ装置２００の制御部１１０が上記中継ソフトウェアにしたがって行う中継処理の流れを示すフローチャートである。図８に示すように、制御部１１０は、利用者端末１００から送信された通信メッセージを第１通信ＩＦ部１２０ａにより受信（ステップＳＢ１００）すると、その通信メッセージを揮発性記憶部１３０ａへ書き込むとともに、その通信メッセージのメッセージ識別子とその受信時刻を表すデータとその記憶場所を表すデータとを前述したメッセージ管理テーブル（図５参照）へ登録する。
【００４５】
次いで、ＧＷ装置２００の制御部１１０は、ステップＳＢ１００にて受信した通信メッセージが、第２通信網４００に接続されている通信装置との通信を開始することを表す通信メッセージであるか否かを判定する（ステップＳＢ１１０）。なお、本ステップＳＢ１１０における判定基準は、前述したステップＳＡ１１０における判定基準と同一である。本動作例では、第２通信網４００に接続されているコンテンツサーバ宛てのＳＹＮメッセージが送信されてくるのであるから、上記ステップＳＢ１１０の判定結果は“Ｙｅｓ”になる。
【００４６】
ステップＳＢ１１０の判定結果が“Ｎｏ”である場合には、ＧＷ装置２００の制御部１１０は、ステップＳＢ１００にて受信した通信メッセージを揮発性記憶部１３０ａから読み出して、その宛先へと転送し（ステップＳＢ１４０）、その通信メッセージについてのデータを上記メッセージ管理テーブルから削除する。逆に、ステップＳＢ１１０の判定結果が“Ｙｅｓ”である場合には、ＧＷ装置２００の制御部１１０は、その通信メッセージに対応するフィルタリング制御情報に含まれているプログラム識別子と前述したフィルタリング制御テーブル（図４参照）の格納内容とを比較して、そのプログラム識別子で識別されるＡＰが、第２通信網４００に接続されている通信装置へ宛てて通信メッセージを送信することを許可されているＡＰであるか否かを判定する（ステップＳＢ１２０）。
【００４７】
ステップＳＢ１２０の判定結果が“Ｎｏ”である場合には、ＧＷ装置２００の制御部１１０は、ステップＳＢ１００にて受信した通信メッセージを揮発性記憶部１３０ａから削除してその通信メッセージを破棄（ステップＳＢ１５０）するとともに、その通信メッセージについてのデータを上記メッセージ管理テーブルから削除する。逆に、ステップＳＢ１２０の判定結果が“Ｙｅｓ”である場合には、ＧＷ装置２００の制御部１１０は、上記フィルタリング制御情報に所定の電子署名データによる電子署名が施されているか否かを判定し（ステップＳＢ１３０）、その判定結果が“Ｙｅｓ”である場合には、上記ステップＳＢ１４０の処理を実行して本中継処理を終了する一方、その判定結果が“Ｎｏ”である場合には、上記ステップＳＢ１５０の処理を実行して本中継処理を終了する。
【００４８】
以上、本実施形態によれば、イントラネットなどの第１通信網３００を介して利用者端末１００から送信されてきた通信メッセージをＧＷ装置２００によって外部ネットワークである第２通信網４００へと転送する際に、その転送の可否をそのプロトコルメッセージの送信元であるＡＰ毎に決定することが可能になり、不正な目的で作成されたＡＰの実行により機密情報が第１通信網３００からその外部へと漏洩してしまうことが回避されるといった効果を奏する。
また、本実施形態によれば、ＡＰの実行形式ファイルの構造に応じて定まるプログラム識別子を用いて、そのＡＰが外部ネットワークへ通信メッセージを送信することを許可されたＡＰであるか否かが判定されるため、そのプログラム識別子を詐称することは極めて困難であり、外部ネットワークへの機密情報の漏洩を確実に防止することが可能になる、といった効果を奏する。
また、本実施形態によれば、ＧＷ装置２００のでフィルタリング処理が行われるのではなく、利用者端末１００とＧＷ装置２００とに処理分散が為されているため、ＧＷ装置２００のみでフィルタリング処理を行う従来の技術に比較して、ＧＷ装置２００にかかる処理負荷を軽減させることが可能になるといった効果を奏する。
【００４９】
（Ｂ．変形例）
以上、本発明の実施形態について説明したが、上述した各実施形態を以下のように変形しても良いことは勿論である。
（Ｂ−１：変形例１）
上述した実施形態では、利用者端末１００から送信されてくるフィルタリング制御情報に含まれているプログラム識別子とフィルタリング制御テーブル（図４参照）の格納内容とをＧＷ装置２００の制御部１１０に比較させることによって、そのフィルタリング制御情報に含まれているメッセージ識別子で識別される通信メッセージの送信元であるＡＰが、第２通信網４００に接続されている通信装置へ通信メッセージを送信することを許可されたＡＰであるか否かをＧＷ装置２００の制御部１１０に判定させる場合について説明した。しかしながら、上記フィルタリング制御テーブルを利用者端末１００の不揮発性記憶部１３０ｂに格納しておき、通信メッセージの送信元であるＡＰについての上記判定を利用者端末１００の制御部１１０に実行させるようにしても良い。なお、このような態様にあっては、上記プログラム識別子に替えて上記判定の判定結果を表すデータを含んでいるフィルタリング制御情報を利用者端末１００の制御部１１０に送信させ、係るデータの値に応じて、そのフィルタリング制御情報に含まれているメッセージ識別子で識別される通信メッセージの転送の可否をＧＷ装置２００の制御部１１０に実行させるようにすれば良い。このような態様においても、上述した実施形態と同一の効果が奏されることは言うまでもない。
【００５０】
（Ｂ−２：変形例２）
上述した実施形態では、送信元判定機能による判定結果が“肯定的”であり、かつ、署名判定機能による判定結果も“肯定的”である通信メッセージについては、ＧＷ装置２００の制御部１１０は、無条件にその宛先へ転送する場合について説明した。しかしながら、図９に示すように、送信元判定機能による判定結果が“肯定的”であり、かつ、署名判定機能による判定結果が“肯定的”である通信メッセージについて、さらに、その通信メッセージのヘッダ部に書き込まれているデータ（送信元および送信先アドレスや送信元および送信先ポート番号など）が所定の条件を満たしているか否かを判定し（図９：ステップＳＢ１３５）、その判定結果が“肯定的”である場合には、その宛先へと送信し、逆に、その判定結果が“否定的”である場合には、その通信メッセージを破棄するようにしても勿論良い。
【００５１】
また、上記のように通信メッセージのヘッダに書き込まれているデータに基づいて、その転送の可否を決定する態様にあっては、図４に示すフィルタリング制御テーブルに替えて、図１０に示すフィルタリング制御テーブルをＧＷ装置２００の不揮発性記憶部１３０ｂに格納しておくとしても良い。図１０に示すフィルタリング制御テーブルが、図４に示すフィルタリング制御テーブルと異なっている点は、送信可否フラグに替えて、上記ヘッダに書き込まれているデータについての条件を表す条件データが格納されている点である。図１０に示すフィルタリング制御テーブルを不揮発性記憶部１３０ｂに格納しておくとともに、上記条件データとして各ＡＰに固有の条件を表すデータを格納しておき、図９のステップＳＢ１３５の処理においては、判定対象の通信メッセージの送信元であるＡＰのプログラム識別子に対応付けて図１０に示すフィルタリング制御テーブルに格納されている条件データの表す条件を、その通信メッセージのヘッダに書き込まれているデータが満たすか否かをＧＷ装置２００の制御部１１０に判定させるようにすれば、各ＡＰ毎に異なる条件で上記ステップＳＢ１３５の判定を行うこと、すなわち、各ＡＰ毎にきめ細やかなフィルタリング処理を行うことが可能になる。
【００５２】
（Ｂ−３：変形例３）
上述した実施形態では、利用者端末１００から送信されてきた通信メッセージが、その利用者端末１００が接続されている通信網とは異なる外部ネットワークに接続されている通信装置との通信を開始する旨の通信メッセージである場合には、その通信メッセージの送信元であるＡＰについての送信元判定機能による判定結果、および、署名判定機能による判定結果に応じてその通信メッセージの転送または破棄を決定する場合について説明した。しかしながら、外部ネットワークに接続されている通信装置との通信を開始する旨の通信メッセージであるか否かに拘わらず、送信元判定機能による判定、および、署名判定機能による判定を行い、それらの判定結果に応じてその通信メッセージの転送の可否を決定するとしても勿論良い。
【００５３】
（Ｂ−４：変形例４）
上述した実施形態では、利用者端末１００にフィルタリング制御情報を送信させる際に、所定の電子署名データによる電子署名を施して送信させる場合について説明した。これは、上記フィルタリング制御情報が所定の通信制御プログラムにしたがって送信されたことを、ＧＷ装置２００の制御部１１０に認証させるためであるが、このような電子署名による認証は、必ずしも必須ではない。例えば、上記の如き電子署名を行わずにフィルタリング制御情報を送信させ、上記送信元判定機能による判定結果が“肯定的”である通信メッセージについては、無条件にその宛先へ転送させるようにしても勿論良い。
【００５４】
（Ｂ−５：変形例５）
上述した実施形態では、ＡＰにより送信された通信メッセージとは別個に、その通信メッセージの転送の可否をＧＷ装置２００に決定させるためのフィルタリング制御情報をＵＤＰにしたがって利用者端末１００からＧＷ装置２００へ送信する場合について説明した。しかしながら、上記通信メッセージと上記フィルタリング制御情報とを例えばＵＤＰパケット内にカプセル化して送信するようにしても勿論良い。
【００５５】
（Ｂ−６：変形例６）
上述した実施形態では、ＡＰにより送信を指示された通信メッセージが、第２通信網４００に接続されている通信装置との通信を開始することを表す通信メッセージである場合に、利用者端末１００の制御部１１０に、そのＡＰについてのプログラム識別子を取得させる場合について説明した。しかしながら、ＡＰの実行に割り当てられているプロセスのプロセスＩＤとそのＡＰのプログラム識別子とを対応付けて格納するＡＰ管理テーブル（図１１参照）を利用者端末１００の不揮発性記憶部１３０ｂに予め書き込んでおき、利用者端末１００におけるＡＰの実行状況に応じて、そのＡＰ管理テーブルの格納内容を更新するようにしても良い。このようなことは、図１２に示すＡＰ管理処理を利用者端末１００の制御部１１０に実行させることによって実現される。図１２に示すように、制御部１１０は、まず、新規のプロセスが起動されたか否かを判定し（ステップＳＣ１００）、その判定結果が“Ｙｅｓ”である場合には、ステップＳＣ１１０以降の処理を実行し、逆に、ステップＳＣ１００の判定結果が“Ｎｏ”である場合には、ステップＳＣ１００以降の処理を繰り返し実行する。
【００５６】
ステップＳＣ１００の判定結果が“Ｙｅｓ”である場合（すなわち、新規のプロセスが起動された場合）に後続して実行されるステップＳＣ１１０においては、制御部１１０は、その新規に起動されたプロセスのプロセスＩＤを取得する。次いで、制御部１１０は、上記新規のプロセスにて実行されているＡＰの実行形式ファイルのファイルパスを取得する（ステップＳＣ１２０）。なお、ステップＳＣ１１０およびステップＳＣ１２０の処理については、例えば、tasklistコマンドやpsコマンドを制御部１１０に実行させることによって実現される。
【００５７】
そして、制御部１１０は、ステップＳＣ１２０にて取得されたファイルパスにしたがって上記ＡＰの実行形式ファイルへアクセスし、そのＡＰについてのプログラム識別子を取得して（ステップＳＣ１３０）、そのプログラム識別子と上記ステップＳＣ１１０にて取得したプロセスＩＤとを対応付けて上記ＡＰ管理テーブルへ登録する（ステップＳＣ１４０）。以降、利用者端末１００の制御部１１０は、上記ステップＳＣ１００以降の処理を繰り返し実行する。
【００５８】
このように、ＡＰの実行開始時点（すなわち、そのＡＰに対応するプロセスの機動時点）でそのプロセスＩＤとそのＡＰのプログラム識別子とを対応付けて上記ＡＰ管理テーブルに登録しておくようにすれば、あるＡＰから通信メッセージの送信を指示された場合に、そのＡＰのプログラム識別子を上記ＡＰ管理テーブルから即座に読み出せるので、そのＡＰについてのフィルタリング制御情報を送出するまでに要する時間を短縮することが可能になる。なお、実行を終了したＡＰについては、その実行の終了の際にそのＡＰについてのデータを上記ＡＰ管理テーブルから削除するようにしても良く、また、ＡＰ管理テーブルに登録されているＡＰの各々について、例えば定期的に、そのＡＰのプログラム識別子に対応付けられているプロセスＩＤで特定されるプロセスが実際に稼動中であるか否かを判定し、稼動中ではない場合には、そのプロセスＩＤおよびプログラム識別子の組を上記ＡＰ管理テーブルから削除するようにしても良い。
【００５９】
（Ｂ−７：変形例７）
上述した実施形態では、本発明に係る端末装置に特有な機能をＣＰＵなどの制御部１１０に実現させるためのソフトウェアが予め利用者端末１００の不揮発性記憶部１３０ｂに格納されている場合について説明した。しかしながら、例えばＣＤ−ＲＯＭ（Compact Disk- Read Only Memory）やＤＶＤ（Digital Versatile Disk）などのコンピュータ装置読み取り可能な記録媒体に、上記ソフトウェアを記録しておき、このような記録媒体を用いて一般的なコンピュータ装置に上記ソフトウェアをインストールするとしても良いことは勿論である。このようにすると、一般的なコンピュータ装置に本発明に係る端末装置と同一の機能を付与することが可能になるといった効果を奏する。同様に、本発明に係るゲートウェイ装置に特有な機能をＣＰＵなどの制御部１１０に実現させるためのソフトウェアを、コンピュータ装置読み取り可能な記録媒体に記録しておき、このような記録媒体を用いて一般的なコンピュータ装置に上記ソフトウェアをインストールするとしても良いことは勿論である。このようにすると、一般的なコンピュータ装置に本発明に係るゲートウェイ装置と同一の機能を付与することが可能になるといった効果を奏する。
【図面の簡単な説明】
【００６０】
【図１】本発明の１実施形態に係る通信システム１０の構成例を示すブロック図である。
【図２】同通信システム１０に含まれている利用者端末１００のハードウェア構成の一例を示すブロック図である。
【図３】同通信システム１０に含まれているＧＷ装置２００のハードウェア構成の一例を示すブロック図である。
【図４】同ＧＷ装置２００の不揮発性記憶部１３０ｂに格納されているフィルタリング制御テーブルの一例を示す図である。
【図５】同ＧＷ装置２００の揮発性記憶部１３０ａ内に生成されるメッセージ管理テーブルの一例を示す図である。
【図６】ＴＣＰにおける３ウェイハンドシェークを説明するための図である。
【図７】同利用者端末１００の制御部１１０が通信制御ソフトウェアにしたがって行う通信制御処理の流れを示すフローチャートである。
【図８】同ＧＷ装置２００の制御部１１０が中継ソフトウェアにしたがって行う中継処理の流れを示すフローチャートである。
【図９】変形例２に係る中継処理の流れを示すフローチャートである。
【図１０】変形例２に係るフィルタリング制御テーブルの一例を示す図である。
【図１１】変形例６に係るＡＰ管理テーブルの一例を示す図である。
【図１２】変形例６に係るＡＰ管理処理の流れを示すフローチャートである。
【符号の説明】
【００６１】
１０…通信システム、１００…利用者端末、１１０…制御部、１２０…通信ＩＦ部、１２０ａ…第１通信ＩＦ部、１２０ｂ…第２通信ＩＦ部、１３０…記憶部、１３０ａ…揮発性記憶部、１３０ｂ…不揮発性記憶部、１４０…バス、２００…ＧＷ装置、３００…第１通信網、４００…第２通信網。
【図１】
2006270894.tif 000003
【図２】
2006270894.tif 000004
【図３】
2006270894.tif 000005
【図４】
2006270894.tif 000006
【図５】
2006270894.tif 000007
【図６】
2006270894.tif 000008
【図７】
2006270894.tif 000009
【図８】
2006270894.tif 000010
【図９】
2006270894.tif 000011
【図１０】
2006270894.tif 000012
【図１１】
2006270894.tif 000013
【図１２】
2006270894.tif 000014