(57)【要約】【課題】  低処理量で、破棄されるパケットの量を低減すること。【解決手段】  通信装置は、セキュリティが確保されていないセッションについて、送信すべき信号が生じた場合、そのセッションと関連付けてその信号を保持し、信号に関連付けられているセッションについてのセキュリティ確保のための処理が完了した場合に、その信号を相手方装置へ送信する。【選択図】  図１
2014168204.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティが確保されていないセッションについて、送信すべき信号が生じた場合、当該セッションと関連付けて当該信号を保持する保持手段と、
前記信号に関連付けられているセッションについてのセキュリティ確保のための処理が完了した場合に、前記信号を相手方装置へ送信する送信手段と、
を有することを特徴とする通信装置。
【請求項２】
前記セキュリティ確保のための処理は、前記相手方装置との間の鍵交換処理であり、
前記送信手段は、当該鍵交換処理が完了した後に、交換した鍵を用いて暗号化を施した後の前記信号を送信する、
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
セキュリティが確保されていないセッションにおいて送信すべき信号が生じた場合に、前記セキュリティ確保のための処理を開始する開始手段をさらに有し、
前記送信手段は、前記通信装置が開始した前記セキュリティ確保のための処理が完了した後に、当該処理に対応する前記セッションに関連付けられた前記信号を送信する、
ことを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記開始手段は、セキュリティが確保されていないセッションにおいて送信すべき信号が生じたときに、前記相手方装置が当該セッションに対応する前記セキュリティ確保のための処理を開始していない場合に、当該処理を開始する、
ことを特徴とする請求項３に記載の通信装置。
【請求項５】
前記送信手段は、セキュリティが確保されていないセッションにおいて送信すべき信号が生じたときに、前記相手方装置が当該セッションに対応する前記セキュリティ確保のための処理を開始していた場合、当該処理が完了するのを待って、当該セッションに関連付けられた前記信号を送信する、
ことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記開始手段は、セキュリティが確保されていないセッションにおいて送信すべき信号が生じたときに、前記相手方装置が当該セッションに対応する前記セキュリティ確保のための処理を開始していた場合、当該処理を開始しない、
ことを特徴とする請求項５に記載の通信装置。
【請求項７】
前記送信手段は、前記相手方装置が開始した前記セキュリティ確保のための処理が完了した後に、当該処理に対応する前記セッションに関連付けられた前記信号を送信する、
ことを特徴とする請求項１又は２に記載の通信装置。
【請求項８】
前記送信手段は、１つのセッションについて前記通信装置と前記相手方装置とが開始した前記セキュリティ確保のための処理のいずれかが完了した後に、当該セッションに関連付けられた前記信号を送信する、
ことを特徴とする請求項１又は２に記載の通信装置。
【請求項９】
前記保持手段は、前記セキュリティ確保のための処理が失敗した場合、当該処理に対応する前記セッションについての前記信号を削除する、
ことを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記送信手段は、前記セキュリティ確保のための処理が完了した後、当該処理に対応するセッションに関連付けられて保持されている信号がなくなるまで、当該信号の送信を繰り返す、
ことを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
通信装置における通信方法であって、
保持手段が、セキュリティが確保されていないセッションについて、送信すべき信号が生じた場合、当該セッションと関連付けて当該信号を保持する保持工程と、
送信手段が、前記信号に関連付けられているセッションについてのセキュリティ確保のための処理が完了した場合に、前記信号を相手方装置へ送信する送信工程と、
を有することを特徴とする通信方法。
【請求項１２】
コンピュータを請求項１から１０のいずれか１項に記載の通信装置が備える各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はセキュリティを確保した通信のための技術に関する。
【背景技術】
【０００２】
近年、ネットワーク上におけるセキュリティの重要性が高まってきており、特に、暗号化通信によるセキュリティの確保の重要性が高まってきている。現在、セキュリティプロトコルとして幾つかのプロトコルが存在し、ＩＰｓｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）がその中に含まれる。ＩＰｓｅｃは、ＡＨ（Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｈｅａｄｅｒ）プロトコルとＥＳＰ（Ｅｎｃａｐｓｕｌａｔｉｎｇ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄ）プロトコルとを含む。ＡＨプロトコルは、送信元の認証とデータの完全性保証を提供する機能であり、ＥＳＰプロトコルはＩＰパケットの機密性の確保と安全性保証と送信元の認証を提供する機能である。ＩＰｓｅｃは、ＩＰレベル（ＯＳＩ参照モデルではネットワーク層）で実現されるセキュリティプロトコルであるため、ＩＰパケット単位でＡＨ及びＥＳＰのＩＰｓｅｃ処理が行われる。
【０００３】
なお、ＩＰｓｅｃの処理では、通信装置は、ＡＨやＥＳＰで使用するアルゴリズム、鍵等のパラメータを持つＩＰｓｅｃ  ＳＡ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）を使用する（非特許文献１参照）。また、通信装置は、ＩＰｓｅｃにおいて、鍵管理プロトコルであるＩＫＥを利用した相手方装置との鍵交換により、ＩＰｓｅｃ  ＳＡを確立する（非特許文献２参照）。
【０００４】
通信装置は、ＩＰｓｅｃによるＩＰパケットの送信を開始する際にＩＰｓｅｃ  ＳＡが確立されていない場合は、ＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）を用いてＩＰｓｅｃ  ＳＡを構築する。このとき、通信装置は、自らがＩＫＥ要求を相手方装置へ発行することとなるため、イニシエータ（Ｉｎｉｔｉａｔｏｒ）として相手方装置との間でＩＰｓｅｃ  ＳＡを確立する。なお、通信装置は、ＩＰｓｅｃ  ＳＡを確立するまでは、ＩＰｓｅｃの処理を行うことはできない。ここで、ＩＰｓｅｃの処理を行うことができない場合のＩＰパケットの処理方式には、ＩＰｓｅｃ  ＳＡが確立されるまでの期間において、ＩＰパケットを破棄する方式とＩＰパケットをキューに格納する方式（特許文献１参照）とがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−６０２４５号公報
【非特許文献】
【０００６】
【非特許文献１】ＩＰｓｅｃ（ＲＦＣ２４０１、ＲＦＣ２４０２、ＲＦＣ２４０６）
【非特許文献２】ＩＫＥ（ＲＦＣ２４０８、ＲＦＣ２４０９）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＩＰパケットを破棄する方式は、ＩＰｓｅｃ  ＳＡが確立されるまでの期間、パケットロスの状態になるため、再送の発生による通信の遅延や通信データの欠落が発生するという課題があった。
【０００８】
一方、ＩＰパケットをキューに格納する方式は、ＩＰｓｅｃ機能がＩＫＥ機能へＩＰｓｅｃ  ＳＡ確立要求行い、ＩＫＥ機能がその要求に応じてイニシエータとしてＩＫＥ処理を行い、ＩＰｓｅｃ  ＳＡを確立する。ＩＰｓｅｃ機能はＩＫＥ機能からのＩＰｓｅｃ  ＳＡ確立通知を受け取った後、確立したＩＰｓｅｃ  ＳＡに対応するＩＰパケットをキューから取り出してＩＰｓｅｃ処理を行った上でＩＰパケットの送信を行う。したがって、ＩＰｓｅｃ  ＳＡの確立後、キューから確立したＩＰｓｅｃ  ＳＡに対応するＩＰパケットを探索するための、一定の処理量及び処理時間が要求されるという課題があった。
【０００９】
また、相手方装置がイニシエータとして、そして通信装置がレスポンダ（Ｒｅｓｐｏｎｄｅｒ）として実行されるＩＫＥ処理と、その逆の役割によるＩＫＥ処理とが同時に実行される場合がある。ここで、通信装置では、イニシエータとして実行したＩＫＥ処理が失敗すると、ＩＰｓｅｃ機能がＩＰｓｅｃ  ＳＡ確立失敗通知を受け取り、キューに格納したＩＰパケットが削除される。このため、通信装置がレスポンダとして実行したＩＫＥ処理が成功し、レスポンダによって使用できるＩＰｓｅｃ  ＳＡが確立している場合であっても、ＩＰパケットが削除され、送信されなくなってしまう、という課題があった。
【００１０】
本発明は上記課題に鑑みなされたものであり、上述の課題の少なくとも１つを解消することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明による通信装置は、セキュリティが確保されていないセッションについて、送信すべき信号が生じた場合、当該セッションと関連付けて当該信号を保持する保持手段と、前記信号に関連付けられているセッションについてのセキュリティ確保のための処理が完了した場合に、前記信号を相手方装置へ送信する送信手段と、を有する。
【発明の効果】
【００１２】
本発明によれば、低処理量で、破棄されるパケットの量を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】通信装置の機能構成例を示すブロック図。
【図２】ＩＰｓｅｃ処理部がＩＫＥ処理部に対して行うＳＡ確立要求の処理を示すフローチャート。
【図３】ＩＫＥ処理部のＰｈａｓｅ１セッションの処理を示すフローチャート。
【図４】ＩＫＥ処理部のＰｈａｓｅ２セッションの処理を示すフローチャート。
【図５】イニシエータ及びレスポンダとしての同時鍵交換時にイニシエータが失敗し、レスポンダが成功した際の処理を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面に基づき説明する。
【００１５】
＜＜実施形態１＞＞
本実施形態では、ＩＰｓｅｃ通信時に通信セッションについてＳＡが確立されていない場合、ＩＫＥによりＳＡが確立されるまでその通信セッションと関連付けてＩＰパケットを保持し、ＳＡ確立後にＩＫＥが代理送信を行う。図１は、本実施形態に係る通信装置の機能構成例を示すブロック図である。
【００１６】
図１において、通信装置は、プロトコル処理部１０１、ＩＰｓｅｃ処理機能部１０２、ＩＫＥ処理機能部１０３、及びネットワークインタフェース部１０４を有する。なお、ＩＰｓｅｃ処理機能部１０２は、例えば、ＳＰ管理部２０１、ＳＡ管理部２０２、及びＩＰｓｅｃ処理部２０３を有する。なお、ＳＰは、Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙの略である。また、ＩＫＥ処理機能部１０３は、例えば、ＩＫＥ  Ｐｏｌｉｃｙ管理部３０１、Ｐｈａｓｅ１（ＩＳＡＫＭＰ  ＳＡ）管理部３０２、Ｐｈａｓｅ２管理部３０３、及びＩＫＥ処理部３０４を有する。
【００１７】
プロトコル処理部１０１は、ＯＳＩ参照モデルにおけるネットワーク層以上の上位層の処理を行う機能部であり、ネットワークを介して通信をするための処理を行う。プロトコル処理部１０１は、ネットワークインタフェース部１０４へＩＰパケットを渡す。
【００１８】
ＩＰｓｅｃ処理機能部１０２は、プロトコル処理部１０１から受け取ったＩＰパケットに対してＩＰｓｅｃの適用処理を行い、ＩＰｓｅｃ適用後のＩＰパケットをプロトコル処理部１０１に渡す。
【００１９】
ＩＫＥ処理機能部１０３は、ＩＰｓｅｃ処理機能部１０２からの要求、又は通信の相手方装置からの要求により、通信相手とＳＡ確立のための鍵交換処理を行う。そして、ＩＫＥ処理機能部１０３は、プロトコル処理部１０１に対して、鍵交換処理における信号の送信時にはＩＳＡＫＭＰメッセージを渡し、信号の受信時にはＩＳＡＫＭＰメッセージを受け取る。
【００２０】
ネットワークインタフェース部１０４は、ＯＳＩ参照モデルにおけるデータリンク層と物理層の処理を行う機能部であり、ＩＰパケットをネットワーク上へ送信する。
【００２１】
なお、以下に示す暗号化通信方式において用いられるＩＰパケットデータは、インターネット上で送受信される１単位のデータである。なお、以下では、ＩＰパケットデータの組成手法については説明を省略するが、ＩＰパケットデータは、一般的な手法を用いて組成することができる。
【００２２】
また、暗号化通信を始める前に必要となる鍵交換は、ＩＫＥまたはＳＳＬといった方法を利用して行うものとし、詳細な説明を省略する。
【００２３】
次に、ＩＰｓｅｃ処理機能部１０２について説明する。ＳＰ管理部２０１は、実際にＩＰｓｅｃによるセキュリティ処理を適用するかどうかについての情報が登録されるＳＰＤ（Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙ  Ｄａｔａｂａｓｅ）を管理する。ＳＡ管理部２０２は、ＩＰパケットに対して行うＩＰｓｅｃ処理に関する情報（ＩＰｓｅｃ  ＳＡ）が格納されるＳＡＤ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ  Ｄａｔａｂａｓｅ）を管理する。なお、ＳＰ管理部２０１とＳＡ管理部２０２は、通常のＩＰｓｅｃを利用した暗号化通信において利用されるものと同様であるため、詳細な説明は省略する。
【００２４】
ＩＰｓｅｃ処理部２０３は、プロトコル処理部１０１から受け取ったＩＰパケットに対してＩＰｓｅｃを適用する。ＩＰｓｅｃ処理部２０３は、送信時の処理において、ＩＰパケットに対してＩＰｓｅｃを適用するかどうかを判定する。このため、ＩＰｓｅｃ処理部２０３は、まず、ＩＰパケットの送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、ポート番号などの情報に基づき、ＳＰ管理部２０１で管理されているＳＰＤからＩＰパケットに対応するＳＰを検索する。そして、ＩＰパケットに対応するＳＰが「破棄」を示す場合には、ＩＰｓｅｃ処理部２０３はそのＩＰパケットを破棄する。また、ＩＰパケットに対応するＳＰが「ＩＰｓｅｃを適用しない」旨を示す場合は、ＩＰｓｅｃ処理部２０３は、ＩＰｓｅｃを適用せずに、そのＩＰパケットをプロトコル処理部１０１に渡す。
【００２５】
一方、ＩＰパケットに対応するＳＰが「ＩＰｓｅｃを適用する」旨を示す場合は、ＩＰｓｅｃ処理部２０３は、ＳＡ管理部２０２で管理されているＳＡＤから、そのＩＰパケットに対応するＳＡを検索する。そして、そのＩＰパケットに対応するＳＡが確立されている場合は、ＩＰｓｅｃ処理部２０３は、ＳＡに記載されているアルゴリズムや鍵を利用して、そのＩＰパケットに対する暗号化処理を実行する。そして、暗号化処理後のＩＰパケットはプロトコル処理部１０１に渡される。ＩＰパケットに対応するＳＡが確立されていない場合は、ＩＰｓｅｃ処理部２０３は、そのＩＰパケットをＩＫＥ処理機能部１０３に渡し、ＳＡ確立要求を行う。
【００２６】
ＩＰｓｅｃ処理部２０３は、受信時の処理において、受信したＩＰパケットに対してＩＰｓｅｃが適用されているかどうかを判定する。そして、そのＩＰパケットにＩＰｓｅｃが適用されていない場合は、ＩＰｓｅｃ処理部２０３は、ＳＰ管理部２０１に管理されているＳＰＤからＳＰを検索する。そして、受信したＩＰパケットに対応するＳＰが「破棄」を示す場合は、ＩＰｓｅｃ処理部２０３は、そのＩＰパケットを破棄する。また受信したＩＰパケットに対応するＳＰが「ＩＰｓｅｃを適用する」旨を示す場合は、この受信したＩＰパケットにはＩＰｓｅｃが適用されていないため、ＩＰｓｅｃ処理部２０３はこのＩＰパケットを破棄する。また受信したＩＰパケットに対応するＳＰが「ＩＰｓｅｃを適用しない」旨を示す場合は、ＩＰｓｅｃ処理部２０３は、受信したＩＰパケットと条件が一致するため、プロトコル処理部１０１にＩＰパケットを渡す。
【００２７】
受信したＩＰパケットに対してＩＰｓｅｃが適用されている場合、ＩＰｓｅｃ処理部２０３は、まず、ＳＡ管理部２０２に管理されているＳＡＤから、そのＩＰパケットに対応するＳＡを検索する。そして、ＩＰｓｅｃ処理部２０３は、ＳＡに記載されているアルゴリズムや鍵を利用して、そのＩＰパケットに対して復号化処理を実行する。次に、ＩＰｓｅｃ処理部２０３は、復号化処理が行われた後に、ＳＰＤからそのＩＰパケットに対応するＳＰを検索する。そして、ＩＰｓｅｃ処理部２０３は、検索により得たＳＰの内容と、受信したＩＰパケットに適用されているセキュリティ処理とが一致しているかどうかを判定する。そして、ＩＰｓｅｃ処理部２０３は、これらが一致していない場合はそのＩＰパケットを破棄し、これらが一致している場合はプロトコル処理部１０１にそのＩＰパケットを渡す。
【００２８】
次に、ＩＫＥ処理機能部１０３について図１に基づき説明する。ＩＫＥ  Ｐｏｌｉｃｙ管理部３０１は、ＩＫＥがＰｈａｓｅ１セッションにおいて通信相手とＩＳＡＫＭＰ  ＳＡを確立するための情報が登録されるＩＫＥ  Ｐｏｌｉｃｙを管理する。
【００２９】
Ｐｈａｓｅ１管理部３０２は、ＩＫＥ  Ｐｏｌｉｃｙ管理部３０１に格納されている情報により相手方装置とのネゴシエーションを行ったＰｈａｓｅ１セッション中の情報を格納する。そして、Ｐｈａｓｅ１管理部３０２は、Ｐｈａｓｅ１セッション終了時に、Ｐｈａｓｅ１セッション情報により確立されたＩＳＡＫＭＰ  ＳＡを格納する。
【００３０】
Ｐｈａｓｅ２管理部３０３は、ＳＰ管理部２０１に格納されている情報を用いて相手方装置とネゴシエーションを行ったＰｈａｓｅ２セッション中の情報を格納する。また、Ｐｈａｓｅ２管理部３０３は、Ｐｈａｓｅ２セッション情報においてＳＡが確立されていないことに起因してＩＰｓｅｃ処理部２０３がＩＰｓｅｃを適用できなかったＩＰパケットを保持する。
【００３１】
ＩＫＥ処理部３０４は、ＩＰｓｅｃ処理部２０３からのＳＡ確立要求を受けると、イニシエータとしてＩＫＥ処理を実行する。ＩＫＥ処理部３０４は、そのときに、ＳＡが確立されていないため送信できなかったＩＰパケットをＩＰｓｅｃ処理部２０３から受け取り、Ｐｈａｓｅ２管理部３０３のＰｈａｓｅ２セッション情報にそのＩＰパケットを登録する。また、ＩＫＥ処理部３０４は、相手方装置からＩＫＥ要求を発行した鍵交換における、レスポンダとしてのＩＫＥ処理も実行する。
【００３２】
ＩＫＥ処理では、ＩＫＥ  Ｐｏｌｉｃｙ管理部３０１に格納された情報によりＰｈａｓｅ１セッションを行ってＩＳＡＫＭＰ  ＳＡが確立され、確立したＩＳＡＫＭＰ  ＳＡは、Ｐｈａｓｅ１管理部３０２に格納される。Ｐｈａｓｅ１セッション終了後、ＩＫＥ処理では、ＩＳＡＫＭＰ  ＳＡを用いて暗号化したＰｈａｓｅ２セッションによりＳＡが確立され、確立したＳＡはＳＡ管理部２０２に格納される。ＩＫＥ処理部３０４は、Ｐｈａｓｅ２セッション情報にＳＡが確立されていないため送信できなかったＩＰパケットが登録されている場合は、ＳＡのＳＡ管理部２０２への格納後に、そのＩＰパケットの代理送信処理を実行する。なお、代理送信処理とは、ＩＰｓｅｃ処理機能部１０２（ＩＰｓｅｃ処理部２０３）に代わって、ＩＫＥ処理機能部１０３（ＩＫＥ処理部３０４）がプロトコル処理部１０１を介してＩＰパケットを送信する処理である。
【００３３】
次に、ＩＰｓｅｃ処理部２０３がＩＫＥ処理部３０４に対して行うＳＡ確立要求の流れを、図２のフローチャートに基づいて説明する。ＩＰｓｅｃ処理部２０３は、まず、Ｓ４０１において、プロトコル処理部１０１から受け取ったＩＰパケットの情報に基づいて、ＳＰ管理部２０１に管理されているＳＰＤから、そのＩＰパケットに対応するＳＰを検索する。ここで、ＩＰパケットの情報は、例えば、ＩＰパケットの送信元と宛先のＩＰアドレス、プロトコル番号、送信元と宛先のポート番号の情報を含む。
【００３４】
続いて、ＩＰｓｅｃ処理部２０３は、Ｓ４０２において、ＳＰ管理部に管理されているＳＰＤにおいて、ＩＰパケットに対応するＳＰが存在するか否かを判定する。そしてＳＰが存在しない場合は、ＩＰｓｅｃ処理を適用する必要がないため、ＩＰｓｅｃ処理部２０３は、ＩＰパケットをプロトコル処理部１０１に受け渡して処理を終了する。一方、ＳＰが存在する場合は、ＩＰｓｅｃ処理部２０３は、処理をＳ４０３へ進め、ＩＰパケットの情報に基づいて、ＳＡ管理部２０２に管理されているＳＡＤから、そのＩＰパケットに対応するＳＡを検索する。
【００３５】
そして、ＩＰｓｅｃ処理部２０３は、Ｓ４０４において、ＩＰパケットに対応するＳＡが存在する場合は処理をＳ４０６へ進め、その対応するＳＡに基づいてそのＩＰパケットにＩＰｓｅｃ処理を適用する。そして、ＩＰｓｅｃ処理の適用後のＩＰパケットは、プロトコル処理部１０１へ渡される。一方、ＩＰｓｅｃ処理部２０３は、ＩＰパケットに対応するＳＡが存在しない場合は、処理をＳ４０５へ進め、そのＩＰパケットをＩＫＥ処理機能部１０３へ渡してＳＡ確立要求を行う。なお、この場合のＩＰパケットは、ＳＡが存在しないことによりＩＰｓｅｃを適用できなかったＩＰパケットである。
【００３６】
ＩＰｓｅｃ処理部２０３がＩＫＥ処理機能部１０３へＳＡ確立要求を行うと、続いて、ＩＫＥ処理部３０４がＩＫＥ処理のＰｈａｓｅ１セッションを実行する。ＩＫＥ処理部３０４において処理されるＩＫＥ処理のＰｈａｓｅ１セッションの動作について、図３のフローチャートを用いて説明する。
【００３７】
ＩＫＥ処理部３０４は、ＩＰｓｅｃ処理部２０３がＳＡ確立要求を実行したことに応じて、ＩＫＥ処理を開始する。まず、ＩＫＥ処理部３０４は、Ｓ５０１において、ＩＰｓｅｃ処理部２０３から受け取ったＩＰパケットの情報に基づいて、そのＩＰパケットに対応するＰｈａｓｅ２セッション情報がＰｈａｓｅ２管理部３０３に存在するかを確認する。ＩＫＥ処理部３０４は、ＩＰパケットに対応するＰｈａｓｅ２セッション情報が存在する場合は処理をＳ５０２へ進め、発見されたＰｈａｓｅ２セッション情報にそのＩＰパケットを登録し、処理を終了する。ＩＰパケットに対応するＰｈａｓｅ２セッション情報が存在しない場合は、ＩＫＥ処理部３０４は、処理をＳ５０３へ進める。
【００３８】
Ｓ５０３では、ＩＫＥ処理部３０４は、ＩＰｓｅｃ処理部より受け取ったＩＰパケットの情報に基づいてＰｈａｓｅ２セッション情報を生成して、生成したＰｈａｓｅ２セッション情報にそのＩＰパケットを登録する。また、ＩＫＥ処理部３０４は、Ｐｈａｓｅ２管理部３０３にＰｈａｓｅ２セッション情報の登録を行い、処理をＳ５０４へ進める。なお、ここでのＩＰパケットの情報は、例えば、送信元と宛先のＩＰアドレス、プロトコル番号、送信元と宛先のポート番号の情報を含む。
【００３９】
ＩＫＥ処理部３０４は、Ｓ５０４において、送信元と宛先ＩＰアドレスの情報を基にＩＫＥ  Ｐｏｌｉｃｙ管理部３０１からＩＰパケットに対応するＩＫＥ  Ｐｏｌｉｃｙを検索し、処理をＳ５０５へ進める。Ｓ５０５では、ＩＫＥ処理部３０４は、ＩＰパケットに対応するＩＫＥ  Ｐｏｌｉｃｙが存在するかどうかを判定し、そのようなＩＫＥ  Ｐｏｌｉｃｙ存在しない場合は、処理をＳ５０７へ進める。この場合、ＩＫＥ処理部３０４は、ＩＫＥ  Ｐｏｌｉｃｙが存在しないため、Ｐｈａｓｅ１セッションの開始ができない。このため、ＩＫＥ処理部３０４は、Ｓ５０７において、生成したＰｈａｓｅ２セッション情報と、受け取ったＩＰパケットとを削除し、処理を終了する。
【００４０】
一方、ＩＰパケットに対応するＩＫＥ  Ｐｏｌｉｃｙが存在する場合は、ＩＫＥ処理部３０４は、処理をＳ５０６へ進める。Ｓ５０６においては、ＩＫＥ処理部３０４は、送信元と宛先のＩＰアドレスの情報に基づいて、Ｐｈａｓｅ１セッション情報を生成してＰｈａｓｅ１管理部３０２に登録し、Ｐｈａｓｅ１セッションを実行する。そして、ＩＫＥ処理部３０４は、Ｓ５０８において、Ｐｈａｓｅ１セッションが正常に終了したかを確認し、正常に終了しなかった場合は、処理をＳ５０９へ進める。Ｓ５０９では、ＩＫＥ処理部３０４は、生成したＰｈａｓｅ１セッション情報を削除する。
【００４１】
一方、Ｓ５０９においては、送信元と宛先のＩＰアドレスが同一の、セッション中のＰｈａｓｅ１セッション情報がＰｈａｓｅ１管理部に存在する場合は、生成されたＰｈａｓｅ２セッション情報とＩＰパケットは削除されない。同様に、送信元と宛先のＩＰアドレス、プロトコル番号、及び送信元と宛先のポート番号が同一の、セッション中のＰｈａｓｅ２セッション情報がＰｈａｓｅ２管理部に存在する場合、生成されたＰｈａｓｅ２セッション情報とＩＰパケットは削除されない。すなわち、これらの場合は、生成されたＰｈａｓｅ２セッション情報とＩＰパケットは削除されず、Ｐｈａｓｅ２管理部に残される。セッション中のＰｈａｓｅ１セッション情報又はＰｈａｓｅ２セッション情報が存在しない場合は、ＩＫＥ処理部３０４は、生成したＰｈａｓｅ２セッション情報と受け取ったＩＰパケットとを削除し、処理を終了する。
【００４２】
一方、Ｓ５０８において、Ｐｈａｓｅ１セッションが正常に終了すると、続いて、ＩＫＥ処理部３０４は、ＩＫＥ処理のＰｈａｓｅ２セッションを実行する。続いて、ＩＫＥ処理部３０４において処理されるＩＫＥ処理のＰｈａｓｅ２セッションの動作について、図４のフローチャートを用いて説明する。
【００４３】
ＩＫＥ処理部３０４は、Ｐｈａｓｅ１セッションが成功したことに応じて、Ｐｈａｓｅ２セッション処理を開始する。ＩＫＥ処理部３０４は、まず、Ｓ６０１において、送信元と宛先のＩＰアドレスの情報に基づいて、Ｐｈａｓｅ２管理部３０３からＰｈａｓｅ２セッション情報を取得する。続いて、ＩＫＥ処理部３０４は、Ｓ６０２において、送信元と宛先のＩＰアドレス、プロトコル番号、送信元と宛先ポート番号の情報に基づいて、ＳＰ管理部２０１よりＩＰパケットに対応するＳＰを検索する。そして、ＩＫＥ処理部３０４は、Ｓ６０３において、ＩＰパケットに対応するＳＰが存在するかどうかを確認し、存在しない場合は処理をＳ６０５へ進め、Ｐｈａｓｅ２セッション情報とＩＰパケットとを削除して処理を終了する。
【００４４】
一方、ＩＰパケットに対応するＳＰが存在する場合は、ＩＫＥ処理部３０４は、Ｓ６０４において、Ｐｈａｓｅ２セッションを実行して、処理をＳ６０６へ進める。Ｓ６０６では、ＩＫＥ処理部３０４は、Ｐｈａｓｅ２セッションが成功したかを判定し、失敗した場合は処理をＳ６０７へ進め、成功した場合は処理をＳ６０８に進める。Ｓ６０７では、送信元と宛先のＩＰアドレスが同一の、セッション中のＰｈａｓｅ１セッション情報がＰｈａｓｅ１管理部に存在する場合は、生成されたＰｈａｓｅ２セッション情報とＩＰパケットは削除されない。同様に、送信元と宛先のＩＰアドレス、プロトコル番号、及び送信元と宛先のポート番号が同一の、セッション中のＰｈａｓｅ２セッション情報がＰｈａｓｅ２管理部に存在する場合、生成されたＰｈａｓｅ２セッション情報とＩＰパケットは削除されない。すなわち、これらの場合、生成されたＰｈａｓｅ２セッション情報とＩＰパケットは削除されずにＰｈａｓｅ２管理部に残される。一方、ＩＫＥ処理部３０４は、セッション中のＰｈａｓｅ１セッション情報又はＰｈａｓｅ２セッション情報が存在しない場合は、生成したＰｈａｓｅ２セッション情報と受け取ったＩＰパケットとを削除し、処理を終了する。
【００４５】
Ｓ６０８では、ＩＫＥ処理部３０４は、Ｐｈａｓｅ２セッションにより確立されたＳＡがＳＡ管理部２０２に登録された後に、ＩＰパケットを代理送信するため、プロトコル処理部１０１にＩＰパケットを渡す。Ｓ６０９では送信元と宛先のＩＰアドレス、プロトコル番号、送信元と宛先ポート番号の情報に基づいて、同じ相手方装置についてのＰｈａｓｅ２セッション情報がＰｈａｓｅ２管理部３０３に存在しないかチェックする。そして、ＩＫＥ処理部３０４は、同じ相手方装置についてのＰｈａｓｅ２セッション情報が存在しない場合は処理を終了する。同じ相手方装置についてのＰｈａｓｅ２セッション情報が存在し、ＩＰパケットがＰｈａｓｅ２セッション情報に登録されている場合は、ＩＫＥ処理部３０４は、処理をＳ６０８へ戻し、ＩＰパケットの代理送信を実行する。Ｓ６０８とＳ６０９は同じ通信相手のＰｈａｓｅ２セッション情報が存在する場合は繰り返し行う。
【００４６】
以上のように、本実施形態においては、通信セッション単位でセキュリティ確保のための処理（ＳＡの確立、及びそのためのＩＫＥ処理）を行う。そして、その処理が完了しておらず、セキュリティが確保されていないセッションにおいて送信すべき信号（ＩＰパケット）が生じると、ＩＰパケットはセッションに関連付けられて保持される（Ｐｈａｓｅ１セッション情報、Ｐｈａｓｅ２セッション情報）。そして、そのＩＰパケットに関連付けられたセッションについてのセキュリティ確保のための処理が完了した後に、そのＩＰパケットが送信される。これにより、あるセッションについてＳＡの確立が完了した時点において、そのセッションに対してＩＰパケットが対応付けられている状態となるため、キューからＩＰパケットを検索する処理が不要となる。また、ＩＰパケットは、ＳＡの確立まで保持されるため、破棄されることがなくなり、パケットロスの状態となることがなくなり、その結果、通信データの再送または欠落が生じなくなる。
【００４７】
＜＜実施形態２＞＞
本実施形態では、相手方装置との間で、イニシエータ及びレスポンダとして同時鍵交換が実行される際、Ｐｈａｓｅ２セッションにおいてイニシエータとしての処理が失敗し、レスポンダとしての処理が成功した場合を検討する。この場合の、ＩＫＥ処理部３０４によるＩＰパケットの代理送信処理について、図５のフローチャートを用いて以下説明する。
【００４８】
ＩＫＥ処理部３０４は、まず、Ｓ７０１のＩＫＥ  Ｐｏｌｉｃｙに基づいてイニシエータ及びレスポンダとして、Ｐｈａｓｅ１セッションを実行する。そして、ＩＫＥ処理部３０４は、Ｓ７０２において、実行された鍵交換がイニシエータとして行われたものかレスポンダとして行われたものかをチェックし、イニシエータとして行われたものである場合は処理をＳ７０３へ進める。一方、実行された鍵交換がレスポンダとして行われたものである場合は、ＩＫＥ処理部３０４は、処理をＳ７０４へ進める。Ｓ７０３では、ＩＫＥ処理部３０４は、Ｐｈａｓｅ２セッション情報を生成後、そのＰｈａｓｅ２セッションに関連付けてＩＰパケットを登録し、処理をＳ７０４へ進める。
【００４９】
ＩＫＥ処理部３０４は、Ｐｈａｓｅ１セッションがＳ７０４において正常終了すると、Ｓ７０５において、ＩＰｓｅｃ  ＳＰに基づいてＰｈａｓｅ２セッションを開始する。続いて、Ｓ７０６において、ＩＫＥ処理部３０４は、レスポンダとしてのＰｈａｓｅ２セッションが成功したか失敗したかを判定し、失敗した場合は処理を終了し、成功した場合は、処理をＳ７０７へ進める。Ｓ７０７では、ＩＫＥ処理部３０４は、同時鍵交換で失敗したイニシエータとしてのＰｈａｓｅ２セッションが存在するかどうかを判定し、存在しない場合は処理を終了し、存在する場合は処理をＳ７０８へ進める。Ｓ７０８では、ＩＫＥ処理部３０４は、見つかった同時鍵交換で失敗したイニシエータとしてのＰｈａｓｅ２セッション情報にＩＰパケットが登録されている場合、そのＩＰパケットの代理送信を行い、処理を終了する。
【００５０】
このように、本実施形態では、通信装置は、イニシエータとしてのＩＫＥ処理が失敗した場合であっても、レスポンダとしてのＩＫＥ処理が成功していれば、その成功したＩＫＥ処理によって交換した鍵を用いてセキュリティを確保することが可能となる。一方、通信装置は、イニシエータとしてＩＫＥ処理が成功していれば、ＩＰｓｅｃによりセキュリティを確保して信号を送信することができる。このとき、レスポンダとしてＩＫＥ処理が失敗した場合でも、相手方装置が、その成功したＩＫＥ処理に基づくＩＰｓｅｃによりセキュリティを確保して信号を送信することができる。すなわち、ＩＰパケットは、セッションに関連付けられて保持されるところ、そのセッションに関連付けられた複数のＩＫＥ処理のいずれかが成功さえすれば、ＩＰｓｅｃによるセキュリティを確保した通信を行うことができる。この結果、１つのセッションに関連付けられた複数のＩＫＥ処理のうち、いずれかが成功すればよいため、ＩＫＥ処理が失敗してパケットを破棄する確率を低減することができる。
【００５１】
なお、上述の２つの実施形態では、通信装置においてＳＡが確立されていない場合に送信すべきＩＰパケットが生じたことにより、イニシエータとしてＩＫＥ処理を実行する場合について説明したが、これに限られない。すなわち、ＳＡが確立されていないセッションにおいて送信すべきＩＰパケットが生じたとしても、通信装置は、ＩＫＥ処理を自らイニシエータとして開始する必要はない。例えば、送信すべきＩＰパケットの宛先である相手方装置が、既にイニシエータとしてＩＫＥ処理を実行している場合は、通信装置は、自らをレスポンダとしたＩＫＥ処理が完了するのを待ってもよい。そして、ＩＰパケットは、進行中のＩＫＥ処理についてのセッションに関連付けられて保持され、ＩＫＥ処理が完了した後に、ＩＰｓｅｃによる暗号化を施された後に相手方装置へ送信されてもよい。すなわち、ＩＰパケットは、通信装置が開始したＩＫＥ処理の完了後、又は相手方装置が開始したＩＫＥ処理の完了後のいずれかに送信されればよい。また、通信装置は、相手方装置がＩＫＥ処理を開始していない場合に限ってイニシエータとしてＩＫＥ処理を開始するようにしてもよいし、相手方装置がＩＫＥ処理を開始しているかによらず、自らをイニシエータとしたＩＫＥ処理を別途開始してもよい。
【００５２】
＜＜その他の実施形態＞＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014168204.tif 000003
【図２】
2014168204.tif 000004
【図３】
2014168204.tif 000005
【図４】
2014168204.tif 000006
【図５】
2014168204.tif 000007