(57)【特許請求の範囲】
【請求項１】
移動体のホームカバレッジ領域外のネットワークカバレッジ領域にローミングしている該移動体側でセッションキーを確立する方法において、
（Ａ）前記ネットワークから、グローバルチャレンジ信号である第１コードを受領するステップと、
（Ｂ）独自のチャレンジである第２コードと前記第１及び第２コードに対してキーによる暗号化関数を実行して生成される第３コードを生成するステップと、
（Ｃ）前記第２コードと第３コードを、前記ネットワークに送信するステップと、
（Ｄ）前記第２コードに対してキーによる暗号化関数を実行して生成された第４コードを前記ネットワークから受領するステップと、
（Ｅ）前記第４コードに基づいて、前記ネットワークを認証するステップと、
（Ｆ）ネットワークが認証された場合、前記第１コードと第２コードに基づいて、セッションキーを確立するステップと
を有することを特徴とする移動体側でセッションキーを確立する方法。
【請求項２】
（Ｇ）カウント値を得るために、前記グローバルチャレンジ信号の受領に応答して、カウンターを増分するステップ、
をさらに有し、
前記（Ｃ）のステップは前記カウント値と前記第２コードと第３コードとを、前記ネットワークに送信し、
前記（Ｆ）のステップは、前記第１コードと第２コードと前記カウント値に基づいてセッションキーを確立する
ことを特徴とする請求項１記載の方法。
【請求項３】
前記（Ａ）のステップは、第１乱数を、前記第１コードとして受信し、
前記（Ｂ）のステップは、カウント値を、前記第２コードとして得るために、カウンターを増分する
ことを特徴とする請求項１記載の方法。
【請求項４】
前記（Ｃ）のステップは、前記ネットワークに前記第２コードと第３コードと共に、ダイヤルされた番号を送信する
ことを特徴とする請求項１記載の方法。
【請求項５】
前記（Ｂ）のステップは、前記第１コードと第２コードと、前記ダイヤルされた番号に対し、キーによる暗号化関数を実行することにより、前記第３コードを生成する
ことを特徴とする請求項４記載の方法。
【請求項６】
ローミング中の移動体のホームカバレッジ領域外にカバレッジ領域を持つネットワーク側でセッションキーを確立する方法であって、
（Ａ）グローバルチャレンジ信号を第１コードとして送信するステップと、
（Ｂ）独自のチャレンジである第２コードと前記第１及び第２コードに対して実行されたキーによる暗号化関数の結果である第３コードを前記ローミング中の移動体から受領するステップと、
（Ｃ）前記第１コードと第２コードに基づいて、セッションキーを確立するステップと、
（Ｄ）第３コードと前記セッションキーに基づいて，前記ローミング中の移動体を認証するステップと、
を有することを特徴とするネットワーク側でセッションキーを確立する方法。
【請求項７】
前記（Ｂ）のステップは、カウント値を受領し、
（Ｅ）前記カウント値を記憶するステップと、
（Ｆ）前記記憶されたカウント値が、以前に登録されたカウント値よりも大きいか否かを決定するステップとを有し、
前記（Ｃ）ステップは、前記記憶されたカウント値が、前記予め登録されているカウント値よりも大きい場合には、前記第１コードと第２コードと前記カウント値に基づいて、前記セッションキーを確立する
ことを特徴とする請求項６記載の方法。
【請求項８】
前記（Ａ）のステップは、第１乱数を前記第１コードとして送信し、
前記（Ｂ）のステップは、カウント値を前記第２コードとして受領する
ことを特徴とする請求項６記載の方法。
【請求項９】
（Ｅ）前記カウント値を記憶するステップと、
（Ｆ）前記記憶したカウント値が、あらかじめ登録したカウント値よりも大きいか否かを決定するステップと、
をさらに有し、
前記（Ｃ）のステップは、前記記憶したカウント値が、前記あらかじめ登録したカウント値よりも大きい場合には、前記第１コードと第２コートに基づいて、前記セッションキーを確立する
ことを特徴とする請求項８記載の方法。
【請求項１０】
前記（Ｂ）のステップは、前記ローミング中の移動体から前記第２コードと第３コードと共にダイヤルされた番号を受領する
ことを特徴とする請求項６記載の方法。
【請求項１１】
前記（Ｂ）のステップは、前記第１コードと第２コードと、前記第３コートとしての前記ダイヤルされた番号に対し、キーによる暗号化関数を実行した結果を受領する
ことを特徴とする請求項１０記載の方法。
【請求項１２】
（Ｅ）前記移動体が認証された場合、前記第２コードに対してキーによる暗号化関数を実行して生成される第４コードを生成するステップと、
（Ｆ）前記第４コードを前記移動体に送信するステップと
をさらに有することを特徴とする請求項６記載の方法。
【請求項１３】
移動体のホームカバレッジ領域外のネットワークカバレッジ領域にローミングしている該移動体側でセッションキーを確立する方法において、
（Ａ）前記ネットワークから、独自のチャレンジ及びグローバルチャレンジの一つである第１コードを受領するステップと、
（Ｂ）カウント値を第２コードとして得るために、カウンターを増分するステップと、
（Ｃ）前記第１及び第２コードに対してキーによる暗号化関数を実行して生成される第３コードを生成するステップと、
（Ｄ）前記第２コードと第３コードを、前記ネットワークに送信するステップと、
（Ｅ）前記第２コードに対してキーによる暗号化関数を実行して生成された第４コードを前記ネットワークから受領するステップと、
（Ｆ）前記第４コードに基づいて、前記ネットワークを認証するステップと、
（Ｇ）ネットワークが認証された場合、前記第１コードと第２コードに基づいて、セッションキーを確立するステップと、
を有することを特徴とする移動体側でセッションキーを確立する方法。
【請求項１４】
前記（Ｄ）のステップは、前記第２コードと第３コードと共に、ダイヤルされた番号を前記ネットワークに送信する
ことを特徴とする請求項１３記載の方法。
【請求項１５】
前記（Ｃ）のステップは、前記第１コードと第２コードと、前記ダイヤルされた番号に対し、キーによる暗号化関数を実行することにより、前記第３コードを生成することを特徴とする請求項１４記載の方法。
【請求項１６】
ローミング中の移動体のホームカバレッジ領域外にカバレッジ領域を持つネットワーク側でセッションキーを確立する方法であって、
（Ａ）独自のチャレンジ及びグローバルチャレンジの一つである第１コードを前記ローミング中の移動体に送信するステップと、
（Ｂ）カウント値である第２コードと、前記第１及び第２コードに対して実行されたキーによる暗号化関数の結果である第３コードを、移動体から受領するステップと、
（Ｃ）前記第１コードと第２コードに基づいて、セッションキーを確立するステップと、
（Ｄ）前記第３コードと前記セッションキーに基づいて、前記ローミング中の移動体を認証するステップと、
を有することを特徴とするネットワーク側でセッションキーを確立する方法。
【請求項１７】
（Ｅ）前記カウント値を記憶するステップと、
（Ｆ）前記記憶したカウント値が、あらかじめ登録したカウント値よりも大きいか否かを決定するステップと、
をさらに有し、
前記（Ｃ）のステップは、前記記憶したカウント値が、前記あらかじめ登録したカウント値よりも大きい場合には、前記第１コードと第２コードに基づいて、前記セッションキーを確立する
ことを特徴とする請求項１６記載の方法。
【請求項１８】
前記（Ｂ）のステップは、前記ローミング中の移動体から前記第２コードと第３コードと共に、ダイヤルされた番号を受領する
ことを特徴とする請求項１６記載の方法。
【請求項１９】
前記（Ｂ）のステップは、前記第１コードと第２コードと、前記第３コードとしての前記ダイヤルされた番号に対し、キーによる暗号化関数を実行した結果を受領する
ことを特徴とする請求項１８記載の方法。
【請求項２０】
（Ｅ）前記ローミング中の移動体が認証された場合、前記第２コードに対してキーによる暗号化関数を実行して生成される第４コードを生成するステップと、
（Ｆ）第４コードを前記ローミング中の移動体に送信するステップと
を有することを特徴とする請求項１６記載の方法。
【請求項２１】
第一当事者側でセッションキーを確立する方法において、
（Ａ）第二当事者から、第１の独自のチャレンジ及びグローバルチャレンジの一つである第１コードを受領するステップと、
（Ｂ）第２の独自のチャレンジである第２コードを生成するステップと、
（Ｃ）前記第１コードと第２コードに基づいてセッションキーを確立するステップと、
（Ｄ）前記セッションキーを用いて、第１メッセージに対し、キーによる暗号化関数を実行することにより、前記第１メッセージと前記セッションキーを用いたメッセージカウント値に対して前記キーによる暗号化関数を実行して生成された第３コードを生成するステップと、
（Ｅ）前記メッセージと第２コードと第３コードを、前記第二当事者に送信するステップと、
（Ｆ）前記第二当事者から、前記セッションキーを用いて前記第２メッセージに対して実行されたキーによる暗号化関数の結果である第４コードを受領するステップと、
（Ｇ）前記第４コードに基づいて前記セッションキーを認証するステップと、
を有し、
前記第一当事者はローミング中の移動体であり、前記第二当事者は前記ローミング中の移動体のホームカバレッジ領域外にあるネットワークである、又は、
前記第一当事者は前記ローミング中の移動体のホームカバレッジ領域外にあるネットワークであり、前記第二当事者はローミング中の移動体である
ことを特徴とする移動体側でセッションキーを確立する方法。
【請求項２２】
前記（Ｆ）のステップは、第２メッセージと前記第４コードを受領する
ことを特徴とする請求項２１記載の方法。
【請求項２３】
前記（Ｆ）のステップは、第２メッセージと、メッセージカウント値と、前記第４コードとを受領し、
前記第４コードは、前記第２メッセージと前記メッセージカウント値を、前記セッションキーを用いてキーによる暗号化関数を実行した結果である
ことを特徴とする請求項２１記載の方法。
【請求項２４】
第一当事者側でセッションキーを確立する方法において、
（Ａ）第１の独自のチャレンジ及びグローバルチャレンジの一つである第１コードを第二当事者に送信するステップと、
（Ｂ）メッセージと、第２の独自のチャレンジである第２コードと、前記メッセージに対してセッションキーを用いてキーによる暗号化関数を実行した結果である第３コードを、前記第二当事者から受領するステップと、
（Ｃ）前記第１コードと第２コードに基づいて、前記セッションキーを決定するステップと、
（Ｄ）前記第３コードとセッションキーに基づいて、前記第二当事者を認証するステップと
を有し、
前記第一当事者はローミング中の移動体であり、前記第二当事者は前記ローミング中の移動体のホームカバレッジ領域外にあるネットワークである、又は、
前記第一当事者はローミング中の移動体のホームカバレッジ領域外にあるネットワークであり、前記第二当事者はローミング中の移動体である
ことを特徴とする移動体側でセッションキーを確立する方法。
【請求項２５】
前記第３コードは、前記第１メッセージとメッセージカウント値に対し、前記セッションキーを用いてキーによる暗号化関数を実行した結果である
ことを特徴とする請求項２４記載の方法。
【請求項２６】
（Ｅ）前記第二当事者が認証された場合、第４コードを生成するステップと、
（Ｆ）前記第二当事者が認証された場合、前記第４コードを前記第二当事者に送信するステップと
をさらに有することを特徴とする請求項２４記載の方法。
【請求項２７】
前記（Ｆ）のステップは、第２メッセージと前記第４コードを送信する
ことを特徴とする請求項２６記載の方法。
【請求項２８】
前記（Ｆ）のステップは、第２メッセージとメッセージカウント値と前記第４コードとを送信し、
前記第４コードは、前記第２メッセージと、前記メッセージカウント値に対し、前記セッションキーを用いて、キーによる暗号化関数を実行した結果である
ことを特徴とする請求項２６記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ワイヤレスシステムにおけるセッションキーを確立する方法に関する。
【０００２】
【従来の技術】
現在米国では、異なる表示に基づいて主に３種類のワイアレスシステムが使用されている。第１のシステムはＴＤＭＡ（ｔｉｍｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ  ｓｙｓｔｅｍ）で、これはＩＳ−１３６がその標準であり、第２のシステムはＣＤＭＡ（ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）  システムであり、その標準はＩＳ−９５で、３番面のシステムはＡＭＰＳ（Ａｄｖａｎｃｅｄ  Ｍｏｂｉｌｅ  Ｐｈｏｎｅ  Ｓｙｓｔｅｍ）である。これら３種類の通信システムは、システム間でメッセージをやりとりするのに、ＩＳ−４１標準を用いており、この標準は呼の発呼の認証手順を規定し、秘密の共有データを更新している。
【０００３】
図１は、認証センター（ＡＣ）とホーム位置登録（ＨＬＲ）１０とビジティング位置登録（ＶＬＲ）１５と移動体２０を有するワイアレスシステムを示す。複数のＨＬＲを１個のＡＣに関連づけることもできるが、同図では１対１の対応で示している。従って図１はＨＬＲとＡＣとは一体として示しているが、それらは分離可能である。さらにまた図面を単純にするために、本明細書の以下の説明ではＨＬＲとＡＣとは一体にしてＡＣ／ＨＬＲとしている。ＶＬＲは、複数の移動体交換器センター（ｍｏｂｉｌｅ  ｓｗｉｔｃｈｉｎｇ  ｃｅｎｔｅｒ＝ＭＳＣ）のうちのそれ自身に関係する１つのセンターに情報を送り、各ＭＳＣは、情報を移動体に送信するために複数の基地局（ＢＳ）の１つに情報を送る。説明を簡単にするために、ＶＬＲ，ＭＳＣ，ＢＳはＶＬＲとして示している。ネットワークプロバイダーが動作するＡＣ，ＨＬＲ，ＶＬＲ，ＭＳＣ，ＢＳは、総称してネットワークと称する。
【０００４】
Ａキーとして知られているルートキーは、ＡＣ／ＨＬＲ１０と移動体２０内に登録されている。共有秘密データ（Ｓｈａｒｅｄ  Ｓｅｃｒｅｔ  Ｄａｔａ＝ＳＳＤ）である第２キーは、移動体が移動するにつれて（即ち移動体がそのホームカバレッジ領域外にあるとき）ＶＬＲ１５に送られる。このＳＳＤは、Ａキーと暗号化アルゴリズムを用いたランダムシード（ＲＡＮＤＳＳＤ）から生成される。暗号化アルゴリズム（関数）は、可能な入力範囲に基づいて所定のビット数を有する出力を生成する関数である。キー付き暗号化関数（ｋｅｙｅｄ  ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｆｕｎｃｔｉｏｎ＝ＫＣＦ）は、キーに基づいて動作する暗号化関数の一種類であり、例えば２個以上の引き数（即ち入力）に基づいて動作する暗号化関数であり、この引き数の１つがキーである。使用中のＫＣＦの出力と知識からキーが知られない限り入力は決定できない。
【０００５】
暗号化／暗号解読アルゴリズムは、暗号化関数の１種類である。擬似ランダム関数（ｐｓｅｕｄｏ  ｒａｎｄｏｍ  ｆｕｎｃｔｉｏｎ＝ＰＲＦ）と、メッセージ認証コード（ｍｅｓｓａｇｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ＝ＭＡＣ）のような一方向関数が暗号化関数である。ＫＣＦＳＫ（ＲＮ′）は、セッショキーＳＫをキーとして用いた乱数ＲＮ′のＫＣＦの表現である。セッションキーはセッションの間存続し、そしてセッションとは、呼の長さのような時間間隔である。ＩＳ−４１のプロトコールにおいては、使用される暗号化関数は、ＣＡＶＥ（Ｃｅｌｌｕｌａｒ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｖｏｉｃｅ  Ｅｎｃｒｙｐｔｉｏｎ＝セルラ認証と音声暗号化）である。
【０００６】
移動体２０が移動すると、その領域内のビジティング位置登録（ＶＬＲ）１５がＡＣ／ＨＬＲ１０に認証リクエストを送信する。非共有モードにおいては、ＡＣ／ＨＬＲ１０は、ビジティング位置登録（ＶＬＲ）１５を通信媒体として用いて、移動体２０に関連するＳＳＤを用いて、移動体２０を認証する。しかし、共有モードにおいては、ＡＣ／ＨＬＲ１０は、移動体のＳＳＤをビジティング位置登録（ＶＬＲ）１５に送ることにより、認証リクエストに応答する。ビジティング位置登録（ＶＬＲ）１５がＳＳＤを有すると、ビジティング位置登録（ＶＬＲ）１５はＡＣ／ＨＬＲ１０とは独立に移動体２０を認証する。安全のためにＳＳＤは周期的に更新される。
【０００７】
ＳＳＤは１２８ビットの長さを有する。最初の６４ビットは、第１ＳＳＤ（ＳＳＤＡと称する）として機能し、次の６４ビットは、第２ＳＳＤ（ＳＳＤＢと称する）として機能する。ＳＳＤＡは、プロトコル中で、ＳＳＤを更新するために用いられ、移動体２０とネットワークとは、ＳＳＤＢを用いて、セッションキーを生成する。ＳＳＤを更新するに際し、ＩＳ−４１は、更新プロセスが行われている間に、相互の認証（すなわち移動体とネットワークが互いに認証し合う）を実行することにより、安全手段を提供している。しかし、セッションキーを生成するに際しては、ＩＳ−４１は、相互の認証を規定してはいない。
【０００８】
【発明が解決しようとする課題】
本発明の目的は、セッションキーを安全に形成（確立）するための方法を提供する。
【０００９】
【課題を解決するための手段】
セッションキーを確立する方法においては、ネットワークと移動体とは、互いの間でコード（符号）を送信している。移動体は、ネットワークを認証するためにこのコードを用い、一方、ネットワークは移動体を認証するためにこのコードを用いている。この相互の認証を実行することに加えて、コードは、移動体とネットワークにより使用され、セッションキーを確立している。本発明の一実施例においては、通信の効率性は、メッセージを送信し、意図したセッションの一部を、このコードにより形成することにより改善している。さらに相互認証を実行するためのコードは、メッセージに基づいて得られる。
【００１０】
【発明の実施の形態】
本発明によるセッションキーの確立方法を、図１のワイヤレスシステムを例に以下説明する。本明細書では、共有モードによる動作について述べるが、非共有モードにも、本発明は同様に適用できる。さらにまた、たくさんのセッションが存在するが、本発明の方法は、呼の発信と、呼の着呼の間のセッションキーの確立を例に説明する。公知の基地の情報、例えば移動体の識別情報（例、移動体識別番号、電子シリアル番号等）が、移動体２０とネットワークとの間でやりとりされることについては、本明細書では記載していない。
【００１１】
図２に示すように、ビジティング位置登録（ＶＬＲ）１５は、乱数発生器を用いて、乱数ＲＮを生成し、この乱数ＲＮを移動体２０にチャレンジ信号として、呼の着信リクエストと共に送信する。
【００１２】
これに応答して、移動体２０は、カウント値ＣＭを生成し、乱数ＲＮとカウント数ＣＭと、タイプデータと、ＳＳＤＡをキーとして用いたＩＤ  ｄａｔａ  ０に対し、ＫＣＦを実行する。この計算は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）として表す。好ましくは、ＫＣＦは、キー付メッセージ認証コード、例えばＨＭＡＣであるが、ＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ）から発行されている、Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ−Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ（ＤＥＳ−ＣＢＳ）のような、ＰＲＦでもよい。移動体２０は、カウント値ＣＭを生成するカウンターを有し、ネットワークからの各チャレンジ信号に対する、チャレンジ応答を生成する前に、カウント値ＣＭを増分する（すなわち、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ））。
【００１３】
タイプデータ（Ｔｙｐｅ  ｄａｔａ）は、実行されるプロトコルのタイプを表す。プロトコルのタイプは、例えば、呼の着信、呼の発信、移動体の登録等である。ＩＤｄａｔａ  ０は、移動体から発信された通信を表し、ＩＤ  ｄａｔａ  １は、ネットワークから発信された通信を表す。
【００１４】
移動体２０は、カウント値ＣＭと、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）をネットワークに送る。ビジティング位置登録（ＶＬＲ）１５は、本発明による、セッションキーを確立するためのプロトコルを含む、現在の呼着信プロトコルを開始させるので、ビジティング位置登録（ＶＬＲ）１５は、タイプデータを知っている。また、移動体からの通信は、同一の  ＩＤ  ｄａｔａ  を含むために、この値はビジティング位置登録（ＶＬＲ）１５も知っている。従って、受信したカウント値ＣＭに基づいてビジティング位置登録（ＶＬＲ）１５は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）を計算し、この計算された値が、移動体２０から受信したバージョンと一致するか否かを決定する。一致した場合には、ビジティング位置登録（ＶＬＲ）１５は移動体２０を認証する。
【００１５】
移動体２０が認証されると、ビジティング位置登録（ＶＬＲ）１５はＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＣＭ）を計算し、この計算結果を移動体２０に送る。その間、移動体２０もまた、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＣＭ）を計算する。移動体２０が、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＣＭ）の計算結果が、ビジティング位置登録（ＶＬＲ）１５から受信した計算結果と一致するか否かを識別する。一致している場合には、移動体２０は、ネットワークを認証する。
【００１６】
移動体２０とビジティング位置登録（ＶＬＲ）１５が、セッションキーＳＫをＰＲＦＡ−Ｋｅｙ（ＣＭ、ＲＮ）として生成する。ここでＰＲＦは、好ましくはＤＥＳ−ＣＢＣアルゴリズムである。
【００１７】
移動体２０は、カウント値ＣＭを、半永久メモリに記憶し、その結果パワーダウンの間、カウント値ＣＭは再度初期化されることはない。このようにして、カウント値の繰り返しが阻止される。カウント値を繰り返することは、不正侵入者の侵入を容易することになる。この実施例においては、カウント値は、乱数により初期化され、例えば、６４または７５ビットのような大きなビットカウンタを用いて生成される。これにより、移動体２０がクラッシュし、記録されたカウント値が失われたときでも、安全性が確保される。不正侵入者が、意図的に移動体をクラッシュさせるような場合でも、セッションを開始するために、少なくとも１秒以上時間がかかると仮定すると、７５ビットカウンターを用いた場合には、不正侵入者が、移動体にカウント値を繰り返させるようにさせるには、約１年以上かかる。
【００１８】
別法として、各移動体に対し、独自の乱数ＲＮを生成し送信する代わりに、ビジティング位置登録（ＶＬＲ）１５が、１つの乱数ＲＮ、すなわちすべての移動体に対して同一の乱数を生成することもできる。この実施例においては、ネットワークは、呼の着信リクエストを制御チャネル上のページングとして送信する。
【００１９】
この他の実施例は、ネットワークにモニターされる、移動体２０に対する予測応答時間は、独自の乱数ＲＮが送信される場合と同じ時に維持される時に適用可能である。別の言い方をすると、この他の実施例は、同一の乱数の有効期間が比較的短い場合に適用可能である。同一の乱数に対する有効期間を長く設定した場合には、同一の乱数の持続時間の間、ビジティング位置登録（ＶＬＲ）１５は、カウント値ＣＭを記憶し、受信したカウント値ＣＭが、予め登録されているカウント値を超えたか否かを決定する。受信したカウント値ＣＭが、予め登録されているカウント値を超えたときには、ビジティング位置登録（ＶＬＲ）１５は、移動体２０を認証しながら前に進む。受信したカウント値ＣＭが、以前に登録されたカウント値を超えない場合には、移動体２０は認証されない。新たな、同一の乱数が、ビジティング位置登録（ＶＬＲ）１５により送信されたときには、各移動体に対し、登録された値が消去され、カウント値を登録し、比較するプロセスが再び開始される。
【００２０】
図３において、移動体２０は、呼発信リクエストをビジティング位置登録（ＶＬＲ）１５に送信する。するとビジティング位置登録（ＶＬＲ）１５は、乱数発生器を用いて、乱数ＲＮを生成し、この乱数ＲＮを移動体２０に送る。
【００２１】
これに応答して移動体２０は、カウント値ＣＭを生成し、乱数ＲＮと、ダイヤルされた番号ＤＤと、カウント値ＣＭと、タイプデータと、ＳＳＤＡをキーとして用いたＩＤ  ｄａｔａ  ０に対し、ＫＣＦを実行する。この計算は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）として表される。ダイヤル番号ＤＤは、移動体のユーザが電話をしようとする相手の電話番号である。
【００２２】
移動体２０は、ダイヤル番号ＤＤと、カウント値ＣＭと、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）をネットワークに送る。ビジティング位置登録（ＶＬＲ）１５が呼発信リクエストを受領しているので、ビジティング位置登録（ＶＬＲ）１５は、タイプデータ（ｔｙｐｅ  ｄａｔａ）を知っている。従って、受信したダイヤル番号ＤＤと、カウント値ＣＭに基づいて、ビジティング位置登録（ＶＬＲ）１５は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）を計算し、この計算された値が移動体２０から受信した値と一致するか否かを決定する。一致していると、ビジティング位置登録（ＶＬＲ）１５は移動体２０を認証する。
【００２３】
移動体２０が認証されると、ビジティング位置登録（ＶＬＲ）１５はＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＣＭ）を計算し、この計算結果を移動体２０に送る。その間、移動体２０もまた、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＣＭ）を計算する。移動体２０が、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＣＭ）の計算結果が、ビジティング位置登録（ＶＬＲ）１５から受信した計算結果と一致するか否かを識別する。一致している場合には、移動体２０は、ネットワークを認証する。
【００２４】
移動体２０とビジティング位置登録（ＶＬＲ）１５が、セッションキーＳＫをＰＲＦＡ−Ｋｅｙ（ＣＭ、ＲＮ）として生成する。ここでＰＲＦは、好ましくはＤＥＳ−ＣＢＣアルゴリズムである。
【００２５】
上記で議論したように、移動体２０は、カウント値をＣＭを半永久メモリに記憶し、そしてカウント値は、乱数を用いて初期化され、６４または７５ビットカウンターのような、大きなビットカウンターを用いて生成される。
【００２６】
別法として、各移動体に対し独自の乱数ＲＮを生成し送信する代わりに、ビジティング位置登録（ＶＬＲ）１５が、１つの乱数ＲＮ、すなわちすべての移動体に対して同一の乱数を生成することもできる。
【００２７】
この他の実施例は、ネットワークにモニターされる、移動体２０に対する予測応答時間が、独自の乱数ＲＮが送信される場合と同じに維持される場合に適用可能である。別の言い方をすると、この他の実施例は、同一の乱数の有効期間が、比較的短い場合に適用可能である。同一の乱数に対する有効期間を長く設定した場合には、同一の乱数の持続時間の間、ビジティング位置登録（ＶＬＲ）１５は、カウント値ＣＭを記憶し、受信したカウント値ＣＭが、予め登録されているカウント値を超えたか否かを決定する。受信したカウント値ＣＭが、予め登録されているカウント値を超えたときには、ビジティング位置登録（ＶＬＲ）１５は、移動体２０を認証しながら次に進む。受信したカウント値ＣＭが、以前に登録されたカウント値を超えない場合には、移動体２０は認証されない。新たな同一の乱数が、ビジティング位置登録（ＶＬＲ）１５により送信されたときには、各移動体に対し、登録された値が消去され、カウント値を登録し、比較するプロセスが、再び開始される。
【００２８】
図４に示すように、ビジティング位置登録（ＶＬＲ）１５は、乱数発生器を用いて乱数ＲＮを生成し、この乱数ＲＮをグローバルチャレンジ信号（ｇｌｏｂａｌ  ｃｈａｌｌｅｎｇｅ）として送信する。移動体２０との間の呼の着信用にセッションキー確立したときには、ビジティング位置登録（ＶＬＲ）１５は、呼の着信リクエストを、制御チャネル上で移動体２０にページングとして送ることができる。
【００２９】
これに応答して移動体２０は、乱数発生器を用いて乱数ＲＭを生成し、乱数ＲＭと、乱数ＲＮと、タイプデータ（ｔｙｐｅ  ｄａｔａ）と、ＳＳＤＡをキーとして用いたＩＤ  ｄａｔａ  ０に対し、ＫＣＦを実行する。この計算は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）として表される。好ましくは、ＫＣＦは、ＨＭＡＣのようなキー付メッセージ認証コードであるが、ＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ）からの  Ｄａｔｅ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ−Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ（ＤＥＳ−ＣＢＳ）のようなＰＲＦでもよい。
【００３０】
移動体２０は、乱数ＲＮとＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）をネットワークに送る。ビジティング位置登録（ＶＬＲ）１５は、受信した乱数ＲＮに基づいてＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ）を計算し、この計算した値が、移動体２０から受信した値と一致するかを決定する。一致する場合には、ビジティング位置登録（ＶＬＲ）１５は、移動体２０を認証する。
【００３１】
移動体２０が認証されると、ビジティング位置登録（ＶＬＲ）１５はＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＲＭ）を計算し、この計算結果を移動体２０に送る。その間、移動体２０もまた、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＲＭ）を計算する。移動体２０が、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＲＭ）の計算結果が、ビジティング位置登録（ＶＬＲ）１５から受信した計算結果と一致するか否かを識別する。一致している場合には、移動体２０は、ネットワークを認証する。
【００３２】
移動体２０とビジティング位置登録（ＶＬＲ）１５が、セッションキーＳＫをＰＲＦＡ−Ｋｅｙ（ＲＭ、ＲＮ）として生成する。ここでＰＲＦは、好ましくはＤＥＳ−ＣＢＣアルゴリズムである。
【００３３】
この他の実施例は、ネットワーク用にモニターされる、移動体２０に対する予測応答時間が、独自の乱数ＲＮが送信される場合と同じに維持される場合に適用可能である。別の言い方をすると、この他の実施例は、同一の乱数の有効期間が、比較的短い場合に適用可能である。同一の乱数に対する有効期間を長く設定した場合には、移動体２０は、乱数ＲＭに加えてさらに、カウント値ＣＴを生成する。
【００３４】
具体的に説明すると、新たなグローバル乱数ＲＮを受信すると、移動体２０は、その中に含まれるカウンターを初期化する。移動体２０が、乱数ＲＭとチャレンジ応答を生成するごとに、移動体２０は、カウンターを増分して、カウント値ＣＴを得る。さらにまた、移動体２０により生成されたチャレンジ応答は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＣＭ、ＲＮ、ＣＴ）であり、移動体２０は、カウント値ＣＴと、乱数ＲＭと、このチャレンジ応答をネットワークに送信する。ビジティング位置登録（ＶＬＲ）１５は、グローバル乱数ＲＮの持続時間に対し、各移動体から受信したカウント値を記憶し、移動体から受信したカウント値ＣＴが、その移動体に対する、予め登録されているカウント値を超えるか否かを決定する。受信したカウント値ＣＴが、予め登録されているカウント値を超える場合には、ビジティング位置登録（ＶＬＲ）１５は、移動体２０を認証して次に進む。受信したカウント値ＣＴが前に登録したカウント値を超えない場合には、移動体２０は、認証されない。
【００３５】
ビジティング位置登録（ＶＬＲ）１５が移動体２０を認証して先に進む場合には、ビジティング位置登録（ＶＬＲ）１５は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＲＭ、ＣＴ）のチャレンジ応答を生成し送信する。さらにまた、セッションキーを生成するときには、移動体２０とビジティング位置登録（ＶＬＲ）１５は、セッションキーをＰＲＦＡ−Ｋｅｙ（ＲＭ、ＲＮ、ＣＴ）として計算する。
【００３６】
図５において、移動体２０は、呼発信リクエストをビジティング位置登録（ＶＬＲ）１５に送る。これに対しビジティング位置登録（ＶＬＲ）１５は、乱数発生器を用いて、乱数ＲＮを生成し、この乱数ＲＮをグローバルチャレンジ信号として送信する。
【００３７】
移動体のユーザが、電話をかけるためにダイヤル番号をダイヤルすると、移動体２０は、乱数発生器を用いて、乱数ＲＭを生成し、乱数ＲＮとダイヤル番号ＤＤと、乱数ＲＭと、タイプデータ（Ｔｙｐｅ  ｄａｔａ）と、ＳＳＤＡをキーとして用いた  ＩＤ  ｄａｔａ  ０に対し、ＫＣＦを実行する。この計算は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＲＭ、ＲＮ、ＤＤ）として表される。
【００３８】
移動体２０は、ダイヤル番号ＤＤと、乱数ＲＭと、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＲＭ、ＲＮ、ＤＤ）をネットワークに送る。受信したダイヤル番号と、乱数ＲＭに基づいて、ビジティング位置登録（ＶＬＲ）１５は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＲＭ、ＲＮ、ＤＤ）を計算し、この計算した値が移動体２０から受信した値と一致するか否かを決定する。一致する場合には、ビジティング位置登録（ＶＬＲ）１５は移動体２０を認証する。
【００３９】
移動体２０が認証されると、ビジティング位置登録（ＶＬＲ）１５はＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＲＭ）を計算し、この計算結果を移動体２０に送る。その間、移動体２０もまた、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＲＭ）を計算する。移動体２０が、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＲＭ）の計算結果が、ビジティング位置登録（ＶＬＲ）１５から受信した計算結果と一致するか否かを識別する。一致している場合には、移動体２０は、ネットワークを認証する。
【００４０】
移動体２０とビジティング位置登録（ＶＬＲ）１５が、セッションキーＳＫをＰＲＦＡ−Ｋｅｙ（ＲＭ、ＲＮ）として生成する。ここでＰＲＦは、好ましくはＤＥＳ−ＣＢＣアルゴリズムである。
【００４１】
この他の実施例は、ネットワーク用にモニターされる、移動体２０に対する予測応答時間が、独自の乱数ＲＮが送信される場合と同じに維持される場合に適用可能である。別の言い方をすると、この他の実施例は、同一の乱数の有効期間が、比較的短い場合に適用可能である。同一の乱数に対する、有効期間が長く設定した場合には、移動体２０は、乱数ＲＭに加えてさらにカウント値ＣＴを生成する。
【００４２】
具体的に説明すると、新たなグローバル乱数ＲＮを受信すると、移動体２０は、その中に含まれるカウンターを初期化する。移動体２０が、乱数ＲＭとチャレンジ応答を生成するごとに、移動体２０は、カウンターを増分して、カウント値ＣＴを得る。さらにまた、移動体２０により生成されたチャレンジ応答は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、０、ＲＭ、ＲＮ、ＤＤ、ＣＴ）であり、移動体２０は呼発信リクエストと、ダイヤル番号ＤＤと、カウント値ＣＴと、乱数ＲＭと、このチャレンジ応答をネットワークに送る。ビジティング位置登録（ＶＬＲ）１５は、グローバル乱数ＲＮの持続時間の間、各移動体から受信したカウント値を記憶し、移動体から受信したカウント値ＣＴが、その移動体に対し、予め登録されているカウント値を超えるか否かを決定する。受信したカウント値ＣＴが、あらかじめ登録したカウント値を超える場合には、ビジティング位置登録（ＶＬＲ）１５は、移動体２０を認証して次に進む。受信したカウント値ＣＴが、あらかじめ登録したカウント値を超えない場合には、移動体２０は認証されない。
【００４３】
ビジティング位置登録（ＶＬＲ）１５が移動体２０を認証して、先に進む場合には、ビジティング位置登録（ＶＬＲ）１５は、ＫＣＦＳＳＤＡ（Ｔｙｐｅ、１、ＲＭ、ＣＴ）のチャレンジ応答を生成し、送信する。従って、グローバル乱数ＲＮを用いた場合には、セッションキーを確立するために、２回の往復通信が必要なだけである。さらにまた、セッションキーを生成する際に、移動体２０とビジティング位置登録（ＶＬＲ）１５は、セッションキーをＰＲＦＡ−Ｋｅｙ（ＲＭ、ＲＮ、ＣＴ）として計算する。
【００４４】
次に、本発明の第３の実施例について説明する。従来のワイヤレスシステムにおいては、セッションキーを確立した後、メッセージは、移動体２０とネットワークとの間で送信される。本発明の第３の実施例は、メッセージの初期転送を、セッションキーを確立するための通信の一部として組み込むことにより、通信効率を改善している。
【００４５】
図６においては、ビジティング位置登録（ＶＬＲ）１５は、乱数発生器を用いて、乱数ＲＮを生成し、この乱数を呼着信リクエストと共に移動体２０に送る。
【００４６】
これに応答して移動体２０は、乱数ＲＭを生成し、セッションキーＳＫをＰＲＦＡ−Ｋｅｙ（ＲＭ、ＲＮ）として計算する。通常、公知の方法で移動体２０は、メッセージＸＭとそれに関連する移動体メッセージカウント値ＣＴＭを生成する。メッセージと、メッセージカウント値の生成は、従来公知であるので、このプロセスには詳述しない。
【００４７】
その後移動体２０は、メッセージＸＭと、カウント値ＣＴＭと、セッションキーＳＫをキーとして用いた移動体  ＩＤ  ｄａｔａ  ｏｆ  ０に対し、ＫＣＦを実行して、認証タグを生成する。この計算は、ＫＣＦＳＫ（０、ＣＴＭ、ＸＭ）で表される。好ましくは、ＫＣＦは、キー付メッセージ認証コード、例えばＨＭＡＣであるが、ＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ）から発行されている、Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ−Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ（ＤＥＳ−ＣＢＳ）のような、ＰＲＦでもよい。
【００４８】
移動体２０は、このメッセージカウント値ＣＴＭと、乱数ＲＭと、メッセージＸＭと、ＫＣＦＳＫ（０、ＣＴＭ、ＸＭ）の認証タグをネットワークに送る。受領した乱数ＲＭに基づいてビジティング位置登録（ＶＬＲ）１５は、移動体２０が行ったのと同様にセッションキーＳＫを計算する。ビジティング位置登録（ＶＬＲ）１５はまた、受領したメッセージＸＭと、カウント値ＣＴＭとに基づいて、ＫＣＦＳＫ（０、ＣＴＭ、ＸＭ）を計算し、この計算値が移動体２０から受領した値と一致するか否かを決定する。一致する場合には、ビジティング位置登録（ＶＬＲ）１５は移動体２０に認証を与える。
【００４９】
ビジティング位置登録（ＶＬＲ）１５が移動体２０を認証すると、ビジティング位置登録（ＶＬＲ）１５はメッセージＸＭと、メッセージカウント値ＣＴＭとを、通常公知の方法で処理し、ネットワークメッセージＸＮと、ネットワークメッセージカウント値ＣＴＮを公知の方法で生成する。これらの処理は公知であるため、詳述しない。
【００５０】
ビジティング位置登録（ＶＬＲ）１５はさらに、ＫＣＦＳＫ（１、ＣＴＮ、ＸＮ）の認証タグを計算する。ここで１は、ネットワーク  ＩＤ  ｄａｔａ  であり、この認証タグをメッセージＸＮと、メッセージカウント値ＣＴＮと共に移動体２０に送る。移動体２０はこの受領したメッセージＸＮと、カウント値ＣＴＮに基づいて、ＫＣＦＳＫ（１、ＣＴＮ、ＸＮ）を計算する。その後移動体２０は、ＫＣＦＳＫ（１、ＣＴＮ、ＸＮ）の計算結果が、ビジティング位置登録（ＶＬＲ）１５から受信した値と一致するか否かを認証する。一致する場合には、移動体２０は、ネットワークに認証を与え、かくして、セッションキーＳＫを認証する。
【００５１】
別法として、各移動体に対し、独自の乱数ＲＮを生成し、送信する代わりに、ビジティング位置登録（ＶＬＲ）１５が、１つの乱数ＲＮ、すなわちすべての移動体に対して同一の乱数を生成することもできる。この実施例においては、ネットワークは、呼着信リクエストを、制御チャネル上のページングとして送信する。
【００５２】
この他の実施例は、ネットワーク用にモニターされる、移動体２０に対する予測応答時間が、独自の乱数ＲＮが送信される場合と同じに維持される場合に適用可能である。別の言い方をすると、この他の実施例は、同一の乱数の有効期間が、比較的短い場合に適用可能である。同一の乱数に対する、有効期間が長く設定した場合には、移動体２０は、乱数ＲＭに加えてさらにカウント値ＣＴを生成する。
【００５３】
具体的に説明すると、新たなグローバル乱数ＲＮを受信すると、移動体２０は、その中に含まれるカウンターを初期化する。移動体２０が、乱数ＲＭとチャレンジ応答を生成するごとに、移動体２０は、カウンターを増分して、カウント値ＣＴを得る。さらにまた移動体２０は、カウント値ＣＴをメッセージカウント値ＣＴＭと、乱数ＲＭと、メッセージＸＭと、認証タグと共に送る。ビジティング位置登録（ＶＬＲ）１５は、各移動体から、グローバル乱数ＲＮの間に受信したカウント値数を記憶し、移動体から受信したカウント値ＣＴが、その移動体に対し、以前に登録したカウント値を、超えるか否かを決定する。受領したカウント値ＣＴが、あらかじめ登録してあるカウント値を超える場合には、ビジティング位置登録（ＶＬＲ）１５は移動体２０を認証して、次に進む。受領したカウント値ＣＴが、以前に登録したカウント値を超えない場合には、移動体２０は認証しない。さらにまた、セッションキーを生成する際には、移動体２０とビジティング位置登録（ＶＬＲ）１５は、セッションキーをＰＲＦＡ−Ｋｅｙ（ＲＭ、ＲＮ、ＣＴ）として計算する。
【００５４】
図７において、ダイヤルされた番号ＤＤを、移動体の使用者から受領すると、移動体２０は、乱数発生器を用いて、乱数ＲＭを生成する。同図に示すように、移動体２０は、呼の発生リクエストと、乱数ＲＭと、ダイヤルされた番号ＤＤをビジティング位置登録（ＶＬＲ）１５に送る。
【００５５】
これに応答してビジティング位置登録（ＶＬＲ）１５は、乱数ＲＭを生成し、セッションキーＳＫをＰＲＦＡ−Ｋｅｙ（ＲＭ、ＲＮ、）として計算する。ビジティング位置登録（ＶＬＲ）１５は、メッセージＸＮと、それに関連する移動体メッセージカウント値ＣＴＮを生成する。メッセージの生成と、メッセージカウント値の生成は、従来公知であるため、この処理は詳述しない。
【００５６】
その後ビジティング位置登録（ＶＬＲ）１５は、セッションキーＳＫをキーとして用いて、メッセージＸＮと、カウント値ＣＴＮと、１のネットワークＩＤ  ｄａｔａに対し、ＫＣＦを実行し、認証タグを生成する。この計算は、ＫＣＦＳＫ（１、ＣＴＮ、ＸＮ）で表される。
【００５７】
ビジティング位置登録（ＶＬＲ）１５は、メッセージカウント値ＣＴＮと、乱数ＲＮと、メッセージＸＮと、ＫＣＦＳＫ（１、ＣＴＮ、ＸＮ）の認証タグを移動体２０に送る。受領した乱数に基づいて、移動体２０は、ビジティング位置登録（ＶＬＲ）１５が行ったのと同様な方法で、セッションキーＳＫを計算する。移動体２０はまた、受領したメッセージＸＮと、カウント値ＣＴＮに基づいて、ＫＣＦＳＫ（１、ＣＴＮ、ＸＮ）を計算し、この計算結果がビジティング位置登録（ＶＬＲ）１５から受領した値と一致するか否かを決定する。一致した場合には、移動体２０はビジティング位置登録（ＶＬＲ）１５に認証を与える。
【００５８】
移動体２０がビジティング位置登録（ＶＬＲ）１５を認証すると、移動体２０は、メッセージＸＮと、メッセージカウント値ＣＴＮを公知の方法で処理し、ネットワークメッセージＸＭと、ネットワークメッセージカウント値ＣＴＭを公知の方法で生成する。こられの処理は公知であるため、詳述しない。
【００５９】
移動体２０はさらに、ＫＣＦＳＫ（０、ＣＴＭ、ＸＭ）の認証タグを計算する。ここで、０は、移動体ＩＤ  ｄａｔａ  であり、この認証タグをビジティング位置登録（ＶＬＲ）１５にメッセージＸＭと、メッセージカウント値ＣＴＭと共に送る。ビジティング位置登録（ＶＬＲ）１５は、受領したメッセージＸＭと、カウント値ＣＴＭに基づいて、ＫＣＦＳＫ（０、ＣＴＭ、ＸＭ）を計算する。この後、ビジティング位置登録（ＶＬＲ）１５は、ＫＣＦＳＫ（０、ＣＴＭ、ＸＭ）の計算結果が、移動体２０から受領した値と一致するか否かを認証する。一致する場合には、ビジティング位置登録（ＶＬＲ）１５は、移動体２０を認証し、かくしてセッションキーＳＫを認証する。
【００６０】
別法として、各移動体に対し、独自の乱数ＲＮを生成し、送信する代わりに、ビジティング位置登録（ＶＬＲ）１５が、１つの乱数ＲＮ、すなわちすべての移動体に対して同一の乱数を生成することもできる。
【００６１】
この他の実施例は、ネットワーク用にモニターされる、移動体２０に対する予測応答時間が、独自の乱数ＲＮが送信される場合と同じに維持される場合に適用可能である。別の言い方をすると、この他の実施例は、同一の乱数の有効期間が、比較的短い場合に適用可能である。同一の乱数に対する、有効期間が長く設定した場合には、移動体２０は、乱数ＲＭに加えてさらに、カウント値ＣＴを生成する。
【００６２】
具体的に説明すると、新たなグローバル乱数ＲＮを受信すると、移動体２０は、その中に含まれるカウンターを初期化する。移動体２０が、乱数ＲＭと認証タグを生成するごとに、移動体２０は、カウンターを増分して、カウント値ＣＴを得る。さらにまた移動体２０は、カウント値ＣＴを呼発信リクエストと共に送る。ビジティング位置登録（ＶＬＲ）１５は、グローバル乱数ＲＮの間、各移動体から受領したカウント値を記録し、移動体から受領したカウント値ＣＴが、その移動体に対しあらかじめ登録してあったカウント値を超えるか否かを決定する。受領したカウント値ＣＴが、あらかじめ登録してあったカウント値を超えると、ビジティング位置登録（ＶＬＲ）１５は移動体２０を認証して次に進む。受領したカウント値ＣＴが、あらかじめ登録してあったカウント値を超えない場合には、移動体２０は認証しない。さらにまた、セッションキーの生成においては、移動体２０とビジティング位置登録（ＶＬＲ）１５は、セッションキーをＰＲＦＡ−Ｋｅｙ（ＲＭ、ＲＮ、ＣＴ）として計算する。
【００６３】
【発明の効果】
以上述べたように本発明の方法は、相互認証を実行することにより、従来技術に比較して安全性を改善することができる。
【図面の簡単な説明】
【図１】ワイヤレスシステムの基本的な構成要素を表すブロック図。
【図２】本発明の第１実施例により、呼が着信されている間、セッションキーを確立するために、ネットワークと移動体との間の通信状態を示す図。
【図３】本発明の第１実施例により、呼が発信されている間、セッションキーを確立するために、ネットワークと移動体との間の通信状態を示す図。
【図４】本発明の第２実施例により、呼が着信している間、セッションキーを確立するために、ネットワークと移動体との間の通信状態を示す図。
【図５】本発明の第２実施例により、呼が発信されている間、セッションキーを確立するために、ネットワークと移動体との間の通信状態を示す図。
【図６】本発明の第３実施例により、呼が着信している間、セッションキーを確立するために、ネットワークと移動体との間の通信状態を示す図。
【図７】本発明の第３実施例により、呼が発信されている間、セッションキーを確立するために、ネットワークと移動体との間の通信状態を示す図。
【符号の説明】
１０  ホーム位置登録（ＨＬＲ）
１５  ビジティング位置登録（ＶＬＲ）
２０  移動体
【図１】
0003553428.tif 000002
【図２】
0003553428.tif 000003
【図３】
0003553428.tif 000004
【図４】
0003553428.tif 000005
【図５】
0003553428.tif 000006
【図６】
0003553428.tif 000007
【図７】
0003553428.tif 000008