(57)【要約】  ネットワークと加入者局との間の無線通信をセキュリティ保護するシステムおよび方法は、認証に使用されるランダム値の中に暗号化タイプを示すマーカを挿入することと、ランダム値の関数として、第１のセッションの鍵および第１の応答値を計算することと、ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第２のセッションの鍵および第２の応答値を計算することとを含む。２つのレベルのセッションの鍵および応答値が、アップグレードされた加入者局およびネットワークアクセスポイントによって使用され、攻撃者が認証トリプレットを傍受するのを妨げ得る。【選択図】    図７
2007511172.tif 000002
【特許請求の範囲】
【請求項１】
加入者局においてネットワークとの無線通信をセキュリティ保護する方法であって、
ネットワークからランダム値を受信することと、
ランダム値の関数として、第１のセッションの鍵および第１の応答値を計算することと、
ランダム値、第１のセッションの鍵、および第１の応答値の関数として、第２のセッションの鍵および第２の応答値を計算することと、
認証のために、第２の応答値をネットワークへ通信することとを含む方法。
【請求項２】
ランダム値が、通信のために暗号化タイプを識別する暗号化マーカを含む請求項１記載の方法。
【請求項３】
マーカが、所定の系列の値を特定する複数のビットを含む請求項２記載の方法。
【請求項４】
暗号化タイプが、Ａ５／２の暗号化とは異なる請求項２記載の方法。
【請求項５】
暗号化タイプと一致しない暗号化要求を受信することと、要求を無視することとをさらに含む請求項１記載の方法。
【請求項６】
暗号化タイプにしたがって通信を暗号化することをさらに含む請求項５記載の方法。
【請求項７】
暗号化タイプと一致しない暗号化要求に応答して、通信データを伝送することを断わることをさらに含む請求項５記載の方法。
【請求項８】
加入者局に記憶されている秘密鍵を検索することをさらに含み、
第１のセッションの鍵および第１の応答鍵の計算が、秘密鍵の関数でもある請求項１記載の方法。
【請求項９】
ランダム値を変更することをさらに含み、
第２のセッションの鍵および第２の応答値の計算が、変更されたランダム値、第１のセッションの鍵、および第１の応答値を組合せて、認証トリプレットを形成することと、認証トリプレットに対してハッシュ関数を実行することとを含む請求項１記載の方法。
【請求項１０】
第２のセッションの鍵および第２の応答値が、ハッシュ関数の出力と、加入者局内のＳＩＭカード上に記憶されている秘密鍵との関数として計算される請求項９記載の方法。
【請求項１１】
暗号化された鍵を、第１のセッションの鍵と所定の値との関数として計算することをさらに含む請求項１記載の方法。
【請求項１２】
暗号化された鍵が、暗号鍵を含む請求項１１記載の方法。
【請求項１３】
暗号化された鍵が、認証鍵を含む請求項１１記載の方法。
【請求項１４】
通信データをネットワークに通信する前に、暗号化された鍵でデータを暗号化することをさらに含む請求項１１記載の方法。
【請求項１５】
ネットワークから加入者局との無線通信をセキュリティ保護する方法であって、
暗号化タイプを特定するマーカをもつランダム値を生成することと、
ランダム値の関数として、第１のセッションの鍵および第１の応答値を計算することと、
ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第２のセッションの鍵および第２の応答値を計算することと、
ランダム値を加入者局へ通信することと、
ランダム値に応答して、加入者局から加入者応答値を受信することと、
加入者応答値を、第１および第２の応答値の各々と比較することとを含む方法。
【請求項１６】
マーカが、所定の系列の値を特定する複数のビットを含む請求項１５記載の方法。
【請求項１７】
要求された暗号化タイプが、Ａ５／２の暗号化と異なる請求項１５記載の方法。
【請求項１８】
第１のセッションの鍵および第1の応答値の計算が、加入者局と関係付けられた秘密鍵の関数でもある請求項１５記載の方法。
【請求項１９】
第２のセッションの鍵および第２の応答値の計算が、
変更されたランダム値、第１のセッションの鍵、および第１の応答値を組合せて、認証トリプレットを形成することと、
認証トリプレットに対してハッシュ関数を実行することとを含む請求項１５記載の方法。
【請求項２０】
第２のセッションの鍵および第２の応答値が、ハッシュ関数の出力と、加入者局と関係付けられた秘密鍵との関数として計算される請求項１９記載の方法。
【請求項２１】
加入者局の応答値が、第１の応答値と整合し、方法が、第１のセッションの鍵と所定の値との関数として、暗号化された鍵を計算することをさらに含む請求項１５記載の方法。
【請求項２２】
加入者局から通信データを受信することと、通信データを暗号化された鍵で解読することとをさらに含む請求項２１記載の方法。
【請求項２３】
暗号化された鍵が、暗号鍵を含む請求項２１記載の方法。
【請求項２４】
暗号化された鍵が、認証鍵を含む請求項２１記載の方法。
【請求項２５】
ネットワークからランダム値を受信する手段と、
ランダム値の関数として、第１のセッションの鍵および第１の応答値を計算し、さらに加えて、ランダム値、第１のセッションの鍵、および第1の応答値の関数として、第２のセッションの鍵および第２の応答値を計算する手段と、
認証のために、ネットワークに第２の応答値を通信する手段と、
伝送データの暗号化に第２のセッションの鍵を適用する手段とを含む加入者局。
【請求項２６】
暗号化タイプを特定するマーカを含むランダム値を生成する手段と、
ランダム値の関数として、第１のセッションの鍵および第１の応答値を計算する手段と、
ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第２のセッションの鍵および第２の応答値を計算する手段と、
ランダム値を加入者局に通信する手段と、
ランダム値に応答して、加入者局から加入者応答値を受信する手段と、
加入者応答値を、第１および第２の応答値の各々と比較する手段とを含むネットワーク。
【請求項２７】
ネットワークからランダム値を受信するように構成された受信機と、
ランダム値の関数として、第１のセッションの鍵および第１の応答値を計算し、ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第２のセッションの鍵および第２の応答値を計算するように構成されたプロセッサシステムと、
伝送データの暗号化および解読のために、第２のセッションの鍵を受信するように適応させられた暗号化ユニットと、
認証のために、第２の応答値をネットワークへ送るように構成された送信機とを含む加入者局。
【請求項２８】
プロセッサシステムが、通信デバイス上の第１のプロセッサと、ＳＩＭカード上の第２のプロセッサとを含む請求項２７記載の加入者局。
【請求項２９】
通信デバイスが、グローバルシステムモバイル（Global System Mobile）のセルラ電話を含む請求項２８記載の加入者局。
【請求項３０】
プロセッサシステムが、ランダム値、第1のセッションの鍵、および第１の応答値を組合せて、認証トリプレットを形成し、認証トリプレットに対してハッシュ関数を実行するようにも構成されている請求項２７記載の加入者局。
【請求項３１】
プロセッサシステムが、第１のセッションの鍵と所定の値との関数として、暗号化された鍵を計算するようにも構成されている請求項２７記載の加入者局。
【請求項３２】
加入者局に固有の秘密鍵を記憶するメモリ記憶ユニットをさらに含み、プロセッサが、秘密鍵、ランダム値、第１のセッションの鍵、および第１の応答値の関数として、第２のセッションの鍵および第２の応答値を計算する請求項２７記載の加入者局。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第１１９条のもとでの優先権の主張
本特許出願は、２００３年１１月７日に出願された仮出願第６０／５１８，０４１号（“Authentication and Key Separation for Securing GSM Systems”）に対して優先権を主張しており、仮出願第６０／５１８，０４１号は、本出願の譲受人に譲渡され、それによって、本明細書において参照によって明らかに取り入れられている。
【０００２】
本発明の開示は、概ね、無線通信、より具体的には、無線遠隔通信システムをセキュリティ保護する方法に関する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
無線通信のための１つのセルラ技術は、グローバルシステムフォーモバイル(Global System for Mobile, GSM)のプロトコルによって定められている。ＧＳＭは、汎用パケット無線サービス（General Packet Radio Service, GPRS）のような新しいサービスによってさらに拡張され、これは、インターネットコンテンツおよびパケットを用いたデータサービスをＧＳＭネットワークに与える。ＧＳＭは、音声、インターネットブラウジング、電子メール、およびマルチメディアデータを含む、多くのタイプの無線通信に使用されている。ＧＳＭは、このようなシステム上で通信されるコンテンツを保護するために、種々のセキュリティ機構を取り入れている。サービスプロバイダおよびユーザは、通信のプライバシおよびデータの保護のために、これらのセキュリティ機構に同様に依存している。セキュリティ機構は、一般に、ネットワークに対してユーザを認証し、次に、ユーザがデータを、空中をわたる伝送前に、暗号化することによって動作する。このようなセキュリティ対策は、第三者による攻撃を受ける。したがって、セキュリティ保護された無線通信のための方法および装置が必要である。
【発明を実施するための最良の形態】
【０００４】
暗号化は、認可されていない第三者によるアクセスから保護するために、データを変更する処理である。この技術は、一般に、例えば、加入者局と基地局との間で、エアインターフェースによって、および他の無線またはワイヤーラインリンクによって、希望の遠く離れた相手に伝送されるデータの暗号化を採用する。暗号化は、通常、データを、適切な“鍵”をもつ受信者のみがそれを復号できるようなやり方で、符号化することを指す。暗号化は、擬似ランダムビット列と、通信データの標準のバーストのビットとの間で排他的論理和の処理を行うことによって達成され得る。受信者が適切な鍵をもっているときに限って、処理は“アンドゥ（undo）”され、通信データのバーストが抽出され得る。
【０００５】
無線通信システムにおいて使用される1つのタイプの暗号化は、ストリーム暗号を使用して行われる。ストリーム暗号のための暗号化アルゴリズムは、ユーザデバイス(例えば、携帯電話、または、具体的には、デバイスの内部の加入者識別モジュール(Subscriber Identity Module, SIM)カード)のみが知っている秘密鍵と、フレーム番号とを利用し、暗号化のために入力とＸＯＲをとられる擬似ランダムビットストリーム（すなわち、鍵ストリーム（keystream））を生成する。情報は、受信データを解読するのにも使用される。したがって、ビットは、事実上、相互に独立して暗号化される。
【０００６】
上述のように使用される擬似ランダム列を生成するのに一般に使用される２つのアルゴリズムは、Ａ５／１およびＡ５／２のアルゴリズムである。最初のＧＳＭプロトコルは、エアリンクの暗号化のためのセキュリティの３つのレベル、すなわち、暗号化されない、Ａ５／２で暗号化される、およびＡ５／１で暗号化される、を支援する。Ａ５のアルゴリズムは、音声またはデータ接続におけるオプションの暗号化に使用される。Ａ５は、ストリーム暗号であり、６４ビットの暗号化鍵を使用するが、２２８ビットのブロック長に基づくブロックである。Ａ５は、ＸＯＲおよび１ビットの加算の処理のみに関与して、ハードウェアにおいて効率的に実施されるように設計されている。Ａ５は、２つのバージョンをもち、Ａ５／１はヨーロッパにおいて使用され、Ａ５／２はエクスポートシステムにおいて使用される。Ａ５／１およびＡ５／２の両者は、暗号化に使用されるストリーム暗号アルゴリズムであるが、各々は、僅かに異なるセキュリティを与え、異なる複雑さを負っている。当業者には分かるように、Ａ５はＧＳＭ仕様の一部である。Ａ５／１は、“強い”エクスポートの制限されたバージョンとして知られており、Ａ５／２は、エクスポートの制限をもたない標準および“弱い”バージョンである。時々使用されるＡ５の暗号化の別のバージョンは、Ａ５／３であり、これは、ブロック暗号のユニバーサルモバイルテレコミュニケーションズシステム(Universal Mobile Telecommunications System, UMTS)／広帯域符号分割多元接続（Wideband Code Division-Multiple Access, WCDMA）のアルゴリズムに基づき、“カスミ(KASUMI)”として知られている。カスミは、真の１２８ビットの鍵を使用する６４ビットのブロック暗号である。
【０００７】
これらのアルゴリズムの各々は、秘密鍵として、例えば、標準ＧＳＭ支援型認証機構にしたがう認証機構によって得られる６４ビットのセッションの鍵（Ｋｃ）を使用する。ＧＳＭのセキュリティは、ＳＩＭカード上と、ユーザのホームネットワークの認証局(Authentication Center, AuC)上とに記憶された秘密の１２８ビットの鍵(Ｋｉ)を使用する、呼び掛け−応答機構に基づく。アクティブなセッションの初期設定中に、ＡｕＣは、１２８ビットのランダムに選択された値(ＲＡＮＤ)を生成し、同じくＧＳＭ仕様の一部であるＡ３またはＡ８のような認証アルゴリズムを、ＲＡＮＤに適用する。アルゴリズムは、予測される応答(ＳＲＥＳ)とセッションの暗号化鍵（Ｋｃ）との両者を生成する。これらの各々は、ＲＡＮＤおよびＫｉの関数である。ＲＡＮＤ、ＳＲＥＳ、およびＫｃは、まとめて、ＧＳＭ認証ベクトル(認証トリプレット)を構成する。
【０００８】
登録中に、認証トリプレットは、基地局へ送出され、基地局は、ＲＡＮＤを加入者局へ送る。加入者局内のＳＩＭカードは、ＲＡＮＤを読み出し、ＳＲＥＳおよびセッションの鍵Ｋｃを、同じ認証アルゴリズムまたは鍵協定アルゴリズム(それぞれ、Ａ３またはＡ８)にしたがって、その秘密鍵Ｋｉを使用して計算する。計算されたＳＲＥＳ値は、基地局へ送られ、基地局は、それを、認証トリプレット内のＳＲＥＳと比較し、それによって、加入者局の有効性を認証する。加入者局が認証されると、アクティブなセッション中に、Ｋｃは、基地局によって指示されるように、通信の暗号化に使用され得る。
【０００９】
都合の悪いことに、Ａ５アルゴリズムは、データおよびネットワークの両者を危険にさらす第三者の攻撃に弱い。一般に、無線システム上で通信されるデータの暗号化は、誤り訂正のための符号化の後で行われる。符号化が、暗号化されるビット間で既知の線形の関係性を取り入れていることは周知である。したがって、攻撃者は、個々の入力ビットの実際の値を知らなかったとしても、符号化の既知の線形の関係性にしたがって、ある特定のグループがＸＯＲでゼロになることを知り得る。このような既知の関係性は、攻撃者が、暗号化されているデータの内容についての特定の知識をもたずに、セキュリティ保護された通信に侵入することを可能にし得る。
【００１０】
このような攻撃は、“暗号文のみ”の攻撃（“ciphertext only” attack）として知られており、種々のＡ５の暗号化アルゴリズムに対して効果的であることが証明されている。このような攻撃の一例は、Ｂｉｈａｍ、他によって開示された“マンインザミドル（Man In The Middle, MITM）”攻撃である。基本的に、ＧＳＭに対するＭＩＴＭ攻撃は、偽の基地局が、自分自身を認証処理に介入させ、ＲＡＮＤおよびＳＲＥＳの両者を傍受するのを可能にすることを含む。偽の基地局は、加入者局に、認証後に、暗号化に、より弱いＡ５／２アルゴリズムを使用することを強制する。偽の基地局がＡ５／２のトラヒックからＫｃを壊して取り出すには、少量のＡ５／２の暗号化された通信のみが必要とされる。この時点で、偽の基地局は、加入者局と偽の基地局との間の区間上でＡ５／２暗号化間の翻訳機としての役割を果たすことができ、偽の基地局と真の基地局との間の区間上で、真の基地局によって、何れの暗号化も要求される。より重要なことには、偽の基地局は、認証トリプレット全体を復元することができ、したがって、それは、例えば、電話呼を乗っ取る（hijack）か、または偽のサービスを設定するために、再び使用され得る。さらに加えて、Ａ５／３のような、より強いＡ５アルゴリズムが開発されても、Ｋｃはこれらのアルゴリズムの何れをも使って働くので、より強いものでさえ、より弱いアルゴリズムにおけるセキュリティの不備な点によって徐々に崩され、最も重要な部分においてＫｃが傍受されるのを許してしまう。
【００１１】
このタイプの攻撃から保護するための提案が作成されたが、標準のＧＳＭプロトコルまた装置に対して大幅な変更を要求しない効率的な解決案は、現在のところない。さらに加えて、ＳＩＭおよび配備された加入者局に対する変更は、実施するのに不可能または非現実的であり得る。ネットワークのインフラストラクチャに対する変更も、煩雑で、コスト高で、同期をとるのが困難であるだろう。したがって、これらの攻撃の脅威に対する現在提案されている解決策は、実際に実施するには、コストが高過ぎるか、またはあまりにも非現実的であり得る。
【００１２】
ここで図面の図１を参照すると、攻撃者によって危険にさらされ得る一般的なＧＳＭネットワークシステムの一部が示されている。ユーザは、セルラ電話であるか、またはそれを含み得る加入者局（subscriber station, SS）100と、加入者識別モジュール(ＳＩＭ)カード104とを使用することによって、ネットワーク上で通信し得る。もちろん、本明細書における教示は、種々の通信デバイスに当てはまり、セルラ電話に制限されないことが分かる。ＳＩＭカード104は、セルラ電話内に配置され得る小型の1つの回路である。ＳＩＭカード104は、電話番号、秘密鍵(別途さらに詳しく記載される)、電話帳エントリ、および他の詳細のような、ユーザに関する個人情報を記憶し得る。この情報のいくつかが使用され、ユーザが、電話サービスを提供しているネットワークに識別され、認証され得る。ＳＩＭカード104は、加入者局からネットワークへ伝送する前の音声およびデータ伝送に対する暗号化能力および処理能力も含み得る。ＳＩＭカード104は、オプションで、１つのデバイスから別のデバイスに移されても、または、異なるＳＩＭカード104が任意のＧＳＭのセルラ電話に挿入されても、あるいはこの両者が行われてもよい。例えば、ユーザは、1台の電話をもち、それを私的な呼と仕事用の呼の両者に使用するとき、電話をどのように使用するかに依存して、ＳＩＭカードを変更することができる(１枚のカードは、私的な識別およびデータを含み、第２のカードは、仕事用の識別およびデータを保持する)。
【００１３】
ユーザは、加入者局100の電源を入れると、通信に使用される1つ以上のネットワークアクセスポイント(Network Access Point, NAP)106の位置を突き止めることを試みる。ＮＡＰは、例えば、ＧＳＭネットワークに接続するのに適した基地局または他のハードウェアを含み得る。これを行うために、加入者局100は、異なるＮＡＰから送られたパイロット信号を監視する。加入者局は、最も強いパイロット信号を選択し、これは、ネットワークへのリンクを設定するのに適した１つのＮＡＰを識別するであろう。ＧＳＭネットワークシステムについての次の記述において、加入者局100は、１つのＮＡＰ106とのリンクを設定する。
【００１４】
加入者局100が、ＮＡＰ106と設定されたリンク108を介して、ネットワークに接続された後で、ネットワークは、加入者局100の位置を判断しなければならない。訪問先位置レジスタ（Visited Location Register, VLR）112のようなデータベースは、全ての加入者局のエントリをそのローカルエリアに、加入者局の最後に認められた位置と共に記憶し得る。加入者局は、現在の位置について、ホーム位置レジスタ（Home Location Resister, HLR）110に定期的に知らせて、ＨＬＲ110が、それにしたがって記憶されている情報を更新し、到来する呼を加入者局にルート設定することを可能にし得る。加入者局がローミングしていないときは(すなわち、加入者局が、ホームオペレータによってサービスされる領域内にいるときは)、ＨＬＲ110およびＶＬＲ112の機能が結合され得る。使用されるとき、ＶＬＲ112は、外部ネットワーク内でローミングしている加入者局と、ホームネットワーク内にある加入者局の自分のＨＬＲ110との間の通信に役立ち得る。本明細書における概念は、ＶＬＲをもつ無線システムと、ＶＬＲをもたない無線システムとに適用され得ることであることが分かるであろう。
【００１５】
ネットワークは、加入者局100の現在の位置を識別した後で、ユーザを認証することを試み得る。認証は、ＧＳＭのセキュリティ対策の一部である。ユーザの秘密鍵(Ｋｉ)は、ＧＳＭシステムにおけるセキュリティの中心であり、認証中に使用される。各ユーザは、秘密鍵としてＫｉと呼ばれる乱数を割り当てられ、これは、ＳＩＭカード104と、認証局(ＡｕＣ)114と呼ばれるデータベースとに記憶されている。秘密鍵は、第三者によって発見されると、システムを故障させることになるので、注意深く保護される。Ｋｉは、ＡｕＣ114から送られず、したがって、伝送中の盗聴は不可能である。Ｋｉは、ＳＩＭカード104からも離れない。認証中に、ＮＡＰ106は、先ず、乱数および関係付けられた応答について、ＡｕＣ114に尋ねる。ＡｕＣ114はプロセッサ116を含んでいて、これは、乱数(ＲＡＮＤ)を生成し、ＲＡＮＤおよびユーザのＫｉが入力として使用されるセキュリティアルゴリズムを実行し得る。セキュリティアルゴリズムは、例えば、Ａ３／Ａ８認証プロトコルにしたがい得るが、他のプロトコルも使用され得る。このアルゴリズムの出力は、応答(ＳＲＥＳ)と、セッションの鍵(Ｋｃ)として知られている特別な暗号化鍵とである。ＳＲＥＳは、ユーザを認証するのに使用され、Ｋｃは、加入者局およびネットワークの両者によって、認証が行われた後に、通信データを暗号化および解読するために使用され得る。
【００１６】
ＡｕＣは、ＲＡＮＤ、ＳＲＥＳ、およびＫｃを生成し、計算した後で、３つの値を、認証トリプレット(トリプレット)と呼ばれるものにおいて一緒にまとめ、ＮＡＰ106にトリプレットを与える。次に、ＮＡＰ106は、トリプレットからＲＡＮＤを抽出し、ＲＡＮＤのみを加入者局100へ送る。加入者局100は、何れの認証アルゴリズムがＡｕＣによってＳＲＥＳおよびＫｃを生成するために使用されたかを知る。したがって、加入者局100は、同じ認証アルゴリズムを使用することによって、ＮＡＰから受信したＲＡＮＤを得て、同じＳＲＥＳおよびＫｃを計算し得る。既に記載したように、これらの値は、Ｋｉ、すなわち、ＳＩＭカード104上に記憶された秘密鍵の関数であり、加入者局100による使用に供される。
【００１７】
図２は、認証処理中に関与し得る加入者局100の追加の構成要素を示している。アナログフロントエンドは、受信機（receiver, Rx）202および送信機(transmitter, Tx)204の両者をもつトランシーバを含み得る。加入者局（subscriber system）100は処理システム(processing system, SSPS)206も含み、これは、ユーザのセルラ電話上に存在するプロセッサ208と、既に記載したように自分自身のプロセッサをもつＳＩＭカード104とを含む。
【００１８】
ここで図１に戻って、加入者局100(または、ＳＩＭカード104)は、ＳＲＥＳおよびＫｃを計算すると、Ｋｃを保持し、ＳＲＥＳをＮＡＰ106に送り返すことができる。ＮＡＰ106が加入者局100を認証することができると、通信が行われ、各エンティティはＫｃを使用して、ＮＡＰによって選択された、加入者局100に特定の暗号化アルゴリズムにしたがって通信データを暗号化および解読することができる。加入者局100を認証するために、ＮＡＰ106は、先ず、加入者局100から受信した正しいＳＲＥＳを照合する。そのようにするために、ＮＡＰ106は、プロセッサ（processor, P）118によって、加入者局100から受信したＳＲＥＳと、ＡｕＣ114から受信したＳＲＥＳとを比較し得る。これらが整合しないときは、認証は失敗する。しかしながら、これらが整合するときは、加入者は認証され、通信が行われ得る。
【００１９】
既に記載したように、ＭＩＴＭ攻撃は、認証手続き中に行われる。ＮＡＰ106が、認証のためにＲＡＮＤを加入者局100へ送るとき、ＲＡＮＤが攻撃者120によって傍受される。攻撃者120は、ＲＡＮＤを正当なユーザの加入者局100へ送る。加入者局100は、この認証要求がＮＡＰ106から正当に来たと信じて、既に記載した通常の認証ルーチンの一部として、ＳＲＥＳを計算し、ＳＲＥＳをＮＡＰ106に戻す。ＳＲＥＳは、攻撃者120によって再び傍受され、攻撃者120は、それをネットワーク上へ送る。この時点で、攻撃者120は、ＮＡＰ106にとって“認証された”ように見え、それが傍受したＲＡＮＤおよびＳＲＥＳの両者も手に入れている。攻撃者120が欠いている完全な認証トリプレットの唯一の部分は、Ｋｃである。しかしながら、攻撃者120は、弱い暗号化アルゴリズムＡ５／２を使用して、この値を得ることができる。
【００２０】
例えば、標準の条件のもとで、ＮＡＰ106は、認証を照合すると、Ａ５/１またはＡ５／３の暗号化を使用して通信を行う要求(暗号開始（cipherstart）メッセージ)を加入者局100へ送る。しかしながら、攻撃中に、攻撃者120は、暗号開始メッセージを傍受することができ、それを加入者局100へ送る代わりに、その暗号開始メッセージを変えて、その代りに、Ａ５／２、すなわち弱い暗号化アルゴリズムを使用するように加入者局100に伝える。Ａ５／２の要求が、加入者局100に、正当な暗号開始メッセージであるように見え、したがって、加入者局は、その通信データをＡ５／２アルゴリズムで暗号化し始めることになる。次に、ＮＡＰ106と加入者局100との間で通信を依然として傍受している攻撃者120は、Ａ５／２の暗号解析を採用して、Ｋｃを検索し得る。攻撃者120は、Ｋｃが分かると、同じＫｃがＡ５アルゴリズムの何れをも使って働くので、攻撃者120は、翻訳機としての役割を果たし、Ａ５／２によって加入者局100と通信し、ＮＡＰ106がその暗号開始メッセージにおいて特定したアルゴリズムが何れであっても、ＮＡＰ106と通信し得る。より重要なことは、この時点において、攻撃者120は有効な認証トリプレットの全ての部分をもち、したがって、これを将来のセッションにおいて再び使用し、例えば、認証されたユーザを装うことによって、電話呼を乗っ取るか、または電話サービスを盗み得る。
【００２１】
認証またはアクティブな通信中のＫＣの盗難を防ぐために、認証処理は、既に記載したように、何れの第三者によっても傍受されることができないＫｉを関与させる追加のステップを含み得る。図３は、追加のＫｉのステップを通常の認証ルーチン内へ挿入するためにＡｕＣによって行なわれる手続きを示すフローチャートである。手続きは、加入者局およびネットワーク構成要素(例えば、ＮＡＰ、ＶＬＲ、ＨＬＲ)が古いレガシー（legacy）システムと、ネットワーク構成要素が、新しい手続きを認識し、それに応答するためにアップグレードされたアップグレードされたシステムとの両者で実行され得る。手続きは、いくつかのレガシーの構成要素といくつかのアップグレードされた構成要素とを含むシステムを使って働く。先ず、ブロック300において、ＡｕＣは、認証処理においてＲＡＮＤとして働くように変更され得るランダム値を生成し得る。ランダム値を適切に変更するために、ＡｕＣは、先ず、ブロック302において、加入者局と通信するための暗号化タイプを選択し得る。選択される暗号化タイプは、第三者の攻撃者によって容易に危険にさらされない暗号化アルゴリズムを含み得る。例えば、ＡｕＣは、弱い暗号化アルゴリズムであることが分かっているＡ５／２を選択しないことを決定し得る。その代わりに、ＡｕＣは、Ａ５／１またはＡ５／３を選択し得るが、他のロバストなアルゴリズムも使用され得る。
【００２２】
ＡｕＣは、暗号化タイプを選択した後で、ブロック304において、ランダム値を変更し、これは、ＲＡＮＤ値、すなわちＲＡＮＤ１になり、認証に使用される。ＲＡＮＤ１は、ある特定数のビットが特別な値に設定された特別なフォーマットをもち得る。この値は、加入者局およびネットワークアクセスポイントの両者によって認識され、何れの暗号化タイプがブロック302において選択されたかを示し得る。したがって、これらのビットの値は、“指定された暗号化マーカ（mandated encryption marker）”を形成し得る。“指定された暗号化マーカ”を含むＲＡＮＤ１のフォーマットは、文献（"Further Development of the Special RAND mechanism", Vodafone and Orange, 3GPP SA3 document S3-030588）の教示にしたがい得る。しかしながら、当業者には、ＲＡＮＤ１のいくつかのビットが、選択された認証タイプを記載し、かつＮＡＰおよび加入者局におけるアップグレードされたハードウェアによって認識可能である特別な(ランダムでない)値を含むように確保される限り、他のＲＡＮＤのフォーマットも実施され得ることが分かるであろう。
【００２３】
ＲＡＮＤ１が分かると、ブロック306において、ＡｕＣは、従来の認証手続きにしたがって行ない、セキュリティアルゴリズムを使用して、ＲＡＮＤ１に対応するＫＣおよびＳＲＥＳを計算する。セキュリティアルゴリズムは、例えば、Ａ３／Ａ８認証プロトコルにしたがい得る。結果のＫＣおよびＳＲＥＳは、ＲＡＮＤ１に対応するので、ＫＣ１とＳＲＥＳ１として示される。ブロック308において、ＡｕＣは、これらの３つの値を一緒にまとめて、トリプレットＴ１を形成する。しかしながら、認証のために、このトリプレットをＮＡＰへ送る代わりに、例示的な手続きでは、Ｋｉに関与する追加のセキュリティ手続きを行って、特別な保護層を与える。
【００２４】
ブロック310では、ＡｕＣは、擬似ランダム関数として知られている一方向関数を実行し、入力が同じであるときは、出力を再現することができるが、入力値の何れも分からないときは、出力は、未知の入力に関する情報を含まないので、出力を再現することができない。使用され得る関数の１つのタイプは、ＳＨＡ−１のような、セキュリティ保護されたハッシュ関数である。ＳＨＡ−１に関する詳細は、ＦＩＰＳ−１８０−１およびＦＩＰＳ−１８０−２、ＮＩＳＴに与えられている。別の適切な関数は、例えば、ＨＭＡＣのような、セキュリティ保護されたメッセージ認証符号であり得る。ＨＭＡＣに関する詳細は、Ｋｒａｗｃｚｙｋ、他による文献（“Hash based Message Authentication Code”, RFC2401）に与えられている。もちろん、本明細書における教示は、任意の擬似ランダム関数で実施されることができ、ＳＨＡ−１、ＨＭＡＣ、または他のタイプのセキュリティ保護されたハッシュまたはメッセージ認証符号に制限されないことが分かる。
【００２５】
ブロック310においてトリプレットＴ１に対して行なわれる擬似ランダム関数の出力は、乱数のように見える。その数列は、前のステップによって実際に注意深く求められたが、その外観は、ランダムに生成された数の１つであり、そのようなものとして使用され得る。したがって、ブロック310において生成された出力は、第２の認証動作において、第２のＲＡＮＤ、すなわちＲＡＮＤ２として使用され得る。ブロック314では、セキュリティアルゴリズムが、ＲＡＮＤ２に対応する第２のＫＣおよび第２のＳＲＥＳを計算するために実施され得る。セキュリティアルゴリズムは、再び、Ａ３／Ａ８認証プロトコルにしたがい得る。結果のＫＣおよびＳＲＥＳは、それらがＲＡＮＤ２に対応するので、ＫＣ２およびＳＲＥＳ２として示される。ブロック316において、ＡｕＣは、これらの３つの値を一緒にまとめて、第２のトリプレットＴ２を形成する。
【００２６】
この時点において、ＡｕＣは、加入者局の認証に使用可能な２つのトリプレットをもつ。ＮＡＰが、セキュリティ方法にかかわることができるアップグレードされたハードウェアを含むかどうかに依存して、ＡｕＣは、認証中に使用するために、これらのトリプレットの一方または両方をＮＡＰへ送り得る。ブロック318では、ネットワークは、ＮＡＰがレガシーハードウェアを含むか、またはアップグレードされたハードウェアを含むかを判断する。この判断は、ＡｕＣ、ＶＬＲ、またはＨＬＲによって、あるいはその何らかの組合せによって行われ得る。ＮＡＰがレガシーハードウェアを含むときは、ブロック320において、ＡｕＣは、第２のトリプレットＴ２のみをＮＡＰに送る。この場合に、認証は、通常通りに行われ、ＮＡＰおよび加入者局は、Ｔ２内の値を使用して、認証を達成し、Ｔ１の値の何れも使用しない。他方で、ＮＡＰが、例示的なセキュリティ方法を支援することができるアップグレードされたハードウェアを含むときは、ブロック322において、ＡｕＣは、トリプレットＴ１およびＴ２の両者をＮＡＰに送ることになる。
【００２７】
図４は、両者のトリプレットを受信するときの、例示的なアップグレードされたネットワークアクセスポイントの動作を例証するフローチャートである。ブロック400において、トリプレットＴ１およびＴ２の両者は、ＡｕＣから直接に、あるいはＶＬＲまたはＨＬＲを経由して受信される。ＮＡＰは、両者のトリプレットからＲＡＮＤを加入者局へ送るのではなく、第１のトリプレットのＲＡＮＤ、すなわちＲＡＮＤ１のみを送る。これは、加入者局がレガシーハードウエアを含むか、またはアップグレードされたハードウェアを含むか、したがって加入者局が、ＮＡＰのように、例示的なセキュリティ方法にかかわることができるかどうかを“試験”するために行われる。ブロック404において、加入者局は、ＲＡＮＤ１を処理し、応答を生成する。この応答の値は、加入者局がレガシーハードウエアを含むか、またはアップグレードされたハードウェアを含むかに依存することになる。したがって、ここでは、加入者局の処理の特定の詳細を記載し、それは図５Ａおよび５Ｂに示されている。
【００２８】
図５Ａは、アップグレードされたＮＡＰと共に認証にかかわるアップグレードされた加入者局の動作を示すフローチャートである。ブロック500において、加入者局は、ＮＡＰから、特別にフォーマットされたＲＡＮＤ１を受信する。加入者局は、アップグレードされた加入者局であるので、ブロック502において、ＲＡＮＤ１内に指定された暗号化マーカを認めるであろう。加入者局は、このマーカを認めたという理由で、ＮＡＰもアップグレードされていて、加入者局およびＮＡＰが、例示的なセキュリティ方法にかかわり得ることが分かる。最初に、ブロック504において、加入者局は、通常の認証手続きにしたがって、ＫＣ１およびＳＲＥＳ１を計算する。言い換えると、ＳＩＭカードは、Ｋｉを検索し、それをＲＡＮＤ１と共に使用して、ＫＣ１およびＳＲＥＳ１を計算し得る。しかしながら、ＳＲＥＳ１を送り返し、ＫＣ１を暗号化に使用する代わりに、加入者局は、特別なセキュリティ層を構成するために、例示的なセキュリティ方法を続ける。ブロック506において、加入者局は、ＲＡＮＤ１、ＳＲＥＳ１、およびＫＣ１を組合せて、第１のトリプレットＴ１を形成する。次に、ブロック508において、加入者局は、既に記載したように、Ｔ１に対して擬似ランダム関数を実行する。ブロック510において、この関数の出力は、ＲＡＮＤ２、すなわちＡｕＣにおいて既に計算されたものと同じ値である。次に、ブロック512において、加入者局は、ＳＩＭカードに記憶されているＫｉを使用して、ＫＣ２およびＳＲＥＳ２を計算する。最後に、ブロック514において、ＳＲＥＳ２がＮＡＰに送り返される。
【００２９】
加入者局がアップグレードされていないときは、それは、上述の例示的なセキュリティ方法にかかわることができない。しかしながら、レガシーの加入者局でさえも、特別にフォーマットされたＲＡＮＤ１を使用して、ＮＡＰに自分自身を認証させることができるであろう。図５Ｂは、アップグレードされたＮＡＰと共に認証にかかわるレガシーの加入者局の動作を示すフローチャートである。ブロック516において、加入者局は、特別にフォーマットされたＲＡＮＤ１をＮＡＰから受信する。しかしながら、加入者局は、アップグレードされていないので、ＲＡＮＤ１内に指定された暗号化マーカを認めることができない。したがって、加入者局は、ＲＡＮＤ１が単に乱数であると考えて、それを通常のＲＡＮＤとして使用する。したがって、加入者局は、ブロック518に示されているように、Ｋｉを使用して、ＫＣ１およびＳＲＥＳ１を計算するように、そのＳＩＭカードに指示する。ブロック520において、加入者局は、認証のために、ＳＲＥＳ１をＮＡＰに戻す。
【００３０】
ここで、図４に戻って、ブロック406において、ＮＡＰは加入者局からＳＲＥＳを受信する。図５Ａおよび５Ｂを参照して既に説明したように、このＳＲＥＳ値は、加入者局がアップグレードされていたか、またはレガシーであったかに依存して、ＳＲＥＳ１またはＳＲＥＳ２の何れかであり得る。したがって、ブロック408において、ＮＡＰは、先ず、受信した値が、それがＴ１から得たＳＲＥＳ１と整合するかどうかを判断する。そうであるときは、ＮＡＰは、加入者局がＲＡＮＤ１の特別のフォーマットを認識し、追加のセキュリティ機構を実施できなかったことを知る。したがって、ブロック410において、ＮＡＰは、加入者局がレガシーハードウェアを含み、例示的なセキュリティ方法にかかわることができないことを検出する。したがって、ＮＡＰは、従来の認証手続きにしたがって動作し、ブロック412に示されているように、加入者局が特定の暗号化タイプを使用し始めることを要求する暗号開始（cipherstart）メッセージを送らなければならない。さらに加えて、加入者局は、従来の認証手続きによって動作し、ブロック414に示されているように、（図５Ｂにおいて）既に計算されたＫＣ１を使用して、その通信データを暗号化する。
【００３１】
他方で、ＮＡＰは、ブロック408において、戻されたＳＲＥＳが、それがＴ１から得たＳＲＥＳ１と整合しないと判断すると、ＮＡＰは、加入者局が、例示的なセキュリティ方法の可能なアップグレードされたハードウェアを含み得ることを知る。しかしながら、先ず、ＮＡＰは、これを示す適切な応答値を送り返した加入者局を照合しなければならない。したがって、ブロック416において、ＮＡＰは、ＳＲＥＳが、それがＴ２から得たＳＲＥＳ２と整合するかどうかを試験する。そうでないときは、ブロック418において、認証は失敗する。しかしながら、整合が検出されるときは、ブロック420において、ＮＡＰは、加入者局が、アップグレードされたものであることを検出する。したがって、ＮＡＰは、ブロック422において、暗号化タイプ要求が暗号開始メッセージ内で送られる必要がないことと、ブロック424において、加入者局が、（図５Ａにおいて）既に計算された第２のセッションの鍵ＫＣ２を使用して、その通信データを暗号化することになることとを知る。暗号化タイプ要求は、それでもなお、既存のプロトコルを変更するのを避けるために送られ得るが、これは、暗号化アルゴリズムの選択に影響を与えないであろう。さらに加えて、攻撃者が、ブロック502において認められた指定された暗号化マーカ内で特定されているもの以外の暗号化タイプを示す偽の要求を、加入者局へ送ることを試みるときは、加入者局は、それが偽の要求であることを認識し、例えば、マーカ内で特定された暗号化タイプにしたがって通信データを暗号化することによって、または通信データを送ることをともかく断わることによって、それを無視するであろう。
【００３２】
図６は、加入者局およびネットワークアクセスポイントの各々が、他方がアップグレードされていることを照合したときの、これらの動作を示すフローチャートである。既に記載したように、ＫＣ２は、適切に保護されたＫｉを使用して、第２のセキュリティ層で得られるので、各々は、暗号化および解読にＫＣ２を使用し得る。しかしながら、別の特徴にしたがうと、その代りに、加入者局およびＮＡＰは、さらに別の暗号化鍵を、ＫＣ２に基づいて計算し、通信を暗号化および解読してもよい。そうすることは、さらに別のセキュリティ層を挿入する。ブロック600および602において、加入者局およびＮＡＰは、それぞれ、他方がアップグレードされていることを検出する。したがって、各々は、例示的なセキュリティ方法が採用され得ることに気付く。しかしながら、この方法を使用して、セキュリティ保護されたＫＣ２を計算するとき、加入者局は、ブロック604において、ＫＣ２および何らかの値“Ｘ”の関数として、新しい鍵を生成し得る。ＮＡＰは、ブロック606において、同じ新しい鍵を計算し得る。この新しい鍵は、ブロック608および610に示されているように、特定の関数の出力であり得る。例えば、Ｘが暗号値であるとき、Ｋｅｎｃｒｙｐｔｅｄは、暗号専用鍵であり得る。Ｘが認証値であるとき、Ｋｅｎｃｒｙｐｔｅｄは、認証鍵であり得る。これらの鍵は、同じＫＣ２に基づくが、それぞれ、データを暗号化するため、および認証するために使用され得る。
【００３３】
図７は、１つの実施形態にしたがう加入者局を示している。示されているように、加入者局は、鍵および応答計算ユニット704に接続された受信回路700を含んでいる。受信回路700は、ＲＡＮＤ値のような認証情報を受信し、この情報を鍵および計算ユニット704に与える。鍵および計算ユニット704は、メモリ記憶ユニット702から、加入者局の秘密鍵Ｋｉも受信する。これらの入力から、鍵および計算ユニット704は、第１の応答ＳＲＥＳ１および第１の鍵ＫＣ１を生成し、これらは、鍵および計算のユニット704にフィードバックされる。次に、鍵および計算ユニット704は、第２の応答ＳＲＥＳ２および第２の鍵ＫＣ２を生成する。第２の応答ＳＲＥＳ２は、認証を完了する伝送のために、送信回路708へ与えられ、一方で第２の鍵ＫＣ２は、データを処理および受信するために、符号化／復号ユニット710に与えられる。また、プロセッサ706が、鍵および計算ユニット704、符号化／復号ユニット710、およびメモリ記憶ユニット702の調整および制御のために設けられている。図７は、加入者局の動作の機能上の説明を与えており、別の実施形態では、機能ユニットを組合せるか、または、さらに加えて、本明細書に記載されたセキュリティ機構を構成するように個々の機能ブロックを特定し得る。
【００３４】
本明細書は、本発明の特定の実施形態を記載しているが、普通の技能をもつ者は、発明の概念から逸脱することなく、本発明のバリエーションを考案することができる。例えば、本発明の教示は、回路交換ネットワーク素子を参照しているが、同様に、パケット交換領域ネットワーク素子に適用可能である。さらに加えて、本明細書の教示は、認証トリプレットの組に制限されず、２つのＳＲＥＳ値(通例のフォーマットの１つ、および本明細書に開示されているより新しいフォーマットの１つ)を含む１つのトリプレットの使用に適用されることもできる。
【００３５】
当業者には、情報および信号が、種々の異なる技術および技法の何れかを使用して表され得ることが分かるであろう。例えば、上述全体で参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光学場または光学粒子、あるいはこれらの組合せによって表され得る。
【００３６】
当業者は、本明細書に開示されている実施形態に関連して記載された種々の例示的な論理ブロック、モジュール、回路、およびアルゴリズムが、電子ハードウェア、コンピュータソフトウェア、またはこの両者の組合せとして実施され得ることも分かるであろう。ハードウェアおよびソフトウェアのこの互換性を明らかに説明するために、種々の例示的な構成要素、ブロック、モジュール、回路、方法、およびアルゴリズムが、それらの機能性に関して、上述に概ね記載されている。このような機能性がハードウェアまたはソフトウェアとして実施されるかは、システム全体に課された設計の制約および具体的な用途に依存する。熟練工は、記載された機能性を各特定の用途ごとに様々なやり方で実施し得るが、このような実施上の決定は、本発明の範囲からの逸脱を招くものとして解釈されるべきではない。
【００３７】
本明細書に開示されている実施形態に関連して記載されている種々の例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、ディジタル信号プロセッサ（digital signal processor, DSP）、特定用途向け集積回路（application specific integrated circuit, ASIC）、フィールドプログラマブルゲートアレイ（field programmable gate array, FPGA）または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタロジック、離散ハードウェアコンポーネント、あるいは本明細書に説明されている機能を実行するように設計されたこれらの組合せで実現または実行され得る。汎用プロセッサは、マイクロプロセッサであってもよいが、代替例においては、プロセッサは任意の従来のプロセッサ、制御装置、マイクロ制御装置、または状態機械であり得る。プロセッサは、計算デバイスの組合せとして、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと関連した１つ以上のマイクロプロセッサ、または任意の他のこのような構成としても実施され得る。
【００３８】
本明細書に開示されている実施形態に関連して記載されている方法またはアルゴリズムは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこの２つの組合せにおいて直接に具現化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術において公知の任意の他の形態の記憶媒体に常駐していてもよい。記憶媒体は、プロセッサが記憶媒体から情報を読み出し、かつそこへ情報を書き込むことができるようにプロセッサに結合され得る。代替例において、記憶媒体は、プロセッサと一体であってもよい。プロセッサおよび記憶媒体は、ＡＳＩＣに常駐していてもよい。
【００３９】
開示されている実施形態の上記説明は、当業者が本発明を構成または使用することを可能にすべく提供されている。これらの実施形態への種々の変更は、当業者には容易に明らかであり、本明細書に定義されている一般的な原理は、本発明の主旨および範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は本明細書に示されている実施形態に制限されることを意図されるものではなく、本明細書に開示されている原理および新規な特徴と合致する最大の範囲に一致すべきものである。
【図面の簡単な説明】
【００４０】
【図１】攻撃者によって危険にさらされ得る一般的なＧＳＭネットワークシステムの一部を示す図。
【図２】認証中に関与し得る加入者局の構成要素を示す図。
【図３】認証局の動作を示すフローチャート。
【図４】例示的なネットワークアクセスポイントの動作を示すフローチャート。
【図５Ａ】第１の例示的な加入者局の動作を示すフローチャート。
【図５Ｂ】第２の例示的な加入者局の動作を示すフローチャート。
【図６】加入者局およびネットワークアクセス局の動作を示すフローチャート。
【図７】加入者局を示す図。
【符号の説明】
【００４１】
108・・・リンク、206・・・処理システム。
【図１】
2007511172.tif 000003
【図２】
2007511172.tif 000004
【図３】
2007511172.tif 000005
【図４】
2007511172.tif 000006
【図５Ａ】
2007511172.tif 000007
【図５Ｂ】
2007511172.tif 000008
【図６】
2007511172.tif 000009
【図７】
2007511172.tif 000010
【国際調査報告】
2007511172.tif 000011
2007511172.tif 000012
2007511172.tif 000013