(57)【要約】【課題】  自動鍵交換処理によって確立されたＩＰｓｅｃ  ＳＡの不一致発生の防止。【解決手段】  ＩＰｓｅｃ  ＳＡに対する削除通知メッセージを送信後、相手側通信装置が削除対象のＩＰｓｅｃ  ＳＡ情報の削除を実施したかを確認する。すなわち、該当ＩＰｓｅｃ  ＳＡを利用した“確認パケット”を送信し、相手側通信装置の応答を確認する（到達確認処理）。相手側通信装置からの応答パケットが返ってきた場合、ＩＰｓｅｃ  ＳＡが削除されていないことがわかるので、再度削除通知メッセージ及び“確認パケット”を送信することにより、相手側通信装置の状況を確認する。【選択図】      図２
2006352500.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰｓｅｃ（ＩＰセキュリティプロトコル）及びＩＫＥ(Internet Key Exchange)に基づいてＩＳＡＫＭＰ  ＳＡ(Internet Security Association and Key Management Protocol)及びＩＰｓｅｃ  ＳＡ(Security Association)を確立し、暗号通信を行う通信装置であって、
前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているＩＰｓｅｃ  ＳＡに関する情報と、そのＩＰｓｅｃ  ＳＡの確立に用いたＩＳＡＫＭＰ  ＳＡの識別子と、を記憶する管理手段と、
前記管理手段で記憶されているＩＰｓｅｃ  ＳＡ情報に対する削除通知メッセージを作成し、前記削除通知メッセージを前記相手通信装置に送信する削除通知メッセージ送信手段と、
前記削除通知メッセージの送信を、所定の終了条件が満たされるまで繰り返す終了条件判定手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記管理手段で記憶されているＩＰｓｅｃ  ＳＡ情報は、ＩＰｓｅｃ  ＳＡの有効期限を含んでおり、
前記終了条件判定手段は、前記ＩＰｓｅｃ  ＳＡの有効期限が過ぎた場合、終了条件が満たされたと判断することを特徴とする、請求項１に記載の通信装置。
【請求項３】
前記削除通知メッセージの削除対象であるＩＰｓｅｃ  ＳＡ情報を用いたパケットを、前記削除通知メッセージを送信後の所定時間以内に受信したか否かを判断するパケット受信判定手段をさらに備え、
前記終了条件判定手段は、前記パケット受信判定手段の判断に基づいて前記終了条件が満たされたか否かを判断することを特徴とする、請求項１に記載の通信装置。
【請求項４】
前記相手通信装置に削除通知メッセージが到達したか否かを判断する確認手段をさらに備えることを特徴とする、請求項１に記載の通信装置。
【請求項５】
前記終了条件判定手段は、前記確認手段の判断に基づいて前記終了条件が満たされたか否かを判断することを特徴とする、請求項４に記載の通信装置。
【請求項６】
所定の終了条件が満たされるまで前記削除通知メッセージを送信しても、前記相手通信装置に前記削除通知メッセージが到達していないと前記確認手段が判断した場合、前記終了条件判定手段は、前記相手通信装置が前記削除対象のＩＰｓｅｃ  ＳＡ情報を削除していない旨を、ユーザに通知することを特徴とする、請求項４に記載の通信装置。
【請求項７】
前記確認手段は、
送信したパケットに対する応答パケットの一部もしくは全てが規定されている確認用プロトコルと、前記削除対象のＩＰｓｅｃ  ＳＡ情報と、を用いて確認パケットを作成し、前記確認パケットを送信する確認パケット送信手段と、
受信したパケットが前記削除対象のＩＰｓｅｃ  ＳＡ情報を用いている、かつ前記確認パケットに対する応答パケットであるか否かを判断する応答パケット判定手段と、を有しており、
前記確認手段は、前記応答パケット判定手段の判断結果に基づいて、前記削除通知メッセージが前記相手通信装置に到達しているか否かを判断することを特徴とする、請求項４に記載の通信装置。
【請求項８】
前記確認パケット送信手段は、前記削除対象のＩＰｓｅｃ  ＳＡ情報を用いて暗号化されたデータを含む確認パケットを送信し、
前記応答パケット判定手段は、前記削除対象のＩＰｓｅｃ  ＳＡ情報を用いて前記応答パケット中のデータを復号化可能か否かを判断し、
前記確認手段は、前記応答パケット判定手段が復号化可能と判断した場合、前記削除通知メッセージが前記相手通信装置に到達していないと判断することを特徴とする、請求項７に記載の通信装置。
【請求項９】
前記ＩＰｓｅｃ  ＳＡ情報には、ＩＰｓｅｃ  ＳＡを識別するＩＰｓｅｃ  ＳＡ識別子が含まれており、
前記応答パケット判定手段は、前記削除対象のＩＰｓｅｃ  ＳＡ識別子に基づいて、前記確認データに対する応答パケットであるか否かを判断することを特徴とする、請求項７に記載の通信装置。
【請求項１０】
前記管理手段は、ＩＰｓｅｃ  ＳＡ情報と、前記相手通信装置との間で使用可能な確認用プロトコルに関する情報と、を対応づけてさらに記憶し、
前記確認パケット送信手段は、前記削除通知メッセージの１回目の送信に先立って１回目の確認パケットを前記相手通信装置に送信し、
前記確認手段は、前記１回目の確認パケットに関する応答パケット判定手段の判断結果に基づいて、前記管理手段に記憶されている確認用プロトコルに関する情報を更新する状況確認手段をさらに有することを特徴とする、請求項７に記載の通信装置。
【請求項１１】
前記確認用プロトコルは、ＴＣＰであることを特徴とする、請求項７に記載の通信装置。
【請求項１２】
前記管理手段は、ＩＰｓｅｃ  ＳＡの有効期限を前記ＩＰｓｅｃ  ＳＡ情報と対応づけてさらに記憶し、
前記確認パケット送信手段は、前記確認パケットを繰り返し送信し、
前記確認手段は、前記ＩＰｓｅｃ  ＳＡの有効期限が満了すると、前記確認パケット送信手段による確認パケットの送信を停止させることを特徴とする、請求項７に記載の通信装置。
【請求項１３】
前記確認パケット送信手段は、前記確認パケットを繰り返し送信し、前記相手通信装置から自動鍵交換処理の開始を意図するＩＳＡＫＭＰパケットを受信した場合、前記確認パケットの送信を停止することを特徴とする、請求項７に記載の通信装置。
【請求項１４】
前記確認パケット送信手段は、確認パケットの作成において、パケットの送信元アドレスを前記自通信装置に設定されているアドレスとは異なるアドレスに書き換えることを特徴とする請求項７に記載の通信装置。
【請求項１５】
ネットワークで接続された請求項１に記載の通信装置を複数含むことを特徴とする通信システム。
【請求項１６】
ＩＰｓｅｃ（ＩＰセキュリティプロトコル）及びＩＫＥ(Internet Key Exchange)に基づいてＩＳＡＫＭＰ  ＳＡ(Internet Security Association and Key Management Protocol)及びＩＰｓｅｃ  ＳＡ(Security Association)を確立し、暗号通信を行う通信方法であって、
前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているＩＰｓｅｃ  ＳＡに関する情報と、そのＩＰｓｅｃ  ＳＡの確立に用いたＩＳＡＫＭＰ  ＳＡの識別子と、を記憶する管理ステップと、
前記ステップで記憶されているＩＰｓｅｃ  ＳＡ情報に対する削除通知メッセージを作成し、前記削除通知メッセージを前記相手通信装置に送信する削除通知メッセージ送信ステップと、
前記削除通知メッセージの送信を、所定の終了条件が満たされるまで繰り返す終了条件判定ステップと、
を備えることを特徴とする通信方法。
【請求項１７】
ＩＰｓｅｃ（ＩＰセキュリティプロトコル）及びＩＫＥ(Internet Key Exchange)に基づいてＩＳＡＫＭＰ  ＳＡ(Internet Security Association and Key Management Protocol)及びＩＰｓｅｃ  ＳＡ(Security Association)を確立し、暗号通信を行うコンピュータ端末が実行する通信プログラムであって、
前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているＩＰｓｅｃ  ＳＡに関する情報と、そのＩＰｓｅｃ  ＳＡの確立に用いたＩＳＡＫＭＰ  ＳＡの識別子と、を記憶する管理手段、
前記管理手段で記憶されているＩＰｓｅｃ  ＳＡ情報に対する削除通知メッセージを作成し、前記削除通知メッセージを前記相手通信装置に送信する削除通知メッセージ送信手段、及び
前記削除通知メッセージの送信を、所定の終了条件が満たされるまで繰り返す終了条件判定手段、
として前記コンピュータ端末を機能させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号通信システムに関する。さらに詳しくは、ＩＰセキュリティプロトコル（ＩＰｓｅｃ）による暗号機能を内蔵した通信技術に関する。
【背景技術】
【０００２】
ＲＦＣ２４０１〜ＲＦＣ２４１２（ＲＦＣ：Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）には、１）ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）における暗号通信、２）ＩＰパケットの認証を行うプロトコルであるＩＰセキュリティプロトコル（ＩＰｓｅｃ）、３）そのための情報を折衝する自動鍵交換（ＩＫＥ：Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）が、規定されている。以下、特に断らない限り、暗号通信には、ＩＰｓｅｃの通信データに対する認証機能を含むこととする。
【０００３】
ＩＰｓｅｃによる暗号機能を内蔵した通信装置は、セキュリティアソシエーション（暗号通信路：ＳＡ）と呼ぶ論理的な通信路上で暗号通信を行う。セキュリティアソシエーションでは、暗号通信で用いられる鍵情報（暗号鍵、認証鍵）や、適用する暗号アルゴリズム及び認証アルゴリズム情報などが管理される。特に、ＩＰｓｅｃによる暗号通信で使用されるセキュリティアソシエーション（暗号通信路）をＩＰｓｅｃ  ＳＡと呼ぶ。
【０００４】
暗号通信を行う２者間において、ＩＰｓｅｃ  ＳＡを確立する方法としては、両者において手動でＩＰｓｅｃ  ＳＡの諸情報を設定する手動鍵設定方法がある。このほか、両者間で互いに暗号通信を行う正当な相手か否かを確認し、ＩＰｓｅｃ  ＳＡの諸情報を２者間で折衝して決定し、確立する自動鍵交換（ＩＫＥ）方法もある。
【０００５】
ＩＫＥは特に、ＲＦＣ２４０７〜ＲＦＣ２４０９で規定されている。ＩＫＥでは、ＩＰｓｅｃ  ＳＡを確立するために折衝を行うが、この折衝を行うための制御用通信路をＩＳＡＫＭＰ  ＳＡと呼ぶ。このＩＳＡＫＭＰ  ＳＡは、ＩＰｓｅｃ  ＳＡを確立するためだけではなく、ＩＰｓｅｃ  ＳＡの更新や、切断（ＳＡ情報の削除）を行うためにも使用される。ＩＰｓｅｃ  ＳＡを切断するときには、削除通知メッセージを一方の通信装置から他方に送る。送信側は、削除通知メッセージを送信した後に、自端末内のＳＡ情報を削除する。他方の通信装置は、削除通知メッセージを受信すると、メッセージに従ってＳＡ情報を削除する。なお、ＩＳＡＫＭＰは、Ｉｎｔｅｒｎｅｔ  Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌの略であり、ＩＫＥの通信プロトコルを規定する名称である。
【非特許文献１】標準仕様書「ＲＦＣ２４０７」、ＩＥＴＦ、［平成１６年１１月２９日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２４０７．ｔｘｔ＞
【非特許文献２】標準仕様書「ＲＦＣ２４０８」、ＩＥＴＦ、［平成１６年１１月２９日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２４０８．ｔｘｔ＞
【非特許文献３】標準仕様書「ＲＦＣ２４０９」、ＩＥＴＦ、［平成１６年１１月２９日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２４０９．ｔｘｔ＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記ＩＫＥプロトコルを用いたＩＰｓｅｃによる暗号通信では、アプリケーション（あるいはそのユーザ）によりＩＰｓｅｃ  ＳＡを切断しようとしても、削除通知メッセージが相手の通信装置に到達しない場合がある。この場合、一定期間、両方の通信装置間で暗号通信が成立しなくなる問題がある。
【０００７】
図２２は、この問題の発生を示す説明図である。一方の通信装置Ａで切断処理が行われると、この装置は保持しているＳＡ情報を削除し、相手方の通信装置Ｂに削除通知メッセージを送信する。しかし、削除通知メッセージは、ネットワーク上で破棄される可能性がある。ここで、削除通知メッセージは、ＵＤＰプロトコルを使用したＩＳＡＫＭＰメッセージの一つである。そのため、これがネットワーク上で破棄されたとしても、通信装置Ｂは削除通知メッセージを検知することができない。そのため、通信装置Ｂでは、該当するＩＰｓｅｃＳＡ情報が存在したままとなる。なお、ＩＰｓｅｃ通信では、その通信方向毎にＩＰｓｅｃ  ＳＡの情報を管理しており、ＩＫＥを用いた場合は、双方向通信を実現するＩＰｓｅｃ  ＳＡを確立するため、各通信装置で管理されるＩＰｓｅｃ  ＳＡ情報としては入力用と出力用の計２つが存在する。しかし、図２２では、双方向通信を前提とし、これらをまとめて一本のＩＰｓｅｃ  ＳＡとして図示している。
【０００８】
前述のような、片方の通信装置にのみＩＰｓｅｃ  ＳＡ情報があり、他方の通信装置にはその情報が存在しない状態を、ＩＰｓｅｃ  ＳＡ不一致の状態という。この状態において、ＳＡ情報を保持している通信装置Ｂは、既に保持しているＩＰｓｅｃ  ＳＡを用いて、該当パケットを暗号化して送信する。これに対し、他方の通信装置Ａでは、該当するＩＰｓｅｃ  ＳＡを既に削除しているため、受信したパケットを廃棄し、暗号通信が成立しない。
【０００９】
この暗号通信不能の状態からの復帰は、次の方法で行うことができる。第１の方法は、不一致が発生しているＩＰｓｅｃ  ＳＡの寿命が尽きるのを待って、再度ＩＰｓｅｃ  ＳＡを確立する方法である。第２の方法は、アプリケーションまたはそのユーザが、所定期間待って暗号通信が成立しないことを確認した後、保持しているＩＰｓｅｃ  ＳＡを明示的に削除することによって、再度ＩＰｓｅｃ  ＳＡを確立する方法である。しかし、いずれにしても、一方の通信装置において、ＩＰｓｅｃ  ＳＡの切断処理を行ってから、再度ＩＰｓｅｃ  ＳＡの確立を開始できるまでに時間を要してしまう。
【００１０】
以上のように、アプリケーションまたはそのユーザによるＩＰｓｅｃ  ＳＡの明示的な切断では、一方の通信装置から送信する削除通知メッセージが、相手側通信装置に到達しないことにより、ＩＰｓｅｃ  ＳＡ不一致の状態が発生し、一定時間暗号通信が成立しなくなる。また、暗号通信の復帰までに時間を要する。
【００１１】
そこで、本発明は、上述したＩＫＥにおける削除通知メッセージをサポートする通信装置間において、ＩＰｓｅｃ  ＳＡ不一致の状態の発生を防止する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記課題を解決するために、発明１は、ＩＰｓｅｃ（ＩＰセキュリティプロトコル）及びＩＫＥ(Internet Key Exchange)に基づいてＩＳＡＫＭＰ  ＳＡ(Internet Security Association and Key Management Protocol)及びＩＰｓｅｃ  ＳＡ(Security Association)を確立し、暗号通信を行う通信装置を提供する。この通信装置は、以下の手段を備えている。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているＩＰｓｅｃ  ＳＡに関する情報と、そのＩＰｓｅｃ  ＳＡの確立に用いたＩＳＡＫＭＰ  ＳＡの識別子と、を記憶する管理手段、
・前記管理手段で記憶されているＩＰｓｅｃ  ＳＡ情報に対する削除通知メッセージを作成し、前記削除通知メッセージを前記相手通信装置に送信する削除通知メッセージ送信手段、
・前記削除通知メッセージの送信を、所定の終了条件が満たされるまで繰り返す終了条件判定手段。
【００１３】
アプリケーションやそのユーザによりＩＰｓｅｃ  ＳＡを切断する場合に、削除通知メッセージを複数回送信するため、削除通知メッセージが相手に到達しない可能性を低減することができる。従って、通信装置間でのＩＰｓｅｃ  ＳＡ不一致の状態の発生を防止することができる。
【００１４】
発明２は、前記発明１において、前記管理手段で記憶されているＩＰｓｅｃ  ＳＡ情報は、ＩＰｓｅｃ  ＳＡの有効期限を含んでいる通信装置を提供する。この装置において、前記終了条件判定手段は、前記ＩＰｓｅｃ  ＳＡの有効期限が過ぎた場合、終了条件が満たされたと判断する。
【００１５】
ＩＰｓｅｃ  ＳＡの寿命が切れるとき、通信中の相手側通信装置において同じタイミングで寿命切れによるＩＰｓｅｃ  ＳＡの削除が発生する。そのため、削除通知メッセージ送信の終了条件をＩＰｓｅｃ  ＳＡの寿命切れとすることにより、削除通知メッセージの送信を終了することができ、かつＩＰｓｅｃ  ＳＡ不一致の状態の発生を免れるという効果が得られる。
【００１６】
発明３は、前記発明１において、前記削除通知メッセージの削除対象であるＩＰｓｅｃ  ＳＡ情報を用いたパケットを、前記削除通知メッセージを送信後の所定時間以内に受信したか否かを判断するパケット受信判定手段をさらに備える通信装置を提供する。この通信装置において、前記終了条件判定手段は、前記パケット受信判定手段の判断に基づいて前記終了条件が満たされたか否かを判断する。
【００１７】
終了条件判定手段は、削除通知メッセージを送信後の一定期間の間に、削除しようとしているＩＰｓｅｃ  ＳＡを用いたＩＰｓｅｃパケットを受信しない場合、終了条件が満たされたと判断する。これにより、相手側通信装置が削除通知メッセージに応じて該当ＩＰｓｅｃ  ＳＡ情報を削除済みの場合、必要以上に削除通知メッセージを再送せずに済み、通信装置やネットワークの負荷を軽減することができる。
【００１８】
発明４は、前記発明１において、前記相手通信装置に削除通知メッセージが到達したか否かを判断する確認手段をさらに備える通信装置を提供する。
【００１９】
削除通知メッセージが相手側通信装置に到達したか否かを判断することにより、相手側通信装置が該当ＩＰｓｅｃ  ＳＡ情報を削除しているか否かを確認することができる。そのため、終了条件が「所定回数及び／または所定期間、削除通知メッセージを送信する」である場合、終了条件を満足しても、削除通知メッセージが相手側通信装置に到達したのか、それとも到達しなかったのか、を把握することができる。
【００２０】
発明５は、発明４において、前記終了条件判定手段は、前記確認手段の判断に基づいて前記終了条件が満たされたか否かを判断する通信装置を提供する。
【００２１】
「削除通知メッセージの相手側への到達」を終了条件にすれば、無駄な削除通知メッセージを送信しなくて済み、通信装置やネットワークの負荷を軽減することができる。
【００２２】
発明６は、前記発明４において、所定の終了条件が満たされるまで前記削除通知メッセージを送信しても、前記相手通信装置に前記削除通知メッセージが到達していないと前記確認手段が判断した場合、前記終了条件判定手段は、前記相手通信装置が前記削除対象のＩＰｓｅｃ  ＳＡ情報を削除していない旨を、ユーザに通知する通信装置を提供する。
【００２３】
削除通知メッセージを終了条件が満たされるまで再送した結果、その削除通知メッセージが相手側通信装置に到達しなかったことをユーザに通知することにより、ＩＰｓｅｃ  ＳＡ不一致の状態を解消するために、そのユーザが何らかの措置をとることができる。例えば、そのユーザは、別の通信手段により、相手側通信装置のユーザに対し、ＩＰｓｅｃ  ＳＡ情報を削除することを要求してもよい。
【００２４】
発明７は、前記発明４において、前記確認手段が以下の手段を有している通信装置を提供する。
・送信したパケットに対する応答パケットの一部もしくは全てが規定されている確認用プロトコルと、前記削除対象のＩＰｓｅｃ  ＳＡ情報と、を用いて確認パケットを作成し、前記確認パケットを送信する確認パケット送信手段、
・受信したパケットが前記削除対象のＩＰｓｅｃ  ＳＡ情報を用いている、かつ前記確認パケットに対する応答パケットであるか否かを判断する応答パケット判定手段。
【００２５】
この通信装置において、前記確認手段は、前記応答パケット判定手段の判断結果に基づいて、前記削除通知メッセージが前記相手通信装置に到達しているか否かを判断する。
【００２６】
例えば、１）ＴＣＰのＳＹＮパケットに対するＡＣＫパケット、２）ＵＤＰのｔｆｔｐ（ＷＲＱ）パケットに対するｔｆｔｐ（ＡＣＫ）パケット、３）ＩＣＭＰのＥｃｈｏ  Ｒｅｑｕｅｓｔパケットに対するＥｃｈｏ  Ｒｅｐｌｙを、確認パケットに対する応答パケットの一例としてあげることができる。削除対象のＩＰｓｅｃ  ＳＡ情報を用いた確認パケットを送受信することにより、相手側通信装置が該当ＩＰｓｅｃ  ＳＡ情報を削除しているか否かを確認することができる。ひいては、通信装置は、削除通知メッセージの再送の要否を知ることができる。応答パケットが帰ってくるということは、相手側通信装置が削除対象のＩＰｓｅｃ  ＳＡ情報を削除していないことを示しているからである。
【００２７】
発明８は、前記発明７において、前記確認パケット送信手段は、前記削除対象のＩＰｓｅｃ  ＳＡ情報を用いて暗号化されたデータを含む確認パケットを送信する通信装置を提供する。この通信装置において、前記応答パケット判定手段は、前記削除対象のＩＰｓｅｃ  ＳＡ情報を用いて前記応答パケット中のデータを復号化可能か否かを判断する。また、前記確認手段は、前記応答パケット判定手段が復号化可能と判断した場合、前記削除通知メッセージが前記相手通信装置に到達していないと判断する。
【００２８】
削除対象のＩＰｓｅｃ  ＳＡ情報を用いた暗号化・復号化が、通信相手との間で成立する場合、そのＩＰｓｅｃ  ＳＡ情報は両者で削除されていないことを示す。従って、確認パケット中のデータ及び応答パケット中のデータを削除対象のＩＰｓｅｃ  ＳＡ情報で暗号化・復号化することにより、削除通知メッセージの再送の要否を知ることができる。
【００２９】
発明９は、前記発明７において、前記ＩＰｓｅｃ  ＳＡ情報には、ＩＰｓｅｃ  ＳＡを識別するＩＰｓｅｃ  ＳＡ識別子が含まれている通信装置を提供する。この通信装置において、前記応答パケット判定手段は、前記削除対象のＩＰｓｅｃ  ＳＡ識別子に基づいて、前記確認データに対する応答パケットであるか否かを判断する。
【００３０】
送信した確認データを含むパケットに受信したＩＰｓｅｃパケットのＩＰｓｅｃ  ＳＡの識別子を、応答パケットであるかを判定する情報として使用することにより、ＩＰｓｅｃ  ＳＡの識別子のみを記憶しておけば、ＩＰｓｅｃ  ＳＡの情報を削除することができるため、通信装置内のメモリを効率的に利用することができるという効果が得られる。
【００３１】
発明１０は、前記発明７において、前記管理手段は、ＩＰｓｅｃ  ＳＡ情報と、前記相手通信装置との間で使用可能な確認用プロトコルに関する情報と、を対応づけてさらに記憶している通信装置を提供する。この通信装置において、前記確認パケット送信手段は、前記削除通知メッセージの１回目の送信に先立って１回目の確認パケットを前記相手通信装置に送信する。前記確認手段は、前記１回目の確認パケットに関する応答パケット判定手段の判断結果に基づいて、前記管理手段に記憶されている確認用プロトコルに関する情報を更新する状況確認手段をさらに有している。
【００３２】
プロトコルに関する情報とは、プロトコルを特定できる情報であればよい。最初の削除通知メッセージを送信する前に、相手側通信装置との間で使用可能な確認用プロトコルを確認し、これを管理手段に登録しておく。これにより、削除通知メッセージ送信後の確認パケットに対する応答パケットの信憑性を高めることができる。言い換えれば、ＩＰｓｅｃ  ＳＡ情報が相手側通信装置に残っている限り応答パケットが帰ってくるはずであり、応答パケットがない場合はＩＰｓｅｃ  ＳＡ情報が相手側通信装置で削除されているはずである、という状態を作り出すことができる。
【００３３】
発明１１は、前記発明７において、前記確認用プロトコルはＴＣＰである通信装置を提供する。
【００３４】
ＴＣＰを用いれば、相手側通信装置から送信される応答パケットが再送される。そのため、ネットワーク上で応答パケットが廃棄された結果、削除通知メッセージを送信した通信装置に応答パケットが到達しない、という現象の発生を抑制することができる。
【００３５】
発明１２は、前記発明７において、前記管理手段は、ＩＰｓｅｃ  ＳＡの有効期限を前記ＩＰｓｅｃ  ＳＡ情報と対応づけてさらに記憶している通信装置を提供する。この通信装置において、前記確認パケット送信手段は、前記確認パケットを繰り返し送信する。前記確認手段は、前記ＩＰｓｅｃ  ＳＡの有効期限が満了すると、前記確認パケット送信手段による確認パケットの送信を停止させる。
【００３６】
削除通知メッセージと同様に確認パケットを繰り返し送信することで、再送された削除通知メッセージの有効／無効を判断することができる。確認パケットの送信をＩＰｓｅｃ  ＳＡの寿命満了まで繰り返すことにより、相手側通信装置が確認用プロトコルに対応していない場合でも、確認パケットの送信を永遠に繰り返さずに済む。
【００３７】
発明１３は、前記発明７において、前記確認パケット送信手段は、前記確認パケットを繰り返し送信し、前記相手通信装置から自動鍵交換処理の開始を意図するＩＳＡＫＭＰパケットを受信した場合、前記確認パケットの送信を停止する通信装置を提供する。
【００３８】
発明１０と同様、確認パケットを繰り返し送信することで、再送された削除通知メッセージの有効／無効を判断することができる。新規ＩＰｓｅｃ  ＳＡ確立のためのＩＳＡＫＭＰパケットを受信するまで、確認パケットの送信を繰り返すことにより、相手側通信装置が確認用プロトコルに対応していない場合でも、確認パケットの送信を永遠に繰り返さずに済む。特に、対応するＩＰｓｅｃ  ＳＡを保持していない場合に、自動鍵交換処理の開始を意図するＩＳＡＫＭＰパケットを送信する実装に対して有用である。
【００３９】
発明１４は、発明７において、前記確認パケット送信手段は、確認パケットの作成において、パケットの送信元アドレスを前記自通信装置に設定されているアドレスとは異なるアドレスに書き換える通信装置を提供する。
【００４０】
本通信装置がＩＰ通信を中継する中継装置である場合、ＩＰ通信を開始した通信装置から送信されるパケットを、本通信装置において擬似的に作成する。これにより、トンネルモードのためのＩＰｓｅｃ  ＳＡ情報を削除する場合も、確認パケットを用いて、相手側通信装置におけるＩＰｓｅｃ  ＳＡ情報の有無を判断することができる。
【００４１】
発明１５は、ネットワークで接続された発明１に記載の通信装置を複数含む通信システムを提供する。
【００４２】
この通信システムを構成する各通信装置は、前記発明１と同様の作用効果を奏する。
【００４３】
発明１６は、ＩＰｓｅｃ（ＩＰセキュリティプロトコル）及びＩＫＥ(Internet Key Exchange)に基づいてＩＳＡＫＭＰ  ＳＡ(Internet Security Association and Key Management Protocol)及びＩＰｓｅｃ  ＳＡ(Security Association)を確立し、暗号通信を行う通信方法を提供する。この方法は、以下のステップを含んでいる。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているＩＰｓｅｃ  ＳＡに関する情報と、そのＩＰｓｅｃ  ＳＡの確立に用いたＩＳＡＫＭＰ  ＳＡの識別子と、を記憶する管理ステップ、
・前記ステップで記憶されているＩＰｓｅｃ  ＳＡ情報に対する削除通知メッセージを作成し、前記削除通知メッセージを前記相手通信装置に送信する削除通知メッセージ送信ステップ、
・前記削除通知メッセージの送信を、所定の終了条件が満たされるまで繰り返す終了条件判定ステップ。
【００４４】
この方法は、前記発明１の通信装置が実行する方法であり、発明１と同様の作用効果を奏する。
【００４５】
発明１７は、ＩＰｓｅｃ（ＩＰセキュリティプロトコル）及びＩＫＥ(Internet Key Exchange)に基づいてＩＳＡＫＭＰ  ＳＡ(Internet Security Association and Key Management Protocol)及びＩＰｓｅｃ  ＳＡ(Security Association)を確立し、暗号通信を行うコンピュータ端末が実行する通信プログラムを提供する。この通信プログラムは、前記コンピュータ端末を、以下の手段として機能させる。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているＩＰｓｅｃ  ＳＡに関する情報と、そのＩＰｓｅｃ  ＳＡの確立に用いたＩＳＡＫＭＰ  ＳＡの識別子と、を記憶する管理手段、
・前記管理手段で記憶されているＩＰｓｅｃ  ＳＡ情報に対する削除通知メッセージを作成し、前記削除通知メッセージを前記相手通信装置に送信する削除通知メッセージ送信手段、
・前記削除通知メッセージの送信を、所定の終了条件が満たされるまで繰り返す終了条件判定手。
【００４６】
この方法は、前記発明１の通信装置が実行するプログラムであり、発明１と同様の作用効果を奏する。なお、このプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範囲に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク（ＭＯ）、その他のものが挙げられる。
【発明の効果】
【００４７】
本発明を用いれば、アプリケーションやそのユーザによりＩＰｓｅｃ  ＳＡを切断する場合に、削除通知メッセージを複数回送信するため、削除通知メッセージが相手に到達しない可能性が低減する。また、削除通知メッセージが通信相手に到達したか否かの確認を行う。従って、通信装置間でのＩＰｓｅｃ  ＳＡ不一致の状態の発生を防止することができる。
【発明を実施するための最良の形態】
【００４８】
＜第１実施形態＞
〔通信システムの構成〕
図１は、本発明の通信装置を用いた通信システムの構成例を示す説明図である。この通信システムは、複数の通信装置１ａ〜１ｆが、通信ネットワーク２で接続されて構成されている。通信装置１ｅ，ｆは、他の通信装置１ａ，ｂ，ｃ，ｄ間の通信を中継するルータである。以下、通信装置１ｅ，ｆを他の通信装置１ａ〜ｄと区別する場合、ルータ１ｅ，ｆという。暗号通信を行う形態には、トランスポートモード及びトンネルモードの２つがある。トランスポートモードは、２者間で暗号通信路（ＩＰｓｅｃ  ＳＡ）を確立して暗号通信を行う形態である。例えば、通信装置１ａ、ｃ間で通信を行う場合、通信装置１ａ、ｃの２者でＩＰｓｅｃ  ＳＡを確立して暗号通信を行う。一方、トンネルモードは、主にパケットを中継する機器間でＩＰｓｅｃ  ＳＡを確立して、暗号通信を行う。例えば、通信装置１ａ、ｃ間で通信を行う場合に、ルータ１ｅ、ｆの２者間でＩＰｓｅｃ  ＳＡを確立し、両者間を経由する通信を両ルータ１ｅ、ｆ間で暗号化する。なお、ルータ１ｅ、ｆにおいて暗号通信を行う条件次第では、ルータ１ｅ、ｆ間が中継する通信であっても、暗号通信を行わない場合もある。以後、単に通信装置１というときには、ＩＰｓｅｃ  ＳＡを確立することのできるルータ１ｅ，ｆ及び通信装置１ａ〜ｄを含む。
【００４９】
〔削除通知メッセージ〕
次に、ＩＫＥを用いた場合のＩＰｓｅｃ  ＳＡの切断に用いられる削除通知メッセージについて説明する。
【００５０】
ＩＫＥでは、ＩＳＡＫＭＰ  ＳＡの確立及びＩＰｓｅｃ  ＳＡの確立に、ＩＳＡＫＭＰメッセージと呼ばれるメッセージフォーマットを用いたＩＰパケットの通信を行う。ＩＳＡＫＭＰ  ＳＡの確立には、例えばメインモードと呼ばれる折衝手順（トランザクション）があり、ＩＰｓｅｃ  ＳＡの確立には、例えばクイックモードと呼ばれる折衝手順がある。ＩＳＡＫＭＰ  ＳＡは、ＩＰｓｅｃ  ＳＡの確立・切断などに使用される制御用通信路である。
【００５１】
ＩＳＡＫＭＰ  ＳＡ及びＩＰｓｅｃ  ＳＡが確立している状態において、ＩＰｓｅｃによる暗号通信が可能となる。暗号通信は、主として通信する情報の機密性及び完全性を保証するために使用される。暗号化・復号化を行うためには、鍵を必要とする。この鍵が第三者に知れると、第三者は容易にその暗号化された情報を復号化することができる。このため、鍵の管理は重要である。また、鍵は、暗号化された多くの時間を費やせば類推可能であり、さらに、同じ鍵を用いて暗号化された多く情報を集めれば、それだけ類推が容易となる。このため、ＩＫＥでは、ＩＰｓｅｃ  ＳＡが不要となった場合に削除し、必要なときには、再度ＩＰｓｅｃ  ＳＡを確立するための仕組みが提供されている。
【００５２】
その仕組みとして、ＩＳＡＫＭＰ  ＳＡ及びＩＰｓｅｃ  ＳＡの削除通知メッセージが、ＩＳＡＫＭＰメッセージの一つとして規定されている。削除通知メッセージは、一方の通信装置におけるアプリケーションまたはユーザによる明示的なＩＰｓｅｃ  ＳＡの切断時に、もう一方の通信装置に対し、ＩＰｓｅｃ  ＳＡの削除を通知するメッセージである。このメッセージは、削除ペイロード（Ｄｅｌｅｔｅ  Ｐａｙｌｏａｄ）を含む通知メッセージ（Ｉｎｆｏｒｍａｔｉｏｎａｌ  Ｅｘｃｈａｎｇｅ）として規定されている。このメッセージを受信した通信装置は、削除通知メッセージに該当するＩＰｓｅｃ  ＳＡに関する情報を削除する。これにより、暗号通信を行っていた通信装置の両者において、不要となったＩＰｓｅｃ  ＳＡ情報を削除することができる。
【００５３】
〔発明の概要〕
図２は、図１の通信装置が行う処理の概要を示す説明図である。図１の通信システムにおける通信装置は、前述の削除通知メッセージが相手側通信装置に届かずにＩＰｓｅｃ  ＳＡ不一致の状態が発生するのを防ぐために、以下の処理を行う。以下では、説明を容易にするために、図１の通信装置１ａ，１ｃが通信する場合の通信装置１ａの処理を例にとるが、どの通信装置であっても処理は同様に行われる。
【００５４】
通信装置の処理は、(i)プロトコル確認処理、(ii)削除通知メッセージ送信処理、(iii)到達確認処理、に大別される。このうち、削除通知メッセージ送信処理は本発明に必須の処理である。これらの処理を行うに先立ち、通信装置１は、ＲＦＣに規定された自動鍵交換処理を行い、ＩＳＡＫＭＰ  ＳＡを確立し（＃１，＃２，＃３）、確立したＩＳＡＫＭＰ  ＳＡを用いてＩＰｓｅｃ  ＳＡを確立する（＃４，＃５）。
【００５５】
(i)プロトコル確認処理では、通信装置１ａは、相手側通信装置１ｃが使用可能な通信プロトコルを確認する。双方に使用可能なプロトコルを用いて、後述する確認パケットを送信するためである。確認パケットとは、削除通知メッセージが相手側通信装置１ｃに到達しているか否かを確認するために送信するパケットである。具体的には、通信装置１ａは、通信装置１ｃに対してある通信プロトコルを用いて“事前確認パケット”を送信し（＃６）、それに対する応答パケットを受信した場合（＃７）、通信装置１ｃはその通信プロトコルを使用可能と判断する。事前確認パケット及び応答パケットには、確立したＩＰｓｅｃ  ＳＡが用いられる。これにより、通信装置１ａは、ＩＰｓｅｃ  ＳＡ及び所定の通信プロトコルを用いた“確認パケット”が使用可能であるか、を判断する。
【００５６】
(ii)削除通知メッセージ送信処理では、通信装置１ａにおいて、アプリケーションやユーザからのＩＰｓｅｃ  ＳＡ切断要求が発生した場合（＃８）、削除通知メッセージを送信する（＃９）。削除通知メッセージが通信装置１ｃに到達すれば、通信装置１ｃは削除対象のＩＰｓｅｃ  ＳＡ情報を、記憶領域から削除する（＃１０）。何らかの原因で削除通知メッセージが通信装置１ｃに到達しない場合、削除対象のＩＰｓｅｃ  ＳＡ情報は通信装置１ｃにそのまま残される。通信装置１ａは、削除通知メッセージを終了条件が満たされるまで、繰り返し送信する。
【００５７】
(iii)到達確認処理では、通信装置１ａは、相手側通信装置１ｃがＩＰｓｅｃ  ＳＡを削除しているか否かを確認する。すなわち、削除通知メッセージ送信後、削除要求元の通信装置１ａは、前記プロトコル確認処理で使用可能であることを確認した通信プロトコルを用い、“確認パケット”を送信する（＃１１）。確認パケットに対する応答パケットがなければ、相手側通信装置１ｃがＩＰｓｅｃ  ＳＡ情報を削除したと判断し、自端末のＩＰｓｅｃ  ＳＡ情報を削除する（＃１２）。ここでの“確認パケット”は、ＩＰｓｅｃパケットである。確認パケットは、所定の条件を満たすまで繰り返し送信される。
【００５８】
以上の処理により、削除通知メッセージが相手側通信装置１ｃに到達したか否かを確認し、確認結果に応じて自端末のＩＰｓｅｃ  ＳＡ情報を削除する。そのため、削除通知メッセージが相手側通信装置１ｃに到達せず、その結果ＩＰｓｅｃ  ＳＡ情報が通信装置１ａ，１ｃ間で不一致の状態になることを防止できる。しかも、最初の削除通知メッセージ送信に先立ち、確認パケットを送信するためのプロトコルが使用可能か否かを確認することで、確認パケットに対する応答パケットの信頼度を高めることができる。
【００５９】
〔通信装置の構成〕
（１）全体構成
図３は、図１に示す通信装置１の機能ブロック図である。前述したように、通信装置１は、ＩＰｓｅｃ  ＳＡを確立することのできるルータ１ｅ，ｆ及び通信装置１ａ〜ｄを含む。通信装置１は、ＩＫＥ処理部２０と、アプリケーション部３０と、ＩＰ処理部４０と、通信部５０と、を備えている。ＩＰ処理部４０は、ＩＰｓｅｃ処理部６０を備えている。なお、アプリケーション部３０は、図３において一つのみ図示しているが、複数であってもよい。このような機能を有する通信装置１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスクなどを有するコンピュータにより実現される。ＣＰＵは、ＩＫＥ処理部２０、アプリケーション部３０、ＩＰ処理部４０及び通信部５０として機能する。
【００６０】
ＩＫＥ処理部２０及びＩＰ処理部４０には、相手通信装置との間で暗号通信を適用する条件が設定されている。この条件設定は、例えば、通信装置の初期設定としてなされてもいいし、アプリケーション部３０からの設定としてなされてもよい。ＩＫＥ処理部２０は、アプリケーション部３０またはＩＰ処理部４０からの要求に従い、自動鍵交換処理を行なう。アプリケーション部３０は、アプリケーションのアルゴリズムに応じた所定の通信処理を相手通信装置との間で行ない、関連する送受信処理をＩＰ処理部４０に要求する。ＩＰ処理部４０は、ＩＰパケットの送受信に係る処理を行なう。通信部５０は、通信媒体に特有の送受信処理を行なう。
【００６１】
上記構成を有する通信装置１０は、次のように動作する。アプリケーション部３０は、相手装置との通信を開始すると、相手装置に対してＩＰパケットの送信を試みる。ＩＰ処理部４０では、ＩＰｓｅｃ処理部６０を必要に応じて使用し、該当ＩＰパケットが暗号通信の対象であるか否かを判定する。暗号通信の対象である場合は、ＩＰ処理部４０はＩＰｓｅｃ  ＳＡ情報の存在を確認し、存在していれば該当ＩＰパケットを暗号化して通信部５０に送信要求を行なう。一方、ＩＰｓｅｃ  ＳＡ情報が存在していない場合、ＩＰ処理部４０は、ＩＫＥ処理部２０に対し、暗号化しようとするＩＰパケットの情報と共に、ＩＰｓｅｃ  ＳＡの確立を要求する。ＩＫＥ処理部２０は、受け取ったＩＰｓｅｃ  ＳＡ確立要求に従い、予め設定された条件に適合した相手装置との間で自動鍵交換処理（ＩＫＥ折衝処理）を開始する。自動鍵交換処理におけるデータは、ＩＰパケット上のＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）を使用して送受信される。このため、自動鍵交換処理におけるデータの送受信には、ＩＰ処理部４０が用いられる。
【００６２】
なお、アプリケーション部３０は、その通信に先立ち、予めＩＫＥ処理部２０に対し、相手側通信装置との間にＩＳＡＫＭＰ  ＳＡ、およびＩＰｓｅｃ  ＳＡの確立を指示することもできる。
【００６３】
（２）ＩＫＥ処理部
図４は、ＩＫＥ処理部２０の機能構成を示す説明図である。ＩＫＥ処理部２０は、要求受付部２１と、ＳＡ管理部２２（管理手段に相当）と、ＳＡ確立部２３と、ＩＳＡＫＭＰメッセージ処理部２４（削除通知メッセージ送信手段に相当）と、確認プロセス管理部２５（パケット受信判定手段、確認手段、確認パケット送信手段、応答パケット判定手段に相当）と、を含む。
【００６４】
（２−１）要求受付部
要求受付部２１は、アプリケーション部３０やＩＰ処理部４０からのＩＰｓｅｃ  ＳＡ確立要求を受け付け、ＩＫＥ折衝処理の開始をＳＡ管理部２２に指示する。また、要求受付部２１は、相手通信装置との間で暗号通信を適用する条件の設定をＳＡ管理部２２に指示する。ＩＫＥ折衝処理には、ＩＳＡＫＭＰ  ＳＡの確立・切断や、ＩＰｓｅｃ  ＳＡの確立・切断が含まれる。
【００６５】
（２−２）ＳＡ管理部
ＳＡ管理部２２は、ＩＳＡＫＭＰ  ＳＡ及びＩＰｓｅｃ  ＳＡ（以下、まとめてＳＡということがある）の確立・切断・更新を管理する。ＳＡの管理のために、ＳＡ管理部２２は管理テーブル２２ａを保持している。管理テーブル２２ａは、各ＩＳＡＫＭＰ  ＳＡ及びＩＰｓｅｃ  ＳＡに関する情報（以下、ＳＡ情報という）を記憶している。ＳＡ情報は、ＳＡの確立・切断・更新に従い、登録・削除・更新される。また、ＳＡ管理部２２は、ＩＳＡＫＭＰ  ＳＡが全くなくなった場合または全くなくなるに先立ち、新たなＩＳＡＫＭＰ  ＳＡをＳＡ確立部２３に再度、確立要求することができる。
【００６６】
図５は、ＳＡ管理部２２が保持する管理テーブル２２ａに蓄積されるＳＡ情報の概念説明図である。管理テーブル２２ａは、「ＩＳＡＫＭＰ  ＳＡ  ＩＤ」、「ＩＰｓｅｃ終端点」の通信装置の識別子及び「ＳＰＩ」を少なくとも１レコードに含む。「ＩＳＡＫＭＰ  ＳＡ  ＩＤ」は、通信装置内に管理するＩＳＡＫＭＰ  ＳＡの識別子であり、Ｉｎｉｔａｔｏｒ  Ｃｏｏｋｉｅ、もしくは、Ｒｅｓｐｏｎｄｅｒ  Ｃｏｏｋｉｅなどを用いる。通信装置の識別子としては、この例ではＩＰアドレスを用いているが、その他の通信アドレスやＭＡＣアドレス等の装置固有情報を用いることもできる。「ＳＰＩ（Ｓｅｃｕｒｉｔｙ  Ｐａｒａｍｅｔｅｒ  Ｉｎｄｅｘ）」は、ＩＰｓｅｃ  ＳＡの識別子である。ＩＳＡＫＭＰ  ＳＡ  ＩＤ及びＳＰＩは、異なる相手通信装置に対してであれば、同じ値を取ることもあり得る。
【００６７】
前述の情報に加え、この例では、「ＩＰｓｅｃ  ＳＡの状態」、「確認用プロトコル」及び「ＩＰｓｅｃ  ＳＡの有効期限」が、１レコード中にさらに含まれる。本実施形態では、ＩＰｓｅｃ  ＳＡの状態として、「使用可能」と、「使用不可」の二つの状態を管理している。「使用可能」の状態は、ＩＰｓｅｃ  ＳＡ確立後の正常な状態であり、アプリケーション処理部３０から要求される通信においてＩＰｓｅｃ  ＳＡを使用可能であることを示す。一方、「使用不可」の状態は、ユーザまたはアプリケーションからＩＰｓｅｃ  ＳＡの削除要求を受けた場合に遷移する状態であり、アプリケーション処理部３０から要求される通信においてＩＰｓｅｃ  ＳＡを使用できないことを示す。なお、ＳＡの状態として、「使用可能」及び「使用不可」を含んでいれば、他の状態を含んでいてもよい。また、本実施の形態では、ＩＳＡＫＭＰ  ＳＡとＩＰｓｅｃ  ＳＡが１対１で管理されているが、ＩＳＡＫＭＰ  ＳＡ１つに対し、複数のＩＰｓｅｃ  ＳＡが対応づけられている可能性もあるため、異なるレコードにおいて、ＩＳＡＫＭＰ  ＳＡ  ＩＤが同じものが存在してもよい。
【００６８】
「確認用プロトコル」をＩＰｓｅｃ  ＳＡ毎に管理することで、各ＩＰｓｅｃ  ＳＡ毎に確認パケットを送信するプロトコルを制御可能になる。プロトコル確認処理は、ＩＰｓｅｃ  ＳＡが確立している状態において実施する。「ＩＰｓｅｃ  ＳＡの有効期限」を管理することで、ＩＰｓｅｃ  ＳＡの寿命が尽きた時点を契機として、そのＩＰｓｅｃ  ＳＡの削除通知メッセージやその確認パケットを送信することが可能となる。
【００６９】
この他に、各ＩＰｓｅｃ  ＳＡ毎に、暗号アルゴリズム、暗号用鍵、認証アルゴリズム、認証用鍵など他の情報を管理していても構わない。
【００７０】
（２−３）ＳＡ確立部
ＳＡ確立部２３は、ＳＡ管理部２２からの要求に従ってＳＡ確立のためのＩＫＥ折衝処理を行ない、ＩＳＡＫＭＰメッセージ処理部２４に対して対応するＩＳＡＫＭＰメッセージの構築処理を要求する。また、ＳＡ管理部２２は、相手通信装置からＩＫＥ折衝処理要求を受け取り、ＩＫＥ折衝処理を行い、ＳＡ管理部２２に対してＳＡ情報の更新要求を行なう。ＳＡ確立及びＩＫＥ折衝処理そのものについては、ＲＦＣに規定されており、本発明はその範囲を逸脱しないので、説明は省略する。
【００７１】
（２−４）ＩＳＡＫＭＰメッセージ処理部
ＩＳＡＫＭＰメッセージ処理部２４は、ＳＡ確立部２３からの要求及びＳＡ管理部２２からの要求に対して該当するＩＳＡＫＭＰメッセージの構築を行ない、ＩＰ処理部４０に構築したメッセージを送信依頼する。また、ＩＳＡＫＭＰメッセージ処理部２４は、ＩＰ処理部４０から受信したＩＳＡＫＭＰメッセージをＲＦＣの規定に従って解析する。受信したＩＳＡＫＭＰメッセージが相手通信装置からのＩＫＥ折衝処理要求である場合は、ＳＡ確立部２３にその処理を指示する。ＩＳＡＫＭＰメッセージが削除通知であった場合、ＩＳＡＫＭＰメッセージ処理部２４はその削除通知に含まれる削除ペイロードを抽出し、ＳＡ管理部２２にその処理を指示する。なお、ＩＳＡＫＭＰメッセージ処理部２４は、ＩＳＡＫＭＰメッセージの送受信の際に、ＲＦＣ２４０７〜ＲＦＣ２４０９で規定されている所定の暗号化・復号化、認証情報の付加・認証情報の認証などを行なう。
【００７２】
（２−５）確認プロセス管理部
確認プロセス管理部２５は、ＳＡ管理部２２からの削除通知メッセージ送信要求を受け付け、削除通知メッセージの送信前及び後に、“事前確認パケット”や“確認パケット”の送信をＩＰ処理部４０に要求する。また、確認プロセス管理部２５は、ＩＳＡＫＭＰメッセージ処理部２４に対し、削除通知メッセージ送信要求を行う。確認プロセス管理部２５は、前記到達確認処理において、ＩＰ処理部４０に対し、ＩＰｓｅｃ  ＳＡを適用する条件の問い合わせを行う。確認プロセス管理部２５は、確認パケット送信及び応答パケット受信のために、ＩＰｓｅｃ処理部６０に対し、ＩＰｓｅｃ暗号化・復号化処理及び認証処理を要求する。さらに、確認プロセス管理部２５は、到達確認処理終了後、ＩＰｓｅｃ  ＳＡ情報の更新または削除を、ＩＰ処理部４０に要求する。確認プロセス管理部２５の構成については、詳細を後述する。
【００７３】
〔確認プロセス管理部〕
（１）全体構成
図６は、確認プロセス管理部２５の機能構成を示すブロック図である。確認プロセス管理部２５は、確認プロセス実行部２５１（終了条件判定手段、確認手段及び状況確認手段に相当）、プロトコル記憶部２５２、確認パケット送信部２５３及びパケット受信判定部２５４（パケット受信判定手段に相当）を有している。
【００７４】
確認プロセス実行部２５１は、ＳＡ管理部２２から削除通知メッセージ送信要求を受信し、削除通知メッセージの送信及び到達確認処理を行う。具体的には、確認プロセス実行部２５１は、確認パケット送信部２５３へ“事前確認パケット“及び“確認パケット”の送信を要求し、パケット受信判定部２５４に“応答パケット”の受信要求を行い、パケット受信判定結果を取得する。確認プロセス実行部２５１については、詳細を後述する。
【００７５】
プロトコル記憶部２５２は、通信装置自身が使用可能な通信プロトコルと、通信相手の応答の仕方と、を記憶している。
【００７６】
確認パケット送信部２５３は、確認プロセス実行部２５１から事前確認パケット及び確認パケットの送信要求を受け、暗号認証処理をＩＰｓｅｃ処理部６０に要求し、パケットの送信をＩＰ処理部４０に要求する。
【００７７】
パケット受信判定部２５４は、ＩＰ処理部４０から受信パケットを取得し、そのパケットがどのようなパケットであるかを判定し、判定結果を確認プロセス実行部２５１へ渡す。パケット受信判定部２５４については、詳細を後述する。
【００７８】
（２）プロトコル記憶部
図７は、プロトコル記憶部２５２に記憶される情報の概念説明図である。プロトコル記憶部２５２には、通信装置自身が使用可能なプロトコルと、送信パケットと、応答パケットと、が対応づけられて記憶されている。例えば、プロトコルとしてＴＣＰを用いる場合、ＳＹＮパケットに対しては、ＡＣＫパケットまたはＲＳＴパケットが応答パケットである。ＳＹＮパケットとは、ＲＦＣ７９３に規定されているコードビットのＳＹＮフラグを立てたＴＣＰヘッダを含むパケットである。ＡＣＫパケットとは、前記コードビットのＡＣＫの制御ビットを立てたＴＣＰヘッダを含むパケットである。ＲＳＴパケットとは、前記コードビットのＲＳＴの制御ビットを立てたＴＣＰヘッダを含むパケットである。
【００７９】
同様に、ＵＤＰのｔｆｔｐ（ＷＲＱ）パケットに対しては、ｔｆｔｐ（ＡＣＫ）またはＩＣＭＰ(Port Unreachable)が応答パケットである。ｔｆｔｐ（ＷＲＱ）パケットとは、ＩＥＮ１３３に規定されたＷＲＱ（Ｗｒｉｔｅ  Ｒｅｑｕｅｓｔ）のペイロードを有するパケットである。ｔｆｔｐ（ＡＣＫ）パケットとは、ＩＥＮ１３３に規定されたＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）のペイロードを有するパケットである。ＩＣＭＰ(Port Unreachable)パケットとは、ＲＦＣ７９２に記載のコードフィールドにおいて、Ｐｏｒｔ  Ｕｎｒｅａｃｈａｂｌｅであるペイロードを有するパケットである。
【００８０】
また、ＩＣＭＰを用いる場合、Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットに対してＥｃｈｏ  Ｒｅｐｌｙが応答パケットである。また、Ｅｃｈｏパケットとは、ＲＦＣ７９２に記載されているＥｃｈｏのペイロードを有するパケットである。
【００８１】
なお、図７は３つのプロトコルを一例として示しているが、ＩＣＭＰｖ６  Ｅｃｈｏ  Ｒｅｑｕｅｓｔ、  Ｅｃｈｏ  Ｒｅｐｌｙなど、送信パケットに対する応答パケットが規定されているプロトコルを用いてもよい。さらに、本実施形態では、各確認用プロトコルをあらかじめ記憶しているが、アプリケーション処理部３０などを用いて、プロトコルを動的に追加・削除してもよい。
【００８２】
（３）確認プロセス実行部
図８は、確認プロセス実行部２５１の機能ブロック図である。確認プロセス実行部２５１は、削除通知終了判定部５１０（終了条件判定手段に相当）、削除通知到達確認部５２０（確認手段に相当）及びプロトコル確認部５３０（状況確認手段に相当）を含む。
【００８３】
削除通知終了判定部５１０は、削除通知到達確認部５２０に対して到達確認処理要求を行う。また、削除通知終了判定部５１０は、所定の終了条件を満たすまで、繰り返し、ＩＳＡＫＭＰメッセージ処理部２４に対し、削除通知メッセージの送信要求を行う（発明１に対応）。所定の終了条件とは、例えばＩＰｓｅｃ  ＳＡやＩＳＡＫＭＰ  ＳＡの有効期限の満了（発明２に対応）、削除通知メッセージの送信回数の上限値の超過、削除通知メッセージの到達の確認である。この他、削除通知メッセージの再送を終了するための条件は、必要に応じ、適宜設定可能である。
【００８４】
削除通知到達確認部５２０は、削除通知終了判定部５１０からの到達確認処理要求に応じ、到達確認処理を行う（発明４に対応）。到達確認処理は、確認パケット送信部２５３に対し、確認パケットの送信要求を行い、パケット受信判定部２５４から、パケット受信判定結果を取得する処理である。到達確認処理終了後、削除通知到達確認部５２０は、その結果を削除通知終了判定部５１０に通知する（発明５に対応）。
【００８５】
プロトコル確認部５３０は、確認パケットを送信するために使用可能なプロトコルを確認パケット送信前に確認し、使用可能なプロトコルをＳＡ管理部２２に通知する。
【００８６】
（４）パケット受信判定部
図９は、パケット受信判定部２５４の機能ブロック図である。パケット受信判定部２５４は、ＩＳＡＫＭＰパケット解析部５４０、応答パケット判定部５５０及びＩＰｓｅｃ受信部５６０を含む。ＩＳＡＫＭＰパケット解析部５４０は、自動鍵交換処理の開始を意図するＩＳＡＫＭＰパケットであるか、否かを解析する。ＩＰｓｅｃ受信部５６０は、ＩＰｓｅｃ  ＳＡを用いて送信されたパケットを解析する。パケット受信判定部２５４内では、受信したパケットについて各部がそれぞれ解析した結果を、確認プロセス実行部２５１に通知する。
【００８７】
〔通信装置が行う処理〕
次に、通信装置１が行うプロトコル確認処理、削除通知メッセージ送信処理、到達確認処理について、具体的に説明する。以下の説明において、プロトコルを確認するための確認パケットを事前確認パケットと呼び、削除通知メッセージ後の確認パケットと区別する。
【００８８】
（１）プロトコル確認処理
（１−１）メインルーチン
図１０は、プロトコル確認処理のメインルーチンの流れの一例を示すフローチャートである。
【００８９】
ステップＳ１：まず、自動鍵交換処理が完了し、ＩＰｓｅｃ  ＳＡが「使用可能」状態となったら、ＳＡ管理部２２は、確認プロセス管理部２５内の確認プロセス実行部２５１に対して、ＩＰｓｅｃ  ＳＡが確立済みとなったことを通知する。
【００９０】
ステップＳ２：通知を受けた確認プロセス実行部２５１は、プロトコル確認部５３０の機能により、各確認用プロトコルが使用可能であるかを確認する処理を開始する。
【００９１】
ステップＳ３〜Ｓ４：プロトコル確認部５３０は、プロトコル記憶部２５２の先頭のエントリにセットし（Ｓ３）、先頭のエントリから送信パケットのペイロード及び応答パケットのペイロードを読み出す。さらに、プロトコル確認部５３０は、送信パケットのペイロードを確認パケット送信部２５３に、応答パケットのペイロードをパケット受信判定部２５４に、それぞれ確立済みのＩＰｓｅｃ  ＳＡ情報とともに渡す（Ｓ４）。確認プロセス実行部２５１は、プロトコル確認部５３０の機能により、確認パケット送信部２５３に対し、事前確認パケットの送信要求を行う（Ｓ４）。例えば、先頭のエントリがＴＣＰプロトコルであれば、事前確認パケットはＳＹＮフラグが有効となっているＴＣＰヘッダを含む(前記図７参照)（発明１１に対応）。
【００９２】
なお、実際に送信するときには、相手通信装置のアドレス、相手通信装置、および、自通信装置のポート情報の設定、チェックサム値の計算を行う必要がある。また、同時に送信パケットに対して相手側通信装置１からの送信が期待される応答パケットのペイロードを獲得する。このペイロードはＡＣＫフラグもしくはＲＳＴフラグが有効となっているＴＣＰヘッダを含むペイロードである。また、実際に利用する場合には相手通信装置のアドレス、相手通信装置、および、自通信装置のポート情報の設定を行う必要がある。
【００９３】
ステップＳ５：確認パケット送信部２５３は、事前確認パケット送信処理を行う。この処理では、確認パケット送信部２５３は、事前確認パケットを相手側通信装置１に送信する。
【００９４】
ステップＳ６：プロトコル確認部５３０は、確認パケット送信部２５３から事前確認パケットの送信結果を待機する。
【００９５】
ステップＳ７：プロトコル確認部５３０は、送信成功の通知を受けた場合、パケット受信判定部２５４にパケット受信要求を行う。要求を受けたパケット受信判定部２５４は、相手側通信装置１ｃからの応答パケットを待機し、応答パケットの有無をプロトコル確認部５３０に通知する。
【００９６】
“事前確認パケット”を受信した相手側通信装置１ｃは、ＴＣＰクライアント機能のみしかサポートしていない場合、またはＴＣＰサーバ機能をサポートしていても、“事前確認パケット”のペイロードで要求されたＴＣＰポートをｂｉｎｄしていない場合、対応するＩＰｓｅｃ  ＳＡを利用してＲＳＴを示す応答パケットを暗号化・認証処理を行い、通信装置１ａに対して送信する。逆に、“事前確認パケット”のペイロードに指定されたＴＣＰポートをｂｉｎｄしていれば、相手側通信装置１ｃは、ＡＣＫを示す応答パケットを通信装置１ａに送信する。ＡＣＫを示す応答パケットにおいても、ＩＰｓｅｃ  ＳＡを利用して、暗号化・認証処理を行われたパケットが送信される。また、相手側通信装置１ｃがＲＳＴを返さない実装の場合、応答パケットは送信されない。
【００９７】
ステップＳ８〜Ｓ９：応答パケット判定部５５０は、応答パケットを受信したか否かを、パケット受信判定部２５４からの通知に基づいて判断する（Ｓ８）。パケット受信判定処理の詳細は後述する。応答パケットを受信した場合、応答パケット判定部５５０は、プロトコル管理部５３０に通知し、プロトコル確認部５３０は、使用可能であることが確認されたプロトコルを、対応するＩＰｓｅｃ  ＳＡのレコードに追加するよう、ＳＡ管理部２２に要求する（Ｓ９）（発明１０に対応）。応答パケットを受信しなかった場合、後述するステップＳ１０に移行する。
【００９８】
ステップＳ１０〜Ｓ１１：前記ステップＳ６において、確認パケット送信部２５３から送信失敗の通知を受けた場合、プロトコル確認部５３０は、プロトコル記憶部２５２に登録されている全てのプロトコルについて事前確認パケットの送信を試みたか否かを確認する（Ｓ１０）。事前確認パケットに対する応答パケットを受信できなかった場合も同様である。全てのプロトコルについて試みていれば、本処理を終了する。まだ送信を試みていないプロトコルがあれば、プロトコル記憶部２５２から次の確認用プロトコルを取得し（Ｓ１１）、そのプロトコルを用いて事前確認パケットの送信を試みる（Ｓ４）。
【００９９】
以上の処理により、削除通知メッセージの後に送信する確認パケットを、どのプロトコルを用いて送信すればよいかを決定することができる。従って、確認パケットの信頼度を高め、ひいては削除通知メッセージの到達確認処理の信頼度を高めることができる。
【０１００】
（１−２）事前確認パケット送信処理サブルーチン
図１１は、事前確認パケット送信処理サブルーチンの処理の流れの一例を示すフローチャートである。前記プロトコル確認処理のメインルーチンにおいてステップＳ５に移行すると、以下の処理が開始される。
【０１０１】
ステップＳ５０１〜Ｓ５０２：確認パケット送信部２５３は、獲得した送信ペイロードがＩＰｓｅｃ  ＳＡを適用する条件に適合するかを、ＩＰ処理部４０に問い合わせる（Ｓ５０１）。もし、適合しないのであれば、確認パケット送信部２５３は、事前確認パケットの送信を行わず、プロトコル確認部５３０に送信失敗を通知する（Ｓ５０２）。適合する場合、ステップＳ５０３に移行する。
【０１０２】
ステップＳ５０３：確認パケット送信部２５３は、事前確認パケットのペイロードに対してＩＰｓｅｃ処理を行うために、事前確認パケットのペイロードとＩＰｓｅｃ  ＳＡ情報とをＩＰｓｅｃ処理部６０に渡し、暗号化・認証処理要求を行う。要求を受けたＩＰｓｅｃ処理部６０は、暗号化・認証処理を行い、確認パケット送信部２５３に暗号化・認証処理後の事前確認パケットのペイロードを渡す。ＩＰｓｅｃ処理部６０における暗号化・認証処理については、ＲＦＣ２４０１などに記載の処理を逸脱せず、その説明を省略する。
【０１０３】
ステップＳ５０４〜Ｓ５０６：さらに、確認パケット送信部２５３は、そのペイロードにＩＰヘッダを追加することにより“事前確認パケット”を作成し（Ｓ５０４）、ＩＰ処理部４０に対して送信要求を行う（Ｓ５０５）。さらに、確認パケット送信部２５３は、プロトコル確認部５３０に送信成功を通知する（Ｓ５０６）。送信要求を受けたＩＰ処理部４０は、通信部５０を介して、構築した“事前確認パケット”を送信する。
【０１０４】
（１−３）パケット受信判定処理サブルーチン
図１２は、パケット受信判定処理サブルーチンの処理の流れの一例を示すフローチャートである。前記プロトコル確認処理のメインルーチンにおいてステップＳ７に移行すると、以下の処理が開始される。
【０１０５】
ステップＳ７０１〜Ｓ７０２：パケット受信判定部２５４は、事前確認パケットの送信後、応答パケットの受信待ちを開始する。一定期間経過しても相手側通信装置１ｃからの応答がなければ（Ｓ７０１）、パケット受信判定部２５４は、応答パケット受信失敗をプロトコル確認部５３０に通知する（Ｓ７０２）。応答が返ってこない理由としては、ネットワーク上でパケットがロスした場合や、前述したように端末１０２がＲＳＴを返さない実装の場合などがある。
【０１０６】
ステップＳ７０３：一方、通信部５０を介して相手側通信装置１ｃからパケットを受信した場合、パケット受信判定部２５４は、以下の処理により受信パケットが期待している応答パケットであるか否かを判定する。
【０１０７】
ステップＳ７０４〜Ｓ７０６：まず、パケット受信判定部２５４は、受信したパケットがＩＰｓｅｃパケットでなければ、再度端末１０２からのパケットの受信待ちを一定期間行う（Ｓ７０４）。受信したパケットがＩＰｓｅｃパケットであれば、ＩＰｓｅｃ復号化処理を行うために、ＩＰｓｅｃ処理部６０に、受信パケットと、送信した削除通知メッセージに対応するＩＰｓｅｃ  ＳＡの情報とを渡し、復号化処理・認証処理を要求する。そして、復号化処理後のパケットが、期待している応答パケットであるかを確認する（Ｓ７０５）。応答パケットであれば、プロトコル確認部５３０に応答パケット受信成功を通知する（Ｓ７０６）。応答パケットでない場合は、再度、端末１０２からのパケットの受信待ちを一定期間行う（Ｓ７０１）。
【０１０８】
本実施形態において、受信パケットの確認対象フィールドとしては、１）送信元ポート、宛先ポートが一致していること、２）コードビットフィールドにおいて、ＲＳＴまたはＡＣＫの制御ビットが立っていること、などが挙げられる。なお、上記確認対象フィールド以外に、ＴＣＰヘッダ内の各フィールド及びＴＣＰペイロードの各フィールドを確認対象としてもよい。
【０１０９】
なお、ＴＣＰプロトコルについて説明を行ったが、ＵＤＰプロトコル、ＩＣＭＰプロトコルなど、送信するパケットに対して、応答パケットの一部もしくは全てが規定されている通信においても、同様の処理により確認することができる。
【０１１０】
以上のように、パケット受信判定部２５４は、応答パケットの受信成功または失敗を、プロトコル確認部５３０に通知する。
【０１１１】
なお、本実施形態では、ＳＡ管理部５０５における、確認用プロトコルのフィールドを「使用可能」、「使用不可」と示したが、応答パケットを記載することにより、代替してもよい。なお、その場合、プロトコル記憶部２５２にて、応答パケットとして、二つのペイロードを記憶している場合、確認用プロトコルの使用可能状況の確認処理にて、受信したペイロードのみをＳＡ管理部５０５に記憶してもよいし、二つのペイロードを記憶してもよい。
【０１１２】
また、応答パケットとして規定したデータをあらかじめ記憶せず、パケット受信判定処理において受信したパケットを応答パケットとして規定してもよい。
【０１１３】
さらに、ＩＰｓｅｃ  ＳＡが確立した直後に、使用可能状況の確認処理を実施したが、通信装置相互において、ＩＰｓｅｃ  ＳＡが確立した状態であれば、プロトコル確認処理を実行するタイミング及び実施回数はこれに限定されない。事前確認パケットを複数回送信する場合、応答パケットも複数受信する可能性があるが、１つでも応答パケットとして判断できるパケットが受信できれば、それ以降のパケットは破棄してもよい。
【０１１４】
さらに、プロトコル記憶部２５２に記憶したプロトコルをプロトコル確認処理にて使用したが、実際にＩＰｓｅｃ  ＳＡを適用するアプリケーションによる通信の送受信パケットを記憶しておき、それを確認用プロトコルとして使用してもよい。
【０１１５】
以上のように、プロトコル確認処理を行うことにより、ＩＰｓｅｃ  ＳＡが確立した状態において、対向通信装置からの応答パケットが確認できるため、より正確な到達確認処理が実施可能となる。
【０１１６】
（２）削除通知メッセージ送信処理及び到達確認処理
（２−１）削除通知メッセージ送信要求処理
図１３は、削除通知メッセージ送信要求処理の流れの一例を示すフローチャートである。
【０１１７】
ステップＳ２１〜Ｓ２２：要求受付部２１は、通信装置相互にＩＰｓｅｃ  ＳＡが「使用可能」として確立している状態において、ユーザまたはアプリケーションによる削除要求を待機する。削除要求が発生すると、要求受付部２１にて受け付けられ、ＳＡ管理部２２に通知される（Ｓ２２）。通知を受けたＳＡ管理部２２は、該当するＩＰｓｅｃ  ＳＡの状態を「使用不可」とし、確認プロセス管理部２５に削除通知メッセージ送信処理の実行を要求する。
【０１１８】
ステップＳ２３：確認プロセス管理部２５は、後述する削除通知メッセージ送信処理を実行し、削除対象のＩＰｓｅｃ  ＳＡについて削除通知メッセージを送信する。
【０１１９】
確認プロセス管理部２５内では、削除通知終了判定部５１０に到達確認処理の実行回数をあらかじめ規定しておく。削除通知終了判定部５１０は、ＩＳＡＫＭＰメッセージ処理部２４に削除通知メッセージ送信要求を行う。その後、所定の終了条件を満たさない間、削除通知メッセージ送信要求及び到達確認処理は繰り返される。以下では、説明を容易にするために、送信回数が規定した上限値を超えたとき、終了条件を満たすものとする。終了条件を満たす場合は、到達確認処理を終了する。また、規定した実行回数を超えても終了条件を満たさなければ、終了条件を満たさない場合の処理を行う。なお、規定する実行回数は、特に限定しないが、ネットワーク上でパケットが破棄されることも考慮し、本実施形態では２回と規定する。
【０１２０】
（２−２）削除通知メッセージ送信処理
図１４は、削除通知メッセージ送信処理の流れの一例を示すフローチャートである。前記図１３の処理においてステップＳ２３に移行すると、以下の処理が開始される。
【０１２１】
ステップＳ３１〜Ｓ３２：確認プロセス実行部２５１は、削除通知メッセージの送信を要求されると、削除通知終了判定部５１０に通知する。削除通知終了判定部５１０は、少なくとも１つの確認用プロトコルが使用可能であるかを確認するために、ＳＡ管理部２２に使用可能な確認用プロトコルがあるか、問い合わせる（Ｓ３１）。問い合わせた結果、使用可能な確認用プロトコルが存在しない場合、確認用プロトコルなしの処理を行う（Ｓ３２）。この処理については、後述する第３実施形態で詳述する。
【０１２２】
ステップＳ３３：一方、使用可能な確認用プロトコルが存在する場合、確認プロセス実行部２５１は、削除対象のＩＰｓｅｃ  ＳＡに対する削除通知メッセージの送信を、ＩＳＫＡＭＰメッセージ処理部５０４に要求する。ＩＳＡＫＭＰメッセージ処理部２４は、削除通知メッセージを作成し、ＩＰ処理部４０に送信を要求する。なお、削除通知メッセージはＲＦＣ２４０７〜ＲＦＣ２４０９に規定されている範囲を逸脱しないものとし、説明を省略する。
【０１２３】
ステップＳ３４〜Ｓ３７：次に、削除通知終了判定部５１０は、ＳＡ管理部２２に対し、削除対象のＩＰｓｅｃ  ＳＡの有効期限が満了しているか否かを問い合わせる（Ｓ３４）。寿命切れであれば、本処理を終了し、削除通知終了判定部５１０はＳＡ管理部２２にＩＰｓｅｃ  ＳＡの削除要求を行う（後述するＳ３７）。一方、ＩＰｓｅｃ  ＳＡが寿命切れでない場合、削除通知終了判定部５１０は、削除通知到達確認部５２０に到達確認処理要求を行う（発明５に対応）。削除通知到達確認部５２０は、到達確認処理を行い（Ｓ３５）、削除通知メッセージの再送の終了条件を満たすか否かを判定する（Ｓ３６）。終了条件を満たす場合、削除通知終了判定部５１０はＳＡ管理部２２にＩＰｓｅｃ  ＳＡの削除要求を行い、削除通知メッセージ送信及び到達確認処理を終了する（Ｓ３７）。終了条件を満たさない場合、ステップＳ３８に移行する。
【０１２４】
ステップＳ３８〜Ｓ４０：削除通知終了判定部５１０は、削除通知メッセージの送信回数をインクリメントする（Ｓ３８）。インクリメントした送信回数が規定の上限値（この場合は“２”）を超えていたら（Ｓ３９）、終了条件を満たさない場合の処理を行う（Ｓ４０）（発明６に対応）。規定の上限値を超えていなければ、再度削除通知メッセージ送信を行う（Ｓ３３）。
【０１２５】
終了条件を満たさない場合の処理としては、ユーザに相手側通信装置１ｃにおけるＩＰｓｅｃ  ＳＡが削除されていないことを通知するなどが挙げられる（発明６に対応）。このとき、自端末１ａにおいて、ＳＡ管理部２２に、該当するＩＰｓｅｃ  ＳＡ情報の削除を要求してもよいし、ＩＰｓｅｃ  ＳＡの状態を「使用不可能」とする要求をしてもよい。
【０１２６】
なお、削除通知メッセージは、ＩＰｓｅｃ  ＳＡのための削除通知メッセージ、ＩＳＡＫＭＰ  ＳＡのための削除通知メッセージのどちらであってもよい。
【０１２７】
以上の処理により、所定の終了条件を満たすまで、削除通知メッセージを繰り返し送信する。従って、削除通知メッセージを１回しか送信しない場合に比して、相手側通信装置に到達する確実性が増し、ＩＰｓｅｃ  ＳＡ不一致の状態の発生確率を抑制することができる。
【０１２８】
（２−３）到達確認処理サブルーチン
図１５は、到達確認処理サブルーチンの処理の流れの一例を示すフローチャートである（発明４に対応）。この処理では、ＩＰｓｅｃパケットである確認パケットを、繰り返し送信し、相手側通信装置１ｃからの応答パケットの有無を確認する。確認パケットの再送終了条件は、この例では、ＩＳＡＫＭＰパケットを受信した場合及び再送回数が規定の上限値を超える場合である。確認パケットの再送終了条件は、これに限定されず、例えばＩＰｓｅｃ  ＳＡの有効期限が満了した場合であっても良い（発明１２に対応）。一方、該当のＩＰｓｅｃ  ＳＡを用いて、暗号化された応答パケットを受信した場合、終了条件を満たさないと判断される。なお、規定の再送上限回数は、削除通知メッセージの再送上限回数以上であることが好ましく、本例では２回とする。
【０１２９】
前記図１４の処理でステップＳ３５に移行すると、以下の処理が開始される。
【０１３０】
ステップＳ５１：削除通知到達確認部５２０は、確認パケット送信用に使用可能である確認用プロトコルをＳＡ管理部２２に問い合わせる。確認用プロトコルがある場合、ＳＡ管理部２２は、管理テーブル２２ａから送信パケットのペイロード及び応答パケットのペイロードを読み出し、削除通知到達確認部５２０に渡す。削除通知到達確認部５２０は、送信パケットのペイロードを確認パケット送信部２５３に、応答パケットのペイロードをパケット受信判定部２５４に、それぞれ削除対象のＩＰｓｅｃ  ＳＡ情報とともに渡す。次に、削除通知到達確認部５２０は、確認パケット送信部２５３に対し、確認パケットの送信を要求する（発明７に対応）。確認パケット送信要求に対する確認パケット送信処理は、図１１の事前確認パケット送信処理と同様である。
【０１３１】
ステップＳ５２：削除通知到達確認部５２０は、確認パケット送信失敗の通知を確認パケット送信部２５３から受信した場合は、ＳＡ管理部２２に使用可能である確認用プロトコルの問い合わせを行い、失敗したプロトコル以外のプロトコルがあれば、それを使用して、再度確認パケットの送信要求を行う。もし、他のプロトコルが存在しなければ、終了条件を満たさないとして、到達確認処理を終了する（後述するＳ５５）。
【０１３２】
ステップＳ５３：確認パケット送信成功の通知を確認パケット送信部２５３から受信した場合、削除通知到達確認部５２０は、パケット受信判定部２５４に受信判断処理サブルーチンの実行を要求し、相手側通信装置１ｃからの応答パケットを一定期間待機する。
【０１３３】
ステップＳ５４〜Ｓ５５：削除通知到達確認部５２０は、応答パケット受信成功の通知を受信した場合（Ｓ５４）、削除通知メッセージの送信終了条件を満たさないこととする（Ｓ５５）（発明７に対応）。
【０１３４】
ステップＳ５６〜Ｓ５８：削除通知到達確認部５２０は、応答パケット受信失敗の通知を受信した場合（Ｓ５４）、その真偽を確認するために、確認パケットの再送を確認パケット送信部２５３に要求する。まず、削除通知到達確認部５２０は、確認パケットの再送終了条件が満たされているかを判断する。この例では、削除通知到達確認部５２０は、再送回数が規定の上限回数を超えているかを確認する（Ｓ５６）。再送回数が規定の回数を超えていなければ、削除通知到達確認部５２０は、再送回数をインクリメントし（Ｓ５７）、再度確認パケットの送信を確認パケット送信部２５３に対して要求する（Ｓ５１）（発明１２に対応）。再送回数が規定の上限回数を超えている場合、削除通知メッセージの終了条件を満たしていることとする（Ｓ５８）（発明７に対応）。
【０１３５】
なお、削除通知メッセージの送信は、１回につき１つとして説明したが、複数個同一の削除通知メッセージを送信しても構わない。同様に、到達確認処理を１つの“確認パケット”により実施するとして説明したが、複数の“確認パケット”により実施してもよい。
【０１３６】
このように、本実施の形態によれば、到達確認処理を実施することにより、相手側通信装置においてＩＰｓｅｃ  ＳＡが残っていることを確認することができ、必要以上にネットワーク負荷を上げずに、対向通信装置に対して、削除通知メッセージを送信することができる。
【０１３７】
また、事前に確認用プロトコルの使用可能状況を確認することにより、より正確に到達確認処理を実施することができる。
【０１３８】
また、確認用プロトコルとしてＴＣＰプロトコルを利用することにより、ネットワーク上でパケットロスした場合においても、再送制御により、パケットが相手側通信装置１ｃに到達しやすくなる。
【０１３９】
（２−４）受信判断処理サブルーチン
図１６は、受信判断処理サブルーチンにおける処理の流れの一例を示すフローチャートである（発明７に対応）。前記図１５の処理でステップＳ５３に移行すると、以下の処理が開始される。
【０１４０】
ステップＳ６１：パケット受信判定部２５４は、相手側通信装置１ｃからのパケットを一定期間待機する（Ｓ６１）。相手側通信装置１ｃからのパケットを一定期間内に受信しない場合、削除通知到達確認部５２０に対して応答パケット受信失敗を通知する（Ｓ６２）。受信しなかった理由として、次の２つが考えられる。第１の理由は、通信装置１ｃが削除通知メッセージを受信し、削除対象のＩＰｓｅｃ  ＳＡ情報を削除したため、通信装置１ａから送信したＩＰｓｅｃ化された確認パケットを復号化処理できず、応答を返さない場合である。第２の理由は、相手側通信装置１ｃには、ＩＰｓｅｃ  ＳＡ情報が残っており、応答パケットとしてＩＰｓｅｃパケットを送信したが、ネットワーク上のなんらかの問題により破棄される場合である。
【０１４１】
ステップＳ６３〜Ｓ６５：パケット受信判定部２５４は、何らかのパケットを通信装置１ｃから受信した場合、そのパケットがＩＳＡＫＭＰパケットであるか否かを確認する（Ｓ６４）。受信したパケットが自動鍵交換処理開始のためのＩＳＫＡＭＰパケットと判断された場合、パケット受信判定部２５４は応答パケット受信失敗を削除通知到達確認部５２０に通知する（Ｓ６５）（発明１３に対応）。これにより、確認パケットの再送は停止し、終了条件が満了していなければ削除通知メッセージが再送される。ＩＳＡＫＭＰパケットを受信する理由として次の要因が考えられる。その要因は、通信装置１ｃが、ＩＰｓｅｃパケットを受信したが該当するＩＰｓｅｃ  ＳＡ情報が存在しない場合、自動的に自動鍵交換処理を実行し、ＩＰｓｅｃ  ＳＡを確立しようとする実装である場合である。
【０１４２】
ステップＳ６６〜Ｓ６８：受信したパケットがＩＳＡＫＭＰパケットではない場合、パケット受信判定部２５４は、受信したパケットがＩＰｓｅｃ化されたパケットであるか否かを判断する（Ｓ６６）。ＩＰｓｅｃ化されたパケットであれば、パケット受信判定部２５４は、応答パケット判定部５５０にＩＰｓｅｃ処理部６０に復号処理を要求し、復号化されたパケットを取得し、確認パケットに対する応答パケットであるか否かの判断を要求する（Ｓ６７）。応答パケットであった場合、応答パケット判定部５５０は、応答パケット受信成功を削除通知到達確認部５２０に通知する（Ｓ６８）。（発明８に対応）逆に、受信したパケットが応答パケットではない場合や、ＩＰｓｅｃ化されたパケットでない場合、パケット受信判定部２５４は再度パケットの受信待ちを行う（Ｓ６１）。
【０１４３】
本実施形態では、受信したパケットが期待している応答パケットであるか否かの判断を、復号後のパケットに基づいて行うが、応答パケットのＳＰＩ値が確認パケットのＳＰＩ値と一致した場合に応答パケットであると判断してもよい（発明９に対応）。この場合、ＳＰＩ値及び確認用プロトコルの使用可能状況フィールド以外の情報をＳＡ管理部２２に残しておく必要がないために、メモリの枯渇を防ぐことができる。
【０１４４】
以上のように、パケット受信判定部２５４は、確認パケットに対する応答パケットの受信成功または失敗を、削除通知到達確認部５２０に通知する。
【０１４５】
＜第２実施形態＞
本実施形態において、通信システムの構成及び通信装置の機能構成は、前記第１実施形態と同様である。本実施形態において、ＩＰ通信の送信元及び宛先は通信装置１ａ及び１ｃとし、自動鍵交換処理をルータ１ｅ，ｆ間にて行うトンネルモードの場合の処理について説明する。このときのルータとしての通信装置１ｅ，ｆの機能について説明を行う。
【０１４６】
（１）トンネルモードのパケット構成
図１７は、ＩＰｓｅｃトンネルモードのパケット構成の説明図である。ＩＰｓｅｃトンネルモードは、ＩＰパケット全体に対してセキュリティ機能を適用し、ルータが新たにトンネル配送用の外側ＩＰヘッダ及びＥＳＰヘッダを追加したパケットによる通信である。第１実施形態にて説明したように、トンネルモードは主にパケットを中継する機器間でＩＰｓｅｃ  ＳＡを確立して、暗号通信を行う。例えば、通信装置１ａ、ｃ間でＩＰ通信を行い、ルータ１ｅ、ｆ間で暗号通信を行う。この場合、内側ＩＰヘッダの宛先、送信元は、通信装置１ａ、ｃであり、外側ＩＰヘッダの宛先、送信元は、ルータ１ｅ、ｆであり、内側ＩＰヘッダと、外側ＩＰヘッダの宛先、送信元は異なる。
【０１４７】
このため、到達確認処理における確認パケット(事前確認パケットを含む)を作成する場合、第１実施形態とは異なる処理が必要となる。以下に、第１実施形態とは異なる箇所のみを説明する。
【０１４８】
（２）管理テーブル
図１８は、本実施形態の管理テーブル２２ｂを示す図である。この管理テーブルは、第１実施形態における管理テーブル２２ａに、ＩＰ通信の送信元及び宛先を示すフィールドを追加した構成となっている。トンネルモードは、上記で説明の通り、ＩＰｓｅｃによる通信の端点とＩＰによる通信の端点が異なる。そのため、確認パケットを作成するためには、ＩＰｓｅｃ通信の端点のみだけでは不十分であり、ＩＰ通信の送信元及び宛先が必要となる。それ以外のフィールドについては、前記管理テーブル２２ａと同様である。
【０１４９】
（３）ＩＰ端点の取得
次に、前記第１実施形態と異なる処理について説明する。前記第１実施形態と本実施の形態の処理が異なる点は、自動鍵交換処理が完了し、ＩＰｓｅｃ  ＳＡ確立後、ＩＰｓｅｃ  ＳＡが確立済みを通知するまでの処理である。図１９は、ＳＡ管理部２２におけるＩＰｓｅｃ  ＳＡ確立後の処理の流れを示すフローチャートである。この処理では、ＳＡ管理部２２は、ＩＰｓｅｃ  ＳＡの確立済通知に先立ってＩＰｓｅｃ  ＳＡが使用されるのを待ち、使用されたときのＩＰパケットによりＩＰ通信の端点の情報を得る。確認パケットの作成において、トンネルモードでは、ＩＰ通信の端点を送信元及び宛先とするＩＰヘッダを持つＩＰパケット全体を、暗号化処理・認証処理の対象とする。しかし、トンネルモードでは、暗号通信の端点とＩＰ通信の端点が異なり、暗号通信の端点同士で自動鍵交換処理を行うため、ＩＰｓｅｃ  ＳＡを確立する過程（自動鍵交換処理）及びＩＰｓｅｃ  ＳＡ確立後、通信が発生しない場合において、ＳＡ管理部２２は、ＩＰ通信の端点を得ることができない。本処理は、ＳＡ管理部２２がＩＰ通信の端点を得るために行う処理である。
【０１５０】
ステップＳ７１〜Ｓ７４：ＳＡ管理部２２は、ＩＰｓｅｃ  ＳＡが確立された状態において（Ｓ７１）、ＩＰ処理部４０から中継処理を行うパケットの送信要求が生じるのを待機する（Ｓ７２）。送信要求が生じると、送信パケットのペイロードがＩＰｓｅｃ  ＳＡを適用する条件に適合するか否かを、ＩＰ処理部４０に問い合わせる（Ｓ７３）。ＳＡ管理部２２は、ＩＰｓｅｃが適用される条件のパケットであり、かつ、そのためのＩＰｓｅｃ  ＳＡが存在しているかを判断する（Ｓ７４）。ＩＰｓｅｃ  ＳＡが存在しなければ、ＳＡ管理部２２は、自動鍵交換の実行をＳＡ確立部２３に要求し、ＩＰｓｅｃ  ＳＡを確立する。
【０１５１】
ステップＳ７５〜Ｓ７７：一方、ＩＰｓｅｃ  ＳＡが存在すれば、対応するＩＰｓｅｃ  ＳＡに対するＩＰ通信の端点が記憶されているかを、ＳＡ管理部２２は判断する（Ｓ７５）。ＩＰ通信の端点が既に記憶されていれば、通常のＩＰｓｅｃパケットと同様に処理し、再度ＩＰ処理部からのＩＰｓｅｃ適用問い合わせを待つ（Ｓ７２）。記憶されていなければ、ＩＰｓｅｃ適用問い合わせを受けたパケットのＩＰヘッダから送信元及び宛先を読み出し、該当するＩＰｓｅｃ  ＳＡのＩＰ通信端点の送信元・宛先として管理テーブル２２ｂに書き込む（Ｓ７６）。書き込みが完了したら、ＳＡ管理部２２は確認プロセス管理部２５に対し、ＩＰｓｅｃ  ＳＡ確立を通知する（Ｓ７７）。
【０１５２】
このように、ＳＡ管理部２２において、トンネルモード時のＩＰ通信端点を保持しておくことにより、確認パケット作成及び応答パケットの判断に活用できる。
【０１５３】
（４）確認パケット及び応答パケットの作成
確認パケットの作成は、前記図１０に示すプロトコル確認処理及び図１５の到達確認処理サブルーチンにて行われる。これらの処理では、確認プロセス管理部２５が暗号化・認証処理要求を行うと、ＩＰｓｅｃ処理部６０では、ＩＰ通信のパケットを構築し、暗号化・認証処理対象をＩＰパケット全体として処理を行う（発明１４に対応）。
【０１５４】
また、応答パケットの判断は、図１２に示すパケット受信判定処理及び図１６に示す受信判断処理サブルーチンにて行う。これらの処理では、ペイロードの確認に加えて、復号後のＩＰパケットにおける送信元及び宛先が期待すべき結果であることを確認してもよい。
【０１５５】
これ以外の処理に関しては、第１の実施の形態と同様に処理を行う。
【０１５６】
本実施形態によれば、トンネルモード用のＩＰｓｅｃ  ＳＡの削除通知メッセージに対しても、到達確認処理を行うことができる。
【０１５７】
＜第３実施形態＞
図２０は、第３実施形態の通信装置１における確認プロセス管理部２５の機能ブロック図である。本実施形態において、通信システムの構成及び通信装置の機能構成は、確認プロセス管理部２５にプロトコル記憶部２５２がないことを除き、前記第１実施形態と同様である。本実施形態における通信システムでは、第１実施形態と同様に、通信装置１ａ、１ｃ間でＩＰ通信及びＩＰｓｅｃ通信を行う。
【０１５８】
本実施形態では、削除通知メッセージの到達確認処理を実行しない。その代わり、所定時間、この例ではＩＰｓｅｃ  ＳＡの有効期限が切れるまで、削除通知メッセージを繰り返し送信する（発明３に対応）。なお、到達確認処理を行わないため、プロトコル確認処理も行わない。
【０１５９】
図２１は、本実施形態における削除通知メッセージ送信処理の流れの一例を示すフローチャートである。本実施形態では、前記図１４の削除通知メッセージ送信処理に代えて以下の処理により削除通知メッセージを送信する。
【０１６０】
ステップＳ８１〜Ｓ８３：削除通知終了判定部５１０は、対応する削除通知メッセージの送信を、ＩＳＡＫＭＰメッセージ処理部２４に要求する（Ｓ８１）。その後、削除通知終了判定部５１０は、ＳＡ管理部２２にＩＰｓｅｃ  ＳＡの有効期限が切れているかを問い合わせる（Ｓ８２）。有効期限が切れている場合、削除通知終了判定部５１０は本処理を終了し、ＳＡ管理部２２にＩＰｓｅｃ  ＳＡの削除要求を行う（Ｓ８３）。
【０１６１】
ステップＳ８４〜Ｓ８６：一方、有効期限が切れていないか、寿命切れの通知を受ける前にパケット受信判定部２５４がＩＰｓｅｃ化されたパケットを受信した場合（Ｓ８４）、パケット受信判定部２５４は、そのＩＰｓｅｃ化されたパケットを復号するＩＰｓｅｃ  ＳＡの状態をＳＡ管理部２２に問い合わせる（Ｓ８５）。該当するＩＰｓｅｃ  ＳＡの状態が「使用不可」であった場合は、削除通知終了判定部５１０は再度削除通知メッセージを送信要求する（Ｓ８１）。逆に「使用可能」であった場合は、寿命切れの通知またはＩＰｓｅｃ化されたパケットの受信を待つ（Ｓ８２，Ｓ８４）。
【０１６２】
これ以外の処理に関しては、第１実施形態と同様の処理のため、その説明を省略する。
【０１６３】
なお、ＩＰｓｅｃ化されたパケットの受信待ちを終了するタイミングとして、ＩＰｓｅｃ  ＳＡの寿命切れを一例に挙げたが、そのタイミングはこれに限定されない。また、ＩＰｓｅｃ化されたパケットの受信後に、削除通知メッセージを送信する場合を例にとったが、ＩＰｓｅｃ化されたパケットの受信とは無関係に削除通知メッセージを送信してもよい。
【０１６４】
このように、本実施形態によれば、「使用不可」のＩＰｓｅｃ  ＳＡを使用したパケットを受信した場合に、相手側通信装置１ｃにＩＰｓｅｃ  ＳＡが存在していることがわかり、その場合に、削除通知メッセージを送信することができる。
【０１６５】
また、受信待ちを終了するタイミングをＩＰｓｅｃ  ＳＡとすることで、相手側通信装置においてＩＰｓｅｃ  ＳＡが削除された以降は、他の通信装置からの受信待ちしていたパケットを偽装したパケットを用いての攻撃に対して、削除通知メッセージを送信せずに済む。
【０１６６】
＜その他の実施形態＞
前述した方法及びこの方法を実行するプログラム並びにこのプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範囲に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク（ＭＯ）、その他のものが挙げられる。
【産業上の利用可能性】
【０１６７】
本発明にかかる削除通知メッセージを送信する装置及び方法は、ＩＰｓｅｃを用いた暗号通信を行う全ての通信装置に適用可能である。このような通信装置としては、例えばＩＰ通信機能を有する家電機器や各種中継器を挙げることができる。
【図面の簡単な説明】
【０１６８】
【図１】本発明の通信装置を用いた通信システムの構成例を示す説明図
【図２】図１の通信装置が行う処理の概要を示す説明図
【図３】図１に示す通信装置の機能ブロック図
【図４】ＩＫＥ処理部の機能構成を示す説明図
【図５】ＳＡ管理部が保持する管理テーブル２２ａに蓄積されるＳＡ情報の概念説明図
【図６】確認プロセス管理部の機能構成を示すブロック図
【図７】プロトコル記憶部に記憶される情報の概念説明図
【図８】確認プロセス実行部２５１の機能ブロック図
【図９】パケット受信判定部の機能ブロック図
【図１０】プロトコル確認処理のメインルーチンの流れの一例を示すフローチャート
【図１１】事前確認パケット送信処理サブルーチンの処理の流れの一例を示すフローチャート
【図１２】事前確認パケット送信処理サブルーチンの処理の流れの一例を示すフローチャート
【図１３】削除通知メッセージ送信要求処理の流れの一例を示すフローチャート
【図１４】削除通知メッセージ送信処理の流れの一例を示すフローチャート
【図１５】到達確認処理サブルーチンの処理の流れの一例を示すフローチャート
【図１６】受信判断処理サブルーチンにおける処理の流れの一例を示すフローチャー
【図１７】ＩＰｓｅｃトンネルモードのパケット構成の説明図
【図１８】第２実施形態のＳＡ管理部が有する管理テーブルに蓄積された情報の概念説明図
【図１９】ＳＡ管理部２２におけるＩＰｓｅｃ  ＳＡ確立後の処理の流れを示すフローチャート
【図２０】第２実施形態の通信装置における確認プロセス管理部の機能ブロック図
【図２１】削除通知メッセージ送信処理の流れの一例を示すフローチャート
【図２２】従来の通信システムの説明図
【符号の説明】
【０１６９】
１ａ〜ｆ：通信装置
２：通信ネットワーク
【図１】
2006352500.tif 000003
【図２】
2006352500.tif 000004
【図３】
2006352500.tif 000005
【図４】
2006352500.tif 000006
【図５】
2006352500.tif 000007
【図６】
2006352500.tif 000008
【図７】
2006352500.tif 000009
【図８】
2006352500.tif 000010
【図９】
2006352500.tif 000011
【図１０】
2006352500.tif 000012
【図１１】
2006352500.tif 000013
【図１２】
2006352500.tif 000014
【図１３】
2006352500.tif 000015
【図１４】
2006352500.tif 000016
【図１５】
2006352500.tif 000017
【図１６】
2006352500.tif 000018
【図１７】
2006352500.tif 000019
【図１８】
2006352500.tif 000020
【図１９】
2006352500.tif 000021
【図２０】
2006352500.tif 000022
【図２１】
2006352500.tif 000023
【図２２】
2006352500.tif 000024