(57)【要約】      （修正有）【課題】現在の手法が有する欠点を回避する、ＲＦＩＤシステムのための低コストのセキュリティ手法を実施する。【解決手段】暗号化されたアクセス機能を含む認証要求を、要求者からＲＦＩＤタグが受信し、認証要求の受信に応答して、受信した暗号化されたアクセス機能に基づく暗号化された秘密メッセージを要求者へ送信する。作業領域を指定しかつ暗号化された乱数を含むアクセス要求を、要求者からＲＦＩＤタグが受信する。アクセス要求は、暗号化された秘密メッセージを使用して要求者によってＲＦＩＤタグが成功裏に認証されたことに応答して、要求者によって作成される。要求者によって送られた乱数の値を判断し、作業領域が暗号化されたアクセス機能に対して有効であることを検証することにより、要求者をＲＦＩＤタグが認証する。当該認証が成功した場合には、ＲＦＩＤタグは、乱数の値を暗号鍵として使用して、アクセス要求に応答する。【選択図】図２
2008104169.tif 000002
【特許請求の範囲】
【請求項１】
無線周波識別（ＲＦＩＤ）セキュリティのための相互認証を提供する方法であって、
暗号化されたアクセス機能を含む認証要求を、要求者からＲＦＩＤタグで受信するステップと、
前記認証要求の受信に応答して、前記暗号化されたアクセス機能に応答する暗号化された秘密メッセージを前記要求者へ送信するステップと、
前記要求者からアクセス要求を前記ＲＦＩＤタグで受信するステップであって、前記アクセス要求は、前記暗号化された秘密メッセージを使用して前記要求者によって前記ＲＦＩＤタグが成功裏に認証されたことに応答して前記要求者によって生成され、および、前記アクセス要求は、作業領域を指定し、暗号化された乱数を含む、ステップと、
前記要求者を前記ＲＦＩＤタグで認証するステップであって、
前記要求者によって送られた前記乱数の値を判断するステップと、
前記作業領域が前記暗号化されたアクセス機能に対して有効であることを検証するステップと
を含む、ステップと、
前記要求者が前記ＲＦＩＤにおいて成功裏にでの認証されたことに応答して、前記乱数の値を暗号鍵として使用して前記アクセス要求に応答するステップと
を含む、方法。
【請求項２】
前記アクセス要求は、読み出しクエリ(読み出し照会)である、請求項１に記載の方法。
【請求項３】
前記アクセス要求は、書き込みクエリ（書き込み照会）である、請求項１に記載の方法。
【請求項４】
前記アクセス要求は、リセット・クエリ（リセット照会）である、請求項１に記載の方法。
【請求項５】
前記要求者は、バックエンド・システムである、請求項１に記載の方法。
【請求項６】
前記ＲＦＩＤタグは、前記要求者と１つ以上の他の要求者とによる同時アクセスをサポートする、請求項１に記載の方法。
【請求項７】
前記ＲＦＩＤタグを要求者において認証するステップをさらに含み、当該認証するステップは、前記暗号化された秘密メッセージが予測値を含むことを検証するステップを含む、請求項１に記載の方法。
【請求項８】
前記認証要求および前記アクセス要求のうちの１つ以上が暗号化される、請求項１に記載の方法。
【請求項９】
前記暗号化された秘密メッセージは、前記ＲＦＩＤタグと前記暗号化されたアクセス機能とに関連付けられた秘密メッセージに対してハッシュ関数を適用することによって作成される、請求項１に記載の方法。
【請求項１０】
ＲＦＩＤネットワークのための相互認証プロトコルを提供するためのシステムであってＲＦＩＤタグを備え、当該ＲＦＩＤタグは、
１つ以上の秘密メッセージと、
１つ以上の作業領域と、
データを暗号化するための１つ以上のハッシュ関数と、
プログラム命令であって、
暗号化されたアクセス機能を含む認証要求を、要求者から前記ＲＦＩＤタグで受信するステップと、
前記認証要求の受信に応答して、前記暗号化されたアクセス機能に対応する暗号化された秘密メッセージのうちの１つを暗号化することによって作成される暗号化された秘密メッセージを前記要求者へ送信するステップと、
前記要求者からアクセス要求を前記ＲＦＩＤタグで受信するステップであって、前記アクセス要求は、前記暗号化された秘密メッセージを使用して前記要求者によって前記ＲＦＩＤタグが成功裏に認証されたことに応答して前記要求者によって生成され、および、前記アクセス要求は、作業領域を指定し、暗号化された乱数を含む、ステップと、
前記要求者を前記ＲＦＩＤタグで認証するステップであって、
前記要求者によって送られた前記乱数の値を判断するステップと、
前記作業領域が前記暗号化されたアクセス機能に対して有効であることを検証するステップと
を含む、ステップと、
前記要求者が前記ＲＦＩＤにおいて成功裏に認証されたことに応答して、前記乱数の値を暗号鍵として使用して前記アクセス要求に応答するステップと
を促進する、プログラム命令と
を含む、システム。
【請求項１１】
前記ＲＦＩＤタグは、受動ＲＦＩＤタグである、請求項１０に記載のシステム。
【請求項１２】
前記ＲＦＩＤタグを認証するための、および前記認証とアクセス要求とを生成し送信するための、バックエンド・システムをさらに備える、請求項１０に記載のシステム。
【請求項１３】
前記要求者と前記ＲＦＩＤタグとの間でデータを送信するためのＲＦＩＤリーダをさらに備える、請求項１０に記載のシステム。
【請求項１４】
ＲＦＩＤセキュリティのための相互認証を提供するためのコンピュータ・プログラムであって、処理回路によって読み出し可能な記憶媒体に記憶され、前記処理回路に、
暗号化されたアクセス機能を含む認証要求を、要求者からＲＦＩＤタグで受信するステップと、
前記認証要求の受信に応答して、前記暗号化されたアクセス機能に応答する暗号化された秘密メッセージを前記要求者へ送信するステップと、
前記要求者からアクセス要求を前記ＲＦＩＤタグで受信するステップであって、前記アクセス要求は、前記暗号化された秘密メッセージを使用して前記要求者によって前記ＲＦＩＤタグが成功裏に認証されたことに応答して前記要求者によって生成され、および、前記アクセス要求は、作業領域を指定し、暗号化された乱数を含む、ステップと、
前記要求者を前記ＲＦＩＤタグで認証するステップであって、
前記要求者によって送られた前記乱数の値を判断するステップと、
前記作業領域が前記暗号化されたアクセス機能に対して有効であることを検証するステップと
を含む、ステップと、
前記要求者が前記ＲＦＩＤにおいて成功裏に認証されたことに応答して、前記乱数の値を暗号鍵として使用して前記アクセス要求に応答するステップと
を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、無線周波識別（ＲＦＩＤ）に関し、より特定的には、ＲＦＩＤシステムにおけるセキュリティの提供に関する。
【背景技術】
【０００２】
無線周波識別（ＲＦＩＤ）は、製造、サプライ・チェーン管理、および在庫管理において利用されつつある有用なツールである。ＲＦＩＤシステムにおいては、オブジェクトを識別するデータを搬送するＲＦＩＤタグ、言い換えればトランスポンダと、タグ・データを読み出しかつ書き込むＲＦＩＤリーダ、言い換えればトランシーバという、２つの重要な要素がある。基本的には、タグ・リーダは、近傍のタグに記憶された情報にアクセスする無線周波信号を同報通信する。この情報は、静的な識別番号から、ユーザが書き込んだデータまたはタグによって計算されたデータまで及びうる。タグは、典型的には固有の連続番号または電子製品コード（ＥＰＣ）を含む常駐データをリーダに送り返すことによって応答する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
受動タグとも称されることもある低コストのＲＦＩＤタグの入手しやすさが、ＲＦＩＤ技術が広範に採用される理由の１つとなっている。しかしながら、そのようなタグの導入は、タグの強力な追跡能力がゆえに、ユーザのプライバシーに対する新たな脅威となっている場合がある。その結果、ＲＦＩＤタグに関連するプライバシー上の問題に対処するための、受動タグに対するセキュリティ手法を実施することが有用であろう。しかしながら、ＲＦＩＤタグにおいてセキュリティを提供することは、リソースの制約が大きく、かつ強力な暗号化技術をサポートすることができないので、困難な作業である。
【０００４】
ＲＦＩＤタグ自身には、アクセス制御機能はないので、どのリーダもそこから情報を自由に取得することができる。他のセキュリティ上の問題としては、タグとリーダとの間の通信は咽んで行われるので、誰でもタグをアクセスしてその出力を取得できることがある（例えば、攻撃者は、タグとリーダとの間の通信チャンネルに対して盗聴することができる）。何らかの暗号化能力を提供することによって、タグとリーダとの間を通るデータを保護するための認証手法をＲＦＩＤが提供することが望ましいだろう。
【０００５】
ＲＦＩＤシステム・セキュリティを提供するためのいくつかの解決策が提案されている。ある取り組みにおいては、ファラデー箱のような特別の装置と、ブロッカー・タグと、アクティブ・ジャミングを必要とする。ファラデー箱は、ある周波数の無線信号を通過させない金属網または金属箔でできた容器である。ファラデー箱は、ＲＦＩＤタグが読み出されるのを防止する。容器内に都合よく設置することができない広範囲のオブジェクトにおけるＲＦＩＤタグの使用を、例えば、衣類上、腕時計内、そしてもしかすると人間の表面または内部でも行うことになることは容易に予測される。ブロッカー・タグは、予想される連続番号タグの全スペクトルをシミュレーションすることによって、他のタグの連続番号を不明瞭にする装置である。アクティブ・ジャミングの使用には、近傍のいずれのＲＦＩＤリーダの動作をも阻止または混乱あるいはその両方をさせないようにするために、無線信号を積極的に同報通信する装置を顧客に搬送させることを伴う。アプリケーションのある位置において、他のシステムを素子または混乱させるためにアクティブ・ジャミングを使用すると、該当する行政法規によっては違法となることがある。ＲＦＩＤシステム内でセキュリティを提供するためのこれら３つの取り組みは、タグおよびリーダのほかに動作させる追加の装置を必要とし、ＲＦＩＤシステムにおいてセキュリティを提供するための堅固で導入が容易な策を提供することがどれも困難である。
【０００６】
ＲＦＩＤシステム・セキュリティを提供する他の取り組みには、無線周波数を修正する取り組みと称されるものがある。そのような取り組みのうちの１つは、ランダムな周波数をリーダが使用して、権限のないユーザがトラフィックを容易に検出したり盗聴をしたりできないようにするものがある。他の方法は、修正されつつあることを示す予備の周波数上で信号を送信するために特に指定されたタグを使用することによって、周波数をタグが変更することを伴う。無線周波数を修正する取り組みの欠点は、実行時の無線周波数を変更することが示唆されるので、複雑な回路が必要となってしまい、そのような装置を構築するコストが比較的高くなってしまうということである。タグのコストは、業界においてＲＦＩＤによる解決策を広範に採用するための重要な要因である。
【０００７】
他の方法として、「キル・タグ」と称されるものがあり、消費者の手に渡る前（例えば、タグ付きの商品が購入されたとき）にＲＦＩＤタグをキル（無効にする）または動作させないようにすることを伴う。キルされたタグは再び動作されることが決してないので、この取り組みは、製品が購入場所に返却される場合にＲＦＩＤタグを走査する機能をサポートすることにはならない。
【０００８】
受動ＲＦＩＤタグの使用の増加が予想されるので、現在の手法が有する上述の欠点を回避する、ＲＦＩＤシステムのための低コストのセキュリティ手法を実施することが望ましいだろう。
【課題を解決するための手段】
【０００９】
実施形態は、無線周波識別（ＲＦＩＤ）セキュリティのための相互認証を提供するための方法を含む。一方法は、暗号化されたアクセス機能を含む認証要求を、要求者からＲＦＩＤタグで受信するステップを含む。認証要求の受信に応答して、暗号化された秘密メッセージが要求者へ送信される。暗号化された秘密メッセージは、要求者から受信された暗号化されたアクセス機能に基づく。作業領域を指定し、かつ暗号化された乱数を含むアクセス要求が、要求者からＲＦＩＤタグで受信される。アクセス要求は、暗号化された秘密メッセージを使用して要求者によってＲＦＩＤタグが成功裏に認証されたことに応答して、要求者によって作成されている。要求者は、ＲＦＩＤタグで認証される。当該認証は、要求者によって送られた乱数の値を判断するステップと、作業領域が暗号化されたアクセス機能に対して有効であることを検証するステップとを含む。当該認証が成功した場合には、ＲＦＩＤタグは、乱数の値を暗号鍵として使用して、アクセス要求に応答する。
【００１０】
さらなる実施形態は、ＲＦＩＤネットワークのための相互認証プロトコルを提供するためのシステムを含む。一システムは、１つ以上の秘密メッセージと、１つ以上の作業領域と、データを暗号化するための１つ以上のハッシュ関数と、プログラム命令とを含むＲＦＩＤタグを含む。当該プログラム命令は、認証要求を要求者からＲＦＩＤタグで受信することを促進する。認証要求は、暗号化されたアクセス機能を含む。認証要求の受信に応答して、暗号化された秘密メッセージが要求者に送信される。暗号化された秘密メッセージは、暗号化されたアクセス機能に対応する暗号化された秘密メッセージのうちの１つを暗号化することによって、ＲＦＩＤタグで作成される。ＲＦＩＤ上の作業領域のうちの１つを指定し、かつ暗号化された乱数を含むアクセス要求が、要求者からＲＦＩＤタグで受信される。アクセス要求は、暗号化された秘密メッセージを使用して要求者によってＲＦＩＤタグが成功裏に認証されたことに応答して、要求者によって生成されたものである。要求者は、ＲＦＩＤタグで認証される。当該認証は、要求者によって送られた乱数の値を判断するステップと、作業領域が暗号化されたアクセス機能に対して有効であることを検証するステップとを含む。当該認証が成功した場合には、ＲＦＩＤタグは、乱数の値を暗号鍵として使用して、アクセス要求に応答する。
【００１１】
さらなる実施形態は、ＲＦＩＤセキュリティのための相互認証を提供するためのコンピュータ・プログラムが記憶された記憶媒体を含む。当該コンピュータ・プログラムは、処理回路によって読み出し可能な記憶媒体に記憶され、方法を促進するために処理回路によって実行される命令を記憶している。当該方法は、暗号化されたアクセス機能を含む認証要求を、要求者からＲＦＩＤタグで受信するステップを含む。認証要求の受信に応答して、暗号化された秘密メッセージが要求者へ送信される。暗号化された秘密メッセージは、要求者から受信された暗号化されたアクセス機能に基づく。作業領域を指定し、かつ暗号化された乱数を含むアクセス要求が、要求者からＲＦＩＤタグで受信される。アクセス要求は、暗号化された秘密メッセージを使用して要求者によってＲＦＩＤタグが成功裏に認証されたことに応答して、要求者によって作成されている。要求者は、ＲＦＩＤタグで認証される。当該認証は、要求者によって送られた乱数の値を判断するステップと、作業領域が暗号化されたアクセス機能に対して有効であることを検証するステップとを含む。当該認証が成功した場合には、ＲＦＩＤタグは、乱数の値を暗号鍵として使用して、アクセス要求に応答する。
【００１２】
実施形態に係る他のシステム、方法、またはコンピュータ・プログラムが記憶された記憶媒体あるいはそのすべては、以下の図面および詳細な説明を検討すれば、当業者にとって明らかであろうし、または明らかになるであろう。すべてのそのような追加のシステム、方法、またはコンピュータ・プログラムが記憶された記憶媒体あるいはそのすべては、本説明に含まれるものであり、本発明の範囲内のものであり、添付の請求項によって保護されることが意図されている。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照する。図面において、同様の構成要素は、数枚の図面において同様に番号付けされる。
【００１４】
実施形態例は、受動タグを使用するＲＦＩＤシステムに対する軽量な相互認証プロトコルを提供する。バックエンド認証システム、ＲＦＩＤタグ、およびＲＦＩＤリーダを使用して、バックエンドシステムとＲＦＩＤタグとの両方に対して認証が行われるセキュリティ・フレームワークを提供する。
【００１５】
実施形態例は、ＲＦＩＤタグ出力の弁別不可能性（ｉｎｄｉｓｔｉｎｇｕｉｓｈａｂｉｌｉｔｙ）に対する要件を満たすと共に、フォワード・セキュリティに対する要件をも満たすように設計されている。弁別不可能性とは、ＲＦＩＤタグ出力が真にランダムな値から弁別不可能でなければならないという要件のことをいう。さらに、ＲＦＩＤタグ出力は、ＲＦＩＤタグの識別とリンク可能であってはならない。フォワード・セキュリティとは、タグに記憶された秘密タグ・データを盗聴者が取得した場合であっても、タグが関わった過去のイベントを通じてデータを遡って追跡できないという要件である。上述のセキュリティ要件を満たす取り組みの１つに、ＲＳＡなどの公開鍵アルゴリズムの使用がある。しかしながら、受動タグは非常にリソースに制約があるので、公開鍵アルゴリズムをＲＦＩＤタグ装置に実施することができない。
【００１６】
実施形態例は、２００３年ＭＩＴ  ＲＦＩＤプライバシー・ワークショップにおいて提示された「Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ａｐｐｒｏａｃｈ  ｔｏ  『Ｐｒｉｖａｃｙ  Ｆｒｉｅｎｄｌｙ』Ｔａｇｓ」という記事においてオオクボが教示したようなハッシュ関数ＲＦＩＤ認証手法において構築する簡易なセキュリティ手法を提供する。図１は、ハッシュ・チェーン手法を使用して、初期秘密タグ情報が与えられたリーダにタグ出力を生じさせる、オオクボの手法のブロック図を示す。図１に示すように、Ｓｉは、ｉ番目のトランザクション（読み出し／書き込みクエリ）において使用されている秘密情報であり、ａｉは、当該トランザクションのためのタグ出力である。ＨおよびＧは、１方向のハッシュ関数である。図１に示す手法には、いくつかの欠点がある。第１に、ハッシュ関数の出力は、もっぱらａｉの値に依存していることである。第２に、これは１方向の認証プロトコルであることである。第３に、リーダとバックエンド・システムとの間にセキュリティ・チャンネルが確立されていないことである。
【００１７】
オオクボにおいて記載されたハッシュ・チェーンに対する拡張は、フォワード・セキュリティ要件を達成するようにＲＦＩＤタグの秘密情報を更新するための実施形態例によって使用される。オオクボの手法に対する負荷により、双方向または総合の認証が実施され、ＲＦＩＤタグ出力の弁別不可能性が拡張される。実施形態例は、非定値タグ出力を作成してタグをさらに弁別不可能にすることによって、オオクボの技術を改良している。実施形態例のタグ出力は、タグをよりさらに弁別不可能にするために、ａｉだけではなく、何らかの他のランダムなパラメータにも基づいている。加えて、実施形態例は、バックエンド・システム、ＲＦＩＤリーダ、およびＲＦＩＤタグを含むＲＦＩＤネットワーク全体に対して中核となるＲＦＩＤセキュリティ・フレームワークを作成する。バックエンド・システムは、主に、リーダのためにタグから転送されたデータまたはタグに転送されたデータを検証および処理するためのものである。ＲＦＩＤリーダの対するセキュリティ上の懸念に取り組むために、実施形態例は、リーダと、バックエンドとの間のＲＳＡなどの公開鍵アルゴリズムを使用して、バックエンド・システムに接続することが許可された権限のあるリーダのみを確保することを含む。
【００１８】
図２は、実施形態例に係る、ＲＦＩＤセキュリティを提供するためのシステム例を示す。ＲＦＩＤタグ２０６は、リーダによって読み出される（読み出しアクセス）か、または書き込まれる（書き込みアクセス）ことができるデータを記憶するための、セクションまたは領域（Ａ１，Ａ２，…ＡＫとして示す）を有することができる。記憶されている対応データは、ＤＡ１，ＤＡ２，…ＤＡＫによって示す。
【００１９】
秘密情報およびＥＰＣコード（ＩＤ）のほかに、タグ２０６は、トランザクション・カウンタＴｘを記憶し、これは、８バイトの値として実施されてもよい。トランザクション点カウンタは、ハッシュ関数Ｈを介して更新されている。初期値は１であり、各読み出しまたは書き込みトランザクション後に増分される。
【００２０】
バックエンド・システム２０２は、（（ＩＤ；Ｓ０）の代わりに）対（Ｇ｛ＩＤ｝；Ｓ０）のリストを記憶する。こうする目的は、ＩＤを直接公開することなく、タグのルック・アップ処理を効果的かつ効率的にすることにある。さらに、各対は、バックエンド・システム２０２が特定のタグ２０６に対する読み出しおよび書き込みアクセスの両方に権限を有することが可能な数多くのセクション／領域を登録している。
【００２１】
ＨおよびＧは、タグ２０６およびバックエンド・システム２０２に既知でなければならない１方向ハッシュ関数である。両ハッシュ関数は、ｙ＝Ｈ（ｘ）である所定のｙに対するｘを見つけることが困難なような、計算が実行できないものである。
【００２２】
公開鍵インフラストラクチャ（ＰＫＩ）が、バックエンド・システム２０２と認証されたリーダ２０４との間で設定されているものとする。バックエンド・システム２０２は、認証済みのリーダ２０４の公開鍵のリストを自身の秘密鍵と共に保持しており、リーダ２０４は、自身の秘密鍵に加えて、バックエンド・システム２０２の公開鍵を保有している。図２に示すように、ＵＲＡはリーダＡの公開鍵、ＵＲＢは、リーダＢの公開鍵といった具合であって、ＵＲＭはリーダＭの公開鍵、ＰＲＡはリーダＭの秘密鍵である。Ｕｂａｃｋ−ｅｎｄはバックエンド・システム２０２の公開鍵であり、Ｐｂａｃｋ−ｅｎｄはバックエンド・システム２０２の秘密鍵である。
【００２３】
図２に示すように、実施形態例において、リーダ２０４は、バックエンド・システム２０２に対してデータを渡すことになる。基本的には、リーダ２０４は、なんらビジネス論理を含むものではないが、バックエンド・システム２０２とタグ２０６との間のデータ転送のために使用される。リーダ２０４内の唯一の計算機能は、自身の秘密鍵とバックエンド・システム２０２の公開鍵とを使用して、データを暗号化してそれをバックエンド・システム２０２へ転送することである。これに対して、バックエンド・システム２０２は、リーダ２０４へデータを転送する際に、自身の秘密鍵とリーダ２０４の公開鍵とを使用する。リーダとバックエンド・システム２０２と間でＰＫＩを使用しているので、このチャンネルは盗聴者からの攻撃に対して安全であると推定される。よって、実施形態例は、本明細書に記載されているように、ＲＦＩＤのセキュリティの問題に対処するように、ＲＦＩＤタグ２０６とリーダ２０４との間のチャンネル内において、非定値タグ出力をランダム化された鍵と共にいかに設定するかが焦点となっている。
【００２４】
上述のように、例示のＲＦＩＤシステムは、秘密メッセージと作業領域とを含みかつ２つのハッシュ関数を使用するＲＦＩＤ受動タグ２０６を含む。また、ＲＦＩＤシステムは、リーダ２０４を介してタグ２０６から転送されたデータまたはタグ２０６へ転送するデータを検証および処理するバックエンド・システム２０２と、タグ２０６とバックエンド・システム２０２との間でデータを送信するＲＦＩＤリーダ２０４とを含む。
【００２５】
図３は、ＲＦＩＤネットワークまたはシステムにおいて使用される、軽量のチャレンジ・レスポンス・セキュリティ・プロトコル認証手法を提供するための実施形態例によって実施されるような処理フロー例を示す。ここで使用されるように、上付き文字「ｂ」を有する任意の変数は、バックエンド・サーバによって生成される変数を示し、「ｔ」を上付き文字として有する任意の変数は、タグをソースとしていることを示す。図３のブロック３０２において、認証要求が要求者（例えば、ＲＦＩＤリーダ２０４を介したバックエンド・システム２０２）から受信される。ブロック３０４において、ＲＦＩＤタグ２０６は、暗号化された秘密メッセージと、その暗号化されたＲＦＩＤタグ識別子と、トランザクション・カウンタとを要求元のバックエンド・システム２０２へＲＦＩＤリーダ２０４を介して送信する。実施形態例において、ＲＦＩＤタグ２０６は、非定値タグ出力をＲＦＩＤリーダ２０４へ送り、ＲＦＩＤリーダ２０４は、非定値タグ出力をバックエンド・システム２０２へ送る。ブロック３０６において、バックエンド・システム２０２は、ＲＦＩＤタグ２０６からＲＦＩＤリーダ２０４を介して受信する非定値タグ出力に基づいて、ＲＦＩＤタグ２０６を認証する。ＲＦＩＤタグ２０６のバックエンド・システム２０２における認証が成功した場合には、ブロック３０８において判断されるように、バックエンド・システム２０２は、ランダム化された鍵を含むアクセス要求をチャレンジ・レスポンスと共にＲＦＩＤリーダ２０４へ送り、ＲＦＩＤリーダ２０４は、当該ランダム化された鍵をチャレンジ・レスポンスと共にＲＦＩＤタグ２０６へ送る。
【００２６】
ブロック３１０において、ＲＦＩＤタグ２０６は、要求者からアクセス要求を受信する。ブロック３１２において、ＲＦＩＤタグ２０６は、ＲＦＩＤリーダ２０４を介してバックエンド・システム２０２から受信したランダム化された鍵およびチャレンジ・レスポンスに基づいて、バックエンド・システム２０２を認証する。バックエンド・システム２０２のＲＦＩＤタグ２０６における認証が成功した場合には、ブロック３１４において判断されるように、ブロック３１６が行われて、ＲＦＩＤタグ２０６は、ＲＦＩＤリーダ２０４を介してバックエンド・システム２０２によって送られたアクセス要求に対して応答する。バックエンド・システム２０２は、公開鍵アルゴリズムによって保護されて、権限のあるリーダ２０４だけがバックエンド・システム２０２に接続できるようになる。加えて、図３に示すような実施形態例において、タグ２０６は、トランザクション・カウンタ値Ｔｘと、ハッシュ出力Ｇ｛ｓｉ（＋）Ｔｘ｝と、そのハッシュＲＦＩＤ識別Ｇ｛ＩＤＴａｇＮ｝とを送信することによって、バックエンド・システム２０２の要求に応答する。
なお、式中の（＋）は
【００２７】
【数１】
2008104169.tif 000003
【００２８】
の意味であり、以下記号（＋）を使用する。式中、「ｉ」は、ｉ番目のトランザクションを表し、Ｇは、１方向のハッシュ関数であり、（＋）、言い換えればＸＯＲは、排他的論理和演算であり、ＩＤＴａｇＮは、ＲＦＩＤタグ２０６の識別子であり、ｓｉは、１方向ハッシュ関数Ｈをその秘密メッセージｓ０に対して「Ｔｘ」回適用することによって生成される。
【００２９】
実施形態例において、ブロック３０６でタグ２０６からトランザクション・カウンタ値Ｔｘとハッシュ出力とを受信することに応答して、バックエンド・システム２０２は、Ｇ｛ＩＤＴａｇＮ｝を使用して、対応する秘密メッセージｓ０を見つけるために内部タグ・リストをルックアップする。見つかった場合には、バックエンド・システムは、ハッシュ関数Ｈを、タグ２０６に関連した秘密メッセージ「ｓ０」に対して「Ｔｘ」回適用することによって、値「ｓｂｉ」を生成することになる。その後、ハッシュ出力Ｇ｛ｓｂｉ（＋）Ｔｘ｝が計算される。その後、バックエンド・システム２０２は、Ｇ｛ｓｂｉ（＋）Ｔｘ｝とＧ｛ｓｉ（＋）Ｔｘ｝とを比較し、これらが等しい場合には、タグ２０６はバックエンド・システム２０２によって認証される。タグ２０６を認証すると、バックエンド・システム２０２は、ランダム・セッション番号Ｒｂｎを生成し、出力をタグ２０６へ送信する。当該出力は、Ｒｂｎ（＋）Ｇ｛ｓｂｉ｝と、Ｇ｛ｓｂｉ（＋）Ｒｂｎ（＋）Ａｊ｝と、Ａｊとを含み、Ａｊは、タグ２０６の作業領域を表わす。
【００３０】
実施形態例において、ブロック３１０において、タグ２０６は、アクセス要求出力をバックエンド・システム２０２から受信する。アクセス要求は、Ｒｂｎ（＋）Ｇ｛ｓｂｉ｝と、Ｇ｛ｓｂｉ（＋）Ｒｂｎ（＋）Ａｊ｝と、Ａｊとを含む。ブロック３１２において、タグ２０６は、まず、Ｒｂｎと、Ｇ｛ｓｂｉ｝と、自身のＧ｛ｓｉ｝に対してＸＯＲ演算を行うことによってランダム・セッション番号Ｒｂｎを計算することによって、バックエンド・システム２０２を認証する。なぜならば、ｓｂｉがｓｉに等しいときかつそのときに限り、Ｒｂｎ（＋）Ｇ｛ｓｂｉ｝（＋）Ｇ｛ｓｉ｝は、Ｒｂｎと等しいからである。入力のソースを区別するために、Ｒｔｎを使用して、タグ２０６において使用される乱数を表し、Ｒｂｎは、Ｒｔｎに等しい。タグ２０６は、ハッシュ出力Ｇ｛ｓｉ（＋）Ｒｔｎ（＋）Ａｊ｝を計算して、当該値がＧ｛ｓｂｉ（＋）Ｒｂｎ（＋）Ａｊ｝と等しいかどうか調べる。これらが等しければ、バックエンド・システムは、タグ２０６によって認証される。相互認証が確立されると、データは、ブロック３１６において、タグ２０６とバックエンド・システム２０２との間で転送可能である。タグ２０６とバックエンド・システム２０２との中間を通るデータを保護するために、乱数セッションＲｂｎが暗号化のための鍵として使用される。転送される各データ毎に、送信者（読み出しクエリの場合はタグ２０６、書き込みクエリの場合はバックエンド・システム２０２）は、Ｇ｛Ｒｂｎ（＋）ｄａｔａと、Ｇ｛ｄａｔａ｝という２つの要素を生じさせる。ここで、Ｇは、１方向のハッシュ関数である。
【００３１】
図４は、実施形態例によって実施されうる読み出し処理のブロック図である。はじめに、ｉ番目のトランザクション・コンテキストにおいて、バックエンド・システム２０２は、読み出しクエリ（本明細書において、読み出しのクエリ型とも称する）をタグ２０６へ送り、セクションＡｊ内のタグのデータを読み出す。ここで、ｊ∋［ｌ，ｋ］であり、ｋはタグにおいて定義されるセクションの総数を表す。第２に、タグ２０６は、Ｔｘと、Ｇ｛ｓｉ（＋）Ｔｘ｝と、Ｇ（ＩＤＴａｇＮ）という３つの要素で応答する。第３に、タグの応答を受信した後にで、バックエンド・システム２０２は、Ｇ｛ＩＤＴａｇＮ｝を使用して、対応するＳ０を見つけるために自身の内部のタグ・リストをルック・アップする。見つかると、バックエンド・システム２０２は、値ｓｂｉ＝ＨＴｘ｛ｓ０｝を計算し、Ｇ｛ｓｉ（＋）Ｔｘ｝を計算して、これがＧ｛ｓｉ（＋）Ｔｘ｝と等しいかどうかを調べる。この等式は、ｓｂｉがｓｉに等しいときかつそのときに限って成り立つ。これらが互いに一致すれば、タグ２０６は、バックエンド・システム２０２の観点から認証される。
【００３２】
第４に、一致するタグの位置がわかったら、バックエンド・システム２０２は、ランダム・セッション番号Ｒｂｎを生成して、Ｒｂｎ（＋）Ｇ｛ｓｂｉ｝と、Ｇ｛ｓｂｉ（＋）Ｒｂｎ（＋）Ａｊ｝と、Ａｊとを含む３つの要素をタグ２０６に渡し返す。ここで、Ａｊは、バックエンド・システム２０２がアクセスすることになるセクション／領域である。第５に、バックエンド・システム２０２からセッション情報を受信すると、タグ２０６は、Ｒｂｎ（＋）Ｇ｛ｓｂｉ｝に対して自身のＧ｛ｓｉ｝でＸＯＲを行うことによって、ランダム・セッション番号Ｒｂｎをこのトランザクションから抽出することになる。なぜならば、ｓｂｉがｓｉに等しいときかつそのときに限って、Ｒｂｎ（＋）Ｇ｛ｓｂｉ｝（＋）Ｇ｛ｓｉ｝＝Ｒｂｎであるからである。Ｒｂｎ（本明細書において、別の弁別不可能なものとしてＲｔｎとも称される）を取得した後、Ｇ｛ｓｉ（＋）Ｒｔｎ（＋）Ａｊ｝を計算して、Ｇ｛ｓｉ（＋）Ｒｔｎ（＋）Ａｊ｝と等しいかどうかをチェックする。これらが互いに一致すれば（ｓｂｉがｓｉに等しくＲｂｎ＝Ｒｔｎのときかつそのときに限って生じる）、バックエンド・システム２０２は、タグ２０６で認証される。この段階において、タグ２０６とバックエンド・システム２０２との相互認証が確立される。
【００３３】
図４をまだ参照すると、認証の成立が成功すると、読み出しクエリを実行する第６のステップは、タグ２０６がＲｔｎを使用してＡｊ内にデータＤＡｊを暗号化する。これは、要素Ｇ｛Ｒｔｎ｝（＋）ＤＡｊを作成して、それをバックエンド・システム２０２へ渡すことによって行われる。最後に、タグ２０６は、Ｓｉ＋１＝Ｈ｛Ｓｉ｝を実行してＴｘを１だけ増分することによって、秘密情報を更新する。第７のステップは、バックエンド・システム２０２が要素Ｇ｛Ｒｔｎ｝（＋）ＤＡｊを受信すると生じる。バックエンド・システム２０２は、Ｇ｛Ｒｔｎ｝を計算して、その後、受信されたＧ｛Ｒｔｎ｝（＋）ＤＡｊでＸＯＲを行う。なぜならば、ＲｂｎがＲｔｎに等しいときかつそのときに限ってＧ｛Ｒｂｎ｝（＋）Ｇ｛Ｒｔｎ｝（＋）ＤＡｊ＝ＤＡｊだからである。この時点で、このセッションについての読み出しアクセス処理手順は完了する。
【００３４】
ステップ２および４における両タグ出力はある程度ランダム化される。なぜならば、前者のステップは、異なるトランザクションについて異なるｓｉを有し、ランダム・セッション番号Ｒｔｎは、後者のステップにおいて使用されているからである。実施形態例は、セキュリティ要件、すなわち、弁別不可能性とフォワード・セキュリティを以下のように満たしている。Ｇは、１方向関数なので、敵（または盗聴者）がタグ出力を見る場合に、Ｇ｛ｓｉ（＋）Ｔｘ｝と、Ｇ｛ｓｉ＋１（＋）Ｔｘ｝とをリンクさせることができない。Ｈは、１方向ハッシュ関数なので、敵がタグ２０６を改ざんしてタグ２０６内のｓｉを取得しても、ｓｉとｓｉ＋１とを区別することができない。さらに、互いに異なるトランザクションにおける必要なデータでＸＯＲを行うために、異なるランダム・セッション番号を使用しているので、本手法は、暗号化されたデータを渡すための要件をも達成している。効率性の観点から、本明細書に記載の実施形態例は、必要なゲート・サイズが小さい演算のみを使用しているので、低コストのＲＦＩＤタグ２０６を生じさせるのに充分効率的である。よって、実施形態例は、低コストのＲＦＩＤタグ２０６にとって実用的であり、かつプライバシーをも保証するものである。
【００３５】
図５は、実施形態例によって実施されうる書き込み処理のブロック図である。実施形態において、最初の５つのステップは、図４を参照して上述した読み出し処理の最初の５つのステップと同一である。認証の成立が成功すると、書き込みのクエリ型を実行する第６のステップは、タグ２０６が要素Ｇ｛Ｒｔｎ｝（＋）Ｒｔｎをバックエンド・システム２０２へ渡して、Ａｊに書き込むべきデータを受信する準備ができた旨を示す。これは、タグ２０６からの肯定応答（ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）とみなされる。第７のステップは、バックエンド・システム２０２がタグ２０６から当該要素を受信した場合に行われる。バックエンド・システム２０２は、Ｒｂｎを抽出し戻すために、Ｇ｛Ｒｂｎ｝を計算して肯定応答Ｇ｛Ｒｔｎ｝（＋）ＲｔｎでＸＯＲを行うことによって、チェックを行う。なぜならば、ＲｂｎがＲｔｎに等しいときかつそのときに限り、Ｇ｛Ｒｂｎ｝（＋）Ｇ｛Ｒｔｎ｝（＋）Ｒｔｎ＝Ｒｂｎだからである
【００３６】
書き込みクエリを実行する第８のステップは、図５に示すように、バックエンド・システム２０２が肯定応答チェックを完了すると生じる。バックエンド・システム２０２は、Ｒｂｎを使用して、要素Ｇ｛Ｒｂｎ｝（＋）ＤＡｊを作成してそれをタグ２０６へ渡すことによって、領域ＡｊについてのデータＤＡｊを暗号化する。第９のステップにおいて、タグ２０６は、要素Ｇ｛Ｒｂｎ｝（＋）ＤＡｊを受信する。タグは、Ｇ｛Ｒｔｎ｝を計算し、受信したＧ｛Ｒｂｎ｝（＋）ＤＡｊでＸＯＲを行うことができる。なぜならば、ＲｂｎがＲｔｎに等しいときかつそのときに限り、Ｇ｛Ｒｔｎ｝（＋）Ｇ｛Ｒｂｎ｝（＋）ＤＡｊ＝ＤＡｊだからである。この時点で、書き込みアクセス処理手順は完全に完了する。最後に、タグ２０６は、ｓｉ＋１＝Ｈ｛ｓｉ｝を行って秘密情報を更新することになり、Ｔｘを増分する。
【００３７】
図６は、実施形態例によって実施されうるトランザクション・カウンタ・リセット処理のブロック図である。上述のように、実施形態において、トランザクション・カウンタＴｘは、各読み出し／書き込みアクセス・トランザクション後に増分される。Ｔｘの値が大きすぎてバックエンド・システム２０２からｓｂｉ＝ＨＴｘ｛ｓ０｝を行うことが計算的に高くつく点がある場合がある。よって、他の動作であるリセットを使用して、Ｔｘの値を初期値１にリセットしてもよい。リセット・クエリは、バックエンド・システム２０２によって呼び出される。
【００３８】
基本的には、リセット動作は、図５を参照して上述した書き込みアクセスの場合と同一であるが、Ｇ｛Ｒｂｎ｝（＋）ＤＡｊの代わりにＧ｛Ｒｂｎ｝（＋）ｓ０を渡すことが異なっている。それを受信すると、タグ２０６は、Ｇ｛Ｒｂｎ｝（＋）ｓ０でＸＯＲを行うことによって、初期秘密情報Ｓ０を取り戻すことができる。なぜならば、ＲｂｎがＲｔｎに等しいときかつそのときに限り、Ｇ｛Ｒｔｎ｝（＋）Ｇ｛Ｒｂｎ｝（＋）ｓ０＝ｓ０だからである。最後に、Ｔｘを１にリセットすることになる。
【００３９】
代替実施形態が、同時タグ・アクセスのための拡張された相互認証プロトコルを提供する。複数のバックエンド・システム２０２のアクセスの互いに異なる機能によってアクセス可能である必要がある場合に実施されてもよい。複数のバックエンド・システム２０２がタグ２０６に同時にアクセスできるようにするために、本明細書において説明する認証アルゴリズムの例は、以下のように修正されてもよい。タグ２０６に対する修正は、以下のものを含む。システム管理、在庫管理、および価格付けなどの互いに異なるアクセス機能を定義し、互いに異なるアクセス機能に対応するように互いに異なる秘密メッセージＳ０を作成し、各アクセス機能は、タグ２０６上の１つ以上の作業領域に関連付けられ、タグの秘密メッセージｓ０は、（Ｇ｛ａｃｃｅｓｓＲｏｌｅ｝，Ｓ０ａｃｃｅｓｓＲｏｌｅ，｛認証された作業領域のリスト｝）という三重項によって置き換えられる。新たな三重項の例としては、（Ｇ｛ＩｎｖｅｎｔｏｒｙＭａｎａｇｅｍｅｎｔＣｏｄｅ｝，Ｓ０ＩｎｖｅｎｔｏｒｙＭａｎａｇｅｍｅｎｔＣｏｄｅ，｛Ａ３，Ａ４｝）がある。
【００４０】
また、バックエンド・システム２０２は、同時タグ・アクセスのための拡張された相互認証プロトコルを提供するように修正される。処理を開始するために、バックエンド・システム２０２は、パラメータＧ｛ａｃｃｅｓｓＲｏｌｅ｝を初期クエリ（読み出し／書き込み／リセット）と共にタグ２０６へ渡す。タグ２０６がバックエンド・システム２０２からクエリを受信すると、与えられたＧ｛ａｃｃｅｓｓＲｏｌｅ｝を使用して、正しい秘密メッセージＳ０ａｃｃｅｓｓＴｙｐｅをルックアップする。その後、上述のように、３つのパラメータ（Ｔｘ，Ｇ｛Ｓ０ａｃｃｅｓｓＴｙｐｅ（＋）Ｔｘ｝，Ｇ｛ＩＤＴａｇＮ｝｝をバックエンド・システム２０２へ渡す。本例において、Ｔｘはトランザクション・カウンタ、Ｓ０ａｃｃｅｓｓＲｏｌｅは所定のアクセス機能のための秘密メッセージ、ＩＤＴａｇＮはタグ２０６の識別子、Ｇは１方向ハッシュ関数である。タグ２０６がバックエンド・システム２０２で認証されると、バックエンド・システム２０２は、上述のようにアクセスしたい作業領域を含む様々なパラメータを渡すことによって、タグ２０６で認証される。先に与えられたアクセス機能に基づいて、タグ２０６が受信要求に合致した許可作業領域を見つけられない場合には、バックエンド・システム２０２は、タグ２０６で認証されない。
【００４１】
タグ２０６は複数のバックエンド・システム２０２によってアクセス可能であると仮定すると、タグ２０６は、互いに異なるバックエンド・システム２０２からの複数の要求を同時に処理していることが可能である。この場合に、１だけ増分されるか読み出し／書き込みクエリの最後で第１のバックエンド・システム２０２によってリセットされるようにトランザクション・カウンタＴｘを制御しつつ、第２のバックエンド・システム２０２が同一のトランザクション・カウンタを読み出してそのトランザクションを終わっていないような方法を実施する。この衝突を解決するために、各バックエンド・システム２０２によって作成された要求毎にセッション番号が作成される。タグ２０６へ要求を渡すバックエンド・システム２０２毎に、タグ２０６は、バックエンド・システム２０２毎のセッション番号を生成する。その後、セッション番号のリストは、タグ２０６において、現在のトランザクション・カウンタに関連付けられる。例えば、第１および第２のバックエンド・システム２０２がタグ２０６に同時にアクセスしている場合に、タグ２０６は、Ｔｘ→（ＳｅｓｓｉｏｎＩＤ１，ＳｅｓｓｉｏｎＩＤ２）という関係を記憶する。ここで、「→」は関連を示し、Ｔｘはトランザクション・カウンタであり、ＳｅｓｓｉｏｎＩＤ１は第１のバックエンド・システム２０２によって使用されるセッションに割り当てられたセッションＩＤであり、ＳｅｓｓｉｏｎＩＤ２は第２のバックエンド・システム２０２によって使用されるセッションに割り当てられたセッションＩＤである。バックエンド・システム２０２がそのセッションを終えると、タグ２０６は、セッションＩＤをトランザクション・カウンタとの関連から除去する。したがって、セッションＩＤと関連付けられていない場合に、トランザクション・カウンタは増分またはリセット可能であり、このことは、新たなトランザクション・カウンタが任意のバックエンド・システム２０２とタグ２０６との間の認証された処理に対して影響を与えたり破壊したりするものではないことを示す。
【００４２】
さらなる実施形態において、タグ２０６は、各バックエンド・システム２０２の要求を処理するための最大許容トランザクション期間を設定するためのカウンタ／タイマを備えている。バックエンド・システム２０２が所定の期間内にその動作を終えない場合には、セッションは終了し、タグ２０６はバックエンド・システム２０２との通信を停止することになると共に、セッションＩＤをトランザクション・カウンタとの関連から取り除く。これが生じると、バックエンド・システム２０２は、タグ２０６との認証処理を再構築する必要があることになる。これは、トランザクションがバックエンド・システム２０２またはリーダ２０４上もしくはタグ２０６における外部ソースによって中断された場合を保護するためのものである。
【００４３】
複数のバックエンド・システム２０２によるＲＦＩＤタグ２０６に対する同時アクセスを提供することができることによって、ＲＦＩＤタグ２０６において行われる認証に加えて、アクセス機能を使用してアクセス制御機構を作成することができる。各アクセス機能は、タグ２０６上の秘密メッセージと作業領域のリストとに関連付けられる。加えて、複数のセキュリティ層がバックエンド・システム２０２として作成されるので、タグの秘密メッセージと、それ自身のアクセス機能と、タグ２０６上の許可作業領域とを事前に知っているときかつそのときに限り、作業領域にアクセスすることができる。バックエンド・システム２０２がタグ２０６で認証されたが処理すべき要求の正しい許可作業領域を識別することができなかった場合には、タグ２０６に対するアクセスは許可されない。さらに、セッションＩＤを使用して、任意のセッションＩＤに関連付けられなくなるまで現在のトランザクション・カウンタが増分されるのを防ぐことによって、タグ側で同時に扱われる複数のトランザクションを制御してもよい。
【００４４】
実施形態例の技術的効果および利点は、受動タグを使用するＲＦＩＤネットワークのための比較的低コストで軽量の相互認証プロトコルを実施することができることを含む。
【００４５】
上述のように、本発明の実施形態は、これらの処理を実施するためのコンピュータで施される処理および装置の形態で実施されてもよい。また、本発明の実施形態は、フレシキブル・ディスケット、ＣＤ‐ＲＯＭ、ハード・ドライブ、または任意の他のコンピュータ読み取り可能な記憶媒体のような具体的な媒体において実施された命令を含むコンピュータ・プログラム・コードの形態で実施されてもよい。ここにおいて、コンピュータ・プログラム・コードは、コンピュータにロードされ、かつコンピュータによって実行され、当該コンピュータは、本発明を実施するための装置となる。本発明は、例えば、記憶媒体に記憶される、コンピュータにロードされるかまたはコンピュータによって実行されるかもしくはその両方、もしくは、電気配線またはケーブル上、光ファイバを介して、または電磁放射を介してといった何らかの送信媒体上を送信されるなどのいずれでもよいようなコンピュータ・プログラム・コードの形態で実施することもできる。ここで、コンピュータ・プログラム・コードは、コンピュータにロードされ、かつコンピュータによって実行され、当該コンピュータは、本発明を実施するための装置となる。汎用マイクロプロセッサ上で実施される場合には、コンピュータ・プログラム・コードのセグメントは、マイクロプロセッサを構成して、特定の論理回路を作成する。
【００４６】
本発明を実施形態例を参照して説明してきたが、様々な変更を行ってもよく、また、構成要素がその均等物によって本発明の範囲から逸脱することなく取って代わられてもよいことを、当業者は理解するだろう。
【図面の簡単な説明】
【００４７】
【図１】実施形態例によって使用されうる従来技術のハッシュ・チェーン手法を示す。
【図２】ＲＦＩＤセキュリティを提供するためのシステム例を示す。
【図３】実施形態例によって実施されうる処理フロー例を示す。
【図４】実施形態例によって実施されうる読み出し処理のブロック図である。
【図５】実施形態例によって実施されうる書き込み処理のブロック図である。
【図６】実施形態例によって実施されうるトランザクション・カウンタ・リセット処理のブロック図である。
【符号の説明】
【００４８】
２０２  バックエンド・システム
２０４  リーダ
２０６  タグＮ
【図１】
2008104169.tif 000004
【図２】
2008104169.tif 000005
【図３】
2008104169.tif 000006
【図４】
2008104169.tif 000007
【図５】
2008104169.tif 000008
【図６】
2008104169.tif 000009