(57)【要約】  トランスポンダ（４４０）への接続の正当性を決定するリーダは、トランスポンダ（４４０）の応答時間の測定とトランスポンダの認証を２つの別々のステップで実行するように設計される。リーダ（４２０）への接続の正当性を決定するトランスポンダ（４４０）は、応答時間測定用の情報と認証用の情報を前記リーダ（３２０）に２つの別々のステップで供給するように設計され、認証に使用されるデータの少なくとも一部分は、応答時間の測定中にリーダ（４２０）とトランスポンダ（４４０）との間で送信される通信メッセージに含められる。
2011523798.tif 000002
【特許請求の範囲】
【請求項１】
トランスポンダへの接続の正当性を決定するリーダであって、該リーダは、前記トランスポンダの応答時間の測定及び前記トランスポンダの認証を２つの別々のステップで行うように設計され、前記認証に使用されるデータの少なくとも一部分が前記応答時間の測定中に前記リーダと前記トランスポンダとの間で送信される通信メッセージに含められる、リーダ。
【請求項２】
前記リーダは、前記トランスポンダへの第１のコマンドの送信と、前記第１のコマンドに応答して前記トランスポンダから返送される第１の乱数の受信との間の時間間隔に基づいて前記応答時間を測定するように設計されている、請求項１記載のリーダ。
【請求項３】
前記リーダは、前記応答時間の測定のために前記第１の乱数を受信した後に前記トランスポンダから受信される前記第１の乱数の暗号が前記応答時間の測定のために受信された前記第１の乱数と一致するかどうかの検査に基づいて前記トランスポンダを認証するように設計されている、請求項２記載のリーダ。
【請求項４】
前記リーダは、第１のコマンドを第２の乱数と一緒に前記トランスポンダへ送信する送信と、前記第１のコマンドに応答して前記トランスポンダから返送される第１の乱数の受信との間の時間間隔に基づいて前記応答時間を測定するように設計されている、請求項１記載のリーダ。
【請求項５】
前記リーダは、前記応答時間の測定のために前記第１の乱数を受信した後に前記トランスポンダから受信される前記第１の乱数の暗号及び前記第２の乱数の暗号が前記応答時間の測定のために受信された前記第１の乱数及び前記第２の乱数と一致するかどうかの検査に基づいて前記トランスポンダを認証するように設計されている、請求項４記載のリーダ。
【請求項６】
前記リーダは、前記時間間隔が所定の時間窓内にあるとともに前記一致が存在すること及び前記トランスポンダの動作速度がリーダが前提とする前記トランスポンダの動作速度と同じであることを決定するときにのみ前記トランスポンダへの接続を正当とみなすように設計されている、請求項３又は５記載のリーダ。
【請求項７】
前記リーダは、認証用のデータ及び／又は近接検査用のデータを複数の通信メッセージに分けて前記トランスポンダと交換するように設計されている、請求項１記載のリーダ。
【請求項８】
前記リーダは、前記第１のコマンドを巡回冗長検査（ＣＲＣ）なしで送信するように設計されている、請求項４記載のリーダ。
【請求項９】
前記リーダは、前記トランスポンダへ送信されたメッセージ及び前記トランスポンダから受信されるメッセージに基づいて計算された巡回冗長検査を含む通信メッセージを前記トランスポンダから受信し、前記巡回冗長検査を含む通信メッセージに通信エラーを検出するとき前記トランスポンダとの交換メッセージを正当でない決定するように設計されている、請求項１記載のリーダ。
【請求項１０】
前記リーダから前記第１の乱数及び前記第２の乱数と連結されて受信されたメッセージに基づいて前記トランスポンダにより生成された巡回冗長検査を含むメッセージを前記トランスポンダから受信するように設計されている、請求項４記載のリーダ。
【請求項１１】
リーダへの接続の正当性を決定するトランスポンダであって、該トランスポンダは、応答時間測定用の情報を前記リーダに供給すること及び認証用の情報を前記リーダに供給することを２つの別々のステップで行うように設計され、前記認証に使用されるデータの少なくとも一部分が前記応答時間の測定中に前記リーダと前記トランスポンダとの間で送信される通信メッセージに含められる、トランスポンダ。
【請求項１２】
前記トランスポンダは、応答時間の測定のために前記トランスポンダから受信される第１のコマンドに応答して第１の乱数を前記リーダへ送信するように設計されている、請求項１１記載のトランスポンダ。
【請求項１３】
前記トランスポンダは、応答時間の測定のために暗号化されてない前記第１の乱数を前記リーダへ送信するように設計されている、請求項１２記載のトランスポンダ。
【請求項１４】
前記トランスポンダは、第２の乱数を含む前記第１のコマンドに応答して前記第１の乱数を送信するように設計されている、請求項１２記載のトランスポンダ。
【請求項１５】
前記トランスポンダは、将来のセッションのために前記第１の乱数の代わりに第３の乱数を前記第２の乱数に基づいて生成し格納するように設計されているように設計されている、請求項１４記載のトランスポンダ。
【請求項１６】
前記トランスポンダは、前記第１のコマンドの送信後に送信される前記トランスポンダからの第２のコマンドの受信後に、前記第１の乱数及び前記第２の乱数の暗号を送信するように設計されている、請求項１４記載のトランスポンダ。
【請求項１７】
前記トランスポンダは、前記トランスポンダが前記リーダに近接しているかどうかを決定し、前記トランスポンダが前記リーダに近接していないことを決定するとき通信を終了させるために前記リーダと交換される通信メッセージを解析するように設計されている、請求項１１記載のトランスポンダ。
【請求項１８】
前記トランスポンダは、認証用のデータ及び／又は近接検査用のデータを複数の通信メッセージに分割して前記リーダと交換するように設計されている、請求項１１記載のトランスポンダ。
【請求項１９】
前記トランスポンダは、前記第１の乱数を巡回冗長検査（ＣＲＣ）と一緒に前記リーダへ送信するように設計されている、請求項１２記載のトランスポンダ。
【請求項２０】
前記トランスポンダは、前記トランスポンダと前記リーダとの間の通信のタイミング、特に速度を示す情報と一緒に通信メッセージを前記リーダへ送信するように設計されている、請求項１１記載のトランスポンダ。
【請求項２１】
前記トランスポンダは、その動作周波数が境界を越えたときリーダとの通信を停止させるためにその動作周波数を検出し制限するように設計されている、請求項１１記載のトランスポンダ。
【請求項２２】
前記リーダから前記第１の乱数及び前記第２の乱数と連結されて受信されたメッセージに基づいて生成された巡回冗長検査を含むメッセージを生成するように設計されている、請求項１４記載のトランスポンダ。
【請求項２３】
リーダがトランスポンダへの接続の正当性を決定する方法であって、
第１のコマンドを第２の乱数と一緒に前記トランスポンダへ送信するステップ、
前記トランスポンダから第１の乱数を受信するステップ、
前記トランスポンダからの前記第１の乱数及び前記第２の乱数の暗号を受信するステップ、
前記受信された数を前記トランスポンダで使用されたものと同一の鍵で復号化する、あるいは、前記第１の乱数及び前記第２の乱数を前記鍵で暗号化するステップ、
前記トランスポンダから受信された前記第１の乱数及び前記第２の乱数と、前記トランスポンダから暗号として受信される前記第１の乱数及び前記第２の乱数とが一致するかどうかを検査するステップ、
前記第１の乱数が所定の時間窓内に受信されたかどうかを検査するステップ、及び
上記の両検査の結果が真である場合に前記トランスポンダへの接続を正当とみなすステップ、
を備える方法。
【請求項２４】
前記第１のコマンドに応答して前記トランスポンダから第１の乱数を受信するステップ、
前記第１のコマンドの送信後に前記トランスポンダに第２の乱数を送信するステップ、
前記第２のコマンドに応答して前記トランスポンダから前記第１の乱数の暗号を受信するステップ、
を更に備える請求項２３記載の方法。
【請求項２５】
リーダがトランスポンダへの接続の正当性を決定する方法であって、
第１のコマンドを第２の乱数と一緒に前記トランスポンダへ送信するステップ、
前記トランスポンダから第１の乱数を受信するステップ、
前記第１の乱数及び前記第２の乱数に基づいて生成される第１のメッセージ認証符号（ＭＡＣ）を前記トランスポンダへ送信するステップ、
前記トランスポンダから前記第１の乱数及び前記第２の乱数に基づいて生成される第２のメッセージ認証符号（ＭＡＣ）を受信するステップ、
前記第２のメッセージ認証符号（ＭＡＣ）が正当かどうか検査するステップ、
前記第１の乱数が所定の時間窓内に受信されたかどうかを検査するステップ、
上記の両検査の結果が真である場合に前記トランスポンダへの接続を正当とみなすステップ、
を備える方法。
【請求項２６】
トランスポンダがリーダへの接続の正当性を決定する方法であって、
前記リーダから第１のコマンドを第２の乱数と一緒に受信するステップ、
第１の乱数を前記リーダへ送信するステップ、
前記第１の乱数及び前記第２の乱数の暗号を前記リーダに送信するステップ、
を備える方法。
【請求項２７】
トランスポンダがリーダへの接続の正当性を決定する方法であって、
前記リーダから第１のコマンドを第２の乱数と一緒に受信するステップ、
第１の乱数を前記リーダへ送信するステップ、
前記リーダから前記第１の乱数及び前記第２の乱数に基づいて生成された第１のメッセージ認証符号（ＭＡＣ）を受信するステップ、
前記第１のメッセージ認証符号（ＭＡＣ）が正当かどうか検査するステップ、
前記第１のメッセージ認証符号（ＭＡＣ）が正当であるとき、前記第１の乱数及び前記第２の乱数に基づいて生成される第２のメッセージ認証符号（ＭＡＣ）を前記リーダに送信するステップ、
を備える方法。
【請求項２８】
プロセッサで実行すると、請求項２３，２５，２６又は２７に記載された方法を実行又は制御するように構成されたコンピュータプログラムが格納されたコンピュータ読み取り可能な媒体。
【請求項２９】
プロセッサで実行すると、請求項２３，２５，２６又は２７に記載された方法を実行又は制御するように構成されたプログラム素子。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランスポンダの応答時間を測定し、トランスポンダを認証するように設計された、トランスポンダへの接続の正当性を決定するリーダに関する。更に本発明は、応答時間測定用の情報を前記リーダに供給するとともに認証用の情報を前記リーダに供給するように設計された、リーダへの接続の正当性を決定するトランスポンダに関する。更に本発明は、リーダがトランスポンダへの接続の正当性を決定する方法及びトランスポンダがリーダへの接続の正当性を決定する方法にも関する。更に本発明はプログラム素子にも関する。更に本発明はコンピュータ読み取り可能な媒体にも関する。
【背景技術】
【０００２】
トランスポンダ（特にスマートカード及びＲＦＩＤタグ）の使用時に、いわゆる「リレーアタック問題」が生じる。トランスポンダは通常トランスポンダに極めて近接して位置するリーダにより読み取られる（ニアフィールド通信）。このローカル結合はリレーアタックによって犯罪行為に対して解除されてしまう。
【０００３】
例えば、人物Ａはバーに居り、彼の自動車はバーの前に駐車されている。車はキーレスエントリ機能（即ちトランスポンダ、特にスマートカードによるカーアクセス機能）が装備されている。人物Ｂは人物Ａのポケット内にあるトランスポンダからのデータを読み取り、このデータを携帯電話で自動車のそばにいる人物Ｃに送信する。こうして、人物Ｃは盗みを人物Ａに気づかれることなく自動車のドアを開けることができる。
【０００４】
例えばＧＳＭによる通信はニアフィールド通信より長い時間を要するので、リレーアタックを検出するために、トランスポンダがリーダにより読み取られる際に、その応答時間を測定することができる。応答時間が所定の時間窓から外れる場合、アクセスを拒否できる。通信手段は益々高速になるため、この時間窓をできるだけ小さくしようとしている。
【０００５】
しかし、認証時の暗号化／復号化に時間がかかる。認証のためのアルゴリズムは益々複雑になるため、時間窓に物理的な限界がある。
【０００６】
非特許文献１には、非接触スマートカードのようなＲＦＩＤトークンは、近接認証に使用される場合、リレーアタックに攻撃されやすいことが記載されている。アタッカは、交換信号を大距離に亘って転送するトランスポンダを用いて限定通信距離の無線チャネルを回避することができる。無線信号の往復遅延を正確に測定する暗号距離境界(cryptographic distance-bounding)プロトコルは可能な解決策を提供する。これらのプロトコルは、リーダとトークンとの間の距離の上限を、情報は光の速度より速い速度で伝搬できないという事実から推測する。超広帯域パルス通信に基づく距離境界プロトコルが記載されている。簡単な非同期の低電力ハードウェアのみをトークンに用いて実施可能にするために、このプロトコルは特にパッシブ低コストトークン、雑音環境及び高速アプリケーションに使用するのによく適している。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Hancke, G.P., Kuhn, M.G., "An RFID Distance Bounding Protocol", First International Conference on Security and Privacy for Emerging Areas in Communications Networks 2005, Secure Comm 2005, pp. 67-73,
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本発明の目的は、安全に動作し得るリーダ及び／又はトランスポンダを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の目的は、独立請求項に記載されたトランスポンダ、リーダ、方法、プログラム素子及びコンピュータ読み取り可能な媒体により達成される。
【００１０】
本発明の一つの模範的な実施の形態によれば、トランスポンダ（特にリーダと通信可能に結合できる正当なトランスポンダ）への接続の正当性を決定するリーダ（トランスポンダに通信可能に結合され得る）が提供され、該リーダにおいては、トランスポンダの応答時間の測定（特にリーダの対応するリクエストに応答して、前記応答時間はリーダからトランスポンダへのリクエストの送信と該リクエストに対するトランスポンダからのレスポンスの受信との時間間隔とすることができる）と、トランスポンダの認証（特に応答時間の測定のために暗号化されてない通信メッセージが先に送信された後に、トランスポンダからリーダへ送信される暗号化された通信メッセージによって行われる）が２つの別々のステップで行われる（特に時間間隔を置いて送信される２つの別々の通信メッセージにより行われる）。認証のために（特に後で）使用されるデータの少なくとも一部分は応答時間の測定中にリーダとトランスポンダの間で（特に認証の前に）送信される通信メッセージに含めることができる。
【００１１】
別の模範的な実施の形態によれば、リーダへの接続の正当性を決定するトランスポンダが提供され、該トランスポンダにおいては、応答時間測定用の情報と認証用の情報が前記リーダに２つの別々のステップで供給される。認証のために（特に後で）使用されるデータの少なくとも一部分は、応答時間の測定中にリーダとトランスポンダの間で（特に認証の前に）送信される通信メッセージに含めることができる。
【００１２】
更に別の模範的な実施の形態によれば、リーダが（又はリーダにより実行される）、トランスポンダへの接続の正当性を決定する方法が提供され、該方法は、
前記リーダにより、第１のコマンド（例えば第１の通信メッセージ）を第２の乱数と一緒に前記トランスポンダに送信するステップ（ステップ１）、
前記リーダにより、前記トランスポンダから第１の乱数を（特に平文で）受信するステップ（ステップ２）、
前記リーダにより、前記トランスポンダからの（特に暗号化された形の）前記第１の乱数及び前記第２の乱数の暗号を受信するステップ（ステップ３）、
前記リーダにより、前記受信した数（特に暗号化された前記第１及び第２の乱数）を前記トランスポンダで使用されたものと同一の鍵で復号化する、あるいは、前記第１の乱数及び前記第２の乱数を前記鍵で暗号化するステップ（ステップ４）、
前記リーダにより、ステップ２の前記第１の乱数及び前記第２の乱数と、ステップ３の前記第１の乱数及び前記第２の乱数とが一致するかどうかを検査するステップ（ステップ５）、
前記リーダにより、前記第１の乱数が所定の時間窓内に受信されたかどうかを検査するステップ（ステップ６）、及び
前記リーダにより、ステップ５の検査の結果及びステップ６の検査の結果（特に両方）が真である場合に前記トランスポンダへの接続を正当とみなすステップ（ステップ７）、
を備える。
【００１３】
更に別の模範的な実施の形態によれば、トランスポンダがリーダへの接続の正当性を決定する方法が提供され、該方法は、
前記トランスポンダにより、前記リーダから第１のコマンドを第２の乱数と一緒に受信するステップ、
前記トランスポンダにより、第１の乱数を前記リーダへ送信するステップ、
前記トランスポンダにより、前記第１の乱数及び前記第２の乱数を前記リーダに送信するステップ、
を備える。
【００１４】
更に別の模範的な実施の形態（詳細な説明は図５及びこれに付随する説明に与えられている）によれば、リーダがトランスポンダへの接続の正当性を決定する方法が提供され、該方法は、
第１のコマンドを第２の乱数と一緒に前記トランスポンダへ送信するステップ、
前記トランスポンダから第１の乱数を受信するステップ、
前記第１の乱数及び前記第２の乱数に基づいて生成される第１のメッセージ認証符号（ＭＡＣ）を前記トランスポンダへ送信するステップ、
前記トランスポンダから前記第１の乱数及び前記第２の乱数に基づいて生成し得る第２のメッセージ認証符号（ＭＡＣ）を受信するステップ、
前記第２のメッセージ認証符号（ＭＡＣ）が正当かどうか検査するステップ、
前記第１の乱数が所定の時間窓内に受信されたかどうかを検査するステップ、
上記の両検査の結果が真である場合に前記トランスポンダへの接続を正当とみなすステップ、
を備える。
【００１５】
更に別の模範的な実施の形態（詳細な説明は図５及びこれに付随する説明に与えられている）によれば、トランスポンダがリーダへの接続の正当性を決定する方法が提供され、該方法は、
前記リーダから第１のコマンドを第２の乱数と一緒に受信するステップ、
第１の乱数を前記リーダへ（特に前記第１のコマンドの受信に応答して直ちに）送信するステップ、
前記リーダから前記第１の乱数及び前記第２の乱数に基づいて生成された第１のメッセージ認証符号（ＭＡＣ）を受信するステップ、
前記第１のメッセージ認証符号が正当かどうか検査するステップ、
前記第１のメッセージ認証符号（ＭＡＣ）が正当であるとき、前記第１の乱数及び前記第２の乱数に基づいて生成される第２のメッセージ認証符号（ＭＡＣ）を前記リーダに送信するステップ（前記第１のメッセージ認証符号（ＭＡＣ）が正当でないとき、トランスポンダは前記第１の乱数及び前記第２の乱数に基づいて生成されないで、例えば認証失敗を生じ得る別のメッセージ認証符号（ＭＡＣ）を送信し得る）、
を備える。
【００１６】
本発明の更に別の模範的な実施の形態によれば、プログラム素子（例えば、ソースコード又は実行可能なコードのソフトウェアルーチン、ダウンロード可能なプログラム）が提供され、該プログラム素子は、プロセッサで実行されると、上述した方法の一つを接続又は実行するように構成されている。
【００１７】
本発明の更に別の模範的な実施の形態によれば、コンピュータ読み取り可能な媒体（例えば、ＣＤ，ＤＶＤ，ＵＳＢスティック，フロッピー(登録商標）ディスク又はハードディスク）が提供され、該媒体には、プロセッサで実行されると、上述した方法の一つを接続又は実行するように構成されたコンピュータプログラムが格納されている。
【００１８】
本発明の実施の形態に従って実行可能なデータ処理はコンピュータプログラム、即ちソフトウェアにより、又は一つ以上の特別の電子最適化回路、即ちハードウェアにより、又はハイブリッド形態、即ちソフトウェアコンポーネントとハードウェアコンピュータによって実現することができる。
【００１９】
用語「トランスポンダ」は、特にＲＦＩＤタグ又は（例えば非接触型の）スマートカードを意味し得る。より一般的には、トランスポンダは、インタロゲータからの特別信号により活性化されて所定の（例えば符号化された）データを自動的に送信し得るデバイス（例えばチップを含む）とし得る。
【００２０】
用語「リーダ」は、特にトランスポンダを読み出すために電磁放射ビームを送り、反射又は放射される信号を検出するように構成された基地局を意味し得る。リーダデバイスは、読み出し及び／又は書き込みデバイス、ＲＦＩＤリーダ、非接触チップカードリーダ、パッシブトランスポンダ及びニアフィールド通信デバイスからなる群から選ばれえる一つとし得る。
【００２１】
一つ以上の「アプリケーション」がトランスポンダとリーダからなる通信システムにより提供され得る。このような「アプリケーション」は、特に、リーダとトランスポンダからなる通信システムにおいてトランスポンダ及び／又はリーダが寄与し得るサービスを意味し得る。このような寄与は、格納された又は計算されたデータを提供するトランスポンダの能力、種々の処理能力を提供する能力などを含み得る。このようなサービスの例は、トランスポンダのユーザによる公共輸送機関の利用料金の支払い、無線支払いシステム、クレジットカードサービスなどによる商品購入価額の支払いなどである。
【００２２】
用語「メッセージ認証符号」（ＭＡＣ）は、特に認証メッセージに使用される短い情報を意味する。ＭＡＣアルゴリズムは入力として秘密鍵と認証すべき任意の長さのメッセージを受け取り、ＭＡＣを出力し得る。ＭＡＣ値によれば、検証者（その人も秘密鍵又は対応する公開鍵を所有する）がメッセージの内容のいかなる変化も検出することが可能になり、メッセージの正当性のみならずその完全性も保護することができる。
【００２３】
本発明の一つの実施の形態によれば、応答時間測定のための通信とセキュリティ目的のための通信をタイムリーに分離することによって、リーダとトランスポンダとの間の接続が正当かどうか（即ちその接続が改ざんされているかどうか）資格検査を高い確度で実行することができる利点が得られる。換言すれば、アタック、特にリレーアタックが高い確率で検出できる。これは、暗号化処理に必要とされる時間をトランスポンダの応答時間の測定から分離することによって達成することができる。更に、応答時間測定セクション中のリーダとトランスポンダとの間の通信を後で認証のために使用されるコードの送信のために共用することができる。これは帯域幅の極めて効率的な利用を可能にし、高速の初期化フェーズを可能にする。更に、このようなコードを交換することによって、このようなコードは２つのエンティティの一方でのみ生成すればよく、両エンティティにおいてこのようなコードを並列に生成することが不要になるため、システムの計算負荷が減少する。例えば、応答時間の測定のためにリーダに直ちに応答することを要求するトランスポンダからリーダへの第１のコマンドと一緒に次の暗号化認証のために使用されるコードの一部分として乱数を送信することができる。
【００２４】
本発明のいくつかの実施の形態は以下の更なる利点を有する。
例えば、このようなシステムは大量輸送機関に適用することができるが、自動車のキーレスエントリシステムにも、その他の多くの用途にも適用することができる。
【００２５】
対応する通信システムは、例えば所定の位置においてのみ消費されなければならないＥＲＡＭ保護コンテンツに適用することができる。
【００２６】
対応する通信システムは、例えば家にいなければならない仮釈放中の囚人に適用することができる。
【００２７】
従って、本発明のいくつかの実施の形態はリーダとトランスポンダとの間の接続の正当性を決定する適切な解決策を提供する。
【００２８】
以下に、リーダの更なる模範的な実施の形態について説明する。しかし、これらの実施の形態はトランスポンダにも、方法にも、プログラム素子にも、コンピュータ読み取り可能な媒体にも適用される。
【００２９】
一つの模範的な実施の形態によれば、リーダは、前記リーダから前記トランスポンダへの第１のコマンドの送信と、前記第１のコマンドに応答して前記トランスポンダから返送される第１の乱数の受信との間の応答時間を測定するように設計することができる。換言すれば、応答時間はトランスポンダがリーダの問い合わせに対して応答を送信するのに要する時間を示すものとすることができる。リーダがこのような時間間隔を測定するとき、トランスポンダが第１の乱数を送信するのに要する時間を評価することができる。リレーアタック問題（アタックのために追加の伝送路を含む）の場合には、この時間は所定のしきい値より長くなる。トランスポンダが、応答時間の測定との関連で、第１の乱数をリーダへ送信する前に暗号化しないとき（暗号化による遅延は予測されない）、リーダとトランスポンダとの間のメッセージの伝播に加わる追加の遅延は極めて高い確実性でリレーアタックに起因するものと推測される。このような追加の遅延がないとき、リーダはトランスポンダとの通信が正当であると判定することができる。特に、第１の乱数がリーダにより（第１のリクエストに応答して）平文で又は暗号化されてない形態で受信されるシナリオでは、トランスポンダの応答時間はリレーアタックの有無を決定する適切な目安を提供する。例えば、測定された応答時間が所定のしきい値より小さい場合には、トランスポンダとリーダとの間の接続は正当と分類することができる。
【００３０】
更に前述の実施の形態に関連して、前記リーダは、応答時間を測定するために前記第１の乱数を受信した後に前記トランスポンダから受信される前記第１の乱数の暗号（即ち第２のリクエストに応答して前記トランスポンダからリーダへ暗号化された形態で送信される前記第１の乱数）が、応答時間の測定のために受信された前記第１の乱数と一致するかどうかの検査に基づいて前記トランスポンダを認証するように設計することができる。換言すれば、第１のコマンドに応答して送信された第１の乱数を第２のコマンドに応答して送信される第１の乱数（トランスポンダからリーダへ暗号化されて送信される第１の乱数の復号化後）と比較することができる。このように、一つの同じ乱数が最初に応答時間の測定のためにのみ暗号化なしで送信され、次に認証目的のために暗号化されて送信されるため、応答時間の測定を認証検査から分離することができる。
【００３１】
好適な実施の形態では、リーダは、前記応答時間を、第１のコマンドを第２の乱数と一緒に前記トランスポンダに送信する送信と、前記第１のコマンドに応答して前記トランスポンダから返送される第１の乱数の受信との間の時間間隔として測定するように設計することができる。換言すれば、リーダは、第１のリクエストと一緒に、第１の乱数をと経同時に送信することができ、この第２の乱数は次に以下の２つの目的のうちの少なくとも一つのために利用することができる。一つの目的は、受信した第２の乱数はトランスポンダにより、将来のセッションにおいてトランスポンダが使用できる第３の乱数を導出するために使用できることにある。第２の目的は、リーダからトランスポンダへ送信されたこの第２の乱数は、以下に説明さえるように、（第１の乱数に加えて）認証の目的のためにも使用できることにある。
【００３２】
つまり、リーダ装置は、応答時間を測定するために前記第１の乱数を受信した後に前記トランスポンダから受信される前期第２の乱数及び前記第１の乱数の暗号が、応答時間の測定のために受信された前記第１の乱数及び第２の乱数と一致するかどうかの検査に基づいて前記トランスポンダを認証するように設計することができる。このシナリオでは、リーダは第２の乱数を応答時間の測定に関連してトランスポンダへ送信することができる。その後、トランスポンダは認証メッセージをトランスポンダに予め格納されている第１の乱数及びリーダから受信した第２の乱数と一緒に暗号化する。両乱数は一緒に特定の鍵（リーダにも知られている）で暗号化することができる。これにより、トランスポンダを安全に特定することが可能になり、同時に正当なトランスポンダのみがリーダと通信し、よってリレーアタック問題が高い安全度で除去される。
【００３３】
リーダは、応答時間が所定の時間窓（例えば所定のしきい値時間より小さい）内にあること及びトランスポンダからリーダへ暗号化された形態で送信された第１の乱数（及びオプションとして付加される第２の乱数）の一致が得られることを決定するとき、トランスポンダへの接続を正当と判定するように設計することができる。従って、トランスポンダとリーダとの間の接続を正当と受諾するためには２つの基準の論理ＡＮＤ回路が必要になる。第１の基準は、第１のコマンドに応答するトランスポンダの時間間隔が所定のしきい値より短いことである。この基準はリレーアタック問題を排除することができる。第１のレスポンスの送信はトランスポンダによる処理負荷又はタスクを少しも必要とすることなく実行されるため、実際の送信時間はトランスポンダとリーダとの間の伝送路の長さの正確な尺度になり、リレーアタック問題の発生時に大きく変化される。第２の基準は、第１のコマンドに応答した同じトランスポンダが、第１の乱数（トランスポンダに格納されている）及び第２の乱数（第１のコマンドと一緒にリーダにより送信される）により形成できる暗号化されたパスワードも供給する
【００３４】
リーダは、認証のためのデータ及び／又はトランスポンダとの近接検査のためのデータを複数の通信メッセージに分割して交換するように設計することができる。従って、認証情報のすべて又は（例えば応答時間測定による）近接検査情報のすべてをリーダとトランスポンダとの間で交換される単一メッセージに含める必要はない。これと対照的に、対応するコードを異なる区分に分割し、それらをリーダからトランスポンダへ又はその逆に送信される異なる通信メッセージにより送信することができる。例えば、近接検査を正確な時間情報を得るために複数の部分に分割することができる。
【００３５】
リーダは、巡回冗長検査（ＣＲＣ）のない第１のコマンド（第２の乱数を含むことができる）を送信するように設計できる。このコンセプトは、リーダからタグへ通信されるデータセクションの終りに付加されるＣＲＣに依存するＩＳＯ１４４４４−４と比較して根本的に異なるアプローチである。本発明の実施例は、誤り訂正のために、タグからリーダへ送信されるレスポンスメッセージにＣＲＣを付加することができる。このＣＲＣは、通信の歪が生じなかったことを決定するリーダの目的のために、第１のコマンド（第２の乱数を含む）及びレスポンス（第１の乱数を含む）を含むことができる。
【００３６】
次に、トランスポンダの他の模範的な実施例を説明する。しかし、これらの実施例もリーダ、方法、プログラム素子及びコンピュータ読み取り可能な媒体に適用される。
【００３７】
トランスポンダは、応答時間の測定のために、トランスポンダから受信される第１のコマンドに応答して第１の乱数をリーダに送信する。この第１の乱数はトランスポンダからリーダへ、暗号化されてない（平文）形態で送信することができる。この手段を採用することによって、リーダによるコマンドの送信とトランスポンダからのレスポンスの受信との間の時間間隔の測定がトランスポンダにより実行される暗号化処理により人工的に遅延されないようにすることができる。なぜなら、このような暗号化処理の実行は応答時間を人工的に増大し、リーダとの正当なトランスポンダ通信の正規のレスポンスとリレーアタック問題の存在とを区別不能にするためである。従って、第１の乱数を暗号化されてない形態で送信することは正当性に関する決定の信頼性を増大することができる。
【００３８】
詳しくは、トランスポンダは、応答時間の測定のために、遅延されない第１の乱数をリーダに送信するように設計できる。従って、トランスポンダは、第１のコマンドに応答する第１の乱数の送信が追加の処理などのための遅延の付加なしにできるだけ早く生じるように構成することができる。これにより、リレーアタック問題のないことを高信頼度に検出する確率を高めることができる。
【００３９】
トランスポンダは、第２の乱数を含む第１のコマンドに応答して第１の乱数を送信するように設計できる。従って、第１のコマンドは第２の乱数を含み、これを第１の乱数を含むレスポンスを返送するためのトランスポンダのトリガとして使用することができる。例えば、第１の乱数をリーダに送信した後、トランスポンダは第２の乱数に基づいて第３の乱数を生成し格納して、将来のセッションにおいて第１の乱数の代わりとすることができる（セッションはカードがリーダの無線範囲から再び出るまで続く）。例えば、第２の乱数はトランスポンダに格納し、所定のアルゴリズムを第２の乱数に提供して第３の乱数を計算することができる。この処理はすべて、第１の乱数をリーダへ返送した後、即ちトランスポンダが自由な処理能力を有する期間に実行することができる。この処理は、トランスポンダとリーダ装置との間の通信のための別のセッションのために第１の乱数を更新させて、応答時間の測定及び認証のためにトランスポンダとリーダとの間で交換される乱数の変更によって安全性を更に高めることができる。
【００４０】
トランスポンダは、第１のコマンドの送信後に送信されるトランスポンダからの第２のコマンドの受信後に第１の乱数の暗号を送信するように設計できる。従って、第２の乱数は、リーダがトランスポンダから第１の乱数を暗号化されてない形態で受信した後にリーダにより送信することができる。
【００４１】
しかし、第１の乱数と第２の乱数の組み合わせの暗号化をトランスポンダで実行するとき、これは、トランスポンダがリレーアタック問題を排除するのに十分高速に応答しないけれども、現在通信中のトランスポンダはこのような通信に対して認証されることをリーダに保証する。なぜなら、これは第１及び第２の乱数と暗号化鍵の両方を知らなければならないからである。
【００４２】
第１及び第２の乱数の両方を含む暗号化された通信メッセージの受信時の認証に対して、リーダは２つの機会がある。第１の機会は、トランスポンダから得られた第１及び第２の乱数を含む暗号化された通信メッセージを復号化し、復号化された第１及び第２の乱数をリーダのメモリに格納されている第１及び第２の乱数と比較することである。即ち、リーダはトランスポンダからの第１の応答で第１の乱数を既に受信している。更に、リーダは第２の乱数を第１のコマンドと一緒に既に送信しているので、リーダは既に第２の乱数を知っている。第２の機会は、リーダが既知の第１及び第２の乱数をトランスポンダにも使用される既知の鍵で暗号化する。次に、リーダによりこのように暗号化された通信メッセージをトランスポンダから得られる第２のレスポンスと比較する。
【００４３】
トランスポンダは、リーダと交換した通信メッセージを解析して、トランスポンダがリーダの近くにあるかを決定し、トランスポンダがリーダの近くにないと決定するときトランスポンダとの通信を終了させるように設計できる。従って、リーダがリーダとトランスポンダが十分に近接しているか（例えばリーダとトランスポンダとの間の距離が閾値より小さいか又は応答時間がしきい値より小さいか）を解析するのみならず、トランスポンダが十分な近接に関する所定の基準が満足されるかどうかの検査を実行することもできる。近接検査検証（ＶＰＣ）メッセージ及びレスポンスは双方が近接の決定を可能にする（リーダは時間測定を行うとともにトランスポンダが何を受信し何を送信するか検査し、トランスポンダはそれが何を受信しリーダが何を受信するかを検査する）。
【００４４】
トランスポンダ、認証のためのデータ及び／又はリーダとの近接検査のためのデータを複数の通信メッセージに分割して交換するように設計することができる。従って、認証情報のすべて又は（例えば応答時間測定による）近接検査情報のすべてをリーダとトランスポンダとの間で交換される単一メッセージに含める必要はない。これと対照的に、対応するコードを異なる区分に分割し、それらをリーダからトランスポンダへ又はその逆に送信される異なる通信メッセージにより送信することができる。例えば、近接検査を正確な時間情報を得るために複数の部分に分割することができる。
【００４５】
トランスポンダは、第１の乱数を巡回冗長検査（ＣＲＣ）と一緒にリーダへ送信するように設計できる。コマンドも含むレスポンスにＣＲＣを付加することによって誤り回復を実行することができる。ＣＲＣはRAC1コマンド、乱数#１及び乱数#２に基づいて計算することができる。
【００４６】
トランスポンダは、トランスポンダとリーダとの間の通信のタイミング、特に速度を示す情報と一緒に前記暗号を送信するように設計できる。このような情報は通信相手間の動作速度を示す。対応するデータ区分をリーダとトランスポンダとの間で交換される通信メッセージに含めることができ、ＰＰＳＥデータフィールドとして示すことができる。リーダはこのデータを用いてトランジスタとの通信を停止させることができる。
【００４７】
トランスポンダは、それが動作する周波数を検出し、その周波数が境界を越えたときその周波数を制限してリーダとの通信を停止させるように設計できる。これは残存リレーアタック窓を増大させないために実行することができる。
【００４８】
トランスポンダコマンドに対するレスポンスはRndR（レスポンス乱数）のうちのいくつかのバイトのみを含むことができ、オプションとしてＣＲＣを含むことができる。トランスポンダコマンドはＣＲＣを含まない。別の実施例では、これは、トランスポンダコマンドが部分RndRで拡張されて受信されたとき、トランスポンダから送信される部分RndRにトランスポンダコマンド（乱数を含む）に基づくＣＲＣが後続されるように変更することができる。元リーダは通信エラーを検出し、そのエラーから回復させることはできないため、近接検査は通信エラー後に失敗にされ、トランスポンダはフィールド外又は非選択状態にしなければならない。トランスポンダコマンドに基づくＣＲＣは、残存リレーアタック窓を広げるので、実行すべきでない。後者の実施例では、リーダが通信エラーを検出できるようにし、エラーを検出した場合には（もちろん新しいチャレンジ乱数RndC及びレスポンス乱数RndRを用いて）近接検査の動作を再開することができるようにする。
【００４９】
各乱数は擬似乱数又は真の乱数とすることができる。擬似乱数と対照的に、真の乱数はその発生基準と無関係に生成される数である。暗号目的のために、物理的測定に基づく数を乱数とみなすことができる。擬似乱数は検出可能パターンをできるだけ少なくした数であるが真の乱数ではない。コンピュータプログラムは真の乱数を生成できないために擬似乱数を生成している。乱数生成器はトランスポンダ／リーダの一部分とすることができる。
【００５０】
乱数及び鍵のいずれも数字に任意の列、文字の任意の列又は英数字コードの任意の列とすることができる。
【００５１】
本発明の実施例はトランスポンダ、特にスマートカード及びＲＦＩＤに関連する。明瞭のために、本明細書は主としてスマートカードに関して説明されているが、本発明の実施例はＲＦＩＤタグ及び一般にトランスポンダ並びに一般に有線又は無線接続を介して通信するデバイスに等しく関連することは当業者に明らかである。
【００５２】
本発明のこれらの及び他の実施例は以下に記載される実施例について説明され、明らかにされる。
【図面の簡単な説明】
【００５３】
【図１】リレーアタックの原理を示す。
【図２】本発明の模範的な実施例によるリーダ及びトランスポンダ間のメッセージフローを示す。
【図３】本発明の実施例を使用できる模範的な分野を示す。
【図４】本発明の模範的な実施例による通信システムを示す。
【図５】本発明の別の模範的な実施例によるリーダ及びトランスポンダ間のメッセージフローを示す。
【発明を実施するための形態】
【００５４】
本発明を図面に示す実施例を参照して以下に詳細に説明するが、本発明はこれらの実施例に限定されない。図は概略図である。種々の図において、同一もしくは類似の素子は同じ符号で示されている。
【００５５】
本発明の模範的な実施例はトランスポンダ／リーダシステムのリレーアッタクを防止することができる。
【００５６】
以下に、図１を参照して、リレーアタックとは何かを説明する。
この目的のために、トランザクションに予定された近接近位置よりは離れて位置するセキュア素子を用いるトランザクションを考察する。
【００５７】
図１は、トランスポンダ１２０と正当なリーダ１４０が近接近位置にあるノーマル動作を表す第１のシナリオ１００を示す。トランスポンダ１２０は、例えばスマートカード又はＮＦＣ（ニアフィールド通信）フォンとすることができる。
【００５８】
図１は、リレーアタックの存在を表す第２のシナリオを示す。トランスポンダ１２０及びリーダ１４０に加えて、侵入者１６０の第１の通信装置及び侵入者１７０の第２の通信装置がトランスポンダ１２０及びリーダ１４０間の通信路に侵入している。追加の通信装置１６０，１７０の存在はトランスポンダ１２０及びリーダ１４０間の通信時間を増大させる結果を生じるが、通信装置１６０，１７０はトランスポンダ１２０又はリーダ１４０を不所望に動作させることが通常起こり得る。
【００５９】
リレーアタックは、これらの装置１６０，１７０が鍵を知らなくてできる。リレーアタックは、ユーザ操作（例えば大量輸送機関へのアクセス）が必要とされることなくトランザクションを行うことができる場合に特にうまくいく。例えば、満員のバス又は地下鉄内では、アタッカはリーダとして作用する侵入装置１６０，１７０に応答するトランスポンダを所持する誰かを容易に見つけ出すことができる。携帯電話１６０又は１７０により地下鉄の改札口にいる電話を所持する他の誰かに知らせることができる。そして、他の誰かが地下鉄に乗車でき、バス内の誰かが料金を支払うことになる。このようなリレーアタックは例えば大量輸送機関に適用可能であるが、自動車のキーレスエントリシステムにも適用可能である。
【００６０】
しかしながら、上記のシステムはリレーアタックを首尾よく防止するために本発明の実施例を使用できる一例にすぎない。リレーアタックをしようとする侵入者のシナリオの代替例として、本発明の模範的な実施例は、サービスが近接位置での使用にのみ予定されているものの、別のシステムにおいてそのサービスを遠隔使用しようとする正当なユーザに適用することもできる。例えば、所定の場所でのみ消費されるＤＲＭ保護コンテンツ又は家にいなければならない仮釈放中の囚人に適用される。従って、本発明の模範的な実施例は極めて様々な技術的シナリオに適用可能である。
【００６１】
本発明の模範的な実施例の狙いは、トランスポンダの応答時間を測定することにある。リレーアタックはその実行に若干の時間を要する。リーダは、その時間が標準より長いこと（許容範囲外）を検出するとき、リレーアタックが開始されたと決定することができる。トランスポンダも同じことを実行できる。
【００６２】
しかしながら、このようなシナリオは、アタックされないシステムのレスポンスが到来しうる時間窓が存在する問題を生じる。（一つのシステム内又はシステム間における）システム動作の大きな変動を収容するためにこの時間窓が大きい場合には、高速システムはアタックを開始する時間を残すことになる。本発明の模範的な実施例による解決法は、時間窓を最も速いリレーアタックの追加時間よりも小さくする。従って、リレーアタック窓はできるだけ小さくする必要がある。
【００６３】
図２は本発明の模範的な実施例が実装されている通信システムを示す。図４にも、リーダが参照番号４２０で示され、トランスポンダが参照番号４４０で示されている。図２は、更に、トランスポンダ４４０のセキュア部分２０５とトランスポンダ４４０のモデムチップ又は機能部２１０とを区別している。リーダ４２０はリーダチップ部２１５と特定アプリケーション部２２０の組み合わせとみなせる。図２の水平方向に沿って、トランスポンダ４４０及びリーダ４２０からなる通信システムにおけるイベントが示されている。図２の垂直方向に沿って、時間がプロットされている。
【００６４】
図２は本発明の一実施例がどのように動作するかを詳細に示す。
ステップ０において、リーダ４２０は、それ自体周知のアンチコリジョンプロシージャ後に、次の通信のために無線レンジ内のトランスポンダの一つを選択する。トランスポンダ４４０では、第１の乱数RANDOM#1を、リレーアタックチェックRAC1の第１部分に対するコマンドが到達するときに備えて、書き込みバッファに格納する。
【００６５】
ステップ１において、アプリケーション２２０（例えばリーダチップ２１５に接続されるマイクロコントローラ上に位置する）がリレーアタックチェックRAC1の第１部分に対するコマンド及び第２の乱数RANDOM#2をリーダチップ２１５に送信する。リーダチップ２１５は更に処理することなくこのデータをトランスポンダ４４０のチップ２１０に送信する。
【００６６】
ステップ２において、カード４４０はステップ0においてカードチップに格納された第１の乱数RANDOM#1を直ちにリーダ４２０に返送する。
【００６７】
ステップ３において、第２の乱数RANDOM#2がトランスポンダ４４０の暗号プロセッサ２０５に送信され、暗号プロセッサ２０５はこの数を第３の乱数RANDOM#3を生成するためのベースとして受け取る。この第３の乱数RANDOM#3は次にリーダ４２０の次のリクエストのために格納される（このとき第１の乱数RANDOM#1は上書きされる）
【００６８】
ステップ４において、アプリケーション２２０がリレーアタックチェックRAC2の第２の部分に対するコマンドを送信する。このコマンドはトランスポンダ４４０の暗号プロセッサ２０５にトランスパレントに転送される。
【００６９】
ステップ５において、暗号プロセッサ２０５が第１の乱数RANDOM＃１及び第２の乱数RANDOM#2を暗号化し、その結果MAC(RANDOM#1,RANDOM#2)をリーダ４２０に返送する。
【００７０】
ステップ６において、アプリケーション２２０が受信データをトランスポンダ４４０により使用されたものと同じ鍵で復号化するか、あるいは、第１の乱数RANDOM#1及び第２の乱数RANDOM#２を同じ鍵で再度暗号化する。本発明の実施例は対称鍵暗号化に限定されないことに留意すべきである。公開鍵基盤又は同様のものを用いてＭＡＣを実行することもできる。この場合には、アプリケーション２２０は前に送信した第２の乱数RANDOM#2と前に受信した第１の乱数RANDOM#1が一致するかどうかを検査する。
【００７１】
ステップ７において、第１の乱数RANDOM#1が専用の時間窓内に受信されたかどうか及びトランスポンダ４４０が有効に認証されたかどうかの検査が行われる。両条件が真であれば、
(a) 第１の乱数RANDOM#1は正当な時間枠内に受信されたため、及び
(b) 第１の乱数RANDOM#1は間違いなく正当なトランスポンダ４４０から到来したものであるため、
リーダ４２０とトランスポンダ４４０との間の接続は改ざんされてない。
【００７２】
複雑な計算が必要とされないため、ステップ２はステップ１に直ちに続けることができる。更に、応答時間が包括的な暗号化プロシージャの場合に起こり得る有意のジッタを受けることもない。従って、有効時間窓は極めて小さくすることができる。時間を要する認証プロシージャは「励起なしで」ランすることができる。従って、応答時間の測定と認証プロシージャが完全に分離される。
【００７３】
以下において、いくつかの更なる考察について説明する。
本発明の一実施例はチャレンジ−レスポンスプロトコルに基づいているが、チャレンジに基づくレスポンスを計算するのに時間を要しない。
【００７４】
タイミングは、送信されるメッセージRAC1と受信される乱数に基づいて正確に決定することができる。
【００７５】
チェーン内には低ジッタを有するコンポーネントが存在するのみである。従って、残存リレーアタック窓を極めて小さくすることができる。
【００７６】
メッセージの偽造を検出するために、ＭＡＣ化された乱数#1及び乱数#2が送信される。レスポンスはＳＡＭ又はアプリケーション２２０により検査される。
侵入者はＭＡＣを計算することはできない。
【００７７】
RAC2コマンドは原理的には不要である。ＭＡＣ化された乱数#1及び#2はリクエストなしでも送信できる。
【００７８】
プロトコルはセッション中にリレーアタックチェックを複数回実行すること（従って乱数#3）を可能にする。再検査が不要な場合には、これは除外できる。しかし、他のアプリケーションのために、例えば装置の正当な所有者がサービスを利用している間近くにいる必要がある場合、周期的な再検査を実行できる。
【００７９】
偽造不能なクロックは、例えば携帯電話及びリーダに対して正当な前提である。しかし、非接触型カードに対して、又は例えば携帯電話において、例えば電池が低下しているときも機能させる必要があるために正確なクロックが得られないとき、このことが問題になり得る。そのような場合には、カードはリーダクロックに同期することができ、リーダはもっと高速に動作するように改ざんされたリレーリーダとすることができる。
【００８０】
侵入者がカードを例えば２倍の速度で動作させることができるならば、カードはレスポンスを予想では約８０μｓ後に送信されるが、実際には４０μｓ後になる。リレーアタック窓は約８０μｓ−40μｓ＝40μｓになる。このようなシナリオに対する解決策は、カードが周波数範囲外で動作するときカードをスイッチオフする周波数センサをカード内に設ければよい。
【００８１】
図３は通信システムの２つの異なる実施例を示す。
【００８２】
参照番号３００で示される第１の実施例では、カード又は携帯電話は例えば大量輸送基盤と相互作用する。
【００８３】
参照番号３５０で示される第２のシナリオでは、カード又は携帯電話は携帯電話と相互作用する。
【００８４】
このようなシステムの特性は、図３に示されるように、有線及び信頼可(Wired & Trusted)、無線及び信頼不可(Wireless & Un-trusted)、及び有線及び信頼可(Wired & Trusted)、と分類できる。
【００８５】
以下において、図４を参照して、本発明の模範的な実施例による通信システム４００を説明する。
【００８６】
通信システム４００は図２に示すシナリオに類似し、リーダ４２０及びトランスポンダ４００を備える。
【００８７】
リーダ４２０は送信アンテナ４２４及び受信アンテナ４２６と通信可能に結合されたプロセッサ４２２（例えばマイクロプロセッサ又は中央処理装置）を備える。送信アンテナ４２４は通信メッセージ４２８をトランスポンダ４４０に送信することができる。受信アンテナ４２６はトランスポンダ４４０からの通信メッセージ４３０を受信することができる。送信アンテナ４２４及び受信アンテナ４２６は図４では２つの異なるアンテナとして示されているが、代替実施例は単一の共通共用トランシーバアンテナを使用することもできる。
【００８８】
アンテナ４２４，４２６はプロセッサ４２２と電気的に結合されているため、プロセッサ４２２からのデータを通信メッセージ４２８として送信するために送信アンテナ４２４に送ることができる。また、受信アンテナ４２６により受信された通信メッセージ４３０はプロセッサ４２２により解析し処理することができる。
【００８９】
プロセッサ４２２のためのアクセス可能なデータを格納できるように半導体メモリのような記憶装置４３２がプロセッサ４２２と結合されている。更に、ユーザがリーダ装置４２０を操作できるようにする入力／出力装置４３４が示されている。入力／出力装置４３４は、ボタン、キーボード、ジョイスティックなどの入力素子を備えることができる。コントローラのような入力素子を介して、ユーザはコマンドをリーダ装置４２０に入力することができる。更に、入力／出力装置４３４はリーダ装置４２０の読み取り処理の結果をユーザに視覚表示できる液晶ディスプレイなどのディスプレイ装置を備えることができる。
【００９０】
図４からさらにわかるように、トランスポンダ４４０は送信及び受信アンテナ４３６、マイクロプロセッサのようなプロセッサ４４２及びメモリ４３８を備える。一実施例では、メモリ４３８及びプロセッサ４４２は、アンテナ４３６に接続でき且つ支持体４４４（例えば布片）に付着できる集積回路（ＩＣ）にモノリシック集積することができる。
【００９１】
通信メッセージ４２８，４３０はエンティティ４２０，４４０の間で無線方式で交換することができる。
【００９２】
リーダ４２０とトランスポンダ４４０との間の接続の正当性を決定する（即ち、リーダ４２０とトランスポンダ４４０との間の接続が正当であるか否かを決定する）ために、リーダ４２０は最初に第１のコマンド（図２にRAC1として示されている）を第２の乱数（図２にRANDOM#2として示されている）と一緒にトランスポンダ４４０に送信する。この通信メッセージ（例えば図４の通信メッセージ４２８）の受信時に、トランスポンダ４４０は直ちに、第１の乱数（図２にRANDOM#1として示されている）を含む通信メッセージ４３０を平文で返送する。従って、トランスポンダ４４０は遅延も暗号化もせずに応答することができ、その結果リレーアタック窓を縮小することができる。通信メッセージ４２８が第２の乱数（図２にRANDOM#2として示されている）も含むとき、この数はメモリ４３８に格納され、トランスポンダ４４０とリーダ装置４２０のようなリーダ装置との間の後続の通信セッションのための新しい第１の乱数を導出するのに役立てることができる。リーダ装置４２０のプロセッサ４２２は受信した第１の乱数を後の使用のためにメモリ４３２に格納することができる。
【００９３】
次に、必要に応じ、リーダ４２０はトランスポンダ４４０に更なる通信メッセージを今度は暗号化された形で送信するよう要求する更なる第２のリクエストをトランスポンダ４４０に送信することができる。しかし、トランスポンダ４４０はその動作時に第２の通信メッセージをリーダに送信するようにすることもできるため、このような更なるリクエストは省略することができる。この第２の通信メッセージは第１の乱数及び第２の乱数（RANDOM#1及びEANDOM#2として示されている）を暗号化またはＭＡＣ化された形で含むことができる。受信された数（第１及び第２の乱数を含む）をプロセッサ４２２により復号化することによって、トランスポンダ４４０から送信された第１及び第２の乱数をメモリ４３２に格納されている第１及び第２の乱数と比較することができる。ＭＡＣが使用される場合には、プロセッサ４２２は同じメッセージに基づいてＭＡＣを計算し、その結果を受信されたＭＡＣと比較する。
【００９４】
第１のリクエストに対する応答時間が所定のしきい値より小さいとともに、第２のレスポンスとともにトランスポンダ４４０により送信された第１及び第２の乱数とメモリ４３２に格納されている対応する第１及び第２の乱数とが正しく一致するシナリオにおいてのみ、リーダ４２０とトランスポンダ４４０との間の通信が正当として受諾される。
【００９５】
当業者は、模範的な実施例によるトランスポンダ、リーダ及び方法は非接触型データ伝送にのみ限定されず、有線通信にも適用できることに留意すべきである。
【００９６】
一実施例では、近接検査はチャレンジ−レスポンスインタラクションの往復時間を測定することによって実行される。アタッカがリレーアタックをしかけたい場合、必然的に遅延が導入される。この遅延はどのくらい大きいかに応じて検出できる。この時間測定及び残存リレーアタック窓の精度は、ＰＣＤ（即ちリーダ）の非接触フロントエンド（ＰＣＤ−ＣＬＦ）、つまりＰＣＤの非接触通信を管理する部分及びＰＤ（即ちトランスポンダ）のＣＬＦの実施により決まる。携帯電話によるリレーアタックの開始はこの実施により対抗することができる。この検査は単一のコマンド及び単一のレスポンスで行うことができるが、記載したプロトコルは少なくとも３つのコマンド−レスポンス対を用いる。ＰＤ側における乱数の実際の生成及び暗号計算はレスポンスを返送する時間よりも長い時間を要し得る。それゆえ、これらの３つの要素は次の３つに分離される。
【００９７】
１．     ＰＤにより乱数を生成させ、それが終わる前にレスポンスを送信させない。
２．     チャレンジ乱数が到着したとき、レスポンス乱数で応答させる。ＰＣＤはこのステップを複数のチャレンジ−レスポンス対に分割することができる。
３．     これらの数が改ざんされてないことを確かめるために暗号検査を実行させる。
【００９８】
図５は、本発明の模範的な実施例によるリーダ４２０とトランスポンダ４４０との間のメッセージフローを示す。
【００９９】
図５は近接検査プロトコルの概略図を示し、近接検査中に交換されるメッセージの例を示す。
【０１００】
最初に、ＰＤは近接検査準備（ＰＰＣ）コマンドを送信する。このコマンドはＰＤに７バイトの乱数を準備するように命令する。ＰＰＣコマンドはコマンドコードのみからなる。ＰＤは例えばサクセスリターンコードで応答することができる。その後、ＰＣＤは近接検査（ＰＣ）コマンドを７バイトの乱数チャレンジの一部又は全部と一緒に送信する。ＰＣＤは全７バイトの数を１度に１バイトずつ送信できる。このコマンドにおいては、通常ＩＳＯ１４４４３−４により規定されているＣＲＣは随意的に省略されている。最終ビットの送信直後に、ＰＣＤはタイマを開始することが推奨される。次に、ＰＤは、ＩＳＯ１４４４３−４が許可する最も早い正確な適切な時点、即ち最小フレーム遅延時間後に、準備した乱数レスポンスの等長部分で応答しなければならない。このレスポンスはリターンコードなしで送信される。ＩＳＯ１４４４３−４により規定されるフィールドのすべてもこのレスポンスでは省略される。
【０１０１】
ＰＣＤは、ＰＤレスポンスの最初のビットを受信すると同時にタイマを停止する。測定時間はチャレンジ乱数の送信とレスポンス乱数の受信との間の時間、即ち最小フレーム遅延時間（ＦＤＴ）と往復時間（ＲＴＴ）の和である。
【０１０２】
乱数の一部分をチャレンジ−レスポンス対として送信するこのプロシージャはＰＣＤにより７つのバイトが交換されるまで繰り返される。乱数をどのくらいのサイズに分割し、その結果いくつの近接検査コマンドをＰＣＤにより使用するかは自由に選択することができる。一実施例では、チャレンジ−レスポンス対の最大数は７つとすることができる。双方が７バイト乱数の受信部分を収集し、それらの受信順序を記憶する。
【０１０３】
実際にできることはＰＣＤ−ＣＬＦにより決まるため、最終ビットの送信後に時間を開始させ、最初のビットの受信後に時間を停止させることが推奨できる。異なる時間測定技術、従って異なる残存リレーアタック窓に対して異なるＰＣＤ−ＣＬＦの異なる実施が可能である。以下の推奨動作方法に高精度の時間測定を加えると最小残存リレーアタック窓が得られる。
【０１０４】
測定時間は所定のしきい値と比較される。所定のしきい値は、非接触基盤オペレータによって、ＰＣＤ−ＣＬＦで可能な時間測定の精度及び残存リスクの評価に基づいて選択される。ＰＣＤは各近接検査コマンド後の測定時間を検査する（又はしきい値を超えるとタイムアウトするタイマを用いる）ことができ、また測定された最大時間を記憶し、終了時にのみ検査を行うこともできる。しきい値が超過される場合、近接検査プロトコルは失敗になる。
【０１０５】
全ｎバイト（例えば７バイト）の乱数チャレンジが近接検査コマンドとともに処理されると、ＰＣＤは近接検査検証（ＶＰＣ）コマンドを送信する。このコマンドは全7バイトの乱数及びＰＤ及びＰＣＤの動作速度に関する情報（ＰＰＳＥバイトに格納される）に基づくＭＡＣを含むため、侵入者はカードをＩＳＯ標準で許された速度と異なる速度でカードを動作させてアタックをかける時間を得ることはできない（なお速度に関する他の検査も可能である）。ＭＡＣ入力に対する乱数の順序付けは近接検査コマンドの送信中と同一の分割を反映する。ＰＤは入力するＭＡＣを検証する必要がある。ＭＡＣ検証が失敗の場合には、ＰＤは以後の処理は（もう）受諾されない状態になることができる。
【０１０６】
本発明の模範的な実施例によれば、リーダ及びトランスポンダの全体的機能は、プロトコルフローが反対方向になるように逆転させることができる。これは明瞭に開示したシステムと等価な解決策であり、特許請求の範囲によりカバーされる。
【０１０７】
最後に、上述の実施例は例示であり、本発明を限定するものではなく、当業者は添付の特許請求の範囲で特定される発明の範囲を逸脱することなく多くの代替実施例を設計可能であるということに留意する必要がある。特許請求の範囲において、括弧内の符号は請求項の記載を限定するものと解釈されるべきではない。「具え」および「含む」などの単語は、請求項あるいは本明細書に列記されていない要素またはステップの存在を除外するものではない。単数形で述べる要素は複数の要素を除外するものではないし、その逆も成り立つ。いくつかの手段を列挙している装置請求項において、これらの手段のいくつかは、ハードウェアあるいはソフトウェアの同一の要素によって具現化できる。特定の手段が相互に異なる従属請求項に引用されているが、このことは、これらの手段の組合せが有利に使用できないことを示すものではない。
【図１】
2011523798.tif 000003
【図２】
2011523798.tif 000004
【図３】
2011523798.tif 000005
【図４】
2011523798.tif 000006
【図５】
2011523798.tif 000007
【国際調査報告】
2011523798.tif 000008
2011523798.tif 000009