説明

通信方法および通信システム

【課題】IKEv2において、本来、IKErではないノードが、IKErになりすまして、IKEiのノードのIDを取得することを防止する。
【解決手段】IKEiのノード10は、IKE_AUTH1stメッセージにより、IKErのノード20に対し、仮IDを通知する。その後、IKEiのノード10は、IKE_AUTH2ndメッセージによりIKErのノード20のディジタル署名を受信し、このIKErのノード20の認証処理を行う。ここで、IKErのノード20の本人性の認証がとれたとき、IKE_AUTH3rdメッセージにより、このIKEiのノード10の本IDを通知する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IPsec(Internet Protocol Security)トンネリングに用いられるIKE(Internet Key Exchange)技術に関する。
【背景技術】
【0002】
従来、インターネット上での通信セキュリティに関する技術として、IPsecトンネルがある(非特許文献1参照)。このIPsecトンネルを自動で確立するための技術としては、IETF RFC4306に規定されるIKEv2がある(非特許文献2参照)。本技術を用いることにより、接続しようとするIPsecトンネル終端装置間で、本人性認証を行うための情報の交換、IPsecトンネル内のIP通信を行うために利用するIPアドレス(プレフィックス)の割り当て、暗号化鍵の生成等を行って、セキュアなIPsecトンネルを確立することができる。なお、本人性の認証には、例えば、AAA(Authentication Authorization Accounting)サーバ等、認証サーバとの連携による実現も可能である。
【0003】
これらの技術により、IKEv2イニシエータ(IKEi)のノードとIKEv2レスポンダ(IKEr)のノードとの間でIPsecトンネルを確立し、IKEiのノードは、このIPsecトンネル経由で通信相手の端末との間でセキュアな通信を行うことができる。
【0004】
このことを、図1を用いて説明する。ここでは、IKEiのノードの認証方式として、MD5-Challengeを用いる場合を例に説明する。
【0005】
IKEiのノードは、IKErのノードとの間で、IKE_SA_INIT(Internet Key Exchange_Security Associationの初期情報)の交換を行う(S1)。つまり、IKEのための初期情報の交換を行う。そして、IKEiのノードは、自身のユーザIDを、IKE_AUTH1stメッセージによりIKErのノードへ通知する(S2)。そして、IKErのノードは、通知されたユーザIDを元に認証サーバの選択を行い(S3)、その選択した認証サーバへ、このユーザIDを含むAccess-Request1stメッセージを送信する(S4)。認証サーバは、受信したAccess-Request1stメッセージに含まれるユーザIDを元に、このユーザIDの認証方式を選択し(S5)、選択した認証方式と、その認証方式に用いる情報(チャレンジ値)とを含むAccess-Challengeメッセージを、IKErのノードへ送信する(S6)。
【0006】
そして、IKErのノードは、自身のディジタル署名と、チャレンジ値とを含むIKE_AUTH2ndメッセージをIKEiのノードへ送信する(S7)。次に、IKEiのノードは、ディジタル署名に基づきIKErのノードの認証を行い(S8:レスポンダ認証)、その認証結果がOKだった場合、指定された認証方式に基づき、自身のパスワードをチャレンジ値でハッシュ化したハッシュ化パスワードをIKE_AUTH3rdメッセージで送信する(S9)。そして、IKErのノードは、認証サーバへ、IKErのノードのハッシュ化パスワードをAccess-Request2ndメッセージにより送信する(S10)。その後、認証サーバは、Access-Request1stメッセージで受信したIDのノードに関するチャレンジ値で、ハッシュ化パスワードからパスワードを取り出し、このパスワードが、当該ノードのパスワードであることを確認すると、その旨をAccess-AcceptメッセージでIKErのノードへ通知する。その後、IKErのノードはIKEiのノードとの間でIPsecトンネルを確立する。そして、IKEiのノードは、このIKErのノードとの間に確立されたIPsecトンネル経由で、通信相手の端末との間で通信を行う。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】IETF、RFC4301、[online]、[2010年2月10日検索]、インターネット、<URL: http://www.ietf.org/rfc/rfc4301.txt >
【非特許文献2】IETF、RFC4306、[online]、[2010年2月10日検索]、インターネット、<URL: http://www.ietf.org/rfc/rfc4306.txt >
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、前記した従来技術は、IKEiのノードがIKErの認証を完了する前に、IKErのノードへ、イニシエータID(IDi)を通知するものである。このため、本来、IKErではないノードが、IKErになりすまして、IKEiのノードのID(IDi)を取得する可能性がある。そこで、本発明は、前記した問題を解決し、本来、IKEv2において、IKErではないノードが、IKErになりすまして、IKEiのノードのIDを取得することを防止することを目的とする。
【課題を解決するための手段】
【0009】
前記した課題を解決するため、本発明は、IKE(Internet Key Exchange)v2においてイニシエータとなるIKEiのノードと、IKEv2におけるレスポンダとなるIKErのノードと、IKErのノードからの認証要求に応じて認証処理を行う認証サーバとを含む通信システムに関する発明とした。この通信システムのIKEiのノードは、IKErのノードのIDごとに、IKEv2において、そのIDのIKErのノードに対し用いる自身のIKEiのノードの仮IDおよび本IDを示したリモートアクセス管理情報を記憶する。そして、IKEiのノードは、リモートアクセス管理情報から読み出した、IKErのノードに対し用いる仮IDを含むIKE_AUTH1stメッセージを、IKErのノードへ送信する。そして、IKErのノードは、IKEiのノードからのIKE_AUTH1stメッセージを受信したとき、認証サーバへ、IKE_AUTH1stメッセージに含まれる仮IDのノードの認証に用いる認証方式を問い合わせるAccess-Request1stメッセージを送信する。次に、IKErのノードは、認証サーバから仮IDのノードの認証に用いる認証方式を含む応答を受信し、自身のIKErのノードのディジタル署名を生成する。そして、IKErのノードは、受信した応答に含まれる認証方式と、自身のIKErのノードのディジタル署名とを含むIKE_AUTH2ndメッセージをIKEiのノードへ送信する。次に、IKEiのノードは、IKErのノードから受信したIKE_AUTH2ndメッセージに含まれるディジタル署名に基づきIKErのノードの認証処理を実行する。そして、IKEiのノードは、IKErのノードの認証OKが確認されたとき、リモートアクセス管理情報から読み出したIKErのノードに対し用いる本IDと認証方式の認証に用いる認証情報とを含むIKE_AUTH3rdメッセージをIKErのノードへ送信する。次に、IKErのノードは、IKEiのノードから受信したIKE_AUTH3rdメッセージに含まれる本IDと認証方式の認証に用いる認証情報とをAccess-Request2ndメッセージに含めて、認証サーバへ送信する。そして、IKErのノードは、認証サーバから受信した、Access-Request2ndメッセージの応答がIKEiのノードの認証結果が認証OKを示すものであるとき、IKEiのノードとの間にIPsecトンネルを確立する。
【0010】
このようにIKEiのノードは、IKErのノードの認証を行う前に、IKErのノードへ自身の仮IDを通知する。そして、この仮IDの通知後、IKErのノードから送信されたIKE_AUTH2ndメッセージに基づきIKErのノードの認証を行い、認証OKだったときに、IKErのノードに対し本ID(このIKEiのノードのID)を通知する。よって、本来、IKErではないノードが、IKErになりすまして、IKEiのノードのIDを取得することを防止できる。
【0011】
また、本発明の通信システムのIKErのノードは、IKEiのノードから受信したIKE_AUTH3rdメッセージにIDが含まれていなかったとき、Access-Request1stに含まれるIDをAccess-Request2ndメッセージに含めて、認証サーバへ送信する。そして、認証サーバから受信した、Access-Request2ndメッセージの応答がIKEiのノードの認証結果が認証OKを示すものであるとき、IKErのノードは、IKEiのノードとの間にIPsecトンネルを確立する。
【0012】
このようにIKErのノードは、IKEiのノードからIKE_AUTH3rdメッセージにIDが含まれていなかったときでも、IKE_AUTH1stメッセージで受信したID(本IDまたは仮ID)を用いて認証サーバへ、Access-Request2ndメッセージを送信する。つまり、IKErのノードは、(1)IKE_AUTH1stメッセージで本IDを受信した場合や、(2)IKE_AUTH1stメッセージで仮IDを受信したが、その後IKE_AUTH3rdメッセージで本IDを受信しなかった場合でも、IKE_AUTH1stメッセージで受信したID(本IDまたは仮ID)を用いて、認証サーバへAccess-Request2ndメッセージを送信することができる。
【0013】
また、本発明の通信システムの認証サーバは、ノードの仮IDおよび本IDと、ノードが用いる認証方式を含むユーザ管理情報を備える。そして、この認証サーバは、IKErのノードから、仮IDを含むAccess-Request1stメッセージを受信したとき、ユーザ管理情報を参照して、仮IDのノードの認証に用いる認証方式を含む応答をIKErのノードへ送信する。その後、認証サーバは、本IDおよび認証情報を含むAccess-Request2ndメッセージを受信したとき、ユーザ管理情報を参照して、本IDのノードの認証処理を行い、認証処理の認証結果をIKErのノードへ送信する。
【0014】
このようにすることで、認証サーバは、Access-Requestメッセージに仮IDが含まれていた場合でも、本IDが含まれていた場合でも、そのIDのノードの認証に用いる認証方式および認証方式に用いる情報をIKErのノードへ送信することができる。
【発明の効果】
【0015】
本発明によれば、IKEv2において、IKErではないノードが、IKErになりすまして、IKEiのノードのIDを取得することを防止できる。
【図面の簡単な説明】
【0016】
【図1】比較例となるIKEv2における処理手順を示したシーケンス図である。
【図2】本実施の形態の通信システムの構成例を示した図である。
【図3】本実施の形態の通信システムの処理手順を示したシーケンス図である。
【図4】本実施の形態の通信システムの構成例を示した図である。
【図5】図4のリモートアクセス管理情報を例示した図である。
【図6】図4のドメイン管理情報を例示した図である。
【図7】図4のユーザ管理情報を例示した図である。
【図8】図4のIKEiのノードの処理手順を示した図である。
【図9】図4のIKErのノードの処理手順を示した図である。
【図10】図4の認証サーバの処理手順を示した図である。
【図11】本実施の形態の通信システムに用いられるノードの構成例を示した図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態を説明する。まず、図2を用いて本実施の形態の通信システムの構成例を説明する。通信システムは、ノード10(10A,10B),20と、端末40と、認証サーバ30とを含んで構成される。ノード10,20は、IPネットワーク経由で接続され、IPsecトンネルを確立する。そして、ノード10,20と通信相手である端末40との間で、このIPsecトンネル経由での通信を行う。なお、このノード10は、IPsecトンネル確立のためのIKEv2を実行する際、イニシエータ(IKEi)となるノードである。また、ノード20は、このIKEv2を実行する際、レスポンダ(IKEr)となるノードである。このノード10,20はIPネットワーク経由で通信可能なコンピュータやルータにより実現される。認証サーバ30は、このIKEiのノード10を認証するための認証方式やこの認証方式に用いる各種情報を記憶するサーバであり、IKErのノード20に接続される。IKErのノード20は、この認証サーバ30によりIKEiのノード10の認証を行う。
【0018】
次に、図3を用いて通信システムの処理の概要を説明する。ここでは概略説明のため、図3の説明を一部を省略する。まず、IKEiのノード10は、IKErのノード20との間でIKE_SA_INITの交換を行った後(S11)、IKE_AUTH1stメッセージによりIKErのノード20へ仮IDを通知する(S12)。この仮IDは、自身のノード10の本当のユーザIDを示す本IDの送信前に使う仮のユーザIDである。
【0019】
その後、IKEiのノード10は、IKErのノード20からIKE_AUTH2ndメッセージを受信すると(S17)、このIKE_AUTH2ndメッセージにより受信したIKErのノード20のディジタル署名に基づき、IKErのノード20の認証を行う(S18:レスポンダ認証)。そして、このIKErのノード20の本人性の認証ができたとき、IKE_AUTH3rdメッセージにより、このIKEiのノード10の本IDをIKErのノード20へ通知する(S19)。つまり、IKEiのノード10は、IKErのノード20の本人性の認証ができてから、このIKEiのノード10の本IDをIKErのノード20へ送信する。よって、本来、このIKEiのノード10のIKErではないノードが、IKErになりすまして、IKEiのノードのIDを取得することを防止できる。図3の処理の詳細は、後記する。
【0020】
<構成>
次に、図4を用いて、通信システムを構成するノード10,20、認証サーバ30の構成を説明する。ノード10,20、認証サーバ30はそれぞれ、入出力部、処理部および記憶部を備える。
【0021】
図4の各入出力部は、IPネットワーク経由でデータを送受信可能な通信インタフェースや入出力インタフェースから構成される。また、各処理部は、CPU(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。さらに、各記憶部は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶媒体から構成される。なお、ノード10,20、認証サーバ30をプログラム実行処理により実現する場合、各記憶部には、ノード10,20や認証サーバ30の機能を実現するためのプログラムが格納される。
【0022】
<IKEiのノード>
まず、IKEiのノード10を説明する。IKEiのノード10は、入出力部11、処理部12および記憶部13を備える。まず、記憶部13から説明する。記憶部13は、リモートアクセス管理情報131を記憶する。このリモートアクセス管理情報131は、IKErのノード20のID(例えば、IKErのノード20のアドレスのドメイン)ごとに、このIKErのノード20が仮IDを用いてIKEv2のIKE_AUTH1stメッセージを送信してもよいノードか否かを示すフラグと、仮IDを用いてIKE_AUTH1stメッセージを送信してもよいノードであるとき、このノードに対し用いる仮IDおよび本IDとを示した情報である(図5参照)。
【0023】
例えば、図5に示すリモートアクセス管理情報131において、IKErのノード20が「fqdn.ntt.co.jp」であるとき、このノードに対しては仮IDを用いることができ(フラグ「On」)、そのとき用いる自身のノードの仮IDは「md5-user-1@vpn1-remote.net」であり、本IDは「alice@ntt.co.jp」であることを示す。このリモートアクセス管理情報131は、入出力部11経由で更新可能である。例えば、図5に示す「No2」の情報において、仮IDのフラグは「Off」となっているが、仮IDを用いるようにしたい場合、このフラグを「On」に変更し、仮IDの欄に仮IDとして用いるIDを記述すればよい。このリモートアクセス管理情報131は、IKEiのノード10が、IKE_AUTH1stメッセージやIKE_AUTH3rdメッセージを送信する際に参照される。
【0024】
次に、図4の処理部12を説明する。処理部12は、主にIKErのノード20との間でIKE_AUTHメッセージの送受信を行い、IKErのノード20の認証処理を行う。この処理部12は、IKE_AUTHメッセージ処理部121と、認証処理部122と、認証情報作成部123と、IPsecトンネル処理部124とを備える。
【0025】
IKE_AUTHメッセージ処理部121は、入出力部11経由で、このIKEiのノード10のレスポンダであるIKErのノード20のアドレスの入力を受け付ける。そして、IKE_AUTHメッセージ処理部121は、リモートアクセス管理情報131と、このIKErのノード20のアドレスとを参照して、このIKErのノード20に対し用いる仮IDを読み出す。そして、IKE_AUTHメッセージ処理部121は、この読み出した仮IDを含むIKE_AUTH1stメッセージを作成し、IKErのノード20へ送信する。また、このIKE_AUTHメッセージ処理部121は、IKErのノード20へのIKE_AUTH1stメッセージ送信後、認証処理部122により、このIKErのノードの認証OKが確認されたとき、リモートアクセス管理情報131から、このIKErのノード20に対し用いる本IDを読み出す。そして、このIKE_AUTHメッセージ処理部121は、この本IDと、このIKEiのノード10の認証に用いる認証情報(詳細は後記)を含むIKE_AUTH3rdメッセージをIKErのノード20へ送信する。
【0026】
認証処理部122は、入出力部11経由で、IKErのノード20から受信したIKE_AUTH2ndメッセージに含まれるディジタル署名に基づきIKErのノード20の本人性の認証を行う。
【0027】
認証情報作成部123は、IKErのノード20から受信したIKE_AUTH2ndメッセージで指定された認証方式に従い、自身のIKEiのノードの認証情報を作成する。例えば、このIKE_AUTH2ndメッセージで指定された認証方式がMD5-Challengeであり、このメッセージによりMD5-Challengeに用いられるチャレンジ値が送信されてきたとき、このチャレンジ値を用いて、自身のパスワードをハッシュ化したハッシュ化パスワードを作成する。なお、このIKEiのノード10のパスワードとチャレンジ値とは認証サーバ30側にも記憶されている。そして、認証サーバ30が、IKErのノード20経由で、IKEiのノード10のハッシュ化パスワードを受信し、このハッシュ化パスワードからパスワードを取り出し、、このパスワードが、自身の記憶するパスワードと同じとき、認証サーバ30は、このIKEiのノード10が確かにノード10であると判断する。
【0028】
IPsecトンネル処理部124は、認証処理部122において認証がとれたIKErのノード20との間でIPsecトンネルを確立する。
【0029】
<IKErのノード>
次に、IKErのノード20を説明する。IKErのノード20は、入出力部21、処理部22および記憶部23を備える。まず、記憶部23から説明する。この記憶部23は、ドメイン管理情報231を記憶する。このドメイン管理情報231は、IKEiのノード10のID(例えば、IKEiのノード10のアドレスのドメイン)ごとに、当該IDが本IDか仮IDかを示すフラグと、そのIDのIKEiのノード10からのIKE_AUTHメッセージを受信したとき、そのIKEiのノード10の認証方法を問い合わせる認証サーバ30のアドレスを示した情報である。例えば、図6に示すドメイン管理情報231において、IKEiのノード10から「vpn1-remote.net」というドメインを持つIDをIKE_AUTHメッセージで受信したとき、このIDは仮IDであり(フラグOn)、このIDのIKEiのノード10の認証方法の問い合わせ先の認証サーバ30のアドレスは「1100::1」であることを示す。このドメイン管理情報231は、入出力部21経由で更新される。このドメイン管理情報231は、図4の仮ID判定部221(後記)において、IKEiのノード10から送信されたIDが本IDか仮IDかを判定するときや、IKEiのノード10の認証方法の問い合わせ先である認証サーバ30を選択するときに参照される。
【0030】
次に、処理部22を説明する。処理部22は、仮ID判定部221と、Access-Requestメッセージ処理部222と、ディジタル署名生成部223と、IKE_AUTHメッセージ処理部224と、IPsecトンネル処理部225とを備える。
【0031】
仮ID判定部221は、入出力部21経由で、IKEiのノード10からIKE_AUTH1stメッセージを受信すると、ドメイン管理情報231を参照して、この受信したIKE_AUTH1stメッセージに含まれるIDが仮IDであるか本IDかを判定する。
【0032】
Access-Requestメッセージ処理部222は、仮ID判定部221によりIKE_AUTH1stメッセージに含まれるIDが仮IDと判定されたとき、認証サーバ30へ、この仮IDを含むAccess-Request1stメッセージを送信する。つまり、Access-Requestメッセージ処理部222は、このAccess-Request1stメッセージにより、認証サーバ30へ、この仮IDのノードの認証に用いる認証方式を問い合わせる。また、Access-Requestメッセージ処理部222は、IKEiのノード10からIKE_AUTH3rdメッセージを受信したとき、このIKE_AUTH3rdメッセージに含まれるIKEiのノード10の本IDおよび認証情報(例えば、ハッシュ化パスワード)をAccess-Request2ndメッセージにより、認証サーバ30へ送信する。つまり、Access-Requestメッセージ処理部222は、このAccess-Request2ndメッセージにより、認証サーバ30へ、当該本IDのIKEiのノード10の認証を依頼する。
【0033】
ディジタル署名生成部223は、認証サーバ30からAccess-Requestメッセージの応答を受信したとき、自身のIKErのノード20のディジタル署名を生成する。
【0034】
IKE_AUTHメッセージ処理部224は、認証サーバ30からのAccess-Requestメッセージの応答に含まれる認証方式と、その認証方式に用いる情報と、自身のディジタル署名とを含むIKE_AUTH2ndメッセージを、IKE_AUTH1stメッセージの送信元のIKEiのノード10へ送信する。これにより、IKErのノード20は、IKEiのノード10へ、自身のディジタル署名と、IKEiのノード10の認証情報を作成するときの認証方式と、その認証方式に用いる情報とを通知することができる。なお、ここで当該認証方式に用いる情報が特になければ、その情報をIKE_AUTH2nd含めなくてもよい。
【0035】
IPsecトンネル処理部225は、認証サーバ30から受信した、Access-Request2ndメッセージの応答がIKEiのノード10の認証OKを示すものであるとき、IKEiのノード10との間にIPsecトンネルを確立する。
【0036】
<認証サーバ>
次に、認証サーバ30を説明する。認証サーバ30は、入出力部31、処理部32および記憶部33を備える。まず、記憶部33から説明する。この記憶部33は、ユーザ管理情報331を記憶する。ユーザ管理情報331は、図7に示すように、IKEiのノード10の仮IDおよび本IDと、このIKEiのノード10が用いる認証方式と、その認証方式に用いる情報とを示した情報である。なお、図7のユーザ管理情報331は、認証方式が、MD5-Challengeであるノード10に発行するチャレンジ値(発行Challenge)、パスワード等を含む。このチャレンジ値は、この値がMD5-Challengeに用いられるチャレンジ値であることを示す識別情報を含む。これにより、IKEiのノード10は、この値がMD5-Challengeに用いられるチャレンジ値であることを判断できる。このユーザ管理情報331は、図4の入出力部31経由で更新される。また、このユーザ管理情報331は、認証部321(後記)が、IKEiのノード10の認証方式やその認証方式に用いる情報(チャレンジ値等)を選択するとき等に参照される。
【0037】
処理部32は、認証部321を備える。この認証部321は、IKErのノード20から、ノード10の仮IDを含むAccess-Request1stメッセージを受信したとき、ユーザ管理情報331を参照して、この仮IDのノード10の認証に用いる認証方式を選択する。そして、この選択した認証方式を含む応答をIKErのノード20へ送信する。また、この認証部321は、IKErのノード20から、ノード10の本IDおよび認証情報を含むAccess-Request2ndメッセージを受信したとき、この認証情報とユーザ管理情報331とを参照して、本IDのノード10の認証処理を行う。そして、認証部321は、この認証処理の認証結果をIKErのノード20へ送信する。例えば、認証部321は、IKEiのノード10の本IDとハッシュ化パスワードを受信すると、ユーザ管理情報331に示される当該本IDのチャレンジ値を用いて、このハッシュ化パスワードのパスワードを取り出す。そして、この取り出したパスワードが、ユーザ管理情報331に示される当該本IDのパスワードと同じであれば、そのIKEiのノード10を認証OK(本人性の認証が取れた)と判断し、その認証結果をAccess-Request2ndメッセージの送信元のIKErのノード20へ送信する。
【0038】
次に、図3の処理を詳細に説明する。まず、IKEiのノード10は、IKErのノード20との間でIKE_SA_INITの交換を行う(S11)。そして、IKEiのノード10のIKE_AUTHメッセージ処理部121(図4参照)は、このIKErのノード20に対し用いる仮IDをリモートアクセス管理情報131(図5参照)から読み出し、IKE_AUTH1stメッセージにより通知する(S12)。
【0039】
次に、IKErのノード20は、入出力部21経由でIKE_AUTH1stメッセージを受信すると、このIKE_AUTH1stメッセージに含まれる仮IDをキーとしてドメイン管理情報231(図6参照)を参照して、認証サーバ30の選択を行う(S13)。そして、この選択した認証サーバ30へ、この仮IDを含むAccess-Request1stを送信する(S14)。
【0040】
認証サーバ30は、受信したAccess-Request1stに含まれる仮IDをキーとして、ユーザ管理情報331から、IKEiのノード10の認証方式の選択を行う(S15)。また、このユーザ管理情報331から、この認証方式に用いる情報(例えば、MD5-Challengeのチャレンジ値)を読み出し、この選択した認証方式とその認証方式に用いる情報とをAccess-Challengeメッセージに含めてIKErのノード20へ送信する(S16)。IKErのノード20は、このAccess-Challengeメッセージを受信すると、自身のディジタル署名を生成する。そして、IKErのノード20は、このディジタル署名と、Access-Challengeに含まれる認証方式、その認証方式に用いる情報とをIKE_AUTH2ndメッセージによりIKEiのノード10へ送信する(S17)。
【0041】
IKEiのノード10は、IKErのノード20からIKE_AUTH2ndメッセージを受信すると、このIKE_AUTH2ndメッセージに含まれるIKErのノード20のディジタル署名をもとに、このIKErのノード20の認証を行う(S18:レスポンダ認証)。そして、認証OKだったとき(つまり、IKErのノード20の本人性が確認できたとき)、IKE_AUTH3rdメッセージにより、このIKEiのノード10の本IDを通知する(S19)。また、このとき、IKEiのノード10は、IKE_AUTH2ndメッセージにより通知された認証方式に従い、その認証方式に用いる情報(チャレンジ値)を用いて、IKEiのノード10の認証情報を作成する。例えば、チャレンジ値を用いてこのIKEiのノード10のパスワードをハッシュ化する。そして、IKE_AUTH3rdメッセージに、このIKEiのノード10の認証情報を含めてIKErのノード20へ送信する。
【0042】
このIKE_AUTH3rdを受信したIKErのノード20は、IKEiのノード10の認証情報および本IDを含むAccess-Request2ndメッセージを認証サーバ30へ送信する(S20)。そして、認証サーバ30は、このAccess-Request2ndメッセージに含まれる認証情報および本IDとを用いて、IKEiのノード10の認証処理を行う。そして、その結果、このIKEiのノード10が認証OKだったとき、その旨をAccess-AcceptメッセージでIKErのノード20へ送信する。その後、IKErのノード20とIKEiのノード10とはIPsecトンネル確立処理を実行し、IKEiのノード10は端末40と、このIPsecトンネル経由で通信を行う。
【0043】
このようにIKEiのノード10は、IKErのノード20の認証後に本IDを送信するので、なりすましのIKErのノード20、IKEiのノード10の本IDを取得することを防止できる。
【0044】
次に、IKEiのノード10、IKErのノード20および認証サーバ30の処理を説明する。まず、図8を用いて、IKEiのノード10の処理を説明する。
【0045】
<IKEiのノードの処理手順>
まず、IKEiのノード10は、IPsecトンネルの確立先のIKErのノード20のアドレスを取得する。そして、IKEiのノード10は、このIKErのノード20のアドレスと、リモートアクセス管理情報131(図5参照)とを参照して、このIKErのノード20は、IKE_AUTH1stメッセージで仮IDを用いることが可能なIKErのノード20か否かを判断する(S21:リモートアクセス管理情報において仮IDフラグOnのIKEr?)。ここで、このIKErのノード20がIKE_AUTH1stメッセージで仮IDを用いることが可能なIKErのノード20であれば(S21のYes)、IKEiのノード10のIKE_AUTHメッセージ処理部121は、リモートアクセス管理情報131を参照して、このIKErのノード20のアドレスに仮IDと本IDの設定があるか否かを判断する(S22)。ここで、仮IDと本IDの設定があれば(S22のYes)、IKE_AUTHメッセージ処理部121は、IKE_AUTH1stメッセージにて仮IDをIKErのノード20へ送信する(S23)。
【0046】
その後、IKEiのノード10は、IKErのノード20から受信したIKE_AUTH2ndメッセージにて、認証サーバ30から送信されたチャレンジ値(認証方式に用いる情報)と、IKErのノード20のディジタル署名とを正常に受信できたとき(S24のYes)、認証処理部122により、このディジタル署名の認証を実行する(S25)。そして、この認証の結果、レスポンダ認証OKだったとき(S26のYes)、つまり、ディジタル署名によりIKErのノード20の本人性が確認できたとき、認証情報作成部123はチャレンジ値を用いてハッシュ化パスワードを作成する。そして、IKE_AUTHメッセージ処理部121は、IKE_AUTH3rdメッセージにて、このIKEiのノード10の本IDとハッシュ化パスワードとをIKErのノード20へ送信する(S27)。
【0047】
その後、IKE_AUTHメッセージ処理部121がIKE_AUTH4thメッセージにて、IKErのノード20の認証結果を正常に受信できたとき(S28のYes)、IKEiのノード10は、IKE_AUTH5thメッセージ以降、RFC4306に基づく動作を実行し(S29)、IKErのノード20との間にIPsecトンネルを確立する。
【0048】
なお、図8のS21で、IKEiのノード10が、IKErのノード20がIKE_AUTH1stメッセージで仮IDを用いることができないIKErのノード20と判断したとき(S21のNo)、および、S22で、リモートアクセス管理情報131に、当該IKErのノード20の仮IDまたは本IDしか設定がなかったとき、または、いずれのIDの設定もなかったとき(S22のNo)、処理をS30へ進める。つまり、IKEiのノード10は、RFC4306に基づき、図1のS3以降の動作を実行する(S30)。
【0049】
また、図8のS24で、IKEiのノード10が、IKErのノード20から受信したIKE_AUTH2ndメッセージにて、認証サーバ30から送信されたチャレンジ値(認証方式に用いる情報)と、IKErのノード20のディジタル署名を正常に受信できなかったとき(S24のNo)、および、S28で、IKE_AUTHメッセージ処理部121がIKE_AUTH4thメッセージにて、IKErのノード20の認証結果を正常に受信できなかったとき(S28のNo)、処理をS32へ進める。すなわち、IKEiのノード10は、リモートアクセス管理情報131における、当該IKErのノード20に用いる仮IDの仮IDフラグをOffにする(S32)。そして、処理を終了する。
【0050】
さらに、図8のS26において、IKEiのノード10がIKErのノード20の本人性が確認できなかったとき(S26のNo)、通常のレスポンダ認証失敗処理を実行する(S31)。例えば、IKEiのノード10は、IKErのノード20の本人性が確認できなかったことを、出力装置等に出力する。そして、処理を終了する。
【0051】
以上説明したIKEiのノード10によれば、IKErのノード20が自身のレスポンダであることを確認した上で、IKErのノード20へ本IDを送信する。よって、なりすましのIKErのノード20が、IKEiのノード10の本IDを取得することを防止できる。
【0052】
<IKErのノードの処理手順>
次に、図9を用いて、IKErのノード20の処理手順を説明する。IKErのノード20は、IKE_AUTH1stメッセージにてIKEiのノード10の仮IDを受信する(S41)。そして、IKErのノード20の仮ID判定部221は、ドメイン管理情報231を参照して、受信ID(仮IDのドメイン)が、ドメイン管理情報231上に存在し(S42のYes)、かつ、受信IDのドメインは、ドメイン管理情報231上で仮IDフラグがOn(S43のYes)であることを確認すると、処理をS44へ進める。つまり、IKErのノード20は、通常の認証サーバ30との連携とRFC4306に基づく動作を実行する(S44)。すなわち、IKErのノード20は、仮IDがドメイン管理情報231上に存在することを確認すると、図3のS13〜S19に基づき、IKEiのノード10からIKE_AUTH3rdメッセージを受信する。また、図4のIKErのノード20のAccess-Request1stメッセージ処理部222は、IKE_AUTH3rdメッセージにて、IKEiのノード10のID(本ID)とハッシュ化パスワードを受信したとき(S45のYes)、以降、IKEiのノード10のIDとして、このIKE_AUTH3rdメッセージで受信したIDを用いて、RFC4306に基づく動作を実行する(S46)。すなわち、図1のS3以降の処理と同様の処理を実行する。
【0053】
一方、IKErのノード20のAccess-Requestメッセージ処理部222は、IKE_AUTH3rdメッセージにて、IKEiのノード10のID(本ID)とハッシュ化パスワードを受信できなかったとき(S45のNo)、以降、IKEiのノード10のIDとしてIKE_AUTH1stメッセージで受信したIDを用い、通常の認証サーバ30連携と、RFC4306に基づく動作を実行する(S49)。すなわち、図1のS3以降の処理と同様の処理を実行する。
【0054】
なお、S42において、IKErのノード20の仮ID判定部221が、ドメイン管理情報231を参照して、受信ID(仮IDのドメイン)が、ドメイン管理情報231上に存在しないと判定したとき(S42のNo)、このIDはIKErのノード20のイニシエータであるIKEiのノード10のIDではないことになるので、認証失敗処理を実行する(S47)。つまり、IKErのノード20は、IKE_AUTH1stメッセージの送信元のIKEiのノード10の認証に失敗したことを、出力装置等に出力する。そして、処理を終了する。
【0055】
また、IKErのノード20の仮ID判定部221は、受信IDのドメインが、ドメイン管理情報231上で仮IDフラグOnではないと判定したとき(S43のNo)、RFC4306に基づく処理を実行する。すなわち、図1のS3以降の処理と同様の処理を実行する。
【0056】
<認証サーバ>
次に、図10を用いて認証サーバ30の処理手順を説明する。認証サーバ30の認証部321(図4参照)は、Access-Request1stメッセージにて、IKEiのノード10のIDを受信する(S51)。そして、認証部321は、この受信IDがユーザ管理情報331(図7参照)上に存在するか否かを判断する(S52)。ここで、受信IDがユーザ管理情報331上に存在すれば(S52のYes)、ユーザ管理情報331を参照して、このIDのIKEiのノード10に対し用いる認証方式を選択する。そして、この選択した認証方式に従い処理を行う(S53)。例えば、当該IKEiのノード10の認証方式として、MD5-Challengeを選択した場合、認証部321は、IKErのノード20へ、このIKEiのノード10に用いるチャレンジ値をユーザ管理情報331から読み出し、IKErのノード20へAccess-Challengeメッセージにより送信する(S54)。
【0057】
その後、認証処理部122は、IKErのノード20からAccess-Request2ndにて、IKEiのノード10のIDとハッシュ化パスワードを受信する(S54)。そして、認証部321は、ユーザ管理情報331に示される当該IDのIKEiのノード10のチャレンジ値を用いてハッシュ化パスワードからパスワードを取り出す。そして、S54で受信した受信IDと、取り出したパスワードが、ユーザ管理情報331の本IDとパスワードに合致したか否か(つまり、認証に成功したか否か)を判断する(S55)。ここで、受信IDと、取り出したパスワードが、ユーザ管理情報331の本IDとパスワードに合致するとき(S55のYes)、認証成功処理を実行する(S56)。つまり、認証部321は、IKEiのノード10の認証に成功したことを、Access-AcceptメッセージでIKErのノード20へ送信する。一方、S52で認証部321が、この受信IDはユーザ管理情報331上に存在しないと判断したとき(S52のNo)、および、S55で受信IDとパスワードが、ユーザ管理情報331の本IDとパスワードに合致しないとき(つまり、認証に失敗したと判断したとき)(S55のNo)、認証失敗処理を行う(S57)。例えば、認証処理部122は、IKEiのノード10の認証に失敗したことをIKErのノード20へ通知する。
【0058】
このようにすることで、認証サーバ30は、IKEiのノード10が仮IDを用いる場合であっても、IKErのノード20へ、このIKEiのノード10の認証方式を通知したり、IKEiのノード10の認証処理を実行したりすることができる。
【0059】
以上説明した通信システムによれば、IKEv2において、IKErではないノードが、IKErになりすまして、IKEiのノード10のIDを取得することを防止できる。
【0060】
なお、前記した実施の形態において、ノード10がIKEiのノードであり、ノード20がIKErのノードである場合を例に説明したが、これに限定されない。例えば、通信システムで、IPsecトンネルの終端となるノードについて、IKEiのノードとしての機能とIKErのノードとしての機能の両方を備えるノード50として構成してもよい。このノード50の構成を、図11に示す。前記した実施の形態と同様の構成要素は、同じ符号を付して説明を省略する。
【0061】
図11に示すように、このノード50は、入出力部51、処理部52および記憶部53を備える。そして、処理部52は、認証処理部122、認証情報作成部123、仮ID判定部221、Access-Requestメッセージ処理部222、ディジタル署名生成部223に加え、IPsecトンネル処理部521、IKE_AUTHメッセージ処理部522を備える。
【0062】
このIPsecトンネル処理部521は、他のノード50との間でIPsecトンネルを確立する。IKE_AUTHメッセージ処理部522は、ノード10のIKE_AUTHメッセージ処理部121の機能と、ノード20のIKE_AUTHメッセージ処理部224の機能とを備える。つまり、IKE_AUTHメッセージ処理部121は、自身がIKEiのノードとして動作するときにはIKE_AUTHメッセージ処理部121と同様にIKErのノードに対しIKE_AUTHメッセージを送信する。また、自身がIKErのノードとなるときにはIKE_AUTHメッセージ処理部224と同様にIKEiのノードに対しIKE_AUTHメッセージを送信する。また、記憶部53は、ドメイン管理情報231およびリモートアクセス管理情報131を記憶する。つまり、自身がIKEiのノードとして動作するときには、リモートアクセス管理情報131を参照して、仮IDおよび本IDを選択する。また、自身がIKErのノードとして動作するときには、ドメイン管理情報231を参照して、受信IDが仮IDか本IDかを判断し、認証サーバ30の選択を行う。
【符号の説明】
【0063】
10,20,50 ノード
11,21,31,51 入出力部
12,22,32,52 処理部
13,23,33,53 記憶部
30 認証サーバ
40 端末
121 IKE_AUTHメッセージ処理部
122 認証処理部
123 認証情報作成部
124,225,521 IPsecトンネル処理部
131 リモートアクセス管理情報
221 仮ID判定部
222 Access-Requestメッセージ処理部
223 ディジタル署名生成部
224,522 IKE_AUTHメッセージ処理部
231 ドメイン管理情報
321 認証部
331 ユーザ管理情報

【特許請求の範囲】
【請求項1】
IKE(Internet Key Exchange)v2においてイニシエータとなるIKEiのノードと、前記IKEv2におけるレスポンダとなるIKErのノードと、前記IKErのノードからの認証要求に応じて認証処理を行う認証サーバとを含む通信システムにおける通信方法であって、
前記IKErのノードのIDごとに、前記IKEv2において、前記IDのIKErのノードに対し用いる自身のIKEiのノードの仮IDおよび本IDを示したリモートアクセス管理情報を記憶する記憶部を備える前記IKEiのノードは、
前記リモートアクセス管理情報から読み出した、前記IKErのノードに対し用いる前記仮IDを含むIKE_AUTH1stメッセージを、前記IKErのノードへ送信し、
前記IKErのノードは、
前記IKEiのノードからのIKE_AUTH1stメッセージを受信したとき、
前記認証サーバへ、前記IKE_AUTH1stメッセージに含まれる仮IDのノードの認証に用いる認証方式を問い合わせるAccess-Request1stメッセージを送信し、
前記認証サーバから前記仮IDのノードの認証に用いる認証方式を含む応答を受信し、前記自身のIKErのノードのディジタル署名を生成し、
前記受信した応答に含まれる認証方式と、前記自身のIKErのノードのディジタル署名とを含むIKE_AUTH2ndメッセージを前記IKEiのノードへ送信し、
前記IKEiのノードは、
前記IKErのノードから受信した前記IKE_AUTH2ndメッセージに含まれるディジタル署名に基づき前記IKErのノードの認証処理を実行し、前記IKErのノードの認証OKが確認されたとき、前記リモートアクセス管理情報から読み出した前記IKErのノードに対し用いる本IDと前記認証方式の認証に用いる認証情報とを含むIKE_AUTH3rdメッセージを前記IKErのノードへ送信し、
前記IKErのノードは、
前記IKEiのノードから受信した前記IKE_AUTH3rdメッセージに含まれる前記本IDと前記認証方式の認証に用いる認証情報とをAccess-Request2ndメッセージに含めて、前記認証サーバへ送信し、
前記認証サーバから受信した、前記Access-Request2ndメッセージの応答が前記IKEiのノードの認証結果が認証OKを示すものであるとき、前記IKEiのノードとの間にIPsecトンネルを確立することを特徴とする通信方法。
【請求項2】
前記IKErのノードは、
前記IKEiのノードから受信した前記IKE_AUTH3rdメッセージに前記IDが含まれていなかったとき、前記Access-Request1stに含まれるIDをAccess-Request2ndメッセージに含めて、前記認証サーバへ送信し、
前記認証サーバから受信した、前記Access-Request2ndメッセージの応答が前記IKEiのノードの認証結果が認証OKを示すものであるとき、前記IKEiのノードとの間にIPsecトンネルを確立することを特徴とする請求項1に記載の通信方法。
【請求項3】
前記認証サーバは、
前記ノードの仮IDおよび本IDと、前記ノードが用いる認証方式を含むユーザ管理情報を備え、
前記IKErのノードから、前記仮IDを含むAccess-Request1stメッセージを受信したとき、前記ユーザ管理情報を参照して、前記仮IDのノードの認証に用いる認証方式を含む応答を前記IKErのノードへ送信し、
前記本IDおよび認証情報を含むAccess-Request2ndメッセージを受信したとき、前記ユーザ管理情報を参照して、前記本IDのノードの認証処理を行い、前記認証処理の認証結果をIKErのノードへ送信することを特徴とする請求項1または請求項2に記載の通信方法。
【請求項4】
IKE(Internet Key Exchange)v2においてイニシエータとなるIKEiのノードと、前記IKEv2におけるレスポンダとなるIKErのノードと、前記IKErのノードからの認証要求に応じて認証処理を行う認証サーバとを含む通信システムであって、
前記IKEiのノードは、
前記IKErのノードのIDごとに、前記IKEv2において、前記IDのIKErのノードに対し用いる自身のIKEiのノードの仮IDおよび本IDを示したリモートアクセス管理情報を記憶する記憶部と、
前記リモートアクセス管理情報から読み出した、前記IKErのノードに対し用いる前記仮IDを含むIKE_AUTH1stメッセージを、前記IKErのノードへ送信し、認証処理部により前記IKErのノードの認証OKが確認されたとき、前記リモートアクセス管理情報から読み出した前記IKErのノードに対し用いる本IDと前記作成した認証情報を含むIKE_AUTH3rdメッセージを前記IKErのノードへ送信する第1のIKE_AUTHメッセージ処理部と、
前記IKErのノードから受信したIKE_AUTH2ndメッセージに含まれる認証方式に従い前記IKEiのノードの認証情報を作成する認証情報作成部と、
前記IKErのノードから受信した前記IKE_AUTH2ndメッセージに含まれるディジタル署名に基づき前記IKErのノードの認証処理を実行する前記認証処理部と、
前記IKErのノードとの間にIPsecトンネルを確立する第1のIPsecトンネル処理部とを備え、
前記IKErのノードは、
(1)認証サーバへ、前記IKE_AUTH1stメッセージに含まれる前記仮IDノードの認証に用いる認証方式を問い合わせるAccess-Request1stを送信し、(2)前記IKEiのノードから前記IKE_AUTH3rdメッセージを受信したとき、前記IKE_AUTH3rdに含まれる前記本IDおよび前記IKEiのノードの認証情報をAccess-Request2ndメッセージに含めて、前記認証サーバへ送信する、Access-Requestメッセージ処理部と、
前記認証サーバから、前記Access-Request1stの応答を受信したとき、前記自身のIKErのノードのディジタル署名を生成するディジタル署名生成部と、
前記受信したAccess-Request1stの応答に含まれる認証方式と、前記自身のIKErのノードのディジタル署名とを含む前記IKE_AUTH2ndメッセージを前記IKEiのノードへ送信する第2のIKE_AUTHメッセージ処理部と、
前記認証サーバから受信した、前記Access-Request2ndメッセージの応答が前記IKEiのノードの認証結果が認証OKを示すものであるとき、前記IKEiのノードとの間にIPsecトンネルを確立する第2のIPsecトンネル処理部とを備えることを特徴とする通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−176469(P2011−176469A)
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願番号】特願2010−37747(P2010−37747)
【出願日】平成22年2月23日(2010.2.23)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】