(57)【要約】【課題】利用者の識別情報をローミング先の通信事業者に登録することなく、成りすましや情報漏洩を防止できるローミングにおける認証方法を提供する。【解決手段】ローミング元が、各モバイルユーザごとに、当該モバイルユーザに固有の識別情報ＩＤ（Ｕ）および前記ローミング先に既知の識別情報ＩＤ（ＦＳ）に基づいて第１のローミングキー（Ｋ１）を生成し、これを各モバイルユーザに予め通知する手順と、ローミング先のサービスエリア内に移動したモバイルユーザが、前記自身に固有の識別情報ＩＤ（Ｕ）をローミング先へ通知する手順と、前記ローミング先が、前記既知の識別情報ＩＤ（ＦＳ）および前記モバイルユーザから通知された識別情報ＩＤ（Ｕ）に基づいて第２のローミングキー（Ｋ２）を生成する手順と、モバイルユーザおよびローミング先が、第１のローミングキーと第２のローミングキーとを比較して相互に認証する手順とを含む。【選択図】　　　　図１
2004023365.tif 000002
【特許請求の範囲】
【請求項１】
モバイルユーザが、自身の契約した通信事業者（ローミング元）以外の他の通信事業者（ローミング先）のサービスエリア内で、当該ローミング先との間で認証を行って通信サービスを享受するローミングにおける認証方法において、
ローミング元が、各モバイルユーザごとに、当該モバイルユーザに固有の識別情報ＩＤ（Ｕ）および前記ローミング先に既知の識別情報ＩＤ（ＦＳ）に基づいて第１のローミングキー（Ｋ１）を生成し、これを各モバイルユーザに予め通知する手順と、
ローミング先のサービスエリア内に移動したモバイルユーザが、前記自身に固有の識別情報ＩＤ（Ｕ）をローミング先へ通知する手順と、
前記ローミング先が、前記既知の識別情報ＩＤ（ＦＳ）および前記モバイルユーザから通知された識別情報ＩＤ（Ｕ）に基づいて第２のローミングキー（Ｋ２）を生成する手順と、
前記モバイルユーザおよびローミング先が、前記第１のローミングキー（Ｋ１）と第２のローミングキー（Ｋ２）とを比較して相互に認証する手順とを含むことを特徴とするローミングにおける認証方法。
【請求項２】
ローミング元およびローミング先が所定の秘密関数Ｆを予め共有する手順をさらに含み、
前記ローミング元およびローミング先は、前記識別情報を前記秘密関数に適用して各ローミングキーを生成することを特徴とする請求項１に記載のローミングにおける認証方法。
【請求項３】
前記ローミング先が、秘密のローミングマスタキー（Ｋｍ）を生成してローミング元へ予め登録する手順をさらに具備し、
前記ローミング元は、前記ローミングマスタキーを前記ローミング先に既知のパラメータとして第１のローミングキーを生成し、
前記ローミング先は、前記ローミングマスタキーおよび前記モバイルユーザから通知された識別情報ＩＤ（Ｕ）に基づいて第２のローミングキーを生成することを特徴とする請求項１に記載のローミングにおける認証方法。
【請求項４】
前記相互に認証する手順は、
ローミング先が、前記モバイルユーザに既知の第１の乱数（Ｒ）と前記第２のローミングキー（Ｋ２）との組み合わせに所定の暗号化処理を実行して第１の暗号を生成し、これをモバイルユーザへ通知する手順と、
モバイルユーザが、前記第１の乱数（Ｒ）と前記第１のローミングキー（Ｋ１）との組み合わせに前記暗号化処理を実行して第２の暗号を生成する手順と、
モバイルユーザが、前記第１および第２の暗号を比較してローミング先を認証する手順と、
モバイルユーザが、前記ローミング先に既知の第２の乱数（Ｒ’）と前記第１のローミングキー（Ｋ１）との組み合わせに所定の暗号化処理を実行して第３の暗号を生成し、これをローミング先へ通知する手順と、
ローミング先が、前記第２の乱数（Ｒ’）と前記第２のローミングキー（Ｋ２）との組み合わせに前記暗号化処理を実行して第４の暗号を生成する手順と、
ローミング先が、前記第３および第４の暗号を比較してモバイルユーザを認証する手順とを含むことを特徴とする請求項１ないし３のいずれかに記載のローミングにおける認証方法。
【請求項５】
モバイルユーザが、自身の契約した通信事業者（ローミング元）以外の他の通信事業者（ローミング先）のサービスエリア内で、当該ローミング先との間で認証を行って通信サービスを享受するローミングにおける認証方法において、
ローミング元およびローミング先が所定の秘密関数を予め共有する手順と、
ローミング元が、自身に固有のローミング元ＩＤ、ローミング先に固有のローミング先ＩＤおよび各モバイルユーザに固有のユーザＩＤを前記秘密関数に適用して各モバイルユーザに固有の第１のローミングキー（Ｋ１１）を生成し、これを各モバイルユーザに通知する手順と、
ローミング先のサービスエリア内に移動したモバイルユーザが、第１の乱数（Ｒ）、自身に固有のユーザＩＤおよび前記ローミング元ＩＤをローミング先へ通知する手順と、
前記ローミング先が、自身に固有のローミング先ＩＤ、前記通知されたローミング元ＩＤおよびユーザＩＤを前記秘密関数に適用し、この関数演算の結果と前記通知された第１の乱数（Ｒ）との組み合わせに一方向性関数を適用して第２のローミングキー（Ｋ１２）を生成し、さらに前記第２のローミングキーと第１の乱数（Ｒ）との組み合わせに所定の暗号化処理を実行して第１の暗号（Ｋ１２‖Ｒ）を生成し、これを第２の乱数（Ｒ’）と共にモバイルユーザへ通知する手順と、
モバイルユーザが、前記第１のローミングキー（Ｋ１１）と前記第１の乱数（Ｒ）との組み合わせに一方向性関数を適用して第３のローミングキー（Ｋ１３）を生成し、さらに第３のローミングキーと前記第１の乱数との組み合わせに前記暗号化処理を実行して第２の暗号（Ｋ１３‖Ｒ）を生成する手順と、
前記モバイルユーザが、前記第１および第２の暗号を比較してローミング先を認証する手順と、
前記モバイルユーザが、前記第３のローミングキーと前記第２の乱数との組み合わせに一方向性関数を適用して第４のローミングキー（Ｋ１４）を生成し、さらに、前記第４のローミングキーと第２の乱数との組み合わせに所定の暗号化処理を実行して第３の暗号（Ｋ１４‖Ｒ’）を生成し、これをローミング先へ通知する手順と、
前記ローミング先が、前記第２のローミングキーと前記第２の乱数との組み合わせに一方向性関数を適用して第５のローミングキー（Ｋ１５）を生成し、さらに前記第５のローミングキーと第２の乱数との組み合わせに所定の暗号化処理を実行して第４の暗号（Ｋ１５‖Ｒ’）を生成する手順と、
前記ローミング先が、前記第３および第４の暗号を比較してモバイルユーザを認証する手順とを含むことを特徴とするローミングにおける認証方法。
【請求項６】
モバイルユーザが、自身の契約した通信事業者（ローミング元）以外の他の通信事業者（ローミング先）のサービスエリア内で、当該ローミング先との間で認証を行って通信サービスを享受するローミングにおける認証方法において、
ローミング先からローミング元へローミングマスタキー（Ｋｍ）を通知する手順と、
ローミング元が各モバイルユーザごとに、前記通知されたローミングマスタキーと各モバイルユーザに固有のユーザＩＤとの組み合わせに一方向性関数を適用して各モバイルユーザに固有の第１のローミングキー（Ｋ２１）を生成し、これを各モバイルユーザへ通知する手順と、
モバイルユーザが、第１の乱数（Ｒ）および自身に固有のユーザＩＤをローミング先へ通知する手順と、
前記ローミング先が、前記通知された第１の乱数（Ｒ）、ユーザＩＤおよびローミングマスタキー（Ｋｍ）の組み合わせに一方向性関数を適用して第２のローミングキー（Ｋ２２）を生成し、さらに前記第２のローミングキー（Ｋ２２）と第１の乱数（Ｒ）との組み合わせに所定の暗号化処理を実行して第１の暗号（Ｋ２２‖Ｒ）を生成し、これを第２の乱数（Ｒ’）と共にモバイルユーザへ通知する手順と、
モバイルユーザが、前記第１のローミングキー（Ｋ２１）と前記第１の乱数（Ｒ）との組み合わせに一方向性関数を適用して第３のローミングキー（Ｋ２３）を生成し、さらに第３のローミングキーと前記第１の乱数との組み合わせに前記暗号化処理を実行して第２の暗号（Ｋ２３‖Ｒ）を生成する手順と、
前記モバイルユーザが、前記第１および第２の暗号を比較してローミング先を認証する手順と、
前記モバイルユーザが、前記第３のローミングキー（Ｋ２３）と前記第２の乱数（Ｒ’）との組み合わせに一方向性関数を適用して第４のローミングキー（Ｋ２４）を生成し、さらに、前記第４のローミングキーと第２の乱数との組み合わせに所定の暗号化処理を実行して第３の暗号（Ｋ２４‖Ｒ’）を生成し、これをローミング先へ通知する手順と、
前記ローミング先が、前記第２のローミングキーと前記第２の乱数との組み合わせに一方向性関数を適用して第５のローミングキー（Ｋ２５）を生成し、さらに前記第５のローミングキーと第２の乱数との組み合わせに所定の暗号化処理を実行して第４の暗号（Ｋ２５‖Ｒ’）を生成する手順と、
前記ローミング先が、前記第３および第４の暗号を比較してモバイルユーザを認証する手順とを含むことを特徴とするローミングにおける認証方法。
【請求項７】
モバイルユーザが、自身の契約した通信事業者（ローミング元）以外の他の通信事業者（ローミング先）のサービスエリア内で、当該ローミング先との間で認証を行って通信サービスを享受するローミングにおける認証方法において、
ローミング先からローミング元へローミングマスタキー（Ｋｍ）を通知する手順と、
ローミング元が各モバイルユーザへ前記ローミングマスタキーを通知する手順と、
モバイルユーザが、第１の乱数（Ｒ）をローミング先へ通知する手順と、
前記ローミング先が、前記第１の乱数（Ｒ）およびローミングマスタキー（Ｋｍ）の組み合わせに一方向性関数を適用して第１のローミングキー（Ｋ３１）を生成し、さらに前記第１のローミングキーと第１の乱数（Ｒ）との組み合わせに所定の暗号化処理を実行して第１の暗号（Ｋ３１‖Ｒ）を生成し、これを第２の乱数（Ｒ’）と共にモバイルユーザへ通知する手順と、
モバイルユーザが、前記ローミングマスタキー（Ｋｍ）と前記第１の乱数（Ｒ）との組み合わせに一方向性関数を適用して第２のローミングキー（Ｋ３２）を生成し、さらに第２のローミングキーと前記第１の乱数との組み合わせに前記暗号化処理を実行して第２の暗号（Ｋ３２‖Ｒ）を生成する手順と、
前記モバイルユーザが、前記第１および第２の暗号を比較してローミング先を認証する手順と、
前記モバイルユーザが、前記第２のローミングキーと前記第２の乱数（Ｒ’）との組み合わせに一方向性関数を適用して第３のローミングキー（Ｋ３３）を生成し、さらに、前記第３のローミングキーと第２の乱数との組み合わせに所定の暗号化処理を実行して第３の暗号（Ｋ３３‖Ｒ’）を生成し、これをローミング先へ通知する手順と、
前記ローミング先が、前記第１のローミングキー（Ｋ３１）と前記第２の乱数（Ｒ’）との組み合わせに一方向性関数を適用して第４のローミングキー（Ｋ３４）を生成し、さらに前記第４のローミングキーと第２の乱数（Ｒ’）との組み合わせに所定の暗号化処理を実行して第４の暗号（Ｋ３４‖Ｒ’）を生成する手順と、
前記ローミング先が、前記第３および第４の暗号を比較してモバイルユーザを認証する手順とを含むことを特徴とするローミングにおける認証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、モバイルユーザが、自身の契約した通信事業者以外の他の通信事業者のサービスエリア内で、当該他の通信事業者との間で認証を行って通信サービスを享受するローミングにおける認証方法に係り、特に、鍵共有方式を適用した認証方法に関する。
【０００２】
【従来の技術】
モバイルにおけるブロードバンドアクセスとして無線ＬＡＮが注目を集めている。無線ＬＡＮアクセスのサービス形態としては、ホットスポットと呼ばれる無線ＬＡＮ基地局を設置し、その電波の届く範囲の利用者に対してネットワークアクセスを提供する形態が一般的である。この場合、利用者は自身のモバイル端末等を持って来店し、利用料金を支払って秘密情報（パスワード等）を取得し、この情報を自身のモバイル端末に入力することでサービスが利用可能となる。従来の無線ＬＡＮにおける利用者認証方式として、以下のような手法が提案されている。
▲１▼「ＷＥＰ」（Ｗｉｒｅｄ　Ｅｑｕｌｖａｌｅｎｔ　Ｐｒｉｖａｃｙ）
暗号化と認証を提供する。ユーザは５文字の英数字でパスワードを設定し、４０ｂｉｔ長の鍵を使ってデータを暗号化する。最近では、企業向けの無線ＬＡＮとしては、ＩＥＥＥ８０２．１１ｂのオプションとして規格化されている１２８ｂｉｔ長の鍵を用いたＷＥＰも登場している。
▲２▼「ＭＡＣアドレスによる認証」（Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌ　ａｄｄｒｅｓｓ　ｆｉｌｔｅｒｉｎｇ）
【０００３】
親機に接続可能な子機のＭＡＣアドレスをあらかじめ設定しておくことで、登録されていない子機端末からの不正なアクセスを防ぐ。この方法を用いた場合、ＳＳ−ＩＤに「ＡＮＹ」や「ブランク」を設定した場合でも、親機にその子機端末のＭＡＣアドレスが登録されていなければ通信できない。
▲３▼「ＭＩＳＰ」（ＭＩＳ　Ｐｒｏｔｏｃｏｌ）
【０００４】
モバイルインターネットサービス社（ＭＩＳ）が独自に開発した無線ＬＡＮ用の利用者認証および鍵交換のプロトコルであり、ユーザがモバイル端末から基地局へ、ユーザ名およびパスワードで暗号化したセッション鍵を送付すると、基地局が認証サーバに対してセション鍵の解読を要求する。認証サーバからセション鍵が返信心されると、それ以後は、モバイル端末と基地局とが前記セション鍵を利用した暗号化通信を行う。
【０００５】
【発明が解決しようとする課題】
「ＷＥＰ」を用いた方式では、同じ無線ＬＡＮ基地局下の利用者は、基本的に同じ鍵を使用するため、他の利用者への成りすましや、他の利用者の情報を盗み見ることが可能となる。「ＭＡＣアドレスによる認証」でも同様の脅威が存在するのみならず、事前に利用者のＭＡＣアドレスを全て登録しておかなければならないため、自分の管理外の利用者に対してサービスを提供することが困難である。「ＭＩＳＰ」によれば、利用者個人を認証することは可能となるが、利用者からアクセスがあった場合、認証サーバに対してリアルタイムでオンラインによる問い合わせが必要となるため、複数の通信事業者間でのローミングには不適である。さらに、「ＭＩＳＰ」ではサーバ側の成りすましについての対策を講じることが難しい。
【０００６】
本発明の目的は、上記した従来技術の課題を解決し、利用者の識別情報をローミング先の通信事業者に登録することなく、成りすましや情報の漏洩を効果的に防止できるローミングにおける認証方法を提供することにある。
【０００７】
【課題を解決するための手段】
上記した目的を達成するために、本発明は、モバイルユーザが、自身の契約した通信事業者（ローミング元）以外の他の通信事業者（ローミング先）のサービスエリア内で、当該ローミング先との間で認証を行って通信サービスを享受するローミングにおける認証方法において、
（１）ローミング元が、各モバイルユーザごとに、当該モバイルユーザに固有の識別情報ＩＤ（Ｕ）および前記ローミング先に既知の識別情報ＩＤ（ＦＳ）に基づいて第１のローミングキー（Ｋ１）を生成し、これを各モバイルユーザに予め通知する手順
（２）ローミング先のサービスエリア内に移動したモバイルユーザが、前記自身に固有の識別情報ＩＤ（Ｕ）をローミング先へ通知する手順
（３）ローミング先が、前記既知の識別情報ＩＤ（ＦＳ）および前記モバイルユーザから通知された識別情報ＩＤ（Ｕ）に基づいて第２のローミングキー（Ｋ２）を生成する手順
（４）モバイルユーザおよびローミング先が、前記第１のローミングキー（Ｋ１）と第２のローミングキー（Ｋ２）とを比較して相互に認証する手順
を含むことを特徴とする。
【０００８】
上記した特徴によれば、ローミング先では、各モバイルユーザに固有のローミングキーを、当該モバイルユーザから提供される識別情報と既登録の識別情報とに基づいて、その都度生成するので、各モバイルユーザのローミングキーを予め登録しておく必要がない。また、モバイルユーザとローミング先とが鍵共有方式により認証を行えるので、ユーザやサーバへの成りすまし、および情報の漏洩を効果的に防止できる。
【０００９】
【発明の実施の形態】
以下、図面を参照して本発明の好ましい実施の形態について詳細に説明する。図１は、本発明を適用した認証方法の基本的な考え方を示したブロック図であり、モバイルユーザが、自身の契約した通信事業者（ローミング元）以外の他の通信事業者（ローミング先）のサービスエリア内で、当該ローミング先との間で行う認証を対象としている。
【００１０】
図１において、ローミング元は、各モバイルユーザごとに、当該モバイルユーザに固有の識別情報ＩＤ（Ｕ）、および前記ローミング先に既知の識別情報として、例えば当該ローミング先に固有の識別情報ＩＤ（ＦＳ）をパラメータとする所定の関数演算に基づいて第１のローミングキーＫ１［ＩＤ（Ｕ），ＩＤ（ＦＳ）］を生成し、これを各モバイルユーザに予め通知しておく（▲１▼）。
【００１１】
その後、ローミング先のサービスエリア内に移動したモバイルユーザは、自身に固有の識別情報ＩＤ（Ｕ）をローミング先へ通知して認証を要求する（▲２▼）。認証要求されたローミング先は、前記既知の識別情報ＩＤ（ＦＳ）および前記モバイルユーザから通知された識別情報ＩＤ（Ｕ）をパラメータとする、前記所定の関数演算に基づいて第２のローミングキーＫ２［ＩＤ（Ｕ），ＩＤ（ＦＳ）］を生成する（▲３▼）。次いで、モバイルユーザおよびローミング先が、前記第１のローミングキーＫ１［ＩＤ（Ｕ），ＩＤ（ＦＳ）］および第２のローミングキーＫ２［ＩＤ（Ｕ），ＩＤ（ＦＳ）］を相互に送受して両者を比較する（▲４▼）。
【００１２】
モバイルユーザは、ローミング先から受け取った第２のローミングキーＫ２［ＩＤ（Ｕ），ＩＤ（ＦＳ）］が自身の第１のローミングキーＫ１［ＩＤ（Ｕ），ＩＤ（ＦＳ）］と一致すれば、ローミング先が識別情報ＩＤ（ＦＳ）に対応した正規のローミング先であると認証できる。ローミング先は、モバイルユーザから受け取った第１のローミングキーＫ１［ＩＤ（Ｕ），ＩＤ（ＦＳ）］が自身の第２のローミングキーＫ２［ＩＤ（Ｕ），ＩＤ（ＦＳ）］と一致すれば、このモバイルユーザが自身を正規のローミング先とするモバイルユーザであると認証できる。
【００１３】
このように、本発明によれば、ローミング先では、各モバイルユーザに固有のローミングキーを、当該モバイルユーザから提供される識別情報と既登録の識別情報とに基づいて生成するので、各モバイルユーザのローミングキーを予め登録しておく必要がない。また、モバイルユーザとローミング先とが鍵共有方式により認証を行えるので、ユーザやサーバへの成りすまし、および情報の漏洩を効果的に防止できる。
【００１４】
図２は、上記した認証手順を基本とする本発明の第１の実施形態のブロック図であり、図３は、その手順を示したシーケンス図である。
【００１５】
図２において、ローミング元のホームサーバＨＳには、当該ホームサーバＨＳに固有の識別情報ＩＤ（ＨＳ）が割り当てられている。ローミング先のホームサーバＦＳには、当該ホームサーバＦＳに固有の識別情報ＩＤ（ＦＳ）が割り当てられている。ローミング元およびローミング先は、所定の秘密関数Ｆを共有している。各モバイルユーザには、それぞれに固有の識別情報ＩＤ（Ｕｉ）（ｉ＝１〜ｎ）が予め割り当てられている。
【００１６】
このような構成において、図３のステップＳ１では、ローミング元のホームサーバＨＳが、自身の識別情報ＩＤ（ＨＳ）、ローミング先のフォーリンサーバＦＳに固有の識別情報ＩＤ（ＦＳ）および各モバイルユーザに固有の識別情報ＩＤ（Ｕｉ）を秘密関数Ｆに適用して、各ユーザに固有の第１のローミングキーＫ１１を生成し、これを、ステップＳ２において各モバイルユーザに予め配布する。なお、各モバイルユーザにはホームサーバＨＳの識別情報ＩＤ（ＨＳ）が予め通知されている。
【００１７】
その後、ローミング先の無線ＬＡＮ環境を訪れたモバイルユーザは、ステップＳ３において乱数Ｒを生成する。ステップＳ４では、自身の識別情報ＩＤ（Ｕｉ）、ローミング元のホームサーバＨＳの識別情報ＩＤ（ＨＳ）および前記乱数Ｒをローミング先のフォーリンサーバＦＳに通知して認証を要求する。
【００１８】
フォーリンサーバＦＳは、ステップＳ５において、前記受信した識別情報ＩＤ（Ｕｉ）、ＩＤ（ＨＳ）および自身の識別情報ＩＤ（ＦＳ）を秘密関数Ｆに適用して、前記ステップＳ１と同一の関数演算を実行する。さらに、この演算結果と前記受信した乱数Ｒとに基づいて第２のローミングキーＫ１２を生成する。本実施形態では、前記演算結果と乱数Ｒとを連結し、そのハッシュ値を求めて第２のローミングキーＫ１２としている。さらに、前記第２のローミングキーＫ１２で乱数Ｒの鍵付きハッシュ値を計算してメッセージ認証コード（ＭＡＣ：Ｍｅｓｓａｇｅ　Ａｕｔｈｅｎｔｉｃａｔｉｏｎ　Ｃｏｄｅ）ＭＡＣ（Ｋ１２‖Ｒ）を生成し、さらに乱数Ｒ’を生成する。ステップＳ６では、前記メッセージ認証コードＭＡＣ（Ｋ１２‖Ｒ）および乱数Ｒ’がモバイルユーザへ通知される。
【００１９】
ステップＳ７では、モバイルユーザが、前記第１のローミングキーＫ１１と乱数Ｒとの組み合わせにハッシュ関数を適用して第３のローミングキーＫ１３を独自に生成する。さらに、このローミングキーＫ１３で乱数Ｒの鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ１３‖Ｒ）を生成する。ステップＳ８では、前記自身で求めたメッセージ認証コードＭＡＣ（Ｋ１３‖Ｒ）と前記フォーリンサーバＦＳから通知されたメッセージ認証コードＭＡＣ（Ｋ１２‖Ｒ）とを比較する。
【００２０】
両者が一致すれば、前記ホームサーバＨＳが第１のローミングキーＫ１１を生成する際に利用したフォーリンサーバＦＳの識別情報ＩＤ（ＦＳ）と、ローミング先のフォーリンサーバＦＳに登録されている識別情報ＩＤ（ＦＳ）とが等しく、かつホームサーバＨＳおよびフォーリンサーバＦＳの秘密関数Ｆが同一であることが証明されるので、モバイルユーザはフォーリンサーバＦＳを正規のローミング先と認証できる。
【００２１】
モバイルユーザはさらに、ステップＳ９において、前記第３のローミングキーＫ１３と前記通知された乱数Ｒ’との組み合わせにハッシュ関数を適用して第４のローミングキーＫ１４を生成する。さらに、この第４のローミングキーＫ１４で前記通知された乱数Ｒ’の鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ１４‖Ｒ’）を生成し、ステップＳ１０において、これをフォーリンサーバＦＳへ通知する。
【００２２】
ステップＳ１１では、フォーリンサーバＦＳが前記第２のローミングキーＫ１２と乱数Ｒ’との組み合わせにハッシュ関数を適用して第５のローミングキーＫ１５を生成する。さらに、この第５のローミングキーＫ１５で乱数Ｒ’の鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ１５‖Ｒ’）を生成する。ステップＳ１２では、前記自身で求めたメッセージ認証コードＭＡＣ（Ｋ１５‖Ｒ’）と前記モバイルユーザから通知されたメッセージ認証コードＭＡＣ（Ｋ１４‖Ｒ）とを比較し、両者が一致すれば、フォーリンサーバＦＳはモバイルユーザを正規のユーザと認証する。
図４は、上記した認証手順を基本とする本発明の第２の実施形態のブロック図であり、図５は、その手順を示したシーケンス図である。上記した第１実施形態では、ホームサーバＨＳおよびフォーリンサーバＦＳが秘密関数Ｆを共有するものとして説明したが、本実施形態では、ホームサーバＨＳおよびフォーリンサーバＦＳが秘密のローミングマスタキーＫｍを共有するようにした点に特徴がある。
【００２３】
図５のステップＳ２１では、ローミング先のフォーリンサーバＦＳがローミングマスタキーＫｍを生成する。このローミングマスタキーＫｍは、ローミング元のホームサーバＨＳごとに生成され、ステップＳ２２において予め各ホームサーバＨＳに通知される。ローミング元のホームサーバＨＳは、ステップＳ２３において、ローミングを希望するモバイルユーザごとに、前記ローミングマスタキーＫｍと各モバイルユーザの識別情報ＩＤ（Ｕｉ）との組み合わせにハッシュ関数を適用して第１のローミングキーＫ２１を生成し、これを、ステップＳ２４において各モバイルユーザに予め配布する。
【００２４】
その後、ローミング先の無線ＬＡＮ環境を訪れたモバイルユーザは、ステップＳ２５において乱数Ｒを生成する。ステップＳ２６では、自身の識別情報ＩＤ（Ｕｉ）および前記乱数Ｒをローミング先のフォーリンサーバＦＳに通知して認証を要求する。
【００２５】
フォーリンサーバＦＳは、ステップＳ２７において、前記受信した識別情報ＩＤ（Ｕｉ）と前記ローミングマスタキーＫｍとの組み合わせにハッシュ関数を適用し、さらに前記乱数Ｒとの組み合わせにハッシュ関数を適用して第２のローミングキーＫ２２を生成する。さらに、前記第２のローミングキーＫ２２で乱数Ｒの鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ２２‖Ｒ）を生成し、さらに乱数Ｒ’を生成する。ステップＳ２８では、前記メッセージ認証コードＭＡＣ（Ｋ２２‖Ｒ）および乱数Ｒ’がモバイルユーザへ通知される。
【００２６】
ステップＳ２９では、モバイルユーザが、前記第１のローミングキーＫ２１と乱数Ｒとの組み合わせにハッシュ関数を適用して第３のローミングキーＫ２３を独自に生成する。さらに、このローミングキーＫ２３で乱数Ｒの鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ２３‖Ｒ）を求める。ステップＳ３０では、前記自身で求めたメッセージ認証コードＭＡＣ（Ｋ２３‖Ｒ）と前記フォーリンサーバＦＳから通知されたメッセージ認証コードＭＡＣ（Ｋ２２‖Ｒ）とを比較する。
【００２７】
両者が一致すれば、ローミング先のフォーリンサーバＦＳで生成されたローミングマスタキーＫｍとローミング元のホームサーバＨＳに登録されているローミングマスタキーＫｍとが等しいことが証明させるので、モバイルユーザはフォーリンサーバＦＳを正規のローミング先と認証できる。
【００２８】
モバイルユーザはさらに、ステップＳ３１において、前記第３のローミングキーＫ２３と前記通知された乱数Ｒ’との組み合わせにハッシュ関数を適用して第４のローミングキーＫ２４を生成する。さらに、この第４のローミングキーＫ２４で前記フォーリンサーバＦＳから通知された乱数Ｒ’の鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ２４‖Ｒ’）を生成し、ステップＳ３２において、これをフォーリンサーバＦＳへ通知する。
【００２９】
ステップＳ３３では、フォーリンサーバＦＳが前記第２のローミングキーＫ２２と乱数Ｒ’との組み合わせにハッシュ関数を適用して第５のローミングキーＫ２５を生成する。さらに、この第５のローミングキーＫ２５で乱数Ｒ’の鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ２５‖Ｒ’）を求める。ステップＳ３４では、前記自身で生成したメッセージ認証コードＭＡＣ（Ｋ２５‖Ｒ’）と前記モバイルユーザから通知されたメッセージ認証コードＭＡＣ（Ｋ２４‖Ｒ）とを比較し、両者が一致すれば、フォーリンサーバＦＳはモバイルユーザを正規のユーザと認証する。
【００３０】
なお、上記した各実施形態では、モバイルユーザがローミング先を認証（ステップＳ８，Ｓ３０）した後、第３のローミングキーＫｘ３に基づいて第４のローミングキーＫｘ４を新たに生成（ステップＳ９，Ｓ３１）し、これをローミング先へ送信するものとして説明したが、モバイルユーザがローミング先へ第３のローミングキーＫｘ３を送信し、ローミング先では、受信した第３のローミングキーＫｘ３と自身で生成した第２のローミングキーＫｘ２との比較結果に基づいてモバイルユーザを認証するようにしても良い。
【００３１】
さらに、上記した第２実施形態では、ローミング先のフォーリンサーバＦＳが各モバイルユーザを識別するものとして説明したが、図６に示した第３実施形態では、モバイルユーザの識別を省略することで認証手順を簡略化している。
【００３２】
図６のステップＳ４１では、ローミング先のフォーリンサーバＦＳがローミングマスタキーＫｍを生成する。このローミングマスタキーＫｍは、ローミング元のホームサーバＨＳの関数として生成され、ステップＳ４２において予め各ホームサーバＨＳに通知される。ローミング元のホームサーバＨＳは、ステップＳ４３において、ローミングを希望するモバイルユーザに前記ローミングマスタキーＫｍを予め配布する。
【００３３】
その後、ローミング先の無線ＬＡＮ環境を訪れたモバイルユーザは、ステップＳ４４において乱数Ｒを生成する。ステップＳ４５では、前記乱数ＲおよびホームサーバＨＳの識別情報ＩＤ（ＨＳ）をローミング先のフォーリンサーバＦＳに通知して認証を要求する。
【００３４】
フォーリンサーバＦＳは、ステップＳ４６において、前記受信した乱数Ｒと識別情報ＩＤ（ＦＳ）に対応したローミングマスタキーＫｍとの組み合わせにハッシュ関数を適用して第１のローミングキーＫ３１を生成する。さらに、このローミングキーＫ３１で乱数Ｒの鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ３１‖Ｒ）を生成し、さらに乱数Ｒ’を生成する。ステップＳ４７では、前記ＭＡＣ（Ｋ３１‖Ｒ）および乱数Ｒ’がモバイルユーザへ通知される。
【００３５】
ステップＳ４８では、モバイルユーザが、前記ローミングマスタキーＫｍと乱数Ｒとの組み合わせにハッシュ関数を適用して第２のローミングキーＫ３２を独自に生成する。さらに、このローミングキーＫ３２で乱数Ｒの鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ３２‖Ｒ）を生成する。ステップＳ４９では、前記自身で求めたメッセージ認証コードＭＡＣ（Ｋ３２‖Ｒ）と前記フォーリンサーバＦＳから通知されたメッセージ認証コードＭＡＣ（Ｋ３１‖Ｒ）とを比較する。
【００３６】
両者が一致すれば、ローミング先のフォーリンサーバＦＳで生成されたローミングマスタキーＫｍとローミング元のホームサーバＨＳに登録されているローミングマスタキーＫｍとが等しいことが証明させるので、モバイルユーザはフォーリンサーバＦＳを正規のローミング先と認証できる。
【００３７】
モバイルユーザはさらに、ステップＳ５０において、前記第２のローミングキーＫ３２と前記通知された乱数Ｒ’との組み合わせにハッシュ関数を適用して第３のローミングキーＫ３３を生成する。さらに、この第３のローミングキーＫ３３で前記フォーリンサーバＦＳから通知された乱数Ｒ’の鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ３３‖Ｒ’）を生成し、ステップＳ５１において、これをフォーリンサーバＦＳへ通知する。
【００３８】
ステップＳ５２では、フォーリンサーバＦＳが前記第１のローミングキーＫ３１と乱数Ｒ’との組み合わせにハッシュ関数を適用して第４のローミングキーＫ３４を生成する。さらに、この第４のローミングキーＫ３４で乱数Ｒ’の鍵付きハッシュ値を計算してメッセージ認証コードＭＡＣ（Ｋ３４‖Ｒ’）を求める。ステップＳ５３では、前記自身で生成したメッセージ認証コードＭＡＣ（Ｋ３４‖Ｒ’）と前記モバイルユーザから通知されたメッセージ認証コードＭＡＣ（Ｋ３３‖Ｒ）とを比較し、両者が一致すれば、フォーリンサーバＦＳはモバイルユーザを正規のユーザと認証する。
【００３９】
【発明の効果】
本発明によれば、ローミング先では、各モバイルユーザに固有のローミングキーを、当該モバイルユーザから提供される識別情報と既登録の識別情報とに基づいて、その都度生成するので、各モバイルユーザのローミングキーを予め登録しておく必要がない。また、モバイルユーザとローミング先とが鍵共有方式により認証を行えるので、ユーザやサーバへの成りすまし、および情報の漏洩を効果的に防止できる。
【図面の簡単な説明】
【図１】本発明を適用した認証方法の基本的な考え方を示したブロック図である。
【図２】第１実施形態のブロック図である。
【図３】第１実施形態の認証手順を示したシーケンス図である。
【図４】第２実施形態のブロック図である。
【図５】第２実施形態の認証手順を示したシーケンス図である。
【図６】第３実施形態の認証手順を示したシーケンス図である。
【符号の説明】ＨＳ…ホームサーバ，ＦＳ…フォーリンサーバ，Ｋ１〜Ｋ５…ローミングキー，Ｋｍ…ローミングマスタキー
【図１】
2004023365.tif 000003
【図２】
2004023365.tif 000004
【図３】
2004023365.tif 000005
【図４】
2004023365.tif 000006
【図５】
2004023365.tif 000007
【図６】
2004023365.tif 000008