(57)【特許請求の範囲】
【請求項１】
試験装置（ＴＤ）によってセキュアドチップ（ＳＣ）へのアクセスを認証する方法であって、前記試験装置（ＴＤ）は少なくとも１つの共通鍵（ＣＫ）及び１つの試験鍵（ＴＫ）を格納し、前記試験鍵（ＴＫ）に双方向性数値演算（ｏｐ）を適用するための手段を有し、前記セキュアドチップ（ＳＣ）は同じ共通鍵（ＣＫ）及び前記試験鍵（ＴＫ）への暗号関数の適用から生じる基準ダイジェストＦ（ＴＫ）を格納し、入力データに前記双方向性数値演算（ｏｐ）の逆演算（ｏｐ―1）を適用するための手段を有する方法において、
前記試験装置（ＴＤ）によって、前記セキュアドチップ（ＳＣ）によって生成されたチャレンジ（Ｒ）を受信するステップと、
前記試験装置（ＴＤ）によって、前記双方向性数値演算（ｏｐ）を適用することによって、前記受信されたチャレンジ（Ｒ）を前記試験鍵（ＴＫ）と組み合わせるステップであって、前記試験鍵（ＴＫ）は前記試験装置の固有識別子から導き出されるステップと、
暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）を得るために、前記共通鍵（ＣＫ）によって前記双方向性数値演算の結果（ＴＫ  ｏｐ  Ｒ）を暗号化するステップであって、前記共通鍵（ＣＫ）は前記セキュアドチップ（ＳＣ）の固有識別子から導き出されるステップと、
前記試験装置（ＴＤ）によって前記暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）を前記セキュアドチップ（ＳＣ）に送信するステップと、
前記セキュアドチップ（ＳＣ）によって、前記暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）を前記共通鍵（ＣＫ）により解読するステップと、
前記チャレンジ（Ｒ）によって、前記試験装置（ＴＤ）により以前に用いられた前記数値演算（ｏｐ）の逆演算（ｏｐ―1）を適用することによって前記試験鍵（ＴＫ）を表すイメージ鍵（ＴＫ′）を得るステップと、
暗号一方向関数によって前記イメージ鍵（ＴＫ′）の予想されるダイジェストＦ（ＴＫ′）を算出するステップと、
前記予想されるダイジェストＦ（ＴＫ′）を前記基準ダイジェストＦ（ＴＫ）と比較することによって有効性を確認するステップと、
前記イメージ鍵（ＴＫ′）の前記ダイジェストＦ（ＴＫ′）と前記基準ダイジェストＦ（ＴＫ）との前記比較の結果がポジティブである場合は、前記試験装置（ＴＤ）によって、試験モードで前記セキュアドチップ（ＳＣ）にアクセスするステップと、
を含む方法。
【請求項２】
前記予想されるダイジェストが前記イメージ鍵（ＴＫ′）にハッシュ関数（Ｆ）を適用することによって得られることを特徴とする請求項１記載の方法。
【請求項３】
前記基準ダイジェストＦ（ＴＫ）がプレーン・データ（ＰＤ）セット及び暗号データセット（ＣＤ）を含み、前記イメージ鍵（ＴＫ′）が、結果として生じるイメージ暗号データセット（ＣＤ′）を得るために前記プレーン・データセット（ＰＤ）が適用される暗号モジュール（ＣＭ）用の鍵として使用され、前記比較が、前記基準ダイジェストＦ（ＴＫ）の前記暗号データセット（ＣＤ）と前記算出されたイメージ暗号データ（ＣＤ′）セットとの間で行われることを特徴とする請求項１記載の方法。
【請求項４】
前記試験装置（ＴＤ）による前記チャレンジ（Ｒ）の前記受信は、前記試験装置（ＴＤ）が認証の要求（ＲＱ）を前記セキュアドチップ（ＳＣ）に送信し、前記要求（ＲＱ）を受信した前記セキュアドチップ（ＳＣ）が前記試験装置（ＴＤ）に前記チャレンジ（Ｒ）を戻すことにより実現されることを特徴とする請求項１記載の方法。
【請求項５】
前記セキュアドチップ（ＳＣ）が、前記イメージ鍵（ＴＫ′）の前記ダイジェストＦ（ＴＫ′）と前記基準ダイジェストＦ（ＴＫ）との間の前記比較の結果を示す応答メッセージ（Ｍ）を前記試験装置（ＴＤ）に戻すことを特徴とする請求項１に記載の方法。
【請求項６】
前記チャレンジ（Ｒ）が、前記セキュアドチップ（ＳＣ）により、ハードウェア疑似乱数発生器によって、又は格納された生成プログラムで実施されるアルゴリズムによって生成されることを特徴とする請求項１に記載の方法。
【請求項７】
前記チャレンジ（Ｒ）が、前記セキュアドチップ（ＳＣ）に対する前記試験装置（ＴＤ）の各接続において、又は前記セキュアドチップ（ＳＣ）に送信された各試験要求において所与の開始値から増減するカウンタによって生成されることを特徴とする請求項１に記載の方法。
【請求項８】
前記チャレンジ（Ｒ）が、所定の精度を有する現在の日付及び時間を含んでいるタイムスタンプを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記試験装置（ＴＤ）及び前記セキュアドチップ（ＳＣ）が複数の共通鍵（ＣＫ）を格納することを特徴とする請求項１に記載の方法。
【請求項１０】
前記試験装置（ＴＤ）が複数の試験鍵（ＴＫ）を格納し、前記セキュアドチップ（ＳＣ）が、前記試験装置（ＴＤ）内に格納された対応する試験鍵（ＴＫ）によって各々算出された複数のダイジェストＦ（ＴＫ）を格納することを特徴とする請求項９に記載の方法。
【請求項１１】
前記試験装置（ＴＤ）及び前記セキュアドチップ（ＳＣ）内に格納された各共通鍵（ＣＫ）、前記試験装置（ＴＤ）内に格納された各試験鍵（ＴＫ）、並びに前記セキュアドチップ（ＳＣ）内に格納された前記対応するダイジェストＦ（ＴＫ）に、アクセス認証プロセスの間に特定の試験鍵（ＴＫｉ）、共通鍵（ＣＫｊ）、及びダイジェストＦ（ＴＫｉ）を選択するためのインデックス（Ｉ、J)が付随していることを特徴とする請求項９に記載の方法。
【請求項１２】
前記試験装置（ＴＤ）により前記セキュアドチップ（ＳＣ）に送信された前記暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）に、暗号ＣＫｊ（ＴＫｉ  ｏｐ  Ｒ）に用いられた前記それぞれの試験及び共通鍵（ＴＫｉ、ＣＫｊ）の前記インデックス（Ｉ、J）が付随していることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記セキュアドチップ（ＳＣ）が、前記暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）を解読するために用いられる前記共通鍵（ＣＫ）を示すための前記受信されたインデックス（Ｊ）と、前記暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）から判断された前記試験鍵（ＴＫ）の有効性を確認するために用いられる前記ダイジェストＦ（ＴＫ）のインデックス（Ｉ）とを選択することを特徴とする請求項１１に記載の方法。
【請求項１４】
前記暗号ＣＫｊ（ＴＫｉ  ｏｐ  Ｒ）に用いられた前記試験鍵（ＴＫｉ）の前記インデックス（Ｉ）が、前記暗号ＣＫｊ（ＴＫｉ  ｏｐ  Ｒ）で送信された前記インデックス（Ｊ）に対応する前記共通鍵（ＣＫｊ）で暗号化されていることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記セキュアドチップ（ＳＣ）が、前記暗号ＣＫｊ（ＴＫｉ  ｏｐ  Ｒ）を付随する前記インデックス（Ｊ）により示された前記共通鍵（ＣＫｊ）で前記試験鍵（ＴＫｉ）の前記インデックス（Ｉ）を解読し、前記解読されたインデックス（Ｉ）が、前記暗号ＣＫｊ（ＴＫｉ  ｏｐ  Ｒ）から判断された前記試験鍵（ＴＫｉ）の有効性を確認するために適切なダイジェストＦ（ＴＫｉ）を選択するために使われていることを特徴とする請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップのメモリに格納されているデータに関する無許可の操作を阻止することによって、特に試験装置を用いてセキュアドチップへのアクセスを防止する分野に関する。
【背景技術】
【０００２】
セキュアドチップは、主に、スマートカード、セキュリティモジュール、識別装置、及び高いセキュリティ・レベルを必要とするアプリケーションで使用される他の集積回路を製造する際に用いられる。
【０００３】
装置又は遠隔ユニットへのセキュアドアクセスは、好ましくは装置又は遠隔ユニットによって送られたチャレンジに応答してユーザ端末ユニットに導入されたワンタイム・パスワードを使用することにより許可されてもよい。例えば、特許文献１は、中央位置と少なくとも１つのクライアント・ステーションとの間で安全に通信する方法であって、最初の秘密を生成して、それを中央位置に格納するステップと、一組のワンタイム・パスワードを生成し、ワンタイム・パスワードの各々はインデックスと関連しているステップと、一組のワンタイム・パスワードのサブセットをクライアント・ステーションに格納するステップと、チャレンジを中央位置からクライアント・ステーションに送信し、そこでは前記チャレンジは一組のワンタイム・パスワードの前記サブセットのインデックスであるステップと、インデックスと関連したワンタイム・パスワードをクライアント・ステーションから中央位置へ送信するステップと、を含む方法を記載している。
【０００４】
特許文献２は装置機能へのアクセスを制御する方法であって、装置の機能を使用可能にするために要求を受信するステップと、機能が使用不能にされたか判断するステップと、機能が許可によって使用可能にされることができるかどうか判断するステップと、依頼人が装置の機能を使用可能にする許可を与えられるかどうか判断するステップと、を有する。すべての条件が装置及び依頼人により満たされるときに、機能は使用可能となる。許可は、装置によってチャレンジ値を生成し、チャレンジ値を格納し、依頼人にチャレンジ値を送信し、依頼人によってチャレンジ値を暗号化し、暗号化されたチャレンジ値を装置に送り返し、装置によって暗号化されたチャレンジ値を解読し、そして格納されたチャレンジ値を解読されたチャレンジ値と比較することによって得られてもよい。チャレンジの２つの値が等しい場合、機能を使用可能にするための許可が与えられる。
【０００５】
特許文献３は、電子チップと電子チップ内の入力パラメータからの認証値を算出することを含むアプリケーションとの間の処理の不正から配線電子論理チップを保護する非対称暗号方法を論じている。その方法は、チップによって処理に特有の乱数を生じるステップと、処理の前にアプリケーションにより算出されて、数学的関係によって乱数にリンクされて、チップのデータメモリ内に格納される第１パラメータをアプリケーションに送信するステップと、チップによって、その入力パラメータが少なくとも処理に特有の乱数である連続機能及び非対称の鍵の対に帰属している秘密鍵によって認証値を構成する第２パラメータを算出するステップと、アプリケーションに認証値を送信して、その入力パラメータが少なくとも公開鍵を含む公開パラメータのみから成る確認機能によって前記認証値を確認するステップと、を含む。
【０００６】
特許文献４は、システム・オン・チップ（ＳｏＣ）のためのセキュア認証の方法及び装置を記載している。ＳｏＣは、機能又はシステムにアクセスすることを試みる外部実体の認証を可能にすることができる。ＳｏＣ及び認可された外部実体は、認証の試みの前に非表示データについての知識を各々有していてもよく、その上認証プロセスの間にデータを伝達できる。類似のデータを使用することにより、ＳｏＣ及び外部実体は、同じパスワードを生成して、システム・アクセスを成し遂げることが可能である。パスワードは２つの点で、例えば、動作について及びＳｏＣ装置についてユニークでもよい。ＳｏＣに搭載された乱数発生器は、パスワードが認証プロセスの繰り返し毎に変化することを可能にしてもよい。ＳｏＣの各インスタンスは、パスワードが各装置毎にユニークであるようにする、それ自体の秘密の語を有する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２００５／１２５０７８号パンフレット
【特許文献２】欧州特許第１３９２０５２号明細書
【特許文献３】欧州特許第１４４１３１３号明細書
【特許文献４】欧州特許第１９８３４６６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術のアクセス認証方法のセキュリティは、保護されたチップの鍵をリバース・エンジニアリングするか又は改ざんすることによって、あるいはアクセスする装置とチップとの間の通信を聞くか又は盗聴することによって妥協して処理される。事実、総当たり攻撃のようないくつかの既知の攻撃、信号解析、チップの物理的検査などは、暗号化鍵を発見して、ワンタイム・パスワードを作成するために使用されるチャレンジ又は他のパラメータを演繹することを可能にする。いくつかの他のケースにおいて、装置認証プロセスは、第三者の装置により捕獲されて解析されるときに、重要なセキュリティ・パラメータを開示できる装置からチップへ、及びその逆に送信されたデータセットを作成する。
【課題を解決するための手段】
【０００９】
本発明の目的は、速くて効率的な且つ攻撃に反撃する方法を用いて、最大のセキュリティ・レベルを有する試験装置によって、セキュアドチップへのアクセスを認証することである。例えば、試験装置又はチップからの不正操作鍵は、チップにアクセスするための充分な結果を与えない。更に、認証の間に捕獲されるデータセットは、チップへのアクセスの許可をシミュレーションするために有用ないかなる鍵又は暗号も開示しない。
【００１０】
本目的は試験装置によってセキュアドチップへのアクセスを認証する方法により達成され、試験装置は少なくとも１つの共通鍵及び１つの試験鍵を格納し、試験鍵に双方向性数値演算を適用するための手段を有し、セキュアドチップは同じ共通鍵及び試験鍵への暗号関数の適用から生じる基準ダイジェストを格納し、入力データに双方向性数値演算の逆演算を適用するための手段を有し、方法は、
-  試験装置によって、セキュアドチップにより生成されたチャレンジを受信するステップと、
-  試験装置によって、双方向数値演算を適用することにより受信されたチャレンジを試験鍵と組み合わせるステップであって、試験鍵は試験装置の固有識別子から導き出されるステップと、
-  暗号を得るために、共通鍵によって双方向性数値演算の結果を暗号化するステップであって、共通鍵はセキュアドチップの固有識別子から導き出されるステップと、
-  試験装置によって暗号をセキュアドチップに送信するステップと、
-  セキュアドチップによって、共通鍵で暗号を解読するステップと、
-  チャレンジで、試験装置によって以前に用いられた数値演算の逆演算を適用することによって、試験鍵を表すイメージ鍵を得るステップと、
-  暗号一方向性関数でイメージ鍵の予想されるダイジェストを算出するステップと、
-  予想されたダイジェストを基準ダイジェストと比較することによって有効性を確認するステップと、
-  イメージ鍵のダイジェストと基準ダイジェストとの比較の結果がポジティブである場合は、試験装置によって、試験モードでセキュアドチップにアクセスするステップと、を含む。
【００１１】
市場への流通の前に、又は保守目的のために、セキュアドチップのさまざまな機能は、セキュアな方法で、チップにアクセスする試験装置で試験される。一旦試験装置がチップで認証されると、即ち、成功した確認が試験装置とチップとの間での制御データ交換によってなされると、いろいろな動作試験又はシミュレーションは、ハードウェア及びソフトウェア機能及び／又はチップ内で実行されるプログラムで行われる。試験装置は、チップに関して予知されたアプリケーション要件に従って機能を使用可能にするか、使用不能にするか、又はプログラムすることによってチップの構成又はカスタム化の機能を備えることもできる。
【００１２】
本発明は、チップの浸襲性襲撃に対して、又はスヌーピングのような攻撃のいずれかに対して反撃するが、両方を結合した攻撃に対しては反撃しない方法を提供する。
【００１３】
浸襲性襲撃は、チップが破壊されて検出可能な痕跡を残す物理的な攻撃である。この種の攻撃はチップ内部の信号へのアクセスを可能にして、リバース・エンジニアリング、顕微鏡による観察、並びにレーザー・カッター又はドリル、プロービング・ニードル、及び電子ビームテスターのようなツールの使用によってデータを抽出する。
【００１４】
スヌーピングは、必ずしも外部装置へのその伝送の間ではなくてもよい、データへの無許可のアクセスを与える、非破壊のデータマイニング技術である。この技術は、例えばネットワークを通してコンピュータ活動を遠隔で監視することによるデータ変化の観察を含んでいてもよい。
【００１５】
好ましい実施態様によれば、この方法の１つの利点は試験装置とセキュアドチップとの間のデータ転送を最小化することである。チップによって生成されたチャレンジに応えて、試験装置は、試験装置に前記チップの試験を実行する許可を与える前に、チップにより解析されて確認される暗号を送信する。
【００１６】
チャレンジは、チップ内に集積化されたハードウェア・ベースの生成器によってランダムに生成されてもよい。ある実施形態において、チップは一度のみ使用可能なチャレンジのリストを格納できる。他の実施形態では、チャレンジは、一度のみ使われた数又は所定の値からカウンタを単調に増減させることにより生成されたノンスの形であってもよい。
【００１７】
第三者装置によるチャレンジ及び／又は暗号の捕獲は、一方向性関数が既知であると仮定してチップ内に格納されたダイジェストとの比較による確認のために必要な試験鍵を見つけることを許さない。事実、チャレンジと試験鍵との組み合わせの結果を共通鍵によって暗号化することによって得られた暗号は、共通鍵、試験鍵、及び双方向数値演算又は関数、それぞれその逆についての知識を必要とする。
【００１８】
共通鍵がセキュアドチップを改ざん操作することによって得られた場合は、それが試験鍵についての知識を必要とするので、暗号を再生することはかなり困難である。共通鍵とは異なり、試験鍵はセキュアドチップの不揮発性メモリには格納されない。
【００１９】
本発明は、非制限的な実施例として与えられた添付図を参照する以下の詳細な説明によってより良く理解されるであろう。
【図面の簡単な説明】
【００２０】
【図１】試験装置が、それぞれの格納された鍵、ダイジェスト、及び機能を有するセキュアドチップに接続されていることを表すブロック図を示す。受信されたチャレンジに対応して試験装置によって送られた暗号は、セキュアドチップへのアクセスを可能にする。
【図２】試験の要求として試験装置とセキュアドチップとの間を流れる付加的なデータ及び応答メッセージを含む、図１のブロック図を示す。
【図３】各々インデックスを有する付加的な試験及び共通鍵を含む図１のブロック図を示す。
【図４】基準プレーン・データセットを暗号化しているイメージ試験鍵を用いるダイジェスト算出プロセスのブロック図を示し、結果として生じるイメージ暗号データセットは基準暗号データセットと比較される。
【発明を実施するための形態】
【００２１】
図１に示す試験装置ＴＤは、不揮発性メモリ内に、試験鍵ＴＫ、共通鍵ＣＫ、及び入力データを試験鍵ＴＫと組み合わせることが可能なプログラムを備える識別データを格納する。プログラムは、試験目的のために試験装置ＴＤに接続されたセキュアドチップＳＣから試験装置ＴＤにより受信されたチャレンジＲに適用するために、双方向性（逆を有する）及び全単射の数値演算又は関数ｏｐを含む。関数が両方共単射（２つの値が同じ値にマップしない）であり且つ全射（像領域の要素毎に、それにマップする開始領域の要素がある）である場合、関数は全単射であるか、あるいは全単射又は一対一対応である。換言すれば、イメージ領域の各要素にマップする開始領域の１つの要素が正確にある。
【００２２】
セキュアドチップＳＣは、不揮発性メモリに、
-  共通鍵ＣＫ、
-  暗号の一方向性関数Ｆから得られた試験鍵ＴＫのダイジェストＦ（ＴＫ）、
-  及び試験装置（ＴＤ）によって格納されたプログラムに含まれた演算又は関数ｏｐの逆ｏｐ−１を入力データに適用することが可能なプログラム
を格納する。
【００２３】
特にこれらのデータは、その製造を完了する個人化段階の間にセキュアドチップに導入された。試験装置ＴＤは、次に、チップによる認証のために必要とされるすべてのデータを含ませることによって試験に利用できるチップに適合される。
【００２４】
ダイジェストは、鍵即ち試験鍵ＴＫを用いてデータセットに暗号関数を適用して算出することによって得られた結果として定義されてもよい。更に、セキュアドチップは、好ましくは、試験装置ＴＤに送られるよう意図されたチャレンジＲを生成するための乱数発生器と、試験装置を認証するための必要な確認を行うために試験装置から受け取られた暗号を処理するための手段と、を備える。認証することは、必要な鍵及びプログラムを所有している試験装置だけがセキュアドチップにアクセスする許可を与えられていることを意味する。即ち、互換性を持つ識別データのない他の装置は除外されて、試験を実行することができない。
【００２５】
第１段階（１）において、試験装置ＴＤは、セキュアドチップＳＣから、内蔵プログラムの動作ｏｐの結果試験鍵ＴＫに組み合わされたチャレンジＲを受け取る。このように得られた結果（ＴＫ  ｏｐ  Ｒ）は、暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）を生成するための共通鍵ＣＫによって暗号化される。第２段階（２）において、試験装置ＴＤは、処理のために、セキュアドチップＳＣに暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）を送る。
【００２６】
セキュアドチップＳＣは共通鍵ＣＫによって暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）を解読して、結果ＴＫ  ｏｐ  Ｒを得る。チャレンジＲが発生器の一時メモリに保存されるので、それは試験鍵のイメージＴＫ′を得るためにチャレンジＲによって結果ＴＫ  ｏｐ  Ｒに適用された逆演算ｏｐ−１を含むプログラムの入力データとして使われる。即ち、ＴＫ  ｏｐ  Ｒ  ｏｐ−１  Ｒは、Ｉが演算ｏｐ及びｏｐ−１のための識別又は中性要素である、ＴＫ  ｏｐ  Ｉ＝ＴＫを与える。
【００２７】
別の例では、演算はチャレンジＲを試験鍵ＴＫに加えることであってもよく、そしてその逆は鍵ＴＫを得るためにチャレンジＲを減ずる。
【００２８】
ＴＫ＋Ｒ−ＲはＴＫ＋０＝ＴＫを与え、０は加算及び減算演算のための中性要素である。類似の推論は、中性要素が１である乗算及び除算演算によってなされてもよい。
【００２９】
特定のケースにおいて、演算ｏｐはＸＯＲ演算であり、その逆ｏｐ−１は同じＸＯＲ演算であってもよい。
【００３０】
得られた試験鍵は、確認が実行される前に、本物の試験鍵ＴＫのイメージＴＫ′を最初に表す。
【００３１】
第１実施形態によれば、例えばタイプＳＨＡ２５６のハッシュ関数のような暗号一方向性関数ＦはイメージＴＫ′に適用される。得られたダイジェストＦ（ＴＫ′）は、セキュアドチップの個人化で同じ一方向のハッシュ・タイプ関数Ｆによって、以前算出された格納されたダイジェストＦ（ＴＫ）と比較される。格納されたダイジェストＦ（ＴＫ）及びイメージダイジェストＦ（ＴＫ′）の比較された値が同じであるとき、試験鍵ＴＫは有効であり、試験装置ＴＤは、セキュアドチップＳＣにより認証されているとみなされ、試験目的のためのアクセスが許可される。
【００３２】
第２実施形態によれば、セキュアドチップに格納された基準ダイジェストＦ（ＴＫ）は、プレーン・データセットＰＤ及び暗号データセットＣＤを含む。イメージ鍵ＴＫ′は、プレーン・データセットＰＤがイメージ暗号データセットＣＤ′を得るために適用された暗号モジュールＣＭのキーとして使われる。次に、比較が、図４に概略的に例示されるように、基準ダイジェストＦ（ＴＫ）の基準暗号データセットＣＤと算出されたイメージ暗号データセットＣＤ′との間で行われる。
【００３３】
以下の説明では、ダイジェストは２つの前の実施形態で述べたとおり、いかなるタイプでもよい。
【００３４】
図２に示す実施形態によれば、本発明の方法は、認証の要求（ＲＱ）をセキュアドチップＳＣに送信する準備段階（１）を含むことがある。一旦セキュアドチップが要求ＲＱを受信すると、それは段階（２）で試験装置ＴＤにチャレンジＲを送り、段階（３）で試験装置ＴＤから暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）を受け取る。
【００３５】
任意に、セキュアドチップＳＣが暗号ＣＫ（ＴＫ  ｏｐ  Ｒ）の確認を実行した後に、段階（４）において、応答メッセージＭは試験装置ＴＤに戻されてもよい。メッセージＭは、認証が成功したかどうか、即ち、比較されたダイジェストの値が同じＦ（ＴＫ′）＝Ｆ（ＴＫ）であるか、又は異なるＦ（ＴＫ′）≠Ｆ（ＴＫ）を示す。後者の場合、セキュアドチップへのアクセスは阻止され、実施例によれば、限定された数の認証の更なる試みは、チップの完全な不活性化の前に実行されてもよい。
【００３６】
図２の追加段階（１）又は（４）の１つ又は両方が本方法に含まれてもよい。
【００３７】
セキュアドチップにより生成されたチャレンジＲは、ハードウェア疑似乱数発生器によって、又は格納された生成プログラムで実行されたアルゴリズムによって発生され得る。
【００３８】
更なる実施形態において、チャレンジは、セキュアドチップに対する試験装置の各接続において、又は前記セキュアドチップに送られた各試験要求において所与の開始値から増減するカウンタにより生成されてもよい。
【００３９】
更なる実施形態において、チャレンジは、所定の精度（１秒、１００ミリ秒、１０ミリ秒、１ミリ秒など）を有する現在の日付及び時間を含むタイムスタンプを含んでいてもよい。
【００４０】
前の実施形態のうちの２つ以上の組合せは、チャレンジを生成するためにも可能である。
【００４１】
この方法で使用される試験及び／又は共通鍵（ＴＫ、ＣＫ）が対称か、又は非対称のタイプでもよい点に留意しなければならない。
【００４２】
別の実施形態では、試験鍵は試験装置ＴＤの固有識別子から導き出されてもよく、その一方で共通鍵はセキュアドチップＳＣの固有識別子から導き出されてもよい。
【００４３】
更なる実施形態において、試験装置及びセキュアドチップは複数の共通鍵を格納する。試験装置は複数の試験鍵を格納してもよく、セキュアドチップは、試験装置に格納された対応する試験鍵によって各々算出される、複数のダイジェストを格納する。
【００４４】
有利には、インデックスは、ダイジェストによる解読及び確認動作のためにすべての格納された鍵を系統的に試用することを防止するために、各試験及び共通鍵に関連付けられていてもよい。特に鍵及びダイジェストが多数であるときに、この種の試みは望ましくない方法で認証プロセスを遅くすることがある。
【００４５】
インデックスは、共通鍵及び試験鍵が格納されているところを示すレジスタ参照又はメモリ・アドレスでもよい。インデックスはまた、不揮発性メモリに格納された一組の鍵における鍵の順位数でもよい。試験装置は、インデックスを、プログラムにより規定されたシーケンスに従って自動的に、又はユーザにより入力された命令に応じて判断する。
【００４６】
図３は、試験装置ＴＤが３つの試験鍵（ＴＫ１、ＴＫ２、ＴＫ３）及び２つの共通鍵（ＣＫ１、ＣＫ２）を格納する実施形態を例示する。試験鍵及び共通鍵に、認証処理のために選択されるべき特定の鍵を示すために使用されるそれぞれのインデックス（１１、Ｉ２、Ｉ３）、（Ｊ１、Ｊ２）が好ましくは各々付随する。
【００４７】
セキュアドチップＳＣは、それぞれの試験鍵に対応するインデックス（１１、Ｉ２、Ｉ３）が付随する試験鍵Ｆ（ＴＫＩ）、Ｆ（ＴＫ２）、及びＦ（ＴＫ３）の３つのダイジェストを格納する。共通鍵（ＣＫ１、ＣＫ２）も、試験装置ＴＤにおけるように、それらのインデックス（Ｊ１、Ｊ２）と共に格納される。
【００４８】
受信されたチャレンジＲに応答して試験装置から送られた暗号ＣＫ１（ＴＫ３  ｏｐ  Ｒ）は、そこにおいて使用された鍵のインデックス（Ｉ、Ｊ）が付随する。図３の実施例において、暗号ＣＫ１（ＴＫ３  ｏｐ  Ｒ）は、試験鍵ＴＫ３を示すインデックスＩ３及び共通鍵ＣＫ１を示すインデックスＪ１と共に送信される。
【００４９】
セキュアドチップＳＣによる暗号ＣＫ１（ＴＫ３  ｏｐ  Ｒ）の受信で、インデックスＪ１は、暗号ＣＫ１（ＴＫ３  ｏｐ  Ｒ）を解読するために使われる正しい共通鍵ＣＫ１を選択するために、最初に読み込まれる。逆演算ｏｐ−１を適用して、イメージダイジェストＦ（ＴＫ３′）を算出することによって試験鍵ＴＫ３を得た後に、セキュアドチップは、受信されたインデックスＩ３によって示された格納された基準ダイジェストＦ（ＴＫ３）を選択する。次に、比較は、両方のダイジェスト値が同一である場合には、試験装置ＴＤによるセキュアドチップＳＣへのアクセスを許可するために、第３試験鍵ＴＫ３に対応するイメージダイジェストＦ（ＴＫ３′）と基準ダイジェストＦ（ＴＫ３）との間で行われる。
【００５０】
鍵及び対応するダイジェストは、試験装置及びセキュアドチップ内に、いかなる数でも格納されてもよい点に留意しなければならない。
【００５１】
ある実施形態によれば、暗号ＣＫ１（ＴＫ３  ｏｐ  Ｒ）により送信された試験鍵ＴＫのインデックスＩは、試験鍵キーＴＫにチャレンジＲによって演算ｏｐを適用することによって得られた結果ＴＫ  ｏｐ  Ｒを暗号化する共通鍵ＣＫによって暗号化されてもよい。
【００５２】
実施例では、試験装置ＴＤにより送信されたデータは暗号ＣＫ１（ＴＫ３  ｏｐ  Ｒ）、ＣＫ１（Ｉ３）、Ｊ１であり、そこではＣＫ１（Ｉ３）は共通鍵ＣＫ１によって暗号化された試験鍵ＴＫ３のインデックスである。受信により、試験装置は、インデックスＪ１により示された共通鍵ＣＫ１によって、インデックスＩ３を解読する。共通鍵ＣＫ１による暗号ＣＫ１（ＴＫ３  ｏｐ  Ｒ）の解読及び試験鍵ＴＫ３の決定の後に、前に解読されたインデックスＩ３は、次に、試験鍵ＴＫ３の有効性を確認するための適切なダイジェストＦ（ＴＫ３）を選択するために用いられる。
【図１】
0005563067.tif 000002
【図２】
0005563067.tif 000003
【図３】
0005563067.tif 000004
【図４】
0005563067.tif 000005