(57)【要約】複数の異なるアプリケーションを格納した記憶装置（１０６）を備えるトランスポンダ（１０４）であり、該トランスポンダは、リーダ（１０２）のリクエストに応答して、該トランスポンダ（１０４）と前記リーダ（１０２）の双方が知っている暗号化スキームを用いて解釈可能なレスポンスを生成する処理装置（１０８）と、前記レスポンスを前記リーダ（１０２）に送信するように構成された送信装置（１１０）とを備え、前記リーダ（１０２）が、前記暗号化スキームを用いて前記レスポンスを解析することによりアプリケーションが当該トランスポンダ（１０４）によりサポートされているかどうかを決定することができるように構成されている、トランスポンダ。
2011519091.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なるアプリケーションを格納した記憶装置を備えるトランスポンダであって、
リーダのリクエストに応答して、当該トランスポンダと前記リーダの双方が知っている暗号化スキームを用いて解釈可能なレスポンスを生成し、その結果前記リーダが前記レスポンスを前記暗号化スキームを用いて解析することによってアプリケーションが当該トランスポンダによりサポートされるかどうかを決定することができるように構成された処理装置と、
前記レスポンスを前記リーダに送信するように構成された送信装置と、
を備えるトランスポンダ。
【請求項２】
前記処理装置は、アプリケーションの名前を乱数により拡張し、拡張された数を前記アプリケーションと関連する鍵で暗号化するように構成されている、請求項１記載のトランスポンダ。
【請求項３】
前記処理装置は、リーダから該リーダによりサポートされるアプリケーションを示すリクエストを受信するとき、該リーダによりサポートされるアプリケーションのどれが当該トランスポンダによってもサポートされるか検査し、該リーダ及び当該トランスポンダによりサポートされるアプリケーションを拡張し暗号化するように構成されている、請求項２記載のトランスポンダ。
【請求項４】
前記処理装置は、前記アプリケーションの名前を暗号化前に乱数及びチェックサムにより拡張するように構成されている、請求項２記載のトランスポンダ。
【請求項５】
前記処理装置は、当該トランスポンダによりサポートされないアプリケーションに対して、乱数を生成するように構成され、
前記送信装置は生成された乱数を前記リーダに送信するように構成されている、請求項１記載のトランスポンダ。
【請求項６】
前記処理装置は、当該トランスポンダによりサポートされないアプリケーションに対して、乱数を生成し、該乱数は当該トランスポンダによりサポートされるアプリケーションに対する符号化された数の長さと同一の長さを有する、請求項５記載のトランスポンダ。
【請求項７】
前記処理装置は、当該トランスポンダのアイデンティティを示す識別子を前記レスポンスに含めるように構成されている、請求項１記載のトランスポンダ。
【請求項８】
前記処理装置は、前記リーダによりサポートされる複数のアプリケーションの少なくとも一つを選択し、選択したアプリケーションを前記レスポンスに含めるように構成されている、請求項１記載のトランスポンダ。
【請求項９】
前記処理装置は、当該トランスポンダによりサポートされる複数のアプリケーション又はすべてのアプリケーションを、前記リーダによるサポートアプリケーションの一つの次の選択のための基礎として前記レスポンスに含めるように構成されている、請求項１記載のトランスポンダ。
【請求項１０】
前記処理装置は、メッセージ認証符号を含むように前記レスポンスを生成するように構成されている、請求項１記載のトランスポンダ。
【請求項１１】
前記処理装置は、前記メッセージ認証符号を含むレスポンスを、アプリケーションと関連する鍵と乱数、アプリケーションの名前と乱数、及びアプリケーションの名前と乱数と当該トランスポンダのアイデンティティを示す識別子からなる群のうちの一つの組み合わせに基づいて生成するように構成されている、請求項１０記載のトランスポンダ。
【請求項１２】
前記処理装置は、巡回冗長検査（ＣＲＣ）を含むように前記レスポンスを生成するように構成されている、請求項１記載のトランスポンダ。
【請求項１３】
前記処理装置は、前記巡回冗長検査（ＣＲＣ）を含むレスポンスを、乱数と当該トランスポンダのアイデンティティを示す識別子に基づいて生成するように構成されている、請求項１２記載のトランスポンダ。
【請求項１４】
前記処理装置は、符号化されたチェックサムを含むがアプリケーションの名前を含まないように前記レスポンスを生成し、前記リーダは、前記チェックサムに基づいて、アプリケーションが当該トランスポンダによりサポートされているかどうかを決定することができるように構成されている、請求項１記載のトランスポンダ。
【請求項１５】
当該リーダによりサポートされる複数のアプリケーションを表すリクエストをトランスポンダに送信するように構成された送信装置と、
前記トランスポンダから受信されたレスポンスを前記トランスポンダと当該リーダの双方が知っている暗号化スキームで解析するように構成された解析装置と、
前記暗号化スキームを用いて前記レスポンスを解析することによってアプリケーションが前記トランスポンダによりサポートされるかどうかを決定するように構成された決定装置と、
を備えるリーダ。
【請求項１６】
前記解析装置は、前記トランスポンダから受信される前記レスポンスをアプリケーションと関連する鍵で復号化して復号化された拡張数を導出するように構成された復号装置であり、
前記決定装置は、前記復号化された拡張数が前記アプリケーションの名前を含むかどうかを決定するように構成されている、請求項１５記載のリーダ。
【請求項１７】
前記送信装置は、前記リクエストを暗号化して送信するように、あるいは、前記リクエストを平分で送信するように構成されている、請求項１５記載のリーダ。
【請求項１８】
前記送信装置は、当該リーダによりサポートされる複数のアプリケーションと無関係に一定の長さを有する前記リクエストを送信するように構成されている、請求項１５記載のリーダ。
【請求項１９】
前記決定装置は、前記復号化された数が前記アプリケーションの名前を含まないことを決定するとき、アプリケーションが前記トランスポンダによりサポートされないと判断するように構成されている、請求項１６記載のリーダ。
【請求項２０】
前記決定装置は、前記レスポンスから前記トランスポンダのアイデンティティを示す識別子を取り出すことによって前記トランスポンダのアイデンティティを決定するように構成されている、請求項１５記載のリーダ。
【請求項２１】
前記決定装置は、前記レスポンスから、次の使用のために当該リーダによりサポートされ、選択される一つのアプリケーションを決定するように構成されている、請求項１５記載のリーダ。
【請求項２２】
前記決定装置は、次の使用のために前記トランスポンダによりサポートされる複数のアプリケーションの一つを選択し、選択したアプリケーションを前記トランスポンダに通知するように構成されている、請求項１５記載のリーダ。
【請求項２３】
前記決定装置は、前記レスポンスに含まれるメッセージ認証符号を解析することによって前記トランスポンダによりサポートされるアプリケーションを決定するように構成されている、請求項１５記載のリーダ。
【請求項２４】
前記決定装置は、前記レスポンスに含まれる巡回冗長検査を解析することによって前記トランスポンダによりサポートされるアプリケーションを決定するように構成されている、請求項１５記載のリーダ。
【請求項２５】
前記決定装置は、前記レスポンスに含まれるアプリケーションの名前を含まないチェックサムを解析することによって前記トランスポンダによりサポートされるアプリケーションを決定するように構成されている、請求項１５記載のリーダ。
【請求項２６】
リーダ及び／又はトランスポンダによりサポートされるアプリケーションを隠蔽する方法であって、該方法は、
前記リーダが前記トランスポンダにリクエストを送信するステップ、
前記トランスポンダが、前記トランスポンダと前記リーダの双方が知っている暗号化スキームを用いて、アプリケーションが前記トランスポンダによりサポートされるかどうかを示す解釈可能なレスポンスを生成するステップ、
前記トランスポンダが前記レスポンスを前記リーダに送信するステップ、及び
前記リーダが、前記暗号化スキームを用いて前記レスポンスを解析することによってアプリケーションが前記トランスポンダによりサポートされるかどうかを決定するステップを備える方法。
【請求項２７】
前記トランスポンダが、前記トランスポンダがサポートするアプリケーションの名前を乱数で拡張するステップ、及び
前記トランスポンダが、前記レスポンスを生成するために、拡張された数を前記アプリケーションと関連する鍵で暗号化するステップを更に備える、請求項２６記載の方法。
【請求項２８】
プロセッサで実行すると、請求項２６に記載された方法を実行又は制御するように構成された、リーダ及び／又はトランスポンダによりサポートされるアプリケーションを隠蔽するコンピュータプログラムが格納されているコンピュータ読み取り可能な媒体。
【請求項２９】
プロセッサで実行すると、請求項２６に記載された方法を実行又は制御するように構成されている、リーダ及び／又はトランスポンダによりサポートされるアプリケーションを隠蔽するプログラム素子。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の異なるアプリケーションを格納したトランスポンダ、トランスポンダから受信されるデータを復号するように設計されたリーダに関し、更にリーダ及び／又はトランスポンダによりサポートされるアプリケーションを隠蔽する方法に関する。更に、本発明はプログラム素子にも関する。更に、本発明はコンピュータ読み取り可能な媒体にも関する。
【背景技術】
【０００２】
リーダとトランスポンダ（特にスマートカード又はＲＦＩＤタグ）との間で伝送されるデータは、アタッカーがそのデータを取得し犯罪に使用できないようにするために暗号化される。この暗号化は個人データ、アカウントデータ、クレジットカード番号などに対して使用されること明らかである。最新のスマートカードはより多くのスマートカードをエミュレートすること、即ち多数の異なるアプリケーションをサポートすることができるため、サポートされるアプリケーションも隠蔽されなければならない。このカードのユーザは先験的に自明でない。しかし、多数のアプリケーション「ビザ」、「アメリカンエクスプレス」、「ウォルマート」、及び「サブウェイニューヨーク」をサポートするカードについて考察すると、このカードはアメリカ国民のものである可能性が極めて高いので、ユーザが明らかになる。この「烙印」によってそのユーザは容易にテロリストの標的になり得る。
【０００３】
以下において、通常の通信システムに関連するいくつかの更なる考察が記載される。
【０００４】
プライバシーは個人にも、所定の特性を共有する人々の集団（例えばアメリカ国民）にも関連し得る。プライバシーの保護が望まれる。
【０００５】
プライバシーは様々な経路でリークし得る。通常、コリジョン検出で使用されるカードのＵＩＤ(unique identifier)は簡単に読み取ることができる。従って、個人ユーザはいくつかの場所でスキャンされ得る。
【０００６】
従来利用可能な解決方法はランダムＩＤ（ＲＩＤ）を使用するものである。しかし、依然としてリーダ内の真性アプリケーションはどのカードとそれらが通信するかを知る必要があるため、ユニークカードロジカルＩＤ（ＵＣＬＩＤ）を必要とする。
【０００７】
カードがそのタイプ、ブランドなどを提示する際、これは害がないように見える。しかし、製造業者ＹのカードタイプＸはニューヨークサブウェイで使用され、多くの市民が持ち歩いているという知見から、このようなカードの所有者はニューヨーカである確率が高いことが明らかになる。
【０００８】
一つにアプリケーションに対する一つの鍵が破られると他のアプリケーションに対するプライバシーも破られることがないようにすることが望まれる。
【０００９】
特許文献１は、デバイスに登録された多数のデータセットの一つを選択する方法を開示している。この方法では各データセットが個別の鍵と関連し、この方法では交換情報をデバイス内で個別の一つの鍵を用いて暗号化し、暗号化された交換情報を遠隔デバイスに送り、遠隔デバイス内で遠隔デバイスに格納されている前記一つの鍵により復号化し、復号化された交換情報を前記デバイスに返送する。次に、交換情報を復号化された交換情報と比較する。両情報が等しい場合には、正しいデータセットが発見され、異なる場合には別の鍵を用いて上記のサイクルが再開される。前記デバイス及び前記遠隔デバイスの役割は、上記のサイクルが遠隔デバイスで開始されるように変更されてもよい。特許文献１はデバイスに登録された多数のデータセットの一つを遠隔デバイスに与える装置にも関する
【００１０】
しかし、上記の方法はかなり時間のかかる認証検査を使用している。そのうえこの方法はマルチアプリケーションリーダをサポートしない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際特許出願公開第２００６／００３５６２号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従って、本発明の目的はプライバシー保護動作し得るリーダ及び／又はトランスポンダを提供することにある。
【課題を解決するための手段】
【００１３】
本発明の目的は、独立請求項に記載されたトランスポンダ、リーダ、方法、プログラム素子及びコンピュータ読み取り可能な媒体により達成さえる。
【００１４】
一つの模範的な実施態様によれば、複数の異なるアプリケーションを格納した記憶装置を備えるトランスポンダが提供され、当該トランスポンダは、リーダのリクエストに応答して、当該トランスポンダとリーダの双方が知っている暗号化スキームを用いて解釈可能なレスポンスを生成し、その結果前記リーダが前記レスポンスを前記暗号化スキームを用いて解析することによってアプリケーションが当該トランスポンダによりサポートされるかどうかを決定することができるように構成された処理装置と、前記レスポンスを前記リーダに送信するように構成された送信装置とを備える。
【００１５】
もっと正確に言うと、一つの模範的な実施態様によれば、複数の異なるアプリケーション（例えば当該トランスポンダによりサポートされる一つ又は複数のアプリケーション）を格納した（リーダと通信可能に結合し得る）トランスポンダが提供され、該トランスポンダは、（例えばリーダからトランスポンダへ送信される通信メッセージによる）リーダのリクエスト時に、アプリケーションの名前を乱数（例えば真の乱数又は擬似乱数、この乱数はトランスポンダの乱数発生器により生成しても、トランスポンダの記憶装置に格納してもよい）で拡張し、拡張された数を前記アプリケーションと関連する鍵（この鍵はリーダも知ることができる）で暗号化又はＭＡＣ化し（即ちメッセージ認証符号（ＭＡＣ）を生成し）、暗号化された数を前記リーダに送信する。
【００１６】
別の模範的な実施態様によれば、リーダが提供され、該リーダは、該リーダによりサポートされる複数のアプリケーションを示すリクエストをトランスポンダに送信するように構成された送信装置と、前記トランスポンダから受信されたレスポンスを前記トランスポンダ及び該リーダの双方が知っている暗号化スキームで解析するように構成された解析装置と、前記レスポンスを前記暗号化スキームを用いて解析することによってアプリケーションが前記トランスポンダによりサポートされるかどうかを決定するように構成された決定装置とを備える。
【００１７】
別の模範的な実施態様によれば、（トランスポンダと通信可能に結合できる）リーダが提供され、該リーダは、トランスポンダから受信されたデータをアプリケーション（例えばトランスポンダによりサポートされる一つ又は複数のアプリケーション）と関連する（トランスポンダにも知られている）鍵で復号化し、前記復号化された数が前記アプリケーションの名前を含むかどうかを決定するように構成される。
【００１８】
更に別の模範的な実施態様によれば、リーダ及び／又はトランスポンダによりサポートされるアプリケーションを隠蔽する方法が提供され、該方法は、
前記リーダが前記トランスポンダにリクエストを送信するステップ、
前記トランスポンダが、前記トランスポンダと前記リーダの双方が知っている暗号化スキームを用いて、アプリケーションが該トランスポンダによりサポートされるかどうかを示す解釈可能なレスポンスを生成するステップ、
前記トランスポンダが前記レスポンスを前記リーダに送信するステップ、及び
前記リーダが、前記レスポンスを前記暗号化スキームを用いて解析することによってアプリケーションが前記トランスポンダによりサポートされるかどうかを決定するステップを備える。
【００１９】
もっと正確に言えば、更に別の模範的な実施態様によれば、リーダ及び／又はトランスポンダによりサポートされるアプリケーションを隠蔽する方法が提供され、該方法は、
前記リーダが前記トランスポンダにリクエストを送信するステップ、
前記トランスポンダが、それがサポートするアプリケーションの名前を乱数で拡張するステップ、
前記トランスポンダが、前記拡張された数を前記アプリケーションと関連する鍵で暗号化又はＭＡＣ化（メッセージ認証符号化）するステップ、
前記リーダが前記暗号化された拡張数を復号化する又は前記ＭＡＣを前記暗号化された拡張数に基づいて検証するステップ、及び
前記リーダが、前記復号化された又は検証された拡張数がアプリケーションの名前を含むかどうかを決定するステップを備える。
【００２０】
本発明の別の模範的な実施態様によれば、プログラム素子（例えばソースコード又は実行可能コードで記述されたソフトウェアルーチン）が提供され、該プログラム素子は、プロセッサで実行されるとき、上述した特徴を有するデータ処理方法を制御又は実行するように構成される。
【００２１】
本発明の更に別の模範的な実施態様によれば、コンピュータ読み取り可能な媒体（例えばＣＤ，ＤＶＤ，ＵＳＢスティック，フロッピディスク又はハードディスク）が提供され、該媒体には、プロセッサで実行されるとき、上述した特徴を有するデータ処理方法を制御又は実行するように構成されたコンピュータプログラムが格納されている。
【００２２】
本発明のそれぞれの実施態様に従って実行されるデータ処理は、コンピュータプログラム、即ちソフトウェアによって、又は一つ以上の特別の電子最適化回路、即ちハードウェアによって、又はハイブリッド構成、即ちソフトウェアコンポーネントとハードウェアコンポーネントによって実現することができる。
【００２３】
用語「トランスポンダ」は、特にＲＦＩＤタグ又は（例えば非接触型の）スマートカードを意味し得る。より一般的には、トランスポンダは、インタロゲータからの特別信号により活性化されて所定の（例えば符号化された）データを自動的に送信し得るデバイス（例えばチップを含む）とし得る。
【００２４】
用語「リーダ」は、特にトランスポンダを読み出すために電磁放射ビームを送り、反射又は放射される信号を検出するように構成された基地局を意味し得る。リーダデバイスは、読み出し及び／又は書き込みデバイス、ＲＦＩＤリーダ、非接触チップカードリーダ、パッシブトランスポンダ及びニアフィールド通信デバイスからなる群から選ばれえる一つとし得る。
【００２５】
用語「アプリケーション」は、特にリーダ及びトランスポンダにより構成される通信システムにおいてトランスポンダが寄与し得るサービスを意味するものとし得る。このようなトランスポンダの寄与は、格納された又は計算されたデータを提供する能力、種々の処理能力を提供する能力などを含み得る。このようなサービスの例は、トランスポンダのユーザによる公共輸送機関の利用料金の支払い、無線支払いシステム、クレジットカードサービスなどによる商品購入価額の支払いなどである。
【００２６】
用語「アプリケーションの名前」は、特にアプリケーションを示す識別子又はコードとすることができ、識別子に基づいて特定のアプリケーションを明確に検索することができる。このような名前は、特に文字の列、数字の列又は文字と数字の組み合わせのような任意の文字数字コードとすることができる。
【００２７】
用語「暗号化スキーム」は、特に通信メッセージの基本としてのデータブロックを暗号化するスキーム、ルーチン又はアルゴリズムであって、暗号化されたデータブロックの内容の解釈に暗号化スキームの知識、例えば暗号化に使用される一つ以上の鍵を必要とするものを意味する。この用語に該当する種々の暗号化スキームとしては、対称暗号化（通信相手が送信側も受信側も同じ鍵を使用し得る）及び公開鍵暗号化（通信相手が公開鍵、秘密鍵又は同種のものを使用し得る）がある。特に、ＭＡＣ（メッセージ認証符号）の形成及びＣＲＣ（巡回冗長検査）（後で符号化される）の形成は暗号化スキームに基づく暗号化の形式とみなせる。
【００２８】
用語「メッセージ認証符号」（ＭＡＣ）は、特に認証メッセージに使用される短い情報を意味する。ＭＡＣアルゴリズムは入力として秘密鍵と認証すべき任意の長さのメッセージを受け取り、ＭＡＣを出力し得る。ＭＡＣ値によれば、検証者（その人も秘密鍵又は対応する公開鍵を所有する）がメッセージの内容の変化を検出することが可能になり、メッセージの正当性のみならずその完全性も保護することができる。
【００２９】
用語「巡回冗長検査」（ＣＲＣ）は、特に入力として任意の長さのデータストリームを取得し、出力として所定のサイズの値、例えば所定のビット数の整数を生成する関数の一種である。ＣＲＣは伝送中のデータの変化を検出するチェックサムとして使用することができる。
【００３０】
本発明の一実施態様によれば、トランスポンダによりサポートされるアプリケーションをリーダとトランスポンダとの間における通信メッセージの伝送中に隠蔽することができる利点が提供される。従って、アタッカーは、どのようなアプリケーション又はいくつのアプリケーションがトランスポンダによりサポートされているかについて何の情報も得ることができず、よって通信相手のプライバシーが保護される。
【００３１】
一実施態様では、リーダから到来するデータも隠蔽することができるため、アタッカーはどのようなアプリケーション又はいくつのアプリケーションがリーダによりサポートされているかについて何の情報も得ることができない。
【００３２】
本発明のいくつかの模範的な実施態様について以下に記載する。
【００３３】
リーダは、自身がサポートする一組のアプリケーションを通知することができ、トランスポンダは、自身がこれらのアプリケーションの一つ以上をサポートするかどうかについてリーダに応答することができ、必要に応じトランスポンダのアイデンティティ（ＩＤ）をリーダに送ることができる。
【００３４】
この通信は、（アタッカーはトランスポンダがアプリケーションをサポートするかどうかを解釈できないように）機密性を維持する方法及び（リーダはトランスポンダがアプリケーションをサポートしていることを決定できるのみならず、リーダはトランスポンダがちょうど今アプリケーションをサポートすることを決定でき、このサポートをフレッシュとみなすことができるように）完全性を維持する方法で行うことができる。
【００３５】
リーダは、次に、メッセージをトランスポンダに送ることによってアプリケーションを選択することができる。トランスポンダはこのメッセージを復号することができるが、アタッカーはこのメッセージからサポートに関する結論を得ることはできない。
【００３６】
機密性は、アタッカーが、トランスポンダがどんなアプリケーションをサポートしているかを決定できないことを意味する。例えばアプリケーション名が転送される一つの通信を観察してもできない。その理由は通信を暗号化するためである。また、多数のメッセージ（たとえそれらが暗号化されていても、それらは同一であるから情報を暴露し得る）を観察しても、できない。その理由は乱数を含めるためである。
【００３７】
完全性は、リーダがレスポンスから、このレスポンスがアプリケーションをサポートするトランスポンダにより発生されたものであることを決定することができることを意味する。これは特に以下の模範的な実施態様の一つによって行うことができ、多くの代替例が可能である。
【００３８】
RND‖ApplNameに基づいて計算されたＭＡＣ。このメッセージはアプリケーションのサポートを搬送するが、トランスポンダのアイデンティティは搬送しない。ここで、ＲＮＤは乱数であり、ApplNameはアプリケーションのＩＤである。
【００３９】
ある情報、例えばRND‖UCLIDに基づいてＣＲＣが計算され、次にその全体が符号化された（RND‖UCLID‖CRC）。ここで、USLIDはトランスポンダのＩＤである。ＣＲＣは完全性をもたらす。
【００４０】
符号化された情報、例えばEnc(K, RND‖LUCID‖CRC)に基づいて計算されたＭＡＣ。このＭＡＣは完全性をもたらす。ここで、Encは符号化関数であり、Ｋは鍵である。
【００４１】
フレッシュネスは次のように処理される。リーダはそれがサポートするアプリケーションのリストと一緒に乱数を送信する。トランスポンダはＣＲＣ又はＭＡＣの計算に基づいてこの乱数を含むことができる。これによりトランスポンダの以前のレスポンスのリプレーを防止することができる。
【００４２】
アプリケーションの選択は、高い機密性（従って暗号化及び乱数の挿入）、高い完全性（トランスポンダはメッセージが真性であることを確かめることができる）、及びフレッシュネス（トランスポンダが以前のステップでリーダに与えた乱数情報を含むため）で行うことができる。
【００４３】
一実施例では、アプリケーションサポートはリーダにより通知することができ、トランスポンダは、リーダは実際のサポートを決定できるがアタッカーはその決定をできないように応答する。
【００４４】
以下に、トランスポンダの更なる模範的な実施例を説明する。しかし、これらの実施例はリーダにも、方法にも、プログラム素子にも、コンピュータ読み取り可能な媒体にも適用できる。
【００４５】
トランスポンダの処理装置（例えば処理能力を有するトランスポンダの集積回路）は、リーダによりサポートされているアプリケーションを示すリーダからのリクエストの受信時に、リーダによりサポートされている一以上のアプリケーションのどれがトランスポンダによってもサポートされているかを決定し、リーダ及びトランスポンダによりサポートされているアプリケーションに対して拡張及び暗号化を行うように構成することができる。従って、トランスポンダはリーダからのリクエストに対して、トランスポンダがサポートするとともにリーダもサポートするアプリケーションのリストを生成することによって応答することができる。従って、トランスポンダとリーダとの間で両エンティティがサポートするアプリケーションに関して合意を得ることができる。
【００４６】
処理装置は、アプリケーションの名前を暗号化前に乱数とチェックサムで拡張するように構成することができる。アプリケーションの名前、乱数、チェックサム及び鍵のいずれか一つは任意の数字の列、文字の列又は任意の英数字コードとすることができる。特定の実施例はアプリケーションの名前を乱数に単に加えることができるが、その後の安全伝送のために暗号化前に、アプリケーションの名前と乱数に加えてチェックサムをデータブロックに加えると、システムを更に安全にすることができるとともに、故障しにくくすることができる。
【００４７】
一実施例では、トランスポンダの処理装置は、トランスポンダによりサポートされないアプリケーションに対しても、乱数を生成するように構成できる。トランスポンダの送信装置（例えばアンテナ）は、生成された乱数を前記リーダに送信するように構成できる。更にトランスポンダによりサポートされないアプリケーションに対してデータブロックを通信メッセージのような送信メッセージに付加することによって、通信メッセージの長さをトランスポンダによりサポートされるアプリケーションの数と無関係にすることができる。こうすると、アタッカーは通信メッセージの長さを単に解析するだけで（サポートされている）アプリケーションの数を導出することはできなくなる。トランスポンダによりサポートされないアプリケーションに対して生成される乱数はサポートされるアプリケーションの名前を示さないものとすることができる。代案として、トランスポンダによりサポートされないアプリケーションに対して生成される乱数にトランスポンダによりサポートされないアプリケーションの名前の表示及びこのアプリケーションはサポートされないという表示を付随させることができる。
【００４８】
トランスポンダからリーダへ送信される通信メッセージの長さの単なる解析によってトランスポンダによりサポートされる複数のアプリケーションを決定することを許さない利点は、トランスポンダによりサポートされないアプリケーションに対して、トランスポンダによりサポートされるアプリケーションに対する暗号化された数と同じ長さを有する乱数を生成するように処理装置を構成するとき、特に有効である。この手段を採用することによって、アタッカーは伝送されるデータセクションの長さに基づいて、特定のアプリケーションが通信エンティティの一つによりサポートされているかいないかを識別することはまったく不可能になる。これは通信システムが動作中のデータの安全性及びプライバシーを更に増大する。
【００４９】
乱数は擬似乱数とすることができる。擬似乱数と対照的に、真の乱数はその発生基準と無関係に生成される数である。暗号目的のために、物理的測定に基づく数を乱数とみなすことができる。擬似乱数は検出可能パターンをできるだけ少なくした数であるが真の乱数ではない。コンピュータプログラムは真の乱数を生成できないために擬似乱数を生成している。乱数生成器はトランスポンダの一部分とすることができる。
【００５０】
トランスポンダの処理装置は、トランスポンダのアイデンティティを示す識別子をレスポンスに含めるように構成できる。換言すれば、トランスポンダは、どのトランスポンダがリクエストに対して答えたかを明確に示すために、例えばユニーク識別子（ＵＩＤ）又はカード倫理ユニーク識別子（ＣＬＵＩＤ）を通信メッセージに含めることができる。
【００５１】
処理装置は、リーダによりサポートされる複数のアプリケーションの一つを選択し、選択したアプリケーションをレスポンスに含めるように構成できる。リーダ及びトランスポンダの双方が複数の同一のアプリケーションをサポートするシナリオでは、トランスポンダがこれらのアプリケーションの一つを次の使用のために選択する能力を持つことができる。これは、トランスポンダがリクエストに対して次の通信のために使用すべきアプリケーションの名前で応答することによって簡単に指示することができる。従って、トランスポンダはどのアプリケーションをリーダに提示するかを決定することができる。
【００５２】
処理装置は、トランスポンダによりサポートされる複数のアプリケーション又はすべてのアプリケーションをリーダによるサポートアプリケーションの一つの次の選択の基礎としてレスポンスに含めるように構成することができる。このような実施例では、リーダは、両通信相手のデバイスによりサポートされる複数のアプリケーションのどれが次に使用できるかを決定するエンティティになる。従って、リーダは、トランスポンダによりサポートされるアプリケーションの情報を含むトランスポンダからのレスポンスを受信した後、サポートされるアプリケーションの特定の一つを例えば特定の決定基準に従って選択することができる。この選択されたアプリケーションは次にリーダとトランスポンダとの間の更なる連携動作に使用され得る。
【００５３】
トランスポンダの処理装置は、メッセージ認証符号（ＭＡＣ）を含むように前記レスポンスを生成するように構成することができる。このメッセージ認証符号は、トランスポンダとリーダの双方でサポートされるアプリケーションの名前を隠蔽するためにどのように暗号化スキームをトランスポンダとリーダとの間で使用できるかに関する一例である。この基準を満足するこのようなメッセージ認証符号を形成する種々の可能性がある。一つの可能性は、アプリケーションと関連する鍵と乱数の組み合わせに基づいてＭＡＣを形成するものである。代案は、アプリケーションの名前と乱数の組み合わせに基づいて形成するものである。他の代案は、アプリケーションの名前と乱数とトランスポンダのアイデンティティを示す識別子との組み合わせに基づいて形成するものである。このようなＭＡＣによりリーダはそのアプリケーションがトランスポンダによりサポートポートされているかどうかを明確に決定することが可能になる。
【００５４】
メッセージ認証符号をレスポンスとして送信する代わりに、本発明のいくつかの実施例はレスポンス又はその一部として、巡回冗長検査（ＣＲＣ）を使用し、後で暗号化することができる。このような暗号化されたＣＲＣは、暗号化スキームの応用方法に関する一例とみなすことができる。このようなＣＲＣは乱数とトランスポンダのアイデンティティを示す識別子に基づくものとし得る。ユニーク識別子及び乱数とそのＣＲＣとの組み合わせを暗号化することもできる。
【００５５】
処理装置は、アプリケーションの名前を含まないが、アプリケーションがトランスポンダによりサポートされているかどうかをチェックサムの解析に基づいて決定することをリーダに可能にする情報を含むチェックサム又は任意の他のデータブロックを含むように前記レスポンスを生成するように構成することができる。例えば、リーダはすべてのサポートアプリケーションを単一の通信メッセージに含める必要はない。代替実施例では、リーダは続いて各メッセージが特定のアプリケーションがサポートされているかどうかについて問い合わせる複数の通信メッセージを送信することができる。これらの通信メッセージの各々に対するリプライにおいて、トランスポンダは、アプリケーションの名前を指定しないで、前リクエストに含まれるアプリケーションがサポートされるか否かを指示することができる。これは、アプリケーションとサポートするかしないかに関する情報との相関を明確に導出することをリーダに可能ならしめるＭＡＣで指示することができる。
【００５６】
次に、リーダの他の模範的な実施例について説明する。しかし、これらの実施例はトランスポンダにも、方法にも、プログラム素子にも、及びコンピュータ読み取り可能な媒体にも適用される。
【００５７】
リーダは、どの（一つ又は複数の）トランスポンダがリーダの無線レンジ内に存在するかを判定する判定装置（リーダのプロセッサの一部分とし得る）を備えることができる。このような実施例では、リーダは最初に、リーダの周囲の空間レンジ（このレンジ内でリーダはトランスポンダと通信できる）内に位置する複数のトランスポンダ（例えばＲＦＩＤタグ又はスマートカード）を検出する。
【００５８】
このような判定の実行後に、リーダの選択装置（リーダのプロセッサの一部分とし得る）は無線レンジ内にあると検出されたトランスポンダの一つをその後の通信のために選択することができる。このような選択プロシージャは、リーダがクロストークを避けるために各時刻に一つのトランスポンダとのみ通信するようにアンチコリジョンプロシージャと関連して実行することができる。例えば、リーダの無線レンジ内の（選択されたトランスポンダ以外の）他のトランスポンダはリーダによりミュート又はサイレント状態に切り替えることができる。
【００５９】
リーダは、更に、リーダによりサポートされる一以上のアプリケーションを示すリクエストをトランスポンダに送信する送信装置を備えることができる。このような送信装置は通信アンテナとすることができる。このようなリクエストによって、リクエストは通信可能に結合されたトランスポンダに、どのアプリケーションがリクエストによりサポートされているかを指示することができる。この情報によって、通信システムは更なる通信をより有意義に続けることができ、例えば通信相手のデバイス（即ちトランスポンダ及び／又はリーダ）によりサポートされないアプリケーションに関する通信を阻止することができる。
【００６０】
代替実施例では、どのアプリケーションがリーダにより提示されるかは安全に関係ないシナリオにおいては、あるいは、リーダがトランスポンダによりサポートされるアプリケーションに関する情報をトランスポンダに問い合わせることは安全に関係ないシナリオにおいては、このようなリクエストを平文で送信することもできる。
【００６１】
リーダの処理装置及び／又は送信装置は、リーダによりサポートされる複数のアプリケーションと無関係に一定の長さを有するリクエストを送信するように構成することができる。一般に、リーダによりサポートされる各アプリケーションをリクエストに含めるには特定のデータ長が必要とされるため、サポートアプリケーションの簡単なリストからなるデータブロックはサポートアプリケーションの数に依存する。従って、このデータブロックのみをトランスポンダに送信する場合、アタッカーは通信メッセージの長さを解析するだけでサポートアプリケーションの数を導出することが可能である。しかし、リクエストを常に一定の長さで送信し、場合により空のデータセクションを乱数で満たせば、いくつのアプリケーションがリーダによりサポートされるかを隠蔽することができる。
【００６２】
リーダの処理装置及び／又は送信装置は、トランスポンダによりサポートされるアプリケーションの指示をトランスポンダに要求するために「エンプティ」リクエストを送信するように構成することもできる。これに関連して、「エンプティ」とは、どのアプリケーションがリーダによりサポートされるかの指示及び／又はリーダがトランスポンダによりサポートされるアプリケーションのリストを要求する指示を含まないメッセージを意味する。このような実施例では、リクエストはサポートアプリケーションに関する指示を完全に含まないが、リーダにより要求される情報はトランスポンダによりサポートされるアプリケーションの数であることをトランスポンダに特定させる任意の指示を含むことができる。
【００６３】
リーダの決定装置は、前記復号化された拡張数が前記アプリケーションの名前を含まないことを決定するとき、アプリケーションはトランスポンダによりサポートされないと判断するように構成することができる。換言すれば、トランスポンダからリーダへ伝送される通信メッセージ内に既知のアプリケーションがないことは、この特定の実施例において、リーダに対応するアプリケーションはトランスポンダにより提供されないと判断させることができる。
【００６４】
リーダの決定装置は、レスポンスからトランスポンダのアイデンティティを示す識別子を取り出すことによってトランスポンダのアイデンティティを決定するように構成することもできる。よって、合意されたデータオーダリングスキームに従って、リーダはリプライからどのトランスポンダがリクエストに応答したかの情報を得ることもできる。これは、システムを一つのリーダ対複数のトランスポンダの環境においても動作可能にする。
【００６５】
リーダの決定装置は、次の使用のためにリーダによりサポートされ選択される一つのアプリケーションをレスポンスから決定するように構成することができる。このような実施例は、トランスポンダが使用すべきアプリケーションについての決定を行うシナリオに対応する。
【００６６】
また、リーダとトランスポンダとの間の次の通信のために次に使用すべきアプリケーションについての決定をリーダが行うこともできる。このようなシナリオでは、リーダの決定装置は、次の使用のためにトランスポンダによりサポートされる複数のアプリケーションの一つを選択し、選択したアプリケーションをトランスポンダに通知するように構成することができる。例えば、リーダは１０のアプリケーションのうちのどれとどれがトランスポンダによりサポートされるかの回答を要求することができる。トランスポンダは１０のアプリケーションのうちの６つがトランスポンダによりサポートされると回答し得る。すると、リーダはこれらの６つの共通にサポートされるアプリケーションのうちの一つをリーダ／トランスポンダシステムの次の動作のために選択し、トランスポンダに通知することができる。
【００６７】
レスポンス内にまたはレスポンスとしてＣＲＣ及び／又はＭＡＣを生成する上述したトランスポンダに応じてリーダが動作できるように、このようなＣＲＣ及び／又はＭＡＣを解釈するために対応する設備をリーダに設けることができる。
【００６８】
リーダの決定装置は、レスポンスに含まれる、アプリケーションの名前を含まないＭＡＣ又は他のデータブロックを解析することによって、トランスポンダによりサポートされるアプリケーションを決定するように構成することもできる。リーダが通信メッセージごとに特定のアプリケーションのサポートを問い合わせ、そのために複数のリクエストを次々にトランスポンダに送信するシナリオでは、各リクエストに対する各リプライが、ＭＡＣの解析によって、特定の問い合わされたアプリケーションに対して、トランスポンダがサポートを指示するかしないかを決定することを可能にする。
【００６９】
本発明の模範的な実施例は選択されたアプリケーションアイデンティティに関するプライバシー属性を提供することができる。本発明の模範的な実施例によるアーキテクチャはマルチアプリケーションリーダを収容することができる。このようなアーキテクチャは更に試験認証を使用しないことができる。これらの代わりに、実施例はそれ自体がリーダによる問い合わせに依存し得るトランスポンダからの単一機能レスポンスを用いることができる（即ちトランスポンダはリーダによりサポートされるアプリケーションに対してのみ応答する）。よって、洗練されたプライバシー属性及び高速性能を本発明の模範的な実施例によって保証することができる。
【００７０】
本発明のこれらの及び他の特徴は以下に記載する実施例について説明され、明らかにされる。
【図面の簡単な説明】
【００７１】
【図１】本発明の模範的な実施例によるリーダ及びスマートカード間のメッセージフローを示す。
【図２】本発明の模範的な実施例による通信システムを示す。
【図３】本発明の模範的な実施例によるリーダ及びトランスポンダ間のメッセージフローを示す。
【図４】本発明の模範的な実施例によるリーダ及びトランスポンダ間のメッセージフローを示す。
【図５】本発明の模範的な実施例によるリーダ及びトランスポンダ間のメッセージフローを示す。
【発明を実施するための形態】
【００７２】
以下に、本発明を図面に示す実施例について、非限定的な例証して、詳細に説明する。
図面は概略図である。異なる図において、同様もしくは同一の素子には同一の参照符号が付されている。
【００７３】
図１は本発明の模範的な実施例による通信システム１００を構成するリーダ１０２とスマートカード１０４との間のメッセージフローを示す。
【００７４】
以下に更に詳しく説明されるように、リーダ１０２とスマートカード１０４との間の通信中に、複数の通信メッセージが交換される。
【００７５】
図１の通信スキームのステップ１（符号１２０参照）において、リーダ１０２はどのスマートカードが無線レンジ内にあるかを判定し、それらの一つをそれ自体周知のアンチコリジョンプロシージャ中に最終的に選択する。選択されたのはトランスポンダ１０４である。
【００７６】
ステップ２（符号１３０参照）において、リーダ１０２はリーダ１０２によりサポートされるアプリケーションに関する情報を含むコマンドをスマートカード１０４に送信する。本例では、リーダ１０２はアプリケーションＡ，Ｂ及びＣをサポートする。
【００７７】
ステップ３において、スマートカード１０４は、リーダ１０２によりサポートされるアプリケーションのどれがカード１０４によってもサポートされるかを検査する。次に、カード１０４は、乱数及びチェックサムにより拡張されたサポートアプリケーションの名前をリーダに返送し、このとき拡張された数はアプリケーションと関連する鍵で暗号化及び／又はＭＡＣ化される。本例では、カード１０４はアプリケーションＡ，Ｂ，Ｄ，Ｘ及びＺをサポートする。アプリケーションＣはスマートカード１０４によりサポートされない。従って、アプリケーションＡの名前は乱数及びチェックサムにより拡張され、次いでアプリケーションＡと関連する鍵で暗号化及び／又はＭＡＣ化される。アプリケーションＢの名前も同様に処理される。アプリケーションＣはサポートされないため、乱数のみが生成され、リーダ１０２に送信される。乱数はアプリケーションＡ及びＢに対して得られる数と同じ長さを有する。
【００７８】
ステップ１０４において、リーダ１０２は、スマートカードカード１０２にも使用されているアプリケーションＡ，Ｂ及びＣに対する鍵で受信データの復号化及び／又はＭＡＣの検査を行う（厳密に言えば、カード１０４はアプリケーションＡ及びＢに対する鍵のみを使用する）。復号化後に、アプリケーションＡ及びＢに対するアプリケーション名は平文で現れ、またアプリケーションＡまたはＢが使用されている場合ＭＡＣが受信ＭＡＣと一致する。よって、リーダ１０２は、スマートカード１０４がアプリケーションＡ及びＢをサポートし、アプリケーションＣをサポートしない（アプリケーションＣに対しては復号化後に乱数が現れるため）ことを知る。次に、リーダ１０２はアプリケーションの一つを選択し、その後のプロシージャにどのアプリケーションを使用すべきかをスマートカード１０４に通知する。
【００７９】
本例では、アプリケーションＡの名前が乱数及びチェックサムにより拡張される。次に、得られた数がアプリケーションＡと関連する鍵で暗号化され、スマートカード１０４に送信される（参照符号１５０参照）。スマートカード１０４において、アプリケーションＡの名前が平文になるように受信データが再び復号化される。このときリーダ１０２とスマートカード１０４の双方がどのアプリケーションを使用すべきかを知る。或いは又、スマートカード１０４はＭＡＣを計算し、それが受信ＭＡＣと一致するか検証する。
【００８０】
上述のプロシージャは以下の利点をもたらすことができる。
トランスポンダがサポートするアプリケーションの名前は決して平文で送信されないため、アタッカーが通信システムに与えられるアプリケーションに関する無許可情報を取得することを防止できる。
【００８１】
暗号化された名前は乱数部分を含むために決して同じにならないため、攻撃はより一層困難になる。
【００８２】
カードのレスポンスの長さは、通信相手によりサポートされるアプリケーションの数と無関係に常に同じである。これはサポートされるアプリケーションの数も隠蔽する。
【００８３】
従って、アタッカーは、スマートカードによりどのようなアプリケーションがサポートされているかも、いくつのアプリケーションがサポートされているかも、決して決定することはできない。
【００８４】
代替実施例では、図１のステップ２において、保護すべき主な対象がスマートカード１０４であるためであるため、アプリケーションの名前は平分で送信される。それにもかかわらず、リーダ１０２からスマートカード１０４への通信も暗号化することができる。他の実施例では、リーダ１０２によりサポートされるアプリケーションに関する情報が全く存在しないように、ステップ２においてカード１０４にエンプティコマンドが送信される。
【００８５】
しかし、応答の長さのために、サポートされるアプリケーションの数はアタッカーにより決定され得る。それゆえ、他の実施例では、ステップ２のコマンドは規定のデフォルト長、例えば１０個のアプリケーションの長さにする。そしてアプリケーションのために使用されないデータブロックは乱数で埋める。この場合、アタッカーはどのようなアプリケーションがサポートされているかも、いくつのアプリケーションがサポートされているかも、決して決定することはできない。
【００８６】
プライバシーは個人にとっても、所定の特性を共有する人々のグループにとっても重要な役割を果たす。しかし、プライバシーは様々な経路でリークし得る。従来のカード通信システムの場合、コリジョン検出を簡単に読み取ることが可能である。従って、個人ユーザはいくつかの場所でスキャンされ得る。ランダム識別子を使用しても、依然としてリーダ内の真正アプリケーションはそれらがどのカードと通信するかを知る必要があるため、依然としてカード論理ユニークＩＤ（ＣＬＵＩＤ）を必要とする。カードがそのサポートアプリケーションを提示するとき、これは安全とはいえない。アタッカーはサポートされるアプリケーションから導出し得るサイドチャネル情報に基づいて個人を追跡することができる。
【００８７】
また、カードがそのタイプ、ブランドなどを提示するとき、これも必ずしも安全ではない。例えば、製造業者ＹのカードタイプＸはニューヨークサブウェイで使用され、多く市民が持ち歩いているという知識から、このようなカードの所有者はニューヨーカである確率が高いことが明らかになる。
【００８８】
これらのコンフィギュレーションを考慮すると、プライバシーは最終的な目標である。通信システムは、カード所有者、カードアプリケーション、カード識別子、カード製造業者、カードタイプなどに関する情報を当該カードインスタンスによりサポートされるアプリケーションに対して正当なリーダでないエンティティに暴露しないのが望ましい。従って、プライバシーは、プロトコル、データ、動作によっても、カードのアナログ動作特性によっても、失われてはならない。
【００８９】
通信システムがこのような最終目標を実現する程度は、使用可能なコスト、時間、設置基盤とのコンパチビリティなどに依存する。一つのアプリケーションに対して使用される一つの鍵の解読は他のアプリケーションのプライバシーを解読することにならない。
【００９０】
しかし、最終プライバシー状態においてプライバシーのリスクが残存し得る。アプリケーション鍵が解読されると、該アプリケーションのすべてのユーザのプライバシーが危険にさらされる。そのＵＣＬＩＤを読み取り、それに基づいてユーザを追跡することができる。
【００９１】
以下に、図２を参照して、本発明の模範的な実施例による、プライバシーを維持し得る通信システム１００を説明する。
【００９２】
通信システム１００は図１に示す通信システムに類似し、無線通信のために互いに結合されるリーダ１０２及びトランスポンダ１０４を備える。
【００９３】
リーダ１０２は送信アンテナ１１４及び受信アンテナ１１６に結合されたプロセッサ１１２（例えばマイクロプロセッサ又は中央処理装置）を備える。送信アンテナ１１４は通信メッセージ１１８をトランスポンダ１０４に送信することができる。受信アンテナ１１６はトランスポンダ１０４からの通信メッセージ１２２を受信することができる。送信アンテナ１１４及び受信アンテナ１１６は図２には２つの異なるアンテナとして示されているが、代替実施例は単一の共用トランシーバアンテナを使用することもできる。通信メッセージ１１８，１２２はエンティティ１０２，１０４間で無線で交換することができる。
【００９４】
アンテナ１１４，１１６はプロセッサ１１２と電気的に結合され、プロセッサ１１２からデータを通信メッセージ１１８として送信することができ、また受信アンテナ１１６により受信された通信メッセージ１２２をプロセッサ１２２により解析し処理することができる。
【００９５】
プロセッサ１１２によりアクセス可能なデータを格納するために半導体メモリのような記憶装置１２４がプロセッサ１２２と双方向のデータ転送のために結合される。更に、ユーザによるリーダデバイス１０２の動作及び制御を可能にする入力／出力装置１２６が示されている。
【００９６】
更に図２から明らかなように、トランスポンダ１０４は送信及び受信アンテナ１１０、マイクロプロセッサのようなプロセッサ１０８及びメモリ１０６を備える。一実施例では、メモリ１０６及びプロセッサ１０８は、アンテナ１１０に接続でき且つ支持体１２８（例えば布片）に付着できる集積回路（ＩＣ）にモノリシック集積することができる。
【００９７】
動作中、リーダ１０２のプロセッサ１１２は、どのトランスポンダがリーダ１０２の無線レンジ内にあるかを判定する判定装置として作用することができる。本例シナリオでは、トランスポンダ１０４のみがリーダ１０２の無線レンジ内にある、即ち十分に正確な通信ができる十分に近い位置にあるものとする。リーダ１０２の無線レンジ内に複数のトランスポンダがある場合には、コリジョンプロシージャ中に、プロセッサ１１２は、次の通信のために、無線レンジ内の複数のトランスポンダの１つ、本例シナリオではトランスポンダ１０４を選択することができる。
【００９８】
リーダ１０２は、更に、送信アンテナ１１４を介して、リーダ１０２によりサポートされるアプリケーションを表す通信メッセージ１１８のようなリクエストをトランスポンダ１０４に送信する。このようなリクエストは暗号化された形又は平文で送信することができる。別の実施例では、リクエスト１１８はリーダ１０２によりサポートされるアプリケーションの如何なる表示も含まないものとすることができる。
【００９９】
しかしながら、好適実施例では、送信アンテナ１１４はリーダ１０２によりサポートされるアプリケーションの数と無関係の一定の長さを有するがサポートされるアプリケーションを暗号化された形で示すリクエスト１１８を送信する。これにより、アタッカーは通信メッセージ１１８の長さを解析することによってリーダ１０２により与えられえる情報を特定することができなくなる。対応するデータパケットの空部分は、サポートされるアプリケーションの数をアタッカーに対して隠蔽するために乱数で満たすことができる。
【０１００】
トランスポンダ１０４は、トランスポンダ１０４によりサポートされる複数の異なるアプリケーションをサポートするために必要なデータをその記憶装置１０６に格納することができる。リーダ１０２からのリクエスト１１８の受信時に、処理装置１０８はトランスポンダ１０４によりサポートされるアプリケーションに関する情報をリーダ１０２に知らせるために通信メッセージ１２２を生成することができる。この目的のために、図２に参照符号２０２で略図示されるアプリケーションの名前を乱数２０４及びチェックサム２０６で拡張することができる。乱数２０４はプロセッサ１０８により生成することができる。アプリケーション名２０２もチェックサム２０６もメモリ１０６に格納することができる。更に、データパケット２０２，２０６，２０４は、同様にメモリ１０６に格納することができる鍵２０８を用いて暗号化することができる。この鍵２０８は名前２０２で示されるアプリケーションと関連するもの又は該アプリケーションに指定されたものとすることができる。次いで、対応する暗号化されたデータメッセージ２１０は、図２に通信メッセージ１２２で示されるように、送信アンテナ１１０によりリーダデバイス１０２に送信することができる。
【０１０１】
アプリケーションがトランスポンダ１０４によりサポートされない場合には、トランスポンダ１０４は単に乱数のみからなる通信メッセージをリーダ１０２に送信する。このメッセージは、アタッカーがトランスポンダ１０４によりサポートされるアプリケーションの数に関する情報を導出することができないように、通信メッセージ２１０と同一の長さを有するものとすることができる。
【０１０２】
通信メッセージ１２２が受信アンテナ１１６により受信されるとき、プロセッサ１１２は受信データをトランスポンダ１０４によりサポートされるアプリケーションと関連する鍵２０８を用いて復号化する復号化装置として動作する。これにより、復号化された数、即ちデータパケット２０２，２０６，２０４をプロセッサ１１２により導出することができる。プロセッサ１１２は、このデータパケット２０２，２０６，２０４から、アプリケーション名２０２を特定し、このアプリケーション名によってリーダデバイス１０２はトランスポート１０４が対応するアプリケーションをサポートすることを決定することができる。リーダデバイス１０２とトランスポンダ１０４との間の更なる通信に対して、両エンティティはアプリケーション名２０２で示されるアプリケーションが両エンティティにより与えられることを知ることができる。同時に、プライバシーが維持される。
【０１０３】
当業者は、本発明によるトランスポンダ、リーダ及び方法、並びにソフトウェアは非接触データ伝送に限定されず、原理的には有線通信にも適用されることに留意すべきである。
【０１０４】
以下に、図３を参照して、本発明の模範的な実施例によるリーダ１０２とトランスポンダ１０４との間の通信スキーム３００を説明する。
【０１０５】
記載する実施例では、複数のアプリケーション名２０２（Ａ，Ｂ，Ｃ）を含む通信メッセージ３０２がトランスポンダ１０４に送信され、これらのアプリケーション名はリーダ１０２がトランスポンダ１０４によりサポートされるかどうか知りたいアプリケーションの名前である。
【０１０６】
このリクエストに対するレスポンスとして、トランスポンダ１０４は通信メッセージ３０４を生成する。この通信メッセージ３０４は、特に、サポートされるアプリケーションＡの名前を隠蔽するためにアプリケーションの名前２０２（即ちサポートされるアプリケーションＡ）と乱数２０４との組み合わせに基づいて形成される計算ＭＡＣ３０６を含む。これに関連して、フィールド３１０は暗号文の完全性（インテグリティ）を与える点に留意されたい。
【０１０７】
通信メッセージ３０２及びレスポンス３０４は両方ともRandQとして示される更なる乱数を含むことができ、これはオプションであり、フレッシュネスを決定するのに役立てることができる。
【０１０８】
通信メッセージ３０４はアプリケーションＡに関連するブロック２０４，２０２，３０８を含むだけでなく、該当する場合にはアプリケーションＢ及びＣに対するサポートを示す対応するブロックも含むことができる。参照符号２０４'及び２０４"で示されるように、アプリケーションＢ及びＣに対しても、対応する乱数を計算することができる。参照符号３１０'及び３１０"で示されるように、アプリケーションＢ及びＣに対しても、インテグリティブロックを計算することができる。インテグリティブロック３１０'及び３１０"は、鍵ＫＡの代わりに鍵ＫＢ又はＫＣを用いて、アプリケーションＡに対するデータブロック３１０と同様に計算される（status，RndF又はRndH，ApplＢ又はC及びRndQに基づいて計算されるＭＡＣ）。
【０１０９】
トランスポンダ１０４からリーダ１０２へのリプライ３０４の送信後に、リーダ１０２側におけるメッセージ３０４の解析によってリーダ１０２はどのアプリケーションがトランスポンダ１０４によりサポートされているかに関する情報を抽出することができる。
【０１１０】
本例では３つのアプリケーションＡ，Ｂ，Ｃがトランスポンダ１０４によりサポートされているため、リーダ１０２は参照符号３２０で示される選択プロシージャを実行することができる。この目的のために、リーダ１０２は、アプリケーションＡ、アプリケーションＢ又はアプリケーションＣが選択されるかどうかに依存して鍵ＫＡ，ＫＢ又はＫＣを用いてＭＡＣ３２２を計算する。ＭＡＣ３２２は、乱数３０８、アプリケーションＡ、アプリケーションＢ又はアプリケーションＣを示すブロック３２４及び対応する乱数RndD２０４、RndF２０４’又はRndH２０４”を含む。
【０１１１】
通信メッセージ３２０の受信時に、トランスポンダはメッセージ３３０を返送することができる。
【０１１２】
トランスポンダ１０４が次の動作のために使用すべきサポートアプリケーションＡ，Ｂ又はＣの選択を行う場合には、トランスポンダ１０４はアプリケーションＡ，Ｂ又はＣに対して一つのレスポンスを返すのみとすることができる。この場合には、トランスポンダ１０４が予め選択を行うので、選択コマンド３２０は不要になる。
【０１１３】
図３の実施例はＭＡＣ３０６内にトランスポンダ１０４の識別子（ＣＬＵＩＤ）を含まない。
【０１１４】
通信シーケンス４００を示す図４の実施例では、このようなユニーク識別子を含むＭＡＣ４１２が生成される。
【０１１５】
図４の実施例では、リクエスト３０２の受信後に、トランスポンダ１０４はリプライ４１０を生成する。このリプライ４１０は、ペイロードブロック４１４とアプリケーションの名前を示すブロック４１６とからなる計算ＭＡＣ４１２を含む。ペイロードブロック４１４はアプリケーションＡに関連する鍵ＫＡの関数として計算され、他のデータを含めることもできる。この目的のために乱数RndDを用いることもできる。ペイロード４１４はトランスポンダ１０４のアイデンティティを示すサブブロック４１８を含むとともに乱数ブロック４２０を含む。アプリケーションＢ及びＣに対しても、該当する場合には、図４に示すように対応するブロックを同様に生成することができる。
【０１１６】
リプライ４１０を形成する図４のシナリオは、アプリケーションＡ，Ｂ及びＣが実際にトランスポンダ１０４によりサポートされている状態に関連している。アプリケーションがサポートされていない別のシナリオでは、トランスポンダ１０４は、通信メッセージ４１０の代わりに、単に乱数をリーダ１０２に送信する。これは如何なるサポートの「存在」又は「不在」を隠蔽する。
【０１１７】
ペイロードブロック４３０はアプリケーションＡに関連するが、ペイロード４３０’はアプリケーションＢに関連し、ペイロード４３０”はアプリケーションＣに関連する。同様に、ブロック３１０に対応するインテグリティブロック３１０’及び３１０”がアプリケーションＢ及びＣに対して形成される。ペイロードブロック４３０’、４３０”はアプリケーションＡに対するペイロードフィールド４３０と同様に、ユニーク識別子ＣＬＵＩＤ及び乱数を鍵ＫＡの代わりに鍵ＫＢ又はＫＣを用いて暗号化することにより計算される。
【０１１８】
本例でも、リーダ１０２が次の動作のためにアプリケーションＡ，Ｂ，Ｃ，の一つを選択するというシナリオで選択メッセージ４４０がリーダ１０２により生成されるようしてよい。この目的のために、乱数４４４、トランスポンダのアイデンティティを示すブロック４４６及びフィールド３２４及び３０８を含むＭＡＣ４４２をリーダデバイス１０２により計算することができる。
【０１１９】
図４の例は、リーダ１０２がアプリケーションＡ，Ｂ及びＣをサポートするというシナリオに関連する。ＭＡＣ４４２に関して、リーダ１０２がアプリケーションＡ，Ｂ又はＣのいずれも選択しない場合には乱数RndYを送信することができる。ＭＡＣ４４２を計算するために使用される鍵は選択されるアプリケーションＡ，Ｂ又はＣに応じて鍵ＫＡ，ＫＢ又はＫＣである。
【０１２０】
図３と同様に、RndQ３０８は使用してもしなくてもよい。各アプリケーションに対してレスポンスを与えるか、トランスポンダ１０４がＡ，Ｂ又はＣに対して一つのレスポンスを返すのみとする。この場合、選択コマンド４４０は不要になる。
【０１２１】
図５の実施例において、通信メッセージ３０２及び３３０は図３及び図４の場合と同様である。
【０１２２】
しかし、通信メッセージ５１０を計算するために、ペイロード５１２はアプリケーションＡを示す鍵（ＫＡ）と他のデータの暗号（Ｅ）として計算することができる。また、このブロック５１２の計算のために乱数RndDを用いることができる。更に、図５から明らかなように、ブロック５１２はトランスポンダの識別子４１８、乱数RndX４２０、アプリケーションＡの名前２０２、オプションの乱数RndQ及び巡回冗長検査（ＣＲＣ）５１４を含む。ＣＲＣ５１４は暗号文の完全性を保証する。アプリケーションＢ及びＣに対して対応するブロックを同様に計算することができる（参照符号５１２’及び５１２”参照）。例えば、フィールド５１２’はアプリケーションＡの場合と同様に、ＫＡの代わりにＫＢを用いて、ＣＬＵＩＤ、RndX、RndQ及びＣＲＣを暗号化することにより計算される。
【０１２３】
選択メッセージ５５０のために、ＭＡＣを計算することができる。リーダ１０２がアプリケーションＡ，Ｂ又はＣのいずれも選択しない場合にはRndYを送信することができる。ＭＡＣを計算するために、使用する鍵はどのアプリケーションＡ，Ｂ又はＣが選択されるかに応じてＫＡ，ＫＢ又はＫＣである。
【０１２４】
本発明の模範的な実施例によれば、プロトコルフローが反対方向になるようにリーダ及びトランスポンダの全体的な機能を逆にすることができる。これは明瞭に記載したシステムと等価な解決をもたらし、これも本発明の範囲によりカバーされる。例えば、リーダとトランスポンダを入れ替えることによりリーダのアプリケーション名を保護することができる。
【０１２５】
最後に、上述の実施例は例示であり、本発明を限定するものではなく、当業者は添付の特許請求の範囲で特定される発明の範囲を逸脱することなく多くの代替実施例を設計可能であるということに留意する必要がある。特許請求の範囲において、括弧内の符号は請求項の記載を限定するものと解釈されるべきではない。「具え」および「含む」などの単語は、請求項あるいは本明細書に列記されていない要素またはステップの存在を除外するものではない。単数形で述べる要素は複数の要素を除外するものではないし、その逆も成り立つ。いくつかの手段を列挙している装置請求項において、これらの手段のいくつかは、ハードウェアあるいはソフトウェアの同一の要素によって具現化できる。特定の手段が相互に異なる従属請求項に引用されているが、このことは、これらの手段の組合せが有利に使用できないことを示すものではない。
【図１】
2011519091.tif 000003
【図２】
2011519091.tif 000004
【図３】
2011519091.tif 000005
【図４】
2011519091.tif 000006
【図５】
2011519091.tif 000007
【国際調査報告】
2011519091.tif 000008
2011519091.tif 000009
2011519091.tif 000010