この発明は、無線タグ、リーダライタ、無線タグの発信するIDの符号化システムおよび符合化方法に関し、特に、無線タグが発信するIDに秘匿可変性をもたせつつ、無線タグの回路の小規模化と、復号過程の負荷の軽減を達成することができる無線タグ、リーダライタ、符号化システムおよび符合化方法に関するものである。
近年、無線タグを備えたICカードや携帯電話端末等の機器が広く利用されるようになっている。無線タグは、無線通信用のアンテナと固有のIDを記憶したICとを備えた小型の装置で、RFID(Radio Frequency Identification)とも呼ばれる。無線タグに記憶された固有のIDは、リーダライタと呼ばれる装置により無線通信によって読み取られ、各種処理に利用される。
無線タグは、様々な用途に応用でき、非常に有用であるが、プライバシの保護の観点からみて大きな問題があるという指摘もされている。現在、無線タグとリーダライタの間では、IDが固定の値としてやりとりされている。このため、同一の無線タグを複数の場所で使用した場合、何者かが何らかの方法で無線IDの使用履歴を収集することで、無線IDの所有者の行動が追跡できてしまう。
この問題を解決するためには、無線タグとリーダライタとの間でやりとりするIDを毎回異なる値に符合化し、IDに秘匿可変性をもたせればよい。このように無線タグのIDに秘匿可変性をもたせる技術は、たとえば、非特許文献1および非特許文献2において開示されている。
非特許文献1および非特許文献2において開示されているハッシュチェーン方式は、ランダム性と一方向性を有するハッシュ関数をもちいてIDを再暗号化することで、IDの秘匿可変性を実現している。
木下 真吾、"RFIDプライバシを考える"、[online]、平成16年9月16日、株式会社 日経BP、[平成17年7月7日検索]、インターネット<URL:http://itpro.nikkeibp.co.jp/free/NBY/RFID/20040913/1/>
M. Ohkubo, K. Suzuki, and S. Kinoshita. Cryptographic approach to \privacy-friendly" tags. In RFID Privacy Workshop, MIT, USA, 2003.[平成17年7月7日検索]、インターネット<http://lasecwww.epfl.ch/~gavoine/download/AvoineO-2005-persec.pdf>
しかしながら、ハッシュチェーン方式には、現在の技術レベルでは回路規模が大きくなり過ぎるという問題がある。現在の技術レベルでは、無線タグのセキュリティ機能に割ける回路規模は、せいぜい200〜2000ゲートであるが、十分な機能を有したハッシュ関数を実装するには数十キロゲート以上の回路規模が必要である。サイズの小ささと低コストが求められる無線タグにおいては、この回路規模は大きすぎる。
また、ハッシュチェーン方式では、IDの復号過程の負荷の問題もある。ハッシュ関数は、一方向性を有するので符号化されたIDから本来のIDを逆算することができない。このため、本来のIDを求めるには、本来のIDの候補をすべて記憶しておき、これらの候補に対してハッシュ関数による符合化を復号対象のIDが出現するまで繰り返し実行する必要があり、IDの復号化が必要な無線タグの数が増加するにつれて復号過程の負荷が増大する。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、無線タグが発信するIDに秘匿可変性をもたせつつ、無線タグの回路の小規模化と、復号過程の負荷の軽減を達成することができる無線タグ、リーダライタ、符号化システムおよび符合化方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、固有のIDを備えた無線タグであって、IDの問合せを受けるたびに、前記固有のIDを基にして、値の異なる符号データを生成する第1の符号データ生成手段と、前記第1の符号データ生成手段により生成された符号データを復号化するための符号データを生成する第2の符号データ生成手段と、IDの問合せの問合せに対して、前記第1の符号データ生成手段により生成された符号データと、前記第2の符号データ生成手段により生成された符号データとを組み合わせたものを応答する通信手段とを備えたことを特徴とする。
また、リーダライタから送られてくる無線タグの固有のIDを認識する符号化システムであって、前記リーダライタから送られてきた無線タグへのIDの問合せに対する応答に含まれる第1の符号データを復号化する第1の復号化手段と、前記応答に含まれる第2の符号データを復号化する第2の復号化手段と、前記第1の復号化手段の復号化結果と前記第2の復号化手段の復号化結果から前記固有のIDを同定する同定手段とを含んだことを特徴とする。
また、本発明は、無線タグの固有のIDを認識するリーダライタであって、無線タグへのIDの問合せに対する応答に含まれる第1の符号データを復号化する第1の復号化手段と、前記応答に含まれる第2の符号データを復号化する第2の復号化手段と、前記第1の復号化手段の復号化結果と前記第2の復号化手段の復号化結果から前記固有のIDを同定する同定手段とを備えたことを特徴とする。
また、本発明は、無線タグが自身が備える固有のIDを送信する場合にもちいる符合化方法であって、IDの問合せを受けるたびに、前記固有のIDを基にして、値の異なる符号データを生成する第1の符号データ生成工程と、前記第1の符号データ生成工程により生成された符号データを復号化するための符号データを生成する第2の符号データ生成工程と、IDの問合せの問合せに対して、前記第1の符号データ生成工程により生成された符号データと、前記第2の符号データ生成工程により生成された符号データとを組み合わせたものを応答する通信工程とを含んだことを特徴とする。
この発明によれば、IDを毎回値が異なるように符合化した第1の符号データと、第1の符号データを復号化するための第2の符号データとを無線タグからIDとして送信し、リーダライタにおいてこの2つの符号データをもちいて本来のIDを復号化できるように構成したので、IDの復号化が必要な無線タグの数が増加するにつれて復号過程の負荷が増大することがなく、無線タグが発信するIDに秘匿可変性をもたせつつ、復号過程の負荷を軽減することができる。
また、本発明は、上記の発明において、前記第1の符号データ生成手段は、第1の鍵をもちいて、前記固有のIDを所定の回数暗号化した符号データを生成し、前記第2の符号データ生成手段は、第2の鍵をもちいて、前記固有のIDを前記第1の符号データ生成手段と同一回数暗号化した符号データを生成することを特徴とする。
この発明によれば、IDの符合化に暗号処理をもちいるように構成したので、符合化にハッシュ処理をもちいる場合と比較して回路規模を小さくすることができる。また、復号過程において第1の符号データと第2の符号データを繰り返し復号化し、両者が一致した値が固有のIDとなるように構成したので、IDの復号化が必要な無線タグの数が増加するにつれて復号過程の負荷が増大することがなく、復号過程の負荷を軽減することができる。
また、本発明は、上記の発明において、前記第1の符号データ生成手段は、前記固有のIDを所定の回数暗号化した符号データを生成し、前記第2の符号データ生成手段は、他の無線タグと共通のIDを前記第1の符号データ生成手段と同一回数暗号化した符号データを生成することを特徴とする。
この発明によれば、第2の符号データを共通値の符号データとしたので、予めこの共通値を繰り返し暗号化して各暗号化回数の符号データを計算しておき、この計算済みの符号データとの照合によって暗号化回数を取得することができ、復号過程の計算量を軽減することができる。
また、本発明は、上記の発明において、前記第1の符号データ生成手段は、前記固有のIDを所定の回数暗号化した符号データを生成し、前記第2の符号データ生成手段は、前記第1の符号データ生成手段が前記固有のIDを暗号化した回数を暗号化した符号データを生成することを特徴とする。
この発明によれば、第2の符号データを暗号化回数の符号データとしたので、復号化処理を繰り返さずに暗号化回数を取得することができ、復号過程の計算量を軽減することができる。
また、本発明は、上記の発明において、IDの問合せを受けるたびに、新たな乱数を生成する乱数生成手段をさらに備え、前記第1の符号データ生成手段は、前記固有のIDと前記乱数生成手段が生成した乱数との排他的論理和の演算結果を暗号化した符号データを生成し、前記第2の符号データ生成手段は、前記乱数生成手段が生成した乱数を暗号化した符号データを生成することを特徴とする。
この発明によれば、暗号化の繰り返しによってではなく乱数によってIDに秘匿可変性をもたせるように構成したので、IDの暗号化を繰り返した結果を記憶しておく記憶領域がない読み出し専用の無線タグにおいても高速にIDを符合化することができる。
また、本発明は、上記の発明において、前記通信手段がIDの問合せに対して応答した後、所定の期間、IDの問合せに対して応答しないように制御する応答制御手段をさらに備えたことを特徴とする。
この発明によれば、IDの問い合わせに応答した後、所定の期間。IDの問い合わせに対して応答しないように構成したので、連続して大量のIDを取得されることによるIDの漏洩を防止することができる。
また、本発明は、上記の発明において、IDの問合せに対して固有のIDを応答するか、前記第1の符号データ生成手段により生成された符号データと、前記第2の符号データ生成手段により生成された符号データとを組み合わせたものを応答するかを設定するフラグをさらに備え、前記通信手段は、前記フラグに固有のIDを応答すべき旨が設定されている場合は、IDの問合せの問合せに対して、前記第1の符号データ生成手段により生成された符号データと、前記第2の符号データ生成手段により生成された符号データとを組み合わせたものに代えて固有のIDを応答することを特徴とする。
この発明によれば、フラグの設定内容によって固有のID、もしくは、秘匿可変性をもったIDのいずれかを応答するように構成したので、リーダライタ等が秘匿可変性をもったIDを送信する無線タグに対応していない環境においても秘匿可変性をもったID送信することができるタグを利用することができる。
本発明によれば、本発明によれば、IDを毎回値が異なるように符合化した第1の符号データと、第1の符号データを復号化するための第2の符号データとを無線タグからIDとして送信し、リーダライタにおいてこの2つの符号データをもちいて本来のIDを復号化できるように構成したので、IDの復号化が必要な無線タグの数が増加するにつれて復号過程の負荷が増大することがなく、無線タグが発信するIDに秘匿可変性をもたせつつ、復号過程の負荷を軽減することができるという効果を奏する。
また、本発明によれば、IDの符合化に暗号処理をもちいるように構成したので、符合化にハッシュ処理をもちいる場合と比較して回路規模を小さくすることができるという効果を奏する。
また、本発明によれば、IDの問い合わせに応答した後、所定の期間。IDの問い合わせに対して応答しないように構成したので、連続して大量のIDを取得されることによるIDの漏洩を防止することができるという効果を奏する。
また、本発明によれば、フラグの設定内容によって固有のID、もしくは、秘匿可変性をもったIDのいずれかを応答するように構成したので、リーダライタ等が秘匿可変性をもったIDを送信する無線タグに対応していない環境においても秘匿可変性をもったID送信することができるタグを利用することができるという効果を奏する。
以下に添付図面を参照して、本発明に係る無線タグ、リーダライタ、符号化システムおよび符合化方法の好適な実施の形態を詳細に説明する。なお、以下の実施例では、同一の部分については同一の符号を付し、重複した説明をおこなわないものとする。
まず、本実施例に係る無線タグおよびリーダライタの構成について説明する。図1は、本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
無線タグ1000aは、リーダライタ2000a等のリーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200aと、記憶部1300aとを有する。通信部1100は、リーダライタ2000a等のリーダライタとの無線通信を実現する装置である。
制御部1200aは、無線タグ1000aを全体制御する制御部であり、通信制御部1210と、暗号処理部1221aと、暗号処理部1222aとを有する。通信制御部1210は、無線通信によるリーダライタ2000a等のリーダライタとの情報のやりとりに必要な各種処理を制御する制御部である。
たとえば、通信制御部1210は、リーダライタ2000aからIDの送信を求められると、暗号処理部1221aと暗号処理部1222aにIDの暗号化を要求し、暗号化されたIDを連結し、通信部1100を介してリーダライタ2000aに応答するという制御をおこなう。
暗号処理部1221aは、IDを暗号化する処理部である。具体的には、記憶部1300aに記憶されている暗号化ID1331aを暗号化鍵1321aをもちいて暗号化し、暗号化結果を要求元に引き渡すとともに、暗号化ID1331aに上書きする形で記憶させる処理をおこなう。
なお、暗号処理部1221aが備える暗号化ロジックは、復号化が可能であれば何であってもよい。一般に、暗号化ロジックは、ハッシュのロジックよりも小規模な回路で実装することができ、無線タグのように回路規模に制約の装置に適している。
暗号処理部1222aも、IDを暗号化する処理部であり、暗号処理部1221aと同一の暗号化ロジックを備える。具体的には、記憶部1300aに記憶されている暗号化ID1332aを暗号化鍵1322aをもちいて暗号化し、暗号化結果を要求元に引き渡すとともに、暗号化ID1332aに上書きする形で記憶させる処理をおこなう。
記憶部1300aは、各種の情報を記憶する記憶部であり、書き換え可能な不揮発性のメモリ、もしくは、書き換え可能な不揮発性のメモリと書き換え不能なメモリの組み合わせからなる。記憶部1300aは、タグID1310と、暗号化鍵1321aと、暗号化鍵1322aと、暗号化ID1331aと、暗号化ID1332aとを記憶する。
タグID1310は、当該の無線タグの本来のIDである。暗号化鍵1321aと暗号化鍵1322aは、それぞれ、暗号処理部1221aと暗号処理部1222aが暗号化処理にもちいる鍵であり、異なる値をとる。
暗号化ID1331aと暗号化ID1332aは、暗号化されたIDである。これらは、タグID1310を初期値とし、リーダライタからIDの問い合わせがあるたびに、それぞれ、暗号処理部1221aと暗号処理部1222aによって値が上書きされる。
なお、本明細書においては、特に記述がないかぎり、無線タグは、単独の独立した装置であってもよいし、情報処理装置等の他の装置に内蔵されていてもよい。
リーダライタ2000aは、無線タグ1000a等の無線タグからID等の情報を無線通信により受信したり、必要に応じて情報を無線タグ1000a等の無線タグへ送信して書き込んだりすることで所定の処理をおこなう装置であり、通信部2100と、制御部2200aと、記憶部2300aとを有する。通信部2100は、無線タグ1000a等の無線タグとの無線通信を実現する装置である。
制御部2200aは、リーダライタ2000aを全体制御する制御部であり、通信制御部2210と、業務処理部2220と、ID復号部2230aと、復号処理部2241aと、復号処理部2242aとを有する。
通信制御部2210は、無線通信による無線タグ1000a等の無線タグとの情報のやりとりを制御する制御部である。業務処理部2220は、リーダライタ2000aが備える各種の業務機能を実現する処理部である。
ID復号部2230aは、暗号化されたIDを復元し、本来のIDを求める処理部である。具体的には、無線タグ1000a等の無線タグから送信された2つの暗号値を復号処理部2241aと復号処理部2242aに繰り返し復号化させ、2つの復号結果が一致した時点でその復号化結果を本来のIDとする。
復号処理部2241aは、暗号処理部1221aによって暗号化されたIDを暗号化鍵2311aをもちいて復号化する処理部である。復号処理部2241aが備える復号化ロジックは、暗号処理部1221aが備える暗号化ロジックに対応したものである。
復号処理部2242aは、暗号処理部1222aによって暗号化されたIDを暗号化鍵2312aをもちいて復号化する処理部である。復号処理部2242aが備える復号化ロジックは、暗号処理部1222aが備える暗号化ロジックに対応したものである。
記憶部2300aは、各種の情報を記憶する記憶部であり、暗号化鍵2311aと、暗号化鍵2312aとを記憶する。暗号化鍵2311aは、復号処理部2241aが復号化処理にもちいる鍵であり、暗号化鍵1321aと同一の値をとる。暗号化鍵2312aは、復号処理部2242aが復号化処理にもちいる鍵であり、暗号化鍵1322aと同一の値をとる。
なお、本明細書においては、特に記述がないかぎり、リーダライタは、単独の独立した装置であってもよいし、情報処理装置等の他の装置に内蔵されていてもよい。また、無線タグへの書き込み機能を有していなくてもよい。
次に、無線タグ1000aおよびリーダライタ2000aの情報のやりとりの手順について説明する。図2は、図1に示した無線タグ1000aおよびリーダライタ2000aのやりとりを示すシーケンス図である。同図は、リーダライタ2000aが無線タグ1000aに対してIDを問い合わせ、IDを同定するまでの手順を示している。
リーダライタ2000aが無線タグ1000aに対してIDを問い合わせると(ステップS101)、無線タグ1000aは、暗号化ID1331aおよび暗号化ID1332aを再暗号化して上書き保存する(ステップS102)。そして、これらの値を暗号化ID−Aと暗号化ID−Bとしてリーダライタ2000aへ応答する(ステップS103)。
リーダライタ2000aは、応答された暗号化ID−Aと暗号化ID−Bを所定の手順で復号化して本来のIDを取得し、各種の処理に利用する(ステップS104)。
このように、本実施例におけるID暗号化方式においては、問い合わせと応答という2Wayの手順でやりとりが完了する。一般に、無線タグとリーダライタとの間の通信の速度は数10kbps程度であるため、単位時間当たりの無線タグの認識数を向上させる上で本実施例におけるID暗号化方式は優位である。
次に、無線タグ1000aおよびリーダライタ2000aの処理手順について説明する。図3は、図1に示した無線タグ1000aの処理手順を示すフローチャートである。同図は、無線タグ1000aがIDの問い合わせを受信し、応答するまでの手順を示している。
無線タグ1000aにおいて、IDの問い合わせが受信されると(ステップS111)、暗号処理部1221aが暗号化ID1331aを取得し(ステップS112)、さらに、暗号化鍵1321aを取得する(ステップS113)。そして、暗号化鍵1321aをもちいて暗号化ID1331aを再暗号化し(ステップS114)、再暗号化した値を暗号化ID1331aに上書き保存する(ステップS115)。
また、ステップS112〜115と平行して、暗号処理部1222aが暗号化ID1332aを取得し(ステップS116)、さらに、暗号化鍵1322aを取得する(ステップS117)。そして、暗号化鍵1322aをもちいて暗号化ID1332aを再暗号化し(ステップS118)、再暗号化した値を暗号化ID1332aに上書き保存する(ステップS119)。
そして、暗号処理部1221aと暗号処理部1222aにおいてIDの再暗号化が完了すると、無線タグ1000aは、2つの再暗号化結果を組み合わせ、通信部1100を介して要求元に送信する(ステップS120)。
図4は、図1に示したリーダライタ2000aの処理手順を示すフローチャートである。同図は、リーダライタ2000aが無線タグ1000aに対してIDの問い合わせをおこない、本来のIDを同定するまでの手順を示している。
リーダライタ2000aは、無線タグ1000aに対してIDの問い合わせを送信し(ステップS131)、応答を待機する(ステップS132)。そして、応答を受信すると(ステップS133)、応答データから第1の暗号化ID(暗号化ID−A)と第2の暗号化ID(暗号化ID−B)を取得する。
そして、復号処理部2241aにおいて第1の暗号化IDを復号化し(ステップS134)、復号処理部2242aにおいて第2の暗号化IDを復号化する(ステップS135)。ここで、2つの復号化結果を比較し、一致していなければ(ステップS136否定)、ステップS134に復帰し、復号化結果を再び復号化する。
2つの復号化結果が一致していれば(ステップS136肯定)、その値を本来のIDとし、同定処理を完了する(ステップS137)。
上述してきたように、本実施例では、無線タグ1000aが異なる暗号鍵をもちいて再暗号化した2つの暗号化値をIDの問い合わせに対して応答するように構成したので、無線タグ1000aから送信されるIDに秘匿可変性をもたせることができる。
また、本実施例では、IDの符号化に暗号化処理をもちいるように構成したので、ハッシュ処理によって符号化する場合と比べて、回路規模を小さくすることができる。
また、本実施例では、リーダライタ2000aが2つの暗号化値を繰り返し復号化し、復号結果を比較することで本来のIDを同定するように構成したので、無線タグ1000aから送信された情報のみでIDの同定をおこなうことができ、IDの復号化が必要な無線タグの数が増加しても復号処理の負荷が増加することがない。
なお、本実施例では、無線タグ1000aがIDの問い合わせを受けた後にIDの再暗号化をおこない、その結果を応答するように構成したが、IDの問い合わせを受けた後、前回再暗号化した値をまず応答し、その後、IDの再暗号化をおこなうように構成してもよい。このように構成することで、応答時間を短縮することができる。
また、無線タグ1000aの出荷時等に本来のIDを暗号化ID1331aと暗号化ID1332aに設定することとして、無線タグ1000aがタグID1310を備えないように構成してもよい。このように構成することで、無線タグ1000aを分解して物理的に調査しても本来のIDを直接知ることができなくなる。
また、暗号処理部1221aと暗号処理部1222aを独立した処理部ではなく、一つの処理部として構成してもよい。この場合、暗号化処理が並列処理でなく順次処理になるが、回路規模を小さくすることができる。
また、暗号処理部1221aと暗号処理部1222aを独立した処理部として構成する場合は、これらの暗号化ロジックを異なるものにしてもよい。
実施例1で示した方式では、IDの復号化が必要な無線タグの数が増加しても復号処理の負荷が増加することはないが、無線タグへのIDの問い合わせの回数が増えるほど復号化のための計算量が増加する。そこで、本実施例では、IDの復号化のための計算量を減少させることができる方式を示す。
まず、本実施例に係る無線タグおよびリーダライタの構成について説明する。図5は、本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
無線タグ1000bは、リーダライタ2000b等のリーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200bと、記憶部1300bとを有する。
制御部1200bは、無線タグ1000bを全体制御する制御部であり、通信制御部1210と、暗号処理部1221bと、暗号処理部1222bとを有する。
暗号処理部1221bと暗号処理部1222bは、それぞれ、暗号処理部1221aと暗号処理部1222aと同様の処理部であるが、暗号化鍵1321bという共通の鍵をもちいて暗号化をおこなう点が異なる。
記憶部1300bは、各種の情報を記憶する記憶部であり、書き換え可能な不揮発性のメモリ、もしくは、書き換え可能な不揮発性のメモリと書き換え不能なメモリの組み合わせからなる。記憶部1300bは、タグID1310と、共通ID1311と、暗号化鍵1321bと、暗号化ID1331bと、暗号化ID1332bとを記憶する。
共通ID1311は、同種の無線タグに共通するIDである。暗号化鍵1321bは、暗号処理部1221bと暗号処理部1222bが暗号化処理にもちいる鍵である。
暗号化ID1331bと暗号化ID1332bは、暗号化されたIDである。これらは、それぞれ、タグID1310と共通ID1311を初期値とし、リーダライタからIDの問い合わせがあるたびに、暗号処理部1221bと暗号処理部1222bによって値が上書きされる。
リーダライタ2000bは、無線タグ1000b等の無線タグからID等の情報を無線通信により受信したり、必要に応じて情報を無線タグ1000b等の無線タグへ送信して書き込んだりすることで所定の処理をおこなう装置であり、通信部2100と、制御部2200bと、記憶部2300bとを有する。
制御部2200bは、リーダライタ2000bを全体制御する制御部であり、通信制御部2210と、業務処理部2220と、ID復号部2230bと、復号処理部2241bと、復号化回数取得部2242bとを有する。
ID復号部2230bは、暗号化されたIDを復元し、本来のIDを求める処理部である。具体的には、無線タグ1000b等の無線タグから送信された2つの暗号値のうち、共通ID1311を基にした暗号値を復号化回数取得部2242bに引き渡してIDが暗号化された回数を取得し、復号処理部2241bにもう一方の暗号値をその回数だけ復号化させ、その復号化結果を本来のIDとする。
復号処理部2241bは、暗号処理部1221bによって暗号化されたIDを暗号化鍵2311bをもちいて復号化する処理部である。復号処理部2241bが備える復号化ロジックは、暗号処理部1221bが備える暗号化ロジックに対応したものである。
復号化回数取得部2242bは、共通ID1311を初期値とした暗号値を共通ID暗号化リスト2312bと照合して暗号化回数を取得する処理部である。
共通ID暗号化リスト2312bには、共通ID1311を初期値として再暗号化をおこなった結果が回数とともに記録されており、計算をおこなうことなく暗号化回数を取得することができる。なお、共通ID暗号化リスト2312bに該当する暗号値が存在しない場合は、復号化回数取得部2242bは、末尾に記録されている最後の再暗号化結果を暗号化し、その結果を比較するとともに共通ID暗号化リスト2312bへ追加する。
記憶部2300bは、各種の情報を記憶する記憶部であり、暗号化鍵2311bと、共通ID暗号化リスト2312bとを記憶する。暗号化鍵2311bは、復号処理部2241bが復号化処理にもちいる鍵であり、暗号化鍵1321bと同一の値をとる。共通ID暗号化リスト2312bについては既に説明済なので説明を省略する。
次に、無線タグ1000bおよびリーダライタ2000bの処理手順について説明する。無線タグ1000bの処理手順は、暗号化の鍵が共通になるだけであり、手順そのものは無線タグ1000aの処理手順と同様である。
図6は、図5に示したリーダライタ2000bの処理手順を示すフローチャートである。同図は、リーダライタ2000bが無線タグ1000bに対してIDの問い合わせをおこない、本来のIDを同定するまでの手順を示している。
リーダライタ2000bは、無線タグ1000bに対してIDの問い合わせを送信し(ステップS201)、応答を待機する(ステップS202)。そして、応答を受信すると(ステップS203)、応答データから第1の暗号化ID(タグID1310を初期値とした暗号値)と第2の暗号化ID(共通ID1311を初期値とした暗号値)を取得する。
そして、共通ID暗号化リスト2312bから第2の暗号化IDと一致する値を検索し、暗号化回数を取得する(ステップS204)。
ここで、共通ID暗号化リスト2312bに一致する値が存在しなかった場合は(ステップS205否定)、末尾の値を再暗号化し(ステップS206)、その暗号化結果を共通ID暗号化リスト2312bに追加する(ステップS207)。そして、暗号化結果を第2の暗号化IDと比較し(ステップS208)、一致しなければ(ステップS209否定)、ステップS206へ復帰して次の暗号化結果の算出と比較をおこなう。
こうして暗号化回数を特定したならば(ステップS210)、復号処理部2241bにおいて第1の暗号化IDを暗号化回数だけ復号化し(ステップS211)、その値を本来のIDとし、同定処理を完了する(ステップS212)。
上述してきたように、本実施例では、無線タグ1000bが応答する暗号値の一方を共通値を初期値とした暗号値とし、リーダライタ2000bにおいて共通値の再暗号化結果を格納したテーブルを用意しておき、これを検索して暗号化回数を取得できるように構成したので、実施例1の方式と比較して復号化処理における計算量をほぼ半分におさえることができる。
なお、本実施例では、無線タグ1000bがIDの問い合わせを受けた後にIDの再暗号化をおこない、その結果を応答するように構成したが、IDの問い合わせを受けた後、前回再暗号化した値をまず応答し、その後、IDの再暗号化をおこなうように構成してもよい。このように構成することで、応答時間を短縮することができる。
また、無線タグ1000bの出荷時等に本来のIDを暗号化ID1331bに設定することとして、無線タグ1000bがタグID1310を備えないように構成してもよい。このように構成することで、無線タグ1000bを分解して物理的に調査しても本来のIDを直接知ることができなくなる。
また、暗号処理部1221bと暗号処理部1222bを独立した処理部ではなく、一つの処理部として構成してもよい。この場合、暗号化処理が並列処理でなく順次処理になるが、回路規模を小さくすることができる。
また、暗号処理部1221bと暗号処理部1222bを独立した処理部として構成する場合は、これらの暗号化ロジックを異なるものにしてもよい。
実施例2では、無線タグの応答する値の一方を共通値を初期値とした暗号値とすることで復号化のための計算量を減少させる方式を示したが、無線タグの応答する値の一方をカウンタの値の暗号値とすることでも同様の効果を得ることができる。本実施例では、無線タグの応答する値の一方をカウンタの値の暗号値とする方式を示す。
まず、本実施例に係る無線タグおよびリーダライタの構成について説明する。図7は、本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
無線タグ1000cは、リーダライタ2000c等のリーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200cと、記憶部1300cと、カウンタ1400とを有する。
制御部1200cは、無線タグ1000cを全体制御する制御部であり、通信制御部1210と、暗号処理部1221cと、暗号処理部1222cとを有する。
暗号処理部1221cは、IDを暗号化する処理部である。具体的には、記憶部1300cに記憶されている暗号化ID1331cを暗号化鍵1321cをもちいて暗号化し、暗号化結果を要求元に引き渡すとともに、暗号化ID1331cに上書きする形で記憶させる処理をおこなう。なお、暗号処理部1221cが備える暗号化ロジックは、復号化が可能であれば何であってもよい。
暗号処理部1222cは、カウンタ1400の値を暗号化鍵1321cをもちいて暗号化する処理部である。なお、暗号処理部1222cが備える暗号化ロジックは、復号化が可能であれば何であってもよい。
記憶部1300cは、各種の情報を記憶する記憶部であり、書き換え可能な不揮発性のメモリ、もしくは、書き換え可能な不揮発性のメモリと書き換え不能なメモリの組み合わせからなる。記憶部1300cは、タグID1310と、暗号化鍵1321cと、暗号化ID1331cとを記憶する。
暗号化鍵1321cは、暗号処理部1221cと暗号処理部1222cが暗号化処理にもちいる鍵である。暗号化ID1331cは、暗号化されたIDである。暗号化ID1331cは、タグID1310を初期値とし、リーダライタからIDの問い合わせがあるたびに、暗号処理部1221cによって値が上書きされる。
カウンタ1400は、数値を保持する回路である。カウンタ1400が保持する値は、0を初期値とし、IDの問い合わせが受信されるたびに、1ずつ加算される。このため、カウンタ1400は、IDの問合せがおこなわれた回数、すなわち、暗号化ID1331cが暗号化された回数を保持することになる。
リーダライタ2000cは、無線タグ1000c等の無線タグからID等の情報を無線通信により受信したり、必要に応じて情報を無線タグ1000c等の無線タグへ送信して書き込んだりすることで所定の処理をおこなう装置であり、通信部2100と、制御部2200cと、記憶部2300cとを有する。
制御部2200cは、リーダライタ2000cを全体制御する制御部であり、通信制御部2210と、業務処理部2220と、ID復号部2230cと、復号処理部2241cと、復号処理部2242cとを有する。
ID復号部2230cは、暗号化されたIDを復元し、本来のIDを求める処理部である。具体的には、無線タグ1000c等の無線タグから送信された2つの暗号値のうち、カウンタ1400の値を暗号化した暗号値を複号処理部2242cに引き渡してカウンタ1400の値、すなわち、IDが暗号化された回数を取得し、復号処理部2241cにもう一方の暗号値をその回数だけ復号化させ、その復号化結果を本来のIDとする。
復号処理部2241cは、暗号処理部1221cによって暗号化されたIDを暗号化鍵2311cをもちいて復号化する処理部である。復号処理部2241cが備える復号化ロジックは、暗号処理部1221cが備える暗号化ロジックに対応したものである。
復号処理部2242cは、暗号処理部1222cによって暗号化されたカウンタの値を暗号化鍵2312cをもちいて復号化する処理部である。復号処理部2242cが備える復号化ロジックは、暗号処理部1222cが備える暗号化ロジックに対応したものである。
記憶部2300cは、各種の情報を記憶する記憶部であり、暗号化鍵2311cを記憶する。暗号化鍵2311cは、復号処理部2241cと復号処理部2242cが復号化処理にもちいる鍵であり、暗号化鍵1321cと同一の値をとる。
次に、無線タグ1000cおよびリーダライタ2000cの情報のやりとりの手順について説明する。図8は、図7に示した無線タグ1000cおよびリーダライタ2000cのやりとりを示すシーケンス図である。同図は、リーダライタ2000cが無線タグ1000cに対してIDを問い合わせ、IDを同定するまでの手順を示している。
リーダライタ2000cが無線タグ1000cに対してIDを問い合わせると(ステップS301)、無線タグ1000cは、カウンタ1400の値をインクリメントする(ステップS302)。そして、暗号化ID1331cを再暗号化して上書き保存し(ステップS303)、カウンタ1400の値も暗号化する(ステップS304)。そして、これらの値をリーダライタ2000cへ応答する(ステップS305)。
リーダライタ2000cは、カウンタ1400の値を復号化し(ステップS306)、その値の回数だけ暗号化されたIDを復号化して本来のIDを取得し、各種の処理に利用する(ステップS307)。
次に、無線タグ1000cおよびリーダライタ2000cの処理手順について説明する。図9は、図7に示した無線タグ1000cの処理手順を示すフローチャートである。同図は、無線タグ1000cがIDの問い合わせを受信し、応答するまでの手順を示している。
無線タグ1000cにおいて、IDの問い合わせが受信されると(ステップS311)、カウンタ1400の値がインクリメントされる(ステップS312)。
暗号処理部1221cは、暗号化ID1331cを取得し(ステップS313)、さらに、暗号化鍵1321cを取得する(ステップS314)。そして、暗号化鍵1321cをもちいて暗号化ID1331cを再暗号化し(ステップS315)、再暗号化した値を暗号化ID1331cに上書き保存する(ステップS316)。
また、ステップS313〜316と平行して、暗号処理部1222cが暗号化鍵1321cを取得し(ステップS317)、この暗号化鍵1321cをもちいてカウンタ1400の値を暗号化する(ステップS318)。
そして、暗号処理部1221cと暗号処理部1222cにおいて暗号化が完了すると、無線タグ1000cは、2つの暗号化結果を組み合わせ、通信部1100を介して要求元に送信する(ステップS319)。
図10は、図7に示したリーダライタ2000cの処理手順を示すフローチャートである。同図は、リーダライタ2000cが無線タグ1000cに対してIDの問い合わせをおこない、本来のIDを同定するまでの手順を示している。
リーダライタ2000cは、無線タグ1000cに対してIDの問い合わせを送信し(ステップS321)、応答を待機する(ステップS322)。そして、応答を受信すると(ステップS323)、応答データから暗号化IDと暗号化されたカウンタの値を取得する。
そして、復号処理部2242cにおいて暗号化されたカウンタの値を復号化し(ステップS324)、復号処理部2241cにおいてカウンタの値の回数だけ暗号化IDを復号化する(ステップS325)。そして、その復号化結果を本来のIDとし、同定処理を完了する(ステップS326)。
上述してきたように、本実施例では、無線タグ1000cが応答する暗号値の一方を再暗号化の回数を意味するカウンタ値を暗号化したものとし、リーダライタ2000cにおいてこの値を復号化することで再暗号化回数を取得できるように構成したので、実施例1の方式と比較して復号化処理における計算量をほぼ半分におさえることができる。
なお、無線タグ1000cの出荷時等に本来のIDを暗号化ID1331cに設定することとして、無線タグ1000cがタグID1310を備えないように構成してもよい。このように構成することで、無線タグ1000cを分解して物理的に調査しても本来のIDを直接知ることができなくなる。
また、暗号処理部1221cと暗号処理部1222cを独立した処理部ではなく、一つの処理部として構成してもよい。この場合、暗号化処理が並列処理でなく順次処理になるが、回路規模を小さくすることができる。
また、暗号処理部1221cと暗号処理部1222cを独立した処理部として構成する場合は、これらの暗号化ロジックを異なるものにしてもよい。
実施例1〜3は、無線タグが書き換え可能な不揮発性のメモリを備えていることを前提としているが、低コストを目的とした無線タグ等には書き換え可能な不揮発性のメモリを備えていないものがある。本実施例では、このような読出し専用の無線タグにおいてもIDの秘匿可変性を実現することができる方式を示す。
まず、本実施例に係る無線タグおよびリーダライタの構成について説明する。図11は、本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
無線タグ1000dは、リーダライタ2000d等のリーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200dと、記憶部1300dとを有する。
制御部1200dは、無線タグ1000dを全体制御する制御部であり、通信制御部1210と、暗号処理部1221dと、暗号処理部1222dと、乱数生成部1230とを有する。
暗号処理部1221dは、IDを暗号化する処理部である。具体的には、乱数生成部1230が生成する乱数とタグID1310との排他的論理和を演算し、その演算結果を暗号化鍵1321dをもちいて暗号化する。なお、暗号処理部1221dが備える暗号化ロジックは、復号化が可能であれば何であってもよい。
暗号処理部1222dは、乱数生成部1230が生成する乱数を暗号化鍵1321dをもちいて暗号化する処理部である。なお、暗号処理部1222dが備える暗号化ロジックは、復号化が可能であれば何であってもよい。
乱数生成部1230は、乱数を生成する処理部である。乱数生成部1230は、IDの問い合わせが受信されるたびに、新たな乱数を生成する。
記憶部1300dは、各種の情報を記憶する記憶部であり、書き換え可能な不揮発性のメモリ、書き換え不能なメモリ、もしくは、書き換え可能な不揮発性のメモリと書き換え不能なメモリの組み合わせからなる。記憶部1300dは、タグID1310と、暗号化鍵1321dとを記憶する。暗号化鍵1321dは、暗号処理部1221dと暗号処理部1222dが暗号化処理にもちいる鍵である。
リーダライタ2000dは、無線タグ1000d等の無線タグからID等の情報を無線通信により受信したり、必要に応じて情報を無線タグ1000d等の無線タグへ送信して書き込んだりすることで所定の処理をおこなう装置であり、通信部2100と、制御部2200dと、記憶部2300dとを有する。
制御部2200dは、リーダライタ2000dを全体制御する制御部であり、通信制御部2210と、業務処理部2220と、ID復号部2230dと、復号処理部2241dと、復号処理部2242dとを有する。
ID復号部2230dは、暗号化されたIDを復元し、本来のIDを求める処理部である。具体的には、無線タグ1000d等の無線タグから送信された2つの暗号値のうち、乱数を暗号化した暗号値を復号処理部2242dに引き渡して乱数を取得し、復号処理部2241dにもう一方の暗号値を復号化させた結果と乱数との排他的論理和を演算し、その演算結果を本来のIDとする。
復号処理部2241dは、暗号処理部1221dによって暗号化された乱数とタグID1310との排他的論理和を暗号化鍵2311dをもちいて復号化する処理部である。復号処理部2241dが備える復号化ロジックは、暗号処理部1221dが備える暗号化ロジックに対応したものである。
復号処理部2242dは、暗号処理部1222dによって暗号化された乱数を暗号化鍵2311dをもちいて復号化する処理部である。復号処理部2242dが備える復号化ロジックは、暗号処理部1222dが備える暗号化ロジックに対応したものである。
記憶部2300dは、各種の情報を記憶する記憶部であり、暗号化鍵2311dを記憶する。暗号化鍵2311dは、復号処理部2241dと復号処理部2242dが復号化処理にもちいる鍵であり、暗号化鍵1321dと同一の値をとる。
次に、無線タグ1000dおよびリーダライタ2000dの情報のやりとりの手順について説明する。図12は、図11に示した無線タグ1000dおよびリーダライタ2000dのやりとりを示すシーケンス図である。同図は、リーダライタ2000dが無線タグ1000dに対してIDを問い合わせ、IDを同定するまでの手順を示している。
リーダライタ2000dが無線タグ1000dに対してIDを問い合わせると(ステップS401)、無線タグ1000dは、乱数生成部1230において乱数を生成する(ステップS402)。そして、乱数とタグID1310の排他的論理和を演算してその結果を暗号化し(ステップS403)、さらに、乱数も暗号化する(ステップS404)。そして、これらの値をリーダライタ2000dへ応答する(ステップS405)。
リーダライタ2000dは、暗号化されたIDを復号化し(ステップS406)、さらに、乱数も復号化する(ステップS407)。そして、復号化したIDと乱数の排他的論理和を演算することで本来のIDを取得し、各種の処理に利用する(ステップS408)。
次に、無線タグ1000dおよびリーダライタ2000dの処理手順について説明する。図13は、図11に示した無線タグ1000dの処理手順を示すフローチャートである。同図は、無線タグ1000dがIDの問い合わせを受信し、応答するまでの手順を示している。
無線タグ1000dにおいて、IDの問い合わせが受信されると(ステップS411)、乱数生成部1230において乱数が生成される(ステップS412)。
暗号処理部1221dは、タグID1310を取得し(ステップS413)、さらに、暗号化鍵1321dを取得する(ステップS414)。そして、タグID1310と乱数生成部1230が生成した乱数との排他的論理和を演算し(ステップS415)、演算結果を暗号化鍵1321dをもちいて暗号化する(ステップS416)。
また、ステップS413〜416と平行して、暗号処理部1222dが暗号化鍵1321dを取得し(ステップS417)、この暗号化鍵1321dをもちいて乱数を暗号化する(ステップS418)。
そして、暗号処理部1221dと暗号処理部1222dにおいて暗号化が完了すると、無線タグ1000dは、2つの暗号化結果を組み合わせ、通信部1100を介して要求元に送信する(ステップS419)。
図14は、図11に示したリーダライタ2000dの処理手順を示すフローチャートである。同図は、リーダライタ2000dが無線タグ1000dに対してIDの問い合わせをおこない、本来のIDを同定するまでの手順を示している。
リーダライタ2000dは、無線タグ1000dに対してIDの問い合わせを送信し(ステップS421)、応答を待機する(ステップS422)。そして、応答を受信すると(ステップS423)、応答データから暗号化IDと暗号化された乱数を取得する。
そして、復号処理部2241dにおいて暗号化IDを復号化し(ステップS424)、復号処理部2242dにおいて乱数を復号化する(ステップS425)。そして、復号化したIDと乱数の排他的論理和を演算し(ステップS426)、その演算結果を本来のIDとし、同定処理を完了する(ステップS427)。
上述してきたように、本実施例では、無線タグ1000dがIDの問い合わせを受けるたびに新たな乱数を生成し、この乱数とタグID1310とを演算した結果を暗号化したものをIDとして応答するように構成したので、無線タグ1000dが読み取り専用の無線タグであったとしても、無線タグ1000dから送信されるIDに秘匿可変性をもたせることができる。
なお、本実施例では、乱数とタグID1310とを演算した結果を暗号化したものをIDとして応答するように構成したが、乱数と暗号化鍵1321dを演算した結果を鍵としてタグID1310を暗号化するように構成しても、無線タグ1000dから送信されるIDに秘匿可変性をもたせることができる。
また、乱数生成部1230の代わりにカウンタ1400を設け、無線タグ1000dがIDの問い合わせを受けるたびにカウンタ1400の値をインクリメントさせ、乱数の代わりにカウンタ1400の値を使用するように構成しても同様の効果を得ることができる。
また、暗号処理部1221dと暗号処理部1222dを独立した処理部ではなく、一つの処理部として構成してもよい。この場合、暗号化処理が並列処理でなく順次処理になるが、回路規模を小さくすることができる。
また、暗号処理部1221dと暗号処理部1222dを独立した処理部として構成する場合は、これらの暗号化ロジックを異なるものにしてもよい。
実施例4において、読出し専用の無線タグにおいてもIDの秘匿可変性を実現することができる方式を示したが、この方式ではIDの問い合わせがあるたびに暗号化処理が2回必要となる。本実施例では、1回の暗号化処理でIDの秘匿可変性を実現することができる方式を示す。
まず、本実施例に係る無線タグおよびリーダライタの構成について説明する。図15は、本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
無線タグ1000eは、リーダライタ2000e等のリーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200eと、記憶部1300eとを有する。
制御部1200eは、無線タグ1000eを全体制御する制御部であり、通信制御部1210と、暗号処理部1221eと、乱数生成部1230とを有する。
暗号処理部1221eは、IDの演算結果と乱数を連結したデータを暗号化する処理部である。具体的には、乱数生成部1230が生成する乱数とタグID1310との排他的論理和を演算し、乱数と、この演算結果とを連結したデータを暗号化鍵1321eをもちいて暗号化する。
なお、暗号処理部1221eが備える暗号化ロジックは、復号化が可能であれば何であってもよい。たとえば、ブロック暗号をもちいると、先頭が乱数であるため、後半のIDの部分もランダム化する。ブロック暗号をもちいた場合、復号化処理の負荷が軽減される効果もある。
記憶部1300eは、各種の情報を記憶する記憶部であり、書き換え可能な不揮発性のメモリ、書き換え不能なメモリ、もしくは、書き換え可能な不揮発性のメモリと書き換え不能なメモリの組み合わせからなる。記憶部1300eは、タグID1310と、暗号化鍵1321eとを記憶する。暗号化鍵1321eは、暗号処理部1221eが暗号化処理にもちいる鍵である。
リーダライタ2000eは、無線タグ1000e等の無線タグからID等の情報を無線通信により受信したり、必要に応じて情報を無線タグ1000e等の無線タグへ送信して書き込んだりすることで所定の処理をおこなう装置であり、通信部2100と、制御部2200eと、記憶部2300eとを有する。
制御部2200eは、リーダライタ2000eを全体制御する制御部であり、通信制御部2210と、業務処理部2220と、ID復号部2230eと、復号処理部2241eとを有する。
ID復号部2230eは、暗号化されたIDを復元し、本来のIDを求める処理部である。具体的には、無線タグ1000e等の無線タグから送信された連結データを復号処理部2241eに引き渡して復号化し、その復号化結果からIDの演算結果と乱数を取得し、IDの演算結果と乱数の排他的論理和を演算し、その演算結果を本来のIDとする。
復号処理部2241eは、暗号処理部1221eによって暗号化された連結データを暗号化鍵2311eをもちいて復号化する処理部である。復号処理部2241eが備える復号化ロジックは、暗号処理部1221eが備える暗号化ロジックに対応したものである。
記憶部2300eは、各種の情報を記憶する記憶部であり、暗号化鍵2311eを記憶する。暗号化鍵2311eは、復号処理部2241eが復号化処理にもちいる鍵であり、暗号化鍵1321eと同一の値をとる。
次に、無線タグ1000eおよびリーダライタ2000eの情報のやりとりの手順について説明する。図16は、図15に示した無線タグ1000eおよびリーダライタ2000eのやりとりを示すシーケンス図である。同図は、リーダライタ2000eが無線タグ1000eに対してIDを問い合わせ、IDを同定するまでの手順を示している。
リーダライタ2000eが無線タグ1000eに対してIDを問い合わせると(ステップS501)、無線タグ1000eは、乱数生成部1230において乱数を生成する(ステップS502)。そして、乱数とタグID1310の排他的論理和を演算し(ステップS503)、乱数と演算結果を連結して暗号化する(ステップS504)。そして、この暗号化された連結データをリーダライタ2000eへ応答する(ステップS505)。
リーダライタ2000eは、暗号化された連結データを復号化して乱数と演算結果とに分離し(ステップS506)、演算結果と乱数の排他的論理和を演算することで本来のIDを取得し、各種の処理に利用する(ステップS507)。
次に、無線タグ1000eおよびリーダライタ2000eの処理手順について説明する。図17は、図15に示した無線タグ1000eの処理手順を示すフローチャートである。同図は、無線タグ1000eがIDの問い合わせを受信し、応答するまでの手順を示している。
無線タグ1000eにおいて、IDの問い合わせが受信されると(ステップS511)、乱数生成部1230において乱数が生成される(ステップS512)。
暗号処理部1221eは、タグID1310を取得し(ステップS513)、さらに、暗号化鍵1321eを取得する(ステップS514)。そして、タグID1310と乱数生成部1230が生成した乱数との排他的論理和を演算し(ステップS515)、乱数と演算結果とを連結したデータを暗号化鍵1321eをもちいて暗号化する(ステップS516)。
そして、暗号処理部1221eにおいて暗号化が完了すると、無線タグ1000eは、暗号化結果を通信部1100を介して要求元に送信する(ステップS517)。
図18は、図15に示したリーダライタ2000eの処理手順を示すフローチャートである。同図は、リーダライタ2000eが無線タグ1000eに対してIDの問い合わせをおこない、本来のIDを同定するまでの手順を示している。
リーダライタ2000eは、無線タグ1000eに対してIDの問い合わせを送信し(ステップS521)、応答を待機する(ステップS522)。そして、応答を受信すると(ステップS523)、応答データを復号処理部2241eにおいて復号化する(ステップS524)。
そして、復号化したデータを乱数とIDの演算結果とに分離し(ステップS525)、IDの演算結果と乱数との排他的論理和を演算し(ステップS526)、その結果を本来のIDとし、同定処理を完了する(ステップS527)。
上述してきたように、本実施例では、無線タグ1000eが乱数と本来のIDの演算値とを連結して暗号化したものをIDの問い合わせに対して応答するように構成したので、暗号化処理を1回実行するだけで、無線タグ1000eから送信されるIDに秘匿可変性をもたせることができる。
なお、本実施例では、乱数とタグID1310とを演算した結果を連結したデータを暗号化したものをIDとして応答するように構成したが、乱数と暗号化鍵1321eを演算した結果を鍵として乱数とタグID1310の連結データを暗号化するように構成しても、無線タグ1000eから送信されるIDに秘匿可変性をもたせることができる。
また、乱数生成部1230の代わりにカウンタ1400を設け、無線タグ1000eがIDの問い合わせを受けるたびにカウンタ1400の値をインクリメントさせ、乱数の代わりにカウンタ1400の値を使用するように構成しても同様の効果を得ることができる。
上記の実施例では、無線タグが発信するID情報に秘匿可変性をもたせる方式について説明したが、暗号化のアルゴリズムによっては、繰り返しIDの問い合わせをおこなってその結果を分析することで暗号化鍵が露呈してしまう恐れがある。この対策として、本実施例では、IDの問い合わせへの応答後、一定時間応答を抑止する無線タグの例を示す。
まず、本実施例に係る無線タグの構成について説明する。図19は、本実施例に係る無線タグの構成を示す機能ブロック図である。
無線タグ1000fは、リーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200fと、記憶部1300fと、暗号化ID生成機構1500とを有する。暗号化ID生成機構1500は、IDに秘匿可変性をもたせるための機構であり、実施例1〜5で示したいずれかの方式、もしくは、その他の方式を備える。
制御部1200fは、無線タグ1000fを全体制御する制御部であり、通信制御部1210と、遅延回路1240と、AND回路1251とを有する。
遅延回路1240は、入力信号がONになると一定時間、出力がONになる回路である。遅延回路1240は、通信制御部1210と接続され、無線タグ1000fがIDの問い合わせに応答すると入力信号がONになる。
AND回路1251は、2つの信号を入力とし、両方がONの場合に暗号化ID生成機構1500に対して暗号化されたIDの生成を指示する信号がONになるように構成されている。AND回路1251に対する入力信号の一つは、無線タグ1000fがIDの問い合わせを受信するとONになる。そして、もう一方の信号は、遅延回路1240の出力信号を反転させたものである。
この構成により、無線タグ1000fは、IDの問い合わせに応答した後、一定時間はIDの問い合わせに応答しないようになっている。このように、IDの問い合わせに応答しない期間を設けることにより、連続した問い合わせによる暗号鍵の露呈を回避することができる。
次に、無線タグ1000fの処理手順について説明する。図20は、図19に示した無線タグ1000fの処理手順を示すフローチャートである。同図は、無線タグ1000fがIDの問い合わせを受信し、応答するまでの手順を示している。
無線タグ1000fにおいて、IDの問い合わせが受信された場合(ステップS601)、遅延回路1240の状態によって処理が分岐する。
遅延回路1240の出力がOFFの場合、すなわち、前回のIDの応答から一定時間経過している場合は(ステップS602OFF)、暗号化ID生成機構1500において暗号化されたIDを生成し(ステップS603)、通信部1100を介して要求元に送信する(ステップS604)。
遅延回路1240の出力がONの場合、すなわち、前回のIDの応答から一定時間経過していない場合は(ステップS602ON)、問い合わせに対応する処理は何もおこなわれない。
上述してきたように、本実施例では、IDへの問い合わせへの応答後、一定時間は、問い合わせに対応しないように構成したので、連続した問い合わせによる暗号鍵の露呈を回避することができる。
実施例6では、暗号化鍵の露呈を防止するために、IDの問い合わせへの応答後、一定時間、問い合わせに応じない方式を示したが、この方式の場合、正規の問い合わせに対しても応答しなくなるために不都合が生じる可能性がある。そこで、本実施例では、IDの問い合わせへの応答後、一定時間、同一のIDを応答する方式を示す。
まず、本実施例に係る無線タグの構成について説明する。図21は、本実施例に係る無線タグの構成を示す機能ブロック図である。本実施例に係る無線タグ1000gと実施例6で示した無線タグ1000fとの相違点は2つである。
第1の相違点は、無線タグ1000gは、記憶部1300gに暗号化ID保持部1340を備えている点である。この暗号化ID保持部1340には、暗号化ID生成機構1500にて最後に生成されたIDが保持される。
第2の相違点は、制御部1200gにAND回路1252を備えている点である。AND回路1252は、2つの信号を入力とし、両方がONの場合に暗号化ID保持部1340に対して保持しているIDの送信を指示する信号がONになるように構成されている。AND回路1252に対する入力信号の一つは、無線タグ1000gがIDの問い合わせを受信するとONになる。そして、もう一方の信号は、遅延回路1240の出力信号である。
この構成により、無線タグ1000gは、IDの問い合わせに応答した後、一定時間は暗号化ID保持部1340に保持されているIDを応答するようになっている。このように、IDの問い合わせに対して一定時間同一のIDを応答することにより、連続した問い合わせによる暗号鍵の露呈を回避しつつ、正規の問い合わせに適切に対応することができる。
次に、無線タグ1000gの処理手順について説明する。図22は、図21に示した無線タグ1000gの処理手順を示すフローチャートである。同図は、無線タグ1000gがIDの問い合わせを受信し、応答するまでの手順を示している。
無線タグ1000gにおいて、IDの問い合わせが受信された場合(ステップS701)、遅延回路1240の状態によって処理が分岐する。
遅延回路1240の出力がOFFの場合、すなわち、前回のIDの応答から一定時間経過している場合は(ステップS702OFF)、暗号化ID生成機構1500において暗号化されたIDを生成し(ステップS703)、通信部1100を介して要求元に送信する(ステップS704)。そして、このIDを暗号化ID保持部1340に保持させる(ステップS705)。
遅延回路1240の出力がONの場合、すなわち、前回のIDの応答から一定時間経過していない場合は(ステップS702ON)、暗号化ID保持部1340に保持されているIDが取得され(ステップS706)、この値を通信部1100を介して要求元に送信する(ステップS707)。
上述してきたように、本実施例では、IDへの問い合わせへの応答後、一定時間は、同一のIDを応答するように構成したので、連続した問い合わせによる暗号鍵の露呈を回避しつつ、正規の問い合わせに適切に対応することができる。
本明細書で示すようなIDに秘匿可変性をもたせた無線タグが普及するに際しては、従来の固定IDを応答する無線タグとの並存期間があると考えられる。このような並存期間においては、当初は無線タグに固定IDを応答させ、リーダライタ等の対応が完了した後に、所定の操作をおこなうことで秘匿可変性をもったIDを応答させるようにできれば都合がよい。本実施例では、このようなIDの切替機能を実現する方式を示す。
まず、本実施例に係る無線タグの構成について説明する。図23は、本実施例に係る無線タグの構成を示す機能ブロック図である。
無線タグ1000hは、リーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200hと、記憶部1300hと、暗号化ID生成機構1500とを有する。
制御部1200hは、無線タグ1000hを全体制御する制御部であり、通信制御部1210と、ID切替判定部1260とを有する。
ID切替判定部1260は、IDの問い合わせに対して、固定IDを応答するか秘匿可変性をもったIDを応答するかを判定する処理部である。具体的には、記憶部1300hの状態フラグ1350が固定IDを応答すべき旨を示していれば、タグID1310の値をそのまま応答することとし、状態フラグ1350が秘匿可変性をもったIDを応答すべき旨を示していれば、暗号化ID生成機構1500の生成したIDを応答することとする。
記憶部1300hは、各種情報を記憶する記憶部であり、状態フラグ1350と、タグID1310とを有する。状態フラグ1350は、IDの問い合わせに対して固定IDを応答すべきか秘匿可変性をもったIDを応答すべきかを示すフラグである。状態フラグ1350は、初期状態では、固定IDを応答すべき旨を示し、リーダライタから所定のデータを書き込むことにより、秘匿可変性をもったIDを応答すべき旨を示すようになる。
なお、他の実施例では、タグID1310は、暗号化ID生成機構1500に含まれるものとして説明しているが、本実施例では、説明の便宜上、タグID1310を暗号化ID生成機構1500外部に記載している。
次に、無線タグ1000hの処理手順について説明する。図24は、図23に示した無線タグ1000hの処理手順を示すフローチャートである。同図は、無線タグ1000hがIDの問い合わせを受信し、応答するまでの手順を示している。
無線タグ1000hにおいて、IDの問い合わせが受信された場合(ステップS801)、状態フラグ1350の状態によって処理が分岐する。
状態フラグ1350が暗号化モード、すなわち、秘匿可変性をもったIDを応答すべき旨を示している場合は(ステップS802暗号化モード)、暗号化ID生成機構1500において暗号化されたIDを生成し(ステップS803)、通信部1100を介して要求元に送信する(ステップS804)。
状態フラグ1350が互換モード、すなわち、固定IDを応答すべき旨を示している場合は(ステップS802固定モード)、タグID1310を取得し(ステップS805)、通信部1100を介して要求元に送信する(ステップS806)。
上述してきたように、本実施例では、状態フラグ1350の状態に応じて固定IDを応答するか、秘匿可変性をもったIDを応答するかを切り替えるように構成したので、固定IDしか応答できない無線タグとの並存期間であっても、秘匿可変性をもったIDを応答することができる無線タグを利用することができる。
複数の無線タグのIDを同時に認識するアンチコリジョン機能では、一般的に、2分木探索によってIDがビットごとに読み出される。IDに秘匿可変性をもたせた無線タグをこのアンチコリジョン機能に対応させるには、2分木探索中はIDを固定しておく必要があるが、無条件にIDを固定すると、同一のIDを何度でも読み出すことが可能になり、IDが追跡される恐れがある。本実施例では、アンチコリジョン機能に対応しつつ、追跡を防止することができる方式を示す。
まず、本実施例に係る無線タグの構成について説明する。図25は、本実施例に係る無線タグの構成を示す機能ブロック図である。
無線タグ1000iは、リーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200iと、記憶部1300iと、暗号化ID生成機構1500とを有する。
制御部1200iは、無線タグ1000iを全体制御する制御部であり、通信制御部1210と、状態判定部1270とを有する。
状態判定部1270は、アンチコリジョン機能による2分木探索が正当な手順でおこなわれているかを判定し、不正な手順でおこなわれていると判定した場合は、IDを生成し直す処理部である。具体的には、2分木探索で読み出されたビット位置を記憶部1300iの返答ビット位置1360に保持し、この値と新たに要求されたビット位置とを比較して手順が正当であるか否かを判定する。
記憶部1300iは、各種情報を記憶する記憶部であり、暗号化ID保持部1340と、返答ビット位置1360とを有する。暗号化ID保持部1340は、暗号化ID生成機構1500において最後に生成されたIDを記憶し、返答ビット位置1360は、暗号化ID保持部1340に記憶されたIDが2分木探索で最後に読み出されたビット位置を記憶する。
次に、無線タグ1000iの処理手順について説明する。図26は、図25に示した無線タグ1000iの処理手順を示すフローチャートである。同図は、無線タグ1000iが2分木探索による読み出し要求を受信した場合の処理手順を示している。なお、ここでは、正当な2分木探索においては、上位ビットから順にリクエストがおこなわれるものと仮定している。
無線タグ1000iにおいて、特定ビットのリクエストが受信された場合(ステップS901)、リクエストされたビット位置と返答ビット位置1360に保持されているビット位置とを比較する。
ここで、リクエストされたビット位置が返答ビット位置1360に保持されているビット位置より上位だった場合は(ステップS902肯定)、不正な手順で2分木探索がおこなわれたものと判断し、暗号化ID生成機構1500に新たなIDを生成させ(ステップS903)、そのIDを暗号化ID保持部1340に記憶させ(ステップS904)、返答ビット位置1360を初期化する(ステップS905)。
リクエストされたビット位置が返答ビット位置1360に保持されているビット位置より下位だった場合は(ステップS902否定)、正当な手順で2分木探索がおこなわれたものと判断し、暗号化ID保持部1340を参照してリクエストされたビットに応じた応答をおこない(ステップS906)、リクエストされたビット位置を返答ビット位置1360に記憶させる(ステップS907)。
上述してきたように、本実施例では、2分木探索で最後にリクエストされたビット位置を返答ビット位置1360に記憶しておき、新たにリクエストされたビット位置と返答ビット位置1360の値を比較することで正当な手順で2分木探索がおこなわれたか否かを判定するように構成したので、IDに秘匿可変性をもたせた無線タグをアンチコリジョン機能に対応させつつ、IDの複数回探索による追跡を防止することができる。
なお、IDの各ビットに対応した領域を記憶部1300iに設け、この領域にIDの各ビットのリクエスト状況を記録し、同じビットが所定の回数以上リクエストされたら不正な2分木探索がおこなわれたものと判断するように構成してもよい。
上記の実施例では、無線タグからリーダライタに送信されるIDに秘匿可変性をもたせる方式について説明している。しかし、リーダライタから無線タグに対して送信されるデータが傍受され、固有のIDが漏洩する可能性もある。リーダライタが発信する信号は、リーダライタが発信する信号よりも遠方まで伝播するため傍受されやすい。
本実施例では、リーダライタから無線タグに対して送信される情報の傍受による固有のIDの漏洩を防止することができる方式を示す。なお、本実施例では、無線タグのIDに秘匿可変性をもたせるために乱数を利用するものとして説明するが、乱数の代わりにカウンタの値を利用する構成としてもよい。
まず、本実施例に係る無線タグの構成について説明する。図27は、本実施例に係る無線タグの構成を示す機能ブロック図である。
無線タグ1000jは、リーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200jと、記憶部1300jと、暗号化ID生成機構1500とを有する。
制御部1200jは、無線タグ1000jを全体制御する制御部であり、通信制御部1210と、コマンド処理部1280とを有する。コマンド処理部1280は、リーダライタから送信されたコマンドを処理する処理部であり、コマンドと同時に送信された乱数が当該の無線タグで生成された乱数であるかどうかによって、コマンドが自身宛であるか否かを判断する。
リーダライタから送信されるコマンドは複数の無線タグによって受信される可能性がある。本実施例に係るリーダライタは、無線タグからIDの応答を受信した際に取得した乱数をIDと関連付けて記憶しておき、特定の無線タグに対してコマンドを送信する場合に、その無線タグに対応する乱数をコマンドとともに送信して対象の無線タグを指定する。
このように、IDを直接利用せずに、無線タグがIDの応答時に送信した乱数によってコマンドの要求対象のタグを指定するようにすることで、リーダライタの送信データの傍受によりIDが漏洩する恐れがなくなる。
記憶部1300jは、各種情報を記憶する記憶部であり、乱数保持部1370を有する。乱数保持部1370は、暗号化ID生成機構1500において最後に生成された乱数を記憶する。ここに記憶された乱数は、コマンド処理部1280がリーダライタから乱数を受信した場合に、その乱数が当該の無線タグで生成された乱数であるかどうかを判断するために利用される。
次に、無線タグ1000jおよびリーダライタの情報のやりとりの手順について説明する。図28は、図27に示した無線タグ1000jおよびリーダライタのやりとりを示すシーケンス図である。同図は、リーダライタが無線タグ1000jに対してIDを問い合わせ、IDを同定後にコマンドの実行を要求し、実行完了を確認するまでの手順を示している。
リーダライタが無線タグ1000jに対してIDを問い合わせると(ステップS1001)、無線タグ1000jは、暗号化ID生成機構1500において乱数を生成し、乱数保持部1370に記憶させる(ステップS1002)。そして、IDと乱数を暗号化し(ステップS1003)、これらの値をリーダライタへ応答する(ステップS1004)。
リーダライタは、暗号化されたIDと乱数を復号化し、IDを同定する(ステップS1005)。そして、無線タグ1000jに実行を要求するコマンドとデータを復号化した乱数とともに暗号化し(ステップS1006)、これらを無線タグ1000jへ送信する(ステップS1007)。
無線タグ1000jは、乱数とコマンドとデータを復号化し(ステップS1008)、乱数が乱数保持部1370に保持されている値と一致することを確認したならば(ステップS1009)、データをもちいてコマンドに応じた処理を実行する(ステップS1010)。そして、実行を完了したことを通知するために、IDと乱数を暗号化し(ステップS1011)、これらの値をリーダライタへ応答する(ステップS1012)。
リーダライタは、暗号化されたIDと乱数を復号化し、コマンドを送信したタグから応答があったことからコマンドの実行が完了したことを確認する。
次に、無線タグ1000jの処理手順について説明する。図29は、図27に示した無線タグ1000jの処理手順を示すフローチャートである。同図は、無線タグ1000jがリーダライタからコマンドを受信した場合の処理手順を示している。
無線タグ1000jにおいて、暗号化された乱数とコマンドとデータが受信されたると(ステップS1021)、これらを復号化し(ステップS1022)、復号化した乱数が乱数保持部1370に保持されている値と一致するかどうかを確認する。
ここで、値が一致した場合は(ステップS1023肯定)、データをもちいてコマンドに応じた処理を実行する(ステップS1024)。そして、実行を完了したことを通知するために、IDと乱数を暗号化し(ステップS1025)、これらの値をリーダライタへ応答する(ステップS1026)。値が一致しなかった場合は(ステップS1023否定)、何も応答せずに処理を完了する。
上述してきたように、本実施例では、リーダライタが無線タグを指定する場合にIDを使用せずに、IDに秘匿可変性をもたせるために生成された乱数を使用するように構成したので、リーダライタの送信データの傍受による無線タグのIDの漏洩を防止することができる。
上記の実施例では、無線タグとリーダライタのやりとりにおいて無線タグのIDに秘匿可変性をもたせる方式について説明している。しかし、これらの方式においても、リーダライタ上には無線タグのIDが暗号化されていない状態で存在することになるため、リーダライタへの不正アクセスによりIDが漏洩する可能性がある。本実施例では、無線タグの本来のIDをリーダライタにもたせない方式を示す。
まず、本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成について説明する。図30は、本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成を示す機能ブロック図である。
同図に示すように、無線タグ1000aとリーダライタ2000kは、無線通信によって情報のやりとりをおこない、リーダライタ2000kとタグ属性管理装置3000kはネットーワーク等によって接続される。なお、タグ属性管理装置3000kには複数のリーダライタが接続されていてもよい。
無線タグ1000aは、図1に示したものと同じ無線タグである。なお、無線タグは、タグ属性管理装置3000kのID復号化機構3400がIDの復号化に対応している無線タグであればどのような無線タグであってもよい。
リーダライタ2000kは、無線タグ1000a等の無線タグからID等の情報を無線通信により受信したり、必要に応じて情報を無線タグ1000a等の無線タグへ送信して書き込んだりすることで所定の処理をおこなう装置であり、通信部2100と、制御部2200kと、ネットワークインターフェース部2400とを有する。
制御部2200kは、リーダライタ2000kを全体制御する制御部であり、通信制御部2210と、業務処理部2220と、タグ属性問合せ部2250kとを有する。タグ属性問合せ部2250kは、無線タグ1000a等の無線タグから取得した暗号化されたIDに対応する各種の属性情報をタグ属性管理装置3000kへと問い合わせて取得する処理部である。
ネットワークインターフェース部2400は、タグ属性管理装置3000kと各種の情報をやりとりするためのインターフェース部である。
タグ属性管理装置3000kは、無線タグのIDに対応する各種の属性情報を保持し、リーダライタ2000k等のリーダライタからの問合せに対して応答する装置であり、制御部3100kと、記憶部3200kと、ネットワークインターフェース部3300と、ID復号化機構3400とを有する。
制御部3100kは、タグ属性管理装置3000kを全体制御する制御部であり、タグ属性管理部3110kを有する。タグ属性管理部3110kは、リーダライタ2000k等のリーダライタから属性の問合せが受信された場合に、ID復号化機構3400に暗号化されたIDの復号化を依頼し、復号化されたIDをキーにして記憶部3200kのタグ属性DB3210kを検索し、問合せのあった属性情報を取得して応答する処理部である。
記憶部3200kは、各種の情報を記憶する記憶部であり、タグ属性DB3210kを有する。タグ属性DB3210kは、無線タグのIDに関連する各種の属性情報を記憶するデータベースである。たとえば、電気製品に埋め込まれた無線タグのIDの場合、属性情報として、メーカー名、製造年月、型番、定価等の情報が記憶される。
ネットワークインターフェース部3300は、リーダライタ2000k等のリーダライタと各種の情報をやりとりするためのインターフェース部である。ID復号化機構3400は、暗号化されたIDを復号化するための機構であり、上述した実施例で示したいずれかの復号化方式、もしくは、その他の復号化方式を備える。
次に、無線タグ1000a、リーダライタ2000kおよびタグ属性管理装置3000kの情報のやりとりの手順について説明する。図31は、図30に示した無線タグ1000a、リーダライタ2000kおよびタグ属性管理装置3000kのやりとりを示すシーケンス図である。同図は、リーダライタ2000kが無線タグ1000aに対してIDを問い合わせ、IDに対応する属性情報を取得するまでの手順を示している。
リーダライタ2000kが無線タグ1000aに対してIDを問い合わせると(ステップS1101)、無線タグ1000aは、IDを再暗号化し(ステップS1102)、これをリーダライタ2000kに応答する(ステップS1103)。
リーダライタ2000kは、応答を受信すると、属性情報を取得するために、タグ属性管理装置3000kに対して暗号化されたIDと問合せコマンドを送信する(ステップS1104)。
タグ属性管理装置3000kは、問合せを受信すると、問合せに含まれるIDを復号化する(ステップS1105)。そして、復号化した本来のIDをキーにしてタグ属性DB3210kを検索し、問合せコマンドの内容に応じた情報を取得し(ステップS1106)、暗号化されたIDとともに検査結果をリーダライタ2000kに応答する。
上述してきたように、本実施例では、無線タグのIDに関連した情報を管理するタグ属性管理装置3000kにおいて暗号化されたIDを復号化し、復号化したIDに関連する情報をリーダライタに応答するように構成したので、リーダライタは、無線タグのIDを復号化せずに各種の処理を実行することができ、リーダライタへの不正アクセスによるIDの漏洩を防止することができる。
なお、タグ属性管理装置3000kは、無線タグと直接やりとりをおこなわないため警戒の厳重な場所に設置することができ、また、1台で複数のリーダライタと対応させることで設置台数を限定することができるため、セキュリティを確保するのが比較的容易で、不正アクセスを受けるリスクを低くすることができる。
上記の実施例で説明してきたように、無線タグが応答するIDに秘匿可変性をもたせることで、追跡の問題を解決することができる。しかし、IDに秘匿可変性をもたせただけでは、なりすましによるサービスの不正利用を防止することはできない。
上記の実施例で説明した無線タグから応答されるIDは、暗号化されたIDと、IDの復号化のためのデータとを両方含んでいる。このため、無線タグから応答されるIDを傍受して記憶しておき、同じ値をリーダライタに応答すれば、暗号化されたIDは正常に復号化され、正規の無線タグになりすますことができる。本実施例では、このようななりすましを防止する方式を示す。
まず、本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成について説明する。図32は、本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成を示す機能ブロック図である。
同図に示すように、無線タグ1000lとリーダライタ2000lは、無線通信によって情報のやりとりをおこない、リーダライタ2000lとタグ属性管理装置3000lはネットーワーク等によって接続される。なお、タグ属性管理装置3000lには複数のリーダライタが接続されていてもよい。
無線タグ1000lは、リーダライタ2000l等のリーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200lと、記憶部1300lと、暗号化ID生成機構1500とを有する。
制御部1200lは、無線タグ1000lを全体制御する制御部であり、通信制御部1210を有する。
記憶部1300lは、各種情報を記憶する記憶部であり、受信乱数1380を有する。受信乱数1380は、タグ属性管理装置3000lにおいて生成された乱数であり、IDの問合せ時にリーダライタ2000lから無線タグ1000lに対して送信される。暗号化ID生成機構1500は、この受信乱数1380を利用して本来のIDを暗号化する。
リーダライタ2000lは、無線タグ1000l等の無線タグからID等の情報を無線通信により受信したり、必要に応じて情報を無線タグ1000l等の無線タグへ送信して書き込んだりすることで所定の処理をおこなう装置であり、通信部2100と、制御部2200lと、ネットワークインターフェース部2400とを有する。
制御部2200lは、リーダライタ2000lを全体制御する制御部であり、通信制御部2210と、業務処理部2220と、タグ属性問合せ部2250lとを有する。タグ属性問合せ部2250lは、無線タグ1000a等の無線タグから取得した暗号化されたIDに対応する各種の属性情報をタグ属性管理装置3000lへと問い合わせて取得する処理部である。また、タグ属性問合せ部2250lは、無線タグ1000a等の無線タグへIDを問い合わせる際に、タグ属性管理装置3000lに乱数の生成を依頼する処理もおこなう。
タグ属性管理装置3000lは、無線タグのIDに対応する各種の属性情報を保持し、リーダライタ2000l等のリーダライタからの問合せに対して応答する装置であり、制御部3100lと、記憶部3200lと、ネットワークインターフェース部3300と、ID復号化機構3400とを有する。
制御部3100lは、タグ属性管理装置3000lを全体制御する制御部であり、タグ属性管理部3110lと、乱数生成部3120と、乱数比較部3130とを有する。タグ属性管理部3110lは、リーダライタ2000l等のリーダライタから属性の問合せが受信された場合に、ID復号化機構3400に暗号化されたIDの復号化を依頼し、復号化されたIDをキーにして記憶部3200lのタグ属性DB3210lを検索し、問合せのあった属性情報を取得して応答する処理部である。
乱数生成部3120は、リーダライタ2000l等のリーダライタからの依頼により乱数を生成する処理部である。ここで、生成された乱数は、要求元のリーダライタに応答され、リーダライタから無線タグに対してIDの問合せとともに送信される。また、この乱数は、リーダライタとの接続セッションを識別する情報とともに記憶部3200lの乱数リスト3220に記憶される。
乱数比較部3130は、リーダライタ2000l等のリーダライタから属性の問合せが受信された場合に、問合せに含まれる乱数が正当であるかを乱数リスト3220を参照して判断する処理部である。具体的には、問合せに含まれる乱数が乱数リスト3220に存在しなければ、その乱数は不正であると判断する。また、その乱数が異なるセッションと関連付けされている場合にも不正であると判断する。
乱数比較部3130が乱数が不正であると判断した場合、タグ属性管理部3110lは、無線タグに不正がある旨をリーダライタに応答する。そして、この応答を受けたリーダライタは、当該の無線タグとの情報のやりとりを無効化する。
記憶部3200lは、各種の情報を記憶する記憶部であり、タグ属性DB3210lと、乱数リスト3220とを有する。タグ属性DB3210lは、無線タグのIDに関連する各種の属性情報を記憶するデータベースである。乱数リスト3220は、乱数生成部3120が生成した乱数を、その乱数の要求元のリーダライタとのセッションを識別する情報と関連付けて記憶する。
次に、無線タグ1000l、リーダライタ2000lおよびタグ属性管理装置3000lの情報のやりとりの手順について説明する。図33は、図32に示した無線タグ1000l、リーダライタ2000lおよびタグ属性管理装置3000lのやりとりを示すシーケンス図である。同図は、リーダライタ2000lが無線タグ1000lに対してIDを問い合わせ、IDに対応する属性情報を要求するまでの手順を示している。
リーダライタ2000lは、無線タグ1000lに対してIDの問合せが必要になると、タグ属性管理装置3000lに乱数の生成を依頼する(ステップS1201)。タグ属性管理装置3000lは、乱数を生成し、セッション情報とともに内部に記憶し(ステップS1202)、この乱数をリーダライタ2000lへ応答する(ステップS1203)。
リーダライタ2000lは、乱数を受信すると、無線タグ1000lに対してIDの問い合わせとともにこの乱数を送信する(ステップS1204)。
無線タグ1000lは、IDの問合せを受信すると、問合せとともに送られてきた乱数をもちいてIDを暗号化し、さらに、乱数自体も暗号化する(ステップS1205)。そして、暗号化したIDと乱数をリーダライタ2000lに応答する(ステップS1206)。
リーダライタ2000lは、応答を受信すると、属性情報を取得するために、タグ属性管理装置3000lに対して暗号化されたIDと乱数、および、問合せコマンドを送信する(ステップS1207)。
タグ属性管理装置3000lは、問合せを受信すると、問合せに含まれる乱数を復号化し、乱数リスト3220と照合する(ステップS1208)。そして、この乱数が現行のセッションで生成されたものであると確認したならば、暗号化されたIDを復号化し、復号化した本来のIDをキーにしてタグ属性DB3210lを検索し、問合せコマンドの内容に応じた情報を取得し、暗号化されたIDとともに検査結果をリーダライタ2000lに応答する(ステップS1209)。
上述してきたように、本実施例では、無線タグがIDを暗号化する際にもちいる乱数をタグ属性管理装置3000lが生成して記憶しておくこととし、タグ属性管理装置3000lが属性情報の問合せを受けた場合に、問合せに含まれる乱数を自身が記憶する情報と比較して正当性を確認するように構成したので、暗号化されたIDを傍受し、これになりすますことによる不正利用を防止することができる。
実施例11および12では、無線タグのIDに関連する属性情報をタグ属性管理装置で集中管理する例を示したが、たとえば、個人情報などは、タグ属性管理装置に接続されるリーダライタによって情報開示の範囲を定めておく必要がある。このような管理をリーダライタ単位でおこなった場合、タグ属性管理装置に接続されるリーダライタの数に比例して管理の工数が増大することになる。そこで、本実施例では、タグ属性管理装置に接続されるリーダライタをグループ単位で管理し、グループ単位で情報開示の制御をおこなう方式を示す。
まず、本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成について説明する。図34は、本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成を示す機能ブロック図である。
同図に示すように、無線タグ1000mとリーダライタ2000mは、無線通信によって情報のやりとりをおこない、リーダライタ2000mとタグ属性管理装置3000mはネットーワーク等によって接続される。
図示していないが、タグ属性管理装置3000mには複数のリーダライタが接続されており、それらのリーダライタはいくつかのグループに分けて管理されている。無線タグ1000mは、予め定められたグループのリーダライタでは利用することができるが、その他のグループのリーダライタでは利用することができない。
無線タグ1000mは、リーダライタ2000m等のリーダライタと無線通信によりID等のやりとりをする装置であり、通信部1100と、制御部1200mと、記憶部1300mと、暗号化ID生成機構1500とを有する。
制御部1200mは、無線タグ1000mを全体制御する制御部であり、通信制御部1210と、グループ判定部1290とを有する。
グループ判定部1290は、リーダライタ2000m等のリーダライタからのIDの問合せが受信された場合に、問合せとともに受信されたグループIDを取得し、記憶部1300mのグループ別暗号化鍵1390を参照し、これに対応する暗号鍵を取得する処理部である。
グループ別暗号化鍵1390は、無線タグ1000mが利用可能なリーダライタのグループのIDとそのグループ用の暗号化鍵の組み合わせを少なくとも1つ記憶する。グループごとに異なる暗号化鍵が存在するのは、暗号化鍵の漏洩が他のグループに影響しないようにするためである。
グループ判定部1290は、グループ別暗号化鍵1390を参照し、グループIDに対応する暗号化鍵を取得した場合は、その暗号化鍵を暗号化ID生成機構1500に引き渡してその暗号化鍵でIDを暗号化させる。また、グループ別暗号化鍵1390を参照し、当該のグループIDが存在しなかった場合は、IDの問合せへの応答を抑止させる。
記憶部1300hは、各種情報を記憶する記憶部であり、グループ別暗号化鍵1390を有する。グループ別暗号化鍵1390については、説明済みのため説明を省略する。
リーダライタ2000mは、無線タグ1000m等の無線タグからID等の情報を無線通信により受信したり、必要に応じて情報を無線タグ1000m等の無線タグへ送信して書き込んだりすることで所定の処理をおこなう装置であり、通信部2100と、制御部2200mと、ネットワークインターフェース部2400とを有する。
リーダライタ2000mは、特定のリーダライタのグループに属し、無線タグ1000m等の無線タグへIDを問い合わせる場合、自身が属するグループのIDを問合せとともに送信する。また、タグ属性管理装置3000mに対して無線タグのIDに関連する属性情報を問い合わせる場合にも、グループIDを送信する。
制御部2200mは、リーダライタ2000mを全体制御する制御部であり、通信制御部2210と、業務処理部2220と、タグ属性問合せ部2250mとを有する。タグ属性問合せ部2250mは、無線タグ1000m等の無線タグから取得した暗号化されたIDに対応する各種の属性情報をタグ属性管理装置3000mへと問い合わせて取得する処理部である。
タグ属性管理装置3000mは、無線タグのIDに対応する各種の属性情報を保持し、リーダライタ2000m等のリーダライタからの問合せに対して応答する装置であり、制御部3100mと、記憶部3200mと、ネットワークインターフェース部3300と、ID復号化機構3400とを有する。
制御部3100mは、タグ属性管理装置3000mを全体制御する制御部であり、タグ属性管理部3110mを有する。タグ属性管理部3110mは、リーダライタ2000m等のリーダライタから属性の問合せが受信された場合に、ID復号化機構3400に暗号化されたIDの復号化を依頼し、復号化されたIDをキーにして記憶部3200lのタグ属性DB3210mを検索し、問合せのあった属性情報を取得して応答する処理部である。
タグ属性管理部3110mは、ID復号化機構3400に暗号化されたIDの復号化を依頼する際に、記憶部3200mのグループ別暗号化鍵3230を参照し、問合せに含まれていたグループIDに対応する暗号化鍵を取得してその暗号化鍵を使用してIDを復号化するように依頼する。
また、タグ属性DB3210mを検索する際は、記憶部3200mの検索フィルタ3240を参照し、問合せに含まれていたグループIDに対して検索が許す旨が設定されている情報のみを検索する。
記憶部3200mは、各種の情報を記憶する記憶部であり、タグ属性DB3210mと、グループ別暗号化鍵3230と、検索フィルタ3240とを有する。タグ属性DB3210mは、無線タグのIDに関連する各種の属性情報を記憶するデータベースである。グループ別暗号化鍵1390は、タグ属性管理装置3000mに接続されているリーダライタが属するグループと、グループで使用される暗号化鍵との組み合わせを記憶する。検索フィルタ3240は、各グループに対してどの情報の検索が許されているのかが設定されたフィルタである。
次に、無線タグ1000m、リーダライタ2000mおよびタグ属性管理装置3000mの情報のやりとりの手順について説明する。図35は、図34に示した無線タグ1000m、リーダライタ2000mおよびタグ属性管理装置3000mのやりとりを示すシーケンス図である。同図は、リーダライタ2000mが無線タグ1000mに対してIDを問い合わせ、IDに対応する属性情報を受信するまでの手順を示している。
リーダライタ2000mは、無線タグ1000mに対するIDの問合せを、自身が属するグループのグループIDとともに送信する(ステップS1301)。無線タグ1000mは、IDの問合せを受信すると、問合せにとともに送られてきたグループIDに対応する暗号化鍵をもちいてIDを暗号化し(ステップS1302)、暗号化したIDをリーダライタ2000mに応答する(ステップS1303)。
リーダライタ2000mは、応答を受信すると、属性情報を取得するために、タグ属性管理装置3000mに対してグループIDと、暗号化されたIDと、問合せコマンドとを送信する(ステップS1304)。
タグ属性管理装置3000mは、問合せを受信すると、問合せに含まれるグループIDに対応する暗号化鍵をもちいてIDを復号化し(ステップS1305)、検索フィルタ3240を参照してグループIDに対応するグループに検索が許されている情報を確認し(ステップS1306)、復号化した本来のIDをキーにしてタグ属性DB3210mを検索し、問合せコマンドの内容に応じた情報のうち検索が許されている情報を取得し(ステップS1307)、暗号化されたIDとともに検査結果をリーダライタ2000mに応答する(ステップS1308)。
上述してきたように、本実施例では、リーダライタのグループ単位で情報の参照可否を検索フィルタ3240に設定しておき、この検索フィルタ3240で検索が許されている情報のみをリーダライタに応答するように構成したので、情報開示の制御を少ない管理工数で実現することができる。
なお、上記の各実施例におけるリーダライタおよびタグ属性管理装置の制御部の各種処理は、予め用意したプログラムをメモリにロードし、プロセッサに実行させることでも実現することができる。これらのプログラムは、装置内の記憶手段に記憶しておくこともできるし、サーバ装置等の他の情報処理装置に記憶しておき、必要に応じてダウンロードして実行することもできる。
また、上記の各実施例において示した各種の方式は、適宜組み合わせて実施することもできるし、一部を排除して実施することもできる。
(付記1)固有のIDを備えた無線タグであって、
IDの問合せを受けるたびに、前記固有のIDを基にして、値の異なる符号データを生成する第1の符号データ生成手段と、
前記第1の符号データ生成手段により生成された符号データを復号化するための符号データを生成する第2の符号データ生成手段と、
IDの問合せの問合せに対して、前記第1の符号データ生成手段により生成された符号データと、前記第2の符号データ生成手段により生成された符号データとを組み合わせたものを応答する通信手段と
を備えたことを特徴とする無線タグ。
(付記2)前記第1の符号データ生成手段は、第1の鍵をもちいて、前記固有のIDを所定の回数暗号化した符号データを生成し、
前記第2の符号データ生成手段は、第2の鍵をもちいて、前記固有のIDを前記第1の符号データ生成手段と同一回数暗号化した符号データを生成することを特徴とする付記1に記載の無線タグ。
(付記3)前記第1の符号データ生成手段は、前記固有のIDを所定の回数暗号化した符号データを生成し、
前記第2の符号データ生成手段は、他の無線タグと共通のIDを前記第1の符号データ生成手段と同一回数暗号化した符号データを生成することを特徴とする付記1に記載の無線タグ。
(付記4)前記第1の符号データ生成手段は、前記固有のIDを所定の回数暗号化した符号データを生成し、
前記第2の符号データ生成手段は、前記第1の符号データ生成手段が前記固有のIDを暗号化した回数を暗号化した符号データを生成することを特徴とする付記1に記載の無線タグ。
(付記5)IDの問合せを受けるたびに、新たな乱数を生成する乱数生成手段をさらに備え、
前記第1の符号データ生成手段は、前記固有のIDと前記乱数生成手段が生成した乱数との排他的論理和の演算結果を暗号化した符号データを生成し、
前記第2の符号データ生成手段は、前記乱数生成手段が生成した乱数を暗号化した符号データを生成することを特徴とする付記1に記載の無線タグ。
(付記6)前記通信手段がIDの問合せに対して応答した後、所定の期間、IDの問合せに対して応答しないように制御する応答制御手段をさらに備えたことを特徴とする付記1〜5のいずれか1つに記載の無線タグ。
(付記7)前記通信手段がIDの問合せに対して応答した後、所定の期間、IDの問合せに対して同じ応答をするように制御する応答制御手段をさらに備えたことを特徴とする付記1〜5のいずれか1つに記載の無線タグ。
(付記8)IDの問合せに対して固有のIDを応答するか、前記第1の符号データ生成手段により生成された符号データと、前記第2の符号データ生成手段により生成された符号データとを組み合わせたものを応答するかを設定するフラグをさらに備え、
前記通信手段は、前記フラグに固有のIDを応答すべき旨が設定されている場合は、IDの問合せの問合せに対して、前記第1の符号データ生成手段により生成された符号データと、前記第2の符号データ生成手段により生成された符号データとを組み合わせたものに代えて固有のIDを応答することを特徴とする付記1〜7のいずれか1つに記載の無線タグ。
(付記9)前記第1の符号データ生成手段により生成された符号データと、前記第2の符号データ生成手段により生成された符号データとを記憶し、アンチコリジョン機能による特定ビットのリクエストが受信された場合に、当該のビットの状態を識別するために参照される符号データ記憶手段と、
アンチコリジョン機能により最後にリクエストされたビットの位置を記憶する位置記憶手段と、
アンチコリジョン機能により新たにリクエストされたビットの位置と前記位置記憶手段に記憶されたビットの位置とを比較することでリクエストが不正であるか否かを判定し、リクエストが不正であると判定した場合に、前記符号データ記憶手段の符号データを再生成させる判定手段と
をさらに備えたことを特徴とする付記1〜8のいずれか1つに記載の無線タグ。
(付記10)リーダライタから送られてくる無線タグの固有のIDを認識する符号化システムであって、
前記リーダライタから送られてきた無線タグへのIDの問合せに対する応答に含まれる第1の符号データを復号化する第1の復号化手段と、
前記応答に含まれる第2の符号データを復号化する第2の復号化手段と、
前記第1の復号化手段の復号化結果と前記第2の復号化手段の復号化結果から前記固有のIDを同定する同定手段と
を含んだことを特徴とする符号化システム。
(付記11)無線タグの固有のIDを認識するリーダライタであって、
無線タグへのIDの問合せに対する応答に含まれる第1の符号データを復号化する第1の復号化手段と、
前記応答に含まれる第2の符号データを復号化する第2の復号化手段と、
前記第1の復号化手段の復号化結果と前記第2の復号化手段の復号化結果から前記固有のIDを同定する同定手段と
を備えたことを特徴とするリーダライタ。
(付記12)無線タグが自身が備える固有のIDを送信する場合にもちいる符合化方法であって、
IDの問合せを受けるたびに、前記固有のIDを基にして、値の異なる符号データを生成する第1の符号データ生成工程と、
前記第1の符号データ生成工程により生成された符号データを復号化するための符号データを生成する第2の符号データ生成工程と、
IDの問合せの問合せに対して、前記第1の符号データ生成工程により生成された符号データと、前記第2の符号データ生成工程により生成された符号データとを組み合わせたものを応答する通信工程と
を含んだことを特徴とする符合化方法。
(付記13)前記第1の符号データ生成工程は、第1の鍵をもちいて、前記固有のIDを所定の回数暗号化した符号データを生成し、
前記第2の符号データ生成工程は、第2の鍵をもちいて、前記固有のIDを前記第1の符号データ生成工程と同一回数暗号化した符号データを生成することを特徴とする付記12に記載の符合化方法。
(付記14)前記第1の符号データ生成工程は、前記固有のIDを所定の回数暗号化した符号データを生成し、
前記第2の符号データ生成工程は、他の無線タグと共通のIDを前記第1の符号データ生成工程と同一回数暗号化した符号データを生成することを特徴とする付記12に記載の符合化方法。
(付記15)前記第1の符号データ生成工程は、前記固有のIDを所定の回数暗号化した符号データを生成し、
前記第2の符号データ生成工程は、前記第1の符号データ生成工程が前記固有のIDを暗号化した回数を暗号化した符号データを生成することを特徴とする付記12に記載の符合化方法。
(付記16)IDの問合せを受けるたびに、新たな乱数を生成する乱数生成工程をさらに備え、
前記第1の符号データ生成工程は、前記固有のIDと前記乱数生成工程が生成した乱数との排他的論理和の演算結果を暗号化した符号データを生成し、
前記第2の符号データ生成工程は、前記乱数生成工程が生成した乱数を暗号化した符号データを生成することを特徴とする付記12に記載の符合化方法。
(付記17)前記通信工程がIDの問合せに対して応答した後、所定の期間、IDの問合せに対して応答しないように制御する応答制御工程をさらに含んだことを特徴とする付記12〜16のいずれか1つに記載の符合化方法。
(付記18)前記通信工程がIDの問合せに対して応答した後、所定の期間、IDの問合せに対して同じ応答をするように制御する応答制御工程をさらに含んだことを特徴とする付記12〜16のいずれか1つに記載の符合化方法。
(付記19)IDの問合せに対して固有のIDを応答するか、前記第1の符号データ生成工程により生成された符号データと、前記第2の符号データ生成工程により生成された符号データとを組み合わせたものを応答するかを設定するフラグをさらに備え、
前記通信工程は、前記フラグに固有のIDを応答すべき旨が設定されている場合は、IDの問合せの問合せに対して、前記第1の符号データ生成工程により生成された符号データと、前記第2の符号データ生成工程により生成された符号データとを組み合わせたものに代えて固有のIDを応答することを特徴とする付記12〜18のいずれか1つに記載の符合化方法。
以上のように、本発明に係る無線タグ、リーダライタ、符号化システムおよび符合化方法は、無線タグが発信するIDの符合化に有用であり、特に、無線タグが発信するIDに秘匿可変性をもたせつつ、無線タグの回路の小規模化と、復号過程の負荷の軽減を達成することが必要な場合に適している。
本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
図1に示した無線タグおよびリーダライタのやりとりを示すシーケンス図である。
図1に示した無線タグの処理手順を示すフローチャートである。
図1に示したリーダライタの処理手順を示すフローチャートである。
本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
図5に示したリーダライタの処理手順を示すフローチャートである。
本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
図7に示した無線タグおよびリーダライタのやりとりを示すシーケンス図である。
図7に示した無線タグの処理手順を示すフローチャートである。
図7に示したリーダライタの処理手順を示すフローチャートである。
本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
図11に示した無線タグおよびリーダライタのやりとりを示すシーケンス図である。
図11に示した無線タグの処理手順を示すフローチャートである。
図11に示したリーダライタの処理手順を示すフローチャートである。
本実施例に係る無線タグおよびリーダライタの構成を示す機能ブロック図である。
図15に示した無線タグおよびリーダライタのやりとりを示すシーケンス図である。
図15に示した無線タグの処理手順を示すフローチャートである。
図15に示したリーダライタの処理手順を示すフローチャートである。
本実施例に係る無線タグの構成を示す機能ブロック図である。
図19に示した無線タグの処理手順を示すフローチャートである。
本実施例に係る無線タグの構成を示す機能ブロック図である。
図21に示した無線タグの処理手順を示すフローチャートである。
本実施例に係る無線タグの構成を示す機能ブロック図である。
図23に示した無線タグの処理手順を示すフローチャートである。
本実施例に係る無線タグの構成を示す機能ブロック図である。
図25に示した無線タグの処理手順を示すフローチャートである。
本実施例に係る無線タグの構成を示す機能ブロック図である。
図27に示した無線タグおよびリーダライタのやりとりを示すシーケンス図である。
図27に示した無線タグの処理手順を示すフローチャートである。
本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成を示す機能ブロック図である。
図30に示した無線タグ、リーダライタおよびタグ属性管理装置のやりとりを示すシーケンス図である。
本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成を示す機能ブロック図である。
図32に示した無線タグ、リーダライタおよびタグ属性管理装置のやりとりを示すシーケンス図である。
本実施例に係る無線タグ、リーダライタおよびタグ属性管理装置の構成を示す機能ブロック図である。
図34に示した無線タグ、リーダライタおよびタグ属性管理装置のやりとりを示すシーケンス図である。
符号の説明
1000a〜1000j、1000l、1000m 無線タグ
1100 通信部
1200a〜1200j、1200l、1200m 制御部
1210 通信制御部
1221a〜1221e 暗号処理部
1222a〜1222d 暗号処理部
1230 乱数生成部
1240 遅延回路
1251、1252 AND回路
1260 ID切替判定部
1270 状態判定部
1280 コマンド処理部
1290 グループ判定部
1300 記憶部
1300a〜1300j、1300l、1300m 記憶部
1310 タグID
1311 共通ID
1321a〜1321e 暗号化鍵
1322a 暗号化鍵
1331a〜1331c 暗号化ID
1332a、1332b 暗号化ID
1340 暗号化ID保持部
1350 状態フラグ
1360 返答ビット位置
1370 乱数保持部
1380 受信乱数
1390 グループ別暗号化鍵
1400 カウンタ
1500 暗号化ID生成機構
2000a〜2000e、2000k〜2000m リーダライタ
2100 通信部
2200a〜2200e、2200k〜2200m 制御部
2210 通信制御部
2220 業務処理部
2230a〜2230e ID復号部
2241a〜2241e 復号処理部
2242a〜2242d 復号処理部
2250k〜2250m タグ属性問合せ部
2300a〜2300e 記憶部
2311a〜2311e 暗号化鍵
2312a、2312c 暗号化鍵
2312b 共通ID暗号化リスト
2400 ネットワークインターフェース部
3000k〜3000m タグ属性管理装置
3100k〜3100m 制御部
3110k〜3110m タグ属性管理部
3120 乱数生成部
3130 乱数比較部
3200k〜3200m 記憶部
3210k〜3210m タグ属性DB
3220 乱数リスト
3230 グループ別暗号化鍵
3240 検索フィルタ
3300 ネットワークインターフェース部
3400 ID復号化機構