説明

無線通信における認証のための方法および装置

ネットワークと加入者局との間の無線通信をセキュリティ保護するシステムおよび方法は、認証に使用されるランダム値の中に暗号化タイプを示すマーカを挿入することと、ランダム値の関数として、第1のセッションの鍵および第1の応答値を計算することと、ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第2のセッションの鍵および第2の応答値を計算することとを含む。2つのレベルのセッションの鍵および応答値が、アップグレードされた加入者局およびネットワークアクセスポイントによって使用され、攻撃者が認証トリプレットを傍受するのを妨げ得る。

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

【特許請求の範囲】
【請求項1】
加入者局においてネットワークとの無線通信をセキュリティ保護する方法であって、
ネットワークからランダム値を受信することと、
ランダム値の関数として、第1のセッションの鍵および第1の応答値を計算することと、
ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第2のセッションの鍵および第2の応答値を計算することと、
認証のために、第2の応答値をネットワークへ通信することとを含む方法。
【請求項2】
ランダム値が、通信のために暗号化タイプを識別する暗号化マーカを含む請求項1記載の方法。
【請求項3】
マーカが、所定の系列の値を特定する複数のビットを含む請求項2記載の方法。
【請求項4】
暗号化タイプが、A5/2の暗号化とは異なる請求項2記載の方法。
【請求項5】
暗号化タイプと一致しない暗号化要求を受信することと、要求を無視することとをさらに含む請求項1記載の方法。
【請求項6】
暗号化タイプにしたがって通信を暗号化することをさらに含む請求項5記載の方法。
【請求項7】
暗号化タイプと一致しない暗号化要求に応答して、通信データを伝送することを断わることをさらに含む請求項5記載の方法。
【請求項8】
加入者局に記憶されている秘密鍵を検索することをさらに含み、
第1のセッションの鍵および第1の応答鍵の計算が、秘密鍵の関数でもある請求項1記載の方法。
【請求項9】
ランダム値を変更することをさらに含み、
第2のセッションの鍵および第2の応答値の計算が、変更されたランダム値、第1のセッションの鍵、および第1の応答値を組合せて、認証トリプレットを形成することと、認証トリプレットに対してハッシュ関数を実行することとを含む請求項1記載の方法。
【請求項10】
第2のセッションの鍵および第2の応答値が、ハッシュ関数の出力と、加入者局内のSIMカード上に記憶されている秘密鍵との関数として計算される請求項9記載の方法。
【請求項11】
暗号化された鍵を、第1のセッションの鍵と所定の値との関数として計算することをさらに含む請求項1記載の方法。
【請求項12】
暗号化された鍵が、暗号鍵を含む請求項11記載の方法。
【請求項13】
暗号化された鍵が、認証鍵を含む請求項11記載の方法。
【請求項14】
通信データをネットワークに通信する前に、暗号化された鍵でデータを暗号化することをさらに含む請求項11記載の方法。
【請求項15】
ネットワークから加入者局との無線通信をセキュリティ保護する方法であって、
暗号化タイプを特定するマーカをもつランダム値を生成することと、
ランダム値の関数として、第1のセッションの鍵および第1の応答値を計算することと、
ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第2のセッションの鍵および第2の応答値を計算することと、
ランダム値を加入者局へ通信することと、
ランダム値に応答して、加入者局から加入者応答値を受信することと、
加入者応答値を、第1および第2の応答値の各々と比較することとを含む方法。
【請求項16】
マーカが、所定の系列の値を特定する複数のビットを含む請求項15記載の方法。
【請求項17】
要求された暗号化タイプが、A5/2の暗号化と異なる請求項15記載の方法。
【請求項18】
第1のセッションの鍵および第1の応答値の計算が、加入者局と関係付けられた秘密鍵の関数でもある請求項15記載の方法。
【請求項19】
第2のセッションの鍵および第2の応答値の計算が、
変更されたランダム値、第1のセッションの鍵、および第1の応答値を組合せて、認証トリプレットを形成することと、
認証トリプレットに対してハッシュ関数を実行することとを含む請求項15記載の方法。
【請求項20】
第2のセッションの鍵および第2の応答値が、ハッシュ関数の出力と、加入者局と関係付けられた秘密鍵との関数として計算される請求項19記載の方法。
【請求項21】
加入者局の応答値が、第1の応答値と整合し、方法が、第1のセッションの鍵と所定の値との関数として、暗号化された鍵を計算することをさらに含む請求項15記載の方法。
【請求項22】
加入者局から通信データを受信することと、通信データを暗号化された鍵で解読することとをさらに含む請求項21記載の方法。
【請求項23】
暗号化された鍵が、暗号鍵を含む請求項21記載の方法。
【請求項24】
暗号化された鍵が、認証鍵を含む請求項21記載の方法。
【請求項25】
ネットワークからランダム値を受信する手段と、
ランダム値の関数として、第1のセッションの鍵および第1の応答値を計算し、さらに加えて、ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第2のセッションの鍵および第2の応答値を計算する手段と、
認証のために、ネットワークに第2の応答値を通信する手段と、
伝送データの暗号化に第2のセッションの鍵を適用する手段とを含む加入者局。
【請求項26】
暗号化タイプを特定するマーカを含むランダム値を生成する手段と、
ランダム値の関数として、第1のセッションの鍵および第1の応答値を計算する手段と、
ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第2のセッションの鍵および第2の応答値を計算する手段と、
ランダム値を加入者局に通信する手段と、
ランダム値に応答して、加入者局から加入者応答値を受信する手段と、
加入者応答値を、第1および第2の応答値の各々と比較する手段とを含むネットワーク。
【請求項27】
ネットワークからランダム値を受信するように構成された受信機と、
ランダム値の関数として、第1のセッションの鍵および第1の応答値を計算し、ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第2のセッションの鍵および第2の応答値を計算するように構成されたプロセッサシステムと、
伝送データの暗号化および解読のために、第2のセッションの鍵を受信するように適応させられた暗号化ユニットと、
認証のために、第2の応答値をネットワークへ送るように構成された送信機とを含む加入者局。
【請求項28】
プロセッサシステムが、通信デバイス上の第1のプロセッサと、SIMカード上の第2のプロセッサとを含む請求項27記載の加入者局。
【請求項29】
通信デバイスが、グローバルシステムモバイル(Global System Mobile)のセルラ電話を含む請求項28記載の加入者局。
【請求項30】
プロセッサシステムが、ランダム値、第1のセッションの鍵、および第1の応答値を組合せて、認証トリプレットを形成し、認証トリプレットに対してハッシュ関数を実行するようにも構成されている請求項27記載の加入者局。
【請求項31】
プロセッサシステムが、第1のセッションの鍵と所定の値との関数として、暗号化された鍵を計算するようにも構成されている請求項27記載の加入者局。
【請求項32】
加入者局に固有の秘密鍵を記憶するメモリ記憶ユニットをさらに含み、プロセッサが、秘密鍵、ランダム値、第1のセッションの鍵、および第1の応答値の関数として、第2のセッションの鍵および第2の応答値を計算する請求項27記載の加入者局。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2007−511172(P2007−511172A)
【公表日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願番号】特願2006−539613(P2006−539613)
【出願日】平成16年11月1日(2004.11.1)
【国際出願番号】PCT/US2004/036538
【国際公開番号】WO2005/048638
【国際公開日】平成17年5月26日(2005.5.26)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】