(57)【特許請求の範囲】
【請求項１】
第１の局と第２の局とのあいだの通信を該第１および第２の局によって信頼されている第３の局を用いて認証するための認証方法であって、
前記第１の局のパラメータを用いて第１の認証出力の値と、該第１の認証出力を用いて第２の認証出力の値とを前記信頼された第３の局によって計算し、該第２の認証出力を前記第２の局に送る工程、
前記第１の局によって第１の認証出力を計算し、該第１の認証出力を前記第２の局に送る工程、および
前記第１の局から受け取られた第１の認証出力に基づいて第２の認証出力を前記第２の局によって計算し、当該計算された第２の認証出力と前記第３の局から受け取られた第２の認証出力とを比較する工程からなり、２つの第２の認証出力が同じである場合に、第１の局が第２の局によって認証される方法。
【請求項２】
前記第１の局が前記第２の局を認証するために、前記方法が、前記第１の局によって第２の認証出力の値を計算する工程と、前記信頼された第３の局によって計算された第２の認証出力を前記第２の局を経由して前記第１の局に送る工程、および前記第１の局において、前記第１の局によって計算された第２の認証出力の計算値と前記第３の局によって計算された第２の認証出力の値とを比較する工程を備える請求項１記載の方法。
【請求項３】
第１および第２の認証出力のうちの少なくとも１つがハッシュ関数の出力である請求項１または２記載の方法。
【請求項４】
前記第１および第２の認証出力の両方がハッシュ関数の出力であり、前記ハッシュ関数が一方向である請求項３記載の方法。
【請求項５】
前記ハッシュ関数の少なくとも１つが少なくとも１６０ビット長の値を有してなる請求項３または４記載の方法。
【請求項６】
前記ハッシュ関数の少なくとも１つが、前記第１および第２の局によって共有される秘密Ｓを含み、
前記ハッシュ関数の計算式は、あるｘに対するｈａｓｈ関数［Ｘ］（Ｓ｜ｘ）の値を推測できる確率が１／Ｏ（ｍｉｎ（２l，｜Ｑ｜）であり、該Ｏは「のオーダー」を表わし、該Ｑはキーされるハッシュ関数で使用される秘密Ｓがその中から選び出される集合である請求項３、４または５記載の方法。
【請求項７】
前記共有される秘密Ｓがディッフィー−ヘルマンキー交換によって得られる秘密である請求項６記載の方法。
【請求項８】
前記ディッフィー−ヘルマンキー交換によって得られる共有された秘密が少なくとも１つの局によって用いられ、前記第１および第２の局間の通信を暗号化してなる請求項７記載の方法。
【請求項９】
前記ディッフィー−ヘルマンキー交換によって得られる共有された秘密がｇxyｍｏｄ  ｎであり、ｇがディッフィー−ヘルマンキー交換の生成元であり、ｘおよびｙがランダムな数であり、ｎが該ディッフィー−へルマンキー交換のモジュラスである請求項７または８記載の方法。
【請求項１０】
前記ｘおよびｙの少なくとも１つのランダムな数が変化するときに、ディッフィー−ヘルマンキー交換によって得られるキーの更新が起きる請求項９記載の方法。
【請求項１１】
少なくとも１つの認証出力の値が、前記第１の局から第２の局に送られてなる請求項１、２、３、４、５、６、７、８、９または１０記載の方法。
【請求項１２】
少なくとも１つの認証出力の値が、前記第２の局から第１の局に送られてなる請求項１、２、３、４、５、６、７、８、９、１０または１１記載の方法。
【請求項１３】
前記信頼された第３の局が前記第２の局との接続を有してなり、該接続が安全であり認証されていることを特徴とする請求項１、２、３、４、５、６、７、８、９、１０、１１または１２記載の方法。
【請求項１４】
前記第１および第２の局の少なくとも１つのアイデンティティが前記第１および第２の認証出力の１つを決定するために使用される請求項１、２、３、４、５、６、７、８、９、１０、１１、１２または１３記載の方法。
【請求項１５】
前記アイデンティティが暗号化された形で送られる請求項１４記載の方法。
【請求項１６】
当該方法が無線通信ネットワークに用いられる請求項１、２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４または１５記載の方法。
【請求項１７】
前記第１および第２の局のうちの１つが移動局である請求項１６記載の方法。
【請求項１８】
前記第１および第２の局のうちの１つが基地局である請求項１７記載の方法。
【請求項１９】
第３の局を用いた第２の局との通信のための第１の局であって、
該第３の局が該第１および第２の局によって信頼されており、
前記第２の局からの第１の認証出力と、前記信頼された第３の局からの第２の認証出力とを受け取るための受け取り手段と、
前記第２の局から受け取られた第１の認証出力から第２の認証出力を計算するための計算手段と、
前記計算された第２の認証出力と前記信頼された第３の局から受け取られた第２の認証出力とを比較するための比較手段
とを備え、
２つの第２の認証出力が同一である場合、前記第２の局を認証する第１の局。
【請求項２０】
前記第１の局が基地トランシーバ局である請求項１９記載の第１の局。
【発明の詳細な説明】
【０００１】
本発明は、限定的ではないが、たとえば、無線セルラー電気通信網で使用するための認証方法に関し、この方法を使用するシステムにも関する。
【０００２】
典型的なセルラー無線網１は、図１に図示されている。ネットワークによりカバーされている領域は、数多くのセル２に分けられる。それぞれのセル２は、ある特定のトランシーバ局４と関連付けられた各セルに位置している端末６に信号を送信し、そこから信号を受信する基地トランシーバ局４によってサービスを受ける。端末は、セル２のあいだで移動することができる移動局であってよい。端末６と基地トランシーバ局４間の信号の送信は電波を介しているため、無許可のサードパーティがそれらの信号を受信することが可能である。
【０００３】
その結果、既知の無線セルラー網においては、認証が正しい移動体を特定するために提供され、暗号化がサードパーティが盗聴するのを防ぐために使用される。図２に図解されているのは、ＧＳＭ（汎欧州デジタル移動電話方式）規格で実行される手順である。第１ステップＳ１では、移動局ＭＳが、基地局を介して移動通信サービス交換センタ（ＭＳＳＣ）に対し発信コールの要求を行なう。ビジタロケーションレジスタ（ＶＬＲ）は、移動サービス交換センタを介してこの要求を知らされる。ＶＬＲが、認証手順を支配する。
【０００４】
各移動端末には、ＧＳＭ規格においてはＩＭＳＩ（国際移動加入者アイデンティティ）番号と呼ばれることもある識別番号が与えられている。ＭＳＳＣは、移動体のＩＭＳＩをＶＬＲに転送する。ＩＭＳＩに関する情報は、初期に移動局によって提供される。それから、ＶＬＲは、第２ステップＳ２において、ＶＬＲのアイデンティティとともにＩＭＳＩを移動体のホームロケーションレジスタＨＬＲに対して送信する。これが、あらゆる着信コールをその現在位置にある移動局に向けることができることを確実にする。ＨＬＲがいったんＩＭＳＩを受信すると、移動加入者の暗号化キーＫＩに対する要求が、認証センタＡＣに対して行なわれる。暗号化キーＫＩは、移動局だけではなく、認証局ＡＣの両方でも存在する。
【０００５】
第３ステップＳ３では、認証センタが、暗号キーＫＩおよび乱数を使用し、シグナチャＳＲＥＳおよびコーディングを振り向けるために使用される暗号化キーＫｃを生成する。乱数、暗号化キーＫｃおよびシグナチャＳＲＥＳが、単一の通信だけに使用されるトリプレットを構成する。認証センタＡＣによって循環される各トリプレットは、関連付けられるビジタロケーションレジスタＶＬＲおよび移動サービス交換センタＭＳＳＣに転送される。
【０００６】
ステップＳ４においては、ＶＬＲは暗号化キーＫｃの値を基地局制御装置（図示されていない）に、および乱数の値を移動局に伝える。
【０００７】
それから、移動局は、認証センタによって使用される同じアルゴリズムに基づいてシグナチャＳＲＥＳを計算し、そのシグナチャは、ステップＳ５で、ＶＬＲに送信される。移動局で生成されるシグナチャは、移動加入者暗号化キーＫＩ、およびそれがＶＬＲから受信する乱数に基づいている。認証は、移動局により生成されるシグナチャＳＲＥＳが認証センタＡＣにより生成されるシグナチャと同じであるときに完了したと見なされる。いったん認証手順が完了されると、送信されるデータは、暗号化キーＫｃ、および符号化された形式でＶＬＲによって移動局に提供される一時的移動加入者アイデンティティ（ＴＭＳＩ）を使用して暗号化される。
【０００８】
認証手順を改善し、通信をより安全にすることが、本発明の実施態様の目的である。
【０００９】
本発明の１つの態様によると、第１パーティ（当事者）と第２パーティ間の通信を、前記第１パーティおよび第２パーティによって信頼されるサードパーティを使用して認証するための方法であって、信頼されるサードパーティによって第１パーティのパラメータを使用する第１認証出力、および第１認証出力を使用する第２認証出力の値を計算し、第２認証出力を第２パーティに送信するステップと、第１認証出力を第１パーティによって計算し、第１認証出力を第２パーティに送信し、第１パーティから受信される第１認証出力に基づいて第２認証出力を第２パーティによって計算し、計算された第２認証出力を信頼されるサードパーティから受信される第２認証出力と比較し、それにより２つの第２認証出力が同じである場合に、第１パーティが認証されるステップとを備える認証方法が提供される。
【００１０】
この発明の方法は、第１パーティによって第２認証出力を計算するステップと、信頼されるサードパーティによって計算される第２認証出力の値を前記第１パーティに送信するステップと、第１パーティにおいて第１パーティにより計算された第２認証出力の計算値と、サードパーティが関与した第２認証出力値を比較し、それにより第２パーティが認証されるステップとを備えていてもよい。
【００１１】
好ましくは、信頼されるサードパーティにより計算される第２認証出力は、第２の局（パーティ）によって第１パーティに送信される。
【００１２】
好ましくは、第１認証出力および第２認証出力の少なくとも１つおよび複数、好ましくは両方ともハッシュ関数の出力である。二重ハッシュ関数の使用は、とくに、通信の安全な方法を提供する上で有利である。
【００１３】
第１ハッシュ関数および第２ハッシュ関数の両方とも、好ましくは１方向である。つまり、サードパーティが、少なくとも１つのパラメータの値を決めることは、事実上不可能である。好ましくは、ハッシュ関数の少なくとも１つが、長さが少なくとも１６０ビットの値を有する。ハッシュ関数の値は、言うまでもなくさらに長い、またはさらに短くてもよい。しかしながら、ハッシュ関数が長くなるほど、それが許可されたパーティによって暗号解読されるのは困難になる。
【００１４】
未許可パーティが前記ハッシュ関数のうちの少なくとも１つの値を知ることができる確率は、多くても約１／２160であるのが好ましい。言い替えると、ハッシュ関数の値を推測する確率は、少なくとも１つのパラメータが未知である場合にはごくわずかである。これにより、再び、パーティ間の通信の機密保護が高まる。
【００１５】
好ましくは、出力の１つは、第１パーティおよび第２パーティによって共用される秘密（ｓｅｃｒｅｔ）を含む。この秘密が、第１パーティおよび第２パーティだけに既知であることが好ましい。好ましくは、秘密はディッフィー−ヘルマン関数を備える。
【００１６】
好ましくは、共用される秘密は、第１パーティと第２パーティ間の通信を暗号化するために少なくとも一方のパーティによって使用される。これにより、第１パーティと第２パーティ間の通信を安全とすることができる。
【００１７】
好ましくは、共用される秘密はｎを法としたｇxy（ｇxyをｎで除した剰余）のディッフィー−ヘルマン関数であり、ｘとｙは乱数であり、ｎはディッフィー−ヘルマン関数の係数である。
【００１８】
好ましくは、少なくとも１つの乱数が、第１パーティと第２パーティ間の通信を暗号化するために使用される。これは、共用される秘密に対する追加または代替としてであってよい。好ましくは、暗号化関数のキーの更新は、少なくとも１つの乱数が変更されると発生する。
【００１９】
少なくとも１つのパラメータは、好ましくは、第１局から第２局へ送信される。同様に、少なくとも１つのパラメータの値が、第２局から第１局へ送信されるのが好ましい。これにより、情報をパーティ間で交換することができるようになり、たとえば、共用される秘密の計算が可能になる。
【００２０】
信頼される追加パーティは、好ましくは、第２パーティとの安全なコネクションを有する。
【００２１】
好ましくは、少なくとも一方のパーティのアイデンティティは、符号化された形式で他方のパーティに送信されるにすぎない。たとえば、アイデンティティは、第１認証出力および第２認証出力の１つの中に含まれていてもよい。代わりに、アイデンティティは別個に暗号化される形式で送信されてよい。パーティのアイデンティティは安全な通信を保持する上で重要であるため、無許可のサードパーティが第１パーティまたは第２パーティのアイデンティティを得ることができないことが重要である。
【００２２】
好ましくは、本発明の方法は、有線網または無線網であってよい電気通信網で使用される。第１パーティおよび第２パーティの一方は移動局であってもよく、他方は基地局であってよい。
【００２３】
本発明の第２態様によれば、少なくとも１つのパラメータを使用して、第２ハッシュ関数の第１ハッシュ関数の値を計算するステップと、第２ハッシュ関数の第１ハッシュ関数の計算値を第１パーティから第２パーティへ送信し、前記第２パーティには少なくとも１つの同一のパラメータを使用して別個に計算された第２ハッシュ関数の第１ハッシュ関数の値が提供されるステップと、第１パーティから受信される第２ハッシュ関数の第１ハッシュ関数値を別個に計算された第２ハッシュ関数の第１ハッシュ関数の値と比較し、それにより２つの値が同じ場合に、第１パーティが認証されるステップとを備える、第１パーティと第２パーティ間の通信を認証するための認証方法が提供される。
【００２４】
本発明のよりよい理解のため、および本発明がどのように達成されるのかに関して、ここで実施例として添付図面が参照される。
【００２５】
本発明の実施態様の理解を助けるために、ここで使用されている省略語の要約が提供される。
Ｕ  −  ＩＭＵＩ（国際移動通信ユーザアイデンティティ）とも呼ばれるＵＭＴＳ（汎用移動電気通信サービス）ユーザアイデンティティ。言い替えると、Ｕは移動局のアイデンティティを表わす。
ｎ  −  ディッフィー−ヘルマン（Diffie-Hellman）キー交換の係数（modueus）で、典型的には大きな素数である。言い替えると、これは使用されているモジュラー式の算術（modular arithmetic）を表わす。モジュラー式算術とは、得られるあらゆる結果に対し、結果自体が使用されず、代わりに、係数ｎで除算されたときの剰余が使用されるような循環性の計算タイプである。
ｇ  −  デッィフィー−ヘルマンキー交換の生成元である。ｇは、２とｎ−１のあいだのすべての任意の適切な整数である場合がある。
ｘ，ｙ  −  デッィフィー−ヘルマンキー交換で使用されるランダムな指数である。言い替えると、ｇはｘおよび／またはｙ乗される。
Ｒ，Ｒ’  −  当座数（ｎｏｎｃｅｓ）とも呼ばれる乱数である。典型的には、これらの乱数は定期的に変更される。
Ｐ，Ｐ’  −  使用可能な暗号、ハッシュ関数等に関する情報を含む安全性パラメータ。
ＳＩＧA（ψ）  −  ＡのシグナチャキーによるψのシグナチャＳＩＧ。
Ｅk（ψ）  −  キーｋを使用して暗号化されるψ。
ｈａｓｈ［Ｘ］（ψ）  −  定数パラメータＸでパラメータの付けられたハッシュ関数。言い替えると、ハッシュ関数は、指定されるパラメータＸにしたがって変化する。言うまでもなく、パラメータの値も変化することがある。
ψ｜Ｘ  −  ψとＸの連結（つまり、他方の後に一方を２つの項をまとめること）。
ψ，Ｘ  −  ψとＸの連結。
【００２６】
本発明の実施態様は、以下の特徴を有するシグナチャ関数ＳＩＧを使用する。ＳＩＧA（ψ）は、ψが過去に選ばれ、ψは過去に署名（sign）されていないと仮定し、ＡおよびＡだけにより承認された上司（principals）によってだけ計算可能でなければならない。過去に選ばれたψのシグナチャ関数ＳＩＧA（ψ）が承認されていない人物に対し有効であるためには、承認されていない人物に直面する問題の複雑さが２160以上でなければならない。さらに、シグナチャは、対応する検証関数を所有するすべてのパーティにより検証可能でなければならない。検証関数は、検証キーと呼ばれることもある。
【００２７】
Ｘがこれ以降説明されるプロトコルで使用されるパラメータの付けられたハッシュ関数の適切なパラメータである場合、以下の特徴がハッシュ関数によって提供されるだろう。ハッシュ関数の返される値の長さは、誕生日攻撃（ｂｉｒｔｈｄａｙ  ａｔｔａｃｋ）を防ぐために少なくとも１６０ビットでなければならない。言い替えると、ｈａｓｈＸがｈａｓｈＹに等しくなる尤度は低いため、サードパーティが考えられる値のいくつかを試行することによりアクセスを得ることができる確率は非常に少ない。ハッシュ関数は１方向でキーされた関数でなければならない。ハッシュ関数は、大きなドメイン、つまりそのサイズが、１が少なくとも１６０である２1に等しい考えられる値の集合を有さなければならない。ｚが既知である場合に、ｈａｓｈ［Ｘ］（ｙ）＝ｚからｙの値を計算するのに要する作業量は、１がビット単位でのハッシュ関数の出力の長さであり、１が少なくとも１６０である場合に２1に等しい複雑度のオーダー（桁）を有さなければならない。攻撃者は、ｚの値を知っていることにより、ｈａｓｈ［ｘ］（ｉ）を求めるために、攻撃者がその値を知らなかった場合より有利な立場に置かれてはならない。関数ｈａｓｈ［Ｘ］（Ｓ｜ｙi）の値が、１，２．．．Ｋに属するｉの場合に既知であり、ｙiが既知であるが、Ｓが唯一の考えられる値であることが知られているに過ぎない場合には、あるｘに対するｈａｓｈ関数［Ｘ］（Ｓ｜ｘ）の値を推測できる確率は１／Ｏ（ｍｉｎ（２1，｜Ｑ｜）でなければならず、ここでＯは「のオーダー」を表わし、Ｑは、キーされるハッシュ関数で使用される秘密Ｓがその中から選び出される集合である。たとえば、キーされたハッシュ関数で使用される秘密Ｓが４０ビットの乱数である場合には、Ｑはすべての４０ビット乱数の集合である。｜Ｑ｜は、集合のサイズをあらわす。「ｍｉｎ」は、２1および｜Ｑ｜の最小を選択する。
【００２８】
Ｘはハッシュ関数を決め、Ｘだけが使用される関数を決めるため、それは秘密である必要はない。実際、パラメータＸは周知であってもよく、長い期間、固定されてよい。
【００２９】
これ以降説明されるプロトコルが、キー交換、キー再交換および相互認証を実行するために使用される。要約すると、移動局ＭＳおよびネットワークまたは基地トランシーバ局ＢＴＳは、ディッフィー−へルマンキー交換の結果として共用される秘密Ｓを得るために、初期キー交換プロトコルを実行する。この共用される秘密Ｓはｎを法としてｇxy（ｇxyをｎで除した剰余）である。パーティは、また、乱数Ｒ、Ｒ’の組も交換する。共用される秘密Ｓおよび２つの当座数（ｎｏｎｃｅｓ）の連結が、キーの要素（ｍａｔｅｒｉａｌ）を与える。異なるキーは、異なるパラメータの付いたハッシュ関数を使用して、キー要素から導き出される。再キー（キーの更新）は、新しい乱数の組を交換することによって実行される。
【００３０】
追加通信を暗号化するためのキ−も、以下の公式を使用して作成することができる。つまり、ｋ＝ｈａｓｈ［Ｔ］（ｇxyｍｏｄ  ｎ｜Ｒ｜Ｒ’）で、この場合、Ｔは一意（unique）のパラメータである。Ｔは周知であっても固定されてもよく、１度または１度以上使用することができる。
【００３１】
初期キー交換プロトコルのあいだ、機密保護パラメータｐが交換される。これらの機密保護パラメータは、使用可能な暗号、ハッシュ関数等について他のパーティに知らせるために使用される。
【００３２】
ディッフィー−ヘルマンキー交換は、２つのパーティ間で共用される秘密を確立するための方法である。ブロック式算術を使用するとき、ｇxだけが既知であるときにｘの値を計算することは非常に困難である。通常、ｇxからｘを計算することは、ｇxの対数を計算することを意味し、これはたやすい。しかしながら、ブロック式算術においては状況は劇的に変化する。つまり、ｇxからｘを計算する方法は知られていない。
【００３３】
したがって、ディッフィー−ヘルマンキー交換では、２つのパーティは、以下のようにして共用される秘密を確立する。第１パーティが「ｇx」を送信する。第２パーティが「ｇy」を送信する。ここで、ｘは第１パーティによってだけ知られており、ｙは第２パーティによってだけ知られている。しかしながら、ｇxとｇyの値は周知である。ここでは、共用される秘密はｇxyである。ｇxyを計算するためには、ｘとｙの値の少なくとも一方を知っている必要がある。たとえば、ｘを知っている場合には、（ｇy）xとしてｇxyを計算することができる。離散対数、つまりｇxからｘを計算することは非常に困難である。その結果、値ｇxとｇyが周知である場合にも、誰もｇxyを計算することはできない。
【００３４】
ここでは、シグナチャを使用するキー交換を概略して図解する図３が参照される。このキー交換の目的は、乱数を交換し、両方のパーティを認証するために、共用されている秘密Ｓ＝（ｇxyｍｏｄ  ｎ）を作成することである。
【００３５】
初期通信では、移動局ＭＳは、基地トランシーバ局に、周知のディッフィー−ヘルマンキー交換パラメータｎとｇ、および公開キーｇxyｍｏｄ  ｎとともに乱数Ｒを送信する。移動局は、機密保護パラメータＰも基地局に送信する。移動局ＭＳから基地トランシーバ局に対するこの第１メッセージがキー交換を起動し、ステップＡ１の中で図３に図解されている。
【００３６】
第２メッセージは、基地トランシーバ局ＢＴＳから移動局ＭＳに送信され、図３に図示されている第２ステップＡ２を構成する。基地トランシーバ局は、移動局ＭＳに、別の公開ディッフィー−ヘルマンキー、ｇxyｍｏｄ  ｎおよび機密保護パラメータＰ’とともに乱数Ｒ’を送信する。それから、ネットワークは、移動局が、交換が攻撃されずにうまくいったことを確かめることができるように、キー交換および乱数に署名（sign）する。この特定の方法は、中間攻撃の人間（a man in the middle attaeks）として知られている攻撃を妨げる。これは、サードパーティが、移動局からの送信を傍受し、基地局に発信される前に移動局からの通信に情報を代入し、同様に基地局から受信される移動局用の通信を傍受するものである。共用される秘密Ｓ＝ｇxyｍｏｄ  ｎは、移動体が、基地トランシーバ局が共用される秘密を知っていると確信するように、シグナチャに含まれなければならない。
【００３７】
基地トランシーバ局による第２メッセージで提供されるシグナチャＳＩＧBは、以下のとおりである。
【００３８】
ＳＩＧB（ｈａｓｈ［ＳＩＧ１］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒ｜Ｒ’｜Ｂ））
Ｂは基地トランシーバ局のアイデンティティである。
【００３９】
一時キーｋは、共用される秘密（Ｓ）および乱数から計算される。乱数は、再キーが、同じ共用される秘密を使用して発生できるように、一時キーに含まれる。再キーは、新しい一時キーが生成されるときに発生する。これ以降さらに詳細に説明されるように、再キーは、新しい乱数ＲおよびＲ‘を提供することによって達成できる。一時キーｋはｈａｓｈ［ＴＫＥＹ］（ｇxyｍｏｄ  ｎ｜Ｒ｜Ｒ’）に等しい。
【００４０】
移動局は、シグナチャＳＩＧBに関して検証関数を実行する。検証関数およびシグナチャ関数は、シグナチャ関数の値を指定されると、検証関数が受入れ値または拒絶値を提供するように関係付けられる。受入れとはシグナチャが受け入れられることを意味し、拒絶とはシグナチャが無効であることを意味する。言い替えると、移動局は、それが受信するシグナチャを検証するように構成されている。
【００４１】
ステップＡ３では、移動局ＭＳから基地トランシーバ局に送信されるメッセージが、一時キーを使用して暗号化される。暗号化されたメッセージには、移動体ユーザＵのアイデンティティが含まれる。このようにして、ユーザＵのアイデンティティは、暗号化された形式でのみ送信される。暗号化されたアイデンティティはＥk（Ｕ）で表わされる。暗号化されたアイデンティティとともに、移動局は、ステップ２で基地トランシーバ局から移動局に送信されたシグナチャと同様のシグナチャＳＩＧUも送信する。しかしながら、そのシグナチャは暗号化される。暗号化されたシグナチャは、以下により表わされる。
Ｅk（ＳＩＧU（ｈａｓｈ［ＳＩＧ２］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒ｜Ｒ’｜Ｂ｜Ｕ））
分かるように、移動体ユーザのアイデンティティがシグナチャに含まれている。移動体のアイデンティティは暗号化され、シグナチャを暗号化することもさらに便利であるが、シグナチャの暗号化は必須ではない。シグナチャＳＩＧBおよびＳＩＧUの両方が署名者のアイデンティティ、つまりそれぞれＢおよびＵを含み、これらのアイデンティティのシグナチャでの使用が、サードパーティが署名されたｈａｓｈ値を盗み、異なるキーで再びそれらに署名するのを防ぐことであることが理解されなければならない。言い替えると、アイデンティティＢおよびＵを含めることにより、関数が基地局および移動局のそれぞれにとって一意（unique）となる。
【００４２】
基地トランシーバ局は、移動局が基地局を検証するのと同じように移動体ユーザを認証するために移動局から受信されるシグナチャを検証する。これには、移動体ユーザのサービスプロバイダに対するコネクションが必要になることがある。
【００４３】
ここでは、信頼されるサードパーティを使用するキー交換を図解する図４が参照される。シグナチャを使用するキー交換でのように、目的は、乱数を交換し、両方のパーティを認証することである。
【００４４】
このプロトコルは、先に述べた例と同様にｎ、ｇ、乱数Ｒ、ｇxyｍｏｄ  ｎおよびパラメータＰの値を基地トランシーバ局に送信するステップＢ１で開始する。それから、基地トランシーバ局は、乱数Ｒ’、ｇxyｍｏｄ  ｎおよびパラメータＰ’を移動局に送信する。一時キーｋがｈａｓｈ［ＴＫＥＹ］（ｇxyｍｏｄ  ｎ｜Ｒ｜Ｒ’）から計算される。シグナチャを使用するキー交換と異なり、キー交換は、暗号化が実行される前には認証されない。第３ステップＢ３においては、ユーザアイデンティティＵが、暗号化された形式ＥK（Ｕ）で移動局から基地トランシーバ局に送信される。
【００４５】
第４ステップＢ４では、基地トランシーバ局が、安全であり認証されると仮定されるコネクションを使用して、たとえばユーザのサービスプロバイダなどの、信頼されるサードパーティＴＴＰに連絡する。このようにして、基地トランシーバ局ＢＴＳは、信頼されるサードパーティＴＴＰに、共用される秘密のｈａｓｈ、ディッフィー−ヘルマン公開キーパラメータ、乱数、通信するパーティのアイデンティティ、および機密保護パラメータを送信する。このようにして、基地トランシーバ局ＢＴＳが、以下の認証ハッシュ関数を信頼されるサードパーティＴＴＰに送信する。
ｈａｓｈ［ＡＵＴＨ］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒ｜Ｒ’｜Ｂ｜Ｕ）
移動体ユーザＵのアイデンティティは、すでに、信頼されるサードパーティによって知られている。これは、任意の適切な方法で達成されてよい。
【００４６】
本発明の実施態様においては、暗号化キーｋよりむしろｇxyのｈａｓｈを送信することが好まれる。暗号化キーｋはおそらくｇxyより短いため、それはこのようにして攻撃するのがたやすい。第１共用秘密データｇxyｍｏｄ  ｎが基地局および移動体によって共用されると仮定されるが、他の誰によっても共用されない。基地局と、オフラインで分散される移動電話間には第２の長期の共用される秘密がある。この長期の秘密は、移動電話等のＳＩＭカード内にあってよい。第２の秘密は、移動電話が基地局を認証できるように使用されるが、第１の秘密ｇxyｍｏｄ  ｎは、セッションキーを得るために使用される。
【００４７】
第５ステップＢ５では、信頼されるサードパーティは、基地トランシーバ局がそこに送信したｈａｓｈ［ＡＵＴＨ］と連結される共用秘密データから秘密のｈａｓｈを計算する。それから、信頼されるサードパーティによって計算されるｈａｓｈ値のｈａｓｈが、再び信頼されるサードパーティによって計算される。それから、信頼されるサードパーティは、この最終的に計算されたｈａｓｈ値を、この値を記録している基地トランシーバ局に送信する。信頼されるサードパーティによって基地トランシーバ局に送信される値は、以下のとおりである。
ｈａｓｈ「ＲＥＳＰ」（ｈａｓｈ［ＳＥＣ］（Ｓ｜ｈａｓｈ［ＡＵＴＨ］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒ｜Ｒ’｜Ｂ｜Ｕ））
それから、第６ステップＢ６で、同じ値が、基地トランシーバ局から移動局に転送される。それから、移動局は、ｈａｓｈ［ＳＥＣ］からｈａｓｈ［ＲＥＳＰ］を計算し、このようにして、それが計算したｈａｓｈ［ＲＥＳＰ］（ｈａｓｈ［ＳＥＣ］）の値を、それが基地トランシーバ局を介して信頼されるサードパーティから受信される値から計算されたｈａｓｈ［ＲＥＳＰ］（ｈａｓｈ［ＳＥＣ］）と比較する。ｈａｓｈ［ＲＥＳＰ］（ｈａｓｈ［ＳＥＣ］）の２つの値が同じである場合には、移動体は、ホームロケーションレジスタが、基地トランシーバ局およびディッフィー−ヘルマンキー交換を認証したことを知る。２つの値ｈａｓｈ［ＲＥＳＰ］（ｈａｓｈ［ＳＥＣ］）が同じではない場合、これは認証の問題または中間攻撃における人間（a man in the middle attach）を示している。
【００４８】
最後に、第２ステップＢ７では、移動局は基地局に、さらにｈａｓｈすることなくｈａｓｈ［ＳＥＣ］の値を送信する。基地トランシーバは、ｈａｓｈ［ＳＥＣ］が、基地局が受信した同じｈａｓｈ、つまり信頼されるサードパーティからのｈａｓｈ［ＲＥＳＰ］ｈａｓｈ［ＳＥＣ］にｈａｓｈするかどうかをチェックする。信頼されるサードパーティから受信されるｈａｓｈ［ＲＥＳＰ］ｈａｓｈ［ＳＥＣ］の値が基地トランシーバ局によって計算される値と同じである場合には、基地トランシーバ局は、移動局が正しいｈａｓｈ［ＳＥＣ］関数を計算することができ、このようにして移動体ユーザが認証されると判断することができる。と同時に、ディッフィー−ヘルマンキー交換も認証される。
【００４９】
図３および図４の両方に説明されるキー交換を使用すると、ディッフィー−ヘルマンの公開パラメータｎおよびｇは、それらがすでに既知である場合、たとえば、それらが定数である場合に、第１メッセージから省略することができる。
【００５０】
ここでは、移動体ユーザのアイデンティティを必要としないキー交換を図解する図５が参照される。この手順の目的は、移動局と基地トランシーバ局のあいだで共用秘密および乱数を分散し、ネットワークを認証することである。しかしながら、移動体ユーザは認証されず、実際、無名のままである。
【００５１】
第１ステップＣ１では、移動局は、基地トランシーバ局に、図３および図４に図示されているシグナチャを使用するキー交換や信頼されるサードパーティを使用するキー交換の第１ステップで送信される情報とまったく同じ情報を送信する。
【００５２】
それから、基地局は、ステップＣ２で、シグナチャを使用するキー交換（図３）で送信される情報と同じ情報を移動局に送信し、情報に署名もする。このキー交換を使用すると、基地局は、それが通信している相手の移動局のアイデンティティに関してそれほど確信をもつことができない。しかしながら、基地トランシーバ局によるシグナチャが、良好なキー交換を保証する。言い替えると、特定されていない移動局は、中間攻撃者（man in the middle attack）がいるかどうかを検出し、必要とされる場合にはコネクションを切ることができる。基地局は中間攻撃者を検出することはできないが、それは検出する必要がない。とくに、基地局は、いずれにせよ特定されていないパーティに機密保護の重大な情報を送信しないだろう。この方法は、移動体のアイデンティティが必要とされないインターネットのような公開ネットワークに対するアクセスに使用することができる。
【００５３】
ここでは、新しい認証を必要としない簡略なキー更新の手順を示す図６が参照される。このプロトコルの目的とは、キー更新を実行するために新しい乱数を分配することである。
【００５４】
キー更新とは、暗号プロセスのための新しい一時的なキーｋが生成できることを意味する。移動局と基地局間のメッセージの許可されていない暗号解読を回避するために、キー更新は頻繁に行なわなければならない。
【００５５】
第１ステップＤ１では、移動局が、基地トランシーバ局に新しい乱数Ｒnewを送信する。第２ステップＤ２では、基地トランシーバ局が第２の新しい乱数Ｒ’newを移動局に送信する。この特定のプロトコルの使用においては、乱数が秘密に保たれている必要はない。しかしながら、乱数の完全性は保護されなければならない。言い替えると、乱数は、移動局と基地トランシーバ局間でのその送信中に修正されてはならない。これは、通信の品質の問題のためであり、機密保護のためではない。言うまでもなく、ステップＤ１およびステップＤ２の順序を逆にすることもできる。
【００５６】
新規な一時キーは、等式ｈａｓｈ［Ｔ］（ｇxyｍｏｄ  ｎ｜Ｒ｜Ｒ’）から引き出すことができる。このようにして、新規の共用される秘密が、新しいキーを決定する際に使用できる。これは、この新規の共用秘密ｇxyｍｏｄ  ｎが、それ自体キーとして使用されたことがないために可能である。このようにして、新しいキーは、共用の秘密と組み合わせて旧い乱数を使用している旧いキーが危うくされた場合にも安全だろう。また、このプロトコルが、新しい乱数のアイデンティティが公開されたとしても安全であることが理解されなければならない。これは、ハッシュ関数を使う場合、たとえ乱数のアイデンティティが既知であっても、共用される秘密もキーも引き出すことができないためである。
【００５７】
ここでは、パーティを認証するキー更新手順を示す図７が参照される。第１ステップＥ１では、移動局が新しい乱数Ｒnewを基地トランシーバ局に送信する。第２ステップＥ２では、基地トランシーバ局が、第２の新しい乱数Ｒ’newを移動局ＭＳに送信する。第３ステップＥ３では、移動局が、以下の形式を有するハッシュシグナチャを、基地トランシーバ局に送信する。すなわち、ｈａｓｈ［ＳＩＧ１］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒnew｜Ｒ’new｜Ｂ｜Ｕ）
基地局は、ｈａｓｈ［ＳＩＧ１］の値を計算し、それを、基地局が移動局から受信したｈａｓｈ［ＳＩＧ１］の値と比較する。値が同じ場合には、新しい乱数が、移動局とともに認証される。
【００５８】
第４ステップＥ４では、基地トランシーバ局が、以下の形式のｈａｓｈ値を移動局に提供する。すなわち、ｈａｓｈ［ＳＩＧ２］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒnew｜Ｒ’new｜Ｂ｜Ｕ）である。これらの値は、乱数を、それらを現在の共用秘密に結合することにより認証できるようにする。移動局はｈａｓｈ［ＳＩＧ］２の値を検証する。ｈａｓｈ［ＳＩＧ］２が正しいと検証される場合には、新しい乱数は再び基地局とともに認証される。
【００５９】
ここでは、シグナチャ認証を使用する再打鍵プロトコルを示す図８が参照される。この手順では、両方のパーティがともに認証し直される。
【００６０】
第１ステップＦ１では、移動局が新しい乱数Ｒnewを基地トランシーバ局に送信する。第２ステップＦ２では、基地トランシーバ局が第２の新しい乱数Ｒ’newを移動局に送信し、以下に示すように、シグナチャハッシュ関数に署名する。
［ＳＩＧB］（ｈａｓｈ［ＳＩＧ１］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒnew｜Ｒ’new｜Ｂ））
移動局は、前記に略述されたように、これらの新しい乱数を使用して新しい暗号化キーを計算できる。移動局は、検証関数を使用して基地局を認証することができる。
【００６１】
したがって、新しい暗号化キーｋは、ｈａｓｈ［ＴＫＥＹ］（ｇxyｍｏｄ  ｎ｜Ｒnew｜Ｒ’new）である。第３ステップＦ３では、移動局は、基地トランシーバ局に、以下の形を有するハッシュ関数ｈａｓｈ［ＳＩＧ］、すなわち、Ｅk（ＳＩＧU（ｈａｓｈ［ＳＩＧ２］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒnew｜Ｒ’new｜Ｂ｜Ｕ））を発信する。移動局により送信されるシグナチャは暗号化される。これは、必須ではないが、暗号化される必要のあるそれ以外の情報ではさらに便利である可能性がある。暗号化は、新しい暗号化キーｋを使用する。基地局は、シグナチャを検証することにより移動局を認証することができる。検証関数が受け入れられると、移動局は認証される。
【００６２】
ここでは、サードパーティの認証を使用するキー更新を示す図９が参照される。第１ステップＧ１では、移動局が基地局に新しい乱数Ｒnewのアイデンティティを送信する。第２ステップＧ２では、基地トランシーバ局が、移動体アイデンティティＵとともに、信頼されるサードパーティに、認証ハッシュ関数ｈａｓｈ［ＡＵＴＨ］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒnew｜Ｒ’new｜Ｂ｜Ｕ）を送信する。認証ハッシュ関数は、第２の新しい乱数Ｒ’newを含む。基地局と信頼されるサードパーティ間のコネクションは安全であるため、移動局Ｕのアイデンティティを暗号化する必要はない。信頼されるサードパーティは、第３ステップＧ３で、認証ハッシュ関数および共用秘密を含む共用秘密Ｓのハッシュ関数であるｈａｓｈ［ＲＥＳＰ］を計算し、この値を基地局に送信する。認証ハッシュ関数は、基地局から受信されるハッシュ関数と同じである。
【００６３】
第４ステップＧ４では、基地局が、第２の新しい乱数Ｒnewの値とともに信頼されるサードパーティから受信したのと同じ値を移動局に送信する。移動局は、新しい乱数値を使用してｈａｓｈ［ＳＥＣ］の値を計算し、それからｈａｓｈ［ＲＥＳＰ］の値を計算する。移動局は、それが基地トランシーバ局から得た値が、それが計算した値に等しいかどうかを確かめる。図４に関して前述された信頼されるサードパーティを使用するキー交換においてのように、値が同じである場合には、移動局は、ホームロケーションレジスタが基地トランシーバステーションおよびキー交換を認証したと理解する。
【００６４】
それから、移動局は、さらにｈａｓｈすることなく、ステップＧ５で、ｈａｓｈ［ＳＥＣ］の値を基地トランシーバ局に送信する。それから、基地トランシーバ局は、移動局から受信されたｈａｓｈ［ＳＥＣ］が、基地トランシーバ局が信頼されるサードパーティから受信したのと同じ値にｈａｓｈするかどうかを確かめる。同じ値にｈａｓｈする場合には、基地トランシーバ局は、移動体がｈａｓｈ［ＳＥＣ］関数を計算することができたと理解し、このようにしてユーザは認証される。
【００６５】
前述された再打鍵プロセスのすべてにおいて、乱数は秘密にされるている必要はない。
【００６６】
理解できるように、プロトコルで使用される１５の異なるメッセージがある。これらのメッセージは以下のとおりである。
１．ｎ，ｇ
２．Ｒ
３．Ｒ’
４．Ｐ
５．Ｐ’
６．ｎを法としてｇx
７．ｎを法としてｇy
８．ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒ｜Ｒ’｜Ｂ
９．ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒ｜Ｒ’｜Ｂ｜Ｕ
１０．ＳＩＧB（ｈａｓｈ［ＳＩＧ１］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒ｜Ｒ’｜Ｂ｜Ｕ）
１１．Ｅk（ＳＩＧU（ｈａｓｈ［ＳＩＧ２］（ｎ｜ｇ｜ｇx｜ｇy｜ｇxy｜Ｐ｜Ｐ’｜Ｒ｜Ｒ’｜Ｂ｜Ｕ）
１２．Ｅk（Ｕ）
１３．ｈａｓｈ［ＡＵＴＨ］（ｇxyｍｏｄ  ｎ｜Ｒ｜Ｒ’｜Ｂ｜Ｕ），Ｕ
１４．ｈａｓｈ［ＲＥＳＰ］（ｈａｓｈ［ＳＥＣ］Ｓ｜ｈａｓｈ［ＡＵＴＨ］（ｎ｜ｇ｜ｇxyｍｏｄ  ｎ｜Ｒ｜Ｒ’｜Ｂ｜Ｕ））
１５．ｈａｓｈ［ＳＥＣ］（Ｓ｜ｈａｓｈ［ＡＵＴＨ］（ｎ｜ｇ｜ｇxyｍｏｄ  ｎ｜Ｒ｜Ｒ’｜Ｂ｜Ｕ））
理解できるように、これらのメッセージのうちのいくつかは、共通の構造、すなわち、メッセージ２と３、メッセージ４と５、およびメッセージ６と７を共用している。これが、合計１２個の異なる種類のメッセージを残す。このプロトコルファミリは、このようにして、それが相対的に多数の異なるプロトコルを、少ない数の異なるメッセージだけを使用して実現できるようにするという点で有利である。
【００６７】
このようにして、前記に略述された多様な異なる方法は、限られた数のメッセージから構成される方法のファミリを定義することができる。このようにして、本発明の実施態様においては、それらの方法の１つを選択することができる。メッセージのうちのどれを使用すべきかを決定する際には、多様な異なる基準を使用することができる。たとえば、異なる方法を無作為に選択することができる。キー更新方法は、つねに、キー交換方法が過去に選択された場合にだけ選択してよい。本発明の方法は、第１および／または第２パーティ（または、提供されているときには信頼されるサードパーティ）の処理機能に応じて選択されてよい。本発明の方法は、前回の方法が使用されて以来の時間量に応じて選択することができる。代わりに、本発明の方法は、ある特定の方法によって提供される関数、たとえば、信頼されるサードパーティが使用されるかどうか、および認証が必要とされるかどうか、ならびに必要とされる場合にはどのような種類の認証かに基づいて選択できる。
【００６８】
前述された機構では、移動局は、基地トランシーバ局と通信していると記述される。通信が、この通信が基地トランシーバ局を介するにも関わらず、事実上、ネットワークの任意の適切な要素で発生できることが理解される必要がある。言い替えると、好まれている実施態様において基地トランシーバ局で発生すると記述される計算のいくつかは、ネットワークのそれ以外の部分で起こってよいが、適切な場合に基地トランシーバ局に転送されるだろう。移動局は、固定されているか、または移動体であるかに関係なく、そのほかの適切な端末で置換することができる。
【００６９】
本発明の実施態様は、任意の適切な無線セルラー電気通信網とともに使用することができる。ここでは、ネットワーク階層を示す図１０が参照される。基地局ＢＴＳ１−４は、それぞれの移動局ＭＳ１−６と通信している。とくに、第１基地局ＢＴＳ１は、第１移動局および第２移動局ＭＳ１と２と通信している。第２基地局ＢＴＳ２は、第３移動局および第４移動局と通信しており、第３基地局ＢＴＳ３は第５移動局ＭＳ５と通信しており、第４基地局ＢＴＳ４は第６移動局Ｍ６と通信している。第１および第２の基地局ＢＴＳ１と２は、第１基地局制御装置ＢＳＣ１に接続されるが、第３および第４基地局ＢＴＳ３と４は第２基地局制御装置ＢＢＳ２に接続される。第１および第２の基地局制御装置ＢＳＣ１と２は、移動サービス交換センターＭＳＳＣに接続される。
【００７０】
実際には、そのそれぞれが数多くの基地局制御装置に接続される、複数の移動サービス交換センタが提供される。通常、２つより多い基地局制御装置が、移動サービス交換センタに接続される。２つを超える基地局は、各基地局制御装置に接続されてよい。言うまでもなく、２つより多い移動局が１つの基地局と通信するだろう。
【００７１】
方法のどれが使用されるのかに関する決定は、図１０に図示されるネットワーク要素の１つまたは複数で下すことができる。たとえば、決定は、移動局、基地トランシーバ局、認証センタ、移動サービス交換センタ等で下されてよい。代わりに、またはさらに、決定は他の適切な要素によって下されてもよい。使用される方法の決定に専用の要素が提供されてよい。信頼されるサードパーティは、基地局制御装置、移動サービス交換センタまたは別の要素であってよい。
【００７２】
本発明の実施態様は、他の種類の無線通信または固定優先コネクションを使用する通信などの認証を必要とする他の状況で使用されてもよい。本発明の実施態様は、単に通信網に適用可能であるだけではなく、それらが有線コネクションであるか、無線コネクションであるかに関係なく、ポイントツーポイントコネクションにも適用可能である。
【図面の簡単な説明】
【図１】  図１は、本発明の実施態様が使用できる既知のセルラーネットワークを示す。
【図２】  図２は、既知の認証プロトコルを示す。
【図３】  図３は、本発明を実現するシグナチャを使用するキー交換を図解する。
【図４】  図４は、本発明を実現する信頼されたサードパーティを使用するキー交換を図解する。
【図５】  図５は、本発明を実現する、移動局のアイデンティティを使用しないキー交換を図解する。
【図６】  図６は、本発明を実現する、再認証なしのキー交換を図解する。
【図７】  図７は、本発明を実現する、共用秘密認証を使うキー交換を図解する。
【図８】  図８は、本発明を実現する、シグナチャ認証を使うキー交換を図解する。
【図９】  図９は、本発明を実現する、サードパーティ認証を使用する再打鍵を図解する。
【図１０】  図１０は、図１に図示されているネットワークの階層の一部を示す。
【図１】
0004313515.tif 000002
【図２】
0004313515.tif 000003
【図３】
0004313515.tif 000004
【図４】
0004313515.tif 000005
【図５】
0004313515.tif 000006
【図６】
0004313515.tif 000007
【図７】
0004313515.tif 000008
【図８】
0004313515.tif 000009
【図９】
0004313515.tif 000010
【図１０】
0004313515.tif 000011