(57)【特許請求の範囲】
【請求項１】
アルゴリズム及び秘密キーがスマートカード（ＳＩＭ）に格納されるメッセージ交換ネットワークにおけるスマートカード（ＳＩＭ）の認証方法であって、
初めに前記ネットワークまたはネットワーク要素が、乱数（ＲＡＮＤ）を前記スマートカードに転送し、
前記アルゴリズム及び秘密キー（Ｋｉ）に基づいて、前記スマートカードにより、認証パラメータが前記乱数から生成され、前記ネットワークまたはネットワーク要素に転送されるステップを有してなる認証方法において、
認証パラメータを作成するために、前記秘密キー（Ｋｉ）及び前記乱数（ＲＡＮＤ）がそれぞれ、少なくとも２つの部分（Ｋ１，Ｋ２；ＲＡＮＤ１，ＲＡＮＤ２）に分割され、
転送された前記乱数（ＲＡＮＤ）の前記部分（ＲＡＮＤ１，ＲＡＮＤ２）の内のただ１つが、前記秘密キー（Ｋｉ）の前記部分（Ｋ１，Ｋ２）の内の１つ以上を用いて暗号化されること、および、
転送された前記乱数（ＲＡＮＤ）の残りの一部分と前記秘密キー（Ｋｉ）の１つ及び／または複数の部分とがチャネルコード化キー（ＫＣ）を計算するために用いられ、前記計算の結果の少なくとも１つの部分が前記チャネルコード化キー（ＫＣ）として用いられることを特徴とする方法。
【請求項２】
前記暗号化の結果からある与えられた数のビットが選択されて認証パラメータとして前記ネットワークに転送されることを特徴とする請求項１記載の方法。
【請求項３】
前記秘密キー（Ｋｉ）及び前記乱数（ＲＡＮＤ）が２つの部分に分割されることを特徴とする請求項１または２記載の方法。
【請求項４】
前記キー（Ｋｉ）及び前記乱数（ＲＡＮＤ）が２つの等長部分（Ｋ１，Ｋ２；ＲＡＮＤ１，ＲＡＮＤ２）に分割されることを特徴とする請求項１から３いずれか１項記載の方法。
【請求項５】
前記認証パラメータ及び／または前記チャネルコード化キー（ＫＣ）を計算するためにＤＥＳアルゴリズムが用いられることを特徴とする請求項１から４いずれか１項記載の方法。
【請求項６】
前記認証パラメータ及び／または前記チャネルコード化キー（ＫＣ）を計算するために、ＩＤＥＡアルゴリズムが用いられることを特徴とする請求項１から５いずれか１項記載の方法。
【請求項７】
前記認証パラメータ及び／または前記チャネルコード化キー（ＫＣ）を計算するために、出力値の長さが入力パラメータ長より短い、圧縮アルゴリズムが用いられることを特徴とする請求項１から４いずれか１項記載の方法。
【請求項８】
初めに前記キー（Ｋi）の前記第１の部分（Ｋ１）を用いて暗号化され、次いで前記キー（Ｋi）の前記第２の部分（Ｋ２）を用いて解読され、前記解読結果が前記第１の部分（Ｋi）または前記キー（Ｋi）の第３の部分を用いて再び暗号化される、３重ＤＥＳアルゴリズムが暗号化アルゴリズムとして用いられることを特徴とする請求項１から４いずれか１項記載の方法。
【発明の詳細な説明】
【０００１】
本発明は請求項１の前文にしたがう、ＧＳＭネットワークであることが好ましい、メッセージ交換ネットワークにおいてスマートカードを認証するための方法に関する。
【０００２】
ＧＳＭシステムにおいて、スマートカード（加入者識別モジュール，ＳＩＭ）を用いるためには、使用者は初めに個人識別番号（ＰＩＮ）により自分自身が認証された使用者であることの身元証明を通常行わなければならない。この点での悪用を避けるため、ＰＩＮ入力に対してエラーカウンタが設けられ、許された回数をこえて間違ったＰＩＮが入力されるとその後はそのカードを使用できなくすることが知られている。
【０００３】
別のシステム対応保安手段は、モバイルネットワークに対してカードを認証することである。外部からはアクセスできない秘密キー及び同様に外部からはアクセスできないアルゴリズムがカードに格納される。認証のため、乱数がネットワークまたはネットワーク要素により生成され、カードに転送される。次いでカードはカードに存在するアルゴリズムによりその乱数及び秘密キーから、ネットワークに転送される応答を計算する。この応答はネットワークで解析され、正しい結果が得られれば、ネットワーク機能へのアクセスが許可される。類似の手順が関連するＧＳＭ仕様に記述されている。
【０００４】
上述のようにして保護されているネットワークには、認証のために用いられているアルゴリズムへの攻撃により、例えば、数回の認証トライ後、標準化されたプロトコル及びスマートカードから得られるそのカードの秘密キーにしたがい、例えばＳＩＭカードに送信される選択された“乱数”によりネットワークがコンピュータでシミュレートでされ得るという危険が内包されている。さらにカードのアルゴリズムを知れば、秘密キーの決定後、カードの基本的な機能要素をシミュレートするか、あるいは複製することができる。
【０００５】
したがって本発明の課題は、例えばＧＳＭネットワークでは通例の、加入しているスマートカードへの認証結果が通知されないメッセージ交換システムにおけるスマートカード認証に対して信頼できる方法を提示することである。
【０００６】
この課題は、請求項１に記述される特徴により、請求項１の前文の特徴に始まる本発明にしたがって解決される。
【０００７】
本発明の有用な実施形態は従属請求項で提示される。
【０００８】
本発明は秘密キー及びネットワークにより転送される乱数から、１つの部分が転送された乱数、１つ以上の部分が１ステップまたは複数ステップの、好ましくは対称計算アルゴリズムにより暗号化されている秘密キーの、少なくとも２つの部分を作成することによる、認証メッセージの作成を提供する。認証メッセージを出力するため、認証アルゴリズムにしたがって計算された結果の選択可能な部分がネットワークに転送される。
【０００９】
本発明の有用な実施形態は、同じ方法によるチャネルコード化キーの生成を提供する。キー及び乱数が例えば２つの部分に分割されると、チャネルコード化キーを得るために、転送された乱数の第１または第２の部分が１ステップまたは複数ステップのアルゴリズムで秘密キーの第１／第２の部分とリンクされる形態も提供される。いずれの場合においても、認証メッセージ及びチャネルコード化キーを作成するためにはネットワークから得られる乱数の相異なる部分を使用することが好ましい。
【００１０】
本発明の別の有用な実施形態は、カードに格納された秘密キー及びネットワークによりそのカードに送られた乱数の、長さの等しい部分への分割を提供する。これにより、いずれの場合にも同じ計算アルゴリズムを用いることができる。乱数または秘密キーは、単に“中央に”分け目を入れるか、あるいは重なり部分領域をつくることにより、分割することができる。個々の部分の和が乱数または秘密キーのビット長より短くなるように分割を実施することもできる。別の変形にしたがえば、乱数または秘密キーのある与えられたビット数を、既定のパターンにしたがうか、または擬似乱数的に、キーまたは乱数部分に結びつけることができる。
【００１１】
本発明のまた別の有用な実施形態として、ＤＥＳアルゴリズムを認証及びチャネルコード化に対する計算アルゴリズムとして用いることができる。
【００１２】
本発明の別の有用な変形は、認証パラメータ及びチャネルコード化キーを計算するための、好ましくは１ステップＩＤＥＡアルゴリズムの使用を提供する。
【００１３】
あるいは、出力値の長さが入力パラメータ長より短い、暗号化圧縮アルゴリズムであることが好ましい、圧縮アルゴリズムを用いて認証パラメータ及びチャネルコード化キーを計算することができる。
【００１４】
保安性を高めるため、少なくとも２ステップの計算アルゴリズムの使用が有益であり、３重ＤＥＳアルゴリズムが特に安全性が高い。このアルゴリズムでは、キーの第１の部分及び乱数の一部によりまず暗号化がなされ、次いで暗号化された結果の解読がキーの第２の部分により行われ、最後に、キーの第１の部分を再び用いてさらに計算が実行される。キーの第１の部分による最終暗号化については、特にキーが３つのキー部分に分割される場合に、新しい第３のキーを有益に用いることができる。
【００１５】
本発明のさらに別の有用な実施形態では、認証及びチャネルコード化計算のための乱数の第１及び第２の部分の選択が交互に実施される場合に、交互の乱数的または擬似乱数的な実施、及びカード及びネットワークと同じ方法による選択の実施が得られる。
【００１６】
本発明は、図１から７を参照して以下でより綿密に説明される。
【００１７】
図１に示されるシーケンスは、通例の、ＰＩＮ照合の先行プロセスは完了していることを仮定している。引き続いて、カードＳＩＭが置かれたモバイルユニットが、ＩＭＳＩ（国際モバイル加入者識別）情報またはＴＭＳＩ（一時的モバイル加入者識別）情報を含むメッセージを、ネットワークに送る。ある与えられた関数にしたがうかあるいはテーブルを用いて、ＩＭＳＩまたはＴＭＳＩから秘密キーＫｉがネットワークで決定される。同じキーがスマートカードＳＩＭのアクセス不可能なメモリ空間にも格納される。この秘密キーは後の認証プロセスでの照合に必要となる。
【００１８】
次いでネットワークは乱数ＲＡＮＤを計算し、これを空中インターフェースを介してスマートカードＳＩＭに転送することにより、認証プロセスを開始する。
【００１９】
直ちに、認証パラメータＳＲＥＳが秘密キーＫｉ及び乱数ＲＡＮＤから認証アルゴリズムによりスマートカードに作成され、次いで前記パラメータは空中インターフェースを介してネットワークに転送される。本発明にしたがえば、少なくとも２つの乱数，ＲＡＮＤ１及びＲＡＮＤ２が乱数ＲＡＮＤから導出される。乱数ＲＡＮＤ１及びＲＡＮＤ２は乱数ＲＡＮＤの分割または乱数ＲＡＮＤからの選択によるか、あるいは計算アルゴリズムにより得ることができる。
【００２０】
認証は図１にしたがう例において２ステップアルゴリズムにより実施される。図１に示されるように、まず乱数の第１の部分ＲＡＮＤ１が、同様に２つの部分に分割されたキーＫｉの第１の部分Ｋ１により暗号化される。続いて、この第１のステップの結果がキーの第２の部分Ｋ２により第２のステップで暗号化される。認証アルゴリズムによる計算のために、乱数の第２の部分ＲＡＮＤ２を先に用い、第１及び第２のキー部分Ｋ１及びＫ２を用いる順序を入れ換えることももちろんできる。
【００２１】
一方で、認証パラメータＳＲＥＳ’が認証アルゴリズム及び乱数ＲＡＮＤ（ＲＡＮＤ１，ＲＡＮＤ２）及び秘密キーＫｉ（Ｋ１，Ｋ２）により、カードにおいてと同じ方法でネットワークにおいて同様に作成される。パラメータＳＲＥＳ’は次いでカードから得られた認証パラメータＳＲＥＳとネットワークで比較される。認証パラメータＳＲＥＳ’及びＳＲＥＳが一致すれば、認証プロセスは成功裏に完了する。認証パラメータが一致しなければ、加入者のカードは正当ではないと見なされる。ここで、暗号化により得られる結果の一部のみを用いてＳＲＥＳまたはＳＲＥＳ’を作成することもできることに注意すべきである。
【００２２】
認証パラメータが生成される方法と同じ方法で、データ及び言語の伝送用のチャネルコード化のためのキーＫＣがカード及びネットワークで生成される。乱数ＲＡＮＤの認証に用いられていない部分を入力パラメータとして用いることが好ましい。
【００２３】
図２は、認証アルゴリズム及び／またはチャネルコード化にともなう計算が、３重ＤＥＳアルゴリズムにより実行される有用な例を示す。このアルゴリズムにしたがえば、乱数の一部ＲＡＮＤ１またはＲＡＮＤ２がまず第１のキー部分Ｋ１により暗号化される。次のステップで、Ｋ２による解読が実施される。この結果が次いで再びＫ１によるか、あるいは乱数／キーが複数の部分に分割される場合にはキーの第３の部分により、暗号化される。チャネルコード化が同じ方法で行われる。いずれの場合にも対応するアルゴリズムがネットワークで用いられる。
【００２４】
適用範囲を限定せずに、図１及び２にしたがう例の説明を２ステップまたは３ステップの対称暗号化アルゴリズムとした。乱数及び秘密キーの分割からなる本発明のアイデアは、その他の一般的な暗号化あるいは計算アルゴリズムを用いても、もちろん実行できる。例として、ＤＥＳアルゴリズム（Ａ３；Ａ８）だけでなくＩＤＥＡにも言及がなされる。提示されたアルゴリズムは１ステップで実行することもでき、この場合にはキー及び／または乱数の異なる部分が認証及びチャネルコード化キーＫＣの生成のために生成されることが好ましい。
【００２５】
図３から７は秘密キーＫｉまたは乱数ＲＡＮＤの分割方法の例を与える。
【００２６】
図３は１２８ビット長のキーＫｉまたは乱数ＲＡＮＤを示す。
【００２７】
図４は２つの等長部分Ｋ１及びＫ２（ＲＡＮＤ１，ＲＡＮＤ２）への分割を示し、分割は中央でなされる。部分１はビット１からビット６４までを含み、部分２はビット６５からビット１２８までを含む。図５は重なり分割を示し、図６は奇数位ビットが部分１に、また偶数位ビットが部分２に割り当てられる分割を示す。最後に図７は部分１及び２のビット長の和が元のキーまたは乱数のビット長より短い分割を示す。
【図面の簡単な説明】
【図１】  ＧＳＭネットワークにおけるＳＩＭの暗号化機能のシーケンスを示す
【図２】  ３重ＤＥＳ暗号化のブロック図を示す
【図３】  １２８ビット長の秘密キー及び乱数を示す
【図４】  図３の秘密キー及び乱数の分割の第１の例を示す
【図５】  図３の秘密キー及び乱数の分割の第２の例を示す
【図６】  図３の秘密キー及び乱数の分割の第３の例を示す
【図７】  図３の秘密キー及び乱数の分割の第４の例を示す
【図１】
0004620248.tif 000002
【図２】
0004620248.tif 000003
【図３】
0004620248.tif 000004
【図４】
0004620248.tif 000005
【図５】
0004620248.tif 000006
【図６】
0004620248.tif 000007
【図７】
0004620248.tif 000008