(57)【特許請求の範囲】
【請求項１】
通信装置であって、
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層における暗号化処理に用いられる暗号情報を記憶するメモリと、
前記暗号情報を用いる第１の通信が切断されることを検知する検知手段と、
前記第１の通信が切断されることが検知された場合、前記暗号情報を用いる第２の通信があるか否かを判定する第１の判定手段と、
前記暗号情報の有効期限を判定する第２の判定手段と、
前記第２の通信があると判定され、かつ、前記有効期限までの期間が第１の値よりも短いと判定された場合には、前記メモリから前記暗号情報を削除せず、
前記第２の通信がないと判定された場合、前記メモリから前記暗号情報を削除する削除手段と、
を有することを特徴とする通信装置。
【請求項２】
通信装置であって、
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層における暗号化処理に用いられる暗号情報を記憶するメモリと、
前記暗号情報を用いる第１の通信が切断されることを検知する検知手段と、
前記第１の通信が切断されることが検知された場合、前記暗号情報を用いる第２の通信があるか否かを判定する第１の判定手段と、
前記暗号情報の有効期限を判定する第２の判定手段と、
前記第２の通信があると判定され、かつ、前記有効期限までの残存パケット数が第２の値よりも小さいと判定された場合には、前記メモリから前記暗号情報を削除せず、
前記第２の通信がないと判定された場合、前記メモリから前記暗号情報を削除する削除手段と、
を有することを特徴とする通信装置。
【請求項３】
前記第１の通信と前記第２の通信の通信相手となる装置は同じであることを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記第１の判定手段は、前記暗号情報に含まれる、ＩＰアドレス、前記第１の通信に用いるポート番号、および、プロトコル番号の少なくとも１つに基づいて、前記第２の通信があるか否かを判定することを特徴とする請求項１から３の何れか１項に記載の通信装置。
【請求項５】
前記第１の通信の相手装置との間で、前記暗号情報を生成する生成手段を更に有し、
前記メモリは前記生成手段により生成された前記暗号情報を記憶することを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記生成手段は、ＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）プロトコルに準拠した通信を行うことにより、前記暗号情報を生成することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記削除手段が前記暗号情報を削除する場合に、前記第１の通信の相手装置に当該暗号情報に対応する情報の削除を要求する要求手段を更に有することを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
前記暗号情報は、ＩＰＳｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のＳＡ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）であることを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記第１の通信と前記第２の通信の各々は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、および、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）のいずれかに準拠した通信であることを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層における暗号化処理に用いられる暗号情報の登録数を判定する第３の判定手段を更に有し、
前記第３の判定手段により、前記登録数が第３の値よりも小さい場合には、前記メモリから前記暗号情報を削除しないことを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層における暗号化処理に用いられる暗号情報を記憶するメモリを有する通信装置の制御方法であって、
前記暗号情報を用いる第１の通信が切断されることを検知する検知工程と、
前記第１の通信が切断されることが検知された場合、前記暗号情報を用いる第２の通信があるか否かを判定する第１の判定工程と、
前記暗号情報の有効期限を判定する第２の判定工程と、
前記第２の通信があると判定され、かつ、前記有効期限までの期間が第１の値よりも短いと判定された場合には、前記メモリから前記暗号情報を削除せず、
前記第２の通信がないと判定された場合、前記メモリから前記暗号情報を削除する削除工程と、
を有することを特徴とする制御方法。
【請求項１２】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層における暗号化処理に用いられる暗号情報を記憶するメモリを有する通信装置の制御方法であって、
前記暗号情報を用いる第１の通信が切断されることを検知する検知工程と、
前記第１の通信が切断されることが検知された場合、前記暗号情報を用いる第２の通信があるか否かを判定する第１の判定工程と、
前記暗号情報の有効期限を判定する第２の判定工程と、
前記第２の通信があると判定され、かつ、前記有効期限までの残存パケット数が第２の値よりも小さいと判定された場合には、前記メモリから前記暗号情報を削除せず、
前記第２の通信がないと判定された場合、前記メモリから前記暗号情報を削除する削除工程と、
を有することを特徴とする制御方法。
【請求項１３】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層における暗号化処理に用いられる暗号情報を記憶するメモリを有するコンピュータに請求項１１または１２に記載の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号通信を行う通信装置に関する。
【背景技術】
【０００２】
近年、暗号通信によるセキュリティの必要性が高まってきている。暗号通信のためのセキュリティプロトコルとしてＩＰＳｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）がある。
【０００３】
ＩＰＳｅｃでは、ＳＡ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）と呼ばれる暗号情報が規定されており、ＳＡを用いて暗号通信が行われる。ＳＡには有効期限が設定されており、有効期限が渡過すると、当該ＳＡが削除される（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１４０１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、有効期限までＳＡを記憶する場合には、例えば通信の切断により使われなくなったＳＡまで記憶しておくこととなり、メモリを圧迫する可能性があった。一方で、複数の通信において共通のＳＡを利用する場合があり、このような場合に一方の通信の切断に応じてＳＡを削除すると、他の通信ができなくなってしまうという問題がある。
【０００６】
上記課題を鑑み、通信状況に応じて暗号情報を記憶するメモリを有効に活用できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の通信装置は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層における暗号化処理に用いられる暗号情報を記憶するメモリと、前記暗号情報を用いる第１の通信が切断されることを検知する検知手段と、前記第１の通信が切断されることが検知された場合、前記暗号情報を用いる第２の通信があるか否かを判定する第１の判定手段と、前記暗号情報の有効期限を判定する第２の判定手段と、前記第２の通信があると判定され、かつ、前記有効期限までの期間が第１の値よりも短いと判定された場合には、前記メモリから前記暗号情報を削除せず、前記第２の通信がないと判定された場合、前記メモリから前記暗号情報を削除する削除手段と、を有する。
また、本発明の別の側面の通信装置は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層における暗号化処理に用いられる暗号情報を記憶するメモリと、前記暗号情報を用いる第１の通信が切断されることを検知する検知手段と、前記第１の通信が切断されることが検知された場合、前記暗号情報を用いる第２の通信があるか否かを判定する第１の判定手段と、前記暗号情報の有効期限を判定する第２の判定手段と、前記第２の通信があると判定され、かつ、前記有効期限までの残存パケット数が第２の値よりも小さいと判定された場合には、前記メモリから前記暗号情報を削除せず、前記第２の通信がないと判定された場合、前記メモリから前記暗号情報を削除する削除手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、暗号情報を用いた通信を切断する際に、当該暗号情報を利用する他の通信がなければ該暗号情報を削除するので、通信状況に応じて暗号情報を記憶するメモリを有効に活用することができる。
【図面の簡単な説明】
【０００９】
【図１】ネットワーク構成図。
【図２】通信装置のハードウェア構成図。
【図３】通信装置のソフトウェア構成図。
【図４】通信装置が実現するフローチャート。
【図５】通信装置が実現するフローチャート。
【発明を実施するための形態】
【００１０】
図１に本実施形態の通信システム構成を示す。通信装置１０１と通信装置１０２とは、ネットワーク１１０を介してＩＰ通信を行う。なお、ＩＰとはＩｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略である。
【００１１】
通信装置１０１は例えば、撮像装置（カメラやビデオカメラ等）やスキャナ等の画像入力装置であってもよいし、プリンタやコピー機、プロジェクタ等の画像出力装置であってもよい。また、ハードディスク装置やメモリ装置などの記憶装置であってもよいし、パーソナルコンピュータ（ＰＣ）やスマートフォンなどの情報処理装置であってもよい。
【００１２】
また、ネットワーク１１０はＥｔｈｅｒｎｅｔ（登録商標）規格に準拠したＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。しかしこれに限らず、ネットワーク１１０として、インターネットであってもよいし、ＩＥＥＥ８０２．１１シリーズ規格やＢｌｕｅｔｏｏｔｈ（登録商標）規格に準拠した無線ＬＡＮであってもよい。
【００１３】
図２に、通信装置１０１のハードウェア構成を示す。記憶部２０１はＲＯＭやＲＡＭ等のメモリにより構成され、後述する各種動作を行うためのプログラムや、ＩＰ通信のための通信パラメータ等の各種情報を記憶する。なお、記憶部２０１として、ＲＯＭ、ＲＡＭ等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＤＶＤなどの記憶媒体を用いてもよい。また、記憶部２０１が複数のメモリ等を備えていてもよい。
【００１４】
制御部２０２はＣＰＵやＭＰＵ等のプロセッサにより構成され、記憶部２０１に記憶されたプログラムを実行することにより通信装置１０１全体を制御する。なお、制御部２０２は、記憶部２０１に記憶されたプログラムとＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）との協働により通信装置１０１全体を制御するようにしてもよい。また、制御部２０２がマルチコア等の複数のプロセッサを備え、複数のプロセッサにより通信装置１０１全体を制御するようにしてもよい。
【００１５】
機能部２０３は、通信装置１０１が所定の処理を実行するためのハードウェアである。例えば、通信装置１０１がカメラである場合、機能部２０３は撮像部であり、撮像処理を行う。また、例えば、通信装置１０１がプリンタである場合、機能部２０３は印刷部であり、印刷処理を行う。また、例えば、通信装置１０１がプロジェクタである場合、機能部２０３は投影部であり、投影処理を行う。機能部２０３が処理するデータは、記憶部２０１に記憶されているデータであってもよいし、後述する通信部２０６を介して通信装置と通信したデータであってもよい。
【００１６】
入力部２０４は、ユーザからの各種操作の受付を行う。出力部２０５は、ユーザに対して各種出力を行う。ここで、出力部２０５による出力とは、画面上への表示や、スピーカーによる音声出力、振動出力等の少なくとも１つを含む。なお、タッチパネルのように入力部２０４と出力部２０５の両方を１つのモジュールで実現するようにしてもよい。
【００１７】
通信部２０６はＴＣＰ／ＩＰ通信およびＵＤＰ／ＩＰ通信等の制御を行い、不図示のＩＦ（インターフェース）を介して、画像データや文書データ、映像データ等のコンテンツを通信装置１０２と通信する。ここで、ＴＣＰとはＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌの略であり、ＵＤＰはＵｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌの略である。
【００１８】
図３に、通信装置１０１の制御部２０２が記憶部２０１に記憶されているプログラムを読み出すことで実現されるソフトウェア機能ブロックを示す。なお、図３に示すソフトウェア機能ブロックの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで各機能ブロックを実現するためのプログラムからＦＰＧＡ上に専用回路を生成し、これを当該ソフトウェアモジュールの機能を有するハードウェアモジュールとして用いればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。
【００１９】
受信部３０１は、ＯＳＩ参照モデルにおけるデータリンク層と物理層の制御を行う。ここでは、受信部３０１はＥｔｈｅｒｎｅｔ（登録商標）規格に準拠した通信の制御を行う。プロトコル処理部３０２は、ＯＳＩ参照モデルにおけるトランスポート層、および、ネットワーク層の制御を行う。ここでは、プロトコル処理部３０２は、ＴＣＰ／ＩＰ通信およびＵＤＰ／ＩＰ通信の制御を行う。
【００２０】
ＩＰＳｅｃ部３０３は、ＩＰパケットに対してＩＰＳｅｃに準拠した暗号化処理、および、復号処理（以下、ＩＰＳｅｃ処理）を行う。即ち、ＩＰＳｅｃ部３０３はＩＰ層における暗復号処理を行う。ＩＰＳｅｃ部３０３は、プロトコル処理部３０２からＩＰＳｅｃ処理前のＩＰパケットを受信し、ＩＰＳｅｃ処理後のＩＰパケットをプロトコル処理部３０２に提供する。なお、ＩＰＳｅｃとはＳｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略である。
【００２１】
ＩＫＥ部３０４は、通信装置１０２との間でＩＫＥに準拠した鍵交換処理を行うことで、ＩＰＳｅｃ処理に用いられるＳＡを生成する。ここで、ＩＫＥとはＩｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅの略であり、ＳＡとはＳｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎの略である。ＳＡには、ＩＰＳｅｃ処理に用いられる暗号鍵、通信装置１０１と通信装置１０２の各々のＩＰアドレスの情報、通信装置１０１と通信装置１０２との間の通信で用いられるポート番号、および、プロトコル番号等の暗号情報が含まれる。生成されたＳＡは、記憶部２０１に記憶される。
【００２２】
判定部３０５は、ＩＫＥ部３０４により生成されたＳＡを記憶部２０１から削除するか否かを判定する。削除部３０６は、判定部３０５によりＳＡを削除すると判定された場合に、記憶部２０１からＳＡを削除する。ここで、ＳＡの削除とは、記憶部２０１におけるＳＡを記憶する領域の全ビットを０または１に書き換えること、暗号鍵を無効化すること、もしくは、削除フラグを立てること等である。
【００２３】
図４および５に、通信装置１０１の記憶部２０１に記憶されたプログラムを制御部２０２が実行することで実現されるフローチャートを示す。なお、図４および５に示すフローチャートに示すステップの一部または全部を例えばＡＳＩＣ等のハードウェアで実現する構成としても良い。
【００２４】
最初に、図４について説明する。図４に示すフローチャートは、通信装置１０１が通信装置１０２とのＩＰＳｅｃを用いた通信を開始する際に実現される。ここでは、通信装置１０１は、ユーザの指示に応じてＩＰＳｅｃを用いた通信を開始する。しかしこれに限らず、所定の時刻になった場合や、通信装置１０１が所定の場所に在る場合、所定の信号を受信した場合等、所定の条件を満たした場合に、ＩＰＳｅｃを用いた通信を開始するようにしてもよい。
【００２５】
まず、通信を開始するためのユーザ指示が為されると、通信装置１０１は自装置および相手装置である通信装置１０２のＩＰアドレスと、通信に用いるポート番号、および、プロトコル番号等を含むソケット情報を生成し、記憶部２０１に記憶する（Ｓ４０１）。なお、通信に用いるプロトコル番号とは、通信装置１０２との通信で用いる通信プロトコルを示す番号であり、番号に応じてＴＣＰ通信、ＵＤＰ通信等を識別することができる。
【００２６】
次に、通信装置１０１は、これから開始する通信にＩＰＳｅｃを利用するか否かを判定する（Ｓ４０２）。なお、ＩＰＳｅｃを利用するか否かはユーザが選択するものとする。Ｓ４０２においてユーザに選択させてもよいし、事前にユーザに選択させておいてもよい。また、通信プロトコルやポート番号、相手装置のＩＰアドレス等に基づいて、ＩＰＳｅｃを利用するか否を判定するようにしてもよい。
【００２７】
ＩＰＳｅｃを利用しないと判定された場合（Ｓ４０２のＮｏ）、通信装置１０１はＩＰＳｅｃを利用することなく通信装置１０２との通信を開始する（Ｓ４０３）。
【００２８】
一方、ＩＰＳｅｃを利用すると判定された場合（Ｓ４０２のＹｅｓ）、通信装置１０１はＳＡＤを確認し、これから開始する通信に利用可能なＳＡが既に存在するか否かを確認する（Ｓ４０４）。ここで、ＳＡＤとはＳｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ  Ｄａｔａｂａｓｅの略であり、ＩＫＥ部３０４により生成されたＳＡのリストである。
【００２９】
利用可能なＳＡが無い場合（Ｓ４０４のＮｏ）、通信装置１０１は通信装置１０２との間でＩＫＥに準拠した鍵交換処理を行い、ＩＰＳｅｃ処理に用いられるＳＡを生成する（Ｓ４０５）。なお、このようにして生成されたＳＡは記憶部２０１に記憶される。また、生成されたＳＡはＳＡＤに登録され、記憶部２０１に記憶される。そして、通信装置１０１はＳＡを用いて暗号化されたＩＰパケットを利用して、通信装置１０２との新たな通信を開始する（Ｓ４０６）。
【００３０】
一方、利用可能なＳＡがある場合（Ｓ４０４のＹｅｓ）、Ｓ４０５を省略し、当該利用可能なＳＡを用いて暗号化されたＩＰパケットを利用して、通信装置１０２との新たな通信を開始する（Ｓ４０６）。
【００３１】
ここでは、通信装置１０１は通信装置１０２との間で、ＴＣＰおよびＩＰに準拠したＴＣＰ／ＩＰ通信と、ＵＤＰおよびＩＰに準拠したＵＤＰ／ＩＰ通信の２つの通信を行うものとする。そして、ＴＣＰ／ＩＰ通信と、ＵＤＰ／ＩＰ通信とは、共通のＳＡを利用してＩＰＳｅｃ通信（暗号通信）を行う。なお、ソケット情報については、ＴＣＰ／ＩＰ通信と、ＵＤＰ／ＩＰ通信の各々について生成される。
【００３２】
次に、図５について説明する。図５に示すフローチャートは、通信装置１０１が通信装置１０２とのＩＰＳｅｃ通信を終了する際に実現される。ここでは、通信装置１０１は、ユーザの指示に応じてＩＰＳｅｃ通信を終了する。しかしこれに限らず、所定の時刻になった場合や、通信装置１０１が所定の場所から離れた場合、所定の信号を受信した場合等、所定の条件を満たした場合に、ＩＰＳｅｃ通信を終了するようにしてもよい。
【００３３】
まず、通信装置１０１は、通信を終了するためのユーザ指示を検知すると、通信を終了するための処理を開始する（Ｓ５０１）。ここでは、ＴＣＰ／ＩＰ通信の終了指示がユーザから為されたものとする。この場合、通信装置１０１はＴＣＰ通信を終了することを示すＦｉｎ信号を通信相手装置である通信装置１０２に送信する。そして、通信装置１０１はＦｉｎ信号の応答信号を通信装置１０２から受信する。
【００３４】
次に、通信装置１０１は、当該終了する通信に用いられていたＳＡを判定する（Ｓ５０２）。具体的には、通信装置１０１は、当該通信に対応するソケット情報に含まれる通信装置１０１および１０２のＩＰアドレス、ポート番号、プロトコル番号に基づいてＳＡＤを探索し、対応するＳＡを判定する。なお、ＩＰアドレス、ポート番号、プロトコル番号の少なくとも１つに基づいてＳＡを判定するようにしてもよいし、他の情報を更に加えてＳＡを判定するようにしてもよい。
【００３５】
ここで、当該終了する通信に用いられていたＳＡが存在しない場合（Ｓ５０２のＳＡ不存在）、図５に示す処理を終了する。ＳＡ存在しない場合とは、例えば、当該終了する通信が例えばＩＰＳｅｃを利用しない通信である場合である。
【００３６】
一方、当該終了する通信に用いられていたＳＡが存在する場合（Ｓ５０２のＳＡ存在）、通信装置１０１は当該ＳＡを利用する可能性のある他の通信が存在するか否かを判定する（Ｓ５０３）。具体的には、当該ＳＡに含まれる通信装置１０１および１０２のＩＰアドレス、ポート番号、プロトコル番号に基づいて、対応する他のソケット情報が存在するか否かを判定する。ここでは、ＴＣＰ／ＩＰ通信とＵＤＰ／ＩＰ通信とで共通のＳＡを利用するため、対応する他のソケット情報として、ＵＤＰ／ＩＰ通信のソケットが存在すると判定される。
【００３７】
他の通信が存在すると判定された場合（Ｓ５０３のＹｅｓ）、通信装置１０１は当該ＳＡを削除することなく、図５に示す処理を終了する。一方、他の通信が存在しないと判定された場合（Ｓ５０３のＮｏ）、通信装置１０１は通信装置１０２に当該ＳＡの削除を要求する要求信号を送信する（Ｓ５０４）。そして、通信装置１０１は当該ＳＡを記憶部２０１から削除する（Ｓ５０５）。なお、ＳＡの削除に伴い、通信装置１０１はＳＡＤからも当該ＳＡの情報を削除する。
【００３８】
このようにして、ＳＡを用いたＩＰＳｅｃ通信を切断する際に、当該ＳＡを利用する他の通信がなければＳＡを削除するので、メモリを有効に活用することができる。また、ＳＡＤからも当該ＳＡの情報を削除するので、ＳＡＤの探索効率を向上させることができる。更に、当該ＳＡを利用する可能性のある他の通信がある場合にはＳＡを削除しないので、当該ＳＡを利用した他の通信を継続して行うことができる。
【００３９】
なお、上述の実施形態では、ＴＣＰ通信とＵＤＰ通信とで共通のＳＡを利用する例を説明した。しかしこれに限らず、ＴＣＰ通信とＩＣＭＰ通信や、ＵＤＰ通信とＩＣＭＰ通信等、利用するプロトコル番号の異なる複数の通信が共通のＳＡを利用してもよい。ここで、ＩＣＭＰとはＩｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌの略である。
【００４０】
また、利用するポート番号の異なる複数の通信が共通のＳＡを利用してもよい。また、ＨＴＴＰクライアントや、ＵＰｎＰにおけるサービス（機能）等、周期的に信号を送受信する通信プロトコル間、もしくは、これらの通信プロトコルとＴＣＰ通信との間で共通のＳＡを利用してもよい。ここで、ＨＴＴＰはＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの略であり、ＵＰｎＰはＵｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙの略である。このような実施形態においても、同様の効果を得ることができる。
【００４１】
また、３つ以上の通信で共通のＳＡを利用してもよい。この場合、最後の１つの通信が切断されるまでＳＡを削除しないようにし、最後の１つの通信が切断された場合にＳＡを削除する。このようにすることで、同様の効果を得ることができる。
【００４２】
また、上述の実施形態におけるＳ５０１とＳ５０２との間において、通信装置１０１が所定の条件を満たすか否かを判定するステップを設けてもよい。所定の条件とは、例えば、ＳＡＤに登録されたＳＡの数（登録数）が所定値よりも小さいか否かである。登録数が所定値以上である場合には、Ｓ５０２に進む。一方、登録数が所定値未満である場合には図５に示す処理を終了する。即ち、登録数が所定値未満である場合には、他の通信がない場合であっても、記憶部２０１からＳＡを削除しない。
【００４３】
これにより、利用されているＳＡの数が少ない場合、即ち、記憶部２０１のメモリ領域に余裕があり、メモリが逼迫していない場合には、図５に示す処理の一部を省略できるので、処理負荷を低減することができる。また、通信路の遅延等により、通信の終了処理後に通信装置１０１が終了したはずのＩＰＳｅｃ通信のパケットを受信した場合であっても、ＳＡを削除していないため、通信装置１０１は適切に受信処理を行うことができる。
【００４４】
また、上述の実施形態におけるＳ５０２のＹｅｓとＳ５０３との間において、通信装置１０１は、終了する通信に用いられていたＳＡの有効期限までの残存期間が所定値よりも短いか否かを判定するステップを設けてもよい。この場合、ＳＡの有効期限までの残存期間が所定値以上である場合には、Ｓ５０３に進む。一方、ＳＡの有効期限までの残存期間が所定値未満である場合には、図５に示す処理を終了する。即ち、ＳＡの有効期限までの残存期間が所定値未満である場合、他の通信がない場合であっても、記憶部２０１からＳＡを削除しない。
【００４５】
なお、有効期限として時間に代えて、送信もしくは受信するパケットの数を利用してもよい。この場合、ＳＡの有効期限までの残存パケット数が所定数以上である場合にはＳ５０３に進み、所定数未満である場合には図５に示す処理を終了する。即ち、ＳＡの有効期限までの残存パケット数が所定数未満である場合、他の通信がない場合であっても、記憶部２０１からＳＡを削除しない。
【００４６】
これにより、削除するか否かを判定する対象となるＳＡが短期間のうちに削除されるような場合には、図５に示す処理の一部を省略できるので、処理負荷を低減することができる。また、通信路の遅延等により、通信の終了処理後に通信装置１０１が終了したはずのＩＰＳｅｃ通信のパケットを受信した場合であっても、ＳＡを削除していないため、通信装置１０１は適切に受信処理を行うことができる。
【００４７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４８】
１０１  通信装置
１０２  通信装置
１１０  ネットワーク
【図１】
0006742740.tif 000002
【図２】
0006742740.tif 000003
【図３】
0006742740.tif 000004
【図４】
0006742740.tif 000005
【図５】
0006742740.tif 000006