(57)【要約】【課題】通信相手がリブート等でＩＰｓｅｃ  ＳＡの情報が失われても、リブート後も途絶えることなく通信を行うことを目的とする。【解決手段】ＩＰｓｅｃ  ＳＡが格納されているデータを管理する管理手段と、通信相手と鍵交換を実施し、管理手段において管理されているデータに、生成されたＩＰｓｅｃ  ＳＡの登録を行う鍵交換手段と、受け取ったＩＰパケットデータが、通信相手の起動を表わすＩＰパケットであった場合、鍵交換手段に対して、通信相手のＩＰｓｅｃ  ＳＡの削除を実行するためのメッセージを通信相手に送信するよう命令を出し、管理手段において管理されているデータより通信相手とのＩＰｓｅｃ  ＳＡの削除を実行する起動判定手段と、を有することによって課題を解決する。【選択図】図２
2012160941.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰｓｅｃ  ＳＡが格納されているデータを管理する管理手段と、
通信相手と鍵交換を実施し、前記管理手段において管理されているデータに、生成されたＩＰｓｅｃ  ＳＡの登録を行う鍵交換手段と、
受け取ったＩＰパケットデータが、通信相手の起動を表わすＩＰパケットであった場合、前記鍵交換手段に対して、前記通信相手のＩＰｓｅｃ  ＳＡの削除を実行するためのメッセージを前記通信相手に送信するよう命令を出し、前記管理手段において管理されているデータより通信相手とのＩＰｓｅｃ  ＳＡの削除を実行する起動判定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記ＩＰｓｅｃ  ＳＡが格納されているデータはＳＡＤであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ＩＰｓｅｃ  ＳＡが格納されているデータを管理する管理手段と、
通信相手と鍵交換を実施し、前記管理手段において管理されているデータに、生成されたＩＰｓｅｃ  ＳＡの登録を行う鍵交換手段と、
を有する情報処理装置が実行する情報処理方法であって、
受け取ったＩＰパケットデータが、通信相手の起動を表わすＩＰパケットであった場合、前記鍵交換手段に対して、前記通信相手のＩＰｓｅｃ  ＳＡの削除を実行するためのメッセージを前記通信相手に送信するよう命令を出すステップと、
前記管理手段において管理されているデータより通信相手とのＩＰｓｅｃ  ＳＡの削除を実行するステップと、
を含むことを特徴とする情報処理方法。
【請求項４】
コンピュータを、
ＩＰｓｅｃ  ＳＡが格納されているデータを管理する管理手段と、
通信相手と鍵交換を実施し、前記管理手段において管理されているデータに、生成されたＩＰｓｅｃ  ＳＡの登録を行う鍵交換手段と、
受け取ったＩＰパケットデータが、通信相手の起動を表わすＩＰパケットであった場合、前記鍵交換手段に対して、前記通信相手のＩＰｓｅｃ  ＳＡの削除を実行するためのメッセージを前記通信相手に送信するよう命令を出し、前記管理手段において管理されているデータより通信相手とのＩＰｓｅｃ  ＳＡの削除を実行する起動判定手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワーク上におけるセキュリティについて必要性が高まってきており、特に、暗号化通信によるセキュリティの必要性が高まってきている。
現在、セキュリティプロトコルとして幾つかのプロトコルが存在している。その中でＩＰｓｅｃ（ＩＰ  Ｓｅｃｕｒｉｔｙ  Ｐｒｏｔｏｃｏｌ）は、通信データを暗号化する仕組み、通信相手を認証する仕組みをＩＰレベルで実現しているため、上位のプロトコルに依存することなく利用できる。また、ＩＰｓｅｃは、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）を実現するための方法としても利用され、非常に注目されている。また、ＩＰｓｅｃでは、データの暗号化及びメッセージ認証にＩＰｓｅｃ  ＳＡを利用する。ＩＰｓｅｃ  ＳＡは通信する二者間において事前に共有しておく必要がある。しかしながら、利用者等が手動でＩＰｓｅｃ  ＳＡを設定するのは容易ではないため、自動でＩＰｓｅｃ  ＳＡを設定する便利なプロトコルとしてＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）が広く利用されている。
ＩＰｓｅｃを利用した暗号化通信は、お互いに同じＩＰｓｅｃ  ＳＡをもっている必要があるため、どちらか一方でもＩＰｓｅｃ  ＳＡを消去してしまうと通信が途絶えてしまう。ＩＫＥには通信相手がＩＰｓｅｃ  ＳＡを保持しているかどうか検出する機能としてＩＫＥ  ＫｅｅｐＡｌｉｖｅがいくつか提案されている。例えばＲＦＣになっている非特許文献１がある。この機能を利用することで通信相手がシャットダウン若しくはその他の理由でＩＰｓｅｃ  ＳＡを消去した場合でも新たに鍵交換を実施し、暗号化通信が途絶えることなく行うことができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｇ．  Ｈｕａｎｇ、外２名、"ＲＦＣ  ３７０６−  Ａ  Ｔｒａｆｆｉｃ−Ｂａｓｅｄ  Ｍｅｔｈｏｄ  ｏｆ  Ｄｅｔｅｃｔｉｎｇ  Ｄｅａｄ  Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ  （ＩＫＥ）  Ｐｅｅｒｓ"［ｏｎｌｉｎｅ］、２００４年２月、［平成２２年１２月２４日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｒｆｃ３７０６＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術の場合、端末Ａと端末Ｂとが暗号化通信中、突然、端末Ｂがリブートしてしまった場合、端末Ｂは、ＩＰｓｅｃ  ＳＡの削除メッセージを端末Ａに送ることができない。そのため、復旧後、端末Ａは、ＩＰパケットにＩＰｓｅｃ処理を行い端末Ｂに送信するが、端末Ｂは、ＩＰｓｅｃ  ＳＡが存在しないためＩＰパケットを破棄してしまい、暗号化通信ができない。
【０００５】
本発明はこのような問題点に鑑みなされたもので、通信相手がリブート等でＩＰｓｅｃ  ＳＡの情報が失われても、リブート後も途絶えることなく通信を行うことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の情報処理装置は、ＩＰｓｅｃ  ＳＡが格納されているデータを管理する管理手段と、通信相手と鍵交換を実施し、前記管理手段において管理されているデータに、生成されたＩＰｓｅｃ  ＳＡの登録を行う鍵交換手段と、受け取ったＩＰパケットデータが、通信相手の起動を表わすＩＰパケットであった場合、前記鍵交換手段に対して、前記通信相手のＩＰｓｅｃ  ＳＡの削除を実行するためのメッセージを前記通信相手に送信するよう命令を出し、前記管理手段において管理されているデータより通信相手とのＩＰｓｅｃ  ＳＡの削除を実行する起動判定手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、通信相手がリブート等でＩＰｓｅｃ  ＳＡの情報が失われても、リブート後も途絶えることなく通信を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア構成の一例を示す図である。
【図２】情報処理装置のソフトウェア構成の一例を示す図である。
【図３】起動判定処理の一例を示すフローチャートである。
【図４】受信処理の一例を示すフローチャートである。
【図５】送信処理の一例を示すフローチャートである。
【図６】パケット処理の一例を示すフローチャートである。
【図７】ソフトウェア処理の一例を示すフローチャートである。
【図８】パケット生成処理の一例を示すフローチャートである。
【図９】鍵交換処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、情報処理装置（コンピュータ）１００のハードウェア構成の一例を示す図である。
制御装置１０は、ＣＰＵ等であって、情報処理装置１００の全体を制御する。記憶装置１１は、ＲＡＭ及び/又はＲＯＭ及び/又はＨＤＤ等の記憶装置であって、例えば、画像やプログラム等を記憶する。通信装置１２は、情報処理装置１００をネットワーク等に接続する装置である。
制御装置１０が、記憶装置１１に記憶されているプログラムに基づき処理を実行することによって、後述する情報処理装置１００の機能及びフローチャートに係る処理が実現される。
【００１１】
図２は、情報処理装置１００のソフトウェア構成の一例を示す図である。
図２において、情報処理装置１００は、ソフトウェア構成として、受信部１０１、ＩＰｓｅｃ受信部１０２、復号化部１０３、セキュリティポリシー（ＳＰ）管理部１０４、セキュリティアソシエーション（ＳＡ）管理部１０５、鍵交換部１０６を有している。また、情報処理装置１００は、ソフトウェア構成として、起動判定部１０７、パケット処理部１０８、ソフトウェア処理部１０９、ソフトウェア記憶部１１０、パケット生成部１１１、ＩＰｓｅｃ送信部１１２、暗号化部１１３、送信部１１４を有している。
セキュリティポリシーを変更する場合の処理を、図２を基に、簡単に説明をする。
受信部１０１は、ネットワーク内外から送信されてくるＩＰパケットのデータを受信する。ＩＰｓｅｃ受信部１０２は、受信したＩＰパケットに対してＩＰｓｅｃが適用されているかどうかを判定する。ＩＰｓｅｃ受信部１０２は、ＩＰｓｅｃが適用されていない場合は、ＳＰＤからＳＰを検索し、検索されたＳＰが「破棄」の場合は、ＩＰパケットを破棄する。また、ＩＰｓｅｃ受信部１０２は、「ＩＰｓｅｃを適用」の場合は、このＩＰパケットにＩＰｓｅｃが適用されていないためにこのＩＰパケットを破棄する。また、ＩＰｓｅｃ受信部１０２は、「ＩＰｓｅｃを適用しない」の場合は、受信したＩＰパケットと条件が一致するので次の部にＩＰパケットを受け渡す。ＩＰｓｅｃ受信部１０２は、ＩＰｓｅｃが適用されている場合は、まず始めにＳＡＤからＳＡを検索する。復号化部１０３は、検索されたＳＡに記載されているアルゴリズムや鍵を利用して復号化処理を行う。次に、復号化処理が行われた後にＳＰＤからＳＰを検索し、ＳＰの内容と受信したＩＰパケットに適用されている内容と一致しているかどうかを判定する。
【００１２】
ＩＰｓｅｃ受信部１０２は、一致していない場合は、ＩＰパケットを破棄し、一致している場合は、次の部にＩＰパケットを受け渡す。復号化部１０３は、受信したＩＰパケットデータに対して、ＳＰ管理部１０４に管理されているＳＰＤとＳＡ管理部１０５に管理されているＳＡＤとの情報を基に復号化を行う。ＳＰ管理部１０４は、実際にＩＰｓｅｃによるセキュリティ処理を適用するかどうかについての情報が登録されているＳＰＤを管理する。ＳＡ管理部１０５は、ＩＰパケットに対して行うＩＰｓｅｃ処理に関する情報（ＩＰｓｅｃ  ＳＡ）が格納されているＳＡＤを管理する。
鍵交換部１０６は、通信相手と鍵交換を実施し、ＳＡ管理部１０５において管理されているＳＡＤに生成されたＳＡの登録を行う。起動判定部１０７は、通信相手が起動時に送信するＩＰパケットかどうかを判定する。起動判定部１０７は、起動時に送信するＩＰパケットの場合は、ＳＡ管理部１０５が管理しているＳＡＤに一致するＩＰｓｅｃ  ＳＡが存在するかどうかをチェックする。起動判定部１０７は、存在するときは、鍵交換部１０６によりＩｎｆｏｒｍａｔｉｏｎａｌメッセージで通信相手のＩＰｓｅｃ  ＳＡを削除する。次に起動判定部１０７は、ＳＡ  管理部１０５が管理しているＳＡＤより一致するＩＰｓｅｃ  ＳＡを消去する。
【００１３】
パケット処理部１０８は、復号化部１０３によって復号化されたＩＰパケットをＩＰヘッダやその他のヘッダ、そしてペイロードと呼ばれるデータに分ける。ソフトウェア処理部１０９は、ソフトウェア記憶部１１０に記憶されているソフトウェアを実行する。ソフトウェア記憶部１１０は、通信を実行するのに必要なネットワークソフトウェアを記憶する。パケット生成部１１１は、送信時におけるＩＰパケットのデータを生成する。ＩＰｓｅｃ送信部１１２は、送信するＩＰパケットに対してＩＰｓｅｃを適用するかどうかを判定する。ＩＰｓｅｃ送信部１１２は、ＩＰパケットの始点ＩＰアドレス、終点ＩＰアドレス、プロトコル、ポート番号の情報からＳＰ管理部１０４に管理されているＳＰＤよりＳＰを検索する。ＩＰｓｅｃ送信部１１２は、ＳＰが「破棄」の場合には、ＩＰパケットを破棄する。また、ＩＰｓｅｃ送信部１１２は、「ＩＰｓｅｃを適用しない」の場合は、ＩＰｓｅｃを適用せずに送信部１１４にＩＰパケットを送る。ＩＰｓｅｃ送信部１１２は、「ＩＰｓｅｃを適用する」の場合は、ＳＡ管理部１０５に管理されているＳＡＤよりＳＡを検索する。暗号化部１１３は、検索されたＳＡに記載されているアルゴリズムや鍵を利用し、暗号化を実行する。ＳＡＤにＳＡが存在しない場合は、鍵交換部１０６は、通信相手と鍵交換を実施する。暗号化部１１３は、ＩＰパケットデータに対して、ＳＰ管理部１０４に管理されているＳＰＤとＳＡ管理部１０５に管理されているＳＡＤとの情報を基に暗号化を行う。送信部１１４は、ネットワーク内外へＩＰパケットのデータを送信する。
【００１４】
ＩＰパケットデータは、インターネット上で送受信されるデータの単位である。本実施形態では、このＩＰパケットデータの組み立て方法については、説明を省力してある。また、ＳＰ管理部１０４とＳＡ管理部１０５とは、通常のＩＰｓｅｃを利用した暗号化通信において利用されており、本実施形態ではその詳細な説明を省略してある。また、暗号化通信を始める前に必要となる鍵交換は、ＩＫＥ又はＳＳＬ等の方法を利用し行うことを前提としており、本実施形態ではその詳細を、省略してある。
【００１５】
次に、ＩＰパケットの受信処理と送信処理とについて、図２に基づき説明する。
受信部１０１は、受信したＩＰパケットのデータをＩＰｓｅｃ受信部１０２に受け渡す。そして、ＩＰｓｅｃ受信部１０２は、受け取ったＩＰパケットにＩＰｓｅｃが適用されている場合はデータに対してＩＰｓｅｃの受信処理を実行する。ＩＰｓｅｃの受信処理では、ＩＰｓｅｃ受信部１０２は、ＩＰパケットデータの情報を基にＳＰＤからＳＰを検索する。ＩＰｓｅｃ受信部１０２は、ＩＰｓｅｃ処理がされていないＩＰパケットの場合は、ＳＰの情報により起動判定部１０７にＩＰパケットを受け渡す。また、ＩＰｓｅｃ受信部１０２は、ＩＰｓｅｃ処理がされている場合は、ＳＡ管理部１０５により管理されているＳＡＤから該当するＳＡの情報に基づき、復号化部１０３にＩＰパケットデータを渡す。復号化部１０３は、ＩＰパケットデータの復号化を実行し、起動判定部１０７にＩＰパケットを受け渡す。
起動判定部１０７は、通信相手が起動時に送信するＩＰパケットかどうかを判定する。起動判定部１０７は、起動時に送信するＩＰパケットの場合は、鍵交換部１０６を介して通信相手のＩＰｓｅｃ  ＳＡを削除するＩｎｆｏｒｍａｔｉｏｎａｌメッセージを送信する。また、起動判定部１０７は、ＳＡ管理部１０５に管理されているＳＡＤより通信相手とのＩＰｓｅｃ  ＳＡを削除する。起動判定部１０７は、起動時に送信しないＩＰパケットの場合は、パケット処理部１０８にＩＰパケットを受け渡す。パケット処理部１０８は、受け取ったＩＰパケットをＩＰヘッダやその他のヘッダ、そしてペイロードと呼ばれるデータに分割をし、鍵交換に利用されるＩＰパケットの場合は鍵交換部１０６にデータを受け渡す。パケット処理部１０８は、その他はソフトウェア処理部１０９へデータを受け渡す。
【００１６】
鍵交換部１０６は、受信した鍵交換のデータを処理後、ＩＰｓｅｃ  ＳＡをＳＡＤに登録し、通信相手に対して鍵交換のデータを送信する。また、鍵交換部１０６は、ＩＰｓｅｃ送信部１１２においてＩＰｓｅｃ処理が必要な場合でもＳＡＤにＩＰｓｅｃ  ＳＡが存在しない場合は、通信相手に対して鍵交換のデータを送信し、ＩＰｓｅｃ  ＳＡを生成する。ソフトウェア処理部１０９は、ソフトウェア記憶部１１０から実行するネットワークソフトウェアの情報を取得し、処理を実行する。そして、ソフトウェア処理部１０９は、送信時には、パケット処理部１０８から送信データを受け取り、ＩＰパケットデータを生成し、ＩＰｓｅｃ送信部１１２へＩＰパケットデータを受け渡す。ＩＰｓｅｃ送信部１１２は、受け取ったＩＰパケットデータに対して、ＳＰ管理部１０４に管理されているＳＰＤのＳＰ情報とＳＡ管理部に管理されているＳＡＤのＳＡ情報とによりＩＰｓｅｃ送信処理を行う。次に暗号化部１１３は、暗号化を行う。そして、暗号化部１１３は、暗号化したＩＰパケットデータを送信部１１４に受け渡す。送信部１１４は、受け取ったＩＰパケットデータを送信する。
【００１７】
次に、起動判定部１０７において処理されている起動判定処理動作の流れを、図３のフローチャートに基づき説明する。図３は、起動判定処理の一例を示すフローチャートである。
最初に、起動判定部１０７は、ＩＰパケットデータを受け取ると、まず、ステップ２０１で通信相手の起動を表すＩＰパケットかどうかを判定する。起動判定部１０７は、通信相手の起動を表すＩＰパケットの場合はステップ２０２へ進む。ステップ２０２では、起動判定部１０７は、鍵交換部１０６に対して通信相手のＩＰｓｅｃ  ＳＡの削除を実行するためのＩｎｆｏｒｍａｔｉｏｎａｌメッセージを送信する命令を出し、ステップ２０３へ進む。ステップ２０３では、起動判定部１０７は、ＳＡ管理部１０５が管理しているＳＡＤに登録されている通信相手とのＩＰｓｅｃ  ＳＡの削除を実行し、図３に示す処理を終了する。起動判定部１０７は、通信相手の起動を表すＩＰパケットでない場合は、ステップ２０４へ進み、ＩＰパケットをパケット処理部１０８に渡し、図３に示す処理を終了する。
【００１８】
通信相手の起動を表すＩＰパケットの例としては、ＩＰｖ６で利用されるＲＳ（Ｒｏｕｔｅｒ  Ｓｏｌｉｃｉｔａｔｉｏｎ）や家電機器やプリンタで利用されるＷＳＤ（ｗｅｂ  ｓｅｒｖｉｃｅｓ  ｏｎ  ｄｅｖｉｃｅｓ）のＨｅｌｌｏがある。
ステップ２０１で通信相手の起動を表すＩＰパケットの判定方法を示す。
起動判定部１０７は、ＩＰｖ６のＲＳの場合、ＩＰパケットがＩＣＭＰｖ６プロトコルで、ＩＣＭＰｖ６のＴｙｐｅが１３３の場合、通信相手が起動したと判定する。
起動判定部１０７は、ＷＳＤのＨｅｌｌｏの場合、ＩＰパケットがＵＤＰプロトコルで、ペイロード部分にあるＸＭＬのタグのｗｓｄｉｓｃｏにＨｅｌｌｏと記載されている場合、通信相手が起動したと判定する。
起動判定部１０７は、通信相手の起動を表すＩＰパケットがどのような判定条件を持つかを追加することができる。
【００１９】
次に、ＩＰｓｅｃ受信部１０２において処理されている受信処理動作の流れを、図４のフローチャートに基づき説明する。図４は、受信処理の一例を示すフローチャートである。
最初に、受信部から受信したＩＰパケットデータを受け取ると、まず、ＩＰｓｅｃ受信部１０２は、ステップ３０１で暗号化パケットかどうか判定する。ＩＰｓｅｃ受信部１０２は、暗号化パケットではない場合は、ステップ３０２へ進み、ＩＰパケットデータの情報を基にＳＰＤからＳＰを検索する。ＩＰｓｅｃ受信部１０２は、検索したＳＰが「ｄｉｓｃａｒｄ」、「ａｐｐｌｙ」の場合、ステップ３０３へ進み、ＩＰパケットを破棄し、図４に示す処理を終了する。ＩＰｓｅｃ受信部１０２は、ＳＰが「ｂｙｐａｓｓ」の場合は、ステップ３０４へ進み、復号化処理をしないで図４に示す処理を終了する。ＩＰｓｅｃ受信部１０２は、暗号化パケットの場合は、ステップ３０５へ進み、ＳＡＤからＳＡを検索し、ステップ３０６へ進む。ＩＰｓｅｃ受信部１０２は、ステップ３０６では、ＳＡが存在したかどうか判定する。ＩＰｓｅｃ受信部１０２は、ＳＡが存在しない場合は、ステップ３０３へ進み、ＩＰパケットを破棄し、図４に示す処理を終了する。ＩＰｓｅｃ受信部１０２は、ＳＡが存在した場合は、ステップ３０７へ進み、ＩＰｓｅｃ受信処理を実行し、ステップ３０８へ進む。ＩＰｓｅｃ受信部１０２は、ステップ３０８では、ＩＰパケットデータの情報を基にＳＰＤからＳＰを検索する。ＩＰｓｅｃ受信部１０２は、検索したＳＰが「ｄｉｓｃａｒｄ」、「ｂｙｐａｓｓ」の場合、ステップ３０３へ進み、ＩＰパケットを破棄し、図４に示す処理を終了する。ＩＰｓｅｃ受信部１０２は、ＳＰが「ａｐｐｌｙ」の場合は、そのまま図４に示す処理を終了する。
【００２０】
次に、ＩＰｓｅｃ送信部１１２において処理されている送信処理動作の流れを、図５のフローチャートに基づき説明する。図５は、送信処理の一例を示すフローチャートである。
最初に、送信のＩＰパケットデータを受け取ると、まず、ＩＰｓｅｃ送信部１１２は、ステップ４０１でＩＰパケットデータの情報を基にＳＰＤからＳＰを検索する。ＩＰｓｅｃ送信部１１２は、検索したＳＰが「ｄｉｓｃａｒｄ」場合は、ステップ４０２へ進み、ＩＰパケットを破棄し、図５に示す処理を終了する。ＩＰｓｅｃ送信部１１２は、「ｂｙｐａｓｓ」の場合は、ステップ４０３へ進み、処理をなにもしないで図５に示す処理を終了する。ＩＰｓｅｃ送信部１１２は、「ａｐｐｌｙ」の場合は、ステップ４０４に進む。ＩＰｓｅｃ送信部１１２は、ステップ４０４では、ＳＡＤからＳＡを検索し、ステップ４０５に進む。ＩＰｓｅｃ送信部１１２は、ステップ４０５では、ＳＡが存在するかどうかを判定する。ＩＰｓｅｃ送信部１１２は、ＳＡが存在しない場合は、ステップ４０７へ進み、鍵交換を実行し、図５に示す処理を終了する。ＩＰｓｅｃ送信部１１２は、ＳＡが存在した場合は、ステップ４０６へ進む。ＩＰｓｅｃ送信部１１２は、ステップ４０６では、ＳＡの内容に応じて暗号化処理を実行し、図５に示す処理を終了する。
【００２１】
次に、パケット処理部１０８において処理されている動作の流れを、図６のフローチャートに基づき説明する。図６は、パケット処理の一例を示すフローチャートである。
最初に、ステップ５０１において、パケット処理部１０８は、起動判定部１０７からＩＰパケットデータを受け取り、ステップ５０２へ進む。ステップ５０２では、パケット処理部１０８は、受け取ったＩＰパケットをＩＰヘッダやその他のヘッダ、そしてペイロードと呼ばれるデータに分割をし、ステップ５０３へ進む。ステップ５０３では、パケット処理部１０８は、データが鍵交換であれば鍵交換部１０６に送り、その他はソフトウェア処理部１０９へ送り、処理を終了する。
【００２２】
次に、ソフトウェア処理部１０９において処理されている動作の流れを、図７のフローチャートに基づき説明する。図７は、ソフトウェア処理の一例を示すフローチャートである。
最初に、ステップ６０１では、ソフトウェア処理部１０９は、ソフトウェア記憶部１１０から実行するネットワークソフトウェアの情報を取得し、ステップ６０２へ進む。ステップ６０２では、ソフトウェア処理部１０９は、処理が送信処理か受信処理かを判定する。ソフトウェア処理部１０９は、送信処理の場合は、ステップ６０３へ進み、パケット生成部１１１へ送信データを送り、図７に示す処理を終了する。ソフトウェア処理部１０９は、受信処理の場合は、ステップ６０４へ進み、パケット処理部１０８から受信データを取得し、処理を終了する。
【００２３】
次に、パケット生成部１１１において処理されている動作の流れを、図８のフローチャートに基づき説明する。図８は、パケット生成処理の一例を示すフローチャートである。
最初に、ステップ７０１において、パケット生成部１１１は、ソフトウェア処理部１０９から送信データを受け取り、ステップ７０２へ進む。ステップ７０２では、パケット生成部１１１は、受け取った送信データを基にＩＰパケットデータを生成し、ステップ７０３へ進む。ステップ７０３では、パケット生成部１１１は、生成したＩＰパケットデータをＩＰｓｅｃ送信部１１２へ送り、処理を終了する。
【００２４】
次に、鍵交換部１０６において処理されている動作の流れを、図９のフローチャートに基づき説明する。図９は、鍵交換処理の一例を示すフローチャートである。
最初に、ステップ８０１において、鍵交換部１０６は、ＩＰｓｅｃ送信部１１２からの鍵交換開始命令かどうかを判定する。鍵交換部１０６は、鍵交換開始命令の場合は、ステップ８０２へ進み、鍵交換を開始し、そしてステップ８０３で鍵交換処理を実施後に図９に示す処理を終了する。鍵交換部１０６は、鍵交換開始命令ではない場合は、パケット処理部１０８からのデータなのでステップ８０４へ進み、鍵交換のデータかどうかを判定する。鍵交換部１０６は、鍵交換のデータの場合は、ステップ８０３へ進み、鍵交換処理を実施後に、図９に示す処理を終了する。鍵交換部１０６は、鍵交換データでない場合は、ステップ８０５へ進み、起動判定部１０７からのＩＰｓｅｃ  ＳＡの削除命令かどうかを判定する。鍵交換部１０６は、ＩＰｓｅｃ  ＳＡの削除命令の場合は、ステップ８０６へ進み、ＩＰｓｅｃ  ＳＡの削除処理を実行し、図９に示す処理を終了する。鍵交換部１０６は、ＩＰｓｅｃ  ＳＡの削除命令でない場合は、図９に示す処理を終了する。
【００２５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２６】
以上、上述した各実施形態によれば、通信相手がリブート等でＩＰｓｅｃ  ＳＡの情報が失われても、通信相手とのＩＰｓｅｃ  ＳＡの状態を一致させることができるので、リブート後も途絶えることなく通信を行うことができる。
【００２７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２８】
１０７  起動判定部
【図１】
2012160941.tif 000003
【図２】
2012160941.tif 000004
【図３】
2012160941.tif 000005
【図４】
2012160941.tif 000006
【図５】
2012160941.tif 000007
【図６】
2012160941.tif 000008
【図７】
2012160941.tif 000009
【図８】
2012160941.tif 000010
【図９】
2012160941.tif 000011