(58)【調査した分野】(Int.Cl.,DB名)
前記保持手段により保持している前記パラメータの内、第2の所定の期間内に行われた前記通信手段による暗号通信に用いられる前記パラメータを選択する選択手段を更に有し、
前記決定手段は、前記選択手段により選択された前記パラメータの有効期限を比較し、比較の結果、短い方の有効期限とされた有効期限より前記第1の所定の期間分前の時点を前記タイミングとして決定することを特徴とする請求項1または2に記載の通信装置。
前記通信装置が前記第1の状態で動作しており、前記選択手段により選択されなかった前記パラメータを利用する暗号通信を行った場合に、前記決定手段により決定した前記タイミングを該パラメータの有効期限に基づいて変更する変更手段を更に有することを特徴とする請求項3に記載の通信装置。
前記通信手段は、IP(Internet Protocol)に準拠した通信を暗号化して前記他の通信装置と通信することを特徴とする請求項1から4のいずれか1項に記載の通信装置。
前記通信手段は、前記他の通信装置とIPSec(Security Architecture for the Internet Protocol)に準拠した暗号通信を行うことを特徴とする請求項1から5のいずれか1項に記載の通信装置。
前記更新手段は、IKE(Internet Key Exchange)プロトコルに準拠した更新処理を行うことを特徴とする請求項1から7のいずれか1項に記載の通信装置。
前記決定手段は、前記保持手段が保持する前記パラメータの有効期限を比較し、比較の結果、最も短い有効期限とされた有効期限より前記第1の所定の期間分前の時点を前記タイミングとして決定することを特徴とする請求項1から8のいずれか1項に記載の通信装置。
【発明を実施するための形態】
【0010】
<実施形態1>
図1に、本実施形態の通信システム構成図を示す。通信装置101は、リモートコントローラ(以下、コントローラ)102とLANやWAN等のネットワークを介して接続されている。ここで、通信装置101およびコントローラ102とは、具体的には、カメラ、プリンタ、スマートフォン、PC、サーバ、ストレージ、プロジェクタ、ディスプレイ、ルータ、ネットワークカメラ、車両等である。
【0011】
また、ネットワークは、ここではイーサネット(登録商標)であるものとして説明するが、無線ネットワークや光ファイバーネットワーク等であってもよい。無線ネットワークとして、例えば、IEEE802.11シリーズ(Wi−Fi)、Bluetooth(登録商標)、LTE、ZigBee、MBOA、UWB(WUSB、W1394、WINET)などに準拠した無線ネットワークがある。ここで、MBOAとは、Multi Band OFDM Allianceの略である。
【0012】
また、通信装置101はコントローラ102とTCP/IPに準拠した通信(以下、TCP/IP通信)を行う。TCPとはTransmission Control Protocolの略であり、IPとはInternet Protocolの略である。なお、TCPに代えてUDP(User Datagram Protocol)であってもよい。以下、IPに準拠したパケットのことをIPパケットと称する。
【0013】
通信装置101は、更にIPSec(Security Architecture for the Internet Protocol)を利用した暗号通信をコントローラ102と行うことができる。IPSecではIPに準拠した通信を暗号化する。このような暗号通信をIPSec通信と呼ぶ。IPSec通信では、IPパケットをIPSecに従って暗号化されたIPSecパケットを送受信する。
【0014】
IPSecを利用することで、通信装置101はコントローラ102との通信の秘匿化や認証を行って、通信内容を保護することができる。
【0015】
本実施形態では、通信装置101はIPSecを利用して、通信装置101に対する操作指示をコントローラ102から受信する。また、通信装置101はIPSecを利用して、通信装置101の状態を問合せる問合せ
をコントローラ102から受信する。そして、通信装置101はIPSecを利用して、当該問合せに対する応答をコントローラ102に送信する。
【0016】
また、通信装置101はIPSecを利用して、コントローラ102から映像データや画像データ等の様々なデータを通信する。また、当該データに対する所定の処理の結果についても、通信装置101はIPSecを利用してコントローラ102と通信する。
【0017】
また、通信装置101はIPSecを利用した暗号通信を複数の他の通信装置と並行して行うことができる。
【0018】
図2に、通信装置101のハードウェア構成を示す。通信装置101は、ネットワーク通信部201、アプリケーションシステム部202、および、電源制御部203を有する。
【0019】
まず、ネットワーク通信部201の内部構成について説明する。ネットワーク通信部201を構成するハードウェアモジュールの各々はローカルバス219を介して接続されている。
【0020】
通信制御部211は、ネットワーク110に接続しており、ネットワーク110を介してコントローラ102とIPパケットを含む伝送フレームを送受信する。例えば、ネットワーク110がイーサネット(登録商標)の場合、通信制御部211は、イーサネット(登録商標)のMAC処理(伝送メディア制御処理)を行って、伝送フレームを送受信する。このMACはMedia Access Controlの略である。ローカルRAM212は、ネットワーク通信部201の一時記憶メモリである。
【0021】
DB部213は、TCP/IP通信やIPsec通信に必要な情報を管理するためのデータベースである。より具体的には、DB部213は、TCP/IP通信のコネクション情報を管理する。コネクション情報には、例えば、通信装置101とコントローラ102の各々のIPアドレスや、TCPやUDPのポート番号、TCB(TCP Control Block)などが含まれる。
【0022】
更に、DB部213は、IPsec処理に用いられるSA(Security Association)と、複数のSAを集約したSAD(Security Association Database)とを管理する。
【0023】
ここで、SAとは、IPSecを利用するIPセッション(IPSecセッション)毎に生成され、通信装置101とコントローラ102とで共有されるパラメータである。通常、1つのIPSecセッションに対して、IPSecパケットを送信するために用いられるSAと、IPSecパケットを受信するために用いられるSAの2つが存在する。
【0024】
SAは、当該IPセッションで用いられる暗号アルゴリズムや暗号鍵の情報を含む。更に、SAは当該SAの有効期間を示す情報を含む。また、SAは、当該SAを識別するための値であるSPI(Security Parameter Index)を含む。
【0025】
また、SAは、当該IPセッションにおけるIPSecのプロトコル種別を示す情報を含む。具体的には、IPパケットのペイロード部の暗号化を行うESPと、ペイロード部の暗号化を行わないAHと、のいずれのプロトコルに準拠したIPsecを行うかを示す情報である。ここで、ESPとはEncapsulating Security Payloadの略であり、AHとはAuthentication Headerの略である。
【0026】
また、SAは、当該セッションにおけるIPSecのプロトコルモードを示す情報を含む。具体的には、IPパケットのIPヘッダを暗号化するトンネルモードと、IPヘッダを暗号化しないトランスポートモードと、のいずれの方式でIPSecを行うかを示す情報である。
【0027】
また、SAは、IPパケットの認証処理であるMAC(Message Authentication Code)処理で利用される認証アルゴリズムを示す情報と該MAC処理で利用される認証鍵を含む。
【0028】
DB部213は、更に、IPsec処理におけるSP(Security Policy)と、複数のSPを集約したSPD(Security Policy Database)とを管理する。
【0029】
ここで、SPとは、IPパケットにIPSec処理を行う条件を示す情報である。当該条件は、IPパケットの宛先のIPアドレスや、送信元のIPアドレス、IPパケットの上位層のプロトコル種別、ポート番号、および/または、それらの組み合わせによって表わされる。
【0030】
SPには、更に、IPパケットが所定の条件を満たす場合に行う処理の情報が含まれる。具体的には、IPsecを適用する“PROTECT”、IPsecを適用しない“BYPASS”、通信パケットを破棄する“DISCARD”の3種類がある。
【0031】
プロトコル処理部214は、通信プロトコル処理専用のハードウェア回路装置であり、TCP/IPプロトコルに準拠した通信処理を行う。より具体的には、プロトコル処理部214は、IPv4(IPバージョン4)、IPv6(IPバージョン6)、ICMP、UDP、TCPの各通信プロトコル処理や、送信フロー制御や輻輳制御、通信エラー制御等を行う。ここで、ICMPとは、Internet Control Message Protocolの略である。なお、通信プロトコル処理専用のハードウェア回路装置に代えて、通信プロトコル処理用に設計されたマイクロプロセッサや汎用プロセッサを用いてもよい。
【0032】
更に、プロトコル処理部214は、IPパケットに対してIPSec処理を実施してIPSecパケットを生成するIPSec処理部215を有する。そして、プロトコル処理部214は、IPSec処理部215および後述する暗号処理部217を利用して、IPsecの暗号化機能で必要とする暗号アルゴリズム計算や、認証機能で必要とするMACに用いられるハッシュ値の計算を行う。このMACはMessage Authentication Codeである。また、プロトコル処理部214はIPSec処理部215を利用して、DB部213のSADに対して検索処理を実行する。そして、プロトコル処理部214は、IPsecセッションに応じたSAを参照してIPsecパケットの送信・受信処理を行う。
【0033】
また、プロトコル処理部214は、ネットワーク通信部201内のDB部213と接続している。また、プロトコル処理部214は、電源制御部203と制御信号線で接続されており、電源制御部203を制御する。プロトコル処理部214は、IPsec処理において、DB部213や、後述する暗号処理部217への制御も行う。
【0034】
暗号処理部217は、IPsecに使用される暗号アルゴリズムによるデータ変換処理や、認証アルゴリズムによる認証処理を高速に実行するハードウェア処理回路である。ここで、暗号処理部217が処理する暗号アルゴリズムとしては例えば、DES、3DES、AESがある。
【0035】
IKE処理部218は、IKE(Internet Key Exchange)プロトコル処理(以下、IKE処理)を実行する。IKE処理とは、SAをコントローラ102との間で共有する処理である。より詳細には、IKE処理部218は、通信相手であるコントローラ102をまず認証する。認証に成功するとIKE処理部218は、IPSec処理で用いるプロトコル種別やプロトコルモード、暗号や認証アルゴリズムの鍵データを決定するための折衝をコントローラ102と行う。IKE処理部218は、折衝の結果に基づいてコントローラ102とのIPsec通信に使用されるパラメータであるSAを作成する。このようにして、通信装置101はコントローラ102とSAを共有する。なお、上述の処理にはSAを更新する処理、即ち、新たなSAを再共有する処理も含まれる。
【0036】
SAを新規に共有した場合、IKE処理部218は、DB部213が有するSADに対して当該SAの登録処理を行う。また、同じIPSecセッションにおいてSAを更新する処理が行われた場合、IKE処理部218は、DB部213が有するSADに対して当該SAの更新処理を行う。また、IKE処理部218は、IPSecセッション終了時に、当該IPSecに対応するSAをDB部213が有するSADから削除する処理を行う。
【0037】
バスブリッジ回路216は、ネットワーク通信部201とアプリケーションシステム部202との間でバス間転送を行う。
次に、アプリケーションシステム部202の内部構成について説明する。アプリケーションシステム部202を構成するハードウェアモジュールの各々はシステムバス225を介して接続されている。
【0038】
通信装置101の主要な機能(主要機能)は、アプリケーションシステム部202により実現される。主要機能とは、通信装置101がカメラなら撮像機能、プロジェクタなら投影機能、プリンタなら印刷機能を指す。通信装置101における主要機能は通信装置101が実行可能な複数の機能のなかから適宜選択しておくことができるようにしてもよい。
【0039】
CPU221は、ROM222に記憶されたアプリケーションプログラムやシステムプログラムを読み出して実行することで、主要機能を含む様々な機能を実現する。また、これらのアプリケーションプログラムは、ネットワーク通信を行うことが可能である。該ネットワーク通信は、TCP/IPプロトコルをベースとした通信である。該TCP/IPプロトコル処理は、ネットワーク通信部201において実行される。
【0040】
RAM223は、CPU221がアプリケーションプログラムやシステムプログラムを読み出して実行する際に使用される一時記憶メモリである。アプリケーション機能部224は、主要機能を実行するハードウェアモジュールである。例えば、通信装置101がカメラなら撮像部であり、プロジェクタなら投影部であり、プリンタなら印刷部である。
【0041】
電源制御部203は、ネットワーク通信部201及びアプリケーションシステム部202の電力供給を独立的に制御する。電源制御部203は、アプリケーションシステム部202全体を安全に起動・停止するためのシーケンス制御を行い、各ハードウェアモジュールに対する電源投入の制御やハードウェアリセット制御を実行する。
【0042】
図3に、通信装置101の動作状態の遷移図を示す。なお、当該遷移の判定は、CPU221がROM222から所定のプログラムを読み出して実行することで行われる。
【0043】
通信装置101は、通常電力状態301と省電力状態302とを有する。通常電力状態301では、アプリケーションシステム部202を含む通信装置101全体に電力が供給される。一方、省電力状態302では、ネットワーク通信部201と電源制御部203には電力が供給されるが、アプリケーションシステム部202には電力が供給されない。従って、通常電力状態301は省電力状態302と比べて、通信装置101の消費電力が高い。
【0044】
また、通信装置101は、通常電力状態301である場合にはIKE処理部218によるIKE処理を実行可能であるが、
省電力状態302である場合にはIKE処理部218によるIKE処理を実行しない。このため、電源制御部203は、IKE処理部218への電力供給を停止する。これにより、より通信装置101の消費電力を抑えることができる。
【0045】
通常電力状態301で動作している通信装置101は、主要機能を実行中である場合には通常電力状態301を維持する(311)。通信装置101は、通常電力状態301で動作している際に、主要機能を実行していないアイドル状態が所定時間継続すると、通常電力状態301から省電力状態302に遷移する(312)。
【0046】
一方、省電力状態302で動作している通信装置101は、主要機能の起動要求やシステムの起動要求があった場合、省電力状態302から通常電力状態301に遷移する(313)。ここでは、不図示の操作部を介したユーザの指示、もしくは、コントローラ102からの所定の信号を受信した場合に、通信装置101は、当該起動要求があったと判定する。
【0047】
また、通信装置101が省電力状態302の滞在期間を経過した場合、通信装置101は省電力状態302から通常電力状態301に遷移する(314)。省電力状態302の滞在期間については後述する。
【0048】
このようにして、通信装置101が省電力状態302から通常電力状態301に遷移した場合、電源制御部203は、IKE処理部218への電力供給を開始する。
【0049】
図4に、通信装置101が省電力状態302から通常電力状態301に遷移する際に、ROM222に記憶されたプログラムをCPU221が読み出すことで実現されるフローチャートを示す。
図4のフローチャートにおいて、通信装置101は省電力状態302の滞在期間を設定する。
【0050】
通信装置101が省電力状態302から通常電力状態301に遷移する場合、通信装置101は、まず省電力状態302の滞在期間を所定の値に設定する(S401)。所定の値としては、具体的な期間のみならず無限大であってもよい。滞在期間を無限大とした場合には特定のイベントが発生した場合に省電力状態から通常電力状態に遷移させる。
【0051】
次に、通信装置101は省電力状態302において有効なSAを選択する(S402)。ここでは、通信装置101は、通常電力状態301において確立されているIPSecセッションに対応するSAをSADから選択する。通信装置101が複数の他の通信装置と並行してIPSec通信をしている場合など、複数のIPSecセッションを確立している場合には、複数IPSecセッションの各々に対応する複数のSAがSADから選択され得る。当該選択は、TCP/IP通信のコネクション情報、および、SPに基づいてSADを検索することで行われる。なお、所定期間内に利用されていないIPSecセッションに対応するSAについて、通信装置101は有効なSAとして選択しないようにしてもよい。
【0052】
なお、上述の方法に代えて、下記のようにして通信装置101がSAを選択するようにしてもよい。通信装置101は、予め省電力状態302において通信装置101を遠隔制御可能なコントローラの条件を設定しておく。当該設定は、通信装置101が通常電力状態301である場合に、ユーザが不図示の操作部を介して設定する。
【0053】
ここで、条件とは、例えば、IPアドレス、IPアドレスの範囲、遠隔制御のための通信に用いられる通信プロトコル(TCP/UDP等)、ポート番号、および/またはその組み合わせである。通信装置101は、当該条件に合致するSAをSADから選択する。なお、複数のSAが選択される場合もある。
【0054】
次に、通信装置101は、S402において有効なSAが選択されたか否かを判定する(S403)。例えば、所定期間内に利用したIPSecセッションがない場合などは、S402において有効なSAが選択されない。
【0055】
有効なSAがないと判定された場合(S403のNo)、通信装置101は通常電力状態301から省電力状態302に遷移する(S404)。そして、通信装置101は
図4に示すフローチャートを終了する。
【0056】
一方、有効なSAが存在すると判定された場合(S403のYes)、通信装置101は選択されたSAのうちの1つを抽出する(S405)。そして、通信装置101は抽出されたSAの有効期限の残存期間を判定する(S406)。ここで、残存期間とは、SAの有効期限が切れるまでの時間である。
【0057】
次に、通信装置101は、S406において判定された残存期間が、設定された滞在期間よりも短いか否かを判定する(S407)。残存期間が滞在期間よりも短い場合(S407のYes)、通信装置101は、残存期間と同じか、残存期間よりも所定期間短い期間を新たな滞在期間として設定する(S408)。即ち、通信装置101は、残存期間以下の期間を滞在期間として設定する。ここで、残存期間はSAの有効期限に基づいて判定された期間であるため、通信装置101はSAの有効期限に基づいて残存期間を設定しているとも言うことができる。
【0058】
次に、通信装置101は、S402において選択されたSAのうち未抽出のSAが存在するか否かを判定する(S409)。未抽出のSAが存在する場合、通信装置101は、未抽出のSAのうちの1つを抽出する(S410)。
【0059】
その後、通信装置101は、未抽出のSAが存在しないと判定されるまで、即ち、S402において選択された全てのSAが抽出されるまで、S406〜410の処理を繰り返す。これにより、S403において選択されたSAのうち、有効期限の残存期間が最も短いSAの残存期間に基づいて省電力状態302の滞在期間が設定される。
【0060】
その後、通信装置101は通常電力状態301から省電力状態302に遷移する(S411)。そして、通信装置101は設定された滞在期間が満了するまで省電力状態302を維持する(S412のNo)。
【0061】
設定された滞在期間が満了すると、通信装置101は省電力状態302から通常電力状態301に遷移する(S413)。省電力状態302から通常電力状態301に遷移すると、通信装置101は、有効期限の切れたSAを更新するためにIKE処理を実行する(S414)。その後、通信装置101は
図4に示すフローチャートを終了する。
【0062】
上述した実施形態では、通信装置101は、省電力状態302を維持する時間を、コントローラ102とのIPsecセッションに係るSAの有効期限内に設定した。これにより、省電力状態302においてSAの有効期限が切れてしまうことを防止することができる。従って、省電力状態302において有効期限切れのSAを更新するためのIKE処理の実行が防止される。
【0063】
また、省電力状態302においてはIKE処理が行われないので、通信装置101は省電力状態302においてIKE処理部218への電力供給を停止させることができる。これにより、省電力状態302における省電力効果を向上させることができる。
【0064】
また、通信装置101はIKE処理を行うことなく、通常電力状態301から省電力状態302に遷移するので、通常電力状態301から省電力状態302への遷移をスムーズに行うことができる。
【0065】
なお、本実施形態では、IKE処理をネットワーク通信部201内のIKE処理部218で実行するものとしたが、アプリケーションシステム部202内のCPU221によるソフトウェア処理で実行してもよい。
【0066】
また、S408において、残存期間よりも所定期間短い期間を新たな滞在期間として設定する場合、S407において、通信装置101は、残存期間から所定期間だけ差し引いた期間が、設定された滞在期間よりも短いか否かを判定するようにしてもよい。これにより、より正確に残存期間が短いSAの残存期限、もしくは、有効期限に基づいて滞在期間を設定することができる。
【0067】
<実施形態2>
実施形態1では、通信装置101が通常電力状態301から省電力状態302に遷移する際に、省電力状態302の滞在期間を設定した。実施形態2では、更に、通信装置101が省電力状態302である場合に、IPSec通信が発生したことに応じて滞在期間を再設定する。
【0068】
本実施形態の通信システム構成は実施形態1と同様なので同じ符号を付し、ここでは説明を省略する。また、通信装置101のハードウェア構成も実施形態1と同様なので同じ符号を付し、ここでは説明を省略する。
【0069】
図5に、通信装置101が省電力状態302である際にIPSecパケットを受信した場合、ROM222に記憶されたプログラムをCPU221が読み出すことで実現されるフローチャートを示す。
【0070】
まず、通信装置101はIPSecパケットを受信すると、通信装置101は、IPSecパケットの受信処理を実行する(S501)。具体的には、通信装置101はIPSecパケットの復号化やSPに基づく条件チェック等を行う。通信装置101は、IPSecパケットを復号化により、平文のIPパケットを取得することができる。
【0071】
次に、通信装置101は、S501におけるIPSecパケットの受信処理の結果、当該IPSecパケットを破棄するか否かを判定する(S502)。例えば、受信したIPSecパケットに対応するSPが“DISCARD”であった場合、通信装置101は、当該IPSecパケットを破棄すると判定する。
【0072】
IPSecパケットを破棄すると判定された場合(S502のYes)、通信装置101は当該IPSecパケットを破棄する(S503)。その後、通信装置101は
図5に示すフローチャートを終了する。
【0073】
一方、IPSecパケットを破棄しないと判定された場合(S502のNo)、通信装置101は、復号化されたIPパケットを解析する(S504)。なお、IPパケットが応答を要求するパケットであり、省電力状態302のままで当該パケットに応答可能である場合には、S504において通信装置101は応答を送信する。
【0074】
IPSecパケットを解析すると、通信装置101は、省電力状態302から通常電力状態301に遷移するか否かを判定する(S505)。例えば、IPSecパケットが通信装置101のアプリケーションシステム部202の起動要求である場合、通信装置101は、省電力状態302から通常電力状態301に遷移すると判定する。また、例えば、IPSecパケットが応答を要求するパケットであり、省電力状態302のままでは当該パケットに応答できない場合、通信装置101は、省電力状態302から通常電力状態301に遷移すると判定する。
【0075】
また、例えば、IPSecパケットがIKE処理を要求するISAKMPパケットである場合には、省電力状態302から通常電力状態301に遷移すると判定する。ここで、ISAKMPとは、Internet Security Association and Key Management Protocolの略である。ISAKMPパケットはUDPに準拠したパケットであり、ポート番号は500番が用いられる。また、ISAKMPパケットには、UDPヘッダに続いて、暗号化されていないIKEヘッダが格納されている。IKEヘッダには、IKE処理を要求することを示すフラグが格納されている。
【0076】
省電力状態302から通常電力状態301に遷移すると判定された場合、通信装置101は、アプリケーションシステム部202を起動し、省電力状態302から通常電力状態301に遷移する(S506)。そして、
図5に示すフローチャートを終了する。その御、必要に応じて、通信装置101は受信したIPSecパケットに応じた処理を実行する。例えば、ISAKMPパケットを受信した場合には、通信装置101はIKE処理を行う。
【0077】
一方、省電力状態302から通常電力状態301に遷移しないと判定された場合、通信装置101は、受信したIPSecパケットに対応するIPSecセッションを特定する(S507)。更に、通信装置101は特定されたIPSecセッションに対応するSAを抽出する(S508)。
【0078】
そして、通信装置101は抽出されたSAの有効期限の残存期間を判定する(S509)。なお、S509において複数のSAが抽出された場合には、通信装置101は、複数のSAの各々の有効期限の残存期間のうち、最も短い残存期間を判定する。
【0079】
そして、通信装置101は、残存期間が残っているか否か、即ち、SAの有効期限が切れているか否かを判定する(S510)。
【0080】
SAの有効期限が切れている場合には(S510のYes)、通信装置101は、省電力状態302から通常電力状態301に遷移する(S511)。省電力状態302から通常電力状態301に遷移すると、通信装置101は、有効期限の切れたSAを更新するためにIKE処理を実行する(S512)。その後、通信装置101は
図5に示すフローチャートを終了する。
【0081】
SAの有効期限が切れていない場合には(S510のNo)、通信装置101は、通信装置101は、S509において判定された残存期間が、設定された滞在期間よりも短いか否かを判定する(S513)。残存期間が滞在期間よりも短い場合(S513のYes)、通信装置101は、残存期間と同じか、残存期間よりも所定期間短い期間を新たな滞在期間として設定する(S514)。
【0082】
その後、通信装置101は
図5に示すフローチャートを終了する。
【0083】
これにより、省電力状態302の滞在期間をIPSec通信に応じて動的に変更することができる。上述したように、通常電力状態301から省電力状態302に移行する際、所定期間利用していなかったIPSecセッションに対応するSAは、通信装置101は有効なSAとして選択しないようにすることができる。このようなSAについても、当該SAを用いた暗号通信があったことに応じて、当該SAの有効期限に合わせた滞在期間を設定することができる。
【0084】
なお、上述の実施形態では、実施形態1で設定された滞在期間を更新する例について説明した。しかしこれに限らず、実施形態1における滞在期間の設定を行わないようにしてもよい。このような場合には、省電力状態302において、実際にIPsec通信に使われたSAのみを対象として滞在期間を設定することができる。
【0085】
また、S514において、残存期間よりも所定期間短い期間を新たな滞在期間として設定する場合、S513において、通信装置101は、残存期間から所定期間だけ差し引いた期間が、設定された滞在期間よりも短いか否かを判定するようにしてもよい。これにより、より正確に残存期間が短いSAの残存期限、もしくは、有効期限に基づいて滞在期間を設定することができる。
【0086】
また、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0087】
本発明は、上述した1つ乃至複数のうちのいくつかの効果を有する。