(57)【要約】      （修正有）【課題】セキュリティアソシエーションデータ更新に伴う通信の負荷を軽減すると共に更新操作の煩雑性を解消する。【解決手段】ネットワークを介して他の暗号化通信装置との間で、送受信するＩＰパケットを、ＩＰｓｅｃプロトコルに従って処理をする暗号化通信装置は、ＩＰｓｅｃプロトコルに従った処理を実行するためのセキュリティアソシエーションデータ（ＳＡＤ）を作成するデータ作成ユニットと、ＳＡＤに基づき、それを管理するデータベースを更新する更新ユニットと、ＳＡＤに基づき拡張ヘッダを作成する拡張ヘッダ作成ユニットと、作成された拡張ヘッダを暗号化してＩＰパケットに挿入し、ＳＡＤに基づいて、ＩＰパケットをＩＰｓｅｃプロトコルに従って処理をするプロトコル処理ユニットを備え、データ作成ユニットが作成したＳＡＤは、ＩＰパケットに挿入される拡張ヘッダに収められて、他の暗号化通信装置におけるＳＡＤを更新するために送信される。【選択図】  図１
2006041830.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続する他の暗号化通信装置との間で、送受信するＩＰパケットを、ＩＰｓｅｃプロトコルに従って処理をする暗号化通信装置であって、
前記ＩＰｓｅｃプロトコルに従った処理を実行するためのセキュリティアソシエーションデータを作成するデータ作成手段と、
前記セキュリティアソシエーションデータに基づき、当該データを管理するデータベースを更新する更新手段と、
前記セキュリティアソシエーションデータに基づき拡張ヘッダを作成する拡張ヘッダ作成手段と、
前記作成された拡張ヘッダを暗号化してＩＰパケットに挿入し、前記セキュリティアソシエーションデータに基づいて、当該ＩＰパケットを前記ＩＰｓｅｃプロトコルに従って処理をするプロトコル処理手段と
を備えることを特徴とする暗号化通信装置。
【請求項２】
前記ネットワークを介して、前記他の暗号化通信装置から送信されたＩＰパケットを受信して、当該ＩＰパケットに拡張ヘッダが含まれているか否かを解析する解析手段を更に備え、
当該解析手段は、前記ＩＰパケットに拡張ヘッダが含まれる場合、当該拡張ヘッダを復号化し、
前記更新手段は、前記復号化した拡張ヘッダに含まれるセキュリティアソシエーションデータに基づいて、当該データを管理するデータベースを更新する
ことを特徴とする請求項１に記載の暗号化通信装置。
【請求項３】
前記解析手段は、前記受信したＩＰパケットに、前記拡張ヘッダが挿入されていた場合、当該拡張ヘッダを抜き取り、残りのIＰパケットを前記プロトコル処理手段へ受け渡すことを特徴とする請求項２に記載の暗号化通信装置。
【請求項４】
前記データ作成手段が作成した前記セキュリティアソシエーションデータは、前記ＩＰパケットに挿入される前記拡張ヘッダに収められて、前記他の暗号化通信装置におけるセキュリティアソシエーションデータを更新するために送信されることを特徴とする請求項１に記載の暗号化通信装置。
【請求項５】
前記セキュリティアソシエーションデータには、前記拡張ヘッダを暗号化するためのアルゴリズムと暗号鍵の情報が含まれることを特徴とする請求項１に記載の暗号化通信装置。
【請求項６】
ネットワークを介して接続する他の暗号化通信装置との間で、送受信するＩＰパケットを、ＩＰｓｅｃプロトコルに従って処理をする暗号化通信装置において実行する暗号化通信方法であって、
前記ＩＰｓｅｃプロトコルに従った処理を実行するためのセキュリティアソシエーションデータを作成するデータ作成工程と、
前記セキュリティアソシエーションデータに基づき、当該データを管理するデータベースを更新する更新工程と、
前記セキュリティアソシエーションデータに基づき拡張ヘッダを作成する拡張ヘッダ作成工程と、
前記作成された拡張ヘッダを暗号化してＩＰパケットに挿入し、前記セキュリティアソシエーションデータに基づいて、当該ＩＰパケットを前記ＩＰｓｅｃプロトコルに従って処理をするプロトコル処理工程と
を備えることを特徴とする暗号化通信方法。
【請求項７】
前記ネットワークを介して、前記他の暗号化通信装置から送信されたＩＰパケットを受信して、当該ＩＰパケットに拡張ヘッダが含まれているか否かを解析する解析工程を更に備え、
当該解析工程は、前記ＩＰパケットに拡張ヘッダが含まれる場合、当該拡張ヘッダを復号化し、
前記更新工程は、前記復号化した拡張ヘッダに含まれるセキュリティアソシエーションデータに基づいて、当該データを管理するデータベースを更新する
ことを特徴とする請求項６に記載の暗号化通信方法。
【請求項８】
前記解析工程は、前記受信したＩＰパケットに、前記拡張ヘッダが挿入されていた場合、当該拡張ヘッダを抜き取り、残りのIＰパケットを前記プロトコル処理工程へ受け渡すことを特徴とする請求項７に記載の暗号化通信方法。
【請求項９】
前記データ作成工程が作成した前記セキュリティアソシエーションデータは、前記ＩＰパケットに挿入される前記拡張ヘッダに収められて、前記他の暗号化通信装置におけるセキュリティアソシエーションデータを更新するために送信されることを特徴とする請求項６に記載の暗号化通信方法。
【請求項１０】
前記セキュリティアソシエーションデータには、前記拡張ヘッダを暗号化するためのアルゴリズムと暗号鍵の情報が含まれることを特徴とする請求項６または７に記載の暗号化通信方法。
【請求項１１】
請求項６乃至１０のいずれかに記載の暗号化通信方法をコンピュータに実行させることを特徴とする暗号化通信プログラム。
【請求項１２】
請求項１１に記載の暗号化通信プログラムを格納することを特徴とするコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットやイントラネット等のネットワークを介したデータ送受信におけるセキュリティ管理技術に関するものである。
【背景技術】
【０００２】
近年、ネットワーク上におけるセキュリティ管理について必要性が高まってきており、特に、暗号化通信によるセキュリティ管理の必要性が高まってきている。
【０００３】
現在、セキュリティ管理のプロトコル（セキュリティプロトコル）として幾つかのプロトコルが存在しているが、その中でIPsecプロトコル(IP Security Protocol)は、通信データを暗号化する仕組み、通信相手を認証する仕組みをIP（Internet Protocol)レベルで実現しているため、上位のプロトコルに依存することなく利用でき、また、VPN(Virtual Private Network)を実現するための方法としても利用され、非常に注目されている。
【０００４】
IPsecプロトコル（以下、単に「IPsec」ともいう。）を利用するためには、暗号アルゴリズムや共有鍵等のパラメータを集めたセキュリティアソシエーション（SA：Security Association)を必要とする。セキュリティアソシエーション（SA)に種々のパラメータの設定するための方法としては、手動で設定する手動鍵管理と、自動で設定する自動鍵管理との２つの方式が存在する。
【０００５】
暗号アルゴリズムや共有鍵は、通信に先立ち交換される必要があり、また、共有鍵は、セキュリティのレベルを保つためにも、頻繁に変更する必要がある。そのため、上記の２つの方式の内、鍵交換を手動で行う手動鍵管理方式は、頻繁に鍵交換をするには手間が掛かり過ぎるため現実的ではないという問題点がある。それに対し自動鍵管理方式は、頻繁に行う必要ある鍵交換を自動で行うため、手間が掛からず実用的と言える。通常、この自動鍵管理には、鍵交換プロトコルとしてIKE(Internet Key Exchange)が利用されてる。
【０００６】
図９はIPsec(IP Security Protocol)を利用した通信で、従来技術における手動鍵管理方法を実行するための構成を概略的に示すブロック図である。
【０００７】
送信ユニット901は、ネットワーク内外へ送信するIPパケットのデータを組み立て、そして、そのIPパケットを送信するユニットである。受信ユニット902は、ネットワーク内外から送信されてくるIPパケットのデータを受信するユニットである。
【０００８】
セキュリティポリシー(SP)管理ユニット903は、実際にIPsecによるセキュリティ処理を適用するかどうかについての情報が登録されているセキュリティポリシーデータベース(SPD)を管理するユニットである。
【０００９】
セキュリティアソシエーション(SA)管理ユニット904は、IPパケットに対して行うIPsec処理に関する情報が格納されているセキュリティアソシエーションデータベース(SAD)を管理するユニットである。
【００１０】
IPsec処理ユニット905は、IPパケットデータに対して、SP管理ユニット903により管理されているセキュリティポリシーデータベース(SPD)と SA管理ユニット904に管理されているセキュリティアソシエーションデータベース(SAD)の情報に基づいてIPsec処理を行うユニットである。
【００１１】
SA入力ユニット906は、SA管理ユニット904に管理されているセキュリティアソシエーション（SA）を、手動で入力された暗号アルゴリズムや共有鍵等の情報により更新を行うためのユニットである。
【００１２】
図１０はIPsec（IP Security Protocol)を利用した通信で、従来技術における自動鍵管理方法を実行するために、鍵交換プロトコルIKE(Internet Key Exchange)を用いた場合の構成を概略的に示すブロック図である。
【００１３】
図１０において、送信ユニット1001、受信ユニット1002、セキュリティポリシー(SP)管理ユニット1003、セキュリティアソシエーション(SA)管理ユニット1004、IPsec処理ユニット1005は、図９における901から905の各ユニットと同様である。  
IKE処理ユニット1006は、SA管理ユニット1004に管理されているセキュリティアソシエーション(SA）の情報を更新するユニットであり、SA管理ユニット1004において管理されているセキュリティアソシエーションデータベース(SAD)にセキュリティアソシエーション(SA）の情報がない場合に、IPsec処理ユニット1005からの指示により処理が実行される。また、IKE処理ユニット1006は、鍵交換を行う前に通信相手とネゴシエーションするために、受信ユニット1002より通信相手から送信されてきた前準備の情報を受け取り、送信ユニット1001に前準備の情報を渡す。そして、次に通信相手と実際に鍵交換を行い、受け取った鍵交換の情報をもとにSA管理ユニット1004に管理されているセキュリティアソシエーション(SA）の情報を更新する。
【００１４】
上述の従来技術として、以下の特許文献１、特許文献２に示されるものがある。
【特許文献１】特開2001-298449号公報
【特許文献２】特開2002-374238号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、鍵交換プロトコルIKE(Internet Key Exchange)に代表される自動鍵管理方式は、仕様上の問題点が幾つか存在し、不完全な状態である。また、IPsecの自由度の高さに関係し、セキュリティアソシエーションの設定が大変複雑であるため、扱うことが非常に難しい。その上、鍵を交換し終えるまでに複数回の暗号と認証を伴った通信が必要となるため、通信の負荷が増大し、処理に時間がかかってしまうという問題がある。
【００１６】
また、先ほど説明した、鍵交換を手動で行う手動鍵管理方式は、頻繁に鍵交換をするには手間が掛かり過ぎるため現実的ではないという問題点がある。
【課題を解決するための手段】
【００１７】
本発明は、上記の課題を鑑みてなされたものであり、ネットワークを介して接続する装置間で、セキュリティアソシエーションデータ更新に伴う通信の負荷を軽減すると共に更新操作の煩雑性を解消することを目的とする。
【００１８】
上記課題を解決するべく、本発明にかかるネットワークを介して接続する他の暗号化通信装置との間で、送受信するＩＰパケットを、ＩＰｓｅｃプロトコルに従って処理をする暗号化通信装置は、
前記ＩＰｓｅｃプロトコルに従った処理を実行するためのセキュリティアソシエーションデータを作成するデータ作成手段と、
前記セキュリティアソシエーションデータに基づき、当該データを管理するデータベースを更新する更新手段と、
前記セキュリティアソシエーションデータに基づき拡張ヘッダを作成する拡張ヘッダ作成手段と、
前記作成された拡張ヘッダを暗号化してＩＰパケットに挿入し、前記セキュリティアソシエーションデータに基づいて、当該ＩＰパケットを前記ＩＰｓｅｃプロトコルに従って処理をするプロトコル処理手段とを備えることを特徴とする。
【００１９】
上記課題を解決するべく、本発明にかかるネットワークを介して接続する他の暗号化通信装置との間で、送受信するＩＰパケットを、ＩＰｓｅｃプロトコルに従って処理をする暗号化通信装置において実行する暗号化通信方法は、
前記ＩＰｓｅｃプロトコルに従った処理を実行するためのセキュリティアソシエーションデータを作成するデータ作成工程と、
前記セキュリティアソシエーションデータに基づき、当該データを管理するデータベースを更新する更新工程と、
前記セキュリティアソシエーションデータに基づき拡張ヘッダを作成する拡張ヘッダ作成工程と、
前記作成された拡張ヘッダを暗号化してＩＰパケットに挿入し、前記セキュリティアソシエーションデータに基づいて、当該ＩＰパケットを前記ＩＰｓｅｃプロトコルに従って処理をするプロトコル処理工程とを備えることを特徴とする。
【発明の効果】
【００２０】
セキュリティアソシエーションデータ（SA)の共有化により、ネットワークを介して接続する他の暗号化通信装置との間でのセキュリティアソシエーションデータ更新に伴う通信の負荷を軽減すると共に更新操作の煩雑性を解消することが可能になる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態について図面を参照しつつ説明する。
【００２２】
＜暗号化通信装置の構成＞
図１は、本実施形態に係る暗号化通信装置1000の構成を示すブロック図である。同図において、暗号化通信装置は、送信ユニット101、受信ユニット102、セキュリティポリシー（SP）管理ユニット103、セキュリティアソシエーション（SA）管理ユニット104、IPsec処理ユニット105、拡張ヘッダ解析処理ユニット106、拡張ヘッダ作成処理ユニット107、セキュリティアソシエーション（SA）作成処理ユニット108、セキュリティアソシエーション（SA）更新処理ユニット109、CPU110、セキュリティポリシーデータベース(SPD)111、セキュリティアソシエーションデータベース(SAD)112、記憶ユニット113を有している。ＣＰＵ110は、各ユニット(101〜109）における処理動作を司り、記憶ユニット113は、RAM、ROM、DVD、ハードディスクドライブ(HDD）などの記憶媒体を含み、拡張ヘッダの解析、暗号化、復号化等、各ユニット(101〜109）における処理の実行に必要なデータ、プログラム等を格納することができる。
【００２３】
また、図１において、暗号化通信装置1000は、ネットワーク3000を介して接続する他の暗号化通信装置2000との間で、IPパケットの送受信が可能である。
【００２４】
送信ユニット101は、ネットワーク内外へ送信するIPパケットのデータを組み立て、そして送信するユニットであり、受信ユニット102は、ネットワーク内外から送信されてくるIPパケットのデータを受信するユニットである。
【００２５】
セキュリティポリシー(SP)管理ユニット103は、実際にIPsecによるセキュリティ処理を適用するかどうかについての情報が登録されているセキュリティポリシーデータベース(SPD)111を管理するユニットである。セキュリティアソシエーション(SA)管理ユニット104は、IPパケットに対して行うIPsec処理に関する情報が格納されているセキュリティアソシエーションデータベース(SAD)112を管理するユニットである。また、このSA管理ユニット104に管理されているSAD112は、SA更新処理ユニット109によってセキュリティアソシエーション(SA)の内容が更新される。
【００２６】
IPsec処理ユニット105は、IPパケットデータに対して、SP管理ユニット103に管理されているSPD111と SA管理ユニット104に管理されているSAD112の情報に基づいてIPsec処理を行うユニットである。
【００２７】
拡張ヘッダ解析処理ユニット106は、受信したIPパケットデータに、鍵交換のための拡張ヘッダが含まれているかどうかをチェックする。拡張ヘッダが含まれている場合は、SA更新処理ユニット109に拡張ヘッダの情報を知らせる。
【００２８】
拡張ヘッダ作成処理ユニット107は、通信相手と利用している暗号アルゴリズムや鍵等を更新する必要が生じた場合に、通信相手側に更新する内容を知らせるため、IPパケットデータに挿入する拡張ヘッダを作成するユニットである。
【００２９】
セキュリティアソシエーション(SA)作成処理ユニット108は、自分自身のセキュリティアソシエーションデータベース(SAD)112と通信相手側のセキュリティアソシエーションデータベース(SAD)112を更新するために、新たなセキュリティアソシエーション(SA)を作成する処理ユニットである。
【００３０】
SA更新処理ユニット109は、送信時においてはSA作成処理ユニット108より、そして受信時においては拡張ヘッダ解析処理ユニット106より、新たなSAを受け取りSA管理ユニット104に管理されているセキュリティアソシエーションデータベース(SAD)112を更新するユニットである。
【００３１】
ここで、暗号化通信装置において用いられる「IPパケットデータ」は、インターネット上で送受信されるデータの単位であり、本発明の実施形態では、発明の本質的部分ではないので、IPパケットデータの組み立てに関する、詳細な説明は省略する。
【００３２】
暗号化通信装置で用いられる鍵交換方法は、拡張ヘッダに鍵交換の情報を記述し、IPパケットデータに拡張ヘッダを挿入して送信することで通信相手側のSAを更新するものであり、このとき拡張ヘッダは、暗号化がなされて送信される。
【００３３】
暗号化は、拡張ヘッダ専用の暗号アルゴリズムと暗号鍵を利用する場合と、IPsec処理で利用された暗号アルゴリズムと暗号鍵、が利用される場合とがあり、選択可能である。
【００３４】
＜拡張ヘッダフォーマット＞
図２は、IPパケットデータに挿入される拡張ヘッダのフォーマットの概略を示す図である。次ヘッダ番号フィールドには、拡張ヘッダの次にあるヘッダの番号が記述される。拡張ヘッダの暗号化の種類をあらわすフィールドには、拡張ヘッダ専用の暗号を利用して暗号が行われるか、またはIPsec処理で利用した暗号化が行われるかをあらわすフラグが記述される。SPIフィールドには、セキュリティアソシエーション(SA)を識別するための値が記述される。カプセル化モードフィールドには、トンネルモードまたはトランスポートモードのどちらかが記述される。
【００３５】
その他は、暗号ペイロード（ESP）や拡張ヘッダで利用する暗号アルゴリズム、暗号用の共有鍵の長さ、暗号用の共有鍵が記述される。また暗号ペイロード（ESP）の認証機能や認証ヘッダ（AH）で利用する認証アルゴリズム、認証用の共有鍵の長さ、認証用の共有鍵が記述される。
【００３６】
＜鍵交換の送信処理＞
次に、暗号化通信方法における鍵交換の送信処理の流れについて、図１を参照しつつ説明する。送信ユニット101は、上位プロトコルからの情報によりIPパケットデータを組み立て、ネットワーク内外に送信するもので、送信ユニット101は、IPsec処理ユニット105と接続し、IPパケットデータをこのIPsec処理ユニット105に受け渡す。
【００３７】
IPsec処理ユニット105は、受け取ったIPパケットデータの始点IPアドレス、終点IPアドレス、上位層プロトコル、ポート番号等をキーとして、SP管理ユニット103により管理されているセキュリティポリシーデータベース(SPD)111からセキュリティポリシー（SP）を検索する。検索されたセキュリティポリシー（SP）が「破棄（discard）」であった場合、IPsec処理ユニット105は、そのIPパケットを破棄する。
【００３８】
また、セキュリティポリシー（SP）が「IPsecを適用しない（bypass IPsec）」であった場合には、IPsec処理を適用せずに送信ユニット101へIPパケットデータを受け渡し、セキュリティポリシー（SP）が「IPsecを適用（apply IPsec）」の場合には、IPsec（IP Security Protocol)を利用した処理（IPsec処理）を行う。
【００３９】
IPsec処理ユニット105がIPsec処理を行う場合、SA管理ユニット104により管理されているセキュリティアソシエーションデータベース(SAD)112から該当するセキュリティアソシエーション(SA)の情報を検索する。
【００４０】
IPsec処理ユニット105は、検索されたセキュリティアソシエーション(SA)の情報に含まれる「セキュリティアソシエーション(SA)の有効期間」を参照し、セキュリティアソシエーション(SA)が有効期間内の場合は（S305-NO）、そのままセキュリティアソシエーション(SA)の情報に基づき、「ESP」ならば暗号化、「AH」ならば認証を行う（S307）。
【００４１】
セキュリティアソシエーション(SA)が有効期間内でない場合は(S305-YES)、拡張ヘッダの作成処理が行われる。拡張ヘッダの作成を行う拡張ヘッダ作成処理ユニット107は、SA作成処理ユニット108により作成されたセキュリティアソシエーション(SA)更新のためのSAデータを受け取り、図２で示したフォーマットの拡張ヘッダを作成。
【００４２】
SA作成処理ユニット108は、作成したセキュリティアソシエーション(SA)を更新するためのデータをSA更新処理ユニット109に受け渡し、SA更新処理ユニット109は、SA管理ユニット104で管理されているセキュリティアソシエーションデータベース(SAD)112に対して受け取ったデータを登録する。
【００４３】
そして、IPsec処理ユニット105は、拡張ヘッダ作成処理ユニット107で作成された拡張ヘッダを受け取り、拡張ヘッダを暗号化してIPパケットに挿入し、セキュリティアソシエーション(SA)の情報に基づき、ESPならば暗号化、AHならば認証を行う。
【００４４】
＜鍵交換の受信処理＞
次に、暗号化通信方法における鍵交換の受信処理の流れについて、図１を参照しつつ説明する。受信ユニット102は、ネットワーク内外から送信されてきたIPパケット（例えば、暗号化通信装置2000からネットワーク3000を介して受信するデータ）を受信するもので、拡張ヘッダ解析処理ユニット106と接続し、IPパケットをこの拡張ヘッダ解析処理ユニット106に受け渡す。
【００４５】
拡張ヘッダ解析処理ユニット106は、受け取ったIPパケットに拡張ヘッダが挿入されているかどうかをチェックする。拡張ヘッダがIPパケットに挿入されていない場合は、IPパケットをIPsec処理105へ受け渡す。また、拡張ヘッダがIPパケットに挿入されていた場合、まず、拡張ヘッダ解析処理ユニット106は、拡張ヘッダを復号化する。
【００４６】
そして、復号化された拡張ヘッダからセキュリティアソシエーション(SA)更新のためのデータを取得し、SA更新処理ユニット109にそのデータを受け渡す。
【００４７】
SA更新処理ユニット109は、SA管理ユニット104で管理されているセキュリティアソシエーションデータベース(SAD)112に対して、拡張ヘッダ解析処理ユニット106から受け取ったセキュリティアソシエーション(SA)更新のためのデータを登録する。
【００４８】
そして、拡張ヘッダ解析処理ユニット106は、IPパケットに挿入されていた拡張ヘッダを抜き取り、残りのIPパケットをIPsec処理ユニット105へ受け渡す。
【００４９】
IPsec処理ユニット105は、受け取ったIPパケットデータに対してIPsec（IP Security Protocol)の処理を実行する。そして、IPsec処理ユニット105は、IPsecの処理がなされたIPパケットデータを受信ユニット102へ受け渡す。
【００５０】
そして、受信ユニット102は、IPsec処理ユニット105から受け取ったIPパケットデータの情報を上位プロトコルに受け渡す。
【００５１】
＜IPsec処理ユニット105の送信処理＞
次に、IPsec処理ユニット105にける送信処理の流れを、図３のフローチャートを参照しつつ説明する。IPsec処理ユニット105が送信のIPパケットデータを送信ユニット101から受け取ると、まず、ステップS301でIPパケットデータの情報をもとにセキュリティポリシーデータベース(SPD)111からセキュリティポリシー（SP）を検索する。検索したセキュリティポリシー（SP）が「discard」場合は、IPパケットを破棄し、処理を終了する。
【００５２】
セキュリティポリシー（SP）が「bypass」の場合は、処理をなにもしないで終了する。  セキュリティポリシー（SP）が「apply」の場合は、ステップS304に進む。
【００５３】
ステップS304では、セキュリティアソシエーションデータベース(SAD)112からセキュリティアソシエーション(SA)を検索し、ステップS305に進む。
【００５４】
ステップS305では、セキュリティアソシエーション(SA)の有効期限が切れているかどうかを判定する。有効期限が切れていない場合は（S305-NO)、ステップS307へ進む。
【００５５】
有効期限が切れている場合は（S305-YES）、ステップS306へ進み、ステップS306では、拡張ヘッダ作成処理ユニット107により新しく作成されたセキュリティアソシエーション(SA)が記述された拡張ヘッダを取得し、ステップ307へ進む。
【００５６】
ステップ307では、拡張ヘッダを暗号化してIPパケットに挿入し、セキュリティアソシエーション(SA)の内容に応じて、IPsec処理を実行し、処理を終了する。
【００５７】
＜IPsec処理ユニット105の受信処理＞
次に、IPsec処理ユニット105における受信処理の流れを、図４のフローチャートを参照しつつ説明する。IPsec処理ユニット105は、受信ユニット102が受信したIPパケットデータを拡張ヘッダ解析処理ユニット106から受け取ると、まず、ステップS401で、IPsec処理ユニット105は、受け取ったIPパケットデータがIPsecパケットかどうか判定する。
【００５８】
ステップS401の判定で、IPsecパケットではない場合は（S401-YES)、ステップS402へ進み、IPパケットデータの情報に基づきセキュリティポリシーデータベース(SPD)111からセキュリティポリシー（SP）を検索する。検索したセキュリティポリシー（SP）が「discard」又は「apply」の場合、ステップS403へ進み、IPパケットデータを破棄し、処理を終了する。
【００５９】
セキュリティポリシー（SP）が「bypass」の場合は、ステップS404へ進み、IPsec処理をしないで処理を終了する。
【００６０】
一方、ステップS401の判定処理において、IPsec処理ユニット105は、受け取ったIPパケットデータがIPsecパケットであると判定する場合は（S401-NO）、ステップS405へ進み、セキュリティアソシエーションデータベース(SAD)112からセキュリティアソシエーション(SA)を検索し、ステップ406へ進む。
【００６１】
ステップ406では、セキュリティアソシエーション(SA)が存在するか否かを判定する。セキュリティアソシエーション(SA)が存在しない場合は（S406-NO）、ステップS403へ進み、IPパケットを破棄し、処理を終了する。
【００６２】
一方、ステップS406の判定処理において、セキュリティアソシエーション(SA)が存在する場合は（S406-YES)、ステップS407へ進み、IPsec処理を実行し、ステップS408へ進む。
【００６３】
ステップS408では、IPパケットデータの情報を基にセキュリティポリシーデータベース(SPD)111からセキュリティポリシー（SP）を検索する。検索したセキュリティポリシー（SP）が「discard」、「bypass」の場合、ステップS403へ進み、IPパケットデータを破棄し、処理を終了する。一方、セキュリティポリシー（SP）が「apply」の場合は、そのまま処理を終了する。
【００６４】
＜拡張ヘッダ解析処理ユニット106の処理＞
次に、拡張ヘッダ解析処理ユニット106の処理の流れを、図５のフローチャートを参照しつつ説明する。ステップ501で、拡張ヘッダ解析処理ユニット106は、受信ユニット102が受信したIPパケットデータを受け取り、処理をステップS502へ進める。ステップS502では、拡張ヘッダ解析処理ユニット106は、受け取ったIPパケットデータに拡張ヘッダが存在するかどうかを判定する。拡張ヘッダが存在しない場合は（S502-NO）、処理を終了し、拡張ヘッダが存在する場合は（S502-YES)、処理をステップS503へ進み、拡張ヘッダを復号化する。そして、復号化した拡張ヘッダからセキュリティアソシエーション(SA)更新のためのデータ（SAデータ）を取得し、このデータをSA更新処理ユニット109に送る。
【００６５】
そして、ステップS504において、拡張ヘッダ解析処理ユニット106は、IPパケットに挿入されていた拡張ヘッダを抜き取り、残りのIPパケットをIPsec処理ユニット105へ受け渡し、処理を終了する。
【００６６】
＜拡張ヘッダ作成処理ユニット107の処理＞
次に、拡張ヘッダ作成処理ユニット107にける送信処理の流れを、図６を参照しつつ説明する。まず、ステップS601で、拡張ヘッダ作成処理ユニット107は、拡張ヘッダ作成の命令をSA作成処理ユニット108から受け取る。命令を受け取った後、ステップS602へ進み、SA作成処理ユニット108により作成されたセキュリティアソシエーション(SA)更新のためのデータ（SAデータ）を受け取り、処理をステップS603へ進める。ステップS603では、受け取ったSAデータをもとに拡張ヘッダを作成して処理を終了する。
【００６７】
＜SA作成処理ユニット108の処理＞
次に、SA作成処理ユニット108にける送信処理の流れを、図７のフローチャートを参照しつつ説明する。まず、ステップS701で、SA作成処理ユニット108は、セキュリティアソシエーション(SA)作成の命令を受け取る。命令を受け取った後、ステップS702に処理を進め、SA作成処理ユニット108は、セキュリティアソシエーション(SA)を作成する。そして、ステップS703において、作成したセキュリティアソシエーション(SA)のデータ（SAデータ）を拡張ヘッダ作成処理ユニット107とSA更新処理ユニット109に送り、処理を終了する。
【００６８】
＜SA更新処理ユニット109の処理＞
次に、SA更新処理ユニット109にける送信処理の流れを、図８のフローチャートを参照しつつ説明する。まず、ステップS801で、拡張ヘッダ解析処理ユニット106又はSA作成処理ユニット108より、セキュリティアソシエーション(SA)を更新するためのデータ（SAデータ）を取得する。このときSAデータは、送信時ではSA作成処理ユニット108より取得し、受信時では拡張ヘッダ解析処理ユニット106より取得される。次に、ステップS802では、SA更新処理ユニット109が取得したデータを、SA管理ユニットで管理しているセキュリティアソシエーションデータベース(SAD)112に登録し、処理を終了する。
【００６９】
以上説明したように、本実施形態によれば、手動では現実的でないセキュリティアソシエーション(SA)の更新を効率的に行うために、セキュリティアソシエーション(SA)データを生成して自装置（暗号化通信装置1000）のデータベースを更新するとともに、生成したセキュリティアソシエーション(SA)データをIPパケットの拡張ヘッダに挿入し、ネットワーク3000を介して接続する他の暗号化通信装置2000に送信することで、セキュリティアソシエーションデータの共有化を図り、ネットワークを介して接続する装置間で、セキュリティアソシエーションデータ更新に伴う通信の負荷を軽減すると共に更新操作の煩雑性を解消することが可能になる。
【００７０】
[第２実施形態]
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。プログラムコードの格納は、クライアントコンピュータに限定されるものではなく、例えば、サーバとして機能するコンピュータに記憶されておくことも可能である。
【００７１】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７２】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ、磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７４】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００７５】
【図１】本発明の本実施形態に係る暗号化通信装置の構成を示すブロック図である。
【図２】IPパケットデータに挿入される拡張ヘッダのフォーマットの概略を示す図である。
【図３】IPsec処理ユニットの送信時における処理動作の流れを示すフローチャートである。
【図４】IPsec処理ユニットの受信時における処理動作の流れを示すフローチャートである。
【図５】拡張ヘッダ解析処理ユニットの処理動作の流れを示すフローチャートである。
【図６】拡張ヘッダ作成処理ユニットの処理動作の流れを示すフローチャートである。
【図７】SA作成処理ユニットの処理動作の流れを示すフローチャートである。
【図８】SA更新処理ユニットの処理動作の流れを示すフローチャートである。
【図９】従来技術における手動鍵管理方法を実行するための構成を概略的に示すブロック図である。
【図１０】従来技術における自動鍵管理方法を実行するための構成を概略的に示すブロック図である。
【符号の説明】
【００７６】
101 送信ユニット
102 受信ユニット
103 セキュリティポリシー（SP）管理ユニット
104 セキュリティアソシエーション（SA）管理ユニット
105 IPsec処理ユニット
106 拡張ヘッダ解析処理ユニット
107 拡張ヘッダ作成処理ユニット
108 セキュリティアソシエーション（SA）作成処理ユニット
109 セキュリティアソシエーション（SA）更新処理ユニット
【図１】
2006041830.tif 000003
【図２】
2006041830.tif 000004
【図３】
2006041830.tif 000005
【図４】
2006041830.tif 000006
【図５】
2006041830.tif 000007
【図６】
2006041830.tif 000008
【図７】
2006041830.tif 000009
【図８】
2006041830.tif 000010
【図９】
2006041830.tif 000011
【図１０】
2006041830.tif 000012