JP4721715B2 - 通信装置及び通信プログラム - Google Patents

通信装置及び通信プログラム Download PDF

Info

Publication number
JP4721715B2
JP4721715B2 JP2005027242A JP2005027242A JP4721715B2 JP 4721715 B2 JP4721715 B2 JP 4721715B2 JP 2005027242 A JP2005027242 A JP 2005027242A JP 2005027242 A JP2005027242 A JP 2005027242A JP 4721715 B2 JP4721715 B2 JP 4721715B2
Authority
JP
Japan
Prior art keywords
isakmp
ipsec
communication device
established
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005027242A
Other languages
English (en)
Other versions
JP2005253061A (ja
Inventor
敦宏 辻
雪絵 五島
景一 高垣
チュアン フォン チュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2005027242A priority Critical patent/JP4721715B2/ja
Publication of JP2005253061A publication Critical patent/JP2005253061A/ja
Application granted granted Critical
Publication of JP4721715B2 publication Critical patent/JP4721715B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号通信を行う通信装置に関する。なかでも、ホームネットワークなどの環境において用いられる自動鍵交換を行う通信装置に関する。
IETF(Internet Engineering Task Force)で策定しているRFC2401〜RFC2412(RFC:Request For Comments)において、IPセキュリティプロトコル(IPsec)と、鍵交換プロトコルであるIKE(Internet Key Exchange)とが規定されている。IPsecは、IP(Internet Protocol)において、暗号通信およびIPパケットの認証を行なうプロトコルである。以下、特に断らない限り、暗号通信とは、その通信情報の認証機能を含めることを排除しない。
IPsecによる暗号機能を内蔵した通信中継装置や通信端末(以下、まとめて通信装置と言うことがある)は、セキュリティアソシエーション(SA)と呼ぶ論理的な通信路上で暗号通信を行なう。セキュリティアソシエーションでは、暗号通信で用いられる鍵情報(暗号鍵、認証鍵)や、適用する暗号アルゴリズム情報、認証アルゴリズム情報などが管理される。特に、IPsecによる暗号通信で使用されるセキュリティアソシエーション(暗号通信路)をIPsec SAと呼ぶ。
暗号通信を行なう通信装置間において、IPsec SAを確立する方法としては、両者において手動でIPsec SAの諸情報を設定する手動鍵設定が挙げられる。そのほか、両者間で互いに暗号通信を行なう正当な相手か否かを確認し、IPsec SAの諸情報を2者間で折衝して決定し、確立する自動鍵交換(IKE)がある。IKEは特に、RFC2407〜RFC2409で規定されている。IKEでは、IPsec SAを確立するために折衝を行なう。この折衝を行なうための制御用通信路をISAKMP SAと呼ぶ。このISAKMP SAは、IPsec SAを確立するためだけではなく、IPsec SAの更新やIPsec SA情報の削除を行なうためにも使用される。なお、ISAKMPは、Internet Security Association and Key Management Protocolの略であり、IKEの通信プロトコルを規定する名称である。
図12は、暗号通信システムが適用されるネットワーク構成例を示す図である。図12の暗号通信システムでは、例えば端末101は、中継器111、通信ネットワーク121、および中継器112を経由し、端末103と通信する。暗号通信を行なう形態としては、中継器111と中継器112の2者間で包括的な暗号通信路(セキュリティアソシエーション、以下SA)を確立し、両者間を経由する通信を両中継器間で暗号化する形態がある。また、別の形態として、端末101〜104のうちの2者間で直接SAを確立して暗号通信を行なう形態がある。さらに、前者と後者を組み合わせた形態として、例えば端末101が端末103と通信する場合において、端末101と中継器112との間でSAを確立して暗号通信を行なう形態もある。以後、SAを確立する中継器及び端末を、単に通信装置と呼ぶ。
図13は、通信装置間でIKEを用いたIPsecによる暗号通信(IPsec通信)を行なうためのSAの状態を示した説明図である。図13において通信装置201は、図12における端末101〜102または中継器111である。通信装置202は、図12における端末103〜104または中継器112である。図13において、ISAKMP SA211は、IPsec SA212の確立・更新・切断に使用される。なお、IPsec通信では、その通信方向毎にSAの情報を管理する。IKEを用いた場合は、双方向通信を実現するIPsec SAを確立するために各通信装置で管理されるSA情報は入力用と出力用の計2つが存在する。しかし、ここでは双方向通信を前提とし、これらをまとめて一本のIPsec SAとして図示している。
IKEでは、ISAKMP SAの確立及びIPsec SAの確立に、ISAKMPメッセージと呼ばれるメッセージフォーマットを用いたIPパケットの通信を用いる。ISAKMP SAの確立には、例えばメインモードと呼ばれる折衝手順(トランザクション)がある。IPsec SAの確立には、例えばクイックモードと呼ばれる折衝手順がある。基本的に、IPsec SA及びISAKMP SAの更新のための折衝手順は、確立のための折衝手順と同様である。また、IKEでは、SA確立のための折衝手順以外に、各種情報の通知を目的としたISAKMPメッセージが規定されている。この中に、ISAKMP SA及びIPsec SAの削除通知メッセージも規定されている。
暗号通信は、主として通信される情報の機密性及び完全性を保証するために使用されるが、暗号化・複合化を行なうためには、鍵を必要とする。この鍵が第三者に知れると、第三者は容易にその暗号化された情報を復号化することができる。このため、鍵の管理は重要である。鍵は、暗号化された情報から時間と労力をかければ類推可能であり、さらに、同じ鍵を用いて暗号化された多く情報を集めれば、それだけ類推が容易となる。このため、IKEでは、主として鍵情報を更新するために、IPsec SAを新たに確立する仕組みが提供されている。これをIPsec SAの更新と呼ぶ。IPsec SAを確立する際に、IPsec SAの寿命が決定され、その寿命に従ってIPsec SAの更新が行なわれる。IPsec SAの更新のタイミングとしては、IPsec SAの寿命が切れてから行なう方法と、寿命が切れる前に所定のタイミングで行なう方法がある。後者の方が暗号通信の連続性に優れており、より一般的である。IPsec SAの更新には、制御用通信路であるISAKMP SAが必要である。図14は、寿命が切れる前に更新を行なう方法により、更新のための新しいIPsec SAが確立された様子を示している。IPsec SA311が更新のために新しく確立されたIPsec SAである。
IPsec SAの切断は、主としてその寿命切れによって生じる。図14において、IPsec SA212は、既にIPsec SA311に更新され、寿命が間もなく尽きる状態となっている。寿命が尽きたとき、IPsec SA212は切断され、通信装置201,202においてその古いIPsec SA情報が削除される。寿命の長さは、その鍵が使用されるアルゴリズムと暗号通信の用途などによって決定されることが望ましいが、それらに係らず所定の値を使用する形態もある。IPsec SAを切断する別の方法として、一方の通信装置においてIPsec SAの情報を削除し、他方の通信装置にその削除を通知することによって他方の通信装置においても該当するIPsec SAの情報を削除する方法がある。この方法は、一方の通信装置で動作するアプリケーションあるいはその使用者が明示的に切断を指示する場合に有用である。IPsec SAの削除通知の送受信には、ISAKMP SAを用いることが一般的である。なお、削除通知は、ISAKMPメッセージの中の、削除ペイロード(Delete Payload)を含む通知メッセージ(Informational Exchange)として規定されている。
一方、ISAKMP SAも、暗号化した情報の通信を行なっており、その寿命を持つ。従って、ISAKMP SAの更新を行なわなければ、IPsec SAの確立・更新・切断ができない。しかし、前記RFCにおいては、ISAKMP SAの維持の方法については厳格に規定してはおらず、複数の実装方法が考えられる。例えば、ISAKMP SAも更新を行なう方法や、ISAKMP SAの更新は行なわないで必要となった場合に初めて新たにISAKMP SAを確立する方法がある。さらに、削除通知の送受信に対して、削除対象であるIPsec SAを確立するのに使用したISAKMP SAを使用することを要求する実装方法もあれば、複数ISAKMP SAがある場合には、常に最も新しいISAKMP SAを使用する実装方法もある。
さて、IPsecによる暗号通信では、上述のように、IPsec SAに関するSA情報を通信装置で保持することで暗号通信を実現する。ところが、片方の通信装置にのみSA情報があり、他方の通信装置には該当するSA情報が存在しない状態、すなわちIPsec SA不一致の状態が生じる場合がある。この場合、SA情報を保持している通信装置からは、既に保持しているIPsec SAのSA情報を使用して暗号通信を行なおうとし、これにより該当パケットを暗号化して送信する。これに対し、相手通信装置では、該当するIPsec SAを保持していないため、このパケットを廃棄してしまい、暗号通信が成立しない。この通信不能の状態からの復帰は、1)一方の通信装置が保持しているIPsec SAの削除、2)新しいIPsec SAの確立を明示的にアプリケーションがIKEに指示する、3)IPsec SAの寿命が尽きる、などの手続を経る必要がある。
このような問題に関し、2つの通信装置を中継器とし、2つの中継器を経由した2つの端末間の通信を行なう場合を考える。この場合、一方の中継器のIPアドレスが変更された場合、これに伴ってISAKMP SA及びIPsec SAの情報に不整合が発生する。そこで、この不整合を解消するために、特許文献1は、下記3つのステップを含む方法を提案している。
1)ISAKMP SAの削除通知を他方の中継器に送信
2)その削除通知を受けた他方の中継器が、削除対象のISAKMP SAで先に確立されたIPsec SAを削除
3)その後、中継器間で新たにISAKMP SA、およびIPsec SAを確立。この方法では、電源の再投入などによってIPアドレスの変更を行なった場合に、変更前の識別子、例えば変更前のIPアドレスを使用してISAKMP SAの削除通知を相手の中継器に送信する。
特開2002−344443号公報
しかし、前記特許文献1に記載の方法では、電源の再投入や、IPアドレスが変更されたことをきっかけとして動作するため、一方の通信装置において明示的にIPsec SAを削除した場合に発生するIPsec SAの不一致を解消できない問題がある。
さらに、通信装置同士の間で暗号通信を実現する場合、上述のように、ISAKMP SAの維持の方法には実装依存の部分がある。そのため、互いに違う実装形態を有する通信装置同士がIKEを用いて暗号通信を行おうとした場合、相手が正しく受信できる条件でIPsec SAの削除通知を送信するとは限らない。その結果、IPsec SAの削除処理が確実にできるとは限らず、IPsec SAの不一致が発生しうる。
このような場合に、不一致が発生しているIPsec SAの寿命が尽きるのを待つことにより、再度IPsec SAの確立を行なうことができる。また、アプリケーションまたはその使用者が所定期間待って暗号通信が成立しないことを確認し、保持しているIPsec SAを明示的に削除することによって、再度IPsec SAの確立を行なうことができる。しかし、いずれにしても、IPsec SAの削除処理を不完全に行なってから再度IPsec SAの確立を開始するまでに、時間を要するという問題がある。
本発明は、前記の課題を解決するもので、ISAKMP SAの維持に関して多様な実装形態があるなかで、通信装置同士が確実にIPsec SAの削除通知を送受信し、IPsec SAの不一致状態の発生を防止する技術を提供することを目的とする。
前記課題を解決するために、本発明1は、IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う通信装置を提供する。この装置は、以下の手段を有している。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理手段、
・前記管理手段で識別子が記憶されているISAKMP SAの中から、前記相手通信装置との間で確立しているISAKMP SAであって、かつ前記管理手段が記憶するIPsec SAの削除ペイロードの送信条件を満たす1または複数のISAKMP SAを特定する判断手段、
・前記判断手段が特定した1または複数のISAKMP SAを用い、前記IPsec SAの削除ペイロードを送信する送信手段、
・前記削除ペイロードによる削除対象のIPsec SAの識別子を、前記管理手段から削除する削除手段。
例えば、IPsec SAの削除ペイロードを送信する送信条件として、「そのIPsec SAを確立している相手通信装置との間で確立している全てのISAKMP SA」が挙げられる。この送信条件を用いれば、相手通信装置の削除ペイロードの受信条件が、「IPsec SAを確立するために用いたISAKMP SAによる削除ペイロードの受信」であっても、「確立済み状態の最新のISAKMP SAによる削除ペイロードの受信」であっても、少なくとも一つのISAKMP SAを用いてIPsec SAの削除ペイロードを送信することができる。
ここで、相手通信装置との間で確立しているISAKMP SAとは、相手通信装置との間で存在しているだけでなく、寿命が尽きていないISAKMP SAをいう。寿命が尽きてないとは、すなわち、新規IPsec SAを確立可能である状態である。
なお、相手通信装置に削除ペイロードを送信するISAKMP SAが存在しない場合は、新たなISAKMP SAを再確立することが好ましい。そのISAKMP SAを用いてIPsec SAの削除ペイロードを送信することができるようになるからである。
発明2は、前記発明1において、前記管理手段に記憶された相手通信装置の特性を識別する所定の情報と、IPsec SAの削除ペイロードの送信条件と、を対応付けて記憶する条件記憶手段をさらに有する通信装置を提供する。この装置において、前記管理手段は、前記相手通信装置の特性を識別する所定の情報を、前記相手通信装置の識別子と対応付けてさらに記憶する。また、前記判断手段は、前記IPsec SAを確立している相手通信装置に対応する所定の情報に対応付けられた送信条件を前記条件記憶手段から読み出し、読み出した送信条件に合致する1または複数のISAKMP SAを特定する。
相手通信装置に応じ、IPsec SAの削除ペイロードの送信に用いるISAKMP SAを選択することにより、削除ペイロードの送信を効率的に行うことができる。
発明3は、前記発明1において、前記相手通信装置の特性を識別する所定の情報は、前記相手通信装置の製造者の識別子である。前記条件記憶手段は、前記製造者の識別子と製造者毎の送信条件とを対応付けて記憶している。前記判断手段は、前記IPsec SAに対応する製造者の識別子に対応づけられた送信条件を前記条件記憶手段から読み出し、読み出した送信条件に合致する1または複数のISAKMP SAを特定する。
相手通信装置に応じて送信条件を変える具体的な方法の1つは、相手通信装置の製造者に応じた受信条件を予め記憶しておくことである。IPsec SAの確立時に相手通信装置の製造者の識別子を取得しておけば、製造者により異なる受信条件に合わせてIPsec SAの削除ペイロードを送信することができる。これにより、無駄な削除ペイロードの送信を省き、効率的にかつ確実な削除ペイロードの送受信を行うことができる。
発明4は、前記発明1において、前記管理手段は、ISAKMP SAと、そのISAKMP SAにより確立されたIPsec SAとの対応付けをさらに記憶している通信装置を提供する。ここで、前記判断手段は、前記削除ペイロードによる削除対象のIPsec SA以外の他のIPsec SAであって、削除対象のIPsec SAの確立に用いられたISAKMP SAにより確立されたIPsec SAがあるか否かを判断する。この装置において、前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがないと前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除する。
あるIPsec SAが削除された後も、そのIPsec SAの確立に用いられたISAKMP SAを削除しない方がいい場合がある。それは、そのISAKMP SAで別のIPsec SAが確立されている場合である。その場合、ISAKMP SAを削除してしまうと、通信装置の実装形態によっては別のIPsec SAの削除ペイロード送信に支障が出るおそれがある。なかでも、IPsec SAの確立に用いたISAKMP SAを用いて削除ペイロードを送信する実装形態の通信装置では、削除ペイロードを送信できなくなってしまう。そこで、別のIPsec SAが確立されている場合には、そのISAKMP SAを削除しないことが好ましい。
また、ISAKMP SAの削除ペイロードを送信した場合も同様である。すなわち、そのISAKMP SAで確立されているIPsec SAがある限り、そのISAKMP SAを削除しないことが好ましい。
さらに、ISAKMP SAの有効期限満了時も同様である。つまり、ISAKMP SAの有効期限が満了しても、そのISAKMP SAを用いて確立したIPsec SAが存在する場合、その削除ペイロードを送信するためにそのISAKMP SAが必要になる可能性がある。そこで、有効期限が満了しても、そのISAKMP SAを残しておく。ただし、「新規IPsec SA確立不可」の状態とし、有効期限を過ぎたISAKMP SAによるさらなる新たなIPsec SAの確立を防止する。そのISAKMP SAを用いて既に確立しているIPsec SAの削除ができれば十分だからである。
発明5は、発明4において、前記管理手段は、前記IPsec SAの有効期限を前記IPsec SAの識別子と対応付けてさらに記憶する通信装置を提供する。この装置において、前記判断手段は、前記管理手段に識別子が記憶されているIPsec SAについて、有効期限が過ぎたものがあるか否かをさらに監視し、有効期限が過ぎたIPsec SAがある場合はそのIPsec SAの確立に用いられたISAKMP SAにより確立された他のIPsec SAがあるか否かを判断する。また前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがないと前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除する。
IPsec SAの有効期限が過ぎたときに、そのIPsec SAの確立に用いたISAKMP SAを削除する場合がある。ただし、そのISAKMP SAにより確立された別のIPsec SAが存在しない場合である。そのISAKMP SAにより確立された別のIPsec SAの削除ペイロードを送信するために、そのISAKMP SAが必要な場合に備えることができ、通信装置相互でのIPsec SAの矛盾をより防止しやすくなる。なかでも、通信相手が、IPsec SAの確立に用いたISAKMP SAで送信されるIPsec SAの削除ペイロードを受け付ける実装形態を有している場合、双方のIPsec SAが不一致を起こすことを防止しやすくなる。
発明6は、前記発明4または5において、前記管理手段は、前記ISAKMP SAの識別子に対応付けて前記ISAKMP SAの有効期限をさらに記憶する通信装置を提供する。この装置において、前記判断手段は、前記ISAKMP SAにより確立された他のIPsec SAがなく、かつ前記ISAKMP SAの有効期限が過ぎているか否かを判断する。また前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがなく、かつ前記ISAKMP SAの有効期限が過ぎていると前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除する。
IPsec SAの寿命が尽きたときに、そのIPsec SAの確立に用いたISAKMP SAを削除する場合がある。ただし、そのISAKMP SAにより確立された別のIPsec SAが存在せず、かつそのISAKMP SAの有効期限が過ぎた場合である。従って、IPsec SAの有効期限の方がISAKMP SAの有効期限より長くても、そのIPsec SAの削除ペイロードを、そのIPsec SAの確立に用いたISAKMP SAを用いて送信することができる。
発明7は、前記発明4において、前記判断手段は、前記削除対象のISAKMP SAとは別のISAKMP SAが前記相手通信装置との間に確立されているか否かを判断する通信装置を提供する。この装置は、前記判断手段の判断結果に応じ、新たなISAKMP SAを確立する再確立手段をさらに備えている。
IPsec SAの削除に応じてISAKMP SAを削除する場合、相手通信装置との間で確立されたISAKMP SAが皆無になる場合がある。この場合であっても、その相手との間に別のIPsec SAが存在している場合が考えられる。そこで、その別のIPsec SAの削除ペイロードを送信するのに用いられる可能性のあるISAKMP SAを新たに確立しておくことが好ましい。また、新たなISAKMP SAを確立しておけば、それを用いて新たなIPsec SAを必要に応じて確立することが容易という利点がある。
ISAKMP SAの削除ペイロードの送受信に基づいてISAKMP SAを削除する場合も同様である。
発明8は、前記発明7において、前記再確立手段は、前記送信手段が前記IPsec SAの削除ペイロードを送信するに先立ち、または前記送信手段による前記削除ペイロードの送信に応じ、前記ISAKMP SAとは別のISAKMP SAが前記相手通信装置との間に確立されているか否かを判断し、判断結果に応じ、新たなISAKMP SAを確立する通信装置を提供する。
IPsec SAを送信するのに必要となるISAKMP SAを必要に応じて生成することができる。
発明9は、IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う通信装置が実行する通信方法を提供する。この方法は、下記のステップを含む。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理ステップ、
・前記管理ステップで識別子が記憶されているISAKMP SAの中から、前記相手通信装置との間で確立しているISAKMP SAであって、かつ前記管理ステップが記憶するIPsec SAの削除ペイロードの送信条件を満たす1または複数のISAKMP SAを特定する判断ステップ、
・前記判断ステップで特定された1または複数のISAKMP SAを用い、前記IPsec SAの削除ペイロードを送信する送信ステップ、
・前記削除ペイロードによる削除対象のIPsec SAの識別子を、前記管理ステップでの記憶対象から削除する削除ステップ。
この方法は、発明1と同様の作用効果を奏する。
発明10は、IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行うコンピュータが実行する通信プログラムを提供する。このプログラムは、下記手段として前記コンピュータを機能させる。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理手段、
・前記管理手段で識別子が記憶されているISAKMP SAの中から、前記相手通信装置との間で確立しているISAKMP SAであって、かつ前記管理手段が記憶するIPsec SAの削除ペイロードの送信条件を満たす1または複数のISAKMP SAを特定する判断手段、
・前記判断手段が特定した1または複数のISAKMP SAを用い、前記IPsec SAの削除ペイロードを送信する送信手段、及び
・前記削除ペイロードによる削除対象のIPsec SAの識別子を、前記管理手段から削除する削除手段。
このプログラムは、発明1と同様の作用効果を奏する。
発明11は、IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う通信装置を提供する。この装置は、下記の手段を有している。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理手段、
・前記IPsec SAの削除ペイロードを、任意のISAKMP SAを用いて前記相手通信装置から受信する受信手段、
・前記IPsec SAの削除ペイロードの受信条件を、前記ISAKMP SAが満たすか否かを判断する判断手段、
・前記判断手段が前記受信条件を満たしていると判断した場合、前記IPsec SAの識別子を前記管理手段から削除する削除手段。
例えば、IPsec SAの削除ペイロードを受信する受信条件として、「そのIPsec SAを確立している相手端器との間で確立しているいずれかのISAKMP SAによる削除ペイロードの受信」が挙げられる。この受信条件を用いれば、相手通信装置の削除ペイロードの送信条件が「IPsec SAを確立するために用いたISAKMP SAによる削除ペイロードの送信」であっても、「確立済み状態の最新のISAKMP SAによる削除ペイロードの送信」であっても、少なくとも一つのISAKMP SAを用いてIPsec SAの削除ペイロードを受信することができる。
なお、相手通信装置から削除ペイロードを受信するISAKMP SAが存在しない場合は、新たなISAKMP SAを再確立してもよい。そのISAKMP SAを用いてIPsec SAの削除ペイロードを受信できるようになるからである。
発明12は、前記発明11において、前記管理手段に記憶された相手通信装置の特性を識別する所定の情報と、IPsec SAの削除ペイロードの受信条件と、を対応付けて記憶する条件記憶手段をさらに有する通信装置を提供する。この装置において、前記管理手段は、前記相手通信装置の特性を識別する所定の情報を、前記相手通信装置の識別子と対応付けてさらに記憶する。また、前記判断手段は、前記IPsec SAを確立している相手通信装置に対応する所定の情報に対応付けられた受信条件を前記条件記憶手段から読み出し、前記削除ペイロードの受信に用いられたISAKMP SAが、読み出した受信条件を満足するか否かを判断する。
IPsec SAに応じた受信条件を記憶することは、すなわち相手通信装置に応じた受信条件を記憶することである。相手通信装置に応じ、IPsec SAの削除ペイロードの受信に用いるISAKMP SAを選択することにより、削除ペイロードに基づくIPsec SAの削除を安全に行うことができる。
発明13は、前記発明11において、前記相手通信装置の特性を識別する所定の情報は、前記相手通信装置の製造者の識別子である通信装置を提供する。この装置において、前記条件記憶手段は、前記製造者の識別子と製造者毎の受信条件とを対応付けて記憶している。また前記判断手段は、前記IPsec SAに対応する製造者の識別子に対応付けられた受信条件を前記条件記憶手段から読み出し、前記削除ペイロードの受信に用いられたISAKMP SAが読み出した受信条件を満足するか否かを判断する。
相手通信装置に応じて受信条件を変える具体的な方法の1つは、相手通信装置の製造者に応じた受信条件を、通信装置が予め記憶しておくことである。IPsec SAの確立時に相手通信装置の製造者の識別子を取得しておけば、製造者により異なる実装形態に合わせてIPsec SAの削除ペイロードを受信することができる。これにより、不正な削除ペイロードに基づくIPsec SAの削除を防止し、IPsec SAの削除を安全かつ確実に行うことができる。
発明14は、前記発明11において、前記管理手段は、ISAKMP SAと、そのISAKMP SAにより確立されたIPsec SAとの対応付けをさらに記憶している通信装置を提供する。前記判断手段は、前記削除ペイロードによる削除対象のIPsec SA以外の他のIPsec SAであって、削除対象のIPsec SAの確立に用いられたISAKMP SAにより確立されたIPsec SAがあるか否かを判断する通信装置を提供する。この装置において、前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがないと前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除する。
あるIPsec SAが削除された後も、そのIPsec SAの確立に用いられたISAKMP SAを削除しない方がいい場合がある。それは、そのISAKMP SAで別のIPsec SAが確立されている場合である。その場合、ISAKMP SAを削除してしまうと、通信装置の実装形態によっては別のIPsec SAの削除ペイロード受信に支障が出るおそれがある。なかでも、IPsec SAの確立に用いたISAKMP SAにより送信された削除ペイロードを受け付ける実装形態の通信装置では、削除ペイロードを受信できなくなってしまう。そこで、別のIPsec SAが確立されている場合には、そのISAKMP SAを削除しないことが好ましい。
また、ISAKMP SAの削除ペイロードを受信した場合も同様である。すなわち、そのISAKMP SAで確立されているIPsec SAがある限り、そのISAKMP SAを削除しないことが好ましい。
さらに、ISAKMP SAの有効期限満了時も同様である。つまり、ISAKMP SAの有効期限が満了しても、そのISAKMP SAを用いて確立したIPsec SAが存在する場合、その削除ペイロードを受信するためにそのISAKMP SAが必要になる可能性がある。そこで、有効期限が満了しても、そのISAKMP SAを残しておく。ただし、「新規IPsec SA確立不可」の状態とし、有効期限を過ぎたISAKMP SAによるさらなる新たなIPsec SAの確立を防止する。そのISAKMP SAを用いて既に確立しているIPsec SAの削除ができれば十分だからである。
発明15は、前記発明14において、前記管理手段は、前記IPsec SAの有効期限を前記IPsec SAの識別子と対応付けてさらに記憶する通信装置を提供する。この装置において、前記判断手段は、前記管理手段に識別子が記憶されているIPsec SAについて、有効期限が過ぎたものがあるか否かをさらに監視し、有効期限が過ぎたIPsec SAがある場合はそのIPsec SAの確立に用いられたISAKMP SAにより確立された他のIPsec SAがあるか否かを判断する。また前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがないと前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除する。
IPsec SAの有効期限が過ぎたときに、そのIPsec SAの確立に用いたISAKMP SAを削除する場合がある。ただし、そのISAKMP SAにより確立された別のIPsec SAが存在しない場合である。そのISAKMP SAにより確立された別のIPsec SAの削除ペイロードを受信するために、そのISAKMP SAが必要な場合に備えることができ、通信装置相互でのIPsec SAの矛盾をより防止しやすくなる。なかでも、通信相手が、IPsec SAの確立に用いたISAKMP SAでIPsec SAの削除ペイロードを送信してくる実装形態を有している場合に、双方のIPsec SAが不一致を起こすことを防止しやすくなる。
発明16は、前記発明14または15において、前記管理手段は、前記ISAKMP SAの識別子に対応付けて前記ISAKMP SAの有効期限をさらに記憶する通信装置を提供する。この装置において、前記判断手段は、前記ISAKMP SAにより確立された他のIPsec SAがなく、かつ前記ISAKMP SAの有効期限が過ぎているか否かを判断する。また前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがなく、かつ前記ISAKMP SAの有効期限が過ぎていると前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除する。
IPsec SAの寿命が尽きたときに、そのIPsec SAの確立に用いたISAKMP SAを削除する場合がある。ただし、そのISAKMP SAにより確立された別のIPsec SAが存在せず、かつそのISAKMP SAの有効期限が過ぎた場合である。従って、IPsec SAの有効期限の方がISAKMP SAの有効期限より長くても、そのIPsec SAの削除ペイロードを、そのIPsec SAの確立に用いたISAKMP SAを用いて確実に受信することができる。
発明17は、前記発明14において、前記判断手段は、前記削除対象のISAKMP SAとは別のISAKMP SAが前記相手通信装置との間に確立されているか否かを判断する通信装置を提供する。この装置は、前記判断手段の判断結果に応じ、新たなISAKMP SAを確立する再確立手段をさらに備えている。
IPsec SAの削除に応じてISAKMP SAを削除する場合、相手通信装置との間で確立されたISAKMP SAが皆無になる場合がある。この場合であっても、その相手との間に別のIPsec SAが存在している場合が考えられる。そこで、その別のIPsec SAの削除ペイロードを送信するのに用いられる可能性のあるISAKMP SAを新たに確立しておくことが好ましい。また、新たなISAKMP SAを確立しておけば、それを用いて新たなIPsec SAを必要に応じて確立することが容易という利点がある。
ISAKMP SAの削除ペイロードの送受信に基づいてISAKMP SAを削除する場合も同様である。
発明18は、前記発明17において、前記再確立手段は、前記受信手段による前記IPsec SAの削除ペイロードの受信に応じ、前記ISAKMP SAとは別のISAKMP SAが前記相手通信装置との間に確立されているか否かを判断し、判断結果に応じ、新たなISAKMP SAを確立する通信装置を提供する。
IPsec SAを送信するのに必要となるISAKMP SAを必要に応じて生成することができる。
発明19は、IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う通信装置が実行する通信方法を提供する。この方法は以下のステップを含む。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理ステップ、
・前記IPsec SAの削除ペイロードを、任意のISAKMP SAを用いて前記相手通信装置から受信する受信ステップ、
・前記IPsec SAの削除ペイロードの受信条件を、前記ISAKMP SAが満たすか否かを判断する判断ステップ、
・前記判断ステップで前記受信条件を満たしていると判断した場合、前記IPsec SAの識別子を前記管理ステップでの記憶対象から削除する削除ステップ。
この発明は、前記発明11と同様の作用効果を奏する。
発明20は、IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行うコンピュータが実行する通信プログラムを提供する。このプログラムは、前記コンピュータを以下の手段として機能させる。
・前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理手段、
・前記IPsec SAの削除ペイロードを、任意のISAKMP SAを用いて前記相手通信装置から受信する受信手段、
・前記IPsec SAの削除ペイロードの受信条件を、前記ISAKMP SAが満たすか否かを判断する判断手段、
・前記判断手段が前記受信条件を満たしていると判断した場合、前記IPsec SAの識別子を前記管理手段から削除する削除手段。
このプログラムは、発明11と同様の作用効果を奏する。
発明21は、 IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う第1通信装置及び第2通信装置を含む通信システムを提供する。このシステムにおいて、前記第1通信装置は、以下の手段を有している。
・前記暗号通信の相手である前記第2通信装置の識別子と、前記第2通信装置との間で確立しているIPsec SAの識別子と、前記第2通信装置との間で確立しているISAKMP SAの識別子と、を記憶する第1管理手段、
・前記第1管理手段で識別子が記憶されているISAKMP SAの中から、前記第2通信装置との間で確立しているISAKMP SAであって、かつ前記第1管理手段が記憶するIPsec SAの削除ペイロードの送信条件を満たす1または複数のISAKMP SAを特定する第1判断手段、
・前記第1判断手段が特定した1または複数のISAKMP SAを用い、前記IPsec SAの削除ペイロードを送信する送信手段、
・前記削除ペイロードによる削除対象のIPsec SAの識別子を、前記第1管理手段から削除する第1削除手段。
前記第2通信装置は、以下の手段を有している。
・前記暗号通信の相手である前記第1通信装置の識別子と、前記第1通信装置との間で確立しているIPsec SAの識別子と、前記第1通信装置との間で確立しているISAKMP SAの識別子と、を記憶する第2管理手段、
・前記IPsec SAの削除ペイロードを、任意のISAKMP SAを用いて前記第1通信装置から受信する受信手段、
・前記IPsec SAの削除ペイロードの受信条件を、前記ISAKMP SAが満たすか否かを判断する第2判断手段、
・前記第2判断手段が前記受信条件を満たしていると判断した場合、前記IPsec SAの識別子を前記第2管理手段から削除する第2削除手段。
このシステムは、発明1の通信装置と発明11の通信装置とを含み、発明1及び発明11の作用効果を奏する。
本発明を利用すれば、通信装置間でのIPsec SAの不一致を防止することができる。また、IPsec SAの削除後に、速やかに新たなIPsec SAを確立することができる。
<第1実施形態>
以下、本発明の第1実施形態について、図面を参照しながら説明する。図1は、本実施形態に係る通信装置を用いたネットワーク構成例を示す説明図である。図1のネットワーク構成では、通信端末(通信装置)1a,1b及び通信端末(通信装置)1c,1dは、それぞれ中継器(通信装置)2a,2bに接続されている。中継器2a,2bは、通信ネットワーク3により互いに接続されている。以下、通信端末1a〜1d及び中継装置2a,2bを通信装置という。なお、本発明が適用される通信装置を用いたネットワーク構成は、図1に示す構成に限定されないことはもちろんである。
(1)通信装置の構成
(1−1)通信装置の全体構成及び動作の概略
図2は、通信装置10の機能構成を示すブロック図である。通信装置10は、IKE処理部20と、アプリケーション部30と、IP処理部40と、通信部50と、を備えている。IP処理部40は、IPsec処理部60を備えている。なお、アプリケーション部30は、図2において一つのみ図示しているが、複数であってもよい。このような機能を有する通信装置10は、CPU、ROM、RAM、ハードディスクなどを有するコンピュータにより実現される。CPUは、IKE処理部20、アプリケーション部30、IP処理部40及び通信部50として機能する。
IKE処理部20及びIP処理部40には、相手通信装置との間で暗号通信を適用する条件が設定されている。この条件設定は、例えば、通信装置の初期設定としてなされてもいいし、アプリケーション部30からの設定としてなされてもよい。IKE処理部20は、アプリケーション部30またはIP処理部40からの要求に従い、自動鍵交換処理を行なう。アプリケーション部30は、アプリケーションのアルゴリズムに応じた所定の通信処理を相手通信装置との間で行ない、関連する送受信処理をIP処理部40に要求する。IP処理部40は、IPパケットの送受信に係る処理を行なう。通信部50は、通信媒体に特有の送受信処理を行なう。
上記構成を有する通信装置10は、次のように動作する。アプリケーション部30は、相手装置との通信を開始すると、相手装置に対してIPパケットの送信を試みる。IP処理部40では、IPsec処理部60を必要に応じて使用し、該当IPパケットが暗号通信の対象であるか否かを判定する。暗号通信の対象である場合は、IP処理部40はIPsec SA情報の存在を確認し、存在していれば該当IPパケットを暗号化して通信部50に送信要求を行なう。一方、IPsec SA情報が存在していない場合、IP処理部40は、IKE処理部20に対し、暗号化しようとするIPパケットの情報と共に、IPsec SAの確立を要求する。IKE処理部20は、受け取ったIPsec SA確立要求に従い、予め設定された条件に適合した相手装置との間で自動鍵交換処理(IKE折衝処理)を開始する。自動鍵交換処理におけるデータは、IPパケット上のUDP(User Datagram Protocol)を使用して送受信される。このため、自動鍵交換処理におけるデータの送受信には、IP処理部40が用いられる。
なお、アプリケーション部30は、その通信に先立ち、予めIKE処理部20に対し、該当する対向機器との間にISAKMP SA、およびIPsec SAの確立を指示することもできる。
(1−2)IKE処理部の構成
図3は、IKE処理部20の機能構成を示す説明図である。IKE処理部20は、要求受付部21と、SA管理部22と、SA確立部23と、ISAKMPメッセージ処理部24と、を含む。
〔要求受付部〕
要求受付部21は、アプリケーション部30やIP処理部40からのIPsec SA確立要求を受け付け、IKE折衝処理の開始をSA管理部22に指示する。また、要求受付部21は、相手通信装置との間で暗号通信を適用する条件の設定をSA管理部22に指示する。IKE折衝処理には、ISAKMP SAの確立・切断や、IPsec SAの確立・切断が含まれる。
〔SA管理部〕
SA管理部22は、ISAKMP SA及びIPsec SA(以下、まとめてSAということがある)の確立・切断・更新を管理する。SAの管理のために、SA管理部22は管理テーブル22aを保持している。管理テーブル22aは、各ISAKMP SA及びIPsec SAに関する情報(以下、SA情報という)を記憶している。SA情報は、SAの確立・切断・更新に従い、登録・削除・更新される。また、SA管理部22は、ISAKMP SAが全くなくなった場合または全くなくなるに先立ち、新たなISAKMP SAを再確立することができる。
(a)管理テーブル
図4は、SA管理部22が保持する管理テーブル22aに蓄積される情報の概念説明図である。管理テーブル22aは、「ISAKMP SA ID」、「IPsec SA ID」及び「相手通信装置」の識別子を少なくとも1レコードに含む。IPsec SA及びISAKMP SAが、どの相手通信装置との間で確立されているかを管理するためである。また、SAと相手通信装置とを対応付けておくと、相手通信装置に応じてSAの切断方法を切り替えることが可能となる。相手通信装置の識別子としては、この例ではIPアドレスを用いているが、その他の通信アドレスやMACアドレス等の装置固有情報を用いることもできる。なお、ISAKMP SA ID及びIPsec SA IDは、異なる相手通信装置に対してであれば、同じ値を取ることもあり得る。
この例では、「ISAKMP SAの有効期限」、「ISAKMP SAの状態」、「IPsec SAの有効期限」及び相手通信装置の製造者を示す「VenderID」が、1レコード中にさらに含まれる。ISAKMP SAの有効期限を管理することで、ISAKMP SAの寿命が尽きた時点を契機として、そのISAKMP SAの状態を変更したり、そのISAKMP SAの削除ペイロードを送信することが可能となる。ISAKMP SAの状態を管理することで、寿命が尽きたISAKMP SAを用いて無制限に新規のIPsec SAを確立することを防止できるようになる。状態が「確立済み」であれば、そのISAKMP SAは寿命が尽きておらず、かつIPsec SAを確立できることを示す。状態が「新規IPsec SA確立不可」であれば、そのISAKMP SAは寿命が尽きていることを示す。
IPsec SAの有効期限を管理することで、IPsec SAの寿命が尽きた時点を契機として、そのIPsec SAを確立したISAKMP SAを切断したり、そのIPsec SAの削除ペイロードを送信することが可能となる。VenderIDを管理することで、相手通信装置の製造者を特定し、その製造者の製品に採用されている実装状態に合わせてSAの切断方法を切り替えることが可能となる。なお、VenderIDは、IPsec SAの確立時に取得可能である。
(b)SAの確立・更新
SAの確立は次のように行う。SA管理部22は、相手通信装置との間にISAKMP SAが確立されていなければ、相手通信装置との間にISAKMP SAの確立を行なうようSA確立部23に指示する。また、SA管理部22は、ISAKMP SAの確立後、そのISAKMP SAを使用してIPsec SAの確立を行なうようSA確立部23に指示する。さらに、SA管理部22は、ISAKMP SAまたはIPsec SAの確立に伴い、管理テーブル22aに新規SA情報を登録する。また、SA管理部は、SAの更新をSAの確立と同様に行い、管理テーブル22aのSA情報を更新する。
(c)SAの切断・消滅
(c−1)削除ペイロードの送信による切断
SAの切断は、SAの削除ペイロードの送信または受信による切断と、SAの寿命による切断とに分けることができる。削除ペイロードの送信による切断は次のように行う。SA管理部22は、ISAKMPメッセージ処理部24に対してISAKMP SA及びIPsec SAの削除ペイロードの送信を指示し、IPsec SAの削除ペイロードに従い管理テーブル22aのIPsec SA情報を削除する。ここで、IPsec SAの削除ペイロードを送信するISAKMP SAは、送信条件に合致するものが選択される。送信条件は、全ての相手通信装置に共通であっても良いし、相手通信装置毎に切り替えてもよい。また、相手通信装置をグルーピングし、グループ毎に送信条件を切り替えてもよい。送信条件については、詳細を後述する。また、ISAKMP SAの削除ペイロード送信によるISAKMP SA情報の更新については、詳細を後述する。
(c−2)削除ペイロードの受信による切断
削除ペイロードの受信によるSAの切断は次のように行う。SA管理部22は、ISAKMP SA及びIPsec SAの削除ペイロード受信処理要求をISAKMPメッセージ処理部24から受け付け、削除ペイロードに従い管理テーブル22aのSA情報を更新する。ただし、SA管理部22は、IPsec SAの削除ペイロードを受信すると、その受信に用いられたISAKMP SAが受信条件を満たしているか否かを判断し、満たしている場合にIPsec SA情報を削除する。受信条件は、全ての相手通信装置に共通であっても良いし、相手通信装置毎に切り替えてもよい。また、相手通信装置をグルーピングし、グループ毎に受信条件を切り替えてもよい。受信条件については、詳細を後述する。ISAKMP SAの削除ペイロード受信時のISAKMP SA情報の更新については、詳細を後述する。
(c−3)SAの寿命による切断
SAの寿命によるSAの切断は、次のように行う。SA管理部22は、寿命が尽きたIPsec SAのSA情報を管理テーブル22aから削除する。また、IPsec SAの寿命またはISAKMP SAの寿命の消尽に伴い、SA管理部22はISAKMP SA情報を更新する。この更新については詳細を後述する。SAの寿命の消尽に伴い、SA管理部22は、ISAKMPメッセージ処理部24に対し、寿命が尽きたSAの削除ペイロードの送信を要求してもよい。
(d)ISAKMP SA情報の更新
管理テーブル22aのISAKMP SA情報は、(i)ISAKMP SAの削除ペイロード送受信時、(ii)ISAKMP SAの寿命満了時、(iii)IPsec SAの削除または寿命満了時に更新される。更新タイミング別にISAKMP SA情報の交信内容を以下に詳述する。更新内容は、SA情報そのものの削除と、ISAKMP SAの状態の更新とに大別される。以下では、SAを切断するためのSA情報の削除を単にSAの削除という。
(i)ISAKMP SAの削除ペイロード送信時または受信時
そのISAKMP SAを用いて確立したIPsec SAが存在する場合、そのISAKMP SAの状態を「新規IPsec SA確立不可」にする。逆にIPsec SAが存在しない場合、そのISAKMP SA情報を削除する。
削除対象のISAKMP SAを用いて確立したIPsec SAが存在する場合、その削除ペイロードを送信するためにそのISAKMP SAが必要になる可能性がある。なかでも、IPsec SAの確立に用いたISAKMP SAを用いて削除ペイロードを送信または受信する実装形態の通信装置では、IPsec SAの削除ペイロードの送信や受信ができなくなってしまう。これは、通信装置相互でのSA情報の不一致の原因となるおそれがある。そこで、削除対象のISAKMP SAを残しておく。ただし、「新規IPsec SA確立不可」の状態とし、そのISAKMP SAによるさらなる新たなIPsec SAの確立を防止する。そのISAKMP SAを用いて既に確立しているIPsec SAの削除ができれば十分だからである。
(ii)ISAKMP SAの寿命満了時
そのISAKMP SAを用いて確立したIPsec SAが存在する場合、そのISAKMP SAの状態を「新規IPsec SA確立不可」にする。逆にIPsec SAが存在しない場合、そのISAKMP SA情報を削除する。
ISAKMP SAの有効期限が満了しても、そのISAKMP SAを用いて確立したIPsec SAが存在する場合、その削除ペイロードを送信するためにそのISAKMP SAが必要になる可能性がある。なかでも、IPsec SAの確立に用いたISAKMP SAを用いて削除ペイロードを送信または受信する実装形態の通信装置では、削除ペイロードの送信や受信ができなくなってしまう。これは、通信装置相互でのSA情報の不一致の原因となるおそれがある。そこで、有効期限が満了しても、そのISAKMP SAを残しておく。ただし、「新規IPsec SA確立不可」の状態とし、有効期限を過ぎたISAKMP SAによるさらなる新たなIPsec SAの確立を防止する。そのISAKMP SAを用いて既に確立しているIPsec SAの削除ができれば十分だからである。
(iii)IPsec SAの削除時またはIPsec SAの寿命満了時
そのIPsec SAの確立に用いたISAKMP SAについて、そのISAKMP SAを用いて確立した別のIPsec SAが存在する場合、そのISAKMP SAの状態を「新規IPsec SA確立不可」にする。別のIPsec SAが存在しない場合、そのISAKMP SA情報を削除する。
あるIPsec SAが削除された後または寿命満了した後も、そのIPsec SAの確立に用いられたISAKMP SAを削除しない方がいい場合がある。それは、そのISAKMP SAで別のIPsec SAが確立されている場合である。その場合、ISAKMP SAを削除してしまうと、通信装置の実装形態によっては別のIPsec SAの削除ペイロード送信に支障が出るおそれがある。なかでも、IPsec SAの確立に用いたISAKMP SAを用いて削除ペイロードを送信または受信する実装形態の通信装置では、削除ペイロードの送信や受信ができなくなってしまう。これは、通信装置相互でのSA情報の不一致の原因となるおそれがある。そこで、別のIPsec SAが確立されている場合、削除対象のIPsec SAの確立に用いたISAKMP SAを削除しないことが好ましい。IPsec SAの有効期限が過ぎた場合も同様である。
(e)IPsec SAの削除ペイロードの送信条件及び受信条件
前述したように、IPsec SAの削除ペイロードは、所定の送信条件を満たすISAKMP SAを用いて送信される。逆に、IPsec SAの削除ペイロードが所定の受信条件を満たすISAKMP SAを用いて受信された場合にのみ、対象のIPsec SA情報が削除される。送信条件・受信条件は、SA管理部22が記憶している。
例えば、IPsec SAの削除ペイロードを送信する送信条件・受信条件として、以下の条件が挙げられる。
(送信条件1):削除対象のIPsec SAを確立している相手通信装置との間で確立している全てのISAKMP SAで送信する。
(送信条件2):IPsec SAを確立するために用いたISAKMP SAで送信する。
(送信条件3):確立済み状態のISAKMP SAのうち最新のもので送信する。
(受信条件1):削除対象のIPsec SAを確立している相手通信装置との間で確立している全てのISAKMP SAのいずれかで受信する。
(受信条件2):IPsec SAを確立するために用いたISAKMP SAで受信する。
(受信条件3):確立済み状態のISAKMP SAのうち最新のもので受信する。
例えば、上記送信条件1を用いれば、相手通信装置の削除ペイロードの受信条件が、上記受信条件2,3のいずれであっても、少なくとも一つのISAKMP SAを用いてIPsec SAの削除ペイロードを送信し、双方でIPsec SA情報を削除することができる。逆に、上記受信条件1を用いれば、相手通信装置の削除ペイロードの送信条件が上記送信条件2,3のいずれであっても、少なくとも1つのIKSAKMPSAを用いてIPsec SAの削除ペイロードを受信し、双方でIPsec SA情報を削除することができる。ここで、相手通信装置との間で確立しているISAKMP SAとは、相手通信装置との間で存在しているだけでなく、寿命が尽きていないISAKMP SAをいう。寿命が尽きてないとは、すなわち、新規IPsec SAを確立可能である状態である。
また、別の例としては、相手通信装置に応じて送信条件・受信条件を予めSA管理部22に記憶させておくことがあげられる。送信側通信装置は、IPsec SAの削除ペイロードの送信に用いるISAKMP SAを選択的に用いることにより、削除ペイロードの送信を効率的に行うことができる。また、受信側通信装置は、不正なIPsec SAの削除ペイロードに基づいてIPsec SA情報を削除してしまう危険性が減り、暗号化通信の安全性が高まる。
さらに別の例としては、相手通信装置をグループ化し、グループ毎に送信条件・受信条件を切り替えることもできる。図5は、VenderID毎の受信条件を記憶している条件テーブル22bである。条件テーブル22bは、管理テーブル22aと同様にSA管理部22が記憶・管理している。SA管理部22がIPsec SAの削除ペイロードを送信する場合、それに先立ち管理テーブル22aを参照して削除対象のIPsec SAを確立している相手通信装置のVenderIDを読み出す。さらに、SA管理部22は、読み出したVenderIDの受信条件を条件テーブル22bから読み出す。読み出した受信条件を満足するISAKMP SAを管理テーブル22aに基づいて特定後、SA管理部22はそのISAKMP SAを用いてIPsec SAの削除ペイロードを送信する。このように送信された削除ペイロードは、受信側通信装置の受信条件を確実に満たすので、双方においてIPsec SAの削除ペイロードの送信・受信を行うことができる。これにより、無駄な削除ペイロードの送信を省き、効率的にかつ安全に削除ペイロードの送受信を行うことができる。
(f)ISAKMP SAの再確立
SA管理部22は、ISAKMP SAを削除するときには、新たなISAKMP SAを確立することもできる。ISAKMP SAを削除する場合、相手通信装置との間で確立されたISAKMP SAが皆無になる場合がある。この場合であっても、その相手との間に別のIPsec SAが存在している場合が考えられる。そこで、その別のIPsec SAの削除ペイロードを送信するのに用いられる可能性のあるISAKMP SAを新たに確立しておくことが好ましい。また、新たなISAKMP SAを確立しておけば、それを用いて新たなIPsec SAを必要に応じて確立することが容易という利点がある。
〔SA確立部〕
SA確立部23は、SA管理部22からの要求に従ってSA確立のためのIKE折衝処理を行ない、ISAKMPメッセージ処理部24に対して対応するISAKMPメッセージの構築処理を要求する。また、SA管理部22は、相手通信装置からIKE折衝処理要求を受け取り、IKE折衝処理を行い、SA管理部22に対してSA情報の更新要求を行なう。SA確立及びIKE折衝処理そのものについては、RFCに規定されており、本発明はその範囲を逸脱せず、説明は省略する。
〔ISAKMPメッセージ処理部〕
ISAKMPメッセージ処理部24は、SA確立部23からの要求及びSA管理部22からの要求に対して該当するISAKMPメッセージの構築を行ない、IP処理部40に構築したメッセージを送信依頼する。また、ISAKMPメッセージ処理部24は、IP処理部40から受信したISAKMPメッセージをRFCの規定に従って解析する。受信したISAKMPメッセージが相手通信装置からのIKE折衝処理要求である場合は、SA確立部23にその処理を指示する。ISAKMPメッセージが削除通知であった場合、ISAKMPメッセージ処理部24はその削除通知に含まれる削除ペイロードを抽出し、SA管理部22にその処理を指示する。なお、ISAKMPメッセージ処理部24は、ISAKMPメッセージの送受信の際に、RFC2407〜RFC2409で規定されている所定の暗号化・復号化、認証情報の付加・認証情報の認証などを行なう。
(2)通信装置が行う処理
以下に、本実施形態に係る通信装置10が行う処理の流れについて、図面を参照しながら説明する。通信装置10は、(2−1)IPsec SA削除ペイロード送信処理、(2−2)ISAKMP SA再確立処理、(2−3)削除ペイロード受信処理、(2−4)IPsec SA寿命切れ処理、(2−5)ISAKMP SA寿命切れ処理を行う。
(2−1)IPsec SA削除ペイロード送信処理
図6は、SA管理部22が行うIPsec SA削除ペイロード送信処理の流れの一例を示すフローチャートである。この処理は、アプリケーション30または操作者からIPsec SAの削除要求があった場合に実行される。この処理により、受信側通信装置の受信条件に関わらず、IPsec SAの削除ペイロードを受信側通信装置で受け付けてもらえる確率を高めることができる。なお、本実施形態では、他の処理でも本処理を呼ぶため、本処理をサブルーチンの形式で図示している。
ステップS11:SA管理部22は、削除対象のIPsec SAを確立している相手通信装置との間で送信条件を満たすISAKMP SAが存在するか否かを判断する。通信装置双方でのIPsec SA情報の不一致を防ぐために、相手通信装置の実装形態が不明な場合は、送信条件は可能な限り広く設定することが好ましい。例えば、前述したように、相手通信装置との間で確立している何れかのISAKMP SAを用いて削除ペイロードを送信することが好ましい。相手通信装置の実装形態が判明している場合は、SA管理部22が、相手通信装置の受信条件を満たすISAKMP SAの存在の有無を、管理テーブル22a及び条件テーブル22bを参照して判断するのもよい。
ステップS12:送信条件を満たすISAKMP SAがある場合、SA管理部22は、送信条件を満たす全てのISAKMP SAを用いて削除対象のIPsec SAの削除ペイロードを送信する。本実施形態では、相手通信装置の受信条件を満たす全てのISAKMP SAを用い、削除ペイロードが送信される。使用されるISAKMP SAは、「新規IPsec SA確立不可」状態のものであってもよい。
ステップS13:SA管理部22は、削除対象のIPsec SAを削除する。具体的には、SA管理部22が、対象のIPsec SAのID及び寿命を管理テーブル22aから削除する。これにより、IPsec SAが切断される。
ステップS14:SA管理部22は、後述するISAKMP SA再確立サブルーチンを実行し、相手通信装置との間で確立されたISAKMP SAを確保する。これにより、そのISAKMP SAを用いて新たなIPsec SAを容易に確立することができる。なお、このステップは、ステップS11に先だって行ってもよい。
また、削除対象のIPsec SAを削除した後、削除したIPsec SAを確立するのに用いたISAKMP SAで確立された他のIPsec SAの有無を判断してもよい。他のIPsec SAがなければ、そのISAKMP SAを削除してもよい。また、そのISAKMP SAが「新規IPsec SA確立不可」状態であれば削除するようにしてもよい。
ステップS15〜S16:送信条件を満たすISAKMP SAがない場合、SA管理部22は、後述するISAKMP SA再確立サブルーチンを実行し、相手通信装置との間でISAKMP SAを確立する。その後、新たに確立したISAKMP SAが相手通信装置との間で送信条件を満たしているか否かを判断する。満たしていれば、前記ステップS12〜S14の処理を実行し、IPsec SAの削除ペイロードを新たに確立したISAKMP SAを用いて送信する。新たに確立したISAKMP SAが送信条件を満たしていなければ、本サブルーチンの処理を終了する。
以上の処理により、IPsec SAの削除ペイロードを送信する場合に、そのIPsec SAを確立している相手通信装置との間で確立している全てのISAKMP SAを用いて削除ペイロードを送信する。削除ペイロードを送信するISAKMP SAが存在しない場合は、ISAKMP SAを再確立して削除ペイロードを送信する。これにより、IPsec SAを確立するために用いたISAKMP SAを用いて削除ペイロードを送信する必要がある相手にも、「確立済み状態」のISAKMP SAを用いて削除ペイロードを送信する必要がある相手にも、受け付けられる削除ペイロードを送信することができる。従って、双方の通信装置におけるIPsec SAの不一致状態を防止し、暗号化通信の確実性を高めることができる。
(2−2)ISAKMP SA再確立処理
図7は、ISAKMP SA再確立サブルーチンの処理の流れの一例を示すフローチャートである。この処理により、暗号化通信を行う通信装置間で確立されたISAKMP SAを維持することができる。本実施形態では、他の処理の中で本処理を呼ぶため、本処理をサブルーチンの形式で図示している。
ステップS21:SA管理部22は、相手通信装置との間に確立済み状態のISAKMP SAが存在するか否かを判断し、存在すれば処理を終了する。
ステップS22:確立済み状態のISAKMP SAが存在しない場合、SA管理部22は、相手通信装置との間に新たにISAKMP SAを確立する。具体的には、SA管理部22が新規ISAKMP SAを確立するよう、SA確立部23に要求する。
この処理を行うことで、常に通信装置間に確立されたISAKMP SAを存在させ、新規IPsec SAの確立に備えることができる。また、確立されたISAKMP SAによるIPsec SAの削除ペイロードの送信や受信を必要とする実装形態を有する通信装置において、そのような削除ペイロードの送信や受信を可能とすることができる。
(2−3)削除ペイロード受信処理
図8は、SA管理部22が行う削除ペイロード受信処理の流れの一例を示すフローチャートである。削除ペイロードは、ISAKMPの通知メッセージに分類される削除通知に含まれる。この削除通知がISAKMPメッセージ処理部24により解析され、各削除ペイロードがSA管理部22に渡されると、以下の処理が開始される。
ステップS31:SA管理部22は、ISAKMPメッセージ処理部24から渡された削除ペイロードが対象としているSAが、ISAKMP SAかIPsec SAかを判定する。IPsec SAであればステップS32に移行し、ISAKMP SAであれば後述するステップS38に移行する。
ステップS32:SA管理部22は、削除対象のIPsec SAを確立している相手通信装置との間で受信条件を満たすISAKMP SAを用いて削除ペイロードを受信したか否かを判断する。“No”と判断すると本処理を終了する。受信条件を満たさないISAKMP SAで受信した削除ペイロードを無視することで、IPsec SAの安全性を高めることができる。逆に受信条件を満たすISAKMP SAで削除ペイロードを受信した場合、ステップS33に移行する。通信装置双方でのIPsec SA情報の不一致を防ぐために、受信条件は可能な限り広く設定することが好ましい。例えば、前述したように、相手通信装置との間で確立している何れかのISAKMP SAを用いた削除ペイロードの受信であれば、削除処理を実行することが好ましい。
ステップS33:SA管理部22は、削除対象のIPsec SAのSA情報を、管理テーブル22aから削除する。例えば、管理テーブル22aから該当するIPsec SAのID及び寿命を削除する。これにより、IPsec SAが切断される。
ステップS34:SA管理部22は、削除したIPsec SAを確立するために用いたISAKMP SAで確立した別のIPsec SAが存在するか否かを、管理テーブル22aを参照して判断する。別のIPsec SAが存在する場合、そのISAKMP SAを削除せずに本処理を終了する。通信装置の実装形態によっては、そのIPsec SAの削除ペイロードに前記ISAKMP SAが必要な場合があるからである。別のIPsec SAが存在しない場合、ステップS35に移行する。
ステップS35〜S36:SA管理部22は、前記ISAKMP SAが「新規IPsec SA確立不可」状態か否かを判断する(S35)。そのISAKMP SAが新規IPsec SA確立不可状態であれば、SA管理部22は、そのISAKMP SA情報を管理テーブル22aから削除する(S36)。そのISAKMP SAは、そのISAKMP SAを用いて確立したIPsec SAの削除ペイロード送信にのみ残されているにも関わらず、そのようなIPsec SAは存在しなくなっているため、これ以上そのISAKMP SAを存続させる意味が薄いためである。逆に、そのISAKMP SAが確立されていれば、そのSA情報はそのままにしておく。そのISAKMP SAを用いてIPsec SAを新規に作成する場合に備えるためである。
ステップS37:SA管理部22は、前記ISAKMP SA再確立サブルーチンを実行する。これにより、前記ステップS35で相手通信装置との間に存在するISAKMP SAが皆無になったとしても、再びISAKMP SAが確立される。従って、相手通信装置との間で新たなIPsec SAの確立が必要になった場合に対処することができる。
ステップS38:受信した削除ペイロードによる削除対象がISAKMP SAである場合、SA管理部22は、そのISAKMP SAで確立したIPsec SAが存在するか否かを、管理テーブル22aを参照して判断する。
ステップS39:削除対象のISAKMP SAで確立したIPsec SAが存在しない場合、SA管理部22は、削除対象のISAKMP SAのSA情報を、管理テーブル22aから削除する。例えば、ISAKMP SAのID、寿命及び状態を、管理テーブル22aから削除する。これより、ISAKMP SAが切断される。
ステップS40:SA管理部22は、前述のISAKMP再確立サブルーチンを実行する。前記ステップS39で相手通信装置との間に存在するISAKMP SAが皆無になったとしても、このサブルーチンにより、相手通信装置との間でISAKMP SAが確立される。従って、相手通信装置との間で新たなIPsec SAの確立が必要になった場合に対処することができる。
ステップS41:削除対象のISAKMP SAで確立したIPsec SAが存在する場合、SA管理部22は、そのISAKMP SAのSA情報を削除せず、その代わりに状態を「新規IPsec SA確立不可」に更新する。SA情報を削除しないのは、そのISAKMP SAで確立されたIPsec SAを削除するのに、そのISAKMP SAを必要とする実装形態の通信装置があるからである。つまり、「新規IPsec SA確立不可」状態にすることで、そのISAKMP SAによる新たなIPsec SAの確立を防ぎつつ、既に確立されているIPsec SAの削除だけは可能にすることができる。したがって、既に確立されているIPsec SAを有する通信装置同士でIPsec SAの不一致が起こりにくくなる。
ステップS42:SA管理部22は、前述のISAKMP SA再確立サブルーチンを実行する。ステップS41で削除対象のISAKMP SAの状態を「新規IPsec SA確立不可」としたので、相手通信装置との間に確立済み状態のISAKMP SAがなくなっている可能性がある。そこで、このサブルーチンを実行して相手通信装置との間で確立されたISAKMP SAを維持し、IPsec SAをいつでも確立可能な状態を保持する。
以上の処理により、受信条件を満たすISAKMP SAを用いたIPsec SAの削除ペイロードに応じ、IPsec SA情報が削除される。従って、受信条件の設定の仕方により、送信側及び受信側通信装置でのIPsec SAに不一致が発生することを抑制できる。また、ISAKMP SAの削除ペイロードを受信した場合であっても、常に相手通信装置との間に確立されたISAKMP SAを維持することで、IPsec SAの削除後の再確立を迅速に実行可能とすることができる。
(2−4)IPsec SA寿命切れ処理
図9は、SA管理部22が行うIPsec SA寿命切れ処理の一例を示すフローチャートである。この処理は、他の処理とは独立して並列にまたは他の処理の合間に実行される。この処理により、寿命が切れたIPsec SAは削除され、そのIPsec SAの確立に用いられたISAKMP SAのSA情報が更新される。
ステップS51:SA管理部22は、何れかのIPsec SAが寿命切れになっているかどうかを、通信装置10内の内部時計の時刻と管理テーブル22aのIPsec SAの有効期限とを比較して監視している。何れかのIPsec SAの寿命が切れると、ステップS52に移行する。
ステップS52:SA管理部22は、前記IPsec SA削除ペイロード送信サブルーチンを実行する。これにより、寿命が切れたIPsec SAのID及び寿命が、管理テーブル22aから削除される。すなわち、IPsec SAが切断される。
ステップS53〜S54:SA管理部22は、削除したIPsec SAを確立するのに用いられたISAKMP SAで確立された、別のIPsec SAが存在するか否かを判断する(S53)。存在する場合、そのISAKMP SAの状態を、「新規IPsecSA確立不可」状態に遷移させる(S54)。別のIPsec SAの削除ペイロードを送受信するのに、そのISAKMP SAが必要になる場合があるからである。別のIPsec SAが存在しない場合、ステップS55に移行する。
ステップS55:SA管理部22は、削除したIPsec SAを確立するのに用いられたISAKMP SAが「新規IPsec SA確立不可」状態か否かを、管理テーブル22aを参照して判断する。そのISAKMP SAが「新規IPsec SA確立不可」状態でない、つまり「確立済み」状態であれば、そのISAKMP SAをそのままにしておく。そのISAKMP SAを用いて新規なIPsec SAをすぐに確立できる状態にあるからである。そのISAKMP SAが「新規IPsec SA確立不可」状態であれば、ステップS56に移行する。
ステップS56:SA管理部22は、削除したIPsec SAの確立に用いられ、「新規IPsec SA確立不可」状態となっているISAKMP SAの削除ペイロードを、ISAKMPメッセージ処理部24、IP処理部40を介して相手通信装置に送信する。このISAKMP SAを用いて確立されたIPsec SAが存在しないので、そのようなIPsec SAの削除ペイロードのためにこのISAKMP SAを残しておく必要がないからである。
ステップS57:SA管理部22は、ステップS56で削除ペイロードの送信対象のISAKMP SAを削除する。具体的には、そのISAKMP SAのID、寿命及び状態を、管理テーブル22aから削除する。これにより、ISAKMP SAが切断される。その後、再びステップS51に戻り、別のIPsec SAについて前述の処理を行う。
なお、上記の処理ではIPsec SAの寿命が切れるとIPsec SAを切断しているが、さらに新たなIPsec SAを確立してもよい。
以上の処理により、寿命が切れたIPsec SAを切断するとともに、そのIPsec SAの切断に伴ってISAKMP SAが不要になった場合にはISAKMP SAを切断し、通信装置のリソースの有効利用を図ることができる。
(2−5)ISAKMP SA寿命切れ処理
図10は、SA管理部22が行うISAKMP SA寿命切れ処理の流れの一例を示すフローチャートである。この処理により、寿命が切れたISAKMP SAの情報が更新または削除される。
ステップS61:SA管理部22は、何れかのISAKMP SAが寿命切れになっているかどうかを、通信装置10内の内部時計の時刻と管理テーブル22aのISAKMP SAの有効期限とを比較して監視している。何れかのISAKMP SAの寿命が切れると、ステップS62に移行する。
ステップS62:SA管理部22は、寿命切れのISAKMP SAについて後述の処理を行うに先立ち、前述のISAKMP SA再確立サブルーチンを実行する。あとで寿命切れのISAKMP SAを削除しても、相手通信装置との間で確立されたISAKMP SAを維持するためである。
ステップS63〜S64:SA管理部22は、寿命切れのISAKMP SAで確立されたIPsec SAが相手通信装置との間に存在しているか否かを、管理テーブル22aを参照して判断する。そのようなIPsec SAが存在している場合、SA管理部22は、寿命が切れたISAKMP SAを削除せず、その代わりにその状態を「新規IPsec SA確立不可状態」に更新する。そのようなIPsec SAの削除ペイロード送受信を可能にしておくためである。前記ステップS62のISAKMP SA再確立サブルーチンを、この後で実行してもよい。
ステップS65:寿命切れのISAKMP SAで確立されたIPsec SAが相手通信装置との間に存在しない場合、SA管理部22は、寿命が切れたISAKMP SAの削除ペイロードを相手通信装置に送信する。寿命が切れた上に対応するIPsec SAが存在しない以上、そのようなISAKMP SAを残存させる意味はないからである。
ステップS66:SA管理部22は、寿命が切れたISAKMP SAの情報を、管理テーブル22aから削除する。具体的には、そのISAKOMPSAのID、寿命及び状態を、管理テーブル22aから削除する。これにより、ISAKMP SAが切断される。前記ステップS62のISAKMP SA再確立サブルーチンを、この後で実行してもよい。
以上の処理により、寿命が切れたISAKMP SAを削除またはその状態を更新することにより、ISAKMP SAの有効期限後も、関連するIPsec SAの削除ペイロードを送信可能な状態にすることができる。すなわち、あるISAKMP SAを用いて確立されたIPsec SAの削除ペイロードを、そのISAKMP SAの有効期限後もそのISAKMP SAを用いて送信できる。従って、IPsec SAの確立に用いたISAKMP SAで削除ペイロードの送受信が必要な実装形態を有する通信装置であっても、IPsec SAの不一致が起こりにくくなる。
(2−6)その他の処理
なお、以上に述べた処理以外に、IKE処理部20は、RFCの規定に従った各SAの確立・更新処理を行う。
例えば、IPsec SAの確立は、1)最初の通信時、2)IPsec SAの寿命が尽きた時、3)既にISAKMP SAが確立された後の相手通信装置に対し所望の通信に適用するIPsec SAが存在しない時、に実行される。
具体的には、IPsec SAの確立が指示された場合、SA管理部22は、相手通信装置との間に「確立済み状態」のISAKMP SAが存在している場合、そのISAKMP SAを用いたIPsec SAの確立をSA確立部23に指示する。逆に、「確立済み状態」のISAKMP SAがない場合、SA管理部22は新規ISAKMP SAの確立をSA確立部23に指示する。新規に確立したISAKMP SAを用いたIPsec SAの確立を、SA管理部22はSA確立部23に指示する。このとき、「新規IPsec SA確立不可状態」のISAKMP SAは使用されない。IPsec SAの更新は、IPsec SAの寿命が尽きたときに、IPsec SAの確立と同様にして行われる。
また例えば、IKE処理部20のSA管理部22は、IPsec SA及びISAKMP SAの更新処理を行う。SA管理部22は、SAの有効期限の到来を監視し、有効期限が到来したSAの確立または更新処理をSA確立部23に指示する。また、SA管理部22は、管理テーブル22aのSA情報を更新する。この処理は、他の処理とは並行に実行されてもよいし、他の処理の合間に定期的に実行されてもよい。
また例えば、IKE処理部20は、アプリケーションが通信を開始する前、例えばTCPコネクションを確立する直前に、そのTCPコネクションが適用されるIPsec SAの削除処理を行なうことができる。これにより、IPsec SAの確立処理を強制的に実施させることができる。ただし、アプリケーションが複数ある場合において、各アプリケーションの通信が一つのIPsec SAを共有している場合にこの方法を実行すると、別のアプリケーションの通信に支障を与えることになるので望ましくない。一方、IPsec SAを確立するための条件情報が各アプリケーションで独立であれば、この方法は有用である。
(3)効果
本実施形態の通信装置は、IPsec SAの削除ペイロードを、所定の送信条件・受信条件を満たすISAKMP SAを用いて送信・受信する。とりわけ、送信側通信装置が通信装置相互の間に存在するISAKMP SA全てを用いて削除ペイロードを送信するか、またはそのようなISAKMP SAの何れかによる削除ペイロードを受信側通信装置が受け付けるか、少なくともどちらかであれば、IPsec SAの削除が一方でのみ行われる事態の発生を防ぐことができる。従って、通信装置相互でのIPsec SAの不一致を防止することができる。
さらに、ISAKMP SAを用いて確立されたIPsec SAが存在する限り、そのISAKMP SAを完全に削除せず、そのISAKMP SAによるIPsec SAの削除ペイロードの送信を可能な状態にする。例えISAKMP SAの寿命が尽きていても、そのISAKMP SAで確立されたIPsec SAの削除ペイロードをそのISAKMP SAで送信できる。従って、IPsec SAの確立に用いたISAKMP SAでのみ削除ペイロードを送信可能または受信可能な通信装置であっても、確実に削除ペイロードを送信または受信することができる。
しかも、通信装置相互の間で確立されたISAKMP SAを常に維持しているため、IPsec SAの削除後に必要に応じて速やかに新たなIPsec SAを確立することができる。
<第2実施形態>
図12は、本発明の第2実施形態に係る通信装置の機能構成を示すブロック図である。図12において、図2と同じ構成要素については同じ符号を用い、説明を省略する。図12において、通信装置10’は、アプリケーション部を持たない。第1実施形態ではアプリケーション部からのデータに対して暗号通信が適用されたが、本実施形態においては、通信部50で受信されたIPパケットを他の通信装置に再送信(転送)する場合に暗号通信が適用される。この場合であっても、前述の処理は同様に行われる。
<その他の実施形態>
(A)前記実施形態では、あるISAKMP SAを用いて確立したIPsec SAが1つでも存在する限り、そのISAKMP SAのSA情報を管理テーブル22aから完全に削除しない。その代わり、そのISAKMP SAの状態が、「新規IPsecSA確立不可」に変更される。
しかし、あるISAKMP SAの削除がアプリケーションまたはユーザから指示された場合、そのISAKMP SAを用いて確立したIPsec SAが存在していても、そのISAKMP SAのSA情報を管理テーブル22aから削除してしまうこともできる。アプリケーションまたはユーザからのISAKMP SAの削除の指示は、そのISAKMP SAに関連するIPsecSAの削除の指示を含むと考えることもできるからである。
(B)前記実施形態では、SAの識別子を管理テーブル22aに登録したり削除することにより、SAを管理している。しかし、管理テーブル22aに予め用意された所定数のエントリがあり、各エントリが識別子で識別され、そのエントリ内にSAに関する情報を書き込んでいく管理形態も可能である。その場合、SAの識別子の削除とは、そのSAに関する情報が書き込まれているエントリから、その識別子に関連する情報を削除することを意味する。
(C)前述の方法をコンピュータに実行させるためのプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、CD−ROM、DVD、光磁気ディスク(MO)、その他のものが挙げられる。
本発明にかかる通信装置は、IPsecを用いた暗号通信に用いることができる。このような通信装置としては、例えばIP通信機能を有する家電機器、暗号通信機能を有する中継器を挙げることができる。
本実施形態に係る通信装置を用いたネットワーク構成例 通信装置の機能構成を示すブロック図 IKE処理部の機能構成を示す説明図 管理テーブルに蓄積される情報の概念説明図 条件テーブルに蓄積される情報の概念説明図 IPsec SA削除ペイロード送信処理の流れの一例を示すフローチャート ISAKMP SA再確立サブルーチンの処理の流れの一例を示すフローチャート 削除ペイロード受信処理の流れの一例を示すフローチャート IPsec SA寿命切れ処理の一例を示すフローチャート ISAKMP SA寿命切れ処理の流れの一例を示すフローチャート 他の実施懈怠における通信装置の機能構成図 従来の通信装置を用いたネットワーク構成例 IPsecによる暗号通信(IPsec通信)を行なうためのSAの状態を示した説明図 寿命が切れる前に更新を行なう方法により、更新のための新しいIPsec SAが確立された様子を示す説明図
符号の説明
1a〜1d:端末
2a,2b:中継器
3 通信ネットワーク
10:通信装置

Claims (21)

  1. IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う通信装置であって、
    前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理手段と、
    前記管理手段で識別子が記憶されているISAKMP SAの中から、前記相手通信装置との間で確立しているISAKMP SAであって、かつ前記管理手段が記憶するIPsec SAの削除ペイロードの送信条件を満たす1または複数のISAKMP SAを特定する判断手段と、
    前記判断手段が特定した1または複数のISAKMP SAを用い、前記IPsec SAの削除ペイロードを送信する送信手段と、
    前記削除ペイロードによる削除対象のIPsec SAの識別子を、前記管理手段から削除する削除手段と、
    を有することを特徴とする通信装置。
  2. 前記管理手段に記憶された相手通信装置の特性を識別する所定の情報と、IPsec SAの削除ペイロードの送信条件と、を対応付けて記憶する条件記憶手段をさらに有し、
    前記管理手段は、前記相手通信装置の特性を識別する所定の情報を、前記相手通信装置の識別子と対応付けてさらに記憶し、
    前記判断手段は、前記IPsec SAを確立している相手通信装置に対応する所定の情報に対応付けられた送信条件を前記条件記憶手段から読み出し、読み出した送信条件に合致する1または複数のISAKMP SAを特定することを特徴とする、請求項1に記載の通信装置。
  3. 前記相手通信装置の特性を識別する所定の情報は、前記相手通信装置の製造者の識別子であり、
    前記条件記憶手段は、前記製造者の識別子と製造者毎の送信条件とを対応付けて記憶し、
    前記判断手段は、前記IPsec SAに対応する製造者の識別子に対応づけられた送信条件を前記条件記憶手段から読み出し、読み出した送信条件に合致する1または複数のISAKMP SAを特定することを特徴とする、請求項2に記載の通信装置。
  4. 前記管理手段は、ISAKMP SAと、そのISAKMP SAにより確立されたIPsec SAとの対応付けをさらに記憶し、
    前記判断手段は、前記削除ペイロードによる削除対象のIPsec SA以外の他のIPsec SAであって、削除対象のIPsec SAの確立に用いられたISAKMP SAにより確立されたIPsec SAがあるか否かを判断し、
    前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがないと前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除することを特徴とする、請求項1に記載の通信装置。
  5. 前記管理手段は、前記IPsec SAの有効期限を前記IPsec SAの識別子と対応付けてさらに記憶し、
    前記判断手段は、前記管理手段に識別子が記憶されているIPsec SAについて、有効期限が過ぎたものがあるか否かをさらに監視し、有効期限が過ぎたIPsec SAがある場合はそのIPsec SAの確立に用いられたISAKMP SAにより確立された他のIPsec SAがあるか否かを判断し、
    前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがないと前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除することを特徴とする、請求項4に記載の通信装置。
  6. 前記管理手段は、前記ISAKMP SAの識別子に対応付けて前記ISAKMP SAの有効期限をさらに記憶し、
    前記判断手段は、前記ISAKMP SAにより確立された他のIPsec SAがなく、かつ前記ISAKMP SAの有効期限が過ぎているか否かを判断し、
    前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがなく、かつ前記ISAKMP SAの有効期限が過ぎていると前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除することを特徴とする、請求項4または5に記載の通信装置。
  7. 前記判断手段は、前記削除対象のISAKMP SAとは別のISAKMP SAが前記相手通信装置との間に確立されているか否かを判断し、
    前記判断手段の判断結果に応じ、新たなISAKMP SAを確立する再確立手段をさらに備えることを特徴とする、請求項4に記載の通信装置。
  8. 前記再確立手段は、前記送信手段が前記IPsec SAの削除ペイロードを送信するに先立ち、または前記送信手段による前記削除ペイロードの送信に応じ、前記ISAKMP SAとは別のISAKMP SAが前記相手通信装置との間に確立されているか否かを判断し、判断結果に応じ、新たなISAKMP SAを確立することを特徴とする、請求項7に記載の通信装置。
  9. IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う通信装置が実行する通信方法であって、
    前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理ステップと、
    前記管理ステップで識別子が記憶されているISAKMP SAの中から、前記相手通信装置との間で確立しているISAKMP SAであって、かつ前記管理ステップが記憶するIPsec SAの削除ペイロードの送信条件を満たす1または複数のISAKMP SAを特定する判断ステップと、
    前記判断ステップで特定された1または複数のISAKMP SAを用い、前記IPsec SAの削除ペイロードを送信する送信ステップと、
    前記削除ペイロードによる削除対象のIPsec SAの識別子を、前記管理ステップでの記憶対象から削除する削除ステップと、
    を有することを特徴とする通信方法。
  10. IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行うコンピュータが実行する通信プログラムであって、
    前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理手段、
    前記管理手段で識別子が記憶されているISAKMP SAの中から、前記相手通信装置との間で確立しているISAKMP SAであって、かつ前記管理手段が記憶するIPsec SAの削除ペイロードの送信条件を満たす1または複数のISAKMP SAを特定する判断手段、
    前記判断手段が特定した1または複数のISAKMP SAを用い、前記IPsec SAの削除ペイロードを送信する送信手段、及び
    前記削除ペイロードによる削除対象のIPsec SAの識別子を、前記管理手段から削除する削除手段、
    として前記コンピュータを機能させることを特徴とする通信プログラム。
  11. IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う通信装置であって、
    前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理手段と、
    前記IPsec SAの削除ペイロードを、任意のISAKMP SAを用いて前記相手通信装置から受信する受信手段と、
    前記IPsec SAの削除ペイロードの受信条件を、前記ISAKMP SAが満たすか否かを判断する判断手段と、
    前記判断手段が前記受信条件を満たしていると判断した場合、前記IPsec SAの識別子を前記管理手段から削除する削除手段と、
    を有することを特徴とする通信装置。
  12. 前記管理手段に記憶された相手通信装置の特性を識別する所定の情報と、IPsec SAの削除ペイロードの受信条件と、を対応付けて記憶する条件記憶手段をさらに有し、
    前記管理手段は、前記相手通信装置の特性を識別する所定の情報を、前記相手通信装置の識別子と対応付けてさらに記憶し、
    前記判断手段は、前記IPsec SAを確立している相手通信装置に対応する所定の情報に対応付けられた受信条件を前記条件記憶手段から読み出し、前記削除ペイロードの受信に用いられたISAKMP SAが、読み出した受信条件を満足するか否かを判断することを特徴とする、請求項11に記載の通信装置。
  13. 前記相手通信装置の特性を識別する所定の情報は、前記相手通信装置の製造者の識別子であり、
    前記条件記憶手段は、前記製造者の識別子と製造者毎の受信条件とを対応付けて記憶し、
    前記判断手段は、前記IPsec SAに対応する製造者の識別子に対応付けられた受信条件を前記条件記憶手段から読み出し、前記削除ペイロードの受信に用いられたISAKMP SAが、読み出した受信条件を満足するか否かを判断することを特徴とする、請求項11に記載の通信装置。
  14. 前記管理手段は、ISAKMP SAと、そのISAKMP SAにより確立されたIPsec SAとの対応付けをさらに記憶し、
    前記判断手段は、前記削除ペイロードによる削除対象のIPsec SA以外の他のIPsec SAであって、削除対象のIPsec SAの確立に用いられたISAKMP SAにより確立されたIPsec SAがあるか否かを判断し、
    前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがないと前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除することを特徴とする、請求項11に記載の通信装置。
  15. 前記管理手段は、前記IPsec SAの有効期限を前記IPsec SAの識別子と対応付けてさらに記憶し、
    前記判断手段は、前記管理手段に識別子が記憶されているIPsec SAについて、有効期限が過ぎたものがあるか否かをさらに監視し、有効期限が過ぎたIPsec SAがある場合はそのIPsec SAの確立に用いられたISAKMP SAにより確立された他のIPsec SAがあるか否かを判断し、
    前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがないと前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除することを特徴とする、請求項14に記載の通信装置。
  16. 前記管理手段は、前記ISAKMP SAの識別子に対応付けて前記ISAKMP SAの有効期限をさらに記憶し、
    前記判断手段は、前記ISAKMP SAにより確立された他のIPsec SAがなく、かつ前記ISAKMP SAの有効期限が過ぎているか否かを判断し、
    前記削除手段は、前記ISAKMP SAにより確立された他のIPsec SAがなく、かつ前記ISAKMP SAの有効期限が過ぎていると前記判断手段が判断した場合、前記ISAKMP SAの識別子を前記管理手段から削除することを特徴とする、請求項14または15に記載の通信装置。
  17. 前記判断手段は、前記削除対象のISAKMP SAとは別のISAKMP SAが前記相手通信装置との間に確立されているか否かを判断し、
    前記判断手段の判断結果に応じ、新たなISAKMP SAを確立する再確立手段をさらに備えることを特徴とする、請求項14に記載の通信装置。
  18. 前記再確立手段は、前記受信手段による前記IPsec SAの削除ペイロードの受信に応じ、前記ISAKMP SAとは別のISAKMP SAが前記相手通信装置との間に確立されているか否かを判断し、判断結果に応じ、新たなISAKMP SAを確立することを特徴とする、請求項17に記載の通信装置。
  19. IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う通信装置が実行する通信方法であって、
    前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理ステップと、
    前記IPsec SAの削除ペイロードを、任意のISAKMP SAを用いて前記相手通信装置から受信する受信ステップと、
    前記IPsec SAの削除ペイロードの受信条件を、前記ISAKMP SAが満たすか否かを判断する判断ステップと、
    前記判断ステップで前記受信条件を満たしていると判断した場合、前記IPsec SAの識別子を前記管理ステップでの記憶対象から削除する削除ステップと、
    を有することを特徴とする通信方法。
  20. IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行うコンピュータが実行する通信プログラムであって、
    前記暗号通信の相手である相手通信装置の識別子と、その相手通信装置との間で確立しているIPsec SAの識別子と、その相手通信装置との間で確立しているISAKMP SAの識別子と、を記憶する管理手段、
    前記IPsec SAの削除ペイロードを、任意のISAKMP SAを用いて前記相手通信装置から受信する受信手段、
    前記IPsec SAの削除ペイロードの受信条件を、前記ISAKMP SAが満たすか否かを判断する判断手段、及び
    前記判断手段が前記受信条件を満たしていると判断した場合、前記IPsec SAの識別子を前記管理手段から削除する削除手段、
    として前記コンピュータを機能させることを特徴とする通信プログラム。
  21. IPsec(IPセキュリティプロトコル)及びIKE(Internet Key Exchange)に基づいてISAKMP SA(Internet Security Association and Key Management Protocol)及びIPsec SA(Security Association)を確立し、暗号通信を行う第1通信装置及び第2通信装置を含む通信システムであって、
    前記第1通信装置は、
    前記暗号通信の相手である前記第2通信装置の識別子と、前記第2通信装置との間で確立しているIPsec SAの識別子と、前記第2通信装置との間で確立しているISAKMP SAの識別子と、を記憶する第1管理手段と、
    前記第1管理手段で識別子が記憶されているISAKMP SAの中から、前記第2通信装置との間で確立しているISAKMP SAであって、かつ前記第1管理手段が記憶するIPsec SAの削除ペイロードの送信条件を満たす1または複数のISAKMP SAを特定する第1判断手段と、
    前記第1判断手段が特定した1または複数のISAKMP SAを用い、前記IPsec SAの削除ペイロードを送信する送信手段と、
    前記削除ペイロードによる削除対象のIPsec SAの識別子を、前記第1管理手段から削除する第1削除手段と、を有し、
    前記第2通信装置は、
    前記暗号通信の相手である前記第1通信装置の識別子と、前記第1通信装置との間で確立しているIPsec SAの識別子と、前記第1通信装置との間で確立しているISAKMP SAの識別子と、を記憶する第2管理手段と、
    前記IPsec SAの削除ペイロードを、任意のISAKMP SAを用いて前記第1通信装置から受信する受信手段と、
    前記IPsec SAの削除ペイロードの受信条件を、前記ISAKMP SAが満たすか否かを判断する第2判断手段と、
    前記第2判断手段が前記受信条件を満たしていると判断した場合、前記IPsec SAの識別子を前記第2管理手段から削除する第2削除手段と、
    を有することを特徴とする通信システム。

JP2005027242A 2004-02-06 2005-02-03 通信装置及び通信プログラム Expired - Fee Related JP4721715B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005027242A JP4721715B2 (ja) 2004-02-06 2005-02-03 通信装置及び通信プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004030320 2004-02-06
JP2004030320 2004-02-06
JP2005027242A JP4721715B2 (ja) 2004-02-06 2005-02-03 通信装置及び通信プログラム

Publications (2)

Publication Number Publication Date
JP2005253061A JP2005253061A (ja) 2005-09-15
JP4721715B2 true JP4721715B2 (ja) 2011-07-13

Family

ID=35033060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005027242A Expired - Fee Related JP4721715B2 (ja) 2004-02-06 2005-02-03 通信装置及び通信プログラム

Country Status (1)

Country Link
JP (1) JP4721715B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4788264B2 (ja) * 2005-09-27 2011-10-05 横河電機株式会社 暗号化通信方法および通信装置
JP4805185B2 (ja) * 2007-02-15 2011-11-02 日本電信電話株式会社 ゲートウェイ装置およびセッション管理方法
JP2012175121A (ja) * 2011-02-17 2012-09-10 Seiko Epson Corp 印刷装置及び印刷装置のsa確立方法
JP5464232B2 (ja) * 2012-05-23 2014-04-09 沖電気工業株式会社 セキュア通信システム及び通信装置
WO2020098676A1 (en) * 2018-11-15 2020-05-22 Huawei Technologies Co., Ltd. Rekeying a security association sa

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305533A (ja) * 2000-12-25 2002-10-18 Matsushita Electric Ind Co Ltd データベース管理装置、管理方法及びその記録媒体
JP2002344443A (ja) * 2001-05-15 2002-11-29 Mitsubishi Electric Corp 通信システムおよびセキュリティアソシエーション切断/継続方法
JP3596489B2 (ja) * 2001-07-11 2004-12-02 日本電気株式会社 Vpnシステムおよびvpn装置およびプログラム
JP2003338850A (ja) * 2002-04-03 2003-11-28 Docomo Communications Laboratories Usa Inc MobileIPネットワークに適合したセキュリティアソシエーション管理サーバ

Also Published As

Publication number Publication date
JP2005253061A (ja) 2005-09-15

Similar Documents

Publication Publication Date Title
US7558956B2 (en) Communications device and communications program
US11038846B2 (en) Internet protocol security tunnel maintenance method, apparatus, and system
JP4163215B2 (ja) 私設ネットワークとローミング移動端末との間の通信
JP4674502B2 (ja) 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP4770227B2 (ja) Sipメッセージの暗号化方法,および暗号化sip通信システム
JP3629237B2 (ja) ノード装置及び通信制御方法
JP4016998B2 (ja) 通信装置およびプログラム
US8364948B2 (en) System and method for supporting secured communication by an aliased cluster
JP2013201537A (ja) 鍵生成装置および鍵生成方法
JP2012518302A (ja) 非暗号化ネットワーク動作解決策
JP2009021855A (ja) 中継装置、通信方法及び通信プログラム
JP4721715B2 (ja) 通信装置及び通信プログラム
CN113726795B (zh) 报文转发方法、装置、电子设备及可读存储介质
JP2006352500A (ja) 自動鍵交換処理装置および自動鍵交換処理方法
JP2002217896A (ja) 暗号通信方法およびゲートウエイ装置
JP4215010B2 (ja) 可変ipアドレス環境下におけるセキュリティアソシエーション継続方法および端末装置
JP2006019975A (ja) 暗号パケット通信システム、これに備えられる受信装置、送信装置、及びこれらに適用される暗号パケット通信方法、受信方法、送信方法、受信プログラム、送信プログラム
CN115567205A (zh) 采用量子密钥分发实现网络会话数据流加解密方法及系统
US7756061B2 (en) Mobile router device and home agent device
JP2011176395A (ja) IPsec通信方法およびIPsec通信システム
JP2006185194A (ja) サーバ装置、通信制御方法及びプログラム
JP2009055418A (ja) 通信システム、中継装置、端末、及び中継処理方法並びにそのプログラム
US7207063B1 (en) Method and apparatus for determining secure endpoints of tunnels in a network that uses internet security protocol
JP2002344443A (ja) 通信システムおよびセキュリティアソシエーション切断/継続方法
JP2006019824A (ja) セキュア通信システム、管理装置および通信端末

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110315

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110405

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4721715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees