(57)【要約】【課題】ＩＰｓｅｃ通信において、送信先の装置とのＳＡが確立されていない場合に、このＳＡが確立されるまでの間に生じるＩＰｓｅｃ処理の「待ち」による不都合を解消すること。【解決手段】ＩＰｓｅｃ通信を行う通信装置２０では、ＩＰパケットを格納する保留バッファ３１０を備え、ＡＨ／ＥＳＰモジュール部２３０が、送信先の通信装置２０とのＳＡが確立されているＩＰパケットを、当該ＳＡデータに従ってＩＰｓｅｃ処理して送信し、ＡＨ／ＥＳＰタスク部２４０が、送信先の通信装置２０とのＳＡが確立されていないＩＰパケットを保留バッファ３１０に格納するとともに、ＩＫＥタスク部２５０に当該ＳＡを確立させるためのＩＫＥ処理を行わせ、ＡＨ／ＥＳＰタスク部２４０が、ＩＫＥタスク部２５０のＩＫＥ処理によって確立されたＳＡに該当するＩＰパケットを保留バッファ３１０から取り出し、当該ＳＡデータに従ってＩＰｓｅｃ処理して送信する。【選択図】図３
2009060245.tif 000002
【特許請求の範囲】
【請求項１】
通信装置が他の通信装置とＩＰｓｅｃ通信を行う際の通信制御方法であって、
ＩＰパケットを受け付け、当該ＩＰパケットの送信先に指定された他の通信装置のＳＡデータが、確立済のＳＡに関するＳＡデータが登録されたＳＡデータベースに現時点において登録されているかを判定し、未登録の場合には当該ＩＰパケットを保留バッファに格納し、登録済の場合には当該ＩＰパケットを登録済のＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、送信先の他の通信装置に送信する第１の処理と、
前記保留バッファに格納されているＩＰパケットの送信先に指定された他の通信装置とのＳＡを確立するＩＫＥ処理を実行し、確立したＳＡのＳＡデータを前記ＳＡデータベースに新たに登録する第２の処理と、
前記ＳＡデータベースに新たに登録され、新たなＳＡの確立がなされた他の通信装置を送信先とするＩＰパケットを前記保留バッファから検索し、当該ＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、当該送信先の他の通信装置に送信して、前記保留バッファから当該ＩＰパケットを削除する第３の処理と、
をそれぞれ独立して実行する通信制御方法。
【請求項２】
前記第２の処理では、前記ＩＫＥ処理によるＳＡの確立が失敗した場合には、当該ＩＫＥ処理の相手先の他の通信装置を送信先とするＩＰパケットを前記保留バッファから削除する、
請求項１に記載の通信制御方法。
【請求項３】
請求項１又は２に記載の通信制御方法を、通信装置に内蔵されたコンピュータに実行させるためのプログラム。
【請求項４】
ＩＰパケットを一時格納する保留バッファと、
他の通信装置が指定されたＳＡ確立依頼信号に従ってＩＫＥ処理を実行し、確立したＳＡのＳＡデータを生成するＩＫＥ処理部と、
前記ＩＫＥ処理部により生成されたＳＡデータをＳＡデータベースに登録して管理するＳＡＤ管理部と、
新たなＩＰパケットを受け付け、当該ＩＰパケットの送信先に指定された他の通信装置のＳＡデータが、前記ＳＡデータベースに登録されているかを判定する判定部と、
前記判定部により登録済と判定された場合に、当該判定されたＩＰパケットを登録済のＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、送信先の他の通信装置に送信する第１のＩＰパケット処理部と、
前記判定部により未登録と判定された場合に、当該判定されたＩＰパケットを前記保留バッファに格納させる保留制御部と、
前記保留バッファに格納されているＩＰパケットの送信先に指定されている他の通信装置とのＳＡを前記ＩＫＥ処理部に確立させ、確立されたＳＡの当該他の通信装置を送信先とするＩＰパケットを前記保留バッファから検索し、当該ＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、当該送信先の他の通信装置に送信して、前記保留バッファから当該ＩＰパケットを削除する第２のＩＰパケット処理部と、
を備えた通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置が他の通信装置とＩＰｓｅｃ通信を行う際の通信制御方法、プログラム及び通信装置に関する。
【背景技術】
【０００２】
ＩＰｓｅｃは、ＴＣＰ／ＩＰプロトコルのＩＰ（ネットワーク層）レベルで実現される暗号化通信方式の規格であり、ＩＰパケット単位で認証・暗号化が行われる。ＩＰｓｅｃでは、予め、ＩＰｓｅｃ通信を行う装置（ＩＰｓｅｃ装置）間で使用する認証・暗号化アルゴリズムや暗号鍵等を交換・共有し、「ＳＡ（Security Association：セキュリティ・アソシエーション）」と呼ばれる論理的なコネクションを確立しておく必要がある。なお、このＳＡは単方向のコネクションである。ＳＡの確立は、鍵交換プロトコルである「ＩＫＥ（Internet Key Exchange）」によって実現される。
【０００３】
また、ＩＰｓｅｃでは、ＩＰｓｅｃ通信を行っている一方の装置において障害が発生した場合の復旧方法として、例えば次の方法が知られている。すなわち、障害が発生したＩＰｓｅｃ装置が、キャッシュを参照して通信を行っていたＩＰｓｅｃ装置に向けて障害情報通知を行う。そして、この通知を受け取った通信相手のＩＰｓｅｃ装置では、直ぐに古いＳＡを消去してＩＫＥ処理を始め、ＳＡの再確立を行うといった方法である（例えば、特許文献１参照）。
【特許文献１】特開２００５−２０２１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のように、ＩＰｓｅｃでは、装置間のＩＰｓｅｃ通信を行う前に、ＩＫＥ処理を行って送信先（相手先）の通信装置とのＳＡを確立しておく必要があり、送信先の装置とのＳＡが確立されていない場合には、この装置とのＳＡを確立した後、ＩＰパケットをＩＰｓｅｃ処理することになる。つまり、送信するＩＰパケットの受け付けから、このＩＰパケットをＩＰｓｅｃ処理するまでの間に処理の「待ち」が生じる。すなわち、この処理の「待ち」の間は、新たに受け付けたＩＰパケットに対するＩＰｓｅｃ処理を行うことができない。更に、複数の装置それぞれとＩＰｓｅｃ通信を並列に行う場合には、ＳＡが確立されていない装置との間の処理によって、既にＳＡが確立されている装置との間の通信にも影響が生じる可能性がある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、ＩＰｓｅｃ通信において、送信先の装置とのＳＡが確立されていない場合に、このＳＡが確立されるまでの間に生じるＩＰｓｅｃ処理の「待ち」による不都合を解消することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の発明は、通信装置が他の通信装置とＩＰｓｅｃ通信を行う際の通信制御方法であって、ＩＰパケットを受け付け、当該ＩＰパケットの送信先に指定された他の通信装置のＳＡデータが、確立済のＳＡに関するＳＡデータが登録されたＳＡデータベースに現時点において登録されているかを判定し、未登録の場合には当該ＩＰパケットを保留バッファに格納し、登録済の場合には当該ＩＰパケットを登録済のＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、送信先の他の通信装置に送信する第１の処理と、前記保留バッファに格納されているＩＰパケットの送信先に指定された他の通信装置とのＳＡを確立するＩＫＥ処理を実行し、確立したＳＡのＳＡデータを前記ＳＡデータベースに新たに登録する第２の処理と、前記ＳＡデータベースに新たに登録され、新たなＳＡの確立がなされた他の通信装置を送信先とするＩＰパケットを前記保留バッファから検索し、当該ＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、当該送信先の他の通信装置に送信して、前記保留バッファから当該ＩＰパケットを削除する第３の処理とをそれぞれ独立して実行する通信制御方法である。
【０００７】
第４の発明は、ＩＰパケットを一時格納する保留バッファと、他の通信装置が指定されたＳＡ確立依頼信号に従ってＩＫＥ処理を実行し、確立したＳＡのＳＡデータを生成するＩＫＥ処理部と、前記ＩＫＥ処理部により生成されたＳＡデータをＳＡデータベースに登録して管理するＳＡＤ管理部と、新たなＩＰパケットを受け付け、当該ＩＰパケットの送信先に指定された他の通信装置のＳＡデータが、前記ＳＡデータベースに登録されているかを判定する判定部と、前記判定部により登録済と判定された場合に、当該判定されたＩＰパケットを登録済のＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、送信先の他の通信装置に送信する第１のＩＰパケット処理部と、前記判定部により未登録と判定された場合に、当該判定されたＩＰパケットを前記保留バッファに格納させる保留制御部と、前記保留バッファに格納されているＩＰパケットの送信先に指定されている他の通信装置とのＳＡを前記ＩＫＥ処理部に確立させ、確立されたＳＡの当該他の通信装置を送信先とするＩＰパケットを前記保留バッファから検索し、当該ＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、当該送信先の他の通信装置に送信して、前記保留バッファから当該ＩＰパケットを削除する第２のＩＰパケット処理部とを備えた通信装置である。
【０００８】
この第１又は第４の発明によれば、通信装置が他の通信装置とＩＰｓｅｃ通信を行う際に、（１）新たに受け付けたＩＰパケットの送信先に指定された他の通信装置のＳＡデータがＳＡデータベースに登録されているかを判定し、登録済みの場合には、登録されているＳＡデータに従ってＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成・送信し、未登録の場合には、このＩＰパケットを保留バッファに格納する処理と、（２）保留バッファに格納されているＩＰパケットの送信先に指定された他の通信装置とのＳＡを確立するＩＫＥ処理を実行し、確立したＳＡのＳＡデータをＳＡデータベースに登録する処理と、（３）ＩＫＥ処理によりＳＡが確立された通信装置を送信先とするＩＰパケットを保留バッファから取り出し、ＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成・送信する処理と、の各処理が独立して行われる。
【０００９】
送信先の通信装置とのＳＡが確立されていないときには、当該ＳＡが確立されるまで処理を待つといった従来の方法では、この処理の「待ち」の間に新たに受け付けたＩＰパケットに対するＩＰｓｅｃ処理が行えず、更に、複数の通信装置との間で並列的にＩＰｓｅｃ通信を行っている場合には、既にＳＡが確立している他の通信装置への通信をも一時停止させてしまうといった問題が生じる。そこで、本発明のように、ＩＰパケットを格納する保留バッファを備え、ＳＡが確立されていない通信装置を送信先とするＩＰパケットを保留バッファに格納する処理と、新たにＳＡが確立された場合に、このＳＡが確立された通信装置を送信先とするＩＰパケットを保留バッファから取り出し、ＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成・送信する処理とを独立して行うようにすることで、この処理の「待ち」によって生じる不都合を解消することができる。すなわち、次々と受け付けられたＩＰパケットそれぞれに対して、ＩＰｓｅｃ処理を行うか或いは保留バッファに格納するかの何れかの処理を速やかに行うことができ、これにより、受け付けたＩＰパケットの送信先の通信装置とのＳＡが確立されていないことによる処理の「待ち」が生じない。また、ＳＡが確立されていない通信装置を送信先とする複数のＩＰパケットを受け付けた場合には、当該ＳＡが確立された時点で、保留バッファに格納されているこれらのＩＰパケットそれぞれについて一括して効率良くＩＰｓｅｃ処理を行うことができる。
【００１０】
また、第２の発明は、第１の発明の通信制御方法であって、前記第２の処理では、前記ＩＫＥ処理によるＳＡの確立が失敗した場合には、当該ＩＫＥ処理の相手先の他の通信装置を送信先とするＩＰパケットを前記保留バッファから削除する通信制御方法である。
【００１１】
この第２の発明によれば、ＩＫＥ処理によるＳＡの確立が失敗した場合には、このＩＫＥ処理の相手先の通信装置を送信先とするＩＰパケットが保留バッファから削除される。これにより、ＳＡの確立失敗により送信され得ないＩＰパケットが削除されることで、保留バッファの効率の良い使用が可能となる。
【００１２】
第３の発明は、第１又は第２の発明の通信制御方法を、通信装置に内蔵されたコンピュータに実行させるためのプログラムである。
【００１３】
この第３の発明によれば、このプログラムに従った演算処理をコンピュータに実行させることで、第１又は第２の発明と同様の効果を奏することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の好適な実施形態を説明する。
【００１５】
［システム構成］
図１は、本実施形態の通信システムの構成図である。同図に示すように、本実施形態の通信システムは、複数のＰＣ（Personal Computer）１０それぞれが、通信装置２０を介してインターネットである通信ネットワークＮに接続されている。
【００１６】
通信装置２０は、ＩＰｓｅｃを実装したＩＰｓｅｃ装置であり、他の通信装置２０との間で、ＩＰｓｅｃによりセキュリティが確保された暗号化通信（ＩＰｓｅｃ通信）を行う。すなわち、通信装置２０は、ＰＣ１０から送信を要求されたＩＰパケットをＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し、通信ネットワークＮを介して他の通信装置２０に送信する。また、他の通信装置２０から送信されてきたＩＰｓｅｃパケットを復号してＰＣ１０に転送する。なお、本実施形態では、通信装置２０はＰＣ１０の別体の装置として図示・説明するが、ＰＣ１０に内蔵されることにしても良い。
【００１７】
ＩＰｓｅｃは、インターネットの標準プロトコルであるＴＣＰ／ＩＰのＩＰ層で規定される暗号化通信の標準規格であり、ＩＰパケット単位で認証・暗号化を行う。ＩＰｓｅｃでは、先ず、「ＩＫＥ」による「ＩＰｓｅｃ−ＳＡ（以下、単に「ＳＡ」と表記する）」の確立（合意）がなされた後、このＳＡに従ったＩＰｓｅｃ通信が行われる。「ＩＫＥ」は、相手装置とのネゴシエーションを行って使用する認証・暗号化アルゴリズムや暗号鍵等の生成・交換を行う鍵交換プロトコルであり、「ＩＳＡＫＭＰ（Internet Security Association and Key Management Protocol）」や「Ｏａｋｌｅｙ」をもとにしている。そして、このＩＫＥ処理によって合意が得られた認証・暗号化アルゴリズムや暗号鍵に関する取り決めが「ＳＡ」であり、これは、送信先の通信装置との間で確立される論理的な単方向のコネクション（トンネル）に相当する。ＳＡには、確立からの経過時間或いは送受信したパケット量で設定される有効期間があり、この有効期間を満了すると消滅し、新たなＳＡが確立される（ＲｅＫｅｙ）。また、ＳＡの確立とともに、このＳＡに関連付けられた「ＳＰＩ（Security Parameters Index）」が決定される。「ＳＰＩ」は、ＩＰｓｅｃパケットのヘッダに付加され、当該ＳＰＩが適用されるＳＡを識別するために用いられる。また、ＩＰｓｅｃでは、認証・暗号化のためのプロトコルとして、暗号化及び認証機能を提供するＡＨ（Authentication Header：認証ヘッダ）と、認証機能のみを提供するＥＳＰ（Encapsulating Security Payload：暗号ペイロード）との２種類が規定されており、両方又は一方が使用される。
【００１８】
本実施形態の特徴として、通信装置２０は、ＩＰパケットを一時的に格納（保持）する保留バッファを備える。この保留バッファ３１０には、ＩＰパケットの送信時に、送信先の通信装置２０とのＳＡが確立されていない場合、そのＩＰパケットが格納される。保留バッファに格納されているＩＰパケットは、送信先の通信装置２０とのＳＡが確立されると保留バッファ３１０から取り出され、当該ＳＡに従ってＩＰｓｅｃ化されて送信先の通信装置２０に送信される。
【００１９】
［通信装置］
図２は、通信装置２０の内部構成を示すブロック図である、同図によれば、通信装置２０は、ＣＰＵ１１０と、フラッシュメモリ１２０と、ＲＡＭ１３０と、ＩＰ通信部１５０と、ＰＣ用通信部１４０とを備えて構成される。
【００２０】
ＣＰＵ１１０は、フラッシュメモリ１２０やＲＡＭ１３０に記憶されているプログラムやデータ、ＰＣ用通信部１４０やＩＰ通信部１５０を介して外部装置（主に、ＰＣ１０や他の通信装置２０）から受信されたデータ等に基づいて、通信装置２０の全体制御等の各種処理を行う。
【００２１】
フラッシュメモリ１２０は、ＣＰＵ１１０が通信装置２０を統合的に制御するためのシステムプログラムや、本実施形態のＩＰｓｅｃ通信を実現するための通信制御プログラム１２１を記憶している。ＲＡＭ１３０は、ＣＰＵ１１０の作業領域として用いられ、保留バッファ３１０が形成されるとともに、ＩＰｓｅｃ−ＳＡＤ３２０と、ＩＰｓｅｃ−ＳＰＤ３３０と、ＩＳＡＫＭＰ−ＳＡＤ３４０と、ＩＳＡＫＭＰ−ＳＰＤ３５０といったデータベースを記憶する。
【００２２】
ＰＣ用通信部１４０は、接続されたＰＣ１０とデータの送受信を行う。なお、通信装置２０がＰＣ１０に内蔵される場合、このＰＣ用通信部１４０はバス等で実現される。ＩＰ通信部１５０は、ＴＣＰ／ＩＰプロトコルを実装し、通信ネットワークＮを介して他の通信装置２０とＩＰ通信を行う。
【００２３】
［通信装置］
図３は、通信装置２０におけるＩＰｓｅｃパケットの送信処理に関する機能構成図である。同図によれば、通信装置２０は、送信処理に関する機能部として、ＮＥＴＷＯＲＫ部２１０と、認証・暗号化処理部２２０と、ＡＨ／ＥＳＰモジュール部２３０と、ＡＨ／ＥＳＰタスク部２４０と、ＩＫＥタスク部２５０とを備えて構成される。これらの処理機能部は、ＣＰＵ１１０により実行されるソフトウェアとして実現される。また、データベースとして、ＩＰｓｅｃ−ＳＡＤ３２０と、ＩＰｓｅｃ−ＳＰＤ３３０と、ＩＳＡＫＭＰ−ＳＰＤ３５０と、ＩＳＡＫＭＰ−ＳＡＤ３４０とを備えている。
【００２４】
ＮＥＴＷＯＲＫ部２１０は、ＴＣＰ／ＩＰプロトコルスタックを実装しており、ＰＣ１０との間でデータの送受信を行うとともに、他の通信装置２０との間でＩＰｓｅｃパケットを送受信するＩＰｓｅｃ通信を行う。具体的には、ＰＣ１０からＩＰパケットの送信要求がなされると、ＡＨ／ＥＳＰモジュール部２３０にＩＰｓｅｃパケットの編集（生成）を要求する。そして、この要求に応答して生成されたＩＰｓｅｃパケットの送信が要求されると、このＩＰｓｅｃパケットを、通信ネットワークＮを介して該当する他の通信装置２０に送信する。このＮＥＴＷＯＲＫ部２１０は、図２のＩＰ通信部１５０及びＰＣ用通信部１４０に該当する。
【００２５】
認証・暗号化処理部２２０は、ＡＨ／ＥＳＰモジュール部２３０やＡＨ／ＥＳＰタスク部２４０からの認証・暗号化要求に応じて、データの認証や暗号化を行う。暗号化処理としては、ＤＥＳ（Data Encryption Standard）や３ＤＥＳ、ＡＥＳ（Advanced Encryption Standard）等のアルゴリズムに従った処理を実行する。また、認証処理としては、ＨＭＡＣ−ＭＤ５、ＨＭＡＣ−ＳＨＡ等のアルゴリズムに従った処理を実行する。
【００２６】
ＡＨ／ＥＳＰモジュール部２３０は、ＮＥＴＷＯＲＫ部２１０からＩＰｓｅｃパケットの編集要求がなされると、ＩＰｓｅｃ−ＳＰＤ３３０を参照して、ＩＰｓｅｃ−ＳＡＤ３２０から、要求されたＩＰパケットに該当するＩＰｓｅｃ−ＳＡデータを検索する。該当するＩＰｓｅｃ−ＳＡデータが“有る”ならば、要求されたＩＰパケットを、当該ＩＰｓｅｃ−ＳＡデータに従ってＩＰｓｅｃ化してＩＰｓｅｃパケットを生成し、ＮＥＴＷＯＲＫ部２１０に、生成したＩＰｓｅｃパケットの送信を要求する。このとき、認証・暗号化処理部２２０にＩＰパケットの認証・暗号化を要求し、この要求に応答して認証・暗号化されたデータをＩＰｓｅｃ化してＩＰｓｅｃパケットを生成する。一方、ＩＰｓｅｃ−ＳＡＤ３２０に該当するＩＰｓｅｃ−ＳＡデータが“無い”ならば、ＡＨ／ＥＳＰタスク部２４０に、当該ＩＰパケットの送信先の通信装置２０とのＳＡ確立を要求する。
【００２７】
図４は、ＡＨ／ＥＳＰモジュール部２３０が実行する処理の流れを説明するためのフローチャートである。同図によれば、ＡＨ／ＥＳＰモジュール部２３０は、ＮＥＴＷＯＲＫ部２１０からＩＰパケットの編集要求がなされると（ステップＡ１：ＹＥＳ）、要求されたＩＰパケットの送信先の通信装置２０とのＩＰｓｅｃ−ＳＡデータをＩＰｓｅｃ−ＳＡＤ３２０から検索する（ステップＡ３）。
【００２８】
そして、該当するＩＰｓｅｃ−ＳＡデータが有るならば（ステップＡ５：ＹＥＳ）、このＩＰｓｅｃ−ＳＡデータに従って、要求されたＩＰパケットをＩＰｓｅｃ処理してＩＰｓｅｃパケットを生成し（ステップＡ７）、ＮＥＴＷＯＲＫ部２１０に、生成したＩＰｓｅｃパケットの送信を要求する（ステップＡ９）。一方、該当するＩＰｓｅｃ−ＳＡデータが無いならば（ステップＡ５：ＮＯ）、ＡＨ／ＥＳＰタスク部２４０に、要求されたＩＰパケットの送信先の通信装置２０とのＳＡ確立を要求する（ステップＡ１１）。その後、ステップＡ１に戻り、以上の処理を繰り返し実行する。
【００２９】
図３に戻り、ＡＨ／ＥＳＰタスク部２４０は、ＡＨ／ＥＳＰモジュール部２３０からＳＡ確立要求がなされると、ＩＫＥタスク部２５０にＳＡ確立を要求するとともに、要求されたＩＰパケットを保留バッファ３１０に格納する。そして、この要求に応答してＩＫＥタスク部２５０からＳＡ確立が通知されると、保留バッファ３１０から、当該ＳＡが確立された通信装置２０を送信先とするＩＰパケットを抜き出し、ＩＰｓｅｃ化してＩＰｓｅｃパケットを生成し、ＮＥＴＷＯＲＫ部２１０に生成したＩＰｓｅｃパケットの送信を要求する。ここで、該当するＩＰパケットが複数有る場合、全てを抜き出し、それぞれについてＩＰｓｅｃ化してＩＰｓｅｃパケットを生成する。また、ＩＫＥタスク部２５０からＳＡ確立失敗が通知されると、保留バッファ３１０から、当該ＳＡの確立が失敗した通信装置２０を送信先とするＩＰパケットを削除する。
【００３０】
図５は、ＡＨ／ＥＳＰタスク部２４０が実行する処理の流れを説明するためのフローチャートである。同図によれば、ＡＨ／ＥＳＰタスク部２４０は、ＡＨ／ＥＳＰモジュール部２３０からＳＡ確立要求がなされると（ステップＢ１：ＹＥＳ）、要求されたＩＰパケットを保留バッファ３１０に格納するとともに（ステップＢ３）、ＩＫＥタスク部２５０に、このＩＰパケットの送信先の通信装置２０とのＳＡの確立を要求する（ステップＢ５）。
【００３１】
また、ＩＫＥタスク部２５０からＳＡ確立が通知されたならば（ステップＢ７：ＹＥＳ）、保留バッファ３１０から、確立が通知されたＳＡの通信装置２０を送信先とするＩＰパケットを取り出す（ステップＢ９）。また、ＩＰｓｅｃ−ＳＡＤ３２０から、確立されたＳＡのＩＰｓｅｃ−ＳＡデータを検索する（ステップＢ１１）。そして、取り出したＩＰパケットを検索したＩＰｓｅｃ−ＳＡデータに従ってＩＰｓｅｃ処理してＩＰパケットを生成し（ステップＢ１３）、ＮＥＴＷＯＲＫ部２１０に、生成したＩＰパケットの送信を要求する（ステップＢ１５）。また、ＩＫＥタスク部２５０からＳＡ確立失敗が通知されたならば（ステップＢ７：ＮＯ〜Ｂ１７：ＹＥＳ）、保留バッファ３１０から、確立が失敗したＳＡの通信装置２０を送信先とするＩＰパケットを削除する（ステップＢ１９）。その後、ステップＢ１に戻り、以上の処理を繰り返し実行する。
【００３２】
図３に戻り、ＩＫＥタスク部２５０は、ＡＨ／ＥＳＰタスク部２４０からＳＡ確立要求がなされると、該当する他の通信装置２０とのネゴシエーションを行ってＳＡを確立するＩＫＥ処理を行う。そして、ＳＡを確立すると、確立したＳＡについてのＳＡデータをＩＰｓｅｃ−ＳＡＤ３２０に、ＳＰ（Security Policy）データをＩＰｓｅｃ−ＳＰＤ３３０に、それぞれ格納する。それとともに、ＡＨ／ＥＳＰタスク部２４０にＳＡ確立を通知する。一方、ＳＡ確立を失敗した場合には、ＡＨ／ＥＳＰタスク部２４０にＳＡ確立失敗を通知する。
【００３３】
図６は、ＩＫＥタスク部２５０が実行する処理の流れを説明するためのフローチャートである。同図によれば、ＩＫＥタスク部２５０は、ＡＨ／ＥＳＰタスク部２４０からＳＡの確立要求がなされたならば（ステップＣ１：ＹＥＳ）、要求された通信装置２０とのＩＫＥ処理を行う（ステップＣ３）。その結果、ＳＡの確立が成功したならば（ステップＣ５：ＹＥＳ）、確立したＳＡのＩＰｓｅｃ−ＳＡデータを、ＩＰｓｅｃ−ＳＡＤ３２０に登録するとともに（ステップＣ７）、ＡＨ／ＥＳＰタスク部２４０に、ＳＡ確立を通知する（ステップＣ９）。一方、ＳＡの確立が失敗したならば（ステップＣ５：ＮＯ）、ＡＨ／ＥＳＰタスク部２４０に、ＳＡ確立失敗を通知する（ステップＣ１１）。その後、ステップＣ１に戻り、以上の処理を繰り返し実行する。
【００３４】
図３に戻り、ＩＰｓｅｃ−ＳＡＤ３２０は、当該装置と他の通信装置２０それぞれとのＩＰｓｅｃ−ＳＡデータを格納するデータベースであり、現時点において、当該装置とＳＡが確立されている通信装置２０とのＩＰｓｅｃ−ＳＡデータが格納されている。
【００３５】
ＩＰｓｅｃ−ＳＰＤ３３０は、当該装置と他の通信装置２０それぞれとのＩＰｓｅｃ−ＳＰデータを格納したデータベースであり、ＩＰｓｅｃ−ＳＡＤ３２０と同様に、現時点において、当該装置とＳＡが確立されている通信装置２０とのＩＰｓｅｃ−ＳＰデータが格納されている。「ＳＰ」は、各パケットにＩＰｓｅｃを適用するか否かを定義したルールであり、具体的には、上位層のプロトコル、送信元及び宛先それぞれのＩＰアドレスやポート番号等によってＩＰｓｅｃを適用するパケットを指定する「セレクタ」や、ＩＰｓｅｃを適用する際に利用するＩＰｓｅｃプロトコル（ＡＨ、ＥＳＰ）やモード（トランスポート、トンネル）を含んでいる。
【００３６】
ＩＳＡＫＭＰ−ＳＡＤ３４０は、ＩＫＥタスク部２５０が、他の通信装置２０とのＩＫＥ処理を行う際に使用する他の各通信装置２０とのＩＳＡＫＭＰ−ＳＡデータを保持するデータベースである。ＩＳＡＫＭＰ−ＳＰＤ３５０は、ＩＫＥタスク部２５０が、他の通信装置２０とのＩＫＥ処理を行う際に使用するＩＳＡＫＭＰ−ＳＰデータを格納するデータベースである。
【００３７】
保留バッファ３１０は、複数のＩＰパケットを格納可能なバッファである。図７（ａ）に、保留バッファ３１０の構成を示す。同図（ａ）に示すように、保留バッファ３１０には、保留パケットが時系列に格納される。同図（ｂ）に、保留パケットの概略的なデータ構成を示す。同図（ｂ）に示すように、保留パケットは、ＩＰパケットデータに、当該ＩＰパケットの送信元の通信装置のＩＰアドレス（送信元ＩＰアドレス）や、送信先の通信装置のＩＰアドレス（宛先ＩＰアドレス）、プロトコル番号といったヘッダ情報が付加されて構成されている。
【００３８】
［処理シーケンス］
図８は、ＩＰｓｅｃパケットの送信時の処理シーケンスを示す図であり、送信先の通信装置２０とのＳＡが確立されていない場合を示している。同図によれば、ＰＣ１０から通信装置２０に対してパケットの送信要求がなされると（１）、ＮＥＴＷＯＲＫ部２１０が、ＡＨ／ＥＳＰモジュール部２３０にＩＰｓｅｃパケットの編集を要求する（２）。すると、ＡＨ／ＥＳＰモジュール部２３０が、ＩＰｓｅｃ−ＳＡＤ３２０から、要求されたＩＰパケットに該当するＩＰｓｅｃ−ＳＡデータを検索して、送信先の通信装置２０とのＳＡの確立有無を判定する（３）。その結果、該当するＩＰｓｅｃ−ＳＡデータが“無し”と判定すると、ＡＨ／ＥＳＰモジュール部２３０は、ＡＨ／ＥＳＰタスク部２４０に、要求されたＩＰパケットとともに当該ＩＰパケットの送信先の通信装置２０との間のＳＡ確立を要求する（４）。
【００３９】
次いで、ＡＨ／ＥＳＰタスク部２４０は、要求されたＩＰパケットを保留バッファ３１０に格納するとともに（５）、ＩＫＥタスク部２５０に、要求された通信装置２０とのＳＡ確立を要求する（６）。そして、ＩＫＥタスク部２５０は、ＩＫＥ処理を行って要求された通信装置２０とのＳＡを確立し、確立したＳＡのＩＰｓｅｃ−ＳＡデータをＩＰｓｅｃ−ＳＡＤ３２０に登録するとともに（７）、ＡＨ／ＥＳＰタスク部２４０にＳＡ確立を通知する（８）。
【００４０】
すると、ＡＨ／ＥＳＰタスク部２４０は、保留バッファ３１０から、ＳＡが確立された通信装置２０を送信先とするＩＰパケットを抜き出し（９）、当該確立されたＳＡのＩＰｓｅｃ−ＳＡデータに従ってＩＰｓｅｃ化してＩＰｓｅｃパケットを生成する（１０）。そして、ＮＥＴＷＯＲＫ部２１０に、生成したＩＰｓｅｃパケットの送信を要求し（１１）、ＮＥＴＷＯＲＫ部２１０は、要求されたＩＰｓｅｃパケットを、該当する他の通信装置２０に送信する（１２）。
【００４１】
［作用・効果］
このように、本実施形態によれば、ＩＰｓｅｃ通信を行う通信装置２０では、ＩＰパケットを格納する保留バッファ３１０を備え、ＡＨ／ＥＳＰモジュール部２３０が、送信先の通信装置２０との間でＳＡが確立されているＩＰパケットを、当該ＳＡデータに従ってＩＰｓｅｃ処理して送信する処理と、ＡＨ／ＥＳＰタスク部２４０が、送信先の通信装置２０とのＳＡが確立されていないＩＰパケットを保留バッファ３１０に格納するとともに、ＩＫＥタスク部２５０に当該ＳＡを確立させるためのＩＫＥ処理を行わせる処理と、ＡＨ／ＥＳＰタスク部２４０が、ＩＫＥタスク部２５０のＩＫＥ処理によって確立されたＳＡに該当するＩＰパケットを保留バッファ３１０から取り出し、当該ＳＡデータに従ってＩＰｓｅｃ処理して送信する処理とのそれぞれが独立して行われる。つまり、ＰＣ１０から送信が要求されるＩＰパケットそれぞれに対して、ＩＰｓｅｃ処理するか或いは保留バッファ３１０に格納するかの何れかの処理が速やかに行われる。これにより、送信先の通信装置２０とのＳＡが確立されていない場合であっても、当該ＳＡの確立までの処理の「待ち」が生じない。
【００４２】
［変形例］
なお、本発明の適用は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【００４３】
例えば、上述の実施形態では、ＩＫＥタスク部２５０によるＳＡの確立が失敗した場合、ＡＨ／ＥＳＰタスク部２４０は、このＳＡの確立が失敗した通信装置２０を送信先とするＩＰパケットを保留バッファ３１０から削除することにしたが、これを、ＡＨ／ＥＳＰタスク部２４０が、ＩＫＥタスク部２５０に当該通信装置２０との間のＳＡの確立を再度行わせるようにしても良い。或いは、ＳＡの確立失敗をＰＣ１０に通知し、ＰＣ１０からの指示に従って、当該ＩＰパケットを保留バッファ３１０から削除する、或いは当該通信装置２０との間のＳＡを再確立することにしても良い。
【図面の簡単な説明】
【００４４】
【図１】通信システムの構成図。
【図２】通信装置の内部構成図。
【図３】通信装置のＩＰｓｅｃパケット送信処理に関する機能構成図。
【図４】ＡＨ／ＥＳＰモジュール部が実行する処理のフローチャート。
【図５】ＡＨ／ＥＳＰタスク部が実行する処理のフローチャート。
【図６】ＩＫＥタスク部が実行する処理のフローチャート。
【図７】保留バッファの構成図。
【図８】ＩＰｓｅｃパケット送信処理のシーケンス。
【符号の説明】
【００４５】
１０  ＰＣ
２０  通信装置（ＩＰｓｅｃ装置）
２１０  ＮＥＴＷＯＲＫ部、２２０  認証・暗号化処理部
２３０  ＡＨ／ＥＳＰモジュール部、２４０  ＡＨ／ＥＳＰタスク部
２５０  ＩＫＥタスク部
３１０  保留バッファ
３２０  ＩＰｓｅｃ−ＳＡＤ、３３０  ＩＰｓｅｃ−ＳＰＤ
３４０  ＩＳＡＫＭＰ−ＳＡＤ、３５０  ＩＳＡＫＭＰ−ＳＰＤ
【図１】
2009060245.tif 000003
【図２】
2009060245.tif 000004
【図３】
2009060245.tif 000005
【図４】
2009060245.tif 000006
【図５】
2009060245.tif 000007
【図６】
2009060245.tif 000008
【図７】
2009060245.tif 000009
【図８】
2009060245.tif 000010