(57)【要約】【課題】通信時の安全性を向上させる通信制御装置を提供すること。【解決手段】外部端末２００を認証し、認証結果を認証状態テーブル１１１に保存する認証部１０２と、外部端末２００と内部通信装置との間で通信を許可する第１アプリケーションに関する情報を含む第１メッセージをセッションサーバ３００から受信する受信部１０１と、第１メッセージを受信するごとに、認証状態テーブル１１１に保存された認証結果を参照して外部端末２００が認証されているか否かを判断する判断部１０３と、外部端末２００が認証されていると判断された場合に、第１アプリケーションで利用する第１ポートと外部端末２００のアドレスとを含む第２メッセージを生成する生成部１０４と、第２メッセージをファイアウォール４００に送信する送信部１０５と、を備えた。【選択図】        図１
2008005434.tif 000002
【特許請求の範囲】
【請求項１】
ファイアウォール外の外部ネットワークに接続された外部通信装置と前記ファイアウォール内の内部ネットワークに接続された内部通信装置との間の通信を確立するサーバ装置と、前記ファイアウォールとに前記内部ネットワークを介して接続可能な通信制御装置であって、
外部通信装置を認証し、認証結果を得る認証手段と、
前記認証結果を前記外部通信装置の識別情報と関連づけて記憶可能な第１記憶手段と、
前記外部通信装置と前記内部通信装置との間の通信に用いる第１アプリケーションに関する情報と、前記外部通信装置の識別情報とを含む第１メッセージを前記サーバ装置から受信する受信手段と、
前記第１メッセージに含まれる前記外部通信装置の識別情報から前記外部通信装置が認証済みか否かを前記第１記憶手段を用いて判断する判断手段と、
前記判断手段により前記外部通信装置が認証されていると判断された場合に、前記第１アプリケーションを用いて前記外部通信装置が前記内部通信装置との間で通信を行うための第１ポートを前記ファイアウォールに設定するための第２メッセージを生成する生成手段と、
生成した前記第２メッセージを前記ファイアウォールに送信する送信手段と、
を備えたことを特徴とする通信制御装置。
【請求項２】
前記ファイアウォールの設定に関する設定情報を予め記憶する第２記憶手段をさらに備え、
前記生成手段は、前記第２記憶手段に記憶された前記設定情報に基づいて前記第２メッセージを生成すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記第２記憶手段は、前記ファイアウォールのアドレスを含む前記設定情報を記憶し、
前記生成手段は、前記第２記憶手段に記憶された前記設定情報に含まれる前記ファイアウォールのアドレスを送信先アドレスに設定した前記第２メッセージを生成すること、
を特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記第２記憶手段は、前記ファイアウォールを制御する際に用いる制御プロトコルを含む前記設定情報を記憶し、
前記生成手段は、前記第２記憶手段に記憶された前記設定情報に含まれる前記制御プロトコルで用いる前記第２メッセージを生成すること、
を特徴とする請求項２に記載の通信制御装置。
【請求項５】
前記第２記憶手段は、前記第２メッセージのフォーマットを含む前記設定情報を記憶し、
前記生成手段は、前記第２記憶手段に記憶された前記設定情報に含まれる前記フォーマットで前記第２メッセージを生成すること、
を特徴とする請求項２に記載の通信制御装置。
【請求項６】
前記外部通信装置ごとに通信許可の設定が必要な前記ファイアウォールの識別情報を予め記憶する第３記憶手段をさらに備え、
前記第２記憶手段は、前記ファイアウォールの識別情報と、前記設定情報とを対応づけて記憶し、
前記生成手段は、前記外部通信装置に対して通信許可の設定が必要な前記ファイアウォールの識別情報を前記第３記憶手段から取得し、取得した前記ファイアウォールの識別情報に対応する前記設定情報を前記第２記憶手段から取得し、取得した前記設定情報に基づいて前記第２メッセージを生成すること、
を特徴とする請求項２に記載の通信制御装置。
【請求項７】
前記生成手段は、前記第１メッセージが、前記第１アプリケーションを用いて前記外部通信装置が前記内部通信装置との間で通信を行う際に用いるポート番号を含む場合には、前記第１メッセージに含まれる前記ポート番号に対応するポートを前記第１ポートとして前記ファイアウォールに設定するための前記第２メッセージを生成すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項８】
前記外部通信装置と前記内部通信装置との間の通信に用いることのできるアプリケーションに関する情報を記憶する第４記憶手段をさらに備え、
前記生成手段は、前記判断手段により前記外部通信装置が認証されていると判断され、かつ、前記第１アプリケーションが前記外部通信装置と前記内部通信装置との間の通信に用いることのできるアプリケーションとして前記第４記憶手段に記憶されている場合に、前記第２メッセージを生成すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項９】
前記外部通信装置と前記内部通信装置との間で通信に用いることが許可されたアプリケーションに関する情報を記憶する第５記憶手段をさらに備え、
前記第４記憶手段は、前記外部通信装置と前記内部通信装置との間の通信に用いることのできるアプリケーションに関する情報を、そのアプリケーションによる通信が許可される前に許可されているべき第２アプリケーションに関する情報と関連づけて記憶し、
前記判定手段は、前記第４記憶手段から、前記第１アプリケーションによる通信が許可される前に許可されているべき前記第２アプリケーションに関する情報を取得するとともに、前記第５記憶手段から、前記第２アプリケーションが前記外部通信装置と前記内部通信装置との間で通信に用いることが許可されたアプリケーションとして登録されているか否かから、前記第１アプリケーションが前記外部通信装置と前記内部通信装置との間の通信に用いることのできるアプリケーションであるか否かを判定し、
前記生成手段は、前記判定手段により前記外部通信装置が認証されていると判定され、かつ、前記第１アプリケーションが前記外部通信装置と前記内部通信装置との間の通信に用いることのできるアプリケーションであると判定された場合に、前記第２メッセージを生成すること、
を特徴とする請求項８に記載の通信制御装置。
【請求項１０】
前記受信手段は、さらに認証を要求する第３メッセージを前記外部通信装置から受信し、
前記生成手段は、前記第３メッセージから前記外部通信装置のアドレスを取得し、取得した前記外部通信装置のアドレスを含む前記第２メッセージを生成すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項１１】
前記生成手段は、さらに、前記認証手段により前記外部通信装置が認証された場合に、前記外部通信装置と前記サーバ装置との間の通信確立に用いるプロトコルで利用する第２ポートを前記ファイアウォールに設定するための前記第２メッセージを生成し、
前記送信手段は、さらに、前記認証手段により前記外部通信装置が認証された場合に、前記第２ポートを前記ファイアウォールに設定するための前記第２メッセージを前記ファイアウォールに送信すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項１２】
前記生成手段は、前記外部通信装置と前記サーバ装置との間の通信確立に用いるＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）で利用する前記第２ポートを許可する前記第２メッセージを生成すること、
を特徴とする請求項１１に記載の通信制御装置。
【請求項１３】
前記認証手段は、さらに前記サーバ装置を認証し、
前記判断手段は、前記第１メッセージを受信した際に、さらに前記サーバ装置が認証されているか否かを判断し、
前記生成手段は、前記サーバ装置が認証されており、かつ、前記外部通信装置が認証されていると判断された場合に前記第２メッセージを生成すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項１４】
ファイアウォール外の外部ネットワークに接続された外部通信装置と前記ファイアウォール内の内部ネットワークに接続された内部通信装置との間の通信を確立するサーバ装置と、前記ファイアウォールとに前記内部ネットワークを介して接続可能な通信制御装置における通信制御方法であって、
認証手段によって、外部通信装置を認証し、認証結果を得る認証ステップと、
前記認証結果を前記外部通信装置の識別情報と関連づけて第１記憶手段に記憶する記憶ステップと、
受信手段によって、前記外部通信装置と前記内部通信装置との間の通信に用いる第１アプリケーションに関する情報と、前記外部通信装置の識別情報とを含む第１メッセージを前記サーバ装置から受信する受信ステップと、
判断手段によって、前記第１メッセージに含まれる前記外部通信装置の識別情報から前記外部通信装置が認証済みか否かを前記第１記憶手段を用いて判断する判断ステップと、
生成手段によって、前記判断ステップにより前記外部通信装置が認証されていると判断された場合に、前記第１アプリケーションを用いて前記外部通信装置が前記内部通信装置との間で通信を行うための第１ポートを前記ファイアウォールに設定するための第２メッセージを生成する生成ステップと、
送信手段によって、生成した前記第２メッセージを前記ファイアウォールに送信する送信ステップと、
を備えたことを特徴とする通信制御方法。
【請求項１５】
ファイアウォール外の外部ネットワークに接続された外部通信装置と前記ファイアウォール内の内部ネットワークに接続された内部通信装置との間の通信を確立するサーバ装置と、前記ファイアウォールとに前記内部ネットワークを介して接続可能な通信制御装置における通信制御プログラムであって、
外部通信装置を認証し、認証結果を得る認証手順と、
前記認証結果を前記外部通信装置の識別情報と関連づけて第１記憶手段に記憶する記憶手順と、
前記外部通信装置と前記内部通信装置との間の通信に用いる第１アプリケーションに関する情報と、前記外部通信装置の識別情報とを含む第１メッセージを前記サーバ装置から受信する受信手順と、
前記第１メッセージに含まれる前記外部通信装置の識別情報から前記外部通信装置が認証済みか否かを前記第１記憶手段を用いて判断する判断手順と、
前記判断手順により前記外部通信装置が認証されていると判断された場合に、前記第１アプリケーションを用いて前記外部通信装置が前記内部通信装置との間で通信を行うための第１ポートを前記ファイアウォールに設定するための第２メッセージを生成する生成手順と、
生成した前記第２メッセージを前記ファイアウォールに送信する送信手順と、
をコンピュータに実行させる通信制御プログラム。
【請求項１６】
通信を許可するポートの設定を行うファイアウォールと、
前記ファイアウォール外の外部ネットワークに接続された外部通信装置と、
前記ファイアウォール内の内部ネットワークに接続された内部通信装置と、
前記外部通信装置と前記内部通信装置との間の通信を確立するサーバ装置と、
前記サーバ装置および前記ファイアウォールに前記内部ネットワークを介して接続された通信制御装置と、を備えた通信システムにおける通信制御方法であって、
前記外部通信装置によって、認証を要求する第１メッセージを前記通信制御装置に送信する第１送信ステップと、
前記通信制御装置の受信手段によって、前記第１メッセージを前記外部通信装置から受信する第１受信ステップと、
前記通信制御装置の認証手段によって、受信した前記第１メッセージに基づいて前記外部通信装置を認証し、認証結果を得る認証ステップと、
前記通信制御装置の生成手段によって、認証した前記外部通信装置と前記サーバ装置との間の通信確立に用いるプロトコルで利用する第１ポートを前記ファイアウォールに設定するための第２メッセージを生成する第１生成ステップと、
前記通信制御装置の送信手段によって、生成した前記第２メッセージを前記ファイアウォールに送信する第２送信ステップと、
前記ファイアウォールによって、前記第２メッセージを受信し、受信した前記第２メッセージに基づいて、前記外部通信装置に対して前記第１ポートによる通信を許可する許可ステップと、
前記外部通信装置によって、許可された前記第１ポートを利用して、前記外部通信装置と前記内部通信装置との間で利用する第１アプリケーションによる通信の確立を前記サーバ装置に対して要求する要求ステップと、
前記サーバ装置によって、前記外部通信装置と前記内部通信装置との間で前記第１アプリケーションによる通信を確立し、通信を確立した前記第１アプリケーションに関する情報と、通信装置の識別情報とを含む第３メッセージを前記通信制御装置に送信する第３送信ステップと、
前記通信制御装置の受信手段によって、前記サーバ装置から前記第３メッセージを受信する第２受信ステップと、
前記通信制御装置の判断手段によって、前記第３メッセージを受信するごとに、前記認証結果を前記外部通信装置の識別情報と関連づけて記憶可能な記憶手段に保存された前記認証結果を参照して前記外部通信装置が認証されているか否かを判断する判断ステップと、
前記通信制御装置の生成手段によって、前記外部通信装置が認証されていると判断された場合に、前記第１アプリケーションで利用する第２ポートを前記ファイアウォールに設定するための第４メッセージを生成する第２生成ステップと、
前記通信制御装置の送信手段によって、生成した前記第４メッセージを前記ファイアウォールに送信する第４送信ステップと、
前記ファイアウォールによって、前記第４メッセージを受信し、受信した前記第４メッセージに基づいて、前記外部通信装置に対して前記第２ポートによる通信を許可する許可ステップと、
を備えたことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信制御する通信制御装置、通信制御方法および通信制御プログラムに関するものである。
【背景技術】
【０００２】
近年、ＳＢＣ(Session Border Controller)と呼ばれる製品が提供されている。ＳＢＣとは、ファイアウォールを介してインターネットに接続されている内部ネットワークで動作する装置であり、セッション制御プロトコルを利用してセッション制御を行うセッションサーバと、セッションサーバにより制御されるファイアウォールとを含む製品群をいう。
【０００３】
セッションサーバは、セッション制御プロトコルの実行結果から、ファイアウォールを介した新たなセッションの確立が必要であると判断した場合、セッション制御プロトコルの実行結果より新たなセッションに利用するアドレスおよびポート番号を特定し、新たなセッションの通過を許可するようにファイアウォールを設定する。
【０００４】
ＳＢＣにおけるセッションサーバのように、ファイアウォールの設定を外部から変更する装置に関する技術は広く用いられている。例えば、特許文献１では、ネットワークアクセス認証を行った後、その認証結果に応じて異なる値をファイアウォールのＱｏＳ（Quality of Service）パラメタとして設定する技術が提案されている。
【０００５】
一方、内部ネットワークに対する接続を許可するためのネットワークアクセス認証を行う認証エージェントと呼ばれる装置も提供されている。ＳＢＣに認証エージェントが含まれる場合には、外部端末は、認証エージェントにより認証された後、セッションサーバを介して通信相手端末とデータ通信に利用するセッションに関するネゴシエーションを行い、利用するポート番号を決定する。そして、セッションサーバが、決定されたポート番号による通信が可能となるようにファイアウォールを設定する。
【０００６】
【特許文献１】米国特許出願公開第２００３／０１４２６８１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の技術では、通信確立後のデータセッション開始時のセキュリティ確保が不完全であった。すなわち、従来の技術では、外部端末がネットワークアクセス認証で許可されたセッション制御プロトコルなどを利用して新たに別のデータセッションを開始する際、セッションサーバは、先に行ったネットワークアクセス認証結果を確認せずにファイアウォールの制御を行っていた。
【０００８】
このため、ネットワークアクセス認証済みの外部端末によるデータセッションの確立であることを検証できず、ネットワークアクセス認証を行っていない端末のためにファイアウォールの制御を行う可能性があるという問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、ファイアウォール外の外部端末と、ファイアウォール内の内部ネットワークの通信相手端末との間の通信時の安全性を向上させることができる通信制御装置、通信制御方法および通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、ファイアウォール外の外部ネットワークに接続された外部通信装置と前記ファイアウォール内の内部ネットワークに接続された内部通信装置との間の通信を確立するサーバ装置と、前記ファイアウォールとに前記内部ネットワークを介して接続可能な通信制御装置であって、外部通信装置を認証し、認証結果を得る認証手段と、前記認証結果を前記外部通信装置の識別情報と関連づけて記憶可能な第１記憶手段と、前記外部通信装置と前記内部通信装置との間の通信に用いる第１アプリケーションに関する情報と、前記外部通信装置の識別情報とを含む第１メッセージを前記サーバ装置から受信する受信手段と、前記第１メッセージに含まれる前記外部通信装置の識別情報から前記外部通信装置が認証済みか否かを前記第１記憶手段を用いて判断する判断手段と、前記判断手段により前記外部通信装置が認証されていると判断された場合に、前記第１アプリケーションを用いて前記外部通信装置が前記内部通信装置との間で通信を行うための第１ポートを前記ファイアウォールに設定するための第２メッセージを生成する生成手段と、生成した前記第２メッセージを前記ファイアウォールに送信する送信手段と、を備えたことを特徴とする。
【００１１】
また、本発明は、上記装置を実行することができる通信制御方法および通信制御プログラムである。
【００１２】
また、本発明は、通信を許可するポートの設定を行うファイアウォールと、前記ファイアウォール外の外部ネットワークに接続された外部通信装置と、前記ファイアウォール内の内部ネットワークに接続された内部通信装置と、前記外部通信装置と前記内部通信装置との間の通信を確立するサーバ装置と、前記サーバ装置および前記ファイアウォールに前記内部ネットワークを介して接続された通信制御装置と、を備えた通信システムにおける通信制御方法であって、前記外部通信装置によって、認証を要求する第１メッセージを前記通信制御装置に送信する第１送信ステップと、前記通信制御装置の受信手段によって、前記第１メッセージを前記外部通信装置から受信する第１受信ステップと、前記通信制御装置の認証手段によって、受信した前記第１メッセージに基づいて前記外部通信装置を認証し、認証結果を得る認証ステップと、前記通信制御装置の生成手段によって、認証した前記外部通信装置と前記サーバ装置との間の通信確立に用いるプロトコルで利用する第１ポートを前記ファイアウォールに設定するための第２メッセージを生成する第１生成ステップと、前記通信制御装置の送信手段によって、生成した前記第２メッセージを前記ファイアウォールに送信する第２送信ステップと、前記ファイアウォールによって、前記第２メッセージを受信し、受信した前記第２メッセージに基づいて、前記外部通信装置に対して前記第１ポートによる通信を許可する許可ステップと、前記外部通信装置によって、許可された前記第１ポートを利用して、前記外部通信装置と前記内部通信装置との間で利用する第１アプリケーションによる通信の確立を前記サーバ装置に対して要求する要求ステップと、前記サーバ装置によって、前記外部通信装置と前記内部通信装置との間で前記第１アプリケーションによる通信を確立し、通信を確立した前記第１アプリケーションに関する情報と、通信装置の識別情報とを含む第３メッセージを前記通信制御装置に送信する第３送信ステップと、前記通信制御装置の受信手段によって、前記サーバ装置から前記第３メッセージを受信する第２受信ステップと、前記通信制御装置の判断手段によって、前記第３メッセージを受信するごとに、前記認証結果を前記外部通信装置の識別情報と関連づけて記憶可能な記憶手段に保存された前記認証結果を参照して前記外部通信装置が認証されているか否かを判断する判断ステップと、前記通信制御装置の生成手段によって、前記外部通信装置が認証されていると判断された場合に、前記第１アプリケーションで利用する第２ポートを前記ファイアウォールに設定するための第４メッセージを生成する第２生成ステップと、前記通信制御装置の送信手段によって、生成した前記第４メッセージを前記ファイアウォールに送信する第４送信ステップと、前記ファイアウォールによって、前記第４メッセージを受信し、受信した前記第４メッセージに基づいて、前記外部通信装置に対して前記第２ポートによる通信を許可する許可ステップと、を備えたことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、外部端末と内部ネットワーク上の通信相手端末との間のデータ通信を許可する際に、常に外部端末のネットワークアクセス認証結果を検証した上で、通信の可否を決定することができる。このため、外部端末と通信相手端末との間の通信時の安全性を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明にかかる通信制御装置、通信制御方法および通信制御プログラムの最良な実施の形態を詳細に説明する。
【００１５】
本実施の形態にかかる通信制御装置は、ファイアウォール外の外部ネットワーク上の外部端末と、ファイアウォール内の内部ネットワーク上の通信相手端末との間のデータ通信を許可する際に、外部端末のネットワークアクセス認証結果を検証して通信の可否を決定するものである。
【００１６】
また、本実施の形態にかかる通信制御装置は、ファイアウォールの設定に必要な情報を一元管理し、セッションサーバからの依頼に応じて通信の可否を決定し、ファイアウォールの設定を制御するものである。
【００１７】
さらに、本実施の形態にかかる通信制御装置は、許可済みのアプリケーションの情報を参照し、さらに許可が依頼されたアプリケーションに対して許可の可否を判定するものである。
【００１８】
図１は、本実施の形態にかかる通信制御装置としての認証エージェント１００を含むシステム全体の構成を示す説明図である。同図に示すように、本システムは、ファイアウォール（ＦＷ）４００と、ＦＷ４００内部のネットワークである内部ネットワーク２０に接続された認証エージェント１００、セッションサーバ３００、および通信相手端末５００と、ＦＷ４００の外部のネットワークである外部ネットワーク１０に接続された外部端末２００とを含んでいる。
【００１９】
本システムは、例えば、企業向けのＶｏＩＰ（Voice over Internet Protocol）システムなどに適用することができる。
【００２０】
外部端末２００は、ＳＩＰ（Session Initiation Protocol）によりセッション制御を実行してデータ通信を行うモバイルコンピュータなどにより構成することができる。なお、セッション制御プロトコルはＳＩＰに限られるものではない。
【００２１】
そして、外部端末２００は、ネットワークアクセス認証のため、認証プロトコルＰＡＮＡ（Protocol for carrying Authentication for Network Access）のクライアントとして動作する。ネットワークアクセス認証に利用する認証ＩＤとしては、ＵＲＩを利用することができる。認証ＩＤは、ネットワークアクセス認証の際に利用するほか、セッション制御に利用するメッセージで送信される。また、セッション制御で通信を確立後にデータ通信を行うプロトコルとしては、ＲＴＰ（Real-time Transport Protocol）などのあらゆるプロトコルを利用できる。
【００２２】
内部ネットワーク２０は、例えば、ある組織にて管理される同一ドメインのネットワークが該当しうる。同図に示すように、内部ネットワーク２０内には、少なくともＦＷ４００、認証エージェント１００、セッションサーバ３００、通信相手端末５００が含まれる。なお、これらの装置は、いずれか２つ以上が、同一のコンピュータ上で動作するように構成してもよい。また、内部ネットワーク２０内に、セッションサーバ３００、通信相手端末５００、およびＦＷ４００がそれぞれ複数存在するように構成してもよい。
【００２３】
セッションサーバ３００は、ＳＩＰを利用して、端末間で行われるデータ通信のためのセッション制御を行うサーバ装置である。本実施の形態では、セッションサーバ３００は、外部端末２００とその通信相手端末５００との間で行われるデータ通信のためのセッション制御を行う。
【００２４】
外部端末２００と通信相手端末５００とは、ＳＩＰを利用して、セッションサーバ３００を介して互いにデータ通信する際に利用するセッションに関するネゴシエーションを行う。この際、セッションサーバ３００は、データ通信として利用するアプリケーションプロトコル（以下、アプリケーションという。）名と、利用するポート番号とを識別する。
【００２５】
通信相手端末５００は、外部端末２００が通信を行う相手となる内部ネットワーク２０内の装置である。通信相手端末５００は、セッションサーバ３００を介して外部端末２００との間のセッション制御を行う。また、通信相手端末５００は、外部端末２００との間でデータ通信を行うためにＳＩＰやＲＴＰなどのあらゆるプロトコルを利用することができる。なお、通信相手端末５００も、外部端末２００と同様に認証エージェント１００で認証するように構成してもよい。
【００２６】
ＦＷ４００は、内部ネットワーク２０と、インターネットなどの外部ネットワーク１０との境界に存在し、内部ネットワーク２０と外部ネットワーク１０との間の許可されない通信を防止するための装置である。
【００２７】
ＦＷ４００は、特定の外部端末２００のＩＰアドレスとポート番号との組を設定することにより、設定した外部端末２００が、設定したアプリケーションによる内部ネットワーク２０内の装置と通信することを許可する。
【００２８】
ＦＷ４００は、認証エージェント１００から、例えばＳＮＭＰｖ３（Simple Network Management Protocol Version 3）などの特定のトランスポートプロトコルを用いて特定のデータフォーマットのメッセージを受信し、受信したメッセージに従って、許可するＩＰアドレスとポート番号との組を追加および削除することにより、その設定を変更することができる。
【００２９】
認証エージェント１００は、ＰＡＮＡの認証エージェントとして動作する装置であり、外部端末２００との間でネットワークアクセス認証処理を実行し、ネットワークアクセスの可否を決定するものである。なお、認証プロトコルはＰＡＮＡに限られるものではなく、外部に存在する認証サーバ（図示せず）を用いたＲＡＤＩＵＳプロトコル（Remote Authentication Dial-In User Service）などのＡＡＡ（Authentication, Authorization and Accounting）プロトコルを適用するように構成してもよい。
【００３０】
また、本実施の形態の認証エージェント１００は、ネットワークアクセス認証処理の他に、セッションサーバ３００などから、特定のデータフォーマットによるＦＷ４００の制御のための制御依頼メッセージを受信した場合、制御依頼メッセージの正当性を検証した後、ＦＷ４００を制御するための制御メッセージをＦＷ４００に対して送信する。
【００３１】
以下に、このように構成された装置を含む本システムの動作手順の概要を示す。動作は図１の括弧内の数値に対応した順序で実行される。
【００３２】
まず、（１）外部端末２００が、認証エージェント１００に対してネットワークアクセス認証を要求し、認証エージェント１００がネットワークアクセス認証処理を行う。
【００３３】
次に、（２）認証エージェント１００は認証済みの外部端末２００とセッションサーバ３００との間のセッション制御プロトコルによる通信用のポートの許可をＦＷ４００に対して依頼する。ここでセッションサーバは、外部端末と通信相手端末との間でネゴシエーションが行われるようにメッセージを中継する。
【００３４】
次に、（３）許可されたポートを用いて、外部端末２００とセッションサーバ３００との間で、通信相手端末５００に対するセッション開始のためのネゴシエーションを実行する。
【００３５】
続いて、（４）セッションサーバ３００は、ネゴシエーション結果に従い、外部端末２００と通信相手端末５００とのデータ通信に用いるポートの許可依頼を認証エージェント１００に送信する。
【００３６】
次に、（５）認証エージェント１００は、依頼に応じてデータ通信用のポートの許可依頼をＦＷ４００に対して送信する。ＦＷ４００によるポートの設定が完了した後、（６）外部端末２００と通信相手端末５００とのデータ通信を開始することができる。
【００３７】
次に、認証エージェント１００の構成の詳細について説明する。図２は、本実施の形態にかかる認証エージェント１００の構成を示すブロック図である。同図に示すように、認証エージェント１００は、第１記憶部１１０と、第２記憶部１２０と、第３記憶部１３０と、第４記憶部１４０と、第５記憶部１５０と、第６記憶部１６０と、受信部１０１と、認証部１０２と、判断部１０３と、生成部１０４と、送信部１０５と、を備えている。
【００３８】
第１記憶部１１０は、アクセス認証の認証結果を格納した認証状態テーブル１１１を記憶するものである。認証状態テーブル１１１は、判断部１０３が外部端末２００に対する通信の許可の可否を判断する際に参照される。
【００３９】
図３は、認証状態テーブル１１１のデータ構造の一例を示す説明図である。同図に示すように、認証状態テーブル１１１は、外部端末２００を一意に識別する認証ＩＤと、現在のアクセス認証状態とを対応づけて格納している。アクセス認証状態は、認証エージェント１００により認証された場合に「○」が、認証されなかった場合やセッションが切断された場合に「×」が設定される。
【００４０】
第２記憶部１２０は、ＦＷ４００の設定情報を予め格納した設定情報テーブル１２１を記憶するものである。設定情報テーブル１２１は、生成部１０４がＦＷ４００に送信する制御メッセージを作成する際に参照される。
【００４１】
図４は、設定情報テーブル１２１のデータ構造の一例を示す説明図である。同図に示すように、設定情報テーブル１２１は、内部ネットワーク２０内に存在する各ＦＷ４００を一意に識別するＦＷＩＤと、ＩＰアドレスと、メーカおよび機種名と、制御に利用するトランスポートプロトコルの種別を表す利用制御トランスポートと、制御に利用するメッセージフォーマットを表す利用制御フォーマットとを対応づけて格納している。なお、設定情報はこれに限られるものではなく、ＦＷ４００の制御に必要な情報であればあらゆる情報を設定情報に含めることができる。
【００４２】
第３記憶部１３０は、外部端末２００ごとにその通信を許可するために設定が必要なＦＷ４００を格納した対応ＦＷテーブル１３１を記憶するものである。図５は、対応ＦＷテーブル１３１のデータ構造の一例を示す説明図である。
【００４３】
同図に示すように、対応ＦＷテーブル１３１は、外部端末２００の認証ＩＤと、対応しているＦＷ４００のＦＷＩＤとを対応づけて格納している。対応しているＦＷ４００とは、外部端末２００が内部ネットワーク２０内の装置との通信を行う際に利用できるＦＷ４００をいう。
【００４４】
なお、同図では、各ＦＷＩＤで表されたＦＷ４００に対応している場合に「○」、対応していない場合に「×」を設定することで、対応しているＦＷ４００のＦＷＩＤを格納する例が示されている。
【００４５】
対応するＦＷ４００は、ネットワークアクセス認証時に認証要求メッセージから取得した外部端末２００のＩＰアドレスと、事前に判明しているルーティング情報とから、認証した外部端末２００に対応するものが特定され、対応ＦＷテーブル１３１に設定される。
【００４６】
第４記憶部１４０は、許可済みのアプリケーションの後に許可することが可能なアプリケーションの情報に関する規則を格納した規則テーブル１４１を記憶するものである。規則テーブル１４１は、判断部１０３が、許可を依頼されたアプリケーションに対する許可の可否を判断する際に参照される。
【００４７】
図６は、規則テーブル１４１のデータ構造の一例を示す説明図である。同図に示すように、規則テーブル１４１は、許可済みアプリケーションと、許可済みアプリケーションとの後に許可しうるアプリケーションである許可可能アプリケーションとを対応づけて格納している。例えば、同図では、ＳＩＰが許可されている状態ではＲＴＰとｓｓｈ（Secure SHell）とが許可可能であることが示されている。
【００４８】
第５記憶部１５０は、外部端末２００ごとに、通信を許可済みのアプリケーションに関する情報を格納した許可情報テーブル１５１を記憶するものである。許可情報テーブル１５１は、規則テーブル１４１と同様に、判断部１０３が、許可を依頼されたアプリケーションに対する許可の可否を判断する際に参照される。
【００４９】
図７は、許可情報テーブル１５１のデータ構造の一例を示す説明図である。同図に示すように、許可情報テーブル１５１は、外部端末２００の認証ＩＤと、外部端末２００に対して許可したアプリケーションごとに、利用を許可したポート番号とを対応づけて格納している。
【００５０】
第６記憶部１６０は、各外部端末２００のアドレス情報を格納したアドレステーブル１６１を記憶するものである。アドレステーブル１６１は、生成部１０４が、制御メッセージに設定する外部端末２００のＩＰアドレスを取得するために参照される。
【００５１】
図８は、アドレステーブル１６１のデータ構造の一例を示す説明図である。同図に示すように、アドレステーブル１６１は、外部端末２００の認証ＩＤと、ＩＰアドレスと対応づけて格納している。アドレステーブル１６１には、外部端末２００のネットワークアクセス認証を行ったときのメッセージから取得された認証ＩＤとＩＰアドレスとが設定される。
【００５２】
受信部１０１は、外部端末２００から認証を要求する認証要求メッセージを受信するものである。認証要求メッセージには認証に利用する認証ＩＤ、パスワード、外部端末２００のＩＰアドレスなどの情報が含まれ、認証プロトコルであるＰＡＮＡの仕様に従って受信される。
【００５３】
また、受信部１０１は、外部端末２００と通信相手端末５００との間でネゴシエーションが完了したアプリケーションに関する通信を許可するポートの情報を含む制御依頼メッセージをセッションサーバ３００から受信する。
【００５４】
図９は、制御依頼メッセージのデータ構造の一例を示す説明図である。同図に示すように、制御依頼メッセージは、セッションサーバ３００のＩＤ情報と、セッションサーバ３００のメッセージ認証のために用いるメッセージ認証情報と、制御対象となる外部端末２００の認証ＩＤと、許可を依頼するアプリケーション名と、アプリケーションが利用するポート番号とを含んでいる。なお、ポート番号の設定は必須ではない。
【００５５】
認証部１０２は、認証プロトコルであるＰＡＮＡにより、外部端末２００から受信した認証要求メッセージに従って外部端末２００のネットワークアクセス認証処理を実行するものである。なお、上述のように認証プロトコルはＰＡＮＡに限られるものではないため、他の認証プロトコルを利用する場合は、認証部１０２は、利用する認証プロトコルに従ってネットワークアクセス認証処理を実行する。
【００５６】
判断部１０３は、制御依頼メッセージをセッションサーバ３００から受信した際に、認証状態テーブル１１１、規則テーブル１４１、許可情報テーブル１５１を参照して、依頼された外部端末２００が認証済みか否か、および依頼されたアプリケーションが許可可能か否かを判断するものである。
【００５７】
生成部１０４は、認証部１０２が認証に成功した場合、認証した外部端末２００と、セッションサーバ３００との間で、ＳＩＰによる通信を許可するための制御メッセージを生成し、生成した制御メッセージを生成するものである。
【００５８】
また、生成部１０４は、判断部１０３により、依頼された外部端末２００が認証済みであり、依頼されたアプリケーションを許可可能と判断された場合に、依頼されたアプリケーションによる通信を許可するための制御メッセージを生成する。
【００５９】
図１０は、制御メッセージのデータ構造の一例を示す説明図である。同図に示すように、制御メッセージは、認証エージェント１００のＩＤ情報と、認証エージェント１００のメッセージ認証のために用いるメッセージ認証情報と、制御対象となる外部端末２００のアドレス情報である制御対象端末ＩＰアドレスと、許可を依頼するポート番号と、許可の時間制約などのＦＷ４００に関する固有の情報とを含んでいる。
【００６０】
制御対象端末ＩＰアドレスと、許可を依頼するポート番号と、固有の情報とは暗号化して制御メッセージを生成する。なお、これらの情報を暗号化せずに制御メッセージを生成するように構成してもよい。
【００６１】
送信部１０５は、生成部１０４により生成された制御メッセージをＦＷ４００に送信するものである。また、送信部１０５は、外部端末２００から受信した認証要求メッセージに対する応答メッセージを、外部端末２００に送信する。応答メッセージは、認証プロトコルであるＰＡＮＡの仕様に従って送信される。
【００６２】
次に、このように構成された本実施の形態にかかる認証エージェント１００による通信制御処理について説明する。図１１は、本実施の形態における通信制御処理の全体の流れを示すシーケンス図である。
【００６３】
同図は、外部端末２００が、ＦＷ４００の内部ネットワーク２０に接続された通信相手端末５００と通信を開始するまでに実行される処理を表した図である。
【００６４】
なお、同図の処理の前提として、認証エージェント１００は、予め管理者による設定またはＳＮＭＰなどの管理プロトコルによって、内部ネットワーク２０に存在するＦＷ４００に関する情報を取得し、設定情報テーブル１２１に格納しているものとする。
【００６５】
また、ルーティングの情報などの外部ネットワーク１０との接続状況に関する情報も取得している。さらに、必要に応じてＦＷ４００、セッションサーバ３００などと認証エージェント１００との間で予めパスワード情報などを用いた信頼関係を構築するように構成してもよい。
【００６６】
まず、外部端末２００が、予め取得している認証エージェント１００のアドレスを用いて、認証要求メッセージを認証エージェント１００に対して送信する（ステップＳ１１０１）。なお、外部端末２００は、ネットワークアクセス認証プロトコルとしてＰＡＮＡプロトコルを利用して、内部ネットワーク２０に対して認証要求メッセージを送信する。
【００６７】
ここで、認証される主体は、外部端末２００の機器そのものであっても、外部端末２００を使用しているユーザであっても、またその両方であっても良い。本実施の形態では、認証ＩＤとしてＵＲＩを利用する。例えば、外部端末２００の認証ＩＤを「tani@tani.org」などのようなＵＲＩで指定する。
【００６８】
認証エージェント１００の受信部１０１は、外部端末２００から送信された認証要求メッセージを受信する（ステップＳ１１０２）。
【００６９】
次に、認証部１０２による外部端末２００のネットワークアクセス認証処理が実行される（ステップＳ１１０３）。ネットワークアクセス認証処理の詳細については後述する。認証エージェント１００から送信されたネットワークアクセス認証処理の結果は、外部端末２００で受信される（ステップＳ１１０４）。
【００７０】
認証に成功した場合、送信部１０５は、外部端末２００とセッションサーバ３００との間で、ＳＩＰによる通信許可を設定するための制御メッセージの生成等を行う制御メッセージ生成処理を実行する（ステップＳ１１０５）。制御メッセージ生成処理の詳細については後述する。なお、同図には示していないが、認証に失敗した場合は制御メッセージ生成処理以降の処理は実行されない。
【００７１】
次に、送信部１０５は、制御メッセージ生成処理で生成された制御メッセージをＦＷ４００に対して送信する（ステップＳ１１０６）。具体的には、送信部１０５は、制御メッセージ生成処理内で取得したＦＷ４００のＩＰアドレスを送信先アドレスとし、制御メッセージ生成処理内で取得したトランスポートプロトコルによって制御メッセージを送信する。
【００７２】
送信された制御メッセージを受信したＦＷ４００は、受信した制御メッセージに従って許可するアプリケーション、およびポートの設定を変更する（ステップＳ１１０７）。具体的には、まず、ＦＷ４００は、メッセージに含まれている認証エージェント１００のＩＤ情報、およびメッセージ認証情報などを用いて、信頼関係を結んでいる認証エージェント１００からのメッセージであることを確認する。そして、ＦＷ４００は、予め保持している対応する鍵でメッセージを復号する。その後、指定されたＩＰアドレス情報とポート番号による外部からの通信を許可するように設定を変更する。
【００７３】
設定の変更によりＳＩＰによる通信が可能となるため、外部端末２００は、セッションサーバ３００に対して、通信相手端末５００との間のデータ通信セッションを確立するためのセッション制御を開始する（ステップＳ１１０８、ステップＳ１１０９）。
【００７４】
次に、セッションサーバ３００は、外部端末２００から受信したメッセージを通信相手端末５００に転送するなどの処理により、セッション制御を実行する（ステップＳ１１１０）。この際、外部端末２００は、セッション制御に利用するＩＤとして、認証エージェント１００との間で行ったネットワークアクセス認証に用いた認証ＩＤと同じＩＤを利用する。本実施の形態では、ＵＲＩであり、例えば「tani@tani.org」のようなＩＤが利用される。
【００７５】
セッション制御プロトコルにより、外部端末２００と通信相手端末５００との間で利用するデータ通信のプロトコルやフォーマットに関するネゴシエーションが完了する。このとき、メッセージを転送しているセッションサーバ３００も、転送しているメッセージを参照することにより、ネゴシエーションが完了した外部端末２００の認証ＩＤ、利用するアプリケーション名、および可能な場合は利用するポート番号を識別することができる。
【００７６】
なお、セッションサーバ３００は、外部端末２００のＩＰアドレスに関しても識別可能であるが、ＮＡＴ（ネットワークアドレス変換）を利用したシステムなどにおいては、内部ネットワーク２０に存在するセッションサーバ３００が識別できるＩＰアドレス情報が、ＦＷ４００の制御に有効なＩＰアドレスである保証はない。
【００７７】
この時点では、外部端末２００と通信相手端末５００とがそれぞれ通信に利用するアプリケーション名および可能な場合はポート番号が決定している。しかし、内部ネットワーク２０の境界に存在しているＦＷ４００は、まだ外部端末２００による当該アプリケーションの当該ポートの使用を許可していないため、外部端末２００と通信相手端末５００とは当該アプリケーションによるデータ通信を行うことができない。
【００７８】
そこで、セッションサーバ３００は、アプリケーション用のＦＷ４００の設定変更を依頼するための制御依頼メッセージを、事前に信頼関係を結んでいる認証エージェント１００に対して送信する（ステップＳ１１１１）。
【００７９】
具体的には、セッションサーバ３００は、セッションサーバ３００のＩＤ情報、メッセージ認証のために用いるメッセージ認証情報、セッション制御時に識別した外部端末２００の認証ＩＤ、許可を依頼するアプリケーション名、および可能な場合にはアプリケーションが利用するポート番号を設定した制御依頼メッセージを作成し、作成した制御依頼メッセージを認証エージェント１００に対して送信する。
【００８０】
例えば、外部端末２００の認証ＩＤとして「tani@tani.org」を、許可を依頼するアプリケーション名として「ＲＴＰ」を、アプリケーションが利用するポート番号として「１２３４」を設定した制御依頼メッセージを送信する。
【００８１】
このように、本実施の形態によれば、従来のＳＢＣのようにセッションサーバ３００が直接ＦＷ４００の設定を変更するのではなく、ＦＷ４００の設定の変更を認証エージェント１００に対して依頼することができる。このため、セッションサーバ３００は、設定の変更に必要なＦＷ４００の設定情報を保持する必要がないし、ＦＷ４００との間で信頼関係を保持しておく必要がない。
【００８２】
なお、セッションサーバ３００が制御依頼メッセージを送信する代わりに、通信相手端末５００が制御依頼メッセージを認証エージェント１００に対して送信するように構成してもよい。この場合は、事前に通信相手端末５００と認証エージェント１００との間で信頼関係を結んでいる必要がある。
【００８３】
次に、認証エージェント１００の受信部１０１が、制御依頼メッセージを受信する（ステップＳ１１１２）。続いて、判断部１０３が、受信した制御依頼メッセージを参照して、外部端末２００と通信相手端末５００との間で、ネゴシエーションが完了したアプリケーションによる通信の可否を判断するアプリケーション許可判断処理を実行する（ステップＳ１１１３）。アプリケーション許可判断処理の詳細については後述する。
【００８４】
許可可能と判断された場合、生成部１０４は、許可可能と判断されたアプリケーションによる通信許可を設定するための制御メッセージを生成する制御メッセージ生成処理を実行する（ステップＳ１１１４）。なお、この制御メッセージ生成処理は、ステップＳ１１０５と同様の処理である。制御メッセージ生成処理の詳細については後述する。
【００８５】
次に、送信部１０５は、制御メッセージ生成処理で生成された制御メッセージをＦＷ４００に対して送信する（ステップＳ１１１５）。
【００８６】
送信された制御メッセージを受信したＦＷ４００は、受信した制御メッセージに従って許可するアプリケーション、ポートの設定を変更する（ステップＳ１１１６）。この処理は、ステップＳ１１０７と同様の処理である。
【００８７】
設定の変更により、ネゴシエーションが完了したアプリケーションによる通信が可能となるため、外部端末２００は、通信相手端末５００との間でアプリケーションによる通信を開始する（ステップＳ１１１７、ステップＳ１１１８）。上述の例では、外部端末２００は、通信相手端末５００との間でＲＴＰによる通信を、ポート番号１２３４のポートを利用して行うができる。
【００８８】
次に、ステップＳ１１０３のネットワークアクセス認証処理の詳細について説明する。図１２は、本実施の形態におけるネットワークアクセス認証処理の全体の流れを示すフローチャートである。
【００８９】
まず、認証部１０２は、認証要求メッセージを参照して認証を行う（ステップＳ１２０１）。具体的には、認証要求メッセージに含まれる認証ＩＤやパスワードなどの認証に必要な情報を取得し、外部端末２００に対する内部ネットワーク２０へのネットワークアクセス認証を行う。
【００９０】
次に、認証部１０２は、認証結果を外部端末２００に送信するとともに（ステップＳ１２０２）、認証結果を認証状態テーブル１１１に保存する（ステップＳ１２０３）。
【００９１】
具体的には、認証部１０２は、認証した外部端末２００の認証ＩＤを追加し、ネットワークアクセス認証状態を許可状態（○）にする。例えば、図３に示すように、認証ＩＤ＝「tani@tani.org」のアクセス認証状態を「○」に変更する。
【００９２】
さらに、認証部１０２は、認証要求メッセージから取得した外部端末２００の認証ＩＤとＩＰアドレスとを、アドレステーブル１６１に追加する（ステップＳ１２０４）。なお、アドレステーブル１６１に認証ＩＤが登録済みであれば、対応するＩＰアドレスの更新を行う。
【００９３】
また、認証部１０２は、外部端末２００のＩＰアドレスや、システム内のルーティング情報などから、当該外部端末２００に対してアプリケーションによるデータ通信を許可する際に制御が必要となるＦＷ４００のＦＷＩＤを特定し、対応ＦＷテーブル１３１に保存する（ステップＳ１２０５）。例えば、認証ＩＤ＝「tani@tani.org」である外部端末２００に対応するＦＷ４００のＦＷＩＤが「ＦＷ−Ａ」である場合は、図５のように「ＦＷ−Ａ」に対して「○」が設定される。
【００９４】
このように、本実施の形態では、認証後に実行されるＦＷ４００の設定処理で参照可能とするために、認証結果やＩＰアドレス、対応するＦＷ４００などの情報を各テーブルに保存する処理をネットワークアクセス認証処理内で実行する。
【００９５】
次に、ステップＳ１１０５およびステップＳ１１１４で実行される制御メッセージ生成処理の詳細について説明する。図１３は、本実施の形態における制御メッセージ生成処理の全体の流れを示すフローチャートである。
【００９６】
まず、生成部１０４は、認証した外部端末２００に対応するＦＷ４００を対応ＦＷテーブル１３１から取得する（ステップＳ１３０１）。例えば、図５に示すような情報が対応ＦＷテーブル１３１に保存されていた場合、生成部１０４は、認証ＩＤが「tani@tani.org」である外部端末２００に対応するＦＷ４００のＦＷＩＤとして、「ＦＷ−Ａ」を取得する。
【００９７】
次に、生成部１０４は、取得したＦＷＩＤで識別されるＦＷ４００の制御に必要な情報を、設定情報テーブル１２１から取得する（ステップＳ１３０２）。例えば、図４に示すような設定情報が設定情報テーブル１２１に保存されていた場合、生成部１０４は、ＦＷＩＤが「ＦＷ−Ａ」であるＦＷ４００の設定情報として、ＩＰアドレス＝「192.168.0.201」、利用制御プロトコル＝「ＳＮＭＰｖ３」、利用制御フォーマット＝「Ｘ社独自フォーマット」などの情報を取得する。
【００９８】
次に、生成部１０４は、認証した外部端末２００のＩＰアドレスを、アドレステーブル１６１から取得する（ステップＳ１３０３）。例えば、図８に示すような情報がアドレステーブル１６１に保存されていた場合、生成部１０４は、外部端末２００の認証ＩＤが「tani@tani.org」である場合は、ＩＰアドレスとして「10.0.0.5」を取得する。
【００９９】
次に、生成部１０４は、上記ステップで取得した情報に従って制御メッセージを生成する（ステップＳ１３０４）。具体的には、生成部１０４は、認証エージェント１００のＩＤ情報と、ＦＷ４００による認証に用いるメッセージ認証情報と、制御対象となる外部端末２００のＩＰアドレスと、許可を依頼するポート番号と、その他のＦＷ４００の固有情報とを含む制御メッセージを、設定情報テーブル１２１から取得した利用制御フォーマットで作成する。
【０１００】
このような処理により、生成部１０４は、例えば、ＦＷＩＤが「ＦＷ−Ａ」であるＦＷ４００に対し、認証された外部端末２００によるＳＩＰを利用した通信相手端末５００との通信を許可するような制御メッセージを生成できる。
【０１０１】
なお、許可を依頼するポート番号は、アプリケーションに応じて予め定められた値を生成部１０４により決定し、制御メッセージに設定する。例えば、ＳＩＰの許可を依頼する場合には、ポート番号として「5060」を設定する。
【０１０２】
また、ステップＳ１１１４で制御メッセージ生成処理が呼ばれた場合には、制御依頼メッセージに含まれるポート番号を、許可を依頼するポート番号として設定することができる。すなわち、セッションサーバ３００がポート番号を設定して制御依頼メッセージが送信された場合は、当該制御依頼メッセージに含まれるポート番号を、ＦＷ４００に送信する制御メッセージのポート番号としてそのまま設定する。
【０１０３】
次に、生成部１０４は、制御メッセージにより許可したアプリケーションの情報を許可情報テーブル１５１に保存する（ステップＳ１３０５）。例えば、ＳＩＰを許可し、ＳＩＰで利用するポート番号が「5060」であるときは、図７に示すように、認証ＩＤ＝「tani@tani.org」のＳＩＰに対応する欄に「5060」を設定する。このとき、ＦＷ４００に送信したメッセージに対応するＡｃｋメッセージをＦＷ４００から受け取った後に、上記設定を行っても良い。
【０１０４】
このように、本実施の形態では、認証エージェント１００内で、ＦＷ４００を制御するための制御メッセージを生成する。このため、従来のＳＢＣのようにセッションサーバ３００が直接ＦＷ４００の設定を変更する必要がなくなるともに、セッションサーバ３００が個々にＦＷ４００の設定情報を保持する必要がなくなる。
【０１０５】
また、本実施の形態では、許可済みのアプリケーションの情報を許可情報テーブル１５１に保存している。これにより、アプリケーションの通信許可のためのＦＷ４００の設定を行う際に、アプリケーションの許可の可否を判断することが可能となる。
【０１０６】
次に、ステップＳ１１１３のアプリケーション許可判断処理の詳細について説明する。図１４は、本実施の形態におけるアプリケーション許可判断処理の全体の流れを示すフローチャートである。
【０１０７】
まず、判断部１０３は、制御依頼メッセージのメッセージ認証情報によりセッションサーバを認証する（ステップＳ１４０１）。具体的には、判断部１０３は、制御依頼メッセージからセッションサーバ３００のＩＤ情報と、メッセージ認証情報とを取得し、取得した情報を参照して認証処理を行うことにより制御依頼メッセージが信頼関係のあるセッションサーバ３００から送信されたメッセージであることを確認する。
【０１０８】
次に、判断部１０３は、セッションサーバ３００は認証されたか否かを判断し（ステップＳ１４０２）、認証された場合は（ステップＳ１４０２：ＹＥＳ）、制御依頼メッセージから、通信の許可を依頼された外部端末２００の認証ＩＤおよびアプリケーション名を取得する（ステップＳ１４０３）。
【０１０９】
具体的には、判断部１０３は、メッセージが暗号化されているときは、まず制御依頼メッセージの暗号化された部分を事前に入手している鍵で復号する。そして、判断部１０３は、復号化した部分から、制御依頼メッセージの送信元であるセッションサーバ３００が、許可を所望する外部端末２００の認証ＩＤと、アプリケーション名、および設定されている場合はポート番号を取得する。
【０１１０】
ここでは、一例として、判断部１０３が、認証ＩＤ＝「tani@tani.org」、アプリケーション名＝「ＲＴＰ」、ポート番号＝「１２３４」を制御依頼メッセージから取得したものとして説明する。
【０１１１】
次に、判断部１０３は、認証状態テーブル１１１を参照し、取得した認証ＩＤに対応する外部端末２００の認証状態を確認する（ステップＳ１４０４）。例えば、認証状態テーブル１１１に図３に示すような情報が記憶されていたとすると、認証ＩＤ＝「tani@tani.org」の認証状態は「○」であるので、認証済みの状態であることが確認できる。
【０１１２】
次に、判断部１０３は、当該外部端末２００が認証済みか否かを判断し（ステップＳ１４０５）、認証済みの場合は（ステップＳ１４０５：ＹＥＳ）、許可情報テーブル１５１を参照して、許可済みのアプリケーションを取得する（ステップＳ１４０６）。
【０１１３】
例えば、許可情報テーブル１５１に図７に示すような許可情報が記憶されていたとすると、認証ＩＤ＝「tani@tani.org」の外部端末２００に対しては、ＳＩＰが許可済みであることを取得できる。
【０１１４】
次に、判断部１０３は、取得した許可済みのアプリケーションと、規則テーブル１４１とを参照し、ステップＳ１４０３で取得したアプリケーションであり、許可を依頼されたアプリケーションを許可することの妥当性を判断する（ステップＳ１４０７）。
【０１１５】
例えば、規則テーブル１４１に図６に示すような規則が記憶されていたとすると、ＳＩＰが許可済みであるため、さらにＲＴＰを許可することは妥当であると判断できる。
【０１１６】
次に、判断部１０３は、許可の妥当性の判断結果に応じて、妥当である場合は（ステップＳ１４０８：ＹＥＳ）、依頼されたアプリケーションを許可することができると判断する（ステップＳ１４０９）。
【０１１７】
許可が妥当でないと判断された場合（ステップＳ１４０８：ＮＯ）、ステップＳ１４０２でセッションサーバ３００は認証されていないと判断された場合（ステップＳ１４０２：ＮＯ）、または、ステップＳ１４０５で外部端末２００が認証済みでないと判断された場合は（ステップＳ１４０５：ＮＯ）、判断部１０３は、依頼されたアプリケーションを許可することができないと判断する（ステップＳ１４１０）。
【０１１８】
このように、本実施の形態によれば、ＦＷ４００に対して通信の許可を依頼するたびに、認証状態を参照し、認証されていない外部端末２００に対してはアプリケーションを許可しないようにすることができる。また、外部端末２００が認証されている場合であっても、複数のアプリケーションの依存関係に応じて、アプリケーションの許可を制限することが可能となる。
【０１１９】
以上のように、本実施の形態にかかる通信制御装置では、外部端末と、内部ネットワーク上の通信相手端末との間のデータ通信を許可する際に、必ず外部端末のネットワークアクセス認証結果を検証して通信の可否を決定することができる。また、既に許可されているアプリケーションの情報と所定の規則とを参照して新たに利用するアプリケーションの利用可否を決定することができる。これにより、外部端末と通信相手端末との間の通信時のネットワーク境界におけるセキュリティの強度を向上させることができる。
【０１２０】
また、本実施の形態にかかる通信制御装置は、ファイアウォールの設定に必要な情報を一元管理し、セッションサーバからの依頼に応じて通信の可否を決定し、ファイアウォールの設定を制御することができる。これにより、セッションサーバなどが個々にファイアウォールの情報を保持する必要や、ファイアウォールとの信頼関係を保持する必要がなくなり、システム構成を簡略化し、処理負担を軽減することができる。
【０１２１】
図１５は、本実施の形態にかかる通信制御装置のハードウェア構成を示す説明図である。
【０１２２】
本実施の形態にかかる通信制御装置は、ＣＰＵ（Central Processing Unit）５１などの制御装置と、ＲＯＭ（Read Only Memory）５２やＲＡＭ（Random Access Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス６１を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１２３】
本実施の形態にかかる通信制御装置で実行される通信制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact Disk Recordable）、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１２４】
また、本実施の形態にかかる通信制御装置で実行される通信制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかる通信制御装置で実行される通信制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２５】
また、本実施の形態の通信制御プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１２６】
本実施の形態にかかる通信制御装置で実行される通信制御プログラムは、上述した各部（受信部、認証部、判断部、生成部、送信部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５１（プロセッサ）が上記記憶媒体から通信制御プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１２７】
以上のように、本発明にかかる通信制御装置、通信制御方法および通信制御プログラムは、外部端末とファイアウォール内部の通信相手端末との通信を許可するようにファイアウォールの設定を変更する装置に適している。
【図面の簡単な説明】
【０１２８】
【図１】システム全体の構成を示す説明図である。
【図２】本実施の形態にかかる通信制御装置の構成を示すブロック図である。
【図３】認証状態テーブルのデータ構造の一例を示す説明図である。
【図４】設定情報テーブルのデータ構造の一例を示す説明図である。
【図５】対応ＦＷテーブルのデータ構造の一例を示す説明図である。
【図６】規則テーブルのデータ構造の一例を示す説明図である。
【図７】許可情報テーブルのデータ構造の一例を示す説明図である。
【図８】アドレステーブルのデータ構造の一例を示す説明図である。
【図９】制御依頼メッセージのデータ構造の一例を示す説明図である。
【図１０】制御メッセージのデータ構造の一例を示す説明図である。
【図１１】本実施の形態における通信制御処理の全体の流れを示すシーケンス図である。
【図１２】本実施の形態におけるネットワークアクセス認証処理の全体の流れを示すフローチャートである。
【図１３】本実施の形態における制御メッセージ生成処理の全体の流れを示すフローチャートである。
【図１４】本実施の形態におけるアプリケーション許可判断処理の全体の流れを示すフローチャートである。
【図１５】本実施の形態にかかる通信制御装置のハードウェア構成を示す説明図である。
【符号の説明】
【０１２９】
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  通信Ｉ／Ｆ
６１  バス
１０  外部ネットワーク
２０  内部ネットワーク
１００  認証エージェント
１０１  受信部
１０２  認証部
１０３  判断部
１０４  生成部
１０５  送信部
１１０  第１記憶部
１１１  認証状態テーブル
１２０  第２記憶部
１２１  設定情報テーブル
１３０  第３記憶部
１３１  対応ＦＷテーブル
１４０  第４記憶部
１４１  許可情報テーブル
１５０  第５記憶部
１５１  規則テーブル
１６０  第６記憶部
１６１  アドレステーブル
２００  外部端末
３００  セッションサーバ
４００  ファイアウォール（ＦＷ）
５００  通信相手端末
【図１】
2008005434.tif 000003
【図２】
2008005434.tif 000004
【図３】
2008005434.tif 000005
【図４】
2008005434.tif 000006
【図５】
2008005434.tif 000007
【図６】
2008005434.tif 000008
【図７】
2008005434.tif 000009
【図８】
2008005434.tif 000010
【図９】
2008005434.tif 000011
【図１０】
2008005434.tif 000012
【図１１】
2008005434.tif 000013
【図１２】
2008005434.tif 000014
【図１３】
2008005434.tif 000015
【図１４】
2008005434.tif 000016
【図１５】
2008005434.tif 000017