(57)【要約】【課題】  ＲＦＩＤやＡｕｔｏＩＤ等において、センタ装置に大きな処理負担をかけることなく、低コストで権限無き第三者によるＩＤ情報の追跡を十分に防止する。【解決手段】    タグ装置１０に記録ＩＤ情報ＵＩＤｊと一時情報ＣＮＴｋを記録し、タグ装置１０及びセンタ装置３０にマスタ鍵とその鍵ＩＤ番号（ＭＫｊ，ＫＩＤｊ）を記録しておく。そして、タグ装置１０において、ＣＮＴｋとＭＫｊとを用いて一時鍵ＯＳＫｋを生成し、これを用いてＵＩＤｊを暗号化して可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成する。そして、タグ装置１０において、一時情報ＣＮＴｋをＣＮＴｋ+1に更新した後、生成したｎｏｎｃｅＩＤｋ，ＣＮＴｋ，ＫＩＤｊをセンタ装置３０に送信する。センタ装置３０は、このｎｏｎｃｅＩＤｋ，ＣＮＴｋ，ＫＩＤｊと記録された（ＭＫｊ，ＫＩＤｊ）を用いて、ＯＳＫｋを生成し、ＵＩＤｊを復号する。【選択図】        図１
2005167670.tif 000002
【特許請求の範囲】
【請求項１】
記録ＩＤ情報を記録するＩＤ情報記録手段と、
第１の鍵情報を記録する第１の鍵情報記録手段と、
一時情報を記録する一時情報記録手段と、
前記第１の鍵情報と前記一時情報とを用いて第１の一時鍵を生成する第１の一時鍵生成手段と、
前記第１の一時鍵を用い、共通鍵暗号方式によって、前記記録ＩＤ情報を暗号化した可変ＩＤ情報を生成する第１の共通鍵暗号手段と、
前記一時情報記録手段に記録された前記一時情報を更新する一時情報更新手段と、
前記可変ＩＤ情報及び前記第１の一時鍵の生成に用いた前記一時情報を送信する情報送信手段と、
を備えるタグ装置と、
第２の鍵情報を記録する第２の鍵情報記録手段と、
前記可変ＩＤ情報及び前記一時情報を受信する情報受信手段と、
前記第２の鍵情報と前記一時情報とを用いて第２の一時鍵を生成する第２の一時鍵生成手段と、
前記第２の一時鍵を用いて前記可変ＩＤ情報を復号する共通鍵復号手段と、
を備えるセンタ装置と、
を有することを特徴とするＩＤ自動識別システム。
【請求項２】
請求項１記載のＩＤ自動識別システムであって、
前記ＩＤ情報記録手段は、
前記第１の共通鍵暗号手段において生成された前記可変ＩＤ情報を新たな記録ＩＤ情報として前記記録ＩＤ情報を更新し、
前記一時情報更新手段は、
所定の規則に基づいて前記一時情報を更新し、
前記センタ装置は、
前記所定の規則に基づいて、前記一時情報を１回分の更新が行われる前の状態に変換する一時情報遡及手段と、
前記共通鍵復号手段における復号結果を、１回分の更新が行われる前の状態の可変ＩＤ情報とするＩＤ遡及手段と、
をさらに備え、
前記第２の一時鍵生成手段は、
さらに、前記第２の鍵情報と、前記一時情報遡及手段において順次変換された更新前の一時情報とを用い、前記第２の一時鍵を順次生成する処理を必要回数繰り返し、
前記共通鍵復号手段は、
さらに、前記第２の一時鍵生成手段において順次生成された前記第２の一時鍵を用い、前記ＩＤ遡及手段において順次生成された前記可変ＩＤ情報を順次復号する処理を必要回数繰り返す、
ことを特徴とするＩＤ自動識別システム。
【請求項３】
請求項１或いは２記載のＩＤ自動識別システムであって、
前記センタ装置は、
複数の第３の鍵情報を記録する第３の鍵情報記録手段と、
固有ＩＤ情報を記録する固有ＩＤ情報記録手段と、
何れかの前記第３の鍵情報を用い、前記固有ＩＤ情報から新たな記録ＩＤ情報を生成するＩＤ情報更新手段と、
前記新たな記録ＩＤ情報を送信する更新情報送信手段と、
をさらに備え、
前記タグ装置は、
前記新たな記録ＩＤ情報を受信する更新情報受信手段を、さらに備え、
前記ＩＤ情報記録手段は、
記録されている前記記録ＩＤ情報を、前記新たな記録ＩＤ情報によって更新し、
前記センタ装置は、
前記第３の鍵情報を用い、前記共通鍵復号手段における復号結果から前記固有ＩＤ情報を生成する固有ＩＤ情報再現手段を、さらに備える、
ことを特徴とするＩＤ自動識別システム。
【請求項４】
記録ＩＤ情報を記録するＩＤ情報記録手段と、
システム共通マスタ鍵情報と暗号化センタ一時鍵情報とを記録する第１の鍵情報記録手段と、
一時情報を記録する一時情報記録手段と、
前記システム共通マスタ鍵情報を用いて前記暗号化センタ一時鍵情報を復号し、第１のセンタ一時鍵情報を生成する共通鍵復号手段と、
前記第１のセンタ一時鍵情報と前記一時情報とを用いて第１の一時鍵を生成する第１の一時鍵生成手段と、
前記第１の一時鍵を用い、共通鍵暗号方式によって、前記記録ＩＤ情報を暗号化した可変ＩＤ情報を生成する第１の共通鍵暗号手段と、
前記一時情報記録手段に記録された前記一時情報を更新する一時情報更新手段と、
前記可変ＩＤ情報及び前記第１の一時鍵の生成に用いた前記一時情報を送信する情報送信手段と、
を備えるタグ装置と、
システム共通マスタ鍵情報と、センタ秘密鍵情報と、第２のセンタ一時鍵情報と、を記録する第２の鍵情報記録手段と、
前記可変ＩＤ情報及び前記一時情報を受信する情報受信手段と、
前記第２のセンタ一時鍵情報と前記一時情報とを用いて第２の一時鍵を生成する第２の一時鍵生成手段と、
前記第２の一時鍵を用いて前記可変ＩＤ情報を復号し、前記記録ＩＤ情報を生成する共通鍵復号手段と、
前記第２のセンタ一時鍵情報と前記センタ秘密鍵情報とを用いて更新一時鍵情報を生成する第２の一時鍵情報生成手段と、
前記更新一時鍵情報を用い、前記記録ＩＤ情報から固有ＩＤ情報を生成する固有ＩＤ情報再現手段と、
を備えるセンタ装置と、
を有することを特徴とするＩＤ自動識別システム。
【請求項５】
請求項４記載のＩＤ自動識別システムであって、
前記第２の鍵情報記録手段は、
複数の前記第２のセンタ一時鍵情報を記録し、
前記センタ装置は、
固有ＩＤ情報を記録した固有ＩＤ情報記録手段と、
前記第２の鍵情報記録手段から何れかの前記第２のセンタ一時鍵情報を選択するセンタ一時鍵選択手段と、
前記センタ一時鍵選択手段において選択された前記第２のセンタ一時鍵情報を、前記システム共通マスタ鍵情報を用い、共通鍵暗号方式によって暗号化した新たな暗号化センタ一時鍵情報を生成する第２の共通鍵暗号手段と、
前記センタ一時鍵選択手段において選択された前記第２のセンタ一時鍵情報と、前記センタ秘密鍵情報とを用い、新たな更新一時鍵情報を生成する第３の一時鍵情報生成手段と、
前記新たな更新一時鍵情報を用い、共通鍵暗号方式によって、前記固有ＩＤを暗号化した新たな記録ＩＤ情報を生成する第３の共通鍵暗号手段と、
前記新たな暗号化センタ一時鍵情報と前記新たな記録ＩＤ情報を送信する更新情報送信手段と、
をさらに備え、
前記タグ装置は、
前記新たな暗号化センタ一時鍵情報と前記新たな記録ＩＤ情報を受信する更新情報受信手段をさらに備え、
前記第１の鍵情報記録手段は、
記録されている前記暗号化センタ一時鍵情報を、前記更新情報受信手段において受信された前記新たな暗号化センタ一時鍵情報によって更新し、
前記ＩＤ情報記録手段は、
記録されている前記第１の記録ＩＤ情報を、前記更新情報受信手段において受信された前記新たな記録ＩＤ情報によって更新する、
ことを特徴とするＩＤ自動識別システム。
【請求項６】
請求項１から５の何れかに記載のＩＤ自動識別システムであって、
前記一時情報更新手段は、
前記一時情報が前記第１の一時鍵の生成に使用されるたびに、前記一時情報記録手段に記録された前記一時情報を更新する、
ことを特徴とするＩＤ自動識別システム。
【請求項７】
請求項１から６の何れかに記載のＩＤ自動識別システムであって、
前記一時鍵生成手段は、
一方向性ハッシュ関数を用いて前記一時鍵を生成する、
ことを特徴とするＩＤ自動識別システム。
【請求項８】
記録ＩＤ情報を記録するＩＤ情報記録手段と、
鍵情報を記録する鍵情報記録手段と、
一時情報を記録する一時情報記録手段と、
前記鍵情報と前記一時情報とを用いて一時鍵を生成する一時鍵生成手段と、
前記一時鍵を用い、共通鍵暗号方式によって、前記記録ＩＤ情報を暗号化した可変ＩＤ情報を生成する共通鍵暗号手段と、
前記一時情報記録手段に記録された前記一時情報を更新する一時情報更新手段と、
前記可変ＩＤ情報及び前記第１の一時鍵の生成に用いた前記一時情報を送信する情報送信手段と、
を有することを特徴とするタグ装置。
【請求項９】
鍵情報を記録する鍵情報記録手段と、
可変ＩＤ情報及び一時情報を受信する情報受信手段と、
前記鍵情報と前記一時情報とを用いて一時鍵を生成する一時鍵生成手段と、
前記一時鍵を用いて前記可変ＩＤ情報を復号する共通鍵復号手段と、
を有することを特徴とするセンタ装置。
【請求項１０】
タグ装置のＩＤ情報記録手段に記録ＩＤ情報を、第１の鍵情報記録手段に第１の鍵情報を、一時情報記録手段に一時情報を、それぞれ記録しておき、
センタ装置の第２の鍵情報記録手段に第２の鍵情報を記録しておき、
前記タグ装置が有する、
第１の一時鍵生成手段において、前記第１の鍵情報と前記一時情報とを用いて第１の一時鍵を生成し、
第１の共通鍵暗号手段において、前記第１の一時鍵を用い、共通鍵暗号方式によって、前記記録ＩＤ情報を暗号化した可変ＩＤ情報を生成し、
一時情報更新手段において、前記一時情報記録手段に記録された前記一時情報を更新し、
情報送信手段において、前記可変ＩＤ情報及び前記第１の一時鍵の生成に用いた前記一時情報を送信し、
前記センタ装置が有する、
情報受信手段において、
前記可変ＩＤ情報及び前記一時情報を受信し、
第２の一時鍵生成手段において、前記第２の鍵情報と前記一時情報とを用いて第２の一時鍵を生成し、
共通鍵復号手段において、前記第２の一時鍵を用いて前記可変ＩＤ情報を復号する、
ことを特徴とするＩＤ自動識別方法。
【請求項１１】
請求項８記載のタグ装置としてコンピュータを機能させるためのプログラム。
【請求項１２】
請求項９記載のセンタ装置としてコンピュータを機能させるためのプログラム。
【請求項１３】
請求項１１或いは１２記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タグ装置に記録された製品やサービス利用許可者などの識別情報（ＩＤ情報）を、外部の読み取り機を通じて自動的に識別する技術に関し、特に、権限外のＩＤ情報追跡不可能性を実現するＩＤ自動識別システム、それを構成するタグ装置及びセンタ装置、ＩＤ自動識別方法、それらの機能をコンピュータに実行させるためのプログラム、及びこのプログラムを格納した記録媒体に関する。
【背景技術】
【０００２】
近年、製品やサービス利用許可者などの識別情報（ＩＤ情報）を外部からの読み取り機（リーダ装置）を通じて自動的に識別することにより、製品の物流管理やサービス利用者の管理などを効率的に行うためのシステムが導入されつつある。とりわけ、製品ごとに異なる固定のＩＤ情報を埋め込んだ低コストの小型無線タグ装置を製品につけることによって当該製品の物流管理を実現するＲＦＩＤやＡｕｔｏＩＤなどのＩＤ自動識別装置は、店舗における効率的な物流管理のほか、万引きや盗難品の不法転売の防止に役立つと期待されている。これは、製品ごとに異なる固定のＩＤ情報が設定されているため、そのＩＤ情報をセンタ装置側にあるデータベースサーバがチェックすることによって不法転売品かどうかの判断ができるためである。
【０００３】
〔従来方式１〕安価な製品にも小型無線タグを取り付けることを想定すれば、タグの製造コストが低いことが求められる。このため、図９に示すように、製品ごとに異なる固定のＩＤ情報３１１のみを埋め込んだ小型無線タグ装置３１０を製品に付し、リーダ装置３２０からのＩＤ情報要求に対して常に同じＩＤ情報を無線送信する方式がとられる。ここで小型無線タグ装置３１０から送信されたＩＤ情報は、リーダ装置３２０を通じてセンタ装置３３０に送られ、センタ装置３３０は、自らが保持するＩＤ−製品情報関係データベース３３１の情報及び盗難品情報３３２を用い、送られたＩＤ情報に対応する製品情報をリーダ装置３２０に返す。
【０００４】
しかし、このリーダ装置３２０は、商店の出入り口など至るところに設置される可能性がある。そして、この方式の場合、このリーダ装置３２０の前を当該製品が通過するたびに固定のＩＤ情報を無線送信しつづけることになる。これは、そのＩＤ情報を追跡することで当該製品自体の追跡が可能となることを意味する。しかも、購入時などに、当該製品のＩＤ情報と購入者情報とがリンクした場合、ＩＤ情報が追跡できることで購入者自身を追跡できることになる。
また、製品ごとに異なる固定のＩＤ情報が割り当てられているため、リーダ装置３２０の前を通過した人物の所持品を調べることも可能になる。
このようなプライバシに関する問題を解決する手段として、以下の３つの方式が提案されている。
【０００５】
〔従来方式２〕  購入時などにＩＤ情報（もしくは小型無線タグ自体）を物理的に失効させ、以後のＩＤ自動識別を利用不可能とする方式である。即ち、この方式では、ＩＤ情報を埋め込んだ小型無線タグを製品の製造・流通・販売段階までの物流管理にのみ利用する。この方式の代表例として、例えば、非特許文献１に示すものがある。
しかし、この方式の場合、製品購入後のＩＤ情報の追跡不可能性は実現しているものの、万引きや盗難品の不法転売の防止など本来のＩＤ自動識別装置として実現可能な仕組みが構築できなくなる。
【０００６】
〔従来方式３〕  ＩＤ情報を定期／不定期のタイミングで更新させ、同じ製品であっても時間により異なるＩＤ情報を割り当てる方式である。この方式の代表例として、非特許文献２に示すものがある。
これは、製品ごとに異なる固定のＩＤ情報を割り当てるまでは従来方法１と同じであるが、その固定ＩＤ情報自体を小型無線タグに埋め込むのではなく、公開鍵暗号方式による暗号化をした後の暗号化ＩＤ情報を埋め込む。そして、定期／不定期のタイミングで、センタ装置もしくはリーダ装置がその暗号化ＩＤ情報を一旦復号し、再度公開鍵暗号方式で暗号化した再暗号化ＩＤ情報で上書きする。これにより、暗号化ＩＤ情報が更新されるごとにＩＤ情報の追跡ができなくなる仕組みである。また、公開鍵暗号方式で暗号化することにより暗号化ＩＤ情報からもとの固定ＩＤ情報を読み出せないようにしている。
【０００７】
この方式の問題点は、小型無線タグを低コストで製造する必要性から、タグ自体に公開鍵暗号方式を組み込むことができず、再暗号化をセンタ装置もしくはリーダ装置側で行う必要がある点である。つまり、この方式の場合、更新を行うまでの間は同一の暗号化ＩＤ情報を使いつづけることになるため、更新期間が長ければ従来の固定ＩＤ情報を利用した場合と効果は変わらない。一方、更新期間を短くすると、頻繁に再暗号化要求が出されることになる。また、この方式では公開鍵暗号方式を利用するため処理効率が悪く、さらに更新のたびに固定ＩＤ情報が一旦露呈するという問題点もある。特にリーダ装置で再暗号化を行う場合、復号用のすべての秘密鍵を各リーダ装置が保持する必要があるため、安全な運用のためにはリーダ装置側のセキュリティ対策が極めて重要になる。しかし、商店の出入り口など至ることに多数設置されるようになるほど、そのような対策を施すコストが上昇する。
【０００８】
〔従来方式４〕  ＩＤ情報をハッシュ関数によって毎回更新させ、同じ製品であっても異なるＩＤ情報を割り当てる方式である。この方式の代表例として、非特許文献３に示すものがある。
この方式は、製品ごとに異なる固定のＩＤ情報を割り当て、その固定ＩＤ情報ｉｄを小型無線タグ装置に埋め込むまでは従来方法１と同じである。しかし、リーダ装置からのＩＤ情報要求に対し、毎回乱数ｒを発生させ、そのハッシュ値Ｈ（ｉｄ｜ｒ）を計算する点が相異する。そして、小型無線タグ装は、可変ＩＤ情報として、この（Ｈ（ｉｄ｜ｒ），ｒ）をリーダ装置に送信する。リーダ装置は、製品情報を得るため、受け取った可変ＩＤ情報（Ｈ（ｉｄ｜ｒ），ｒ）をセンタ装置に送信する。センタ装置は、データベースに記録されているすべてのＩＤ情報ｉｄｉに対してＨ（ｉｄｉ｜ｒ）を計算し、受信したＨ（ｉｄ｜ｒ）と一致するものを探索する。探索の結果、一致したＩＤ情報ｉｄｉが小型無線タグ装置に埋め込まれた固定ＩＤ情報ｉｄであり、それに対応する製品情報をリーダ装置に返信する。
【０００９】
この方式の場合、送信される可変ＩＤ情報（Ｈ（ｉｄ｜ｒ），ｒ）が毎回異なるため、ＩＤ情報の追跡はできない。
しかし、この方式の問題点は、小型無線タグ装置に固定ＩＤ情報ｉｄが埋め込まれているため、小型無線タグ装置のタンパー性が破られ固定ＩＤ情報ｉｄが漏洩すると、ｒからＨ（ｉｄ｜ｒ）を計算できるようになる。これにより、可変ＩＤ情報（Ｈ（ｉｄ｜ｒ），ｒ）がその固定ＩＤ情報ｉｄのものかどうかを判断できる。また、回路規模が比較的大きく高コストな乱数生成回路を小型無線タグに備える必要があり、低コストでタグを製造するには問題がある。センタ装置の処理についても、データベースに記録されているすべてのＩＤ情報に対してそのハッシュ値を計算し、その計算結果が可変ＩＤ情報と一致する固定ＩＤ情報を探索する必要があるなど、効率・実装面で問題がある。
【００１０】
〔従来方式５〕  また、従来方式４の改良方式として例えば非特許文献４に示すものがある。これは、製品ごとに異なる固定のＩＤ情報を割り当てるところまでは従来方法４と同じであるが、小型無線タグ装置に埋め込まれたＩＤ情報を更新ＩＤ情報ｉｄｎとして順次更新する点が相異する。
つまり、この方式の小型無線タグ装置は、リーダ装置からのＩＤ情報要求に対し、第１のハッシュ関数による更新ＩＤ情報ｉｄｎのハッシュ値Ｈ（ｉｄｎ）を可変ＩＤ情報としてリーダ装置に送信する。それと共に、この小型無線タグ装置は、第２のハッシュ関数により更新ＩＤ情報をｉｄｎ＋１＝Ｇ（ｉｄｎ）に更新し、その更新後の更新ＩＤ情報を小型無線タグ装置内に上書き記録する。
【００１１】
また、製品情報を得るためには、リーダ装置は可変ＩＤ情報Ｈ（ｉｄｎ）をセンタ装置に送信する。センタ装置は、データベースに記録されているすべてのＩＤ情報ｉｄｉに対して、第２のハッシュ関数を必要な回数分適用して更新ＩＤ情報を求め、それに第１のハッシュ関数を適用した可変ＩＤ情報Ｈ（Ｇ（Ｇ（・・・Ｇ（ｉｄｉ）・・・）））を計算する。その結果がリーダ装置から送られた可変ＩＤ情報と一致するものを探索し、一致した時のＩＤ情報ｉｄｉを小型無線タグに埋め込まれた固定ＩＤ情報ｉｄであると判断して、それに対応する製品情報をリーダに返信する。
【００１２】
この方式では、通信のたびに可変ＩＤ情報が毎回異なることとなるため、ＩＤ情報の追跡ができなくなる。また、更新ＩＤ情報はハッシュ関数を利用して毎回更新されるため、小型無線タグのタンパー性が破られ、そのときの更新ＩＤ情報ｉｄｎが漏洩しても、それ以前の可変ＩＤ情報を求めることはできない。
さらに、従来方式４と比較して、小型無線タグ装置に必要な回路が少ない（乱数生成回路の代わりに比較的小規模なハッシュ関数を利用）、更新ＩＤ情報ｉｄｎが漏洩してもそれ以前の可変ＩＤ情報を求めることはできないなどの特徴がある。
【非特許文献１】S. E. Sarma, S. A. Weis, and D. W. Engels, “Radio-frequency identification systems,” CHES’02
【非特許文献２】A. Juels and R. Pappu, “Squealing Euros: Privacy Protection in RFID-Enabled Banknotes,” Financial Cryptography 2003
【非特許文献３】S. A. Weis, S. E. Sarma, R. L. Rivest, and D. W. Engles, “Security and Privacy Aspects of Low-Cost Radio Frequency Identification Systems,” First International Conference on Security in Pervasive Computing
【非特許文献４】M. Ookubo, K. Suzuki, and S. Kinoshita, “Forward-Secure RFID Privacy Protection Scheme,” CSS2003
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、従来方式５では、センタ装置側の負荷が非常に大きくなるという問題点がある。即ち、前述のように、センタ装置は、リーダ装置への製品情報提供に際し、データベースに記録されているすべてのＩＤ情報ｉｄｉに対して、第２のハッシュ関数を必要な回数分適用して更新ＩＤ情報を求め、それに第１のハッシュ関数を適用した可変ＩＤ情報を計算し、さらにその結果から、リーダ装置から送られた可変ＩＤ情報に一致するものを探索するという多大な処理を行わなければならない。特に、第２のハッシュ関数の繰返し回数が分からない又はその回数が非常に大きい場合には、一つのＩＤ情報を検査するだけでもかなりの時間がかかる。
【００１４】
また、小型無線タグ装置のタンパー性が破られ、そのときの更新ＩＤ情報ｉｄｎが漏洩すると、この更新ＩＤ情報ｉｄｎを取得した第三者が、それ以降の可変ＩＤ情報を求めることができるという問題点もある。
この発明はこのような点に鑑みてなされたものであり、センタ装置に大きな処理負担をかけることなく、低コストで権限無き第三者によるＩＤ情報の追跡を十分に防止できるＩＤ自動識別システムを提供することを目的とする。
また、本発明の他の目的は、センタ装置に大きな処理負担をかけることなく、低コストで権限無き第三者によるＩＤ情報の追跡を十分に防止できるタグ装置を提供することである。
【００１５】
さらに、本発明の他の目的は、センタ装置に大きな処理負担をかけることなく、低コストで権限無き第三者によるＩＤ情報の追跡を十分に防止できるセンタ装置を提供することである。
また、本発明の他の目的は、センタ装置に大きな処理負担をかけることなく、低コストで権限無き第三者によるＩＤ情報の追跡を十分に防止できるＩＤ自動識別方法を提供することである。
【課題を解決するための手段】
【００１６】
この発明では上記課題を解決するために、まず、タグ装置に記録ＩＤ情報と第１の鍵情報と一時情報を記録しておき、センタ装置に第２の鍵情報を記録しておく。そして、タグ装置において、この第１の鍵情報と一時情報とを用いて第１の一時鍵を生成し、この第１の一時鍵を用いて、記録ＩＤ情報を共通鍵暗号方式によって暗号化し、可変ＩＤ情報を生成する。さらに、タグ装置において、一時情報記録手段に記録された一時情報を更新し、生成された可変ＩＤ情報及び第１の一時鍵の生成に用いた一時情報を送信する。送信された可変ＩＤ情報及び一時情報はセンタ装置において受信される。そして、センタ装置は、この一時情報と記録された第２の鍵情報とを用いて第２の一時鍵を生成し、この第２の一時鍵を用いて可変ＩＤ情報を復号する。
【００１７】
ここで、タグ装置内で一時情報が更新されることにより、その更新の前後で生成される可変ＩＤ情報が異なるものとなる。これにより、送信される可変ＩＤ情報の共通性を元に権限無き第三者がＩＤ情報を追跡するといった事態を防止できる。
また、少なくとも鍵情報すべてが秘匿されている限り、タグ装置内に記録されている記録ＩＤ情報から可変ＩＤ情報を求めたり、可変ＩＤ情報から記録ＩＤ情報を求めたりすることはできない。これにより、たとえタグ装置のタンパー性が破られ、タグ装置内に記録されている記録ＩＤ情報が漏洩したとしても、権限無き第三者は、この漏洩した記録ＩＤ情報と通信された可変ＩＤ情報との対応をとることができない。そのため、タグ装置のタンパー性が破られたとしても、その前後において権限無き第三者がＩＤ情報を追跡することはできない。以上より、権限外のＩＤ情報追跡不可能性を十分に達成できる。
【００１８】
その一方、センタ装置では、鍵情報と一時情報と可変ＩＤ情報がすべて揃うことによって、極めて少ない処理負荷で記録ＩＤ情報に復元できる。これにより、権限に基づいたＩＤ情報追跡の容易性を担保し、センタ装置における処理負担の軽減を実現している。
また、タグ装置内で行われる暗号化処理は共通鍵暗号方式を用いて行われ、乱数の生成や公開鍵暗号化処理は全く行われない。そして、この共通鍵暗号化方式として、例えばＣａｍｅｌｌｉａやＡＥＳを使うことにより非常に小規模ながら高い安全性を達成できる。この２つの暗号は乱数生成演算や公開鍵暗号演算と比較すると極めて小さい回路規模で実装することが可能であり、小型タグの製造コストを低く抑えることができる。
【発明の効果】
【００１９】
以上のように、本発明では、センタ装置に大きな処理負担をかけることなく、低コストで権限無き第三者によるＩＤ情報の追跡を十分に防止できる。
【発明を実施するための最良の形態】
【００２０】
以下、この発明の実施の形態を図面を参照して説明する。
＜第１の実施の形態＞
以下、本発明の第１の実施の形態について説明する。
〔構成〕
図１は、本形態におけるＩＤ自動識別システム１の構成を例示したものである。
図１に例示するように、ＩＤ自動識別システム１は、商品等に付されるタグ装置１０、タグ装置１０への情報の読書きを行うリーダ装置２０、及びＩＤに関する情報を管理するセンタ装置３０を有している。
【００２１】
ここで、タグ装置１０は、鍵情報記録手段１１、一時情報記録手段１２、ＩＤ情報記録手段１３、共通鍵暗号手段１４、ハッシュ関数手段１５（「一時鍵生成手段」に相当）、Ｉ／Ｏインタフェース手段１６（「情報送信手段」に相当）及び一時情報更新手段１７を備えている。
また、リーダ装置２０は、タグＩ／Ｏインタフェース手段２１、センタＩ／Ｏインタフェース手段２２を備えている。
さらに、センタ装置３０は、固定ＩＤ−製品情報関係データベース３１、鍵情報データベース３２（「鍵情報記録手段」に相当）、共通鍵復号手段３３、ハッシュ関数手段３４（「一時鍵生成手段」に相当）、Ｉ／Ｏインタフェース手段３５（「情報受信手段」に相当）及び読取り手段３６を備えている。
【００２２】
なお、タグ装置１０、リーダ装置２０及びセンタ装置３０は、例えばＣＰＵ（Central Processing Unit）等からなる公知のコンピュータに所定のプログラムを実行させることにより構成される。また、タグ装置１０については、一般的なＣＰＵの代わりに、例えば、共通鍵暗号演算やハッシュ関数演算を行う機能のみを有するハードウェアを用いて構成してもよい。
〔前準備〕
まず、センタ装置３０の鍵情報データベース３２において、マスタ鍵ＭＫｉ（「第２の鍵情報」に相当）とその鍵ＩＤ番号ＫＩＤｉを対応付けてリスト化としたマスタ鍵リスト［ＭＫｉ，ＫＩＤｉ］を構築（記録）する。また、製品ごとに異なる固定ＩＤ情報ＵＩＤｊを設定し、この固定ＩＤ情報ＵＩＤｊとその製品情報Ｉｎｆｏｊを対応付けてリスト化した固定ＩＤ−製品情報関係リスト［ＵＩＤｊ，Ｉｎｆｏｊ］を、固定ＩＤ−製品情報関係データベース３１に記録する。
【００２３】
また、タグ装置１０の鍵情報記録手段１１において、マスタ鍵（「第１の鍵情報」に相当）とその鍵ＩＤ番号（ＭＫｊ，ＫＩＤｊ）を対応付けて記録させ、ＩＤ情報記録手段１３において、記録ＩＤ情報ＩＤｊとして固定ＩＤ情報ＵＩＤｊを記録する。また、一時情報記録手段１２において、初期一時情報ＣＮＴ１を記録する。
さらに、ハッシュ関数手段１５，３４には、同じハッシュ関数Ｈ（「一方向性ハッシュ関数」に相当）を格納し、共通鍵暗号手段１４と共通鍵復号手段３３には、相互に対応する共通鍵暗号関数及び共通鍵復号関数をそれぞれ格納する。なお、ハッシュ関数としては、例えばＳＨＡ−１、ＭＤ５等を使用し、共通鍵暗号・復号関数としては、例えば、Ｃａｍｅｌｌｉａ（「K. Aoki, et al: ”The 128-Bit Block Cipher Camellia,” IEICE Transactions on Fundamentals, Vol. E85-A, No. 1, pp. 11-24, 2002」等参照）やＡＥＳ（「Specification for the ADVANCED ENCRYPTION STANDARD(Federal Information Processing Standards Publication 197)等参照」等を使用する。
【００２４】
〔処理動作〕
次に、ＩＤ自動識別システム１の処理動作について説明する。
図２は、ＩＤ自動識別システム１の処理動作を説明するためのフローチャートである。以下、このフローチャートを用いてＩＤ自動識別システム１の処理動作を説明する。
〔ＩＤ情報要求時〕
まず、リーダ装置２０から（ｋ回目の）ＩＤ情報を要求する際の処理ステップを示す。
ステップＳ１：
まず、リーダ装置２０のタグＩ／Ｏインタフェース手段２１においてＩＤ情報の送信要求を送信する。
【００２５】
ステップＳ２：
タグ装置１０は、Ｉ／Ｏインタフェース手段１６を通してＩＤ情報の要求を受信し、これをトリガとして以下の処理を実行する。
ステップＳ３：
ハッシュ関数手段１５において、一時情報記録手段１２に記録されている一時情報ＣＮＴｋと鍵情報記録手段１１に記録されているマスタ鍵ＭＫｊを抽出し、これらを用いて一時鍵ＯＳＫｋを生成する。具体的には、格納したハッシュ関数Ｈを用い、
ＯＳＫｋ＝Ｈ（ＣＮＴｋ｜ＭＫｊ）
の演算を行って一時鍵ＯＳＫｋを算出する。なお、「α｜β」はαとβのビット結合を示す。また、Ｈ（γ）は、γのハッシュ値を示す。
【００２６】
このように生成された一時鍵ＯＳＫｋは共通鍵暗号手段１４に送られる。
ステップＳ４：
次に、共通鍵暗号手段１４において、ＩＤ情報記録手段１３に記録されている記録ＩＤ情報ＩＤｊを抽出する。そして、共通鍵暗号手段１４は、ハッシュ関数手段１５から送られた一時鍵ＯＳＫｋを用い、共通鍵暗号方式によって、この記録ＩＤ情報ＩＤｊを暗号化し、可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成する。具体的には、格納した共通鍵暗号関数Ｅｎｃを用い、
ｎｏｎｃｅＩＤｋ＝Ｅｎｃ（ＩＤｊ，ＯＳＫｋ）
の演算を行って可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成する。
【００２７】
ステップＳ５：
次に、一時情報更新手段１７において、一時情報記録手段１２から一時情報ＣＮＴｋを抽出し、抽出した一時情報ＣＮＴｋを１カウントアップする。そして、一時情報更新手段１７は、このカウントアップした一時情報をＣＮＴｋ＋１によって、一時情報記録手段１２に記録された一時情報ＣＮＴｋを上書き更新する。即ち、一時情報更新手段１７は、
ＣＮＴｋ＋１＝ＣＮＴｋ＋１
の演算によって新たな一時情報ＣＮＴｋ＋１を算出し、これを一時情報記録手段１２に上書き保存する。これにより、一時情報更新手段１７は、一時情報ＣＮＴｋが一時鍵ＯＳＫｋの生成に使用されるたびに、一時情報記録手段１２に記録された一時情報ＣＮＴｋを更新することになる。
【００２８】
ステップＳ６：
次に、Ｉ／Ｏインタフェース手段１６において、共通鍵暗号手段１４から可変ＩＤ情報ｎｏｎｃｅＩＤｋを、ハッシュ関数手段１５から一時鍵ＯＳＫｋの生成（ステップＳ３）に用いた一時情報ＣＮＴｋを、鍵情報記録手段１１からこの一時鍵ＯＳＫｋの生成に用いたマスタ鍵ＭＫｊに対応付けられている鍵ＩＤ情報ＫＩＤｊを、それぞれ抽出する。そして、Ｉ／Ｏインタフェース手段１６は、これらのデータ（ｎｏｎｃｅＩＤｋ，ＫＩＤｊ，ＣＮＴｋ）をリーダ装置２０へ送信する。
【００２９】
送信データ（ｎｏｎｃｅＩＤｋ，ＫＩＤｊ，ＣＮＴｋ）
ステップＳ７：
この送信データは、リーダ装置２０のタグＩ／Ｏインタフェース手段２１において受信され、センタ装置３０でのＩＤ情報追跡時に、センタＩ／Ｏインタフェース手段２２からセンタ装置３０に送信される。
〔ＩＤ情報追跡時〕
次に、センタ装置３０において、製品情報（ＩＤ情報）を追跡するときの処理ステップを示す。
【００３０】
ステップＳ８：
まず、センタ装置３０のＩ／Ｏインタフェース手段３５において、リーダ装置２０から上述のように送信された送信データ（ｎｏｎｃｅＩＤｋ，ＫＩＤｊ，ＣＮＴｋ）を受信する。ここで受信された可変ＩＤ情報ｎｏｎｃｅＩＤｋは共通鍵復号手段３３に送られ、鍵ＩＤ情報ＫＩＤｊ及び一時情報ＣＮＴｋは、ハッシュ関数手段３４に送られる。
ステップＳ９：
次にハッシュ関数手段３４は、ステップＳ８で送られた鍵ＩＤ情報ＫＩＤｊを用いて鍵情報データベース３２を検索し、この鍵ＩＤ情報ＫＩＤｊに対応付けて記録されているマスタ鍵ＭＫｊを抽出する。
【００３１】
ステップＳ１０：
さらにハッシュ関数手段３４は、ステップＳ８で送られた一時情報ＣＮＴｋとステップＳ９で抽出したマスタ鍵ＭＫｊを用いて一時鍵ＯＳＫｋ（「第２の一時鍵」に相当）を生成する。具体的には、格納したハッシュ関数Ｈを用い、
ＯＳＫｋ＝Ｈ（ＣＮＴｋ｜ＭＫｊ）
の演算を行って一時鍵ＯＳＫｋを算出する。そして、生成された一時鍵ＯＳＫｋは、共通鍵復号手段３３に送られる。
【００３２】
ステップＳ１１：
その後、共通鍵復号手段３３において、ステップＳ１０において送られた一時鍵ＯＳＫｋを用い、ステップＳ８において送られた可変ＩＤ情報ｎｏｎｃｅＩＤｋを復号して記録ＩＤ情報ＩＤｊを算出する。なお、この例では、記録ＩＤ情報ＩＤｊと固定ＩＤ情報ＵＩＤｊは同一のものである。具体的には、格納する共通鍵復号関数Ｄｅｃを用いて
ＵＩＤｊ＝ＩＤｊ＝Ｄｅｃ（ｎｏｎｃｅＩＤｋ，ＯＳＫｋ）
を演算し、固定ＩＤ情報ＵＩＤｊを求める。このように求められた固定ＩＤ情報ＵＩＤｊは、読取り手段３６に送られる。
【００３３】
ステップＳ１２：
固定ＩＤ情報ＵＩＤｊが送られた読取り手段３６は、この固定ＩＤ情報ＵＩＤｊを用いて固定ＩＤ−製品情報関係データベース３１を検索し、固定ＩＤ情報ＵＩＤｊに関連つけて記録されている製品情報Ｉｎｆｏｊを、固定ＩＤ−製品情報関係データベース３１から抽出する。
ステップＳ１３：
ステップＳ１２で読取り手段３６において抽出された製品情報Ｉｎｆｏｊは、Ｉ／Ｏインタフェース手段３５に送られ、Ｉ／Ｏインタフェース手段３５は、この製品情報Ｉｎｆｏｊをリーダ装置２０へ送信する。
【００３４】
ステップＳ１４：
そしてリーダ装置２０は、センタＩ／Ｏインタフェース手段２２において、ステップＳ１３で送信された製品情報Ｉｎｆｏｊを受信する。
〔本形態の特徴〕
以上説明した通り、本形態では、リーダ装置２０からタグ装置１０へＩＤ情報が要求されるたびに、リーダ装置２０のハッシュ関数手段１５において、一時情報記録手段１２に記録されている一時情報ＣＮＴｋを用い、一時鍵ＯＳＫｋが生成される。そして、この一時情報ＣＮＴｋは、一時鍵ＯＳＫｋの生成に使用されるたびに一時情報更新手段１７において更新される。これは、生成される一時鍵ＯＳＫｋの値が、ＩＤ情報要求のたびに異なることを意味している。
【００３５】
また、このＩＤ情報の要求に対し、タグ装置１０からリーダ装置２０に送信されるのは、記録ＩＤ情報ＩＤｊを一時鍵ＯＳＫｋによって暗号化した可変ＩＤ情報ｎｏｎｃｅＩＤｋである。これは、タグ装置１０からリーダ装置２０に送信される可変ＩＤ情報ｎｏｎｃｅＩＤｋが、ＩＤ情報要求のたびに毎回異なることを意味している。そして、一時鍵ＯＳＫｋの生成に使用されたマスタ鍵ＭＫｊを知らない権限無き第三者は、この異なる可変ＩＤ情報ｎｏｎｃｅＩＤｋ相互間の関連性を知ることはできない。
以上により、本形態では、権限無き第三者が、通信情報の共通性を根拠に、タグ装置１０を追跡するといった事態を防止できる。
【００３６】
また、本形態では、鍵情報記録手段１１に記録されているマスタ鍵ＭＫｊがわからない限り、ステップＳ３の計算ができない。これは、マスタ鍵ＭＫｊを知らない権限無き第三者が、記録ＩＤ情報ＩＤｊから可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成することができないことを意味している。同様に、マスタ鍵ＭＫｊを知らない権限無き第三者は、可変ＩＤ情報ｎｏｎｃｅＩＤｋを復号して記録ＩＤ情報ＩＤｊを求めることもできない。また、送信データにはマスタ鍵ＩＤ情報ＫＩＤｊしか付け加えていないため、送信データからマスタ鍵ＭＫｊを探し出される危険もない。
【００３７】
これにより、タグ装置１０がタンパーされ、ＩＤ情報記録手段１３に格納された記録ＩＤ情報ＩＤｊが漏洩した場合であって、攻撃者は、マスタ鍵ＭＫｊを知らない限り、タグ装置１０と通信される可変ＩＤ情報ｎｏｎｃｅＩＤｋとの関連を知ることができない。これは、記録ＩＤ情報ＩＤｊの漏洩前の通信で使用された可変ＩＤ情報ｎｏｎｃｅＩＤｋについてだけではなく、記録ＩＤ情報ＩＤｊの漏洩後の通信で使用される可変ＩＤ情報ｎｏｎｃｅＩＤｋについても同様である。
以上により、本形態では、より高度なＩＤ情報追跡防止を実現できる。
【００３８】
さらに、本形態では、センタ装置３０は、受信したマスタ鍵ＩＤ情報ＫＩＤｊに該当するマスタ鍵ＭＫｊを鍵情報データベース３２から探し出すこと、及びハッシュ関数１回と共通鍵暗号の復号１回の処理を行うだけで固定ＩＤ情報ＵＩＤｊを求めることができる。
以上より、本形態では、正当なＩＤ情報追跡処理を、センタ装置３０に大きな負担をかけることなく実現することができる。
また、本形態において、タグ装置１０内に必要となる暗号的な処理手段は、共通鍵暗号手段１４とハッシュ関数手段１５である。特に、共通鍵暗号手段としてＣａｍｅｌｌｉａやＡＥＳを用いれば、非常に小規模ながら高い安全性を達成できる。さらに、この２つの暗号は乱数生成手段や公開鍵暗号手段と比較すると極めて小さい回路規模で実装することが可能であり、タグ装置１０の製造コストの低減も実現できる。
【００３９】
なお、本形態では、一時情報ＣＮＴｋを１カウントアップすることにより一時情報ＣＮＴｋを更新する方法を説明した（ステップＳ５）。これは、低コストでタグ装置１０を製造できるよう考慮したものである。しかし、本質的には一時情報ＣＮＴｋを異なる値に更新できればよいため、例えば乱数生成手段を用いてＣＮＴｋ＋１の値を決定しても良い。
また、本形態では、一時情報更新手段１７において、一時情報ＣＮＴｋが一時鍵ＯＳＫｋの生成に使用されるたびに、一時情報記録手段１２に記録された一時情報ＣＮＴｋを更新することとした（ステップＳ５）。これは、タグ装置１０において、通信のたびに毎回異なる可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成し、十分なＩＤ情報の追跡防止を図るためである。しかし、タグ装置１０の演算負担を軽減するため、一時情報ＣＮＴｋを一時鍵ＯＳＫｋの生成に数回使用するたびに、一時情報記録手段１２に記録された一時情報ＣＮＴｋを更新することとしてもよい。
【００４０】
さらに、本形態では、ハッシュ関数を用いて一時鍵ＯＳＫｋを生成することとした（ステップＳ３，Ｓ１０）。しかし、その他の一方向性関数を用いて一時鍵ＯＳＫｋを生成することとしてもよく、ＣａｍｅｌｌｉａやＡＥＳ等の共通鍵暗号方式によって一時鍵ＯＳＫｋを生成してもよい。ただし、共通鍵暗号方式の場合、それに使用する秘密鍵をタグ装置１０とセンタ装置３０で共有しなければならない。
＜第２の実施の形態＞
次に、本発明における第２の実施の形態について説明する。
【００４１】
本形態は、第１の実施の形態の変形例であり、タグ装置内で記録ＩＤ情報を更新する点に特徴がある。以下では、第１の実施の形態との相違点を中心に説明を行い、第１の実施の形態と共通する事項については説明を省略する。
〔構成〕
図３は、本形態におけるＩＤ自動識別システム１００の構成を例示したものである。なお、図３において、第１の実施の形態と共通する構成については図１と同じ符号を付した。
【００４２】
図３に例示するように、本形態のＩＤ自動識別システム１００は、第１の実施の形態のＩＤ自動識別システム１におけるタグ装置１０をタグ装置１１０に、センタ装置３０をセンタ装置１３０に置き換えたものである。
また、第１の実施の形態のタグ装置１０と本形態のタグ装置１１０の相違点は、ＩＤ情報記録手段１３の代わりに、ＩＤ情報記録手段１１３が設けられている点、共通鍵暗号手段１４の代わりに共通鍵暗号手段１１４が設けられている点である。
また、第１の実施の形態のセンタ装置３０と本形態のセンタ装置１３０の相違点は、鍵情報データベース３２の代わりに、鍵情報データベース１３２（「鍵情報記録手段」に相当）が設けられている点、共通鍵復号手段３３の代わりに共通鍵復号手段１３３が設けられている点、一時情報遡及手段１３７が設けられている点、ＩＤ情報遡及手段１３８が設けられている点、復号手段１３９が設けられている点、カウント手段１４０が設けられている点である。
【００４３】
〔前準備〕
センタ装置１３０の鍵情報データベース１３２において、マスタ鍵ＭＫｉとその鍵ＩＤ番号ＫＩＤｉを対応付けてリスト化したマスタ鍵リスト［ＭＫｉ，ＫＩＤｉ］を構築（記録）する。また、製品ごとに異なる固定ＩＤ情報ＵＩＤｊを設定し、この固定ＩＤ情報ＵＩＤｊと製品情報Ｉｎｆｏｊを対応付けてリスト化した固定ＩＤ−製品情報関係リスト［ＵＩＤｊ，Ｉｎｆｏｊ］を固定ＩＤ−製品情報関係データベース３１に記録する。さらに、固定ＩＤ情報ＵＩＤｊを所定のセンタ秘密情報ＣＳＫで暗号化した仮想ＩＤ情報ｎｏｎｃｅＵＩＤｊを計算し、以下のようにタグ装置１１０に記録しておく。なお、ここでの暗号化の方法には制限がなく、共通鍵暗号方式でも公開鍵暗号方式でもかまわない。この例では、共通鍵暗号方式を用い、その暗号化・復号に利用するセンタ秘密情報ＣＳＫを鍵情報データベース１３２に記録しておく。
【００４４】
また、タグ装置１１０において、鍵情報記録手段１１に鍵情報としてマスタ鍵とその鍵ＩＤ番号（ＭＫｊ，ＫＩＤｊ）を対応付けて記録し、ＩＤ情報記録手段１３に記録ＩＤ情報ＩＤｊ１として上述の仮想ＩＤ情報ｎｏｎｃｅＵＩＤｊを記録する。また、一時情報記録手段１２に初期一時情報ＣＮＴ１を記録する。
さらに、ハッシュ関数手段１５，３４には、同じハッシュ関数Ｈを格納し、共通鍵暗号手段１１４と共通鍵復号手段１３３には、相互に対応する共通鍵暗号関数及び共通鍵復号関数をそれぞれ格納する。
【００４５】
〔処理動作〕
次に、ＩＤ自動識別システム１００の処理動作について説明する。
図４は、ＩＤ自動識別システム１００の処理動作を説明するためのフローチャートである。以下、このフローチャートを用いてＩＤ自動識別システム１００の処理動作を説明する。
〔ＩＤ情報要求時〕
まず、リーダ装置２０から（ｋ回目の）ＩＤ情報を要求する際の処理ステップを示す。
【００４６】
ステップＳ２１：
まず、リーダ装置２０のタグＩ／Ｏインタフェース手段２１においてＩＤ情報の送信要求を送信する。
ステップＳ２２：
タグ装置１１０は、Ｉ／Ｏインタフェース手段１６を通してＩＤ情報の要求を受信し、これをトリガとして以下の処理を実行する。
ステップＳ２３：
ハッシュ関数手段１５において、一時情報記録手段１２に記録されている一時情報ＣＮＴｋと鍵情報記録手段１１に記録されているマスタ鍵ＭＫｊを抽出し、これらを用いて一時鍵ＯＳＫｋを生成する。具体的には、格納したハッシュ関数Ｈを用い、
ＯＳＫｋ＝Ｈ（ＣＮＴｋ｜ＭＫｊ）
の演算を行って一時鍵ＯＳＫｋを算出する。このように生成された一時鍵ＯＳＫｋは共通鍵暗号手段１１４に送られる。
【００４７】
ステップＳ２４：
次に、共通鍵暗号手段１１４において、ＩＤ情報記録手段１１３に記録されている記録ＩＤ情報ＩＤｊｋを抽出する。そして、共通鍵暗号手段１４は、ハッシュ関数手段１５から送られた一時鍵ＯＳＫｋを用い、共通鍵暗号方式によって、この記録ＩＤ情報ＩＤｊｋを暗号化し、可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成する。具体的には、格納した共通鍵暗号関数Ｅｎｃを用い、
ｎｏｎｃｅＩＤｋ＝Ｅｎｃ（ＩＤｊｋ，ＯＳＫｋ）
の演算を行って可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成する。
【００４８】
ステップＳ２５：
次に、一時情報更新手段１７において、一時情報記録手段１２から一時情報ＣＮＴｋを抽出し、抽出した一時情報ＣＮＴｋを１カウントアップする。そして、一時情報更新手段１７は、このカウントアップした一時情報をＣＮＴｋ＋１によって、一時情報記録手段１２に記録された一時情報ＣＮＴｋを上書き更新する。即ち、一時情報更新手段１７は、
ＣＮＴｋ＋１＝ＣＮＴｋ＋１  …（１）
の演算によって新たな一時情報ＣＮＴｋ＋１を算出し、これを一時情報記録手段１２に上書き保存する。これにより、一時情報更新手段１７は、一時情報ＣＮＴｋが一時鍵ＯＳＫｋの生成に使用されるたびに、一時情報記録手段１２に記録された一時情報ＣＮＴｋを式（１）に示す規則（「所定の規則」に相当）に基づいて更新することになる。なお、一時情報ＣＮＴｋには、ｋの値（何回目の通信か）を特定できる情報が含まれるものとする。
【００４９】
ステップＳ２６：
その後、共通鍵暗号手段１１４は、ステップＳ２４において生成した可変ＩＤ情報ｎｏｎｃｅＩＤｋをＩＤ情報記録手段１１３に送り、ＩＤ情報記録手段１１３は、この可変ＩＤ情報ｎｏｎｃｅＩＤｋを新たな記録ＩＤ情報ＩＤｊｋ+1として、可変ＩＤ情報ｎｏｎｃｅＩＤｋに記録されている記録ＩＤ情報ＩＤｊｋを更新する。即ち、
ＩＤｊｋ＋１＝ｎｏｎｃｅＩＤｋ
とする。
【００５０】
ステップＳ２７：
次に、Ｉ／Ｏインタフェース手段１６において、共通鍵暗号手段１１４から可変ＩＤ情報ｎｏｎｃｅＩＤｋを、ハッシュ関数手段１５から一時鍵ＯＳＫｋの生成（ステップＳ２３）に用いた一時情報ＣＮＴｋを、鍵情報記録手段１１からこの一時鍵ＯＳＫｋの生成に用いたマスタ鍵ＭＫｊに対応付けられている鍵ＩＤ情報ＫＩＤｊを、それぞれ抽出する。そして、Ｉ／Ｏインタフェース手段１６は、これらのデータ（ｎｏｎｃｅＩＤｋ，ＫＩＤｊ，ＣＮＴｋ）をリーダ装置２０へ送信する。
【００５１】
送信データ（ｎｏｎｃｅＩＤｋ，ＫＩＤｊ，ＣＮＴｋ）
ステップＳ２８：
この送信データは、リーダ装置２０のタグＩ／Ｏインタフェース手段２１において受信され、センタ装置１３０でのＩＤ情報追跡時に、センタＩ／Ｏインタフェース手段２２からセンタ装置１３０に送信される。
〔ＩＤ情報追跡時〕
次に、センタ装置１３０において、製品情報（ＩＤ情報）を追跡するときの処理ステップを示す。
【００５２】
ステップＳ２９：
まず、センタ装置１３０のＩ／Ｏインタフェース手段３５において、リーダ装置２０から上述のように送信された送信データ（ｎｏｎｃｅＩＤｋ，ＫＩＤｊ，ＣＮＴｋ）を受信する。ここで受信された可変ＩＤ情報ｎｏｎｃｅＩＤｋは共通鍵復号手段１３３に送られ、鍵ＩＤ情報ＫＩＤｊ及び一時情報ＣＮＴｋは、ハッシュ関数手段３４に送られる。さらに、一時情報ＣＮＴｋが有するｋの値がカウント手段１４０に送られ、カウント手段１４０におけるカウンタの初期値がｋに設定される。
【００５３】
ステップＳ３０：
次にハッシュ関数手段３４は、ステップＳ２９で送られた鍵ＩＤ情報ＫＩＤｊを用いて鍵情報データベース１３２を検索し、この鍵ＩＤ情報ＫＩＤｊに対応付けて記録されているマスタ鍵ＭＫｊを抽出する。
ステップＳ３１：
さらにハッシュ関数手段３４は、ステップＳ２９で送られた一時情報ＣＮＴｋとステップＳ３０で抽出したマスタ鍵ＭＫｊを用いて一時鍵ＯＳＫｋ（「第２の一時鍵」に相当）を生成する。具体的には、格納したハッシュ関数Ｈを用い、
ＯＳＫｋ＝Ｈ（ＣＮＴｋ｜ＭＫｊ）
の演算を行って一時鍵ＯＳＫｋを算出する。そして、生成された一時鍵ＯＳＫｋは、共通鍵復号手段１３３に送られる。また、
ステップＳ３２：
その後、共通鍵復号手段１３３において、ステップＳ３１において送られた一時鍵ＯＳＫｋを用い、ステップＳ２９において送られた可変ＩＤ情報ｎｏｎｃｅＩＤｋを復号して記録ＩＤ情報ＩＤｊｋを算出する。具体的には、格納する共通鍵復号関数Ｄｅｃを用いて
ＩＤｊｋ＝Ｄｅｃ（ｎｏｎｃｅＩＤｋ，ＯＳＫｋ）
を演算し、記録ＩＤ情報ＩＤｊｋを求める。
【００５４】
ステップＳ３３：
次に、一時情報遡及手段１３７において、ステップＳ２３で用いた一時情報ＣＮＴｋをハッシュ関数手段３４から取得し、前述した式（１）で示す規則に基づいて、この一時情報ＣＮＴｋを１回分の更新が行われる前の状態ＣＮＴｋ-1に変換する。即ち
ＣＮＴｋ-1←ＣＮＴｋ-１
の演算により、一時情報を変換する。そして、この変換後の一時情報ＣＮＴｋ-1はハッシュ関数手段３４に送られる。
【００５５】
また、ＩＤ情報遡及手段１３８において、共通鍵復号手段１３３における復号結果（記録ＩＤ情報ＩＤｊｋ：ステップＳ３２）を、１回分の更新が行われる前の状態の可変ＩＤ情報ｎｏｎｃｅＩＤｋ−１とする。即ち、可変ＩＤ情報ｎｏｎｃｅＩＤｋ−１に記録ＩＤ情報ＩＤｊｋを代入し（ｎｏｎｃｅＩＤｋ−１←ＩＤｊｋ）、その代入結果である可変ＩＤ情報ｎｏｎｃｅＩＤｋ−１を共通鍵復号手段１３３に送る。
ステップＳ３４：
次に、カウント手段１４０においてカウント値ｋが１であるか否かを判断する。ここで、ｋ＝１であった場合、ステップＳ３６に進む。一方、ｋ＝１でなかった場合、ステップＳ３５に進む。
【００５６】
ステップＳ３５：
カウント手段１４０において、ｋを１カウントダウンし（ｋ←ｋ-１）、ステップＳ３１に戻る。その後は、ステップＳ３４の条件を満たすまで、ステップＳ３１〜Ｓ３３の処理が繰り返される。
これは、ステップＳ３４の条件を満たすまで、ハッシュ関数手段３４（「第２の一時鍵生成手段」に相当）が、さらに、マスタ鍵ＭＫｊ（「第２の鍵情報」に相当）と、一時情報遡及手段１３７において順次変換された更新前の一時情報ＣＮＴｋとを用い、一時鍵ＯＳＫｋ（「第２の一時鍵」に相当）を順次生成する処理を必要回数繰り返すことを意味する。
【００５７】
また、ステップＳ３４の条件を満たすまで、共通鍵復号手段１３４が、さらに、ハッシュ関数手段３４（「第２の一時鍵生成手段」に相当）において順次生成された一時鍵ＯＳＫｋ（「第２の一時鍵」に相当）を用い、ＩＤ情報遡及手段１３８において順次生成された可変ＩＤ情報ｎｏｎｃｅＩＤｋを順次復号する処理を必要回数繰り返すことを意味する。
ステップＳ３６：
ステップＳ３４でｋ＝１であると判断された場合、共通鍵復号手段１３３において最終的に求められた記録ＩＤ情報ＩＤｊ１は復号手段１３９に送られる。ここで、求められた記録ＩＤ情報ＩＤｊ１は仮想ＩＤ情報ｎｏｎｃｅＵＩＤｊと同一のものである。そのため、これを受け取った復号手段１３９は、鍵情報データベース１３２からセンタ秘密情報ＣＳＫを抽出し、このセンタ秘密情報ＣＳＫを用いて記録ＩＤ情報ＩＤｊ１を復号することにより、固定ＩＤ情報ＵＩＤｊを求めることができる。
【００５８】
つまり、センタ装置１３０は、マスタ鍵ＩＤ情報ＫＩＤｊから該当するマスタ鍵ＭＫｊを鍵情報データベース１３２から探し出すこと、及びハッシュ関数と共通鍵暗号の復号がそれぞれｋ回（一時情報ＣＮＴｋがＣＮＴ１になるまで）の処理を行うことで仮想ＩＤ情報ｎｏｎｃｅＵＩＤｊを求めることができる。また、センタ装置１３０は、センタ秘密情報ＣＳＫを使ってｎｏｎｃｅＵＩＤｊから固定ＩＤ情報ＵＩＤｊを求めることができる。
以上のように求められた固定ＩＤ情報ＵＩＤｊは読取り手段３６に送られる。
ステップＳ３７：
固定ＩＤ情報ＵＩＤｊを受け取った読取り手段３６は、固定ＩＤ−製品情報関係データベース３１から、この固定ＩＤ情報ＵＩＤｊに該当する製品情報Ｉｎｆｏｊを検索して抽出する。抽出された製品情報Ｉｎｆｏｊは、Ｉ／Ｏインタフェース手段３５に送られる。
【００５９】
ステップＳ３８：
製品情報Ｉｎｆｏｊを受け取ったＩ／Ｏインタフェース手段３５は、この製品情報Ｉｎｆｏｊをリーダ装置２０へ送信する。
ステップＳ３９：
そして、Ｉ／Ｏインタフェース手段３５から送信された製品情報Ｉｎｆｏｊは、リーダ装置２０のセンタＩ／Ｏインタフェース手段２２において受信される。
〔本形態の特徴〕
以上説明した通り、本形態でも、ＩＤ情報の要求が行われるたびに、一時情報記録手段１２に記録されている異なる一時情報ＣＮＴｋを用いて一時鍵ＯＳＫｋが生成される。そのため、毎回生成される一時鍵ＯＳＫｋの値も異なり、この毎回異なる一時鍵ＯＳＫｋで記録ＩＤ情報ＩＤｊｋを暗号化することにより生成される可変ＩＤ情報ｎｏｎｃｅＩＤｋの値も毎回異なることになる。
【００６０】
また、鍵情報記録手段１１に記録されているマスタ鍵ＭＫｊがわからない限りステップＳ２３の計算ができないため、権限無き第三者が記録ＩＤ情報ＩＤｊｋから可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成することはできない。同様に、この者はｎｏｎｃｅＩＤｋから復号して記録ＩＤ情報ＩＤｊｋを求めることもできない。なお、送信データにはマスタ鍵ＩＤ情報ＫＩＤｊしか付け加えていないため、送信データからマスタ鍵ＭＫｊを探し出される危険もない。
以上より、第１の実施の形態と同様、権限無き第三者によるＩＤ情報の追跡を十分に防止することができる。
【００６１】
さらに、本形態ではＩＤ情報記録手段１１３に記録されている記録ＩＤ情報ＩＤｊｋがステップＳ２６で上書き更新される。そのため、攻撃者が何らかの手段で、複数回分の記録ＩＤ情報ＩＤｊｋ（異なるｋに対応する複数の記録ＩＤ情報ＩＤｊｋ）読み出したとしても、マスタ鍵ＭＫｊがわからない限り、それらが同じタグ装置のものであるかどうかの判断はできない。
以上より、権限無き第三者によるＩＤ情報の追跡をより効果的に防止することができる。
【００６２】
＜第３の実施の形態＞
次に、本発明における第３の実施の形態について説明する。
本形態は、第１の実施の形態の変形例であり、タグ装置内で記録ＩＤ情報を更新する点に特徴がある。以下では、第１の実施の形態との相違点を中心に説明を行い、第１の実施の形態と共通する事項については説明を省略する。
〔構成〕
図５及び図６は、本形態におけるＩＤ自動識別システム２００の構成を例示したものである。なお、図５及び図６において、第１の実施の形態と共通する構成については図１と同じ符号を付した。
【００６３】
図５及び図６に例示するように、本形態のＩＤ自動識別システム２００は、第１の実施の形態のＩＤ自動識別システム１におけるタグ装置１０をタグ装置２１０に、センタ装置３０をセンタ装置２３０に置き換えたものである。
また、第１の実施の形態のタグ装置１０と本形態のタグ装置２１０の相違点は、鍵情報記録手段１１の代わりに鍵情報記録手段２１１が設けられている点、ＩＤ情報記録手段１３の代わりにＩＤ情報記録手段２１３が設けられている点、共通鍵暗号手段１４の代わりに共通鍵暗号手段２１４が設けられている点、ハッシュ関数手段１５の代わりにハッシュ関数手段２１５が設けられている点、共通鍵復号手段２１８が設けられている点である。なおＩ／Ｏインタフェース手段１６は「更新情報受信手段」に相当する。
【００６４】
また、第１の実施の形態のセンタ装置３０と本形態のセンタ装置２３０の相違点は、鍵情報データベース３２の代わりに、鍵情報データベース２３２（「鍵情報記録手段」に相当）が設けられている点、共通鍵復号手段３３の代わりに共通鍵復号手段２３３ａが設けられている点、ハッシュ関数手段３４の代わりにハッシュ関数手段２３４ｂが設けられている点、共通鍵復号手段２３３ｂ（「固有ＩＤ情報再現手段」に相当）が設けられている点、ハッシュ関数手段２３４ａ（「一時鍵情報生成手段」に相当、「ＩＤ情報更新手段」を構成）が設けられている点、共通鍵暗号手段２３７ａ，２３７ｂ（「ＩＤ情報更新手段」を構成）が設けられている点である。なお、固定ＩＤ−製品情報関係データベース３１は「固有ＩＤ情報記録手段」に相当し、Ｉ／Ｏインタフェース手段３５は「更新情報送信手段」に相当する。
【００６５】
〔前準備〕
まず、システム共通マスタ鍵ＳＭＫ（「システム共通マスタ鍵情報」に相当）とセンタ秘密鍵ＣＳＫ（「センタ秘密鍵情報」に相当）を決め、センタ装置２３０の鍵情報データベース２３２に蓄積（記録）する。次いで、複数のセンタ一時鍵ＣＴＫｉ（「第２のセンタ一時鍵情報」及び「第３の鍵情報」に相当）とその鍵ＩＤ番号ＫＩＤｉを対応付けてリスト化とした一時鍵リスト［ＣＴＫｉ，ＫＩＤｉ］を鍵情報データベース２３２に構築（記録）する。また、製品ごとに異なる固定ＩＤ情報ＵＩＤｊを設定し、この固定ＩＤ情報ＵＩＤｊと製品情報Ｉｎｆｏｊを対応付けてリスト化した固定ＩＤ−製品情報関係リスト［ＵＩＤｊ，Ｉｎｆｏｊ］を固定ＩＤ−製品情報関係データベース３１に記録する。
【００６６】
また、タグ装置２１０の鍵情報記録手段２１１には、鍵情報としてシステム共通マスタ鍵ＳＭＫを登録（記録）する。また、一時情報記録手段１２に初期一時情報ＣＮＴ１を設定（記録）する。
〔処理動作〕
次に、ＩＤ自動識別システム２００の処理動作について説明する。
図７及び図８は、ＩＤ自動識別システム２００の処理動作を説明するためのフローチャートである。以下、このフローチャートを用いてＩＤ自動識別システム２００の処理動作を説明する。
【００６７】
〔タグデータ更新時〕
まず、小型タグデータを更新するときの処理ステップを示す。
ステップＳ４１：
まず、センタ装置２３０の共通鍵暗号手段２３７ｂ（「センタ一時鍵選択手段」に相当）において、鍵情報データベース２３２に記録されている一時鍵リスト［ＣＴＫｉ，ＫＩＤｉ］から何れかのセンタ一時鍵ＣＴＫｎを選択し、選択したセンタ一時鍵ＣＴＫｎとそれに対応する鍵ＩＤ情報ＫＩＤｎを抽出する。
【００６８】
ステップＳ４２：
次に、共通鍵暗号手段２３７ｂにおいて、鍵情報データベース２３２からシステム共通マスタ鍵ＳＭＫを抽出し、ステップＳ４１で選択したセンタ一時鍵ＣＴＫｎを、このシステム共通マスタ鍵ＳＭＫを用いて暗号化した（新たな）暗号化センタ一時鍵ＥＣＴＫｎを生成する。即ち、
ＥＣＴＫｎ＝Ｅｎｃ（ＣＴＫｎ,ＳＭＫ）
の演算を行い、暗号化センタ一時鍵ＥＣＴＫｎを求める。
【００６９】
ステップＳ４３：
次に、ハッシュ関数手段２３４ａにおいて、鍵情報データベース２３２から、共通鍵暗号手段２３７ｂで選択（ステップＳ４１）されたセンタ一時鍵ＣＴＫｎと、センタ秘密鍵ＣＳＫとを抽出する。そして、抽出したセンタ一時鍵ＣＴＫｎとセンタ秘密鍵ＣＳＫと用い、（新たな）更新一時鍵ＮＴＫを生成する。具体的には、
ＮＴＫ＝Ｈ（ＣＴＫｎ｜ＣＳＫ）
の演算により更新一時鍵ＮＴＫを求める。求められた更新一時鍵ＮＴＫは、共通鍵暗号手段２３７ａに送られる。
【００７０】
ステップＳ４４：
次に、読取り手段３６において、固定ＩＤ−製品情報関係データベース３１から固定ＩＤ情報ＵＩＤｊを抽出し、これを共通鍵暗号手段２３７ａに送る。その後、共通鍵暗号手段２３７ａにおいて、ステップＳ４３で求めた更新一時鍵ＮＴＫを用いて、この固定ＩＤ情報ＵＩＤｊを暗号化した（新たな）記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを計算する。即ち、
ｎｏｎｃｅＵＩＤｎ＝Ｅｎｃ（ＵＩＤｊ，ＮＴＫ）
の演算により記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを求める。
【００７１】
ステップＳ４５：
その後、Ｉ／Ｏインタフェース手段３５において、共通鍵暗号手段２３７ｂからステップＳ４２で求めた暗号化センタ一時鍵ＥＣＴＫｎと、それに対応する鍵ＩＤ情報ＫＩＤｎ（ステップＳ４１で抽出した鍵ＩＤ情報ＫＩＤｎ）を取得する。さらに、Ｉ／Ｏインタフェース手段３５において、共通鍵暗号手段２３７ａからステップＳ４４で求めた記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを取得する。
そして、Ｉ／Ｏインタフェース手段３５は、取得したこれらの送信データ（ｎｏｎｃｅＵＩＤｎ，ＫＩＤｎ，ＥＣＴＫｎ）をリーダ装置２０に送信する。
【００７２】
ステップＳ４６：
リーダ装置２０は、センタＩ／Ｏインタフェース手段２２において、この送信データ（ｎｏｎｃｅＵＩＤｎ，ＫＩＤｎ，ＥＣＴＫｎ）を受信し、さらにタグＩ／Ｏインタフェース手段２１において、この送信データ（ｎｏｎｃｅＵＩＤｎ，ＫＩＤｎ，ＥＣＴＫｎ）をタグ装置２１０へ送信する。
ステップＳ４７：
タグ装置２１０は、Ｉ／Ｏインタフェース手段１６において、送信データ（ｎｏｎｃｅＵＩＤｎ，ＫＩＤｎ，ＥＣＴＫｎ）を受信し、受信した記録ＩＤ情報ｎｏｎｃｅＵＩＤｎをＩＤ情報記録手段２１３に送り、暗号化センタ一時鍵ＥＣＴＫｎと鍵ＩＤ情報ＫＩＤｎを鍵情報記録手段２１１に送る。
【００７３】
ステップＳ４８：
鍵情報記録手段２１１は、そこに記録されている暗号化センタ一時鍵と鍵ＩＤ情報を、受け取った新たな暗号化センタ一時鍵ＥＣＴＫｎと鍵ＩＤ情報ＫＩＤｎによって上書き更新する。
ステップＳ４９：
また、ＩＤ情報記録手段２１３は、そこに記録されている記録ＩＤ情報を、受け取った新たな記録ＩＤ情報ｎｏｎｃｅＵＩＤｎによって上書き更新する。
【００７４】
なお、上述の〔タグデータ更新時〕の処理ステップでは、タグ装置２１０内の一時情報記録手段１２に記録されている一時情報ＣＮＴｋに関して何も言及していないが、例えばステップＳ４９の後に、一時情報記録手段１２に記録されている一時情報を一時情報更新手段１７において上書き更新することとしてもよい。
〔ＩＤ情報要求時〕
次に、リーダ装置２０から（ｋ回目の）ＩＤ情報を要求する際の処理ステップを示す。
ステップＳ５１：
まず、リーダ装置２０のタグＩ／Ｏインタフェース手段２１においてＩＤ情報の送信要求を送信する。
【００７５】
ステップＳ５２：
タグ装置２１０は、Ｉ／Ｏインタフェース手段１６を通してＩＤ情報の要求を受信し、これをトリガとして以下の処理を実行する。
ステップＳ５３：
まず、共通鍵復号手段２１８において、鍵情報記録手段２１１に記録されているシステム共通マスタ鍵ＳＭＫと暗号化センタ一時鍵ＥＣＴＫｎを抽出し、このシステム共通マスタ鍵ＳＭＫを用いて暗号化センタ一時鍵ＥＣＴＫｎを復号してセンタ一時鍵ＣＴＫｎ（「第１のセンタ一時鍵情報」に相当）を生成する。即ち、
ＣＴＫｎ＝Ｄｅｃ（ＥＣＴＫｎ，ＳＭＫ）
の演算によってセンタ一時鍵ＣＴＫｎを求める。求めたセンタ一時鍵ＣＴＫｎは、ハッシュ関数手段２１５に送られる。
【００７６】
ステップＳ５４：
ハッシュ関数手段２１５では、送られたセンタ一時鍵ＣＴＫｎと、一時情報記録手段１２から抽出した一時情報ＣＮＴｋとを用いて一時鍵ＯＳＫｋ（「第１の一時鍵」に相当）を生成する。具体的には、
ＯＳＫｋ＝Ｈ（ＣＮＴｋ｜ＣＴＫｎ）
の演算により一時鍵ＯＳＫｋを求める。求められた一時鍵ＯＳＫｋは共通鍵暗号手段２１４に送られる。
【００７７】
ステップＳ５５：
次に、共通鍵暗号手段２１４において、ＩＤ情報記録手段２１３から記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを抽出する。その後、共通鍵暗号手段２１４は、ハッシュ関数手段２１５から受け取った一時鍵ＯＳＫｋを用い、この記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを暗号化して可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成する。即ち、
ｎｏｎｃｅＩＤｋ＝Ｅｎｃ（ｎｏｎｃｅＵＩＤｎ，ＯＳＫｋ）
の演算により可変ＩＤ情報ｎｏｎｃｅＩＤｋを求める。
【００７８】
ステップＳ５６：
次に、一時情報更新手段１７において、一時情報記録手段１２から一時情報ＣＮＴｋを抽出し、
ＣＮＴｋ＋１＝ＣＮＴｋ＋１
の演算によって新たな一時情報ＣＮＴｋ＋１を算出し、これによって一時情報記録手段１２の一時情報を上書き更新する。
ステップＳ５７：
その後、Ｉ／Ｏインタフェース手段１６において、共通鍵暗号手段２１４からステップＳ５５で生成した可変ＩＤ情報ｎｏｎｃｅＩＤｋを受け取り、ハッシュ関数手段２１５からステップＳ５４で使用した一時情報ＣＮＴｋを受け取り、鍵情報記録手段２１１からそこに記録されている鍵ＩＤ情報ＫＩＤｎを抽出する。Ｉ／Ｏインタフェース手段１６は、受け取ったこれらのデータ（ｎｏｎｃｅＩＤｋ，ＫＩＤｎ，ＣＮＴｋ）をリーダ装置２０へ送信する。
【００７９】
ステップＳ５８：
ステップＳ５７で送信されたデータは、リーダ装置２０のタグＩ／Ｏインタフェース手段２１において受信され、センタ装置２３０でのＩＤ情報追跡時に、センタＩ／Ｏインタフェース手段２２からセンタ装置２３０に送信される。
なお、これ以降、定期もしくは不定期のタイミングで、前述の〔タグデータ更新時〕のプロセスが実行される。
〔ＩＤ情報追跡時〕
次に、センタ装置２３０において、製品情報（ＩＤ情報）を追跡するときの処理ステップを示す。
【００８０】
ステップＳ５９：
まず、センタ装置２３０のＩ／Ｏインタフェース手段３５において、リーダ装置２０から上述のように送信された送信データ（ｎｏｎｃｅＩＤｋ，ＫＩＤｋ，ＣＮＴｋ）を受信する。ここで受信された可変ＩＤ情報ｎｏｎｃｅＩＤｋは共通鍵復号手段２３３ａに送られ、鍵ＩＤ情報ＫＩＤｎはハッシュ関数手段２３４ａ，２３４ｂに送られ、一時情報ＣＮＴｋはハッシュ関数手段２３４ｂに送られる。
ステップＳ６０：
次にハッシュ関数手段２３４ｂは、ステップＳ５９で送られた鍵ＩＤ情報ＫＩＤｎを用いて鍵情報データベース２３２を検索し、この鍵ＩＤ情報ＫＩＤｎに対応付けて記録されているセンタ一時鍵ＣＴＫｎを抽出する。
【００８１】
ステップＳ６１：
次に、ハッシュ関数手段２３４ｂにおいて、ステップＳ６０で抽出したセンタ一時鍵ＣＴＫｎとステップＳ５９で送られた一時情報ＣＮＴｋを用いて一時鍵ＯＳＫｋ（「第２の一時鍵」に相当）を生成する。具体的には、
ＯＳＫｋ＝Ｈ（ＣＮＴｋ｜ＣＴＫｎ）
の演算により一時鍵ＯＳＫｋを求める。生成された一時鍵ＯＳＫｋは共通鍵復号手段２３３ａに送られる。
【００８２】
ステップＳ６２：
共通鍵復号手段２３３ａは、ステップＳ６１で送られた一時鍵ＯＳＫｋを用いて、ステップＳ５９で送られた可変ＩＤ情報ｎｏｎｃｅＩＤｋを復号し、記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを算出する。即ち、
ｎｏｎｃｅＵＩＤｎ＝Ｄｅｃ（ｎｏｎｃｅＩＤｋ，ＯＳＫｋ）
の演算により記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを求める。求められた記録ＩＤ情報ｎｏｎｃｅＵＩＤｎは、共通鍵復号手段２３３ｂに送られる。
【００８３】
ステップＳ６３：
次に、ハッシュ関数手段２３４ａにおいて、ステップＳ５９で送られた鍵ＩＤ情報ＫＩＤｎに対応するセンタ一時鍵ＣＴＫｎと、センタ秘密鍵ＣＳＫを鍵情報データベース２３２から抽出する。そして、抽出したセンタ一時鍵ＣＴＫｎとセンタ秘密鍵ＣＳＫとを用いて、更新一時鍵ＮＴＫ（「更新一時鍵情報」に相当）を生成する。具体的には、
ＮＴＫ＝Ｈ（ＣＴＫｎ｜ＣＳＫ）
の演算により更新一時鍵ＮＴＫを求める。求められた更新一時鍵ＮＴＫは、共通鍵復号手段２３３ｂに送られる。
【００８４】
ステップＳ６４：
共通鍵復号手段２３３ｂは、ステップＳ６３でハッシュ関数手段２３４ａから送られた更新一時鍵ＮＴＫを用い、ステップＳ６２で共通鍵復号手段２３３ａから送られた記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを復号して固定ＩＤ情報ＵＩＤｊを生成する。即ち、
ＵＩＤｊ＝Ｄｅｃ（ｎｏｎｃｅＵＩＤｎ，ＮＴＫ）
の演算により固定ＩＤ情報ＵＩＤｊを求める。求められた固定ＩＤ情報ＵＩＤｊは読取り手段３６に送られる。
【００８５】
ステップＳ６５：
次に、読取り手段３６において、共通鍵復号手段２３３ｂから送られた固定ＩＤ情報ＵＩＤｊを用い、固定ＩＤ情報ＵＩＤｊに該当する製品情報Ｉｎｆｏｊを固定ＩＤ−製品情報関係データベース３１から検索して抽出する。抽出された製品情報ＩｎｆｏｊはＩ／Ｏインタフェース手段３５に送られる。
ステップＳ６６：
Ｉ／Ｏインタフェース手段３５は、送られた製品情報Ｉｎｆｏｊをリーダ装置２０に送信する。
【００８６】
ステップＳ６７：
リーダ装置２０は、ステップＳ６６で送信された製品情報ＩｎｆｏｊをセンタＩ／Ｏインタフェース手段２２において受信する。
＜本形態の特徴＞
以上説明した通り、本形態でも、ＩＤ情報の要求が行われるたびに、一時情報記録手段１２に記録されている異なる一時情報ＣＮＴｋを用いて一時鍵ＯＳＫｋが生成される。そのため、毎回生成される一時鍵ＯＳＫｋの値も異なり、この毎回異なる一時鍵ＯＳＫｋで記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを暗号化することにより生成される可変ＩＤ情報ｎｏｎｃｅＩＤｋの値も毎回異なることになる。
【００８７】
また、鍵情報記録手段２１１に記録されているシステム共通マスタ鍵ＳＭＫがわからない限り、ステップＳ５３の計算ができないため、権限無き第三者が記録ＩＤ情報ｎｏｎｃｅＵＩＤｎから可変ＩＤ情報ｎｏｎｃｅＩＤｋを生成することはできない。同様に、この者はｎｏｎｃｅＩＤｋから復号して記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを求めることもできない。なお、送信データには鍵ＩＤ情報ＫＩＤｊしか付け加えていないため、送信データからシステム共通マスタ鍵ＳＭＫやセンタ一時鍵ＣＴＫｎを探し出される危険もない。
以上より、第１の実施の形態と同様、権限無き第三者によるＩＤ情報の追跡を十分に防止することができる。
【００８８】
さらに、本形態では、ＩＤ情報記録手段２１３に記録されている記録ＩＤ情報ｎｏｎｃｅＵＩＤｎや鍵情報記録手段２１１に記録されている暗号化センタ一時鍵ＥＣＴＫｎが、〔タグデータ更新時〕のプロセスが実行されるたびに上書き更新される。このため、何らかの手段で、権限無き第三者が、更新されていく複数の記録ＩＤ情報ｎｏｎｃｅＵＩＤｎや暗号化センタ一時鍵ＥＣＴＫｎを読み出せたとしても、この者は、システム共通マスタ鍵ＳＭＫがわからない限り、〔タグデータ更新時〕のプロセス前後におけるこれらの情報の関連性、即ちそれらが同じタグ装置のものであるかどうかの判断ができない。
【００８９】
以上より、権限無き第三者によるＩＤ情報の追跡をより効果的に防止することができる。
また、この形態では、センタ装置２３０は、鍵ＩＤ情報ＫＩＤｎから該当するセンタ一時鍵ＣＴＫｎを鍵情報データベース２３２から探し出すこと、及びハッシュ関数演算２回と共通鍵暗号の復号演算２回の処理を行うこと、だけで固定ＩＤ情報ＵＩＤｊを求めることができる。
以上より、本形態では、正当なＩＤ情報追跡処理を、センタ装置２３０に大きな負担をかけることなく実現することができる。
【００９０】
なお、本形態では、低コストでタグ装置２１０を製造できるようステップＳ５６で一時情報を１カウントアップする方法を説明した。しかし、本質的には一時情報が異なる値に更新されればよい。そのため、例えば乱数生成手段を用いてＣＮＴｋ＋１の値を決定しても良い。
また、本形態では、ステップＳ４１でセンタ一時鍵ＣＴＫｎを決定し、ステップＳ４２で暗号化センタ一時鍵ＥＣＴＫｎを生成し、ステップＳ４３で更新一時情報ＮＴＫを生成し、ステップＳ４４で固定ＩＤ情報ＵＩＤｊを更新一時情報ＮＴＫで暗号化して記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを生成することとした。この場合、たとえ攻撃者がセンタ一時鍵ＣＴＫｎを取得したとしても、センタ秘密鍵ＣＳＫが分からない限り、この攻撃者は記録ＩＤ情報ｎｏｎｃｅＵＩＤｎから固定ＩＤ情報ＵＩＤｊを復号することができない。よってより高い追跡防止特性を実現できる。
【００９１】
なお、この変形例として、固定ＩＤ情報ＵＩＤｊをセンタ一時鍵ＣＴＫｎで暗号化して記録ＩＤ情報ｎｏｎｃｅＵＩＤｎを生成する構成としてもよい。
なお、この発明は上述の各実施の形態に限定されるものではなく、例えば、上述の各実施の形態を適宜組み合わせることとしてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００９２】
また、上述の各構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００９３】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００９４】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００９５】
本発明の利用分野としては、例えばＲＦＩＤやＡｕｔｏＩＤ等がある。本発明の適用により、ＲＦＩＤやＡｕｔｏＩＤ等のＩＤ情報に関するプライバシ保護機能を、高速かつ低コストに実現することができる。
【図面の簡単な説明】
【００９６】
【図１】第１の実施の形態におけるＩＤ自動識別システムの構成の例示。
【図２】第１の実施の形態におけるＩＤ自動識別システムの処理動作を説明するためのフローチャート。
【図３】第２の実施の形態におけるＩＤ自動識別システムの構成の例示。
【図４】第２の実施の形態におけるＩＤ自動識別システムの処理動作を説明するためのフローチャート。
【図５】第３の実施の形態におけるＩＤ自動識別システムの構成の例示。
【図６】第３の実施の形態におけるＩＤ自動識別システムの構成の例示。
【図７】第３の実施の形態におけるＩＤ自動識別システムの処理動作を説明するためのフローチャート。
【図８】第３の実施の形態におけるＩＤ自動識別システムの処理動作を説明するためのフローチャート。
【図９】従来の小型無線タグ装置による製品管理の一例を示した図。
【符号の説明】
【００９７】
１０，１１０，２１０  タグ装置
２０  リーダ装置
３０，１３０，２３０  センタ装置
１２  一時情報記録手段
１７  一時情報更新手段
【図１】
2005167670.tif 000003
【図２】
2005167670.tif 000004
【図３】
2005167670.tif 000005
【図４】
2005167670.tif 000006
【図５】
2005167670.tif 000007
【図６】
2005167670.tif 000008
【図７】
2005167670.tif 000009
【図８】
2005167670.tif 000010
【図９】
2005167670.tif 000011