説明

モバイル機器を認証する方法及び装置

【課題】あるネットワークの認証モジュールに対して、あるモバイル機器を認証する方法を提供する。
【解決手段】方法は、モバイル機器にチャレンジを転送するステップと、前記モバイル機器が認証されるべき相手先のネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器が鍵の導出を行い、前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器が鍵の導出を行うステップと、前記鍵の導出の結果を使用して、前記モバイル機器から前記認証モジュールに対して認証プロトコルを実行するステップと、返された前記認証プロトコルの結果を検証することにより前記モバイル機器を認証するステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モバイル機器を認証する方法及び装置に関する。
【背景技術】
【0002】
ネットワークプロバイダは、様々なアクセスネットワーク技術によってサービスを提供している。革新的な技術を用いれば、所与のネットワークアクセス技術によって提供されるセキュリティのレベルを改善することができる。そのような改善の一例は、3GPPロング・ターム・エボルーション(LTE)によるものである。このLTEは、E−UTRANとしても知られており、LTEにおいては、ネットワークアクセス認証に使用される暗号鍵は、在圏ネットワークID(visited network ID)にバインドされ(結び付けられ)、UMTS鍵は、バインドされない。
【0003】
最も広く展開されているネットワークアクセス認証パラダイムは、いわゆる三者ネットワークアクセス認証(three party network access authentication)である。このパラダイムにおいて、ネットワークアクセスは、認証装置(A:authenticator)によって保護される。また、認証プロトコルが、認証装置を介して、ネットワーク認証サーバ(network authentication server)(NAS)とサプリカント(supplicant)(S)(任意のモバイル機器又は端末とすることができる)との間で実行される。
図1は、そのような認証スキームを概略的に示している。認証装置Aは、ネットワークへのアクセスを保護するものである。ネットワーク認証サーバNASとサプリカントSは、ロング・ターム鍵(long term key)Kを共有する。認証プロトコルが、NASとSとの間で実行され、NAS及びSが認証プロトコルの実行に成功した後で、NASとSは、共有の鍵材料(keying material:鍵に関連するデータ)を入手する。次いで、鍵材料は、NASによって認証装置Aにプッシュされる。このステップが完遂されると、サプリカントSは、認証装置Aに対して、サプリカントSが認証され且つネットワークへのアクセスを許可されていることを証明することができる。そのような三者間ネットワークアクセス認証プロトコルの代表的な例が、インターネット技術標準化委員会(IETF:Internet Engineering Task Force)によるEAP(Extensible Authentication Protocol(拡張可能認証プロトコル))プロトコルや、第3世代パートナーシップ・プロジェクト(3GPP:3rd Generation Partnership Project)によるAKA(Authentication & Key Exchange(認証及び鍵交換))プロトコルである。
【0004】
図2は、3GPPシステムで使用されるこのアプローチの変更例を示している。3GPP認証及び鍵交換AKAの場合、S(3GPPにおけるユーザ端末UE)とA(この場合はモバイル管理エンティティMME)との間で使用されることになる鍵は、NAS(すなわち、ホーム加入者サーバHSS/認証センタAuC)によって事前に計算され、Aに渡される。次いで、認証プロトコルを、SとAとの間でのみ実行することができる。
【0005】
このパラダイムは、ネットワーク・アクセス・プロバイダに対して適切な保護を提供するが、考慮されなければならない別のパラダイムは、ローミングのパラダイムである。ローミングにおいては、いわゆるホームネットワークに加入している加入者が、在圏ネットワークを介してネットワークにアクセスすることができる。ホームネットワークと在圏ネットワークとは、通常、異なる組織に属している。
【0006】
図3は、そのような状況において生じ得る問題を概略的に示している。攻撃者は、認証装置Aから鍵材料KMを盗み、次いで、自分がネットワークアクセスを提供しているかのようになりすますことができる。
【0007】
所与の在圏ネットワークにおいて盗まれた鍵が別の在圏ネットワークにおいて再利用される攻撃を回避するための一つの方法は、ロング・ターム・エボルーション(LTE)システムの場合と同様に、それらの鍵を在圏ネットワークIDにバインドすることである。鍵材料KMがネットワークIDにバインドされていれば、攻撃者は、3GPP LTEシステムの場合と同様に、そのネットワークIDになりすますことしかできない。残念ながら、これは、UMTSなどの全てのアクセスネットワーク技術の場合に当てはまるわけではない。したがって、そのようなネットワークIDへのバインド(結び付き)がない場合、攻撃者は、いかなるネットワークにもなりすますことができる。
【0008】
セキュリティを高めるために、ネットワークIDへのバインドを広く実行することができれば、好ましいであろう。しかしながら、いくつかの状況においては、サプリカントにおいて行われる基本的な鍵の導出手順を更新することができない場合もある。この場合に当てはまるのは、例えば3GPPの場合であり、取り替えるのにコストがかかるUSIM(汎用加入者識別モジュール、3GPPシステムにおけるスマートカード)において、基本的な鍵の導出と、AKAの基礎をなすネットワーク・チャレンジ認証(network challenge authentication)とが行われる場合である。
【0009】
在圏ネットワークを識別するバインディングによって、すなわち、このバインディングを提供するアクセス技術によって提供された、改善されたセキュリティの恩恵を受けるメカニズムを提供することが望ましいであろう。しかし、それと共に、鍵は、レガシシステムのUSIMを交換する必要がなく、セキュアで下位互換性(backward compatible)があるやり方で、アクセス技術にバインドされる必要がある。
【0010】
1つの可能なアプローチとしては、認証プロトコル内部の保護された情報要素(ランダム・チャレンジRANDやAKAのための認証管理フィールドAMFなど)の1つにおいて鍵がどのアクセス技術にバインドされているかを知らせる何らかのシグナリングを提供することである。しかし、そのようなアプローチは、下位互換性がない。
【発明の概要】
【発明が解決しようとする課題】
【0011】
ネットワークプロバイダは、時々、アクセスネットワークの種類を追加しようとすることがある。新しいネットワークアクセスによって提供されるセキュリティのレベルを上げようとすることもある。これは、LTEにおいて行われている。LTE鍵は、在圏ネットワークIDにバインドされるが、UMTS鍵はバインドされない。LTEネットワークになりすますためにUMTSネットワークにおいて盗まれた鍵が再利用される攻撃を回避するためには、鍵が、セキュアで下位互換性のあるやり方で、アクセス技術にバインドされる必要がある。したがって、本発明の目的は、鍵材料をネットワークIDへそのような下位互換性のあるやり方でバインドすることのできる認証メカニズムを提供することである。
【課題を解決するための手段】
【0012】
本発明の実施形態によれば、下位互換性があるやり方で鍵をネットワークアクセス技術にバインドすることを可能にするメカニズムが提供される。
【0013】
一実施形態によれば、あるネットワークの認証モジュールに対して、あるモバイル機器を認証する方法が提供される。当該方法において、前記認証モジュールは、チャレンジと、ある不可逆関数又は鍵導出関数を使用して前記チャレンジに基づいて計算された鍵とを保持するものであり、前記鍵は、前記ネットワークがより高度化されたネットワークである場合には、前記チャレンジが変更された後で前記チャレンジに基づいて計算され、前記ネットワークが高度化されていないネットワークである場合には、変更されていない前記チャレンジに基づいて計算されるものであり、当該方法は、
前記モバイル機器に前記チャレンジを転送するステップと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器が鍵の導出を行い、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器が鍵の導出を行うステップと、
前記鍵の導出の結果を使用して、前記モバイル機器から前記認証モジュールに対して認証プロトコルを実行するステップと、
返された前記認証プロトコルの結果を検証することにより前記モバイル機器を認証するステップと
を含む。
【0014】
チャレンジの扱い方を区別することによって、すなわち、より高度化されたネットワークの場合には変更されたチャレンジを得て、高度化されていないネットワークの場合には変更されていないチャレンジを使用することによって、高度化されたネットワークのための認証メカニズムと高度化されていないネットワークのための認証メカニズムという2つの異なる認証メカニズムを使用し、下位互換性を維持しながらそれら2つのメカニズムを区別することが可能になる。特に、より高度な認証をサポートするネットワーク環境でこのメカニズムを用いれば、より高度な認証メカニズムのサポートを可能にしつつ、レガシ部品の機器も使用することができる。
【0015】
この方法で使用されるチャレンジは、ランダム・チャレンジとすることができる。
【0016】
一実施形態によれば、前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、計算されるべき前記鍵は、前記ネットワークの特性に対応するパラメータに基づいてさらに計算された鍵によって、前記ネットワークの前記特性にバインドされる。また、前記ネットワークが、高度化されていないネットワークである場合には、前記鍵は、前記パラメータに基づいて計算されないようになっている。また、前記パラメータは、好ましくは、前記ネットワークの識別子と、前記ネットワークの種類を反映するパラメータとの1つ以上を含むものである。
【0017】
この実施形態では、より高度化されたネットワークと高度化されていないネットワークとは、チャレンジが変更されているか否かに基づいて区別されるのみならず、さらに、そのネットワークの特性を反映する何らかのパラメータを使用して鍵が導出されているかどうかによっても区別される。そのようなパラメータは、例えば、ネットワークIDなどとすることもでき、ネットワークの種類の表示(indication)のような、そのネットワークの特性を反映する他の任意のパラメータとすることもできる。そのパラメータが鍵を導出するのに使用される場合、その鍵は、このパラメータに「バインド」され、そのようなバインドは、より高度化されたネットワークには行われ、高度化されていないネットワークには行われない場合もある。これは、より高度化されたネットワークがNID鍵バインディング(又は別のパラメータへのバインディング)などを必要とし、そのようなNID又はパラメータバインドを必要としない高度化されていないネットワークの場合には、(NID又はネットワークパラメータにバインドされていない)変更されていないチャレンジを使用するという状況を考慮に入れることができる。これによって、既存のメカニズムを使用して認証プロトコルを実行することができ、認証プロトコルが実行されるところでチャレンジ値が異なることにより、ネットワークの種類によって異なる結果が導き出されることになる。これは、さらに、高度化されていない種類のネットワークから盗まれた鍵を、より高度化された種類のネットワークにおいて使用することを不可能にする。というのは、これが鍵の不一致をもたらすためである。
【0018】
この実施形態は、より高度化されたネットワークは、ネットワーク特性を反映するパラメータへの鍵のバインドを必要とし、高度化されていないネットワークは、そのようなバインドを必要としない状況に適合させることができる。
【0019】
計算される鍵がバインドされ得る相手先のパラメータは、ネットワークの識別子、ネットワークの種類を識別するパラメータ、セキュリティのレベル、又はネットワークの特性を反映し、もしくはこれに対応する他の任意のネットワークの特性を反映する任意のパラメータとすることができる。
【0020】
この方法は、さらに、
前記ネットワークのネットワーク認証サーバが、前記チャレンジ及び前記チャレンジに基づいて計算される前記鍵を計算するステップと、
前記チャレンジ及び前記チャレンジに基づいて計算された鍵を前記ネットワークの認証装置に転送するステップと
を含む。
【0021】
このようにして、三者認証スキームを実施することができる。
【0022】
一実施形態によれば、前記チャレンジに基づき、さらに前記ネットワークの識別子に基づくものである前記計算される鍵は、前記変更されたチャレンジと前記ネットワークの識別子との組み合わせに対して不可逆関数を適用することに基づいて得られるものである。
【0023】
このようにして、セキュリティを高めるためにより高度化されたネットワークシステムによって要求されるように、計算される鍵にネットワークIDの情報を含めることができる。
【0024】
一実施形態によれば、前記変更されたチャレンジは、前記チャレンジに第1の不可逆関数を適用することによって得られるものであり、
前記ネットワークが、より高度化されたものであるか又は高度化されていないものであるかに応じて、前記変更されていないチャレンジ又は前記変更されたチャレンジに基づいて計算される前記鍵は、前記変更されたチャレンジ又は前記変更されたチャレンジから導出される値と前記パラメータとの組み合わせに対して第2の不可逆関数を適用することに基づいて計算されるものである。
【0025】
このようにして、変更されたチャレンジを認証し、第2の不可逆関数を適用するときに識別されるネットワークの情報を含めることによって、モバイル機器を認証することができる。第2の不可逆関数が、変更されたチャレンジに適用されるだけでなく、第2の不可逆関数が、変更されたチャレンジから導出される値に適用される場合には、このメカニズムは、さらに一層セキュアになる。
【0026】
一実施形態によれば、前記変更されたチャレンジから導出される値は、前記ネットワークがより高度化されたネットワークであるか又は高度化されていないネットワークであるかに応じて、前記変更されたチャレンジ又は前記変更されていないチャレンジに対して第3の不可逆関数を適用することによって得られるものである。
【0027】
このようにして、第3の不可逆関数を導入することにより、このメカニズムをさらに一層セキュアにすることができる。
【0028】
一実施形態によれば、前記計算される鍵は、C’=KDF’(C)とするKNID=KDFNID((KDF(C’),NID))に基づいて計算される鍵であり、
Cは、前記チャレンジであり、
C’は、前記変更されたチャレンジであり、
NIDは、前記パラメータであり、
KDF’は、第1の不可逆関数であり、
KDFNIDは、第2の不可逆関数であり、
KDFは、第3の不可逆関数である。
【0029】
これは、モバイル機器がネットワークにアクセスするための鍵材料をどのようにして認証し、導出すべきかの1つの具体的な実施方法である。
【0030】
一実施形態によれば、前記不可逆関数は、ハッシュ関数又は鍵導出関数であり、
前記第1、第2及び第3の不可逆関数は、全てが異なっているか、全てが同一であるか、前記第1、第2及び第3の不可逆関数のうちの2つが同一であり且つ1つが異なっているかのいずれかである。
【0031】
これらは、本発明の実施形態において記載された不可逆関数の可能な実装方法である。
【0032】
一実施形態によれば、不可逆関数を適用することによって得られる前記変更されたチャレンジは、前記変更されていないチャレンジと前記パラメータとの組み合わせに基づいて得られるものである。
【0033】
このようにして、すでにネットワークIDに基づくものになっている情報を、変更されたチャレンジに含めることができる。したがって、その後で、すなわち、チャレンジに基づく高度化されていないネットワークによる認証プロトコルが実行された後で、さらにこのNID情報を含めるための動作を行う必要がない。
【0034】
一実施形態によれば、前記モバイル機器は、更新部分とレガシ部分とを備え、前記レガシ部分は、前記高度化されていないネットワークに従って認証プロトコルを実行するものであり、
前記更新部分が前記チャレンジを受け取り、認証が、より高度化されたネットワークに対して行われるべきである場合には、前記変更されたチャレンジを得て、前記モバイル機器の前記レガシ部分に転送するステップと、
前記更新部分から受け取られる前記チャレンジに基づいて、前記レガシ部分において前記高度化されていないネットワークに従って前記認証プロトコルを実行するステップと、
前記更新部分に前記認証プロトコルの結果を返すステップと
を含む。
【0035】
このようにして、レガシ部分を使用して認証プロトコルを実行することができ、他方、更新部分を使用してネットワークIDバインディングを実施することもできる。これは、モバイル機器を完全に交換する必要をなくし、しかも、より高度化されたネットワークに対する認証のためにネットワークIDが導出鍵にバインドされた状態で、レガシ部分を引き続き使用することができる。
【0036】
一実施形態によれば、前記高度化されていないネットワークは、3GPPネットワークであり、
前記チャレンジは、RANDであり、
認証が、前記より高度化されたネットワークに対して行われるべきである場合に、前記変更されたチャレンジを得るために前記チャレンジに適用されるべき前記不可逆関数は、g(RAND)であり、
前記変更されたチャレンジを得た後で前記モバイル機器において認証プロトコルを実行するステップは、
f1をメッセージ認証関数とする、メッセージ認証コードMAC’=f1K(SQN||g(RAND)||AMF)、
f2を(おそらくは切り捨てられた)メッセージ認証関数とする、期待応答XRES’=f2K(g(RAND))、
f3を鍵生成関数とする、暗号鍵CK’=f3K(g(RAND))、
f4を鍵生成関数とする、完全鍵IK’=f4K(g(RAND))、
f5を鍵生成関数とする、又はf5≡0とする、匿名鍵AK’=f5K(g(RAND))、
のうちの1つ以上を計算することを含む。
【0037】
このようにして、3GPPシステムを、導出された鍵のネットワークIDバインドを含むLTE認証手順に適応するように更新し、しかもなお、MEのレガシ部分を使用して認証プロトコルを実行することができる。
【0038】
一実施形態によれば、あるネットワークの認証モジュールに対して、あるモバイル機器を認証するための装置が提供される。当該装置において、前記認証モジュールは、チャレンジと、ある不可逆関数又は鍵導出関数を使用して前記チャレンジに基づいて計算された鍵とを保持するものであり、前記鍵は、前記ネットワークがより高度化されたネットワークである場合には、前記チャレンジが変更された後で前記チャレンジに基づいて計算され、前記ネットワークが高度化されていないネットワークである場合には、変更されていない前記チャレンジに基づいて計算されるものであり、当該装置は、
前記モバイル機器に前記チャレンジを転送するモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記鍵の導出の結果を使用して前記モバイル機器から前記認証モジュールに対して認証プロトコルを実行するためのモジュールと、
返された前記認証プロトコルの結果を検証することにより前記モバイル機器を認証するためのモジュールと
を備えるものである。
【0039】
このようにして、本発明の実施形態に従って動作する認証装置を実施することができる。
【0040】
一実施形態によれば、あるモバイル機器を認証するための認証モジュールが提供される。当該認証モジュールは、チャレンジと、ある不可逆関数又は鍵導出関数を使用して前記チャレンジに基づいて計算された鍵とを保持するものであり、前記鍵は、前記ネットワークがより高度化されたネットワークである場合には、前記チャレンジが変更された後で前記チャレンジに基づいて計算され、前記ネットワークが高度化されていないネットワークである場合には、変更されていない前記チャレンジに基づいて計算されるものであり、
前記モバイル機器は、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記鍵導出の結果を使用して前記モバイル機器から前記認証モジュールに対して認証プロトコルを実行するためのモジュールと
を備えるものであり、
当該認証モジュールは、
前記モバイル機器に前記チャレンジを転送するモジュールと、
返された前記認証プロトコルの結果を検証することにより前記モバイル機器を認証するモジュールと
を備えるものである。
【0041】
このようにして、本発明の実施形態に従って動作する認証モジュールを実施することができる。
【0042】
一実施形態によれば、あるネットワークの認証モジュールに対して認証されるモバイル機器が提供される。前記認証モジュールは、チャレンジと、ある不可逆関数又は鍵導出関数を使用して前記チャレンジに基づいて計算された鍵とを保持するものであり、前記鍵は、前記ネットワークがより高度化されたネットワークである場合には、前記チャレンジが変更された後で前記チャレンジに基づいて計算され、前記ネットワークが高度化されていないネットワークである場合には、変更されていない前記チャレンジに基づいて計算されるものであり、当該モバイル機器は、
前記認証モジュールから前記チャレンジを受け取るモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記鍵の導出の結果を使用して、返された認証プロトコルの結果を検証することにより前記モバイル機器を認証する前記認証モジュールに対して、前記モバイル機器から認証プロトコルを実行するためのモジュールと
を備えるものである。
【0043】
このようにして、本発明の実施形態に従って動作するモバイル機器を実施することができる。
【0044】
一実施形態によれば、本発明の実施形態のいずれか1つの方法を実行するモジュールをさらに備える装置が提供される。
【0045】
一実施形態によれば、コンピュータ上で実行されるとき、本発明の実施形態のいずれか1つの方法を実行することを可能にするコンピュータ・プログラム・コードを備えるコンピュータプログラムが提供される。
【図面の簡単な説明】
【0046】
【図1】三者認証スキームを概略的に示した図である。
【図2】認証装置とサプリカントとの間の認証を用いた三者認証スキームを概略的に示した図である。
【図3】鍵が盗まれる問題を概略的に示した図である。
【図4】サプリカントを、レガシ部分及び変更可能部分へ分割することを概略的に示した図である。
【図5】従来技術の高度化されていないネットワークによる認証スキームを概略的に示した図である。
【図6】本発明の一実施形態による認証スキームを概略的に示した図である。
【発明を実施するための形態】
【0047】
初めに、以下で使用するいくつかの用語を説明する。
A:認証装置(authenticator)
AKA:認証された鍵の合意(authenticated key agreement)
C:チャレンジ(challenge)
CP:サプリカントの容易にアップグレード可能な部分、3GPPの場合のMEに相当するもの
:基本鍵(basic key)の合意手順を使用して合意される鍵
NID:合意される鍵であって、ネットワークIDにバインドされている鍵
LP:サプリカントのレガシ部分、3GPPの場合のUSIMに相当するもの
ME:モバイル端末
NAS:ネットワーク認証サーバ
NID:ネットワークID
S:サプリカント
USIM:UMTS加入者識別情報モジュール
【0048】
ある実施形態によれば、AとSとの間で使用するための鍵を鍵材料から作成するのに使用される鍵導出関数は、鍵の導出に使用されるチャレンジパラメータのうちの少なくとも1つに対して一方向ハッシュ関数が適用されるように変更され、その後、その結果が、認証を行うために実行される暗号プロトコルに渡される。サプリカントは、認証の要求がよりセキュアなアクセス技術(使用されるネットワーク技術を知らせるシグナリングなど)からのものであるかどうかについて知らされる。チャレンジパラメータが、そのようなよりセキュアなシステム(LTEシステムなど)からのものである場合には、チャレンジ値を暗号プロトコルに渡す前に、一方向ハッシュ関数を適用する。
【0049】
図4で概略的に示されているように、このアプローチは、サプリカント(モバイル機器)が2つの部分、すなわち、レガシ部分(USIM又はUICC(汎用ICカード)H/W)と、変更可能部分CP(モバイル端末、S/W)とを有する場合に適用することができる。典型的には、ロング・ターム鍵は、レガシ部分に記憶され、また鍵の導出もレガシ部分において行われる。そのような場合の認証パラメータは、ユーザ端末に送られる。そのユーザ端末では、認証パラメータは、変更可能部分CPに届き、変更可能部分CPでは、認証のための暗号プロトコルが実行されるレガシ部分LPに渡す前に、認証パラメータにハッシュ関数(又は不可逆関数)が適用される。
【0050】
より具体的な実施形態、すなわち、3GPP/AKAの環境において、そのようなメカニズムは、認証プロトコルを実行することによる他の全てのパラメータの計算のためにランダム・チャレンジRANDがUSIMに与えられる前に、モバイル端末(ME)がランダム・チャレンジRANDに一方向ハッシュ関数を適用することを含む。認証ベクトルに含まれる値(MEに送られる値)は、ランダム・チャレンジRANDである。認証の要求がLTEによってもたらされる場合(ネットワーク型によって暗黙的に知らされる)、MEは、その認証ベクトルをUSIMに渡す前に、まず、チャレンジRANDにハッシュ関数又は任意の不可逆関数g(.)を適用する。また、アクセス技術はUMTSであり、少なくともMEのレガシ部分(USIM)によって行われる認証及び鍵交換AKAは、変更せずに実行することができる。
【0051】
このような解決策は、基本的な鍵(fundamental key)の導出を変更することができず、又はネットワーク・チャレンジを認証する関数を変更するときでさえも、ネットワークIDバインディング(network ID binding)が提供するセキュリティ上の利益を、下位互換性があるように実現することができる。
【0052】
MEの変更可能部分は、例えば、ファームウェア更新など、モバイル端末のソフトウェアを更新することによって変更することもできる。別の可能なやり方としては、モバイル端末のハードウェア部分を交換することによって変更し、そして、(古い)レガシ部分USIMを新しいハードウェアと共に使用することも可能である。しかしながら、変更可能部分CPを変更するより容易なやり方は、モバイル機器のソフトウェアを更新することである。
【0053】
次に、本発明の一実施形態を詳細に説明する。しかし、最初に、図5に関連して、3GPPシステムの場合の、ネットワークIDバインディングを行わない従来技術のAKAメカニズムを説明する。
【0054】
一般に、鍵の合意には、ネットワーク認証サーバ(NAS)と、認証装置(A)と、サプリカント(S)の3つの装置が関与する。この実施形態(及びその他の実施形態)において、サプリカントは、モバイルネットワークに対して認証されるべきモバイル機器とすることができる。サプリカントは、2つの部分からなり、すなわち、容易に変更可能な部分(CP、3GPPのMEに相当)と、基本的な鍵の導出(KDF)を行うレガシ部分(LP、3GPPのUSIMに相当)とからなる。以下では、変更可能部分を「更新部分」と呼ぶ場合もある。というのは、いくつかの実施形態において、変更可能部分は、更新され、より高度化されたネットワーク(LTE環境)に従うように変更されるからである。他方、レガシ部分は、高度化されていないネットワーク(3GPP環境など)に従って動作する。
【0055】
ネットワークIDバインドを行わないレガシシステムにおいて、鍵の導出は、基本的には以下の通りである。
NASが、チャレンジCを選択し、ある鍵導出関数KDFを適用することによって鍵K=KDF(C)を計算し、Aに対してC及びKを送る。
【0056】
Aは、サプリカントSに(又はSのCP部分に)チャレンジCを送り、サプリカントSは、Cをレガシ部分LPに転送する。
【0057】
次いで、LPは、チャレンジを認証し、K=KDF(C)を計算する。LPは、KをCPに戻す。これ以後、AとSは、鍵Kを共有することになる。LPによって計算されたKと、NASから認証装置Aに送られたKとが同一である場合は、認証に成功する。レガシ部分においてKを得るためにKDFを適用することを、以下の説明及び特許請求の範囲においては、「認証プロトコルを実行する」ということもあるが、これは、実際には、レガシ部分で行われる認証プロトコルのある部分を指すにすぎない場合もあることに留意されたい。
【0058】
このようにして、従来の3GPPシステムにおいて認証が動作する。
【0059】
次に、図6に関連して、ネットワークIDバインドを行い、しかも下位互換性がある実施形態について説明する。
【0060】
ネットワークID(NID)バインドを導入するための可能な1つのアプローチは、NASが、その次にネットワークID NIDにバインドされる鍵KNID=KDFNID(K,NID)を計算できるようにすることである。しかしながら、このやり方の問題は、Kを入手するものは誰でも、あらゆるNIDのKNIDを計算することができ、よって、全てのネットワークになりすますことができることである。
【0061】
この問題を回避するために、提案する実施形態によれば、ネットワークバインドが必要とされる場合には、ネットワークバインドを保護するために、以下が行われる(図6参照)。
【0062】
NASは、ネットワークIDにバインドされる鍵KNIDを、C’=KDF’(C)とし、KNID=KDFNID((KDF(C’),NID))として計算する。この場合、KDF’は、ランダム・チャレンジCに適用される鍵導出関数(又はハッシュ関数、又は任意の不可逆関数)である。次いで、結果として生じる値C’に基づいて、ある鍵導出関数KDFを適用することによって鍵が得られる。KNIDは、ネットワークIDバインドに基づいて計算される鍵材料である。次いで、NASは、C及びKをAに送り、Aは、CをS(SのCP部分)に送る。
【0063】
変更可能なCPは、ネットワークアクセス技術がNIDバインドを必要とするかどうかを調べる。必要である場合には、C’=KDF’(C)を計算し、そうでない場合にはC’=Cとする。
CPは、C’をLPに転送する。
LPは、チャレンジを認証し、K=KDF(C)を計算する。また、LPは、KをCPに送り返す。
ネットワークアクセス技術がNIDバインドを必要とする場合、CPは、KNID=KDFNID(K,NID)を計算する。
これ以後、AとSは、鍵KNIDを共有することになる。
【0064】
提案する解決策によって、ネットワークは、NIDバインドを行わないネットワークから盗まれた鍵を用いて、NIDバインドを必要とするネットワークアクセス技術を使用しているサプリカントと、首尾よく鍵を共有することができなくなる。
【0065】
任意の選択により、KDF’が、すでにNIDを含むものであり、よって、KDFNIDが、恒等関数になるようにしてもよい。というのは、そのような場合には、NIDがすでに変更されたチャレンジにバインドされているので、NID情報を含めるためにさらにKDFNIDを適用する必要がなくなるからである。
【0066】
3GPP AKAの具体例としては、3GPP AKAは、NIDバインドを含むLTE認証に適合されるように変更されており、実施形態によれば、ホーム加入者サーバHSS及びモバイル端末MEに対して、以下の変更が適用される。すなわち、認証がLTEネットワークに対して行われるべきである場合には、以下の値を計算する必要がある。
EPS(進化型パケットシステム)のための鍵導出関数は、MEがRAND値を変更できるように、RAND値が他の全てのパラメータを計算するためにUSIMに与えられる前に変更される。
HSSは、以下の値を計算する。
メッセージ認証コードMAC’=f1K(SQN||g(RAND)||AMF)の計算を行う。ここで、f1は、メッセージ認証関数である。
期待応答XRES’=f2K(g(RAND))の計算を行う。ここで、f2は、(おそらくは切り捨てられた)メッセージ認証関数である。
暗号鍵CK’=f3K(g(RAND))の計算を行う。ここで、f3は、鍵生成関数である。
完全鍵IK’=f4K(g(RAND))の計算を行う。ここで、f4は、鍵生成関数である。
匿名鍵AK’=f5K(g(RAND))の計算を行う。ここで、f5は、鍵生成関数であるか、又はf5≡0である。
最後に、認証トークンAUTN=SQN*AK||AMF||MACが構築される。
【0067】
実施形態において、関数g(.)は、任意の不可逆関数(ハッシュ関数や鍵導出関数KDFなど)とすることができる。また、前述の鍵導出関数KDFについても、その目的を果たすためにいかなる不可逆関数が使用されてもよいことが理解される。
【0068】
認証ベクトルに含まれる値(MME及びMEに送られる値)は、ランダム・チャレンジRANDである。認証の要求が、LTE環境を介してMEに入って来た場合、MEは、認証ベクトルをUSIMに渡す前に、まず、RANDにg(.)を適用する。次いで、前述のように変更された値(変更されたチャレンジ)に対して、すなわち、RANDではなくg(RAND)を使用して、認証プロトコルが実行される。他方、認証の要求が、3GPP環境を介してMEに入って来た場合には、変更されたチャレンジg(RAND)が得られず、代わりに、変更されていないチャレンジg(RAND)が、USIMに転送され、この変更されていないチャレンジg(RAND)を使用して、3GPPシステムの従来のやり方と同様に認証プロトコルが実行される。
【0069】
g(RAND)の代わりにg(RAND,NID)が計算されてもよいことが理解される。言い換えると、変更されたチャレンジは、RANDに不可逆関数を適用することに基づいて得るのだけでなく、RANDとNIDとの組み合わせに対して不可逆関数を適用することに基づいて得るようにしてもよい。このようにして、MEのレガシ部分からMEの変更可能部分CPに戻される認証プロトコルの結果は、すでにNIDに基づくものになっているので、この情報を含めるための別の操作は不要となる。
【0070】
以上では、モバイル機器に転送されるチャレンジが、ネットワークアクセス技術に応じて変更される実施形態を説明している。鍵材料のNIDバインドを必要とする(LTEのような)より高度化されたネットワークでは変更が行われ、鍵のNIDバインドを必要としないあまり高度化されていないネットワークでは変更が行われない。ネットワークアクセス技術、及びそれに関してチャレンジを変更すべきか否かを決定するための情報は、モバイル機器にそのネットワークの種類を知らせることによって、暗黙的に知らされる。
【0071】
前述の実施形態では、導出された鍵が不一致になるため、ネットワークIDバインドなしの鍵を、ネットワークIDバインドありのネットワークにおいて再利用することができない。このような場合、ネットワークが導出された鍵をアクティブ化すると、通信が不可能になり、暗黙的な認証が行われることになる。
【0072】
前述の実施形態では、サプリカント(モバイル機器)のレガシ部分へのいかなる変更も必要としない、下位互換性があるネットワークIDバインドを実現することができる。しかも、高度化されていないネットワークによって実行される認証プロトコルを引き続き十分に使用することができ、ネットワークIDを含むメカニズムが、システムの既存のハードウェア要素において実行される既存の認証メカニズムに対して加えられるだけである。このようにして、下位互換性を得ることができ、(古い)認証プロトコルを実行するレガシ部分を更新する必要がなくなる。
【0073】
前述の実施形態に加えて、以下にも留意すべきである。
ある実施形態では、導出された鍵をネットワークパラメータへ明示的にバインドするやり方とは無関係なメカニズムを実施することができる。そのような実施形態では、導出された鍵は、(より高度化されたネットワークの場合には)変更されたチャレンジに基づいて、又は(高度化されていないネットワークの場合には)変更されていないチャレンジに基づいて導出される。このようにして、2種類のネットワーク、及びそれぞれのネットワークの認証メカニズムを区別することができ、何らか変更されたチャレンジがそのネットワーク特性を反映するパラメータであるという意味において、導出された鍵は、ネットワーク特性を反映するパラメータへ「暗黙的に」バインドされていることになる。
【0074】
その場合、ネットワーク特性を反映するパラメータ(ネットワークIDや、そのネットワークの属性又は特性に対応する他の任意のパラメータ)への明示的なバインドは、変更された又は変更されていないチャレンジに基づくだけでなく、そのパラメータにも基づいて鍵をさらに計算することによって実施されてもよい。これは例えば、パラメータと変更されたチャレンジとの組み合わせに鍵導出関数を適用することによって、あるいは、(チャレンジに加えて別の入力としてそのパラメータを使用する関数をチャレンジに適用するなど)そのパラメータを組み込むようにチャレンジを変更し、次いで、そのパラメータが「組み込まれた」又はそのパラメータに「バインド」されるようにして変更されたチャレンジに基づいて鍵を得ることよって、行うことができる。
【0075】
パラメータが、前述の実施形態に関連して示したようなネットワークIDである場合、このメカニズムは、前述のように下位互換性を維持しつつ、認証が3GPP又はLTEメカニズムに基づくものである環境において使用することができる。
【0076】
前述の実施形態は、ハードウェアによっても、ソフトウェアによっても、ソフトウェアとハードウェアとの組み合わせによっても実施され得ることを当業者は理解できるだろう。本発明の実施形態に関連するモジュール及び機能は、本発明の実施形態の方法に従って動作するように適切にプログラムされているマイクロプロセッサ又はコンピュータによって、その全部又は一部を実施することができる。本発明の実施形態に係る装置は、例えば、本発明の実施形態の方法を実行することができるように適切にプログラムされているコンピューティング機器や移動電話機や任意のモバイル機器や移動局やノードを含むことができる。
【0077】
本発明の一実施形態によれば、データキャリアに記憶され、又は、記録媒体や伝送リンクといった何らかの物理手段などの他のやり方によって記憶されたコンピュータプログラムが提供される。このコンピュータプログラムは、コンピュータ上で実行されるときに、コンピュータを、前述の本発明の実施形態に従って動作させることができる。

【特許請求の範囲】
【請求項1】
あるネットワークの認証モジュールに対してあるモバイル機器を認証する方法であって、前記認証モジュールは、チャレンジと、ある不可逆関数又は鍵導出関数を使用して前記チャレンジに基づいて計算された鍵とを保持するものであり、前記鍵は、前記ネットワークがより高度化されたネットワークである場合には、前記チャレンジが変更された後で前記チャレンジに基づいて計算され、前記ネットワークが高度化されていないネットワークである場合には、変更されていない前記チャレンジに基づいて計算されるものであり、
前記モバイル機器に前記チャレンジを転送するステップと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器が鍵の導出を行い、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器が鍵の導出を行うステップと、
前記鍵の導出の結果を使用して、前記モバイル機器から前記認証モジュールに対して認証プロトコルを実行するステップと、
返された前記認証プロトコルの結果を検証することにより前記モバイル機器を認証するステップと
を含む方法。
【請求項2】
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、計算されるべき前記鍵は、前記ネットワークの特性に対応するパラメータに基づいてさらに計算された鍵によって、前記ネットワークの前記特性にバインドされ、
前記ネットワークが、高度化されていないネットワークである場合には、前記鍵は、前記パラメータに基づいて計算されないようになっており、
前記パラメータは、
前記ネットワークの識別子と、
前記ネットワークの種類を反映するパラメータと
の1つ以上を含むものである、請求項1に記載の方法。
【請求項3】
前記チャレンジに基づき、さらに前記ネットワークの識別子に基づくものである前記計算される鍵は、前記変更されたチャレンジと前記ネットワークの識別子との組み合わせに対して不可逆関数を適用することに基づいて得られるものである、請求項1又は2に記載の方法。
【請求項4】
前記変更されたチャレンジは、前記チャレンジに第1の不可逆関数を適用することによって得られるものであり、
前記ネットワークが、より高度化されたものであるか又は高度化されていないものであるかに応じて、前記変更されていないチャレンジ又は前記変更されたチャレンジに基づいて計算される前記鍵は、前記変更されたチャレンジ又は前記変更されたチャレンジから導出される値と前記パラメータとの組み合わせに対して第2の不可逆関数を適用することに基づいて計算されるものである、請求項1ないし3のいずれか一項に記載の方法。
【請求項5】
前記変更されたチャレンジから導出される値は、前記ネットワークがより高度化されたネットワークであるか又は高度化されていないネットワークであるかに応じて、前記変更されたチャレンジ又は前記変更されていないチャレンジに対して第3の不可逆関数を適用することによって得られるものである、請求項4に記載の方法。
【請求項6】
前記計算される鍵は、C’=KDF’(C)とするKNID=KDFNID((KDF(C’),NID))に基づいて計算される鍵であり、
Cは、前記チャレンジであり、
C’は、前記変更されたチャレンジであり、
NIDは、前記パラメータであり、
KDF’は、第1の不可逆関数であり、
KDFNIDは、第2の不可逆関数であり、
KDFは、第3の不可逆関数である、
請求項1ないし5のいずれか一項に記載の方法。
【請求項7】
前記不可逆関数は、ハッシュ関数又は鍵導出関数であり、
前記第1、第2及び第3の不可逆関数は、全てが異なっているか、全てが同一であるか、前記第1、第2及び第3の不可逆関数のうちの2つが同一であり且つ1つが異なっているかのいずれかである、請求項1ないし6のいずれか一項に記載の方法。
【請求項8】
不可逆関数を適用することによって得られる前記変更されたチャレンジは、前記変更されていないチャレンジと前記パラメータとの組み合わせに基づいて得られるものである、請求項1ないし7のいずれか一項に記載の方法。
【請求項9】
前記モバイル機器は、更新部分とレガシ部分とを備え、前記レガシ部分は、前記高度化されていないネットワークに従って認証プロトコルを実行するものであり、
前記更新部分が前記チャレンジを受け取り、認証が、より高度化されたネットワークに対して行われるべきである場合には、前記変更されたチャレンジを得て、前記モバイル機器の前記レガシ部分に転送するステップと、
前記更新部分から受け取られる前記チャレンジに基づいて、前記レガシ部分において前記高度化されていないネットワークに従って前記認証プロトコルを実行するステップと、
前記更新部分に前記認証プロトコルの結果を返すステップと
を含む、請求項1ないし8のいずれか一項に記載の方法。
【請求項10】
前記高度化されていないネットワークは、3GPPネットワークであり、
前記チャレンジは、RANDであり、
認証が、前記より高度化されたネットワークに対して行われるべきである場合に、前記変更されたチャレンジを得るために前記チャレンジに適用されるべき前記不可逆関数は、g(RAND)であり、
前記変更されたチャレンジを得た後で前記モバイル機器において認証プロトコルを実行するステップは、
f1をメッセージ認証関数とする、メッセージ認証コードMAC’=f1K(SQN||g(RAND)||AMF)、
f2を(おそらくは切り捨てられた)メッセージ認証関数とする、期待応答XRES’=f2K(g(RAND))、
f3を鍵生成関数とする、暗号鍵CK’=f3K(g(RAND))、
f4を鍵生成関数とする、完全鍵IK’=f4K(g(RAND))、
f5を鍵生成関数とする、又はf5≡0とする、匿名鍵AK’=f5K(g(RAND))、
のうちの1つ以上を計算することを含む、請求項1ないし9のいずれか一項に記載の方法。
【請求項11】
あるネットワークの認証モジュールに対してあるモバイル機器を認証するための装置であって、前記認証モジュールは、チャレンジと、ある不可逆関数又は鍵導出関数を使用して前記チャレンジに基づいて計算された鍵とを保持するものであり、前記鍵は、前記ネットワークがより高度化されたネットワークである場合には、前記チャレンジが変更された後で前記チャレンジに基づいて計算され、前記ネットワークが高度化されていないネットワークである場合には、変更されていない前記チャレンジに基づいて計算されるものであり、
前記モバイル機器に前記チャレンジを転送するモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記鍵の導出の結果を使用して前記モバイル機器から前記認証モジュールに対して認証プロトコルを実行するためのモジュールと、
返された前記認証プロトコルの結果を検証することにより前記モバイル機器を認証するためのモジュールと
を備える装置。
【請求項12】
あるモバイル機器を認証するための認証モジュールであって、当該認証モジュールは、チャレンジと、ある不可逆関数又は鍵導出関数を使用して前記チャレンジに基づいて計算された鍵とを保持するものであり、前記鍵は、前記ネットワークがより高度化されたネットワークである場合には、前記チャレンジが変更された後で前記チャレンジに基づいて計算され、前記ネットワークが高度化されていないネットワークである場合には、変更されていない前記チャレンジに基づいて計算されるものであり、
前記モバイル機器は、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記鍵導出の結果を使用して前記モバイル機器から前記認証モジュールに対して認証プロトコルを実行するためのモジュールと
を備えるものであり、
当該認証モジュールは、
前記モバイル機器に前記チャレンジを転送するモジュールと、
返された前記認証プロトコルの結果を検証することにより前記モバイル機器を認証するモジュールと
を備えるものである、
認証モジュール。
【請求項13】
あるネットワークの認証モジュールに対して認証されるモバイル機器であって、前記認証モジュールは、チャレンジと、ある不可逆関数又は鍵導出関数を使用して前記チャレンジに基づいて計算された鍵とを保持するものであり、前記鍵は、前記ネットワークがより高度化されたネットワークである場合には、前記チャレンジが変更された後で前記チャレンジに基づいて計算され、前記ネットワークが高度化されていないネットワークである場合には、変更されていない前記チャレンジに基づいて計算されるものであり、
前記認証モジュールから前記チャレンジを受け取るモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、より高度化されたネットワークである場合には、前記チャレンジに不可逆関数を適用して、変更されたチャレンジを得て、前記変更されたチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記モバイル機器が認証されるべき相手先の前記ネットワークが、高度化されていないネットワークである場合には、前記変更されていないチャレンジに基づいて前記モバイル機器によって鍵の導出を行うためのモジュールと、
前記鍵の導出の結果を使用して、返された認証プロトコルの結果を検証することにより前記モバイル機器を認証する前記認証モジュールに対して、前記モバイル機器から認証プロトコルを実行するためのモジュールと
を備えるモバイル機器。
【請求項14】
請求項2ないし10のいずれか一項に記載の方法を実行するモジュールをさらに備える、請求項11ないし13のいずれか一項に記載の装置。
【請求項15】
コンピュータ上で実行するときに、請求項1ないし10のいずれか一項に記載の方法を実行することを可能にするコンピュータ・プログラム・コードを備えるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−288271(P2010−288271A)
【公開日】平成22年12月24日(2010.12.24)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−106358(P2010−106358)
【出願日】平成22年5月6日(2010.5.6)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】