(57)【要約】  本発明は、ネットワークに第１のエンティティと第２のエンティティを含むシステムで用いられる認証方法を示し、第１のエンティティが、第２のエンティティと第２のエンティティから受信したデータとを認証するように構成され、また、第１と第２のエンティティの双方が、同じ秘密鍵を記憶する。この方法は、ＵＳＩＭのようなスマートカードで実施される。スマートカードは、認証アルゴリズムおよび鍵を記憶するメモリと、メッセージ認証コードおよび他のパラメータを受信する手段と、期待されるコードを、前記他のパラメータと前記秘密鍵とから計算する手段と、受信した前記メッセージ認証コードと前記期待されるコードとを比較する手段と、受信したメッセージ認証コードと期待されるコードとが一致しない場合に、認証をアボートする手段とを含む。スマートカードは、アボート動作の発生回数を記憶するように構成された失敗カウンタと、前記メッセージ認証コードと前記期待されるコードとが一致しないことを比較手段が示すと、その度に前記失敗カウンタを更新する手段とをさらに備える。その内蔵の失敗カウンタと、このカウンタの更新がカードの内側から制御されるという事実とによって、カードは、繰り返される不正の認証試行に対抗する耐改ざん性になる。
2007505542.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク（ＮＥＴ）を介して互いに通信する第１のエンティティ（ＣＡＲＤ）と第２のエンティティ（ＳＥＲＶＥＲ）とを含むシステムで用いられる認証方法であり、前記第１のエンティティが、前記第２のエンティティと前記第２のエンティティから受信したデータとを認証するように構成され、第１および第２のエンティティの双方が、同じ秘密鍵（Ｋ）を記憶し、前記認証方法が、
・  前記第１のエンティティによって、メッセージ認証コード（ＭＡＣ）と他のパラメータ（ＲＡＮＤ、ＳＱＮ、ＡＭＦ、．．．）とを受信するステップを含み、前記メッセージ認証コード（ＭＡＣ）が、前記秘密鍵（Ｋ）と前記他のパラメータ（ＲＡＮＤ、ＳＱＮ、ＡＭＦ、．．．）との関数であり、前記認証方法がさらに、
・  期待されるコード（ＸＭＡＣ）を、受信された前記他のパラメータと前記第１のエンティティに記憶されている前記秘密鍵（Ｋ）とから、前記第１のエンティティによって計算するステップと、
・  受信された前記メッセージ認証コード（ＭＡＣ）と前記期待されるコード（ＸＭＡＣ）とを、前記第１のエンティティによって比較するステップと、
・  受信されたメッセージ認証コード（ＭＡＣ）と期待されるコード（ＸＭＡＣ）とが一致しない場合に、認証をアボートするステップとを含み、前記認証方法は、
・  前記第１のエンティティにおいて、受信されたメッセージ認証コード（ＭＡＣ）と期待されるコード（ＸＭＡＣ）とを、前記第１のエンティティによって比較した際に一致しないと、その度に失敗カウンタを更新するステップをさらに含むことを特徴とする、方法。
【請求項２】
認証を開始する前に、前記第１のエンティティによって失敗カウンタを予備的にチェックするステップをさらに含む、請求項１に記載の方法。
【請求項３】
・  前記第１のエンティティによって、前記他のパラメータに含まれるシーケンス番号（ＳＱＮ）から、前記メッセージ認証コード（ＭＡＣ）および他のパラメータ（ＲＡＮＤ、ＳＱＮ、ＡＭＦ、．．．）が、前記第１のエンティティによってすでに受信されているかどうかを判定するステップと、
・  前記メッセージ認証コード（ＭＡＣ）および他のパラメータ（ＲＡＮＤ、ＳＱＮ、ＡＭＦ、．．．）が、前記第１のエンティティによってすでに受信されていることを、前記シーケンス番号（ＳＱＮ）が示している場合、前記失敗カウンタを更新することなく認証をアボートするステップとをさらに含む、請求項１に記載の方法。
【請求項４】
（ｉ）受信されたメッセージ認証コード（ＭＡＣ）と期待されるコードとが一致する場合、および（ｉｉ）前記メッセージ認証コード（ＭＡＣ）と他のパラメータ（ＲＡＮＤ、ＳＱＮ、ＡＭＦ、．．．）とが、前記第１のエンティティによってまだ受信されていないことを、前記シーケンス番号（ＳＱＮ）が示している場合には、前記失敗カウンタを初期値にリセットするステップをさらに含む、請求項３に記載の方法。
【請求項５】
遠隔エンティティ（ＳＥＲＶ）と、該遠隔エンティティから受信したデータとを認証するように構成された、スマートカード（ＣＡＲＤ）であって、前記スマートカードが、
・  認証アルゴリズムと、前記遠隔エンティティに記憶されている対応する鍵と同じである秘密鍵（Ｋ）を含む、認証鍵および暗号鍵とを記憶する、メモリと、
・  前記遠隔エンティティから、メッセージ認証コード（ＭＡＣ）および他のパラメータ（ＲＡＮＤ、ＳＱＮ、ＡＭＦ、．．．）を受信する手段と、
・  期待されるコード（ＸＭＡＣ）を、前記他のパラメータおよび前記秘密鍵（Ｋ）から計算する手段と、
・  受信した前記メッセージ認証コード（ＭＡＣ）と前記期待されるコード（ＸＭＡＣ）とを比較する手段と、
・  受信したメッセージ認証コード（ＭＡＣ）と期待されるコード（ＸＭＡＣ）とが一致しない場合に、認証をアボートする手段とを含み、前記スマートカードが、
・  アボート動作の発生回数を記憶するように構成された失敗カウンタと、
・  前記メッセージ認証コード（ＭＡＣ）と前記期待されるコード（ＸＭＡＣ）とが一致しないことを比較手段が示すと、その度に前記失敗カウンタを更新する手段とをさらに備えることを特徴とする、スマートカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信における認証に関する。特に、本発明は、これに限られるわけではないが、インターネットなどのネットワークを介して互いに通信する移動局とネットワークサーバの認証に関する。
【０００２】
本発明を解説する例として、移動通信ネットワークと移動局とを含む、移動通信システムの例を挙げる。この例では、ネットワークは、移動局に対して、移動局の認証が実施された後でサービスを提供する。移動局は、ＵＳＩＭカードなどの携帯式モジュールを備え、さらに、ネットワークと通信可能であり、また携帯式モジュールと通信可能な、移動装置（ハンドセット）を備えている。
【背景技術】
【０００３】
この第３世代（３Ｇ）規格（特に、ＴＳ３１．１０２とＴＳ３３．１０２）は、ＵＳＩＭカードと認証センター（ＡｕＣ）との間の３Ｇネットワークにおける認証プロトコル（ＡＫＡ（「認証と鍵の合致」の略）プロトコルとして知られている）を規定するものである。
【０００４】
このフレームワークにおいて、カードは、次のいくつかのデータフィールドから構成される、いわゆる認証要求を送られる。
・  ランダムチャレンジ（ＲＡＮＤ）
・  シーケンス番号（ＳＱＮ）または隠匿シーケンス番号（ＳＱＮ（＋）ＡＫ）
・  メッセージ認証コード（ＭＡＣ）
【０００５】
ここで、ＡＫは匿名性鍵であり、記号（＋）はビット毎の排他的論理和であり、ＭＡＣはメッセージ認証コードであり、ＳＱＮは、現行の要求が繰り返された要求であるかどうかをその値に基づいて示すことができるシーケンス番号である。
【０００６】
これらのデータフィールドを受信すると、カードは、ＳＱＮを（必要に応じて）計算し、ＭＡＣをチェックし、さらに、同じ要求がすでに送られていないかをＳＱＮに基づいてチェックする。
【０００７】
ＳＱＮを（必要に応じて）計算するために、ＵＳＩＭは、
・  匿名性鍵ＡＫを関数ｆ５（ＲＡＮＤ、Ｋ）で計算し、
・  （ＳＱＮ（＋）ＡＫ）（＋）ＡＫ＝ＳＱＮによってシーケンス番号ＳＱＮを最終的に検索する。
【０００８】
ｆ５は、ＡＫを計算するために用いられる鍵発生関数であり、Ｋは、カードとサーバとの間で共有される長期秘密鍵である。
【０００９】
次に、カードはまた、ＲＡＮＤ、Ｋ、ＳＱＮ、追加管理フィールド（ＡＭＦ）、および認証関数ｆ１を用いて、期待されるメッセージ認証コードＸＭＡＣを生成する。
【００１０】
次に、カードは、ＸＭＡＣを認証要求に含まれていたＭＡＣと比較する。両者が異なっていれば、カードは、原因の表示とともにユーザ認証拒絶メッセージを、ハンドセットに対して送り返して、現行の認証手順をアボートする。この場合、ＡｕＣは、識別と認証の新たな手順をクライアントに対して開始してもよい。
【００１１】
カードはまた、受信されたシーケンス番号ＳＱＮが正しい範囲にあることを検証する。ＳＱＮは、カードに記憶されているＳＱＮの所定量を超えて異なっていてはならない。カードは、このシーケンス番号が正しい範囲内にないと見なせば、ＡｕＣに同期失敗メッセージを送り返して、現行の手順をアボートする。
【００１２】
このような認証手順は、たとえば、欧州特許出願公開第１１５６６９４号に開示されている。前記ステップに関するこれ以上の詳細または説明は、上に引用した規格を参照されたい。
【００１３】
ＭＡＣコードは（したがってＸＭＡＣも）、要求データ全体と、要求側エンティティと同じ認証鍵とから計算される。その役割は、要求データが送信中に改ざんされていないことを保証することであり、また、要求側エンティティが、カードと同じ認証鍵を実際に所有することを、カードに対して保証する。
【００１４】
カードは、サーバから受信したデータの完全性と真正とをチェックするとき、認証鍵Ｋと一緒にチェックされるべきデータを伴うメカニズムで、前記ＸＭＡＣを計算する。すると、アタッカは、戦略的に選ばれたデータを備える認証要求をカードに送ることによって、認証鍵の利用を強制することが可能である。サイドチャネルやパーターベーション（ｐｅｒｔｕｒｂａｔｉｏｎ）アタックなどのさまざまな方法によって、情報がさらけ出され、認証鍵が部分的または全体的に暴露されることになる。
【００１５】
ほとんどのアタックは、効果があるようにするためには、ＸＭＡＣを計算するために用いられるアルゴリズムの強度に応じて、所与量の認証要求を必要とする。各これら試行に対して、アタッカは、ダミーのＭＡＣを提供しなければならない（アタッカは、鍵の実際の値を知らないからである）。
【００１６】
上に引用した欧州特許出願公開第１１５６６９４号に開示されているシステムのような知られているシステムでは、改ざんの検出が予期される場合には、すなわち、ＭＡＣとＸＭＡＣが一致しない場合にはいつでも、メッセージの再送信を要求するメッセージを、要求側エンティティに送り返し、次に、新たに受信したメッセージが適切かどうかを再度チェックして、手順を否定して終了するようにすることが提案される。しかしながら、この文書に開示されるシステムは、このような連続する事象の経過を追う手段を何ら提供していないため、所与の認証手順がアボートされた後で、アタッカが、本システムをだまして、保護されているデータにアクセスすることができるまで、他の同じ手順や一連の同じ手順をさらに繰り返したりすることを防止するものがまったくない。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明の目的は、ＵＳＩＭカードに対する連続的なアタックの回数を、具体的にはこのカードに対して繰り返される認証試行の回数を制限することによって、制限することである。
【課題を解決するための手段】
【００１８】
本発明は、上に引用した欧州特許出願公開第１１５６６９４号に開示されているような方法、すなわち、ネットワークを介して互いに通信する第１のエンティティと第２のエンティティを含むシステムで用いられる認証方法を示し、前記第１のエンティティが、前記第２のエンティティと前記第２のエンティティから受信したデータとを認証するように構成され、第１と第２のエンティティの双方が、同じ秘密鍵を記憶する認証方法であって、
・  前記第１のエンティティによって、コードと他のパラメータとを認証するメッセージを受信するステップを含み、前記メッセージ認証コードが、前記秘密鍵と前記他のパラメータとの関数であり、認証方法がさらに、
・  前記第１のエンティティによって、期待されるコードを、受信された前記他のパラメータおよび前記第１のエンティティに記憶されている前記秘密鍵から計算するステップと、
・  前記第１のエンティティによって、受信された前記メッセージ認証コードと前記期待されるコードとを比較するステップと、
・  受信されたメッセージ認証コードと期待されるコードとが一致しない場合に、認証をアボートするステップとを含む。
【００１９】
本発明によれば、前記第１のエンティティにおいて、受信されたメッセージ認証コードと期待されるコードとが、前記第１のエンティティによって比較した際に一致しないと、その度に失敗カウンタを更新するステップがさらに提供される。
【００２０】
言い換えれば、本発明は、ＵＳＩＭカードで、間違った試行の連続する回数を最大量に制限し、この最大量を越えると、鍵Ｋが安全ではないと見なすために、ＭＡＣとＸＭＡＣを比較した結果に応じて更新される失敗カウンタを提供することにある。このようにして、連続して実行される悪意のあるアタックの回数が、制御される。
【００２１】
好ましい実施によれば、本発明による方法は、
・  認証を開始する前に、前記第１のエンティティによって失敗カウンタを予備的にチェックするステップと、
・  前記第１のエンティティによって、前記他のパラメータに含まれるシーケンス番号から、前記メッセージ認証コードおよび他のパラメータが、前記第１のエンティティによってすでに受信されているかどうかを判定し、前記メッセージ認証コードおよび他のパラメータが、前記第１のエンティティによってすでに受信されていることを、前記シーケンス番号が示していれば、前記失敗カウンタを更新することなく認証をアボートするステップと、
・  （ｉ）受信されたメッセージ認証コードおよび期待されるコードが、一致する場合、および（ｉｉ）前記メッセージ認証コードおよび他のパラメータが、前記第１のエンティティによってまだ受信されていないことを、前記シーケンス番号が示している場合には、前記失敗カウンタをその初期値にリセットするステップとをさらに含むことができる。
【００２２】
本発明は、また、遠隔エンティティと遠隔エンティティから受信したデータとを認証するように構成されたスマートカードを含み、前記スマートカードは、
・  認証アルゴリズムと、前記遠隔エンティティに記憶されている対応する鍵と同じである秘密鍵を含む認証鍵および暗号鍵とを記憶する、メモリと、
・  前記遠隔エンティティから、メッセージ認証コードおよび他のパラメータを受信する手段と、
・  期待されるコードを、前記他のパラメータおよび前記秘密鍵から計算する手段と、
・  受信した前記メッセージ認証コードと前記期待されるコードとを比較する手段と、
・  受信したメッセージ認証コードと期待されるコードとが一致しない場合に、認証をアボートする手段とを含む。
【００２３】
本発明によれば、前記スマートカードは、
・  アボート動作の発生回数を記憶するように構成された失敗カウンタと、
・  前記メッセージ認証コードと前記期待されるコードとが一致しないことを比較手段が示すと、その度に前記失敗カウンタを更新する手段とをさらに備える。
【００２４】
したがって、内蔵の失敗カウンタと、このカウンタの更新がカードの内側から制御されるという事実とによって、カードは、耐改ざん性のより安全なデバイスとなる。
【００２５】
本発明の前述のおよび他の目的、態様、および利点は、添付された図面を参照して本発明の好ましい実施形態に関する次の詳細な説明を読むことによって、より良好に理解されるであろう。
【発明を実施するための最良の形態】
【００２６】
図１に、インターネットやプライベートネットワークなどのネットワークＮＥＴを介して、サーバＳＥＲＶと通信するユーザ装置を含むシステムを示す。ユーザ装置は、移動装置ＭＥと加入者識別モジュールＣＡＲＤとの２つの部分から構成される。移動装置ＭＥは、ユーザ装置とサーバＳＥＲＶとの間での無線通信のために用いられる無線端末である。この例では、カードＣＡＲＤは、ＵＳＩＭスマートカードであり、このＵＳＩＭスマートカードは、加入者の識別を保持し、認証アルゴリズムを実行し、かつ認証鍵および暗号鍵、ならびに端末で必要とされる加入情報とを記憶する。
【００２７】
サーバＳＥＲＶは、移動局の認証が成功であった後に、移動局に対してサービスを提供するように構成される。
【００２８】
本発明によれば、カード内のカウンタが、カードによってアボートされた認証手順の回数を制御する。カウンタは、連続してアボートされた認証手順をカウントするのが好ましい。
【００２９】
図２は、いくつかのステップＳ１からＳ１６を含む、本発明を示す認証アルゴリズムである。
【００３０】
第１のステップ（Ｓ１）で、カードは、認証要求を受信する。
【００３１】
第２のステップ（Ｓ２）で、ＭＡＣをチェックする前に、カードは、失敗カウンタをチェックして、
・  カウンタがゼロであれば（Ｓ３、Ｓ１２）、鍵は安全ではないと見なして、それ以上進まない。この場合、カードは、セキュリティエラーメッセージを返信する（Ｓ１４）。ステップＳ１４の後で、認証手順は終了する（Ｓ１５）。
・  カウンタがゼロでなければ（Ｓ３、Ｓ４）、鍵を用いて、データを提供されたＭＡＣを検証し（Ｓ５）、
−  カードが期待する値が、要求で提供されている値と一致しなければ、カードは、エラーカウンタをデクリメントして（Ｓ１３）、セキュリティエラー通知をＭＥに送る。
−  これらの値が一致すれば、要求のＳＱＮをチェックして（Ｓ６）、すでに以前に送られている要求を処理していないことを保証し、
ＳＱＮが新規でないと思われる場合（Ｓ７、Ｓ１０）、カードは、ＡＫＡで規定されているように、再同期化トークンをネットワークを介して送り返す（Ｓ１０）。Ｓ１０の後、手順は終了する（Ｓ１１）。
【００３２】
ＳＱＮが新規であると思われる場合に、ＳＱＮが有効であると思われれば（Ｓ７、Ｓ８）、この例では、カードは、エラーカウンタをその最大値にリセットする（Ｓ８）。その後、カードは、肯定的な認証結果を送ることが可能である（Ｓ９）。ステップＳ１６は、認証手順の終了である。
【００３３】
ひとたびエラーカウンタがゼロに達すると、認証鍵は、もはや使用することは不可能である。このようにして、ほんの少量の連続エラーしか許容されない。前記のアタックは、ＭＡＣ検証エラーとなる試行を必要とする。カウンタは、試行の回数を制限するので、アタックに対抗することができる。
【００３４】
たとえば、カウンタの最大値が３であり、また、カウンタの初期値が１であると仮定する。次に、認証を連続で６回した場合に、考えられるシナリオをいくつか示す。
【００３５】
（１回目の認証、カウンタ＞０、ＭＡＣは正しい、ＳＱＮは有効）
カウンタの初期値、１
・  認証要求の受信（Ｓ１）
・  カウンタは厳密に正である（Ｓ３）ので、ＭＡＣの検証を実行する（Ｓ４）。
・  ＭＡＣは正しい（Ｓ５）ので、ＳＱＮの検証を実行する（Ｓ６）。
・  ＳＱＮは有効である（Ｓ７）ので、カウンタはその最大値、すなわち３にリセットされる（Ｓ８）。
・  認証結果が返信される（Ｓ９）。
カウンタの最終値、３
【００３６】
（２回目の認証、カウンタ＞０、ＭＡＣは誤り）
カウンタの初期値、３
・  認証要求の受信（Ｓ１）
・  カウンタは厳密に正である（Ｓ３）ので、ＭＡＣの検証を実行する（Ｓ４）。
・  ＭＡＣは誤りである（Ｓ５）ので、カウンタはデクリメントされる。カウンタの新しい値は２である（Ｓ１３）。
・  セキュリティエラーが返信される（Ｓ１４）。
カウンタの最終値、２
【００３７】
（３回目の認証、カウンタ＞０、ＭＡＣは正しい、ＳＱＮは無効）
カウンタの初期値、２
・  認証要求の受信（Ｓ１）
・  カウンタは厳密に正である（Ｓ３）ので、ＭＡＣの検証を実行する（Ｓ４）。
・  ＭＡＣは正しい（Ｓ５）ので、ＳＱＮの検証を実行する（Ｓ６）。
・  ＳＱＮは無効である（Ｓ７）ので、再同期化トークンが送られる。カウンタは修正されず、２に等しいままである。
カウンタの最終値、２
【００３８】
（４回目の認証、カウンタ＞０、ＭＡＣは誤り）
カウンタの初期値、２
・  認証要求の受信（Ｓ１）
・  カウンタは厳密に正である（Ｓ３）ので、ＭＡＣの検証を実行する（Ｓ４）。
・  ＭＡＣは誤りである（Ｓ５）ので、カウンタはデクリメントされる。カウンタの新しい値は１である（Ｓ１３）。
・  セキュリティエラーが返信される（Ｓ１４）。
カウンタの最終値、１
【００３９】
（５回目の認証、カウンタ＞０、ＭＡＣは誤り）
カウンタの初期値、１
・  認証要求の受信（Ｓ１）
・  カウンタは厳密に正である（Ｓ３）ので、ＭＡＣの検証を実行する（Ｓ４）。
・  ＭＡＣは誤りである（Ｓ５）ので、カウンタはデクリメントされる。カウンタの新しい値は０である（Ｓ１３）。
・  セキュリティエラーが返信される（Ｓ１４）。
カウンタの最終値、０
【００４０】
（６回目の認証、カウンタ＝０、ＭＡＣは誤り）
カウンタの初期値、０
・  認証要求の受信（Ｓ１）
・  カウンタは０に等しい（Ｓ３）ので、鍵はブロックされる（Ｓ１２）。
・  セキュリティエラーが返信される（Ｓ１４）。
カウンタの最終値、０
【００４１】
本発明の主要な利点は、以下の通りである。
・  誤ったＭＡＣが連続して提示される回数は、カウンタの最大値に限られる（前記の２、４、５、および６回目の認証を参照されたい）。
・  認証の合計回数に制限はないが、その理由は、カウンタはその最大値にリセットされることが可能であるからである（前記の１回目の認証を参照されたい）。
・  正しい認証要求の繰り返しは、カウンタをリセットしないが、その理由は、ＳＱＮが、必然的に無効であり、また、カウンタは不変のままであるからである（前記の３回目の認証を参照されたい）。
・  ＳＱＮのチェックと関連する問題によって、カードがロックされる危険性はなく、その理由は、カウンタはデクリメントされないからである（前記の３回目の認証を参照されたい）。
【００４２】
次に示すいくつかの変更例が考えられる。
・  カウンタの値が、単に例として与えられる。
・  カウンタの管理が、異なる可能性がある。カウンタが、デクリメントされる代わりにインクリメントされてもよく、任意の値にインクリメントされて変更されたり、０以外の任意の値と比較されたりしてもよい。
・  カウンタが、認証要求の総数をカウントしてもよい。
・  カウンタが、その最大値にリセットされる可能性なく、誤ったＭＡＣの数をカウントしてもよい。
・  ＭＡＣが誤っていれば即時に（すなわち、ＳＱＮの有効性などの、さらなるチェックをすることなく）、カウンタがリセットされてもよい。
・  たとえＭＡＣが正しくてＳＱＮが無効であっても、カウンタがデクリメントされてもよい。
【図面の簡単な説明】
【００４３】
【図１】本発明が適用されるデータ処理システムの例を示す図である。
【図２】認証失敗カウンタ管理アルゴリズムの例を示す図である。
【図１】
2007505542.tif 000003
【図２】
2007505542.tif 000004
【国際調査報告】
2007505542.tif 000005
2007505542.tif 000006