(57)【要約】【課題】  安全な通信をネットワーク上で適切に行うことができるようにする。【解決手段】  ホスト１からの通信を、始動側のセキュリティゲートウェイ（SG）２でブロックし、その通信の送信先アドレス（ホスト４のアドレス）をキーとして応答側のセキュリティゲートウェイ（SG）５を発見するための探索を行う。この探索の結果、応答側のセキュリティゲートウェイ（SG）５を発見できたら、セキュリティゲートウェイ（SG）２、５間でIPsecトンネルモードが行えるセキュリティポリシー（SP）を設定する。その後、セキュリティゲートウェイ（SG）２、５上でIKEプログラムを起動し、セキュリティアソシエーション（SA）を設定した後、始動側のセキュリティゲートウェイ（SG）２がホスト１からホスト４への通信のブロックを解除し、ホスト１、４間の通信を行うようにする。【選択図】  図１
2005167608.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークからパケットを受信する受信手段と、
前記受信手段により受信されたパケットを外部ネットワークに送信する送信手段と、
前記受信手段により受信されたパケットの送信先が属する第２のネットワークを外部ネットワークに接続する接続装置を検出する検出手段とを有し、
前記送信手段は、暗号通信を行うための設定データを、前記検出手段により検出された接続装置に送信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記受信手段により受信されたパケットを暗号化して送信することを特徴とする暗号通信装置。
【請求項２】
前記送信手段は、前記接続装置を認証する際に用いるデータを保持する手段と、
ＩＰアドレス以外のセキュリティポリシーのパラメータを保持する手段と、
前記パケットの送信先と送信元とを示すＩＰアドレスを前記接続装置に送信する手段と、
前記ＩＰアドレスの送信に対する返信を、前記接続装置から受信する手段と、
前記返信の結果に従って、セキュリティポリシーを設定する手段と、
前記セキュリティポリシーが設定された後、又は前記セキュリティポリシーが設定されている最中に、ＩＫＥプログラムを実行する手段と、
前記ＩＫＥプログラムを実行することにより確立されたセキュリティアソシエーションに基づいて、前記パケットの暗号化と、前記接続装置の認証とを行う手段とを有し、
前記接続装置とIPsecトンネルモード通信を行うことを特徴とする請求項１に記載の暗号通信装置。
【請求項３】
前記送信手段は、前記ＩＰアドレス以外のセキュリティポリシーのパラメータを、前記接続装置に送信する手段を有することを特徴とする請求項２に記載の暗号通信装置。
【請求項４】
前記送信手段は、セキュリティのレベル情報を、前記接続装置に送信する手段を有し、
前記セキュリティのレベル情報を、前記接続装置に送信することにより、前記接続装置のセキュリティのレベルを要求することを特徴とする請求項２又は３に記載の暗号通信装置。
【請求項５】
第１のネットワークと外部ネットワークとを接続する接続装置から送信されたパケットを、前記外部ネットワークを介して受信する受信手段と、
前記受信手段により受信されたパケットを、前記パケットの送信先が属する第２のネットワークに送信する送信手段とを有し、
前記受信手段は、暗号通信を行うための設定データを、前記接続装置から受信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記パケットを受信することを特徴とする暗号通信装置。
【請求項６】
前記受信手段は、前記接続装置を認証する際に用いるデータを保持する手段と、
ＩＰアドレス以外のセキュリティポリシーのパラメータを保持する手段と、
前記パケットの送信先と送信元とを示すＩＰアドレスを前記接続装置から受信する手段と、
前記ＩＰアドレスが受信された後に、セキュリティポリシーを設定する手段と、
前記セキュリティポリシーの設定に関わる情報を、前記接続装置に送信する手段と、
前記セキュリティポリシーの設定に関わる情報が送信された後にＩＫＥプログラムを実行する手段と、
前記ＩＫＥプログラムを実行することにより確立されたセキュリティアソシエーションに基づいて、前記パケットの暗号化と、前記接続装置の認証とを行う手段とを有し、
前記接続装置とIPsecトンネルモード通信を行うことを特徴とする請求項５に記載の暗号通信装置。
【請求項７】
前記受信手段は、前記ＩＰアドレス以外のセキュリティポリシーのパラメータを前記接続装置から受信する手段を有し、
前記セキュリティポリシーを設定する手段は、前記受信されたパラメータを用いて、セキュリティポリシーを設定することを特徴とする請求項６に記載の暗号通信装置。
【請求項８】
前記受信手段は、セキュリティのレベル情報を保持する手段と、
前記接続装置から、セキュリティのレベル情報を受信する手段と、
前記保持されたセキュリティのレベル情報と、前記受信されたセキュリティのレベル情報とを比較する手段とを有し、
前記セキュリティポリシーを設定する手段は、前記保持されたセキュリティのレベル情報と、前記受信されたセキュリティのレベル情報との比較の結果、要求されたセキュリティのレベルを満たす場合にのみ、セキュリティポリシーを設定することを特徴とする請求項６又は７に記載の暗号通信装置。
【請求項９】
第１のネットワークからパケットを受信する受信手順と、
前記受信手順により受信されたパケットを外部ネットワークに送信する送信手順と、
前記受信手順により受信されたパケットの送信先が属する第２のネットワークを外部ネットワークに接続する接続装置を検出する検出手順とを有し、
前記送信手順は、暗号通信を行うための設定データを、前記検出手順により検出された接続装置に送信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記受信手順により受信されたパケットを暗号化して送信することを特徴とする暗号通信方法。
【請求項１０】
前記送信手順は、前記接続装置を認証する際に用いるデータを保持する手順と、
ＩＰアドレス以外のセキュリティポリシーのパラメータを保持する手順と、
前記パケットの送信先と送信元とを示すＩＰアドレスを前記接続装置に送信する手順と、
前記ＩＰアドレスの送信に対する返信を、前記接続装置から受信する手順と、
前記返信の結果に従って、セキュリティポリシーを設定する手順と、
前記セキュリティポリシーが設定された後、又は前記セキュリティポリシーが設定されている最中に、ＩＫＥプログラムを実行する手順と、
前記ＩＫＥプログラムを実行することにより確立されたセキュリティアソシエーションに基づいて、前記パケットの暗号化と、前記接続装置の認証とを行う手順とを有し、
前記接続装置とIPsecトンネルモード通信を行うことを特徴とする請求項９に記載の暗号通信方法。
【請求項１１】
前記送信手順は、セキュリティのレベル情報を、前記接続装置に送信する手順を有し、
前記セキュリティのレベル情報を、前記接続装置に送信することにより、前記接続装置のセキュリティのレベルを要求することを特徴とする請求項１０に記載の暗号通信方法。
【請求項１２】
第１のネットワークと外部ネットワークとを接続する接続装置から送信されたパケットを、前記外部ネットワークを介して受信する受信手順と、
前記受信手順により受信されたパケットを、前記パケットの送信先が属する第２のネットワークに送信する送信手順とを有し、
前記受信手順は、暗号通信を行うための設定データを、前記接続装置から受信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記パケットを受信することを特徴とする暗号通信方法。
【請求項１３】
前記受信手順は、前記接続装置を認証する際に用いるデータを保持する手順と、
ＩＰアドレス以外のセキュリティポリシーのパラメータを保持する手順と、
前記パケットの送信先と送信元とを示すＩＰアドレスを前記接続装置から受信する手順と、
前記ＩＰアドレスが受信された後に、セキュリティポリシーを設定する手順と、
前記セキュリティポリシーの設定に関わる情報を前記接続装置に送信する手順と、
前記セキュリティポリシーの設定に関わる情報が送信された後にＩＫＥプログラムを実行する手順と、
前記ＩＫＥプログラムを実行することにより確立されたセキュリティアソシエーションに基づいて、前記パケットの暗号化と、前記接続装置の認証とを行う手順とを有し、
前記接続装置とIPsecトンネルモード通信を行うことを特徴とする請求項１２に記載の暗号通信方法。
【請求項１４】
前記受信手順は、前記ＩＰアドレス以外のセキュリティポリシーのパラメータを前記接続装置から受信する手順を有し、
前記セキュリティポリシーを設定する手順は、前記受信されたパラメータを用いて、セキュリティポリシーを設定することを特徴とする請求項１３に記載の暗号通信方法。
【請求項１５】
前記受信手順は、セキュリティのレベル情報を保持する手順と、
前記接続装置から、セキュリティのレベル情報を受信する手順と、
前記保持されたセキュリティのレベル情報と、前記受信されたセキュリティのレベル情報とを比較する手順とを有し、
前記セキュリティポリシーを設定する手順は、前記保持されたセキュリティのレベル情報と、前記受信されたセキュリティのレベル情報との比較の結果、要求されたセキュリティのレベルを満たす場合にのみ、セキュリティポリシーを設定することを特徴とする請求項１３又は１４に記載の暗号通信方法。
【請求項１６】
第１のネットワークからパケットを受信する受信手順と、
前記受信手順により受信されたパケットを外部ネットワークに送信する送信手順と、
前記受信手順により受信されたパケットの送信先が属する第２のネットワークを外部ネットワークに接続する接続装置を検出する検出手順とを含む手順をコンピュータに実行させ、
前記送信手順は、暗号通信を行うための設定データを、前記検出手順により検出された接続装置に送信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記受信手順により受信されたパケットを暗号化して送信することを特徴とするコンピュータプログラム。
【請求項１７】
前記送信手順は、前記接続装置を認証する際に用いるデータを保持する手順と、
ＩＰアドレス以外のセキュリティポリシーのパラメータを保持する手順と、
前記ＩＰアドレスを前記接続装置に送信する手順と、
前記ＩＰアドレスの送信に対する返信を、前記接続装置から受信する手順と、
前記返信の結果に従って、セキュリティポリシーを設定する手順と、
前記セキュリティポリシーが設定された後、又は前記セキュリティポリシーが設定されている最中に、ＩＫＥプログラムを実行する手順と、
前記ＩＫＥプログラムを実行することにより確立されたセキュリティアソシエーションに基づいて、前記パケットの暗号化と、前記接続装置の認証とを行う手順とを有し、
前記接続装置とIPsecトンネルモード通信を行うことを特徴とする請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記送信手順は、セキュリティのレベル情報を、前記接続装置に送信する手順を有し、
前記セキュリティのレベル情報を、前記接続装置に送信することにより、前記接続装置のセキュリティのレベルを要求することを特徴とする請求項１７に記載のコンピュータプログラム。
【請求項１９】
第１のネットワークと外部ネットワークとを接続する接続装置から送信されたパケットを、前記外部ネットワークを介して受信する受信手順と、
前記受信手順により受信されたパケットを、前記パケットの送信先が属する第２のネットワークに送信する送信手順とを含む手順をコンピュータに実行させ、
前記受信手順は、暗号通信を行うための設定データを、前記接続装置から受信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記パケットを受信することを特徴とするコンピュータプログラム。
【請求項２０】
前記受信手順は、前記接続装置を認証する際に用いるデータを保持する手順と、
ＩＰアドレス以外のセキュリティポリシーのパラメータを保持する手順と、
前記パケットの送信先と送信元とを示すＩＰアドレスを前記接続装置から受信する手順と、
前記ＩＰアドレスが受信された後に、セキュリティポリシーを設定する手順と、
前記セキュリティポリシーの設定に関わる情報を、前記接続装置に送信する手順と、
前記セキュリティポリシーの設定に関わる情報が送信された後にＩＫＥプログラムを実行する手順と、
前記ＩＫＥプログラムを実行することにより確立されたセキュリティアソシエーションに基づいて、前記パケットの暗号化と、前記接続装置の認証とを行う手順を有し、
前記接続装置とIPsecトンネルモード通信を行うことを特徴とする請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記受信手順は、前記ＩＰアドレス以外のセキュリティポリシーのパラメータを前記接続装置から受信する手順を有し、
前記セキュリティポリシーを設定する手順は、前記受信されたパラメータを用いて、セキュリティポリシーを設定することを特徴とする請求項２０に記載のコンピュータプログラム。
【請求項２２】
前記受信手順は、セキュリティのレベル情報を保持する手順と、
前記接続装置から、セキュリティのレベル情報を受信する手順と、
前記保持されたセキュリティのレベル情報と、前記受信されたセキュリティのレベル情報とを比較する手順とを有し、
前記セキュリティポリシーを設定する手順は、前記保持されたセキュリティのレベル情報と、前記受信されたセキュリティのレベル情報との比較の結果、要求されたセキュリティのレベルを満たす場合にのみ、セキュリティポリシーを設定することを特徴とする請求項２０又は２１に記載のコンピュータプログラム。
【請求項２３】
前記請求項１６〜２２の何れか１項に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号通信装置、暗号通信方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体に関し、特に、ネットワーク上で安全に通信を行うために用いて好適なものである。
【背景技術】
【０００２】
インターネット上で安全に通信を行う仕様の１つに、IPsec（Internet Protocol Security）という技術がある。IPsecは、RFC2401（Security Architecture for the Internet Protocol）を中心に、複数のRFCにより規定されている。
【０００３】
以下、IPsecの概要について説明する。
IPsecで実現できる機能として、以下のことが挙げられる。
・アクセス制御：接続元のアドレスなどに基づいて、接続の許可・不許可を行う。
・通信データの完全性の保証：通信データが通信経路の途中で改竄されていないことを保証する。
・通信内容の秘匿：通信データを暗号化して、通信経路上で通信データが傍受されても通信データの内容が容易に判別できないようにする。
【０００４】
IPsecは、前記のような機能を実現するために、複数の技術から構成されている。
IPsecでは、AH（Authentication Header）と、ESP（Encapsulating Security Payload）というセキュリティプロトコルを用いる。
AHは、認証（通信データの完全性の保証）に用い、ESPは、暗号化（通信内容の秘匿）に用いる。AHは、RFC2402、ESPはRFC2406で規定されている。AH及びESPには、それぞれトランスポートモードとトンネルモードとの２つのモードがある。
ここで、トランスポートモードとは、IPパケットのペイロード部分をセキュリティプロトコルの処理対象にするモードである。トンネルモードとは、IPパケット全体をセキュリティプロトコルの処理対象にするモードである。
【０００５】
IPsecでは、鍵や、暗号アルゴリズムなどを管理するために、SA（Security Association）というパラメータのセットを用いる。このセキュリティアソシエーション（SA）を管理するデータベースをSAD（Security Association Database）と呼ぶ。
セキュリティアソシエーション（SA）のパラメータとして、通信する２点間の識別子、SPI（Security Parameter Index）、セキュリティプロトコルの種類、暗号アルゴリズムとその鍵、セキュリティアソシエーション（SA）の生存時間、暗号化アルゴリズムで用いるIVの値、及びカウンタがある。セキュリティアソシエーション（SA）には方向があり、一組の双方向通信を行うためには、２つのセキュリティアソシエーション（SA）が必要となる。
【０００６】
SP（Security Policy；セキュリティポリシー）とは、一般には「何を」「何から」「どのように」守るかを示す行動指針を指すが、IPsecにおけるセキュリティポリシー（SP）は、どのようなIPパケットに対してIPsecを適用するか否か（アクセス制御）を示す。セキュリティポリシー（SP）のパラメータとしては、IP層プロトコル番号、IPアドレス、ネットワークアドレス、トランスポート層プロトコル、ポート番号、及びユーザの識別子がある。また、セキュリティポリシー（SP）を管理するデータベースをSPD（Security Parameter Database）と呼ぶ。
【０００７】
ここで、セキュリティポリシー（SP）の設定方法について説明する。一例として、FreeBSDというオペレーティングシステムで動作する、KAMEプロトコルスタックにおけるセキュリティポリシー（SP）の設定方法について説明する。
KAMEでセキュリティポリシー（SP）を設定する方法は、setkeyコマンドを用いる方法と、スクリプトを用いてマシン起動時に設定する方法との２つがある。
setkeyコマンドを用いて設定する場合、対話形式でセキュリティポリシー（SP）を管理者が入力する方法と、予めセキュリティポリシー（SP）を記述したファイルを用意し、それをsetkeyコマンドに読み込ませて設定する方法とがある。
【０００８】
図１２に示す環境を例に挙げて、IPsecを実現する従来の方法について説明する。
図１２において、ルータ（ルータＡ）１２０１の外側（WAN側）のネットワークインタフェースには、「２００１：３４０：２：：１」のアドレスが割り当てられ、内側（LAN側）のネットワークインタフェースには「２００１：３４０：２：１００：：１」のアドレスが割り当てられているとする。
そして、ルータ（ルータＡ）１２０１は、「２００１：３４０：２：１００：：/６４」のプレフィックスを管理している。ルータ（ルータＡ）のサブネット内には、ホスト（ホストＡ）１２０２があり、このホスト（ホストＡ）１２０２は、「２００１：３４０：２：１００：：２」のアドレスを持つものとする。
【０００９】
同様に、ルータ（ルータＢ）１２０３の外側のネットワークインタフェースには、「２００１：３４０：２：：２」のアドレスが割り当てられ、内側のネットワークインタフェースには、「２００１：３４０：２：２００：：１」のアドレスが割り当てられている。そして、ルータ（ルータＢ）１２０３は、「２００１：３４０：２：２００：：/６４」のプレフィックスを管理している。また、ホスト（ホストＢ）１２０４は、「２００１：３４０：２：２００：：２」のアドレスを持つものとする。
以下、図１２において、ホスト（ホストＡ）１２０２と、ホスト（ホストＢ）１２０４との間で通信を行い、ルータ（ルータＡ）１２０１とルータ（ルータＢ）１２０３との間で、IPsecトンネルモード通信を双方向に行う場合の従来の技術を説明する。
【００１０】
（第１の従来技術）
ルータ（ルータＡ）１２０１に、以下に示す２つのファイルを用意し、setkeyコマンドを用いて、前記用意したファイルを読み出して、セキュリティポリシー（SP）を設定する。
第１のファイルは、「spdadd 2001:340:2:200::2 2001:340:2:100::2 any -P in ipsec esp/tunnel/2001:340:2::2-2001:340:2::1/require;」である。
第２のファイルは、「spdadd 2001:340:2:100::2 2001:340:2:200::2 any -P out ipsec esp/tunnel/2001:340:2::1-2001:340:2::2/require;」である。
【００１１】
同様に、ルータ（ルータＢ）１２０３にも、以下に示す２つのファイルを用意し、setkeyコマンドを用いて前記用意したファイルを読み出して、セキュリティポリシー（SP）を設定する。
第１のファイルは、「spdadd 2001:340:2:100::2 2001:340:2:200::2 any -P in ipsec esp/tunnel/2001:340:2::1-2001:340:2::2/require;」である。
第２のファイルは、「spdadd 2001:340:2:200::2 2001:340:2:100::2 any -P out ipsec esp/tunnel/2001:340:2::2-2001:340:2::1/require;」である。
【００１２】
その後、後述するIKEプログラムを用いてセキュリティアソシエーション（SA）を設定することにより、ルータ（ルータＡ）１２０１と、ルータ（ルータＢ）１２０３との間では、ホスト（ホストＡ）１２０２と、ホスト（ホストＢ）１２０４との間の通信について、IPsecトンネルモードが実施される。ここで、前記用意されたファイルの「spdadd」とは、SPDにセキュリティポリシー（SP）を追加することを示すコマンドである。このコマンドに続く次のアドレスは送信元を示し、さらにその次に続くアドレスは送信先のアドレスを示し、処理対象となるアドレスは何か、ということを示す。
【００１３】
（第２の従来技術）
前記第１の従来技術に示したアドレス指定ではなく、以下に示すようなプレフィックス指定も可能である。
【００１４】
例えば、以下のセキュリティポリシー（SP）をルータ（ルータＡ）１２０１に設定する。
第１のセキュリティポリシー（SP）は、「spdadd 2001:340:2:200::/64 2001:340:2:100::/64 any -P in ipsec esp/tunnel/2001:340:2::2-2001:340:2::1/require;」である。
第２のセキュリティポリシー（SP）は、「spdadd 2001:340:2:100::/64 2001:340:2:200::/64 any -P out ipsec esp/tunnel/2001:340:2::1-2001:340:2::2/require;」である。
【００１５】
同様に、以下のセキュリティポリシー（SP）をルータ（ルータＢ）１２０３に設定する。
第１のセキュリティポリシー（SP）は、「spdadd 2001:340:2:100::/64 2001:340:2:200::/64 any -P in ipsec esp/tunnel/2001:340:2::1-2001:340:2::2/require;」である。
第２のセキュリティポリシー（SP）は、「spdadd 2001:340:2:200::/64 2001:340:2:100::/64 any -P out ipsec esp/tunnel/2001:340:2::2-2001:340:2::1/require;」である。
【００１６】
この場合、ルータ（ルータＡ）１２０１とルータ（ルータＢ）１２０３との間では、「2001:340:2:100::/64」又は「2001:340:2:200::/64」のプレフィックスを持つ全ての通信にIPsecトンネルモードが適用される。
【００１７】
そして、これらのプレフィックスに続く次の「any」の個所で、トランスポート層プロトコルを指定する。「any」は、全てのトランスポート層プロトコルが対象となることを示す。なお、「any」の他に、「icmp」といった指定などが可能である。
「any」に続く次の「-P in」及び「-P out」で、セキュリティポリシー（SP）を適用する方向を指定する。「-P in」及び「-P out」に続く次の「ipsec」は、条件に適合したパケットにIPsec処理を行うことを示す。なお、「ipsec」の他に、条件に適合したパケットに何も処理しないことを示す「none」や、パケットを廃棄する「discard」などの指定も可能である。
「ipsec」の次には、セキュリティプロトコル、モード、処理を行うノード、及びレベルを指定する。セキュリティプロトコル「esp」は暗号処理を行うことを示し、「ah」は認証を行うことを示す。
【００１８】
「esp」の次の項では、モードを指定する。「transport」でトランスポートモードとして動作させることを示し、「tunnel」でトンネルモードとして動作させることを示す。
次のスラッシュ（/）とスラッシュ（/）との間には、処理を実際に行う機器のアドレスが指定される。トランスポートモードの場合は、このアドレスを省略できる。トンネルモードの場合は、２箇所のセキュリティゲートウェイ間で処理を行うために、セキュリティゲートウェイのアドレスを２つ指定する。
最後のレベルは、条件に一致したパケットに対し、どれぐらいの厳しさで処理を行うかを指定する。例えば「require」は、条件に一致したパケットに対しては必ず処理を行うことを強制し、行えなければパケットを破棄することを示す。「use」は、条件に一致したパケットに対して処理を行うようにするが、処理が行えなくとも、通信を許可することを示す。なお、前記第１及び第２の従来技術では、IPv6アドレスを用いた例について説明したが、IPv4アドレスでもIPsec通信は可能であり、セキュリティポリシー（SP）の設定も可能である。
【００１９】
機器の起動時にセキュリティポリシー（SP）を設定するには、「/etc/rc.conf」ファイルに、「ipsec_enable="YES"」と記述し、例えば、第１の従来技術で示したようなセキュリティポリシー（SP）を記述したファイルを、「ipsec_file」という項目で指定しておくことにより、FreeBSDの起動後、自動的にセキュリティポリシー（SP）を設定することが可能である。
なお、このセキュリティポリシー（SP）の記述方法は、あくまでKAMEにおける例であり、別の記述方法も存在する。
【００２０】
IPsecを行うために、IPsec通信を行う２点間でセキュリティアソシエーション（SA）のパラメータを共有にする必要がある。また、暗号アルゴリズムで用いる鍵も共有にする必要がある。IPsecでは、その管理方法として、通信を用いて自動でパラメータを交換する自動鍵管理が定義されている。自動鍵管理の方法として、IPsecでは、IKE（Internet Key Exchange）を用いる。IKEは、RFC2409で規定されている。
IKEは、IKE自身のセキュリティアソシエーション（SA）を交換する第１のフェーズと、第１のフェーズにより確立された（IKEの）セキュリティアソシエーション（SA）下でIPsecのセキュリティアソシエーション（SA）のパラメータを安全に交換する第２のフェーズとの２つのフェーズから成る。第１のフェーズでは、認証方式として電子署名、公開鍵暗号、及びPre-shared Keyの３つが定義されており、IKEを実行するプログラム同士がどれか１つを合意して用いる。IKEを用いてIPsecのセキュリティアソシエーション（SA）が設定されることにより、IPsec通信が可能となる。
【００２１】
以上、IPsecについて説明した。IPsecの詳細については、例えば、非特許文献１に説明されている。
以上説明したように、従来、IPsecを使用するには、コマンドや設定ファイルを用いて、セキュリティポリシーを予め設定する必要があった。
しかしながら、IPsecを適用するIPパケットを指定するためにセキュリティポリシーの一部にIPアドレスを記述する必要があり、この点で不都合なことがあった。
例えば、個々の通信相手に対してセキュリティポリシーを設定したい場合、事前に相手のIPアドレスを詳細に知っておく必要がある。IPv6アドレスを用いる場合には、128ビット全てを把握しておく必要がある。これを避けるため、第２の従来技術のように、プレフィックスでIPアドレスの範囲を指定することも考えられる。例えば、IPv6アドレスの場合、IPsecを適用する通信相手のプレフィックスを「2001::/96」と指定すれば、上位32ビットが「2001」のIPv6アドレスを持つ通信相手が全て該当することになる。また、「::/0」と指定すれば全てのIPv6アドレスを持つ通信相手を指定したことになる。
【００２２】
しかしながら、セキュリティポリシーを適用する範囲を広くしすぎると、セキュリティポリシーを適用したくない通信相手にも適用することになってしまう。例えば、「::/0」と指定した場合、リンクローカルアドレスによる通信までも行えなくなり、近隣探索などの重要な機能が阻害される場合がある。また、「2001::/96」と指定しても、上位32ビットが「2001」の通信相手を指定しただけであり、将来、「2001」以外の上位32ビットを持つ通信相手が出現した場合には対処できない。
このように、通信相手が決定しない状態で、あらかじめ適切なIPアドレスを想定して、セキュリティポリシーを設定しておくことは大変困難である。
【００２３】
このような課題を解決する一方法として、「モバイルIPネットワークにおけるVPNシステムおよびVPNの設定方法」が提案されている（特許文献１を参照）。特許文献１では、端末にVPN（Virtual Private Network）用の機能を加えることなく、認証サーバがVPNデータベースを参照して、VPNゲートウェイに設定を行うことにより、VPN、つまりIPsecトンネルモードの設定を可能としている。
しかしながら、特許文献１に記載されている技術は、モバイルIPを前提にした仕組みであり、またモバイルIPを実現する上で拠点となるホームネットワークが必須であり、さらに、ホームネットワーク内にVPNデータベースが必要である、という課題がある。
以上のように、前述した従来の技術では、安全な通信をネットワーク上で適切に行うことが困難であるという問題点があった。
【００２４】
【特許文献１】特開２００２−４４１４１号公報
【非特許文献１】Marcus Goncalves、Kitty Niles著、生田りえ子、勝本道哲、重野寛訳，「IPv6プロトコル徹底解説」，日経BP社，ISBN4-8222-8082-9
【発明の開示】
【発明が解決しようとする課題】
【００２５】
本発明は、前述の問題点に鑑みてなされたものであり、安全な通信をネットワーク上で適切に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００２６】
本発明の暗号通信装置は、第１のネットワークからパケットを受信する受信手段と、前記受信手段により受信されたパケットを外部ネットワークに送信する送信手段と、前記受信手段により受信されたパケットの送信先が属する第２のネットワークを外部ネットワークに接続する接続装置を検出する検出手段とを有し、前記送信手段は、暗号通信を行うための設定データを、前記検出手段により検出された接続装置に送信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記受信手段により受信されたパケットを暗号化して送信することを特徴とする。
また、本発明の他の特徴とするところは、第１のネットワークと外部ネットワークとを接続する接続装置から送信されたパケットを、前記外部ネットワークを介して受信する受信手段と、前記受信手段により受信されたパケットを、前記パケットの送信先が属する第２のネットワークに送信する送信手段とを有し、前記受信手段は、暗号通信を行うための設定データを、前記接続装置から受信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記パケットを受信することを特徴とする。
【００２７】
本発明の暗号通信方法は、第１のネットワークからパケットを受信する受信手順と、前記受信手順により受信されたパケットを外部ネットワークに送信する送信手順と、前記受信手順により受信されたパケットの送信先が属する第２のネットワークを外部ネットワークに接続する接続装置を検出する検出手順とを有し、前記送信手順は、暗号通信を行うための設定データを、前記検出手順により検出された接続装置に送信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記受信手順により受信されたパケットを暗号化して送信することを特徴とする。
また、本発明の他の特徴とするところは、第１のネットワークと外部ネットワークとを接続する接続装置から送信されたパケットを、前記外部ネットワークを介して受信する受信手順と、前記受信手順により受信されたパケットを、前記パケットの送信先が属する第２のネットワークに送信する送信手順とを有し、前記受信手順は、暗号通信を行うための設定データを、前記接続装置から受信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記パケットを受信することを特徴とする。
本発明のコンピュータプログラムは、第１のネットワークからパケットを受信する受信手順と、前記受信手順により受信されたパケットを外部ネットワークに送信する送信手順と、前記受信手順により受信されたパケットの送信先が属する第２のネットワークを外部ネットワークに接続する接続装置を検出する検出手順とを含む手順をコンピュータに実行させ、前記送信手順は、暗号通信を行うための設定データを、前記検出手順により検出された接続装置に送信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記受信手順により受信されたパケットを暗号化して送信することを特徴とする。
また、本発明の他の特徴とするところは、第１のネットワークと外部ネットワークとを接続する接続装置から送信されたパケットを、前記外部ネットワークを介して受信する受信手順と、前記受信手順により受信されたパケットを、前記パケットの送信先が属する第２のネットワークに送信する送信手順とを含む手順をコンピュータに実行させ、前記受信手順は、暗号通信を行うための設定データを、前記接続装置から受信して、前記接続装置との間で暗号通信を行うための設定をした後に、前記パケットを受信することを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、前記何れかに記載のコンピュータプログラムを記録したことを特徴とする。
【発明の効果】
【００２８】
本発明によれば、第１のネットワークから受信したパケットの送信先が属する第２のネットワークを外部ネットワークに接続する接続装置を検出し、暗号通信を行うための設定データを、前記検出した接続装置に送信し、前記接続装置との間で暗号通信を行うための設定をした後に、前記受信したパケットを暗号化して前記外部ネットワークに送信するようにしたので、前記パケットの送信元と送信先とで複雑な処理を行うことなく、前記パケットの送信元と送信先との間で安全な通信を適切に行うことができる。さらに、前記パケットの送信元と送信先とから、安全な通信を行うための特別な指示を受けることなく、前記パケットの送信元と送信先との間で安全な通信を行うことができる。したがって、安全な通信をネットワーク上で適切に行うことが、従来よりも容易に実現できるようになる。
【００２９】
また、本発明の他の特徴によれば、セキュリティポリシーと、セキュリティアソシエーションとを、暗号通信装置と接続装置との通信に基づいて自動的に設定するようにしたので、暗号通信装置を管理するためのコストを削減できる。
【発明を実施するための最良の形態】
【００３０】
次に、本発明の実施の形態を、図面を参照しながら説明する。
以下の各実施の形態では、IPアドレスにIPv6アドレスを用いる場合で説明するが、IPアドレスは、IPv6アドレスに限定されず、例えば、IPv4アドレスを用いる場合でも以下の各実施の形態を実現することが可能である。
なお、IPv4アドレスを用いる場合に、他のIPアドレスを用いる場合と異なる処理が必要な場合ついては、適宜説明を加える。また、「IP」と表記した場合は、IPv6アドレスとIPv4アドレスとの区別をつけず、両方を指すこととする。また、単に「アドレス」と表記した場合は、ユニキャストアドレスを指すこととする。
また、以下の各実施の形態では、セキュリティポリシー（SP）の書式はKAMEの書式と同じとする。ただし、あくまでも、一例としてKAMEと同じ書式を用いるだけであり、セキュリティポリシー（SP）の書式としてKAMEの書式を用いたときにのみ、以下の各実施の形態が実現される訳ではない。
【００３１】
（第１の実施の形態）
まず、本発明の第１の実施の形態を説明する。
本実施の形態では、２つのサブネット（ローカルネットワーク）があり、それぞれ、セキュリティゲートウェイ（以下、必要に応じてSGと称する）とホストコンピュータ（以下、必要に応じてホストと称する）とが１つずつある状況を例として挙げて説明する。ここで、セキュリティゲートウェイ（SG）は、ルータとしての機能を持つものとする。また、本実施の形態では、セキュリティゲートウェイ（SG）を発見する手段として、サーバを用いる手段を例として挙げて説明する。
【００３２】
図１は、本実施の形態におけるネットワークシステムの構成（環境）の一例を示す図である。
図１において、セキュリティゲートウェイ（SG）２は、ローカルネットワーク３とインターネット７とを接続する。ローカルネットワーク３には、ホスト１が接続されている。同様に、セキュリティゲートウェイ（SG）５は、ローカルネットワーク６とインターネット７とを接続する。ローカルネットワーク６には、ホスト４が接続されている。セキュリティゲートウェイ（SG）２、５は、両者の間でIPsecトンネルモード通信を行う暗号通信装置である。
サーバ８は、本発明において必須の構成要素ではないが、前述したように、本実施の形態では、セキュリティゲートウェイ（SG）５を探索する手段の一例としてサーバ８を用いる。このため、図１には、サーバ８を記している。ローカルネットワーク３、６の物理層の種類は特に問わない。イーサネット（Ｒ）、IEEE802.11、及びBluetooth（Ｒ）など、物理層の上位でIPによる通信ができればよい。もちろん無線通信でも構わない。また、ホスト１、４はネットワークに接続できる情報処理装置であればどのようなものであってもよい。
【００３３】
図２は、ホスト１の構成の一例を示すブロック図である。
図２において、CPU（Central Processing Unit）２０１がホスト１の全体の動作を制御する。RAM（Random Access Memory）２０２は、一時記録装置である。ROM（Read Only Memory）２０３には、プログラムなど、消去不可能なデータが組み込まれている。バス２０４は、各モジュール２０１〜２０３、２０５を通信可能に接続する内部バスである。ネットワークインタフェース２０５は、ホスト１が外部機器とデータの送受信を行う際に使用するインタフェースである。なお、ホスト４の構成は、図２に示したホスト１の構成と共通であるので、ホスト４についての詳細な説明を省略する。
【００３４】
図３は、始動側のセキュリティゲートウェイ（SG）２の構成の一例を示すブロック図である。
図３において、CPU３０１がセキュリティゲートウェイ（SG）２の全体の動作を制御する。RAM３０２は一時記録装置である。ROM３０３には、プログラムなど、消去不可能なデータが組み込まれている。ROM３０３には、IKE（Internet Key Exchange）を実行するプログラムが認証に用いるデータが記録されているものとする。本実施の形態では、そのデータを公開鍵証明書データとする。また、本実施の形態では、アドレス以外のセキュリティポリシー（SP；Security Policy）のデータがROM３０３に記録されているものとする。
【００３５】
本実施の形態で適用するアドレス以外のセキュリティポリシー（SP）のデータを例示すると、以下のようになる。
すなわち、本実施の形態で適用するアドレス以外のセキュリティポリシー（SP）のデータは、「上位層プロトコルは「any」（全て）、ポート番号は指定しない（全てのポートに適用する）、処理方法は「ipsec」（条件に一致したパケットにIPsec（Internet Protocol security）を適用する）、セキュリティプロトコルは「ah」と「esp」（認証と暗号化を行う）、モードは「tunnel」（トンネルモード）、レベルは「require」（条件に一致したパケットにはIpsecを行わせる。IPsecが行えない場合は通信を許可しない）」という内容を表すデータであるとする。ここで、セキュリティプロトコルに「ah」のみを指定すると、認証のみを行うように指定したこととなり、「esp」のみを指定すると、暗号化のみを行うよう指定したこととなる。
【００３６】
バス３０４は、各モジュール３０１〜３０３、３０５、３０６を通信可能に接続する内部バスである。
ネットワークインタフェース３０５、３０６は、セキュリティゲートウェイ（SG）２が、ネットワークを介して外部機器とデータの送受信を行う際に使用するインタフェースである。ネットワークインタフェース３０５、３０６には、機能の違いはないが、説明の都合上、ネットワークインタフェース３０５はローカルネットワーク３に接続しているものとし、ネットワークインタフェース３０６はインターネット７に接続しているものとする。
【００３７】
同様に、図４は、応答側のセキュリティゲートウェイ（SG）５の構成の一例を示すブロック図である。なお、図４に示す各部分の機能は、図３に示したセキュリティゲートウェイ（SG）２の機能とほぼ同じであるため、各部分の機能の詳細な説明は省略する。
ネットワークインタフェース５０５はローカルネットワーク６に接続しているものとし、ネットワークインタフェース５０６はインターネット７に接続しているものとする。また、セキュリティゲートウェイ（SG）５のROM５０３には、セキュリティゲートウェイ（SG）２のROM３０３と同様に、IKEを実行するプログラムが認証に用いるデータが記録されているものとする。本実施の形態では、そのデータを公開鍵証明書データとする。また、本実施の形態では、アドレス以外のセキュリティポリシー（SP）のデータがROM５０３に記録されているものとする。
【００３８】
ここで、図１に示した環境を例にして、本実施の形態のネットワークシステムにおける動作の一例を説明する。
図５は、本実施の形態のネットワークシステムにおける全体の通信処理の一例を説明するフローチャートである。図６は、始動側のセキュリティゲートウェイ（SG）２の動作の一例を説明するフローチャートである。図７は、応答側のセキュリティゲートウェイ（SG）５の動作の一例を説明するフローチャートである。
なお、以下では、先に図５を参照して、本実施の形態のネットワークシステムの全体の流れを説明した後に、図６及び図７を主に用いて、詳細な説明を行う。
【００３９】
図５では、上から下方向に時間が経過し、セキュリティゲートウェイ（SG）２、５が、ブロック内に記されている処理を行って通信することを示している。なお、以下の説明では、セキュリティゲートウェイ（SG）２のように、ローカルネットワーク３に接続されているホスト１からパケットを受信してブロックし、応答側SGにSP設定依頼メッセージを送信するセキュリティゲートウェイ（SG）を、必要に応じて始動側SGと称する。また、セキュリティゲートウェイ（SG）５のように、始動側SGからSP設定依頼メッセージを受信して返信を行うセキュリティゲートウェイ（SG）を、必要に応じて応答側SGとも称する。
【００４０】
図５のステップＳ１０１において、始動側SGが、サブネット内に配設されているホストからパケットを受信することにより、始動側SGの処理は開始される。ここで言うパケットとは、ホストが始動側SGを介して外部のホストへ通信を行う際に用いるパケットを指すものとする。つまり、図１で言えば、ホスト１が、ローカルネットワーク３に存在しない、外部のホスト（例えばインターネット７上のホストやローカルネットワーク６上のホスト２）と通信を行う際に生成するパケットを指す。すなわち、始動側SG（暗号通信装置）は、ネットワークインタフェース３０６により、第１のネットワーク（ローカルネットワーク３）からパケットを受信する。
【００４１】
次にステップＳ１０２において、始動側SG（図１の例ではセキュリティゲートウェイ（SG）２）は、そのパケットを一時的にブロックし、ホスト（図１の例ではホスト１）からの通信を停止しておく。
次に、ステップＳ１０３において、始動側SGは、ステップＳ１０１において受信したパケットを参照し、送信先アドレスを取得する。そして、この送信先アドレスを持つホストが所属するローカルネットワークを管理するセキュリティゲートウェイ（SG）を探索し、発見する。この発見されたセキュリティゲートウェイ（SG）は、応答側SG（図１の例ではセキュリティゲートウェイ（SG）５）となる。すなわち、始動側SG（暗号通信装置）のＣＰＵ３０１は、受信されたパケットの送信先が属する第２のネットワーク（ローカルネットワーク６）を外部ネットワーク（インターネット７）に接続する接続装置（応答側SG）を検出する。
【００４２】
次に、ステップＳ１０４において、始動側SGは、始動側SGのアドレスと、ホスト（図１の例ではホスト１）から受信したパケットの送信先アドレス及び送信元アドレスの少なくとも３つのパラメータをSP設定依頼メッセージに挿入し、SP設定依頼メッセージを応答側SGに送信する。すなわち、始動側SG（暗号通信装置）は、ネットワークインタフェース３０６により、暗号通信を行うための設定データを、検出された接続装置（応答側SG）に送信して、接続装置（応答側SG）との間で暗号通信を行うための設定をする。
【００４３】
応答側SGは、ステップＳ１１１において、始動側SGが送信したSP設定依頼メッセージを受信する。すなわち、応答側SG（暗号通信装置）は、ネットワークインタフェース５０６により、第１のネットワーク（ローカルネットワーク３）と外部ネットワーク（インターネット７）とを接続する接続装置（始動側SG）から送信されたパケットを、外部ネットワーク（インターネット７）を介して受信する。
次に、ステップＳ１１２において、応答側SGは、SP設定依頼メッセージの内容を参照し、応答側SG自身にセキュリティポリシー（SP）を設定する。セキュリティポリシー（SP）を設定したら、ステップＳ１１３において、応答側SGは、セキュリティポリシー（SP）の設定が成功した旨を挿入した受け取り通知（Ack；Acknowledgement）を生成し、始動側SGに返信する。返信後、ステップＳ１４１において、応答側SGは、IKEを実行するプログラムを実行する。
【００４４】
始動側SGは、ステップＳ１２１において、ステップＳ１１３で応答側SGが返信した受け取り通知（Ack）を受信する。
次に、ステップＳ１２２において、始動側SGは、始動側SG自身にセキュリティポリシー（SP）を設定する。
次に、ステップＳ１３１、Ｓ１４１において、始動側SGと応答側SGは、IKEを実行するプログラムを実行し、始動側SGと応答側SGとにおいて、IKEを用いてセキュリティアソシエーション（SA）の確立を試みる。セキュリティアソシエーション（SA）が確立されたら、始動側SGは、ステップＳ１５１において、ステップＳ１０２において停止していたホスト（図１の例ではホスト１）からの通信のブロックを解除する。すなわち、始動側SGと応答側SGは、確立したセキュリティアソシエーション（SA）に基づいて、ステップＳ１０１でブロックしたホストからのパケットのIPsec（トンネルモード）通信（ESPによるパケットの暗号化処理と、通信相手となるSGのAHによる認証処理）を行う。すなわち、始動側SG（暗号通信装置）は、ネットワークインタフェース３０６により、受信されたパケット（ブロックしておいたパケット）を、暗号化して、外部ネットワーク（インターネット７）に送信する。また、応答側SG（暗号通信装置）は、暗号通信を行うための設定データを、接続装置（始動側SG）から受信して、接続装置（始動側SG）との間で暗号通信を行うための設定をした後に、ネットワークインタフェース５０６により受信されたパケットを、ネットワークインタフェース５０５により、そのパケットの送信先が属する第２のネットワーク（ローカルネットワーク６）に送信する。
【００４５】
以上の動作により、始動側SGの管理下にいるホスト（図１の例ではホスト１）と応答側SGの管理下にいるホスト（図１の例ではホスト４）とは、IPsec用の機能を何ら備えることなく、またIPsecの設定を何ら指示することなく、IPsecトンネルモード通信を自動的に行うことが可能となる。
【００４６】
以上が、本実施の形態のネットワークシステムにおける全体の流れである。次に、本実施の形態のより詳細な説明を行う。
図１に示したセキュリティゲートウェイ（SG）２、５は、起動後、ホスト１、４からの通信が行われる前に、以下に示す処理を行う。なお、この処理は、応答側SGを探索する方法としてサーバ（図１の例ではサーバ８）を用いるために生じる処理である。
【００４７】
セキュリティゲートウェイ（SG）２、５は、まず各セキュリティゲートウェイセキュリティゲートウェイ（SG）２、５の管理下にあるホスト１、４のアドレスを取得する。セキュリティゲートウェイ（SG）２ならホスト１のアドレスを取得することになり、セキュリティゲートウェイ（SG）５ならホスト４のアドレスを取得することとなる。具体的な方法の一例としては、セキュリティゲートウェイ（SG）２、５が、送信元アドレスとしてグローバルアドレスを用いたICMP Echo要求をローカルネットワーク３、６に送信する。そして、その要求を受けたホスト１、４から返信されたパケットにより、管理下のホスト１、４のアドレスを取得する。なお、IPv6ならば、送信先アドレスを「ff0e::2」にしてマルチキャストを送信する。一方、IPv4ならばブロードキャストを送信する。
【００４８】
IPv4のブロードキャストアドレスは、「サブネット＋サブネット以外のビットが全て１＝ブロードキャストアドレス」、という規定より算出できる。使用可能であるなら、「２５５．２５５．２５５．２５５」をアドレスとして用いてもよい。IPv6の場合において、マルチキャストアドレスとしてグローバルスコープを用いているのは、ホスト１、４のグローバルスコープのアドレスを取得するためである。
【００４９】
次に、セキュリティゲートウェイ（SG）２、５はサーバ８にアクセスし、自身のアドレスと、取得したアドレスとをペアにしたデータを、サーバ８に登録する。この登録は、例えばTCPを用いる場合、以下のようにして行われる。
まず、サーバ８がポート３０５００をオープンする。セキュリティゲートウェイ（SG）２、５は、サーバ８のポート３０５００にTCPコネクションを張り、例えば「REGIST  SG：２００１：３４０：２：：１  HOST：２００１：３４０：１：１００：：２；」のような文字列をサーバ８に送信する。これにより、セキュリティゲートウェイ（SG）２、５のアドレスと、ホスト１、４のアドレスとをペアにしたデータをサーバ８に登録することができる。
【００５０】
なお、前記文字列において、「REGIST」は、登録を指定するコマンドであり、「SG：」に続くアドレスは、セキュリティゲートウェイ（SG）２、５のアドレスであり、「HOST：」に続くアドレスは、先の「SG：」のアドレスを持つセキュリティゲートウェイ（SG）２、５の管理下にいるホスト１、４のアドレスである。最後の「；」は終端を示す。セキュリティゲートウェイ（SG）の管理下に複数のホストが存在する場合は、ホストのアドレスを代えた命令（文字列）をサーバ８に複数回送信すればよい。
【００５１】
なお、サーバ８とセキュリティゲートウェイ（SG）２、５との間の通信が可能であれば、トランスポートプロトコルの種類は問わない。サーバ８のアドレスとポート番号とは、セキュリティゲートウェイ（SG）２のROM３０３、及びセキュリティゲートウェイ（SG）５のROM５０３にあらかじめ記録しておくものとする。
【００５２】
サーバ８は、セキュリティゲートウェイ（SG）２、５より登録されたデータを管理する。サーバ８の構成の一例を図８に示す。
サーバ８は、CPU６０１により制御され、RAM６０２及びROM６０３を持つ。ROM６０３には、プログラムが格納されているとする。サーバ８の各モジュール６０１〜６０３、６０５、６０６は、バス６０４により通信可能に接続される。サーバ８は、ネットワークインタフェース６０５を用いて外部と通信を行う。データベース（DB）６０６は、例えばハードディスクなどの大容量記録装置を用いて実現される。データベース（DB）６０６には、セキュリティゲートウェイ（SG）２、５のアドレスと、ホスト１、４のアドレスとが対になったテーブルが記憶される。
【００５３】
以上で準備は終了である。次に、図６と図７とを主に参照しながら、本実施の形態の説明を続ける。
ホスト１がホスト４に対し、何らかの通信を開始したとする。ここで言う通信は、例えばtelnet、ssh、ftp、及びhttpなどのTCPベースのものでもよいし、UDPベースのものや、ICMPベースのものなど何でもよい。
【００５４】
セキュリティゲートウェイ（SG）２は、ステップＳ３０１にて処理をスタートした後、ステップＳ３０２において、ホスト１がホスト４に対して行う通信のパケットを、ネットワークインタフェース３０５を介して受信する。
セキュリティゲートウェイ（SG）２は、ステップＳ３０３において、RAM３０２内に受信したパケットを記録して、パケットの送信先アドレスをチェックする。チェックした送信先アドレスがネットワークインタフェース３０６を介してインターネット７へ転送する必要があるパケットである場合、このパケットの転送処理を行わないこととする。この行為をブロックと呼ぶことにする。パケットの転送先をチェックする方法は、例えば、セキュリティゲートウェイ（SG）２が持つIPパケットの経路表を参照して行う。
【００５５】
次に、ステップＳ３０４において、セキュリティゲートウェイ（SG）２のCPU３０１は、RAM３０２に記録したパケットから送信先アドレスを取得する。そして、ステップＳ３０５において、セキュリティゲートウェイ（SG）２は、応答側SGを探索する。
本実施の形態のステップＳ３０５の処理は以下の通りである。
まず、セキュリティゲートウェイ（SG）２は、サーバ８に、ステップＳ３０４において取得した送信先アドレス（パケット）を検索キーとした検索リクエストを送信する。
サーバ８は、検索リクエストを受信して図９のフローチャートで示す処理を行い、その結果をセキュリティゲートウェイ（SG）２に返信する。セキュリティゲートウェイ（SG）２はその結果を取得する。本実施の形態において、検索リクエストは、例えば、「SEARCH  KEY：２００１：３４０：３：３００：：２」という文字列で行われるとする。前記文字列において、「SEARCH」は、サーバ８に検索処理を命令するコマンドであり、「KEY：」は、その後に続くアドレスが検索キーとなることを示し、「２００１：３４０：３：３００：：２」は、検索キーとなるアドレスである。本実施の形態では、このアドレスはホスト４のアドレスとなる。
【００５６】
図９において、サーバ８は、ステップＳ６０１にて処理をスタートする。サーバ８は、ステップＳ６０２において、図６のステップＳ３０５でセキュリティゲートウェイ（SG）２が送信した検索リクエストを、ネットワークインタフェース６０５を介して受信する。検索リクエストには、先に例示したように、ホスト４のアドレスである「２００１：３４０：３：３００：：２」が検索キーとして挿入されている。サーバ８のCPU６０１は、検索リクエストを含んだパケットをRAM６０２に一時的に保存する。そして、パケットをパース（解析）して、そのパケットが検索リクエストを示すものであることを「SEARCH」の文字列より把握する。CPU６０１は、RAM６０２に一時的に保存したパケットから検索キーを取得する。
【００５７】
次に、ステップＳ６０３において、CPU６０１は、データベース（DB）６０６にアクセスし、「２００１：３４０：３：３００：：２」を検索キーとして、応答側SGを検索する。すなわち、検索キーと、データベース（DB）６０６中のテーブルにおける「HOST」の列の値とを比較し、検索キーである「２００１：３４０：３：３００：：２」に対応するセキュリティゲートウェイ（SG）５として「２００１：３４０：３：：１」がヒットする。図１に示した例の場合、ステップＳ６０３の処理結果はＹＥＳとなり、ステップＳ６０４に遷移する。ステップＳ６０４において、サーバ８は、ヒットしたセキュリティゲートウェイ（SG）５のアドレスを含めた返信メッセージを生成して、セキュリティゲートウェイ（SG）２に返信し、本フローチャートによる処理を終了する（ステップＳ６１１）。ステップＳ６０４で返信される返信メッセージは、例えば「OK  ２００１：３４０：３：：１」といった文字列でなされるものとする。
【００５８】
前記ステップＳ６０３において、該当するセキュリティゲートウェイ（SG）のアドレスがデータベース（DB）６０６にない場合、ステップＳ６０３の処理結果はＮＯとなり、ステップＳ６０５に遷移する。ステップＳ６０５において、サーバ８は、セキュリティゲートウェイ（SG）の検索が失敗である旨を示す返信メッセージを生成して、セキュリティゲートウェイ（SG）２に返信し、本フローチャートによる処理を終了する（ステップＳ６１１）。ステップＳ６０５で返信される、検索が失敗である旨を示す返信メッセージは、例えば「BAD  ５０１」といった文字列でなされるものとする。前記文字列において、「BAD」は検索が失敗である旨を示し、「５０１」は失敗の理由を示すエラーコードである。
なお、以上の説明において、検索リクエスト、及びその返信メッセージの表記は一例であり、検索の指示、及びその結果の返信を表記できるのならば、前記以外の表記でも良いということは勿論である。
【００５９】
ここで、図６におけるセキュリティゲートウェイ（SG）２の処理に説明を戻す。
ステップＳ３０６において、セキュリティゲートウェイ（SG）２は、サーバ８に対して検索リクエストを実行した結果として、サーバ８からの返信メッセージとして取得し、その返信メッセージの中に応答側SGのアドレスが含まれているか否かを判定する。
【００６０】
図１に示した例では、送信先アドレス「２００１：３４０：３：３００：：２」に対応するセキュリティゲートウェイ（SG）５のアドレス「２００１：３４０：３：：１」を、サーバ８からの返信メッセージとして取得する。すなわち、ステップＳ３０６の処理結果はＹＥＳとなり、ステップＳ３１１に遷移する。一方、サーバ８からの返信メッセージにおいて、検索失敗である旨を示す返信メッセージを取得した場合、ステップＳ３０６の処理結果はＮＯとなり、ステップＳ３２１に遷移する。このステップＳ３０６における検索結果の判定は、返信メッセージ内の最初の文字列が「OK」か「BAD」かで行うことが可能である。また、一定時間、サーバ８から返信がない場合も検索失敗とみなし、ステップＳ３２１に遷移するものとする。
【００６１】
前述したように、セキュリティゲートウェイ（SG）５の検索が失敗した場合、ステップＳ３０６からステップＳ３２１に遷移する。そして、ステップＳ３２１において、セキュリティゲートウェイ（SG）２のCPU３０１は、セキュリティゲートウェイ（SG）２自身がIPsecを必ず行う設定かをチェックする。具体的には、CPU３０１が、ステップＳ３０３でブロックしたパケットの送信先アドレスと送信元アドレスとから特定できるIPsecの適用条件に、セキュリティポリシー（SP）が設定され、さらにそのセキュリティポリシー（SP）において「require」（IPsecを必ず適用するコマンド）が設定されているか否かをチェックする。
【００６２】
ステップＳ３０３でブロックしたパケットに対してセキュリティポリシー（SP）が設定されていない場合や、設定されているがセキュリティポリシー（SP）に「use」（できるだけIPsecを適用するコマンド）が設定されている場合には、ステップＳ３２１の処理結果はＮＯとなり、ステップＳ３１８に遷移して、セキュリティゲートウェイ（SG）２は、ステップＳ３０３で行ったブロックを解除し、ステップＳ３３１に遷移して、本フローチャートによる処理を終了する。この場合、IPsecが行われていない（すなわち、暗号化や認証が施されていない）、素のパケットによってホスト１、４間の通信を行うこととなる。
【００６３】
前記ステップＳ３２１において、セキュリティポリシー（SP）に「require」が設定されている場合、ステップＳ３２１の処理結果はＹＥＳとなり、ステップＳ３２２に遷移する。ステップＳ３２２において、セキュリティゲートウェイ（SG）２は、ステップＳ３０３でブロックしていたパケットを廃棄し、そのままステップＳ３３１に遷移して処理を終了する。この場合、ブロックは解除されないため、ホスト１、４間の通信は行われないこととなる。
【００６４】
前記ステップＳ３０６、又は後述のステップＳ３１３、Ｓ３１４からステップＳ３２１に遷移した場合には、セキュリティポリシー（SP）が設定されていないので、ステップＳ３２１の処理結果はＮＯとなる。また、ステップＳ３１７からステップＳ３２１に遷移した場合には、設定されたセキュリティポリシー（SP）により、ステップＳ３２１の後の処理は変わる。
なお、本実施の形態では、セキュリティポリシー（SP）に設定した値を参照してステップＳ３２１の処理結果を決定したが、よりセキュア（安全）にするために、ステップＳ３２１の処理結果を全てＹＥＳとしてもよい。もしくは、設定されたセキュリティポリシー（SP）ではなく、ROM３０３内に記録されているレベル（「require」や、「use」など）の値を参照してステップＳ３２１の処理結果を決定してもよい。
ステップＳ３２１以降の動作は前述した動作と同じであるため、ステップＳ３２１以降の処理についての説明を省略する。
【００６５】
前記ステップＳ３０６で取得した返信メッセージの結果がOKであった場合、ステップＳ３１１に遷移する。ステップＳ３１１において、セキュリティゲートウェイ（SG）２のCPU３０１は、サーバ８からの返信メッセージよりセキュリティゲートウェイ（SG）５のアドレスを取得し、RAM３０２に一時的に保存する。
【００６６】
次に、ステップＳ３１２において、セキュリティゲートウェイ（SG）２のCPU３０１は、SP設定依頼メッセージを生成し、ステップＳ３１１においてRAM３０２に一時的に保存したセキュリティゲートウェイ（SG）５のアドレスを用いてセキュリティゲートウェイ（SG）５にアクセスし、生成したSP設定依頼メッセージをセキュリティゲートウェイ（SG）５に送信する。本実施の形態において、SP設定依頼メッセージは、「spdadd  （始動側SGが受信したパケットの）送信先アドレス  （始動側SGが受信したパケットの）送信元アドレス  out  応答側SGのアドレス−始動側SGのアドレス  spdadd  （始動側SGが受信したパケットの）送信元アドレス  （始動側SGが受信したパケットの）送信先アドレス  in  始動側SGのアドレス−応答側SGのアドレス」とする。
【００６７】
ここで、「spdadd」はセキュリティポリシー（SP）を設定する旨を示し、「out」及び「in」はセキュリティポリシー（SP）を設定する方向を示す。図１に示した例の場合、SP設定依頼メッセージは、「spdadd  ２００１：３４０：３：３００：：２  ２００１：３４０：１：１００：：２  out  ２００１：３４０：３：：１−２００１：３４０：１：：１  spdadd  ２００１：３４０：１：１００：：２    ２００１：３４０：３：３００：：２  in  ２００１：３４０：１：：１−２００１：３４０：３：：１」となる。
【００６８】
なお、このSP設定依頼メッセージはあくまでも一例であり、セキュリティポリシー（SP）を適用する送信先のアドレスと、送信元のアドレス（プレフィックスでも可）とを含んでいれば書式は他の形態でも構わない。始動側SGのアドレスは、始動側SGが応答側SGにアクセスした時点で、応答側SG側で取得することが可能なので、必ずしもSP設定依頼メッセージに含ませる必要はない。
【００６９】
セキュリティゲートウェイ（SG）２がSP設定依頼メッセージをセキュリティゲートウェイ（SG）５に送信したら、処理はセキュリティゲートウェイ（SG）５に移る。
ここで、図７を参照しながらセキュリティゲートウェイ（SG）５の動作を説明する。
セキュリティゲートウェイ（SG）５のCPU５０１は、ステップＳ４０１にて処理をスタートした後、ステップＳ４０２において、ネットワークインタフェース５０６を介してセキュリティゲートウェイ（SG）２からSP設定依頼メッセージを受信する。
【００７０】
本実施の形態では、セキュリティゲートウェイ（SG）２からセキュリティゲートウェイ（SG）５へ通信する方法として、TCPやUDPを用いる。したがって、セキュリティゲートウェイ（SG）５は、ステップＳ４０１にて処理をスタートした後、あるポート番号を決めて受信用ソケットをオープンしておく必要がある。ここでは、ポート番号を４０５００としておくが、ポート番号は特に限定されない。ただし、ポート番号は予め決定しておき、セキュリティゲートウェイ（SG）２とセキュリティゲートウェイ（SG）５とで共通の番号を用いる必要がある。このポート番号は、ROM３０３や、ROM５０３に予め記録されているものとする。
なお、ここでは、TCPやUDPを用いてセキュリティゲートウェイ（SG）２からセキュリティゲートウェイ（SG）５へ通信する場合について説明したが、通信の方法は特に限定されない。SP設定依頼メッセージ及びその返信メッセージの伝達を行うことができればどのような通信の方法を採用してもよい。
以上のようにして、セキュリティゲートウェイ（SG）５のCPU５０１は、受信したSP設定依頼メッセージをRAM５０２に保存する。
【００７１】
次に、ステップＳ４０３において、CPU５０１は、RAM５０２に保存したSP設定依頼メッセージを参照し、パラメータを取得する。本実施の形態では、SP設定依頼メッセージの内容は、セキュリティゲートウェイ（SG）２のアドレスと、ホスト１及びホスト４のアドレスと、セキュリティポリシー（SP）を設定する方向である。CPU５０１は、セキュリティポリシー（SP）を設定する上で足りないパラメータを、ROM５０３を参照することにより取得して、セキュリティポリシー（トンネルモード）を設定する。
【００７２】
図１０に、ステップＳ４０３におけてセキュリティポリシー（SP）を設定する際の応答側のセキュリティゲートウェイ（SG）５の動作の一例を詳細に説明するフローチャートを示す。
図７のステップＳ４０２よりステップＳ７０１に遷移する。
ステップＳ７０２において、セキュリティゲートウェイ（SG）５のCPU５０１は、図７のステップＳ４０２で受信したSP設定依頼メッセージに、IPsecを適用するIPアドレス（又はプレフィックス）が含まれているか否かを判別する。図１に示した例では、ホスト１、４のアドレスが含まれており、ステップＳ７０２の条件を満たすので、処理結果はＹＥＳとなる。そして、処理結果がＹＥＳの場合、ステップＳ７０４に遷移する。一方、処理結果がＮＯの場合、ステップＳ７０３に遷移して、CPU５０１は、セキュリティゲートウェイ（SG）２にERRORを含んだ受け取り通知（Ack）を、返信のためにRAM５０２に記録する。
【００７３】
ステップＳ７０２において、SP設定依頼メッセージに、IPsecを適用するIPアドレス（プレフィックス）が含まれていると判別されると、ステップＳ７０４において、CPU５０１は、始動側SG（図１に示した例の場合、セキュリティゲートウェイ（SG）２）のIPアドレスがSP設定依頼メッセージに含まれているか否かを判別する。図１に示した例では含まれているので、処理結果はＹＥＳとなり、ステップＳ７０６に遷移する。一方、始動側SGのIPアドレスがSP設定依頼メッセージに含まれていない場合、ステップＳ７０５に遷移し、CPU５０１は、SP設定依頼メッセージを送信したパケットの送信元アドレスを読み出し（取得し）、それを始動側SGのアドレスとしてRAM５０２に記録する。
【００７４】
次に、ステップＳ７０６において、CPU５０１は、IPsecを適用するアドレス（プレフィックス）と、始動側SGのアドレス以外のセキュリティポリシー（SP）のパラメータとがSP設定依頼メッセージに全て含まれているか否かを判別する。図１に示した例の場合、方向は含まれているが、上位層プロトコル、処理の内容（ipsecか、noneか、discardか）、セキュリティプロトコル、モード、及びレベルが含まれていないので、処理結果はＮＯとなり、ステップＳ７０７に遷移する。一方、これらがSP設定依頼メッセージに全て含まれており、処理結果がＹＥＳの場合には、ステップＳ７０７を省略してステップＳ７０８に遷移する。
【００７５】
ステップＳ７０７において、CPU５０１は、ROM５０３から不足しているパラメータを読み出す。
次に、ステップＳ７０８において、SP設定依頼メッセージの内容と、場合によってはROM５０３から読み出した内容より、CPU５０１は、SP設定用文字列を生成し、RAM５０２に記録する。
【００７６】
図１に示した例の場合、SP設定用文字列は、「spdadd  ２００１：３４０：３：３００：：２  ２００１：３４０：１：１００：：２  any  −P  out  ipsec  ah/tunnel/２００１：３４０：３：：１−２００１：３４０：１：：１/require  esp/tunnel/２００１：３４０：３：：１−２００１：３４０：１：：１/require；  spdadd  ２００１：３４０：１：１００：：２  ２００１：３４０：３：３００：：２  any  −P   in   ipsec  ah/tunnel/２００１：３４０：１：：１−２００１：３４０：３：：１/require  esp/tunnel/２００１：３４０：１：：１−２００１：３４０：３：：１/require」となる。
【００７７】
次に、ステップＳ７０９において、CPU５０１は、前述のSP設定用文字列を設定し、成功/失敗（OKを含んだ受け取り通知（Ack）を返信するか、それともERRORを含んだ受け取り通知（Ack）を返信するか）をRAM５０２に記録する。その後、ステップＳ７１０に遷移し、図７のステップＳ４０４へ遷移する。
【００７８】
図７に説明を戻し、ステップＳ４０４において、セキュリティゲートウェイ（SG）５のCPU５０１は、セキュリティポリシー（SP）を設定した旨を示す受け取り通知（Ack）を、ネットワークインタフェース５０６を介してセキュリティゲートウェイ（SG）２に返信する。このとき、CPU５０１は、RAM５０２を参照して、ステップＳ４０３の結果を取得し、受け取り通知（Ack）を生成する。
【００７９】
ここで、セキュリティポリシー（SP）を設定できた場合（成功の場合）には、「OK」のメッセージが挿入された受け取り通知（Ack）を返信するものとする。一方、セキュリティポリシー（SP）が設定できなかった場合（失敗の場合）には、セキュリティポリシー（SP）の設定に失敗した旨を示すメッセージを受け取り通知（Ack）内に挿入して返信する。その場合、例えば「ERROR  ６０１」などといった文字列を返信するものとする。前記文字列において、「６０１」はエラーの種別を示すエラーコードである。セキュリティポリシー（SP）の設定が失敗する場合としては、例えば、アドレス書式が不備であったり、パラメータが欠落していたり、既に同じ適用条件のセキュリティポリシー（SP）が設定されたりしている場合がある。そのような場合毎に、エラーコードが決定されていることが望ましい。図１に示した例では、セキュリティポリシー（SP）の設定に成功し、「OK」のメッセージが挿入された受け取り通知（Ack）をセキュリティゲートウェイ（SG）２に返信する。
【００８０】
以上のようにしてステップＳ４０３においてセキュリティポリシー（SP）を設定し、ステップＳ４０４において受け取り通知（Ack）を返信したら、ステップＳ４０５に遷移する。
ステップＳ４０５において、CPU５０１は、ROM５０３内のIKEプログラムを実行する。IKEプログラムは「背景技術」で説明したIKEを実行するプログラムで、セキュリティゲートウェイ（SG）２、５のIKEプログラム間でセキュリティアソシエーション（SA）を設定する際に用いる。なお、本実施の形態では、セキュリティポリシー（SP）が設定された後にIKEプログラムを実行するとしたが、IKEプログラムが適宜SPDを参照し、セキュリティポリシー（SP）の変更に追随できるのならば、例えば、ステップＳ４０１においてIKEプログラムを実行しておいてもよい。また、応答側SG（図１ではセキュリティゲートウェイ（SG）５）のIKEプログラムは、IKEを始動側としては開始しないため、応答側として振舞うこととなる。また、本実施の形態のIKEプログラムは、ROM５０３内の公開鍵証明書データを参照して認証を行うものとする。
【００８１】
図６に示すセキュリティゲートウェイ（SG）２の処理に説明を戻す。
始動側のセキュリティゲートウェイ（SG）２のCPU３０１は、ステップＳ３１３にて受け取り通知（Ack）が返信されてきたか否かを判別する。この判別の結果、受け取り通知（Ack）がある場合には、ステップＳ３１４に遷移する。一方、受け取り通知（Ack）がない場合には、ステップＳ３２１に遷移する。また、一定時間が過ぎても返信がない場合も、受け取り通知（Ack）がないものとみなし、ステップＳ３２１に遷移することとする。
【００８２】
セキュリティゲートウェイ（SG）５から受け取り通知（Ack）が返信されると、ステップＳ３１４において、セキュリティゲートウェイ（SG）２のCPU３０１は、ネットワークインタフェース３０６を介して受信した（返信された）受け取り通知（Ack）をRAM３０２に保存する。そして、受け取り通知（Ack）内のデータをチェックし、セキュリティゲートウェイ（SG）５側（応答側SG）にてセキュリティポリシー（SP）が設定されたか否かを判断する。セキュリティポリシー（SP）が設定された旨を示すメッセージが受け取り通知（Ack）内にある場合（本実施の形態では「OK」であった場合）には、ステップＳ３１５に遷移する。一方、セキュリティポリシー（SP）が設定された旨を示すメッセージが受け取り通知（Ack）内にない場合（本実施の形態では「ERRORE」であった場合）には、ステップＳ３２１に遷移する。
【００８３】
セキュリティポリシー（SP）が設定された旨を示すメッセージが受け取り通知（Ack）内にあると、ステップＳ３１５において、セキュリティゲートウェイ（SG）２のCPU３０１は、セキュリティゲートウェイ（SG）２自身にセキュリティポリシー（SP）を設定する。セキュリティポリシー（SP）を設定する際、CPU３０１は、ホスト１からのパケットの送信先アドレス及び送信元アドレスと、サーバ８から取得したセキュリティゲートウェイ（SG）５のアドレスと、セキュリティゲートウェイ（SG）２自身のアドレスと、ROM３０３に記録されているアドレス以外のセキュリティポリシー（SP）のパラメータとを用いて、トンネルモードの設定を行う。このようにしてセキュリティポリシー（SP）を設定した後、ステップＳ３１６において、CPU３０１はIKEプログラムを実行する。
【００８４】
IKEプログラムは、「背景技術」で説明したIKEを実行するプログラムで、IKEプログラム間でセキュリティアソシエーション（SA）を設定する際に用いる。本実施の形態ではセキュリティポリシー（SP）を設定した後にIKEプログラムを実行するとしたが、IKEプログラムが適宜SPDを参照し、セキュリティポリシー（SP）の変更に追随できるのならば、ステップＳ３０１においてIKEプログラムを実行しておいても問題ない。始動側SG（図１ではセキュリティゲートウェイ（SG）２）のIKEプログラムは、IKEプログラムを始動側として開始することとなる。また、本実施の形態のIKEプログラムは、ROM３０３内の公開鍵証明書データを参照して認証を行うものとする。
【００８５】
セキュリティゲートウェイ（SG）２、５は、各々起動したIKEプログラムにより、セキュリティアソシエーション（SA）の確立を試行する。
セキュリティゲートウェイ（SG）２は、ステップＳ３１７においてセキュリティアソシエーション（SA）の確立が成功した否かを判断し、セキュリティアソシエーション（SA）の確立が成功したならば、ステップＳ３１８において、ステップＳ３０３でブロックしていたホスト１からの通信を解除し、ステップＳ３３１に遷移して本フローチャートによる処理を終了する。以降、セキュリティゲートウェイ（SG）２は、確立したセキュリティアソシエーション（SA）に基づいて、ステップＳ３０３でブロックしたホスト１からのパケットのIPsec（トンネルモード）通信（ESPによるパケットの暗号化処理と、通信相手となるSGのAHによる認証処理）を行う。一方、ステップＳ３１７においてセキュリティアソシエーション（SA）の確立に失敗した場合には、前述したステップＳ３２１に遷移する。
【００８６】
一方、応答側のセキュリティゲートウェイ（SG）５は、図７のステップＳ４０６においてセキュリティアソシエーション（SA）の確立が成功したならば、ステップＳ４２１に遷移して、本フローチャートによる処理を終了する。以降、セキュリティゲートウェイ（SG）５は、確立したセキュリティアソシエーション（SA）に基づいて、ホスト１からホスト４へのパケットのIPsec（トンネルモード）通信（ESPによるパケットの復号化処理と、通信相手となるSGのAHによる認証処理）を行い、また、ホスト４からホスト１へのパケットを受信した場合、受信したパケットのIPsec（トンネルモード）通信（ESPによるパケットの暗号化処理と、通信相手となるSGのAHによる認証処理）を行う。一方、セキュリティアソシエーション（SA）の確立が失敗した場合には、ステップＳ４１１に遷移する。
そして、ステップＳ４１１において、セキュリティゲートウェイ（SG）５のCPU５０１は、IPsecを必ず行う設定か否かを判断（チェック）する。具体的には、CPU５０１が、ステップＳ４０３で設定したセキュリティポリシー（SP）において、「require」（IPsecを必ず適用）が設定されているか否かを判断する。「use」（できるだけIPsecを適用）が設定されている場合には、このステップＳ４１１の処理結果はＮＯとなり、ステップＳ４２１に遷移して本フローチャートによる処理を終了する。この場合、IPsecを行わず、素のパケットによってホスト１、４間は通信を行うこととなる。
【００８７】
一方、ステップＳ４１１において、「require」が設定されていると判断された場合には、このステップＳ４１１の処理結果はＹＥＳとなり、ステップＳ４１２に遷移する。そして、ステップＳ４１２において、ステップＳ４０３で設定されたセキュリティポリシー（SP）のアドレス条件より、該当するパケットを破棄し、ステップＳ４２１に遷移して本フローチャートによる処理を終了する。この場合、ホスト１、４間の通信は行われないこととなる。
【００８８】
ステップＳ４０６において、セキュリティゲートウェイ（SG）２、５においてセキュリティアソシエーション（SA）が確立すれば、ホスト１、４間の通信は、セキュリティゲートウェイ（SG）２、５の間でIPsecトンネルモードにてIPsec処理が施された通信となる。
【００８９】
以上、始動側SGとして配設されたセキュリティゲートウェイ（SG）２が、サーバ８を用いて応答側SGとして配設されたセキュリティゲートウェイ（SG）５を探索し、ホスト１、４間の経路上にある２台のセキュリティゲートウェイ（SG）２、５間でIPsecトンネルモードを自動的に適用する方法について述べた。
【００９０】
このように、本実施の形態では、ホスト１からホスト４へ送られる通信を、ホスト１側にある始動側のセキュリティゲートウェイ（SG）２でブロックし、その通信の送信先アドレス（ホスト４のアドレス）をキーとして、ホスト４側にある応答側のセキュリティゲートウェイ（SG）５を発見するための探索を行う。この探索の結果、応答側のセキュリティゲートウェイ（SG）５を発見できたら、始動側のセキュリティゲートウェイ（SG）２は、応答側のセキュリティゲートウェイ（SG）５にSP設定依頼メッセージを送信する。応答側のセキュリティゲートウェイ（SG）５は、SP設定依頼メッセージを受信したら、ホスト１、４間にあるセキュリティゲートウェイ（SG）２、５間でIPsecトンネルモードが行えるセキュリティポリシー（SP）を設定する。セキュリティポリシー（SP）を設定できたら、セキュリティポリシー（SP）の設定が成功した旨を挿入した受け取り通知（Ack）を、始動側のセキュリティゲートウェイ（SG）２に返す。
【００９１】
始動側のセキュリティゲートウェイ（SG）２は、受け取り通知（Ack）を受信した後、同様にホスト１、４間にあるセキュリティゲートウェイ（SG）２、５間でIPsecトンネルモードが行えるセキュリティポリシー（SP）を設定する。その後、セキュリティゲートウェイ（SG）２、５上でIKEプログラムを起動し、セキュリティアソシエーション（SA）を設定した後、始動側のセキュリティゲートウェイ（SG）２が、ホスト１からホスト４への通信のブロックを解除し、セキュリティゲートウェイ（SG）２、５間でIPsec（トンネルモード）が施されたホスト１、４間の通信を行うようにした。
【００９２】
これにより、IPsecのための複雑な処理をホスト１、４で行うことなく、ホスト１、４間でIPsecトンネルモード通信を行うことができる。さらに、ホスト１、４がセキュリティゲートウェイ２、５にIPsecのための設定の指示を行うことなく、ホスト１、４間でIPsecトンネルモード通信を行うことができる。したがって、安全な通信をインターネット７上で適切に行うことが、従来よりも容易に実現できる。
また、セキュリティゲートウェイ２、５間で自動的にセキュリティポリシー（SP）を設定し、セキュリティアソシエーション（SA）を設定するようにしたので、管理者がセキュリティゲートウェイ２、５を管理するのに必要なコストを従来よりも削減できる。
【００９３】
なお、本実施の形態において、タイマを用いることにより、セキュリティゲートウェイ（SG）２、５間で一定時間通信がないと判断した場合には、セキュリティゲートウェイ（SG）２、５に設定したセキュリティポリシー（SP）を削除するようにしてもよい。また、その他の方法で、適宜セキュリティポリシー（SP）を削除する手段を講じてもよい。
また、セキュリティゲートウェイ（SG）２、５の電源を落とす際に、サーバ８に登録したデータを削除するように振舞ってもよい。
さらに、始動側の機能として示した図６の動作フローチャートによる処理と、応答側の機能として示した図７の動作フローチャートによる処理とを、単一の機器で実行させることも可能である。
【００９４】
（第２の実施の形態）
［UDPとICMPを用いた応答側SGの探索方法］
次に、本発明の第２の実施の形態について説明する。前述した第１の実施の形態では、サーバ８を用いて応答側SG（セキュリティゲートウェイ５）を探索するようにしたが、本実施の形態では、応答側SGの探索にUDP（User Datagram Protocol）を用いて応答側SG（セキュリティゲートウェイ５）を探索する。
このように本実施の形態と前述した第１の実施の形態とは、応答側SGを探索する処理が異なるだけであるので、以下の説明において、前述した第１の実施の形態と同一の部分については、図１〜図１０と同一の符号を付すなどして詳細な説明を省略する。
【００９５】
なお、本実施の形態では、図１に示したネットワークシステムからサーバ８を除いた環境で実現されるネットワークシステムを例として挙げて説明する。また、第１の実施の形態と同様に、ホスト１からホスト４へ通信を行う場合にIPsecトンネルモードを設定する方法を例として挙げて説明する。
【００９６】
以下に説明するように、本実施の形態では、図１に示したサーバ８が必要なく、セキュリティゲートウェイ（SG）２、５からサーバ８への登録処理も必要なく、また、セキュリティゲートウェイ（SG）２、５が、自身の管理下にあるホスト１、４を把握しておく必要もない。
ただし、UDPデータグラムが、ホスト４まで到達することと、ホスト４からセキュリティゲートウェイ（SG）２までICMP（Internet Control Message Protocol）データグラムが到達できることとが処理を実現可能にするために必要な条件となる。
また、UDPデータグラムの送信先アドレスと、返信されるICMPデータグラムの送信元アドレスとが同じとなる必要があるため、応答側SGのWAN側ネットワークインタフェース（図５のネットワークインタフェース５０６）にグローバルアドレスが１つのみ割り振られていることが望ましい。
【００９７】
本実施の形態の処理は、図６のステップＳ３０５の処理が、前述した第１の実施の形態と異なる。よって、ここでは、図６のステップＳ３０５に代わる処理のみを説明する。
図１１のフローチャートを参照しながら、応答側セキュリティゲートウェイ（SG）を探索する際の始動側セキュリティゲートウェイ（SG）動作の一例を説明する。
ステップＳ８０１において、図６のステップＳ３０４より処理が遷移してくる。
ステップＳ８０２において、セキュリティゲートウェイ（SG）２のCPU３０１は、RAM３０２に変数ｎを用意し、この変数ｎに値１を代入する。
【００９８】
次に、ステップＳ８０３において、CPU３０１は、IPv4の場合はTTL（Time To Life）フィールドの値、IPv6の場合はHop Limitフィールドの値に、変数ｎをセットしてUDPパケットを生成する。そして、図８のステップＳ３０４で取得した送信先アドレス（ホスト４のアドレス）に、生成したUDPパケットを送信する。なお、UDPパケットのペイロードは特に問わない。さらに、ペイロードはない方がネットワークに対する負荷が軽くなるので望ましい。また、送信先のポート番号は、送信先のホスト４のアプリケーションが使用していない（３００００より大きい）番号を選択する。これは、UDPパケットがホスト４に到達したときに、ICMPv4ならポート到達不可メッセージを、ICMPv6なら宛先到達不能メッセージを返信してもらうためである。
【００９９】
ステップＳ８０３において送信されたUDPパケットは、ホスト４に至る経路上で、IPv4ならばTTLフィールドの値が、IPv6ならばHop Limitフィールドの値が、ルータ毎に１ずつ減じられる。そして、TTLもしくはHop Limitフィールドの値が１のパケットが転送されてきたとき、応答側のセキュリティゲートウェイ（SG）５は、ICMPを用いてICMP時間超過メッセージを始動側のセキュリティゲートウェイ（SG）２に返信する。ICMPv4の場合の時間超過メッセージは、タイプ１１、コード０であり、ICMPv6の場合の時間超過メッセージは、タイプ３、コード０である。
【０１００】
次に、ステップＳ８０４において、CPU３０１は、ネットワークインタフェース３０６を介して、先に説明したICMP時間超過メッセージが返信されてきたか否かを判定する。このステップＳ８０４の処理結果がＹＥＳの場合には、ステップＳ８０５に遷移する。一方、ＮＯの場合には、ステップＳ８１１に遷移する。
【０１０１】
ステップＳ８０４においてＹＥＳの場合には、ステップＳ８０５において、CPU３０１は、返信されたICMP時間超過メッセージの送信元アドレスをRAM３０２に記録する。RAM３０２に記録したら、ステップＳ８０６に遷移する。
そして、ステップＳ８０６において、CPU３０１は、変数ｎに１を加算する。その後、ステップＳ８０３に遷移し、ステップＳ８０３〜Ｓ８０６の処理を再び行う。
このようなステップＳ８０３〜Ｓ８０６の処理により、セキュリティゲートウェイ（SG）２は、ホップ数を１ずつ増やしながら、ホスト４に至る経路を１ホップずつ手繰ってゆくこととなる。なお、ステップＳ８０５において行う送信元アドレスの記録は、上書きして行ってもよいし、リストで管理してもよい。
【０１０２】
ステップＳ８０４において、ICMP時間超過メッセージではないICMPメッセージ（ICMPパケット）が返信された場合、処理結果はＮＯとなり、ステップＳ８１１に遷移する。
ステップＳ８１１において、CPU３０１は、IPv4の場合、受信したICMPパケットが、ICMPv4ポート到達不可メッセージ（タイプ３、コード３）であるか否かを判定する。また、IPv6の場合、受信したICMPパケットが、ICMPv6宛先到達不能メッセージ（タイプ１、コード４）であるか否かを判定する。
【０１０３】
ステップＳ８１１において処理結果がＹＥＳの場合には、ステップＳ８０３において送信したUDPパケットが送信先に到達したことを示すメッセージが返信されている。したがって、CPU３０１は、ステップＳ８０５において記録した最新の送信元アドレスを応答側SGのアドレスとしてRAM３０２に記録する。そして、ステップＳ８２１に遷移して図６のステップＳ３０６に戻る。
【０１０４】
ここで、応答側SGとして配設されるセキュリティゲートウェイ（SG）５は、ホスト４より１ホップ近いノードであると仮定している。また、変数ｎの値が１でステップＳ８１１の判定結果がＹＥＳとなった場合には、ステップＳ８０３において送信するUDPパケットの送信先アドレスがそのまま応答側SGのアドレスということになる。
一方、前記ステップＳ８１１において処理結果がＮＯの場合には、ステップＳ８１２に遷移して、CPU３０１は、エラー処理を行う。そして、ステップＳ８２１に遷移して図６のステップＳ３０６に戻る。
【０１０５】
以上のように、本実施形態では、UDP（User Datagram Protocol）を用いることにより、サーバ８を用いずに、応答側SGを探索するようにした。これにより、セキュリティゲートウェイ（SG）２、５からサーバ８への登録処理も必要なく、また、セキュリティゲートウェイ（SG）２、５が、自身の管理下にあるホスト１、４を把握しておく必要もなくなる。したがって、より簡単な構成で安全な通信を行うことができる。特に、本実施の形態で挙げた応答側SGの探索方法は、ホスト４より始動側SGに１ホップ近いノードが応答側SGであると仮定できる場合に有効となる。
【０１０６】
（第３の実施の形態）
［アドレス以外のセキュリティポリシー（SP）のパラメータを受信したメッセージから抽出する方法］
次に、本発明の第３の実施の形態について説明する。なお、本実施の形態においても、前述した第１及び第２の実施の形態と同一の部分についての詳細な説明を省略する。
【０１０７】
前述した第１及び第２の実施の形態では、応答側のセキュリティゲートウェイ（SG）５は、アドレスと方向以外のセキュリティポリシー（SP）のパラメータをROM５０３から読み出して、セキュリティポリシー（SP）を設定していた。
これに対し、本実施の形態では、SP設定依頼メッセージにアドレス以外のセキュリティポリシー（SP）のパラメータを挿入できるようにし、応答側のセキュリティゲートウェイ（SG）５で、SP設定依頼メッセージ内にアドレス以外のセキュリティポリシー（SP）のパラメータがあるか否かを判別（チェック）し、あればそのパラメータを用いてセキュリティポリシー（SP）を設定し、なければROM５０３内のパラメータを用いてセキュリティポリシー（SP）を設定する。
【０１０８】
以上のように本実施の形態では、始動側のセキュリティゲートウェイ（SG）２から発せられるSP設定依頼メッセージにアドレス以外のセキュリティポリシー（SP）のパラメータを挿入し、応答側のセキュリティゲートウェイ（SG）５は、SP設定依頼メッセージに挿入されているアドレス以外のセキュリティポリシー（SP）のパラメータを用いてセキュリティポリシー（SP）を設定するようにしたので、応答側のセキュリティゲートウェイ（SG）５（応答側SG）のセキュリティポリシーを、始動側のセキュリティゲートウェイ（SG）２（始動側SG）で全て制御することが可能となる。
また、SP設定依頼メッセージに、アドレス以外のセキュリティポリシー（SP）のパラメータを必ず含ませ、応答側のセキュリティゲートウェイ（SG）５（応答側SG）が、図７のステップＳ４０３において、セキュリティポリシー（SP）を設定する際に、SP設定依頼メッセージ内のセキュリティポリシー（SP）のパラメータを参照するようにすれば、セキュリティゲートウェイ（SG）５のROM５０３にセキュリティポリシー（SP）のパラメータを予め設定しておく必要がなくなる。
【０１０９】
（第４の実施の形態）
［要求セキュリティレベルを満たす場合にのみ、OKを含んだ受け取り通知（Ack）を返信する方法］
次に、本発明の第４の実施の形態について説明する。なお、本実施の形態においても、前述した第１〜第３の実施の形態と同一の部分についての詳細な説明を省略する。
【０１１０】
本実施の形態では、SP設定依頼メッセージ内にセキュリティレベルを示すデータを挿入することにより、あるセキュリティレベル以上の場合のみセキュリティポリシー（SP）を設定し、IPsec通信を行えるようにするようにする。
【０１１１】
具体的に説明すると、まず、始動側のセキュリティゲートウェイ（SG）２のROM３０３、及び応答側のセキュリティゲートウェイ（SG）５のROM５０３に、セキュリティレベルを示すデータを設定しておく。仮に、ROM３０３にはセキュリティレベルの値として２が設定され、ROM５０３にはセキュリティレベルの値として５が設定されており、値が大きいほどセキュリティレベルが高いとする。
始動側のセキュリティゲートウェイ（SG）２は、図６のステップＳ３１２においてSP設定依頼メッセージを生成するときに、SP設定依頼メッセージにROM３０３内から読み出したセキュリティレベルを示すデータを挿入する。そして、セキュリティレベルを示すデータを挿入したSP設定依頼メッセージを応答側のセキュリティゲートウェイ（SG）５に送信する。
【０１１２】
セキュリティゲートウェイ（SG）５は、図７のステップＳ４０３において、受信したSP設定依頼メッセージ内に挿入されたセキュリティレベルを示すデータと、ROM５０３内のセキュリティレベルを示すデータとを比較し、受信したセキュリティレベルよりもROM５０３内のセキュリティレベルが大きいという条件が満たされた場合のみ、セキュリティポリシー（SP）を設定するようにする。条件が満たされない場合には、セキュリティポリシー（SP）を設定せず、「ERROR」を含む受け取り通知通知（Ack）をセキュリティゲートウェイ（SG）２に返信する。
【０１１３】
前述した例では、セキュリティゲートウェイ（SG）２に設定されているセキュリティレベルの値は２であり、セキュリティゲートウェイ（SG）５に設定されているセキュリティレベルの値は５であるので、受信したセキュリティレベルよりもROM５０３内のセキュリティレベルが大きい（２＜５）という条件を満たし、セキュリティポリシー（SP）を設定できる。
【０１１４】
以上のように本実施の形態では、始動側のセキュリティゲートウェイ（SG）２からのROM３０３と、応答側のセキュリティゲートウェイ（SG）５のROM５０３とのそれぞれに、セキュリティレベルを設定する。そして、ROM３０３に設定したセキュリティレベルをSP設定依頼メッセージに挿入して、応答側のセキュリティゲートウェイ（SG）５に送信する。応答側のセキュリティゲートウェイ（SG）５は、送信されたSP設定依頼メッセージに挿入されたセキュリティレベルよりも、ROM５０３に設定されたセキュリティレベルの方が大きい場合にのみセキュリティポリシー（SP）を設定する。
このようにすれば、始動側SG（セキュリティゲートウェイ（SG）２）が要求するセキュリティレベル以上の能力を備えた応答側SG（セキュリティゲートウェイ（SG）５）のみに対して通信を許可することができ、よりセキュア（安全）な通信を実現することが可能となる。
なお、本実施の形態で説明した方法はあくまでも一例であり、他の様々な方法でセキュリティレベルを指定した場合でも本実施の形態の仕組みを適用できることは言うまでもない。
【０１１５】
（第５の実施の形態）
［メッセージ交換をIPsecトランスポートモードで行う方法］
次に、本発明の第５の実施の形態について説明する。なお、本実施の形態においても、前述した第１〜第４の実施の形態と同一の部分についての詳細な説明を省略する。
【０１１６】
本実施の形態では、図１において、セキュリティゲートウェイ（SG）２、５のWAN側のネットワークインタフェースに割り当てられたアドレスと、任意のアドレスとの２点間でIPsecトランスポートモードの通信を行うためのセキュリティポリシー（SP）を、セキュリティゲートウェイ（SG）２、５のそれぞれに設定する。
【０１１７】
例えば、セキュリティゲートウェイ（SG）２に、「spdadd 2001:340:1::1 ::/0 any−P out ipsec ah/transport//require esp/transport//require; spdadd ::/0 2001:340:1::1 any−P in ipsec ah/transport//require esp/transport//require;」というSPを設定し、セキュリティゲートウェイ（SG）５に、「spdadd 2001:340:3::1 ::/0 any−P out ipsec ah/transport//require esp/transport//require; spdadd ::/0 2001:340:3::1 any−P in ipsec ah/transport//require esp/transport//require;」というセキュリティポリシー（SP）を設定する。
【０１１８】
ここで、セキュリティゲートウェイ（SG）２に設定されるセキュリティポリシー（SP）には、セキュリティゲートウェイ（SG）２のWAN側のアドレスを、セキュリティゲートウェイ（SG）５に設定されるセキュリティポリシー（SP）には、セキュリティゲートウェイ（SG）５のWAN側のアドレスを用いるので、通信相手をあらかじめ指定したセキュリティポリシー（SP）を用意していないことを強調しておく。
【０１１９】
また、サーバ８を使用する場合は、サーバ８に「spdadd 2001:340:5::3 ::/0 any−P out ipsec ah/transport//require esp/transport//require; spdadd ::/0 2001:340:5::3 any−P in ipsec ah/transport//require esp/transport//require;」といったSPを設定しておき、セキュリティゲートウェイ（SG）２、５との認証に用いることができるデータをROM６０３に予め用意しておく。
【０１２０】
以上のような条件で、セキュリティゲートウェイ（SG）２、５及びサーバ８上で、IKEを実行するプログラムを動作させておけば、セキュリティゲートウェイ（SG）２、５間、セキュリティゲートウェイ（SG）２、サーバ８間、及びセキュリティゲートウェイ（SG）５、サーバ８間を終端とする通信は、全てIPsecトランスポートモードで行われる。
【０１２１】
以上のように本実施の形態では、セキュリティゲートウェイ（SG）２、５のWAN側のネットワークインタフェースに割り当てられたアドレスと、任意のアドレスとの２点間でIPsecトランスポートモードの通信を行うためのセキュリティポリシー（SP）を、セキュリティゲートウェイ（SG）２、５のそれぞれに設定するとともに、サーバ８のアドレスと、任意のアドレスとの２点間でIPsecトランスポートモードの通信を行うためのセキュリティポリシー（SP）を、サーバ８に設定し、セキュリティゲートウェイ（SG）２、５及びサーバ８上で、IKEを実行するプログラムを動作させるようにしたので、セキュリティゲートウェイ（SG）２、５及びサーバ８を終端とする通信は、IPsecトランスポートモードで全て保護される。これにより、ネットワーク上でより安全にメッセージの交換を行うことが可能となる。
【０１２２】
（第６の実施の形態）
［送信先、送信元をアドレスではなくプレフィックスで指定してセキュリティポリシー（SP）を設定する方法）
次に、本発明の第６の実施の形態について説明する。なお、本実施の形態においても、前述した第１〜第５の実施の形態と同一の部分についての詳細な説明を省略する。
前述した第１の実施の形態でも多少触れたが、本実施の形態では、SP設定依頼メッセージにアドレスではなく、プレフィックスを挿入することにより、プレフィックス単位でIPsecトンネルモードを設定し、VPN（Virtual Private Network）として用いるようにしている。
【０１２３】
このような場合の実施方法としては、複数あるが、例えば、図６のステップＳ３１５、及び図７のステップＳ４０３において、セキュリティポリシー（SP）を設定する際に、セキュリティゲートウェイ（SG）２、５のアドレス以外のアドレス部分の代わりに、プレフィックスを指定する方法がある。
【０１２４】
また、次のようにして、セキュリティゲートウェイ（SG）２、５のアドレス以外のアドレス部分の代わりに、プレフィックスを指定してセキュリティポリシー（SP）を設定することも可能である。
前述した第１の実施の形態において、セキュリティゲートウェイ（SG）２、５のアドレスと、ホスト１、４のアドレスとを登録する処理で、セキュリティゲートウェイ（SG）２、５の管理下のホスト１、４のアドレスを取得する処理を行わず、セキュリティゲートウェイ（SG）２、５のアドレスと、ホスト１、４のアドレスとの登録を次に示すような書式で行う。例えば、セキュリティゲートウェイ（SG）２、５が、「REGIST  SG：２００１：３４０：２：：１  PREFIX：２００１：３４０：１：１００：：/６４；」で示される書式で登録を行うと、サーバ８のデータベース（DB）６０６には、セキュリティゲートウェイ（SG）２、５のアドレスと、セキュリティゲートウェイ（SG）２、５が管理するサブネットのプレフィックスとが対になったデータが登録される。ここで、「PREFIX」は、セキュリティゲートウェイ（SG）２、５が管理するサブネットのプレフィックスを示す。
そして、サーバ８は、図９のステップＳ６０３で示す検索処理を、アドレスではなくプレフィックスを検索キーとして行う。そして、図８のステップＳ３１５及び、図９のステップＳ４０３において、セキュリティゲートウェイ（SG）２、５のアドレス以外のアドレス部分の代わりに、検索したプレフィックスを指定してセキュリティポリシー（SP）を設定する。
【０１２５】
いずれの方法を行っても、図１のローカルネットワーク３内で「２００１：３４０：１：１００：：/６４」のプレフィックスをアドレスとして持つホスト１と、ローカルネットワーク６内で「２００１：３４０：３：３００：：/６４」のプレフィックスをアドレスとして持つホスト４との間の全ての通信に対して、IPsecトンネルモードを適用することができ、その結果、VPN装置としてセキュリティゲートウェイ（SG）２、５を動作させることができる。
【０１２６】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【０１２７】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ等を用いることができる。
【０１２８】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【０１２９】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【０１３０】
【図１】本発明の第１の実施の形態を示し、ネットワークシステムの構成（環境）の一例を示す図である。
【図２】本発明の第１の実施の形態を示し、ホストの構成の一例を示すブロック図である。
【図３】本発明の第１の実施の形態を示し、始動側のセキュリティゲートウェイの構成の一例を示すブロック図である。
【図４】本発明の第１の実施の形態を示し、応答側のセキュリティゲートウェイの構成の一例を示すブロック図である。
【図５】本発明の第１の実施の形態を示し、ネットワークシステムにおける全体の通信処理の一例を説明するフローチャートである。
【図６】本発明の第１の実施の形態を示し、始動側のセキュリティゲートウェイの動作の一例を説明するフローチャートである。
【図７】本発明の第１の実施の形態を示し、応答側のセキュリティゲートウェイの動作の一例を説明するフローチャートである。
【図８】本発明の第１の実施の形態を示し、サーバの構成の一例を示すブロック図である。
【図９】本発明の第１の実施の形態を示し、サーバの動作の一例を説明するフローチャートである。
【図１０】本発明の第１の実施の形態を示し、セキュリティポリシー（SP）を設定する際の応答側のセキュリティゲートウェイの動作の動作の一例を詳細に説明するフローチャートである。
【図１１】本発明の第２の実施の形態を示し、応答側セキュリティゲートウェイ（SG）を探索する際の始動側セキュリティゲートウェイ（SG）動作の一例を詳細に説明するフローチャートである。
【図１２】従来の技術を示し、ネットワークシステムの構成（環境）を示す図である。
【符号の説明】
【０１３１】
１、４  ホスト
２  始動側のセキュリティゲートウェイ（SG）
３、６  ローカルネットワーク
５  応答側のセキュリティゲートウェイ（SG）
７  インターネット
８  サーバ
【図１】
2005167608.tif 000003
【図２】
2005167608.tif 000004
【図３】
2005167608.tif 000005
【図４】
2005167608.tif 000006
【図５】
2005167608.tif 000007
【図６】
2005167608.tif 000008
【図７】
2005167608.tif 000009
【図８】
2005167608.tif 000010
【図９】
2005167608.tif 000011
【図１０】
2005167608.tif 000012
【図１１】
2005167608.tif 000013
【図１２】
2005167608.tif 000014