電子タグシステム、および電子タグシステムが行うデータ処理方法
【課題】電子タグに複雑な論理回路を実装することなく、安価で安全性の高いシステムを提供する。
【解決手段】電子タグ20と、リーダ・ライタ装置10と、を有するシステムにおいて、リーダ・ライタ装置10に、電子鍵を記憶させておく。電子タグ20に、電子タグ固有のキーワードと、電子鍵および固有のキーワードを所定の不可逆関数で演算して求めたパスワードとを記憶させておく。そして、リーダ・ライタ装置10は、電子タグ20からキーワードを読み出し、読み出したキーワードと自身が記憶している電子鍵とを用いてパスワードを生成し、電子タグ20に、コマンドおよび生成したパスワードを送信する。電子タグは、リーダ・ライタ装置10が送信したパスワードおよびコマンドを受信し、自身が記憶しているパスワードと受信したパスワードとを比較して、両者が同じ場合に受信したコマンドに対応する処理を行う。
【解決手段】電子タグ20と、リーダ・ライタ装置10と、を有するシステムにおいて、リーダ・ライタ装置10に、電子鍵を記憶させておく。電子タグ20に、電子タグ固有のキーワードと、電子鍵および固有のキーワードを所定の不可逆関数で演算して求めたパスワードとを記憶させておく。そして、リーダ・ライタ装置10は、電子タグ20からキーワードを読み出し、読み出したキーワードと自身が記憶している電子鍵とを用いてパスワードを生成し、電子タグ20に、コマンドおよび生成したパスワードを送信する。電子タグは、リーダ・ライタ装置10が送信したパスワードおよびコマンドを受信し、自身が記憶しているパスワードと受信したパスワードとを比較して、両者が同じ場合に受信したコマンドに対応する処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子タグと、その電子タグにデータを読み書き等する情報処理装置と有するシステムの技術に関し、特に、電子タグに格納するデータの安全性を確保する技術に関する。
【背景技術】
【0002】
近年、商品情報等を格納したメモリを備えた電子タグを商品に貼り付け、リーダ・ライタ装置で電子タグから情報を読み出し、商品管理や商品の所在確認を行う電子タグシステムの導入が進んでいる。例えば、流通業界では、食料品の生産者情報や栽培方法を示した情報を格納した電子タグを食料品に貼り付け、リーダ・ライタ装置で電子タグに格納された情報を読み出して表示する電子タグシステムが導入されている。また、出版界では、不正行為の抑制、物流の効率化、在庫管理等を目的として、電子タグシステムの利用が検討されている。
【0003】
ところで、電子タグシステムでは、利用者のプライバシー保護の問題が生じることが懸念されている。例えば、商品が消費者の手に渡った後も電子タグが商品と一体に存在する場合、リーダ・ライタ装置を使えば、遠隔から電子タグのメモリにアクセスし、メモリ内の情報を容易に読み取ることが可能である。その結果、商品を所持する消費者に気付かれないうちに、その消費者の所持品を知ることも可能であり、消費者のプライバシーが侵害される可能性が高くなる。
【0004】
また、電子タグシステムでは、電子タグを不正に複製したり改ざんしたりする問題が生じることが懸念されている。例えば、高価な商品に取り付けて高価であることを説明する電子タグを、複製して安価な商品に取り付けて販売されたり、安価な商品用の電子タグのデータを高価な商品用のデータに改ざんして販売されたりする可能性が高くなる。
【0005】
上述の問題に対し、特許文献1では、認証請求者(例えばリーダ・ライタ装置)を認証するために、暗号化・復号化などの処理部を認証側(例えば電子タグ)に搭載し、認証請求者を確認した後、認証側がある処理(例えばメモリ内の情報送信)を行うようにして、認証側処理の安全性向上を実現している。
【0006】
また、特許文献2では、暗号化処理を電子タグの外で行い、暗号化した情報を電子タグのメモリに書き込むことで、メモリ内の情報の安全性向上を実現している。
【0007】
【特許文献1】特許第3027791号公報
【特許文献2】特開2004−318478号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、上記特許文献1は、以下の問題を有している。具体的には、特許文献1の技術を実施するには、電子タグに暗号化・復号化などの処理部の搭載が必要となり、電子タグの単価は高くなる。そのため個々の商品にこの電子タグを貼付することはコストの面から現実的ではない。
【0009】
一方、特許文献2は、電子タグの低コスト化を実現することができるが、電子タグ毎に、その電子タグの所有者の情報に関連付けたIDを発行して管理する必要があるため運用上の使い勝手が悪い。具体的には、特許文献2は、電子タグの所有者の情報に関連付けたIDを元にして暗号化したデータを電子タグに格納し、その所有者のIDを入力しなければ暗号化したデータを復号化できない仕組である。そのため、電子タグにデータを書き込む前に所有者を特定しておくことが必要となり面倒である。さらに、特許文献2では、電子タグから情報を読み出す際、IDを入力しなければならず操作が煩雑である。
【0010】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、電子タグに複雑な論理回路を実装することなく、安価で安全性の高い電子タグシステムを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本発明の一態様は、データを記憶するメモリを備えた電子タグと、前記電子タグに各種コマンドを送信し、前記メモリへのデータの読み書き処理および電子タグを無効化する処理を行うリーダ・ライタ装置と、を有する電子タグシステムに適用される。
【0012】
そして、前記リーダ・ライタ装置は、電子鍵を記憶しているデータ保持部と、前記電子鍵と、前記電子タグの固有のキーワードとを所定の不可逆関数で演算してパスワードを生成するパスワード生成部と、前記リーダ・ライタ装置全体の動作を制御すると共に、前記電子タグに各種コマンドを送信する制御部と、を備え、前記電子タグの前記メモリには、予め、前記電子タグ固有のキーワードと、前記電子鍵および該固有のキーワードを前記所定の不可逆関数で演算して求めたパスワードとが記憶されていて、前記リーダ・ライタ装置の制御部は、前記電子タグに各種のコマンドを送信する際、前記電子タグのメモリに記憶されている前記電子タグ固有のキーワードを読み出し、前記パスワード生成部に、前記読み出したキーワードと前記データ保持部に記憶している電子鍵とを用いてパスワードを生成させ、前記コマンドとともに前記生成したパスワードを前記電子タグに送信し、前記電子タグは、前記リーダ・ライタ装置が送信した前記パスワードおよび前記コマンドを受信し、前記メモリに記憶しているパスワードと前記受信したパスワードとを比較して、両者が同じ場合に前記受け付けたコマンドに対応する処理を行う。
【発明の効果】
【0013】
このように本発明では、電子タグに、予め、リーダ・ライタ装置を認証するためのパスワードと、そのパスワードを生成するために必要なキーワードを書き込んでおく。リーダ・ライタ装置は、電子タグにアクセスする場合、先ず、電子タグからキーワードを読み出し、そのキーワードを用いてパスワードを生成する。つぎに、リーダ・ライタ装置は、コマンドとともに上記の生成したパスワードを電子タグに送信する。そして、電子タグは、送信されたパスワードと記憶しているパスワードが同じ場合にだけ、リーダ・ライタ装置を認証し、認証されたリーダ・ライタ装置からのコマンドだけ実行する。
【0014】
このように構成することで、本発明では、電子タグ側に、暗号化や復号化などの処理を行う処理部を搭載することなく、電子タグに対する不正なアクセスを防止することができる。すなわち、本発明によれば、安全性の高い電子タグシステムを低コストで実現することができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態について図面を用いて説明する。
《第1実施形態》
先ず、本発明の第1実施形態について説明する。第1実施形態は、電子タグ20に認証処理の機能を設ける構成を採用したものである。このようにするのは、電子タグ20が、認証できたリーダ・ライタ装置10からの要求だけを受け付けるようにすることで、電子タグ20への不正アクセスを防ぐためである。
【0016】
図1は、本発明の第1実施形態の電子タグシステムの機能ブロック図である。
【0017】
図示するように、電子タグシステムは、データを格納して無線で通信する電子タグ20と、無線で電子タグ20と通信して電子タグ20を操作するリーダ・ライタ装置10とを有する。電子タグ20には、例えば、RF−ID(Radio Frequency−Identification)タグを用いることができる。また、リーダ・ライタ装置10は、RF−IDタグ等の電子タグに対してデータの読出し処理および書込み処理等を行う専用の装置であってもいいし、パーソナルコンピュータや携帯電話やキオスク端末機器や自動販売機などと共に形成されていても良い。
【0018】
そして、電子タグ20は、書籍や衣服や電化製品というような商品などに直接貼付するか、或いは、商品を梱包する包みや箱などに貼付される。また、電子タグ20は、個人が携帯するカードなどに貼付しても良い。なお、電子タグ20及びリーダ・ライタ装置10は、どちらか一方または両方とも複数存在しても良い。
【0019】
具体的には、リーダ・ライタ装置10は、制御部1000、鍵管理部1100、パスワード生成部1200、送受信部1400、および各種データを記憶するデータ保持部1500を有する。
【0020】
データ保持部1500には、共通鍵を識別する鍵バージョンに対応付けて、その鍵バージョンにより特定される共通鍵132が記憶されている。なお、本実施形態では、データ保持部1500には、複数の共通鍵が記憶されているものとする。
【0021】
制御部1000は、リーダ・ライタ装置10の全体の動作を制御する。また、制御部1000は、送受信部1400を介して、電子タグ20にデータを書き込む処理、電子タグ20からデータを読み出す処理、および電子タグ20を無効化する処理を行う。具体的には、制御部1000は、電子タグ20にデータを書き込むためのコマンド(書き込みコマンド)を生成し、その書き込みコマンドを送受信部1400経由で電子タグ20に送信する。また、制御部1000は、電子タグ20からデータを読み出すためのコマンド(読み出しコマンド)を生成し、その生成した読み出しコマンドを送受信部1400経由で電子タグ20に送信する。また、制御部1000は、電子タグ20を無効化させるコマンド(無効化コマンド)を生成して、その生成した無効化コマンドを送受信部1400経由で電子タグ20に送信する。
【0022】
また、制御部1000は、図示しない入力装置(キーボード、操作パネル等)を介して、利用者からの各種要求やデータの入力を受け付ける。
【0023】
鍵管理部1100は、後述するパスワード生成処理に用いる共通鍵を管理する。具体的には、鍵管理部1100は、データ保持部1500が記憶している複数の鍵バージョン131と共通鍵132とを対に管理する。鍵管理部1100は、データ保持部1500にアクセスし、鍵バージョン131から、その鍵バージョン131に対応する共通鍵132を検索する。
【0024】
なお、鍵管理部1100は、リーダ・ライタ装置10と物理的に離れた場所に設置され、図示しない通信装置を介して(通信装置に接続された専用線やインターネット等を介して)、他のリーダ・ライタ装置10に鍵バージョン131や共通鍵132を送信するようにしてもよい。すなわち、鍵管理部1100に、データ保持部1500が記憶している鍵バージョン131および共通鍵132を他のリーダ・ライタ装置10に送信する機能を設けるようにしてもよい。
【0025】
パスワード生成部1200は、電子タグ20がリーダ・ライタ装置10を認証する際に用いるためのパスワードを生成する。具体的には、パスワード生成部1200は、データ保持部1500が記憶している共通鍵132と、電子タグ固有のキーワードとを不可逆関数Hで演算しパスワードを生成する。なお、不可逆関数Hについて特に限定しないが、例えば、ハッシュ関数を用いるようにしてもよい。
【0026】
送受信部1400は、電子タグ20との間で行われるデータの送受信を制御する。例えば、送受信部1400は、制御部1000からの要求に応じて電子タグ20にアクセスし、電子タグ20が送信した電子タグ情報(電子タグ情報については後述する)を受信する。
【0027】
次に、電子タグ20の機能構成について説明する。電子タグ20は、制御部2000、認証部2300、送受信部2400、および各種の情報を記憶するデータ保持部2500を有する。なお、データ保持部2500は、鍵バージョン231、電子タグ20固有のキーワード233、および電子タグ20固有のパスワード234を記憶する。また、データ保持部2500は、リーダ・ライタ装置10から書き込まれる電子タグ情報を記憶する。電子タグ情報とは、電子タグ20を貼付ける対象の製品等の情報(製品名、品番、価格、製造年月日等、生産者情報等)である。
【0028】
制御部2000は、電子タグ20全体の動作を制御する。例えば、制御部2000は、リーダ・ライタ装置10からのデータ書き込みコマンドを送受信部2400経由で受け付け、そのデータ書き込みコマンドにしたがいデータをデータ保持部2500に記憶させる。また、制御部2000は、リーダ・ライタ装置10からのデータ読み出しコマンドを送受信部2400経由で受け付け、そのデータ読み出しコマンドにしたがい、データ保持部2500が記憶しているデータを送受信部2400経由でリーダ・ライタ装置10に送信する。
【0029】
認証部2300は、リーダ・ライタ装置10が送信したパスワードと、データ保持部2500に記憶されているパスワード234とを照合することにより、リーダ・ライタ装置10を認証する。制御部2000は、認証できたリーダ・ライタ装置10からの要求だけを受け付ける。
【0030】
送受信部2400は、リーダ・ライタ装置10との間で行われるデータの送受信を制御する。
【0031】
続いて、本実施形態のハードウェア構成について、図2を用いて説明する。
【0032】
図2は、本発明の第1実施形態の電子タグシステムのハードウェア構成図である。
【0033】
リーダ・ライタ装置10は、電子タグ20と電磁誘導方式や電波方式や光通信方式などで信号を送受信する送受信装置100と、データを処理するCPUなどの中央処理装置110と、データを一時的に記憶するRAMなどの主記憶装置120と、データを格納する耐タンパ性の高いROMなどの補助記憶装置130と、を有する。なお、送受信装置100、中央処理装置110、主記憶装置120、および補助記憶装置130は、バスなどによって接続されている。
【0034】
そして、補助記憶装置130には、電子タグ20から受信したキーワード233を用いてパスワードを生成するために必要な鍵バージョン131および共通鍵132と、上述の制御部1000、鍵管理部1100、およびパスワード生成部1200の機能を実現するためのプログラムとが格納されている。
【0035】
そして、制御部1000、鍵管理部1100、およびパスワード生成部1200の機能は、中央処理装置110が補助記憶装置130に格納されている上記のプログラムを主記憶装置120にロードして実行することにより実現される。また、送受信部1400の機能は、送受信装置100により実現される。データ保持部1500の機能は、補助記憶装置130により実現される。
【0036】
電子タグ20は、リーダ・ライタ装置10と、電磁誘導方式や電波方式や光通信方式などで信号を送受信する送受信装置200と、電子タグ20全体の動作を制御する制御回路210と、電子タグ20の電源がオフのときもデータを保持するEEPROMなどの補助記憶装置230とを有する。なお、送受信装置200、制御回路210、および補助記憶装置230は、バスなどによって接続されている。
【0037】
また、補助記憶装置230には、電子タグ20を貼付した商品などを説明する電子タグ情報と、鍵バージョン231と、唯一のキーワード233と、パスワード234とが記憶されている。電子タグ情報とは、電子タグ20を貼付ける対象の製品等の情報(製品名、品番、価格、製造年月日等、生産者情報等)をいう。
【0038】
そして、上述した制御部2000、および認証部2300の機能は、制御回路210に実装されている。本実施形態の制御回路2000は、電子タグ20全体の動作を制御するとともに、制御部2000および認証部2400の機能を専用に行うように設計された回路である。なお、制御回路210に実装されている機能は、電子タグ20の電源がオンのときに実行される。また、送受信部2400の機能は、送受信装置200により実現される。データ保持部2500の機能は、補助記憶装置230により実現される。
【0039】
次に、本発明の第1実施形態のリーダ・ライタ装置10と電子タグ20との間で行われるデータの送受信処理を説明する。
【0040】
最初に、準備段階として、リーダ・ライタ装置10が鍵バージョンVa、キーワードKWiおよびパスワードPWiを電子タグ20に書き込む処理(以下、「初期化処理」という)について、図3を用いて説明する。
【0041】
図3は、本発明の第1実施形態のリーダ・ライタ装置が行う電子タグ20の初期化処理のフローを説明するための図である。なお、リーダ・ライタ装置10のデータ保持部1500には複数の共通鍵と、それぞれと対になる鍵バージョンが記憶されているものとする。
【0042】
先ず、リーダ・ライタ装置10は、データ保持部1500から一つの共通鍵Kaとそれと対になる鍵バージョンVaを選択する(S1001)。具体的には、リーダ・ライタ装置10の制御部1000が鍵管理部1100を介してデータ保持部1500から一対の共通鍵Kaと鍵バージョンVaを取得する。すなわち、本ステップでは、制御部1000が鍵管理部1100に、一対の共通鍵Kaと鍵バージョンVaを要求する。鍵管理部1100は、制御部1000からの要求に応じて、データ保持部1500に記憶されている、複数の「共通鍵Kaおよび鍵バージョンVaの組み合わせ」の中から、一対の「共通鍵Kaおよび鍵バージョンVa」を選択する。そして、鍵管理部1100は、選択した一対の「共通鍵Kaおよび鍵バージョンVa」を制御部1000に出力する。
【0043】
なお、鍵管理部1100が複数の「共通鍵Kaおよび鍵バージョンVaの組み合わせ」の中から一対の「共通鍵Kaおよび鍵バージョンVa」を選択する方法は、特に限定しない。鍵管理部1100は、ランダムに「一対の共通鍵Kaおよび鍵バージョンVa」を選択するようにしてもよいし、所定の順序(例えば鍵バージョンの昇順)で一対の「共通鍵Kaおよび鍵バージョンVa」を選択するようにしてもよい。
【0044】
次に、リーダ・ライタ装置10は、電子タグ20がリーダ・ライタ装置10を認証するための利用するパスワードPWiを生成する(S1002)。
【0045】
具体的には、リーダ・ライタ装置10の制御部1000が電子タグ20の固有のキーワードKWiの入力を受け付ける。パスワード生成部1200は、制御部1000が受け付けたキーワードKWiと、S1001で取得した共通鍵Kaとを不可逆関数Hで演算する。この演算した結果をパスワードPWiとする。
【0046】
なお、リーダ・ライタ装置10がキーワードKWiの入力を受け付ける方法について特に限定しない。例えば、利用者がキーワードKWiを、入力装置(図示せず)を介して、リーダ・ライタ装置10に入力するようにしてもよい。
【0047】
次に、リーダ・ライタ装置10は、上記のキーワードKWiと、S1001で取得した鍵バージョンVa、およびS1002で求めたパスワードPWiを電子タグ20に送信して書き込む(S1003)。具体的には、制御部1000が、送受信制御部1400を介して、鍵管理部1100から取得した鍵バージョンVaと、パスワード生成部1200で演算したパスワードPWiと、キーワードKWiとを電子タグ20に書き込む。
【0048】
続いて、第1実施形態の電子タグ20がリーダ・ライタ装置10を認証する処理について、図4を用いて説明する。なお、図示するフローは、図3の初期化処理が行われた電子タグ20と、リーダ・ライタ装置10との間で行われる処理である。
【0049】
図4は、第1実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。なお、以下の処理は、図3で示した初期化処理において、電子タグ20に鍵バージョンVa、パスワードPWiおよびキーワードKWiを書き込んだリーダ・ライタ装置10と異なるリーダ・ライタ装置10により行われるものとする。
【0050】
また、本フローを行うリーダ・ライタ装置10は、図3のS1002で利用した共通鍵Kaと同じ共通鍵Kaを保持している。具体的には、リーダ・ライタ装置10のデータ保持部1500には、S1002で利用した共通鍵Kaを含む複数の共通鍵と、それらと対になる鍵バージョンVaが記憶されている。なお、これらの共通鍵Kaは、限られたリーダ・ライタ装置10に耐タンパ性技術を用いて格納することが望ましい。或いは、これらの共通鍵Kaは、リーダ・ライタ装置10と物理的に離れたところで管理されており、限られたリーダ・ライタ装置10に安全性の高いネットワークを介して取得されることが望ましい。
【0051】
先ず、リーダ・ライタ装置10は、電子タグ20に対して鍵バージョンVaとキーワードKWiを要求する信号(説明の便宜上「送信リクエスト信号」という)を送信する(S2001)。具体的には、制御部1000が、送受信部1400を経由して電子タグ20に対して「送信リクエスト信号」を送信する。その後、リーダ・ライタ装置10は。電子タグ20からの信号を受信するまで待機する。
【0052】
一方、電子タグ20は、リーダ・ライタ装置10からの「送信リクエスト信号」を受信すると、データ保持部2500に記憶している「キーワードKWi」および「鍵バージョンVa」をリーダ・ライタ装置10に返信する(S2100)。具体的には、電子タグ20の制御部2000が、送受信部2400を介して、「送信リクエスト信号」を受信する。制御部2000は、データ保持部2500にアクセスして、記憶している「キーワードKWi」および「鍵バージョンVa」を読み出す。そして、制御部2000は、送受信部2400を介して、読み出した「キーワードKWi」および「鍵バージョンVa」をリーダ・ライタ装置10に送信する。その後、リーダ・ライタ装置10側の処理に移行する。
【0053】
つぎに、リーダ・ライタ10側の処理を説明する。リーダ・ライタ装置10は、電子タグ20からの「鍵バージョンVa」および「キーワードKWi」を受信すると(S2002)、その鍵バージョンVaを鍵管理部1100に出力してS2003の処理に移行する。
【0054】
S2003では、共通鍵Kaを特定する処理が行われる。具体的には、鍵管理部1100は、データ保持部1500にアクセスして、S2002で受信した鍵バージョンVaから、データ保持部1500に記憶されている共通鍵Kaを検索し、後述する演算に使用する共通鍵Kaを特定する。すなわち、鍵管理部1100は、データ保持部1500にアクセスし、記憶されている複数の共通鍵Kaの中から、S2002で受信した鍵バージョンVaに対応付けられている共通鍵Kaを特定する。
【0055】
S2004では、パスワードを生成する処理が行われる。具体的には、制御部1000が、パスワード生成部1200にパスワードPWiの生成を指示する。パスワード生成部1200は、S2002で受信したキーワードKWiと、S2003で特定した共通鍵Kaとを不可逆関数Hで演算する。演算した結果をパスワードPWiとする。なお、ここで利用する不可逆関数Hは、図3のS1002で用いたものと同様のものとする。
【0056】
次に、リーダ・ライタ装置10は、電子タグ20に、S2004で算出した「パスワードPWi」及び「コマンド」を送信する(S2005)。この場合、リーダ・ライタ装置10と電子タグ20とを近づけ他とは隔離し、通信データが漏洩、盗聴されないように注意するとよい。なお、「コマンド」とは、電子タグ情報の読み書きや電子タグ20を無効化するコマンドのことをいう。リーダ・ライタ装置10が「パスワードPWi」および「コマンド」を電子タグ20に送信すると、その後、電子タグ20側の処理に移行する。
【0057】
続いて、電子タグ20側の処理を説明する。電子タグ20は、リーダ・ライタ装置10が送信した「パスワードPWi」および「コマンド」を受信する(S2101)。具体的には、電子タグ20の制御部2000は、送受信部2400を介して、リーダ・ライタ装置10が送信した「パスワードPWi」及び「コマンド」を受信する。
【0058】
次に、電子タグ20は、S2101で受信したパスワードPWiを利用して、パスワードPWiおよびコマンドを送信したリーダ・ライタ装置10を認証する処理を行う(S2102)。そして、認証できなければ処理を終了し、認証できればS2103に進む。
【0059】
具体的には、電子タグ20の制御部2000は、認証部2300に、S2101で受信したパスワードPWiを出力して認証処理を行わせる。認証部2300は、受信したパスワードPWiとデータ保持部2500に記憶しているパスワードPWiとを比較する。認証部2300は、2つのパスワードPWiが等しければ認証が成功したと判定してその旨を制御部2000に出力し、S2103の処理に移る。一方、認証部2300は、2つのパスワードPWiが等しくなければ認証が失敗したものと判定してその旨を制御部2000に出力して、処理を終了する。
【0060】
S2103では、電子タグ20の制御部2000は、S2101で受信したコマンドに応じた処理を行う。例えば、受信したコマンドが電子タグ情報の「書き込みコマンド」である場合には、制御部2000は、データ保持部2500に電子タグ情報を記憶させる。また、例えば、受信したコマンドがデータ保持部2500の電子タグ情報の「読み出しコマンド」である場合、制御部2000は、データ保持部2500に記憶されている電子タグ情報を読み出し、送受信部2400を介して、リーダ・ライタ装置10に送信する。なお、この場合、リーダ・ライタ装置10は、電子タグ20が送信した電子タグ情報を受信する。また、例えば、受信したコマンドが電子タグ20を無効化する「無効化コマンド」の場合、制御部2000は、電子タグ20を無効化する処理を行う。
【0061】
このように、電子タグ20に、リーダ・ライタ装置10を認証する機能を設けたことにより、電子タグ20は、正当なリーダ・ライタ装置10に対してだけ、電子タグ20内の情報の読み書き、或いは、電子タグを無効化するなどのコマンドを受け付けることができるようになる。
【0062】
すなわち、正当なリーダ・ライタ装置10がなければ、電子タグ20に格納されているデータを読み出したり、或いは、電子タグ20にデータを書き込んだりすることができない。そのため、第1実施形態によれば、電子タグ20内の情報が不正に読み取られる可能性を軽減することができる。また、電子タグ20内の情報が不正に書き換えられる(改ざんされる)可能性を軽減することができる。
【0063】
また、第1実施形態では、電子タグ20に暗号化・復号化などの処理部を設けることなく、電子タグ20のデータの不正アクセスを防止している。すなわち、第1実施形態によれば、電子タグ内に、コストがかかる暗号化・復号化などの処理部を設ける必要がないため、より安価なシステムで安全性の高い電子タグシステムを実現することができる。
【0064】
また、第1実施形態は、上述した特許文献2のように、電子タグ毎に、その電子タグの所有者の情報に関連付けたIDを発行して管理するような方式を採用していない。また、電子タグにアクセスする際に、ユーザがその電子タグ固有のIDを入力する必要がない。そのため、第1実施形態によれば、電子タグシステムのユーザの手間を軽減することができる。
【0065】
さらに、第1実施形態では、共通鍵と対になる鍵バージョンを備え、複数の共通鍵の使用を可能にしている。そして、電子タグ20毎に、パスワードPWiを生成する共通鍵Kaを任意に定めることができる。そのため、ある電子タグ20のパスワードPWiを生成するための「共通鍵Ka」および演算方式が漏洩したとしても、他の電子タグ20に記憶されているデータが読み出されたり、書き換えられたりされる可能性を軽減することができる。
【0066】
また、本実施形態の電子タグ20は、磁気カードよりも安全で、ICカードよりも低コストにリーダ・ライタ装置の認証を実現する。したがって、本実施形態は、商品に添付する電子タグだけでなく、クーポン券やギフト券などにも使うことができる。
【0067】
《第2実施形態》
次に、本発明の第2実施形態について説明する。本発明の第2実施形態は、第1実施形態の構成に、さらに、リーダ・ライタ装置10および電子タグ20にパスワード演算処理の機能を付加してものである。このようにするのは、通信経路上におけるパスワードの傍受を防ぐためである。第2実施形態では、通信経路上におけるパスワードの傍受を防ぐために、リーダ・ライタ装置10が電子タグ20に送るパスワードを、乱数を使用して演算することにより得られたパスワードを用いる。なお、第2実施形態の説明において、上述した第1実施形態と同じ構成については同じ符号を用いることとする。また、第2実施形態の説明は、第1実施形態と異なる部分を中心に説明する。
【0068】
先ず、第2実施形態の機能構成について、図5を用いて説明する。
【0069】
図5は、本発明の第2実施形態の電子タグシステムの機能ブロック図である。
【0070】
図示するように、第2実施形態の電子タグシステムは、上述した第1実施形態と同様、リーダ・ライタ装置10と、電子タグ20とを有する。
【0071】
第2実施形態のリーダ・ライタ装置10は、第1実施形態が有する構成に、さらにパスワード演算部1300が付加されたものである。また、第2実施形態のリーダ・ライタ装置10は、第1実施形態のものと制御部1000の機能の一部が異なっている。具体的には、リーダ・ライタ装置10は、上述した制御部1000、鍵管理部1100、パスワード生成部1200、送受信部1400、データ保持部1500に加え、さらに、パスワード演算部1300を有する。パスワード演算部1300は、パスワードを、乱数を用いて演算する。具体的には、パスワード演算部1300は、送受信部1400が受信した乱数RNと、パスワード生成部1200が演算したパスワードとを関数Fで演算する。本実施形態では、関数Fについて特に限定しないが、以下では、論理規模が小さい擬似乱数発生関数を用いて乱数RNを演算し、その結果とパスワードとを排他的論理演算する場合を例にする。制御部1000は、パスワード演算部1300で演算した結果(演算済みパスワード)を電子タグ20に送信する。
【0072】
第2実施形態の電子タグ20は、第1実施形態が有する構成に、さらに、乱数を発生する乱数発生部2100と、パスワード演算部2200とが付加されたものである。また、第2実施形態の電子タグ20は、第1実施形態のものと制御部2000の機能の一部が異なっている。具体的には、電子タグ20は、上述した制御部2000、認証部2300、送受信部2400、データ保持部2500に加え、さらに、乱数発生部2100およびパスワード演算部2200を有する。データ保持部2500には、鍵バージョン231、キーワード233およびパスワード234に加え、さらに、共通鍵232を記憶させておく。なお、本実施形態では、乱数発生部2100が行う乱数発生処理の具体的な方法については特に限定しない。以下では、乱数発生部2100が擬似乱数発生関数を用いて乱数RNを発生させるものとする。
【0073】
パスワード演算部2200は、パスワードを、乱数を用いて演算する。具体的には、パスワード演算部2200は、乱数発生部2100が発生した乱数RNと、データ保持部2500に記憶されているパスワードとを関数Fで演算する。関数Fは、リーダ・ライタ装置10のパスワード演算部1300に実装されているものと同一のものとする。
【0074】
認証部2300は、リーダ・ライタ装置10が送信した演算済みパスワードと、パスワード演算部2200が演算した演算結果(演算済みパスワード)とを照合することにより、リーダ・ライタ装置10を認証する。制御部2000は、認証できたリーダ・ライタ装置10からの要求だけを受け付ける。
【0075】
続いて、第2実施形態の電子タグシステムのハードウェア構成を説明する。
【0076】
第2実施形態の電子タグシステムのハードウェア構成は、上述した図2のものと同じである。なお、リーダ・ライタ装置10の補助記憶装置130には、パスワード演算部1300の機能を実現するためのプログラムが格納されている。そして、パスワード演算部1300の機能は、中央処理装置110が補助記憶装置130に格納されている上記のプログラムを主記憶装置120にロードして実行することにより実現される。
【0077】
また、電子タグ20の補助記憶装置230には、共通鍵232が記憶されている。また、乱数発生部2100、およびパスワード演算部2200は、制御回路210に実装されている。そして、制御回路210に実装されている各機能(ここでは、制御部2000、乱数発生部2100、パスワード演算部2200、認証部2300の各機能)は、電子タグ20の電源がオンのときに実行される。
【0078】
次に、第2実施形態のリーダ・ライタ装置10と電子タグ20との間で行われるデータの送受信処理を説明する。
【0079】
最初に、リーダ・ライタ装置10が準備段階として、鍵バージョンVa、キーワードKWiおよびパスワードPWiを電子タグ20に書き込む。すなわち、リーダ・ライタ装置10は、電子タグ20への初期化処理を行い、鍵バージョンVa、キーワードKWiおよびパスワードPWiを電子タグ20に書き込む。また、第2実施形態では、リーダ・ライタ装置10は、初期化処理の際、パスワードPWiの生成に利用した共通鍵Kaも、電子タグ20に書き込む。なお、第2実施形態の初期化処理は、第1実施形態のものと、共通鍵Kaを書き込む以外、同様であるため、ここでの説明を省略する。
【0080】
続いて、第2実施形態の電子タグ20がリーダ・ライタ装置10を認証する処理について、図6を用いて説明する。なお、図示するフローは、上述した初期化処理が行われた電子タグ20と、リーダ・ライタ装置10との間で行われる処理である。
【0081】
図6は、第2実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。なお、図示するフローは、準備段階の初期化処理において、電子タグ20に鍵バージョンVa、パスワードPWi、キーワードKWi、および共通鍵Kaを書き込んだリーダ・ライタ装置10と異なるリーダ・ライタ装置10により行われるものとする。
【0082】
また、本フローを行うリーダ・ライタ装置10は、初期化処理でのパスワードPWiの生成に利用した(図3のS1002で利用した)共通鍵Kaと同じ共通鍵Kaを保持している。具体的には、リーダ・ライタ装置10のデータ保持部1500には、S1002で利用した共通鍵Kaを含む複数の共通鍵と、それらと対になる鍵バージョンが記憶されている。この場合、これらの共通鍵Kaは、限られたリーダ・ライタ装置10に耐タンパ性技術を用いて格納することが望ましい。或いは、これらの共通鍵Kaは、リーダ・ライタ装置10と物理的に離れたところで管理されており、限られたリーダ・ライタ装置10に安全性の高いネットワークを介して取得されることが望ましい。
【0083】
先ず、リーダ・ライタ装置10と電子タグ20との間において、上述した図4のS2001、S2100、およびS2002と同様の処理が行われる(S3001、S3100、S3102)。すなわち、リーダ・ライタ装置10は、電子タグ20に対してキーワードKWiおよび鍵バージョンVaを要求し、その要求に応答して電子タグ20が送信するキーワードKWiおよび鍵バージョンVaを受信する。
【0084】
次に、リーダ・ライタ装置10は、図4のS2003〜2004と同じ処理(S3003〜3004)を行う。すなわち、リーダ・ライタ装置10は、S3002で受信した鍵バージョンVaから共通鍵Kaを特定し、S3002で受信したキーワードKWiと、特定した共通鍵Kaとを、図3のS2002と同様の不可逆関数Hで演算する。演算した結果をパスワードPWiとする。
【0085】
次に、リーダ・ライタ装置10は、電子タグ20に対して乱数RNを要求する(S3005)。具体的には、リーダ・ライタ装置10の制御部1000が、送受信部1400を介して、電子タグ20に対して、乱数RNの送信を要求する信号を送信し、電子タグ20からの乱数RNを受信するまで待機する。
【0086】
次に、電子タグ20側の処理を説明する。電子タグ20は、リーダ・ライタ装置10からの「乱数RNの送信を要求する信号」を受信すると、乱数RNを発生させ、発生させた乱数RNをリーダ・ライタ装置10に送信する(S3101)。具体的には、電子タグ20の制御部2000が、送受信部2400を介して、「乱数RNの送信を要求する信号」を受信すると、乱数発生部2100に乱数RNの発生を指示する。乱数発生部2100は、制御部2000からの指示にしたがい、乱数RNを発生させる。なお、乱数発生部2100は、リーダ・ライタ装置10からの要求に対して毎回異なる乱数RNを発生する。そして、制御部2000は、乱数発生部2100が発生させた乱数RNをリーダ・ライタ装置10に出力し、リーダ・ライタ装置10側の処理に遷移する。
【0087】
リーダ・ライタ装置10は、電子タグ20からの乱数RNを受信する(S3006)。具体的には、リーダ・ライタ装置10の制御部1000は、送受信部1400を介して、電子タグ20からの乱数RNを受信する。
【0088】
次に、リーダ・ライタ装置10は、電子タグ20から受信した乱数RN、およびパスワード生成部1200が演算したパスワードPWi(S3004で求めたパスワードPWi)を関数Fで演算する(S3007)。具体的には、制御部1000は、パスワード演算部1300に対し、S3004で求めたパスワードPWiおよび乱数RNを、関数Fで演算させる指示をする。パスワード演算部1300は、上記の指示を受け、下記の(式1)を用いて、S3006で受信した「乱数RN」と、「共通鍵Ka」との排他的論理和を、擬似乱数発生関数fで演算し、その「演算結果」とS3004で算出した「パスワードPWi」とを排他的論理演算する。そして、演算した結果を「演算済みパスワードPWi’」とする。
PWi’=PWi XOR f(Ka,RN)…(式1)
次に、リーダ・ライタ装置10は、電子タグ20に、S3007で算出した「演算済みパスワードPWi’」および「コマンド」を送信する(S3008)。この場合、リーダ・ライタ装置10と電子タグ20とを近づけ、他とは隔離し、通信データが漏洩、盗聴されないように注意するとよい。なお、「コマンド」とは、電子タグ情報の読み書きや電子タグ20を無効化するコマンドである。
【0089】
続いて、電子タグ20側の処理を説明する。電子タグ20は、リーダ・ライタ装置10が送信した「演算済みパスワードPWi’」および「コマンド」を受信する(S3102)。具体的には、リーダ・ライタ装置10の制御部2000が、送受信部2400を介して、リーダ・ライタ装置10が送信した「演算済みパスワードPWi’」および「コマンド」を受信し、S3013の処理に進む。
【0090】
S3013では、電子タグ20は、データ保持部2500に記憶されているパスワードPWiを、乱数発生部2100で生成した乱数RNを用いて演算する。なお、ここで利用する乱数RNは、S3101で生成した乱数RNである(すなわち、リーダ・ライタ装置10に送信した乱数RNと同じものである)。
【0091】
具体的には、電子タグ20の制御部2000は、パスワード演算部2200に対し、データ保持部2500に記憶されているパスワードPWiを演算させる指示を行う。パスワード演算部2200は、上記の指示を受け、上述したS3007と同様の手順により、S3101で生成した「乱数RN」と、データ保持部2500に記憶されている「共通鍵Ka」との排他的論理和を、擬似乱数発生関数fで演算し、その「演算結果」と、データ保持部2500に記憶されている「パスワード」とを排他的論理演算する。そして、演算した結果を「演算済みパスワードPWi’」とする。ここで、擬似乱数発生関数fは、S3007でリーダ・ライタ装置10が用いたものと同一のものとする。
【0092】
次に、電子タグ20は、S3102で受信した「演算済みパスワードPWi’」を利用して、「演算済みパスワードPWi’」および「コマンド」を送信したリーダ・ライタ装置10を認証する処理を行う(S3104)。そして、認証できなければ処理を終了して、認証できればS3020に進む。
【0093】
具体的には、電子タグ20の制御部2000は、認証部2300に、S3102で受信した「演算済みパスワードPWi’」を出力して認証処理を行わせる。認証部2300は、受信した「演算済みパスワードPWi’」と、S3103でパスワード演算部2200が演算した「演算済みパスワードPWi’」とを比較する。認証部2300は、2つの「演算済みパスワードPWi’」が等しければ認証が成功したと判定してその旨を制御部2000に出力し、S3015の処理に移る。一方、認証部2300は、2つの「演算済みパスワードPWi’」が等しくなければ認証が失敗したと判定してその旨を制御部2000に出力して、処理を終了する。
【0094】
S3105では、電子タグ20の制御部2000は、S3102で受信したコマンドに応じた処理を行う。なお、コマンドに応じた処理とは、上述した図4のS2103と同じであるため、ここでの説明は省略する。
【0095】
なお、図6に示す説明では、電子タグ20は、S3102において、「演算済みパスワードPWi’」および「コマンド」を受信した後で、S3103の「パスワード演算処理」を行うようにしているが、特にこれに限定するものではない。電子タグ20は、S3101で乱数RNを送信させてから、SS3102の「演算済みパスワードPWi’」および「コマンド」を受信するまでの間に、「パスワード演算処理」を行うようにしてもよい。
【0096】
このように、電子タグ20とリーダ・ライタ装置10にパスワードを演算する機能を設けたことにより、リーダ・ライタ装置10は、電子タグ20に対してパスワードを秘匿化して送信することができるようになる。すなわち、リーダ・ライタ装置10は、コマンドを送信する毎にパスワードを変更するため、通信経路上でパスワードが傍受されたとしても、電子タグ20が不正アクセスされることを防止することができる。
【0097】
したがって、第2実施形態によれば、上述した第1実施形態の効果に加えて、リーダ・ライタ装置10を認証するためのパスワードの傍受を防ぐことができるようになるため、より安全性の高い電子タグシステムを構築することができる。
《第3実施形態》
次に、本発明の第3実施形態について説明する。本発明の第3実施形態は、第2実施形態の構成を変更したものである。すなわち、第3実施形態は、リーダ・ライタ装置10に電子タグ20の認証処理の機能を付加してものである。そして、電子タグ20は、自身が記憶しているパスワードをリーダ・ライタ装置10に送り、リーダ・ライタ装置10が電子タグ20を認証する。また、パスワードを送る際に、乱数を使用してパスワードを演算することで、通信経路上におけるパスワードの傍受を防ぐようにしている。なお、第3実施形態の説明において、上述した第2実施形態と同じ構成については同じ符号を用いることとする。また、第3実施形態の説明は、第2実施形態と異なる部分を中心に説明する。
【0098】
先ず、第3実施形態の機能構成について、図7を用いて説明する。
【0099】
図7は、本発明の第3実施形態を表す電子タグシステムの機能ブロック図である。
【0100】
図示するように、第3実施形態の電子タグシステムは、上述した第2実施形態と同様、リーダ・ライタ装置10と、電子タグ20とを有する。
【0101】
第3実施形態のリーダ・ライタ装置10は、第2実施形態が有する構成に、さらに乱数発生部1600と、認証部1700を付加している。また、第3実施形態のリーダ・ライタ装置10は、第2実施形態のものと制御部1000の機能の一部が異なっている。具体的には、リーダ・ライタ装置10は、上述した制御部1000、鍵管理部1100、パスワード生成部1200、パスワード演算部1300、送受信部1400、データ保持部1500に加え、さらに、乱数発生部1600、認証部1700を有する。データ保持部1500には、複数の鍵バージョン231と、鍵バージョン毎に対応付けられた共通鍵232と、を記憶させておく。
【0102】
乱数発生部1600は、乱数を発生する。本実施形態では、乱数発生の具体的な方法については特に限定しないが、以下では、擬似乱数発生関数を用いて乱数RNを発生する。認証部1700は、リーダ・ライタ装置10が受信した「演算済みパスワード」と、パスワード演算部1300が演算した「演算済みパスワード」とを照合することにより、電子タグ20を認証する。制御部1000は、認証できた電子タグ20にだけ各種のコマンドを送信する。
【0103】
第3実施形態の電子タグ20は、第2実施形態が有する構成から、乱数発生部2100およびパスワード演算部2200の機能を除いたものである。また、第3実施形態の電子タグ20は、第2実施形態のものと制御部2000の機能の一部が異なっている。例えば、第3実施形態の電子タグ20の制御部2000は、リーダ・ライタ装置10から受信した乱数と、データ保持部2500に記憶しているパスワードとを関数Fで演算し、その演算結果をリーダ・ライタ装置10に送信する処理を行う(なお、電子タグ20が行う処理は、後段で詳細に説明する)。
【0104】
続いて、第3実施形態のハードウェア構成を説明する。
【0105】
第3実施形態の電子タグシステムのハードウェア構成は、上述した図2のものと同じである。なお、リーダ・ライタ装置10の補助記憶装置130には、乱数発生部1600および認証部1700の機能を実現するためのプログラムが格納されている。そして、乱数発生部1600および認証部1700の機能は、中央処理装置110が補助記憶装置130に格納されている上記のプログラムを主記憶装置120にロードして実行することにより実現される。
【0106】
また、電子タグ20の制御回路210は、制御部2000、およびパスワード演算部2200の機能を専用に行うように設計されている。そして、第3実施形態の電子タグの制御部2000およびパスワード演算部2200の機能は、制御回路210により実現される。
【0107】
次に、第3実施形態のリーダ・ライタ装置10と電子タグ20との間で行われるデータの送受信処理を説明する。
【0108】
最初に、準備段階として、リーダ・ライタ装置10が鍵バージョンVa、キーワードKWiおよびパスワードPW2iを電子タグ20に書き込む処理(初期化処理)について、図8を用いて説明する。
【0109】
図8は、本発明の第3実施形態のリーダ・ライタ装置が行う電子タグ20の初期化処理のフローを説明するための図である。なお、リーダ・ライタ装置10のデータ保持部1500には複数の共通鍵Ka2と、それぞれと対になる鍵バージョンVaが記憶されているものとする。
【0110】
先ず、リーダ・ライタ装置10は、上述した図3のS1001と同様の手順にしたがい、データ保持部1500から電子タグ20を認証するための一つの共通鍵Ka2とそれと対になる鍵バージョンVaを選択する(S4001)。すなわち、リーダ・ライタ装置10の制御部1000が鍵管理部1100を介してデータ保持部から一対の電子タグ20認証用の共通鍵Ka2と鍵バージョンVaを取得する。
【0111】
次に、リーダ・ライタ装置10は、電子タグの認証処理に用いるパスワードPW2iを生成する処理を行う(S4002)。
【0112】
具体的には、リーダ・ライタ装置10の制御部1000が電子タグ20の固有のキーワードKWiの入力を受け付ける。パスワード生成部1200は、制御部1000が受け付けたキーワードKWiと、S4001で取得した共通鍵Ka2とを不可逆関数Hで演算する。この演算した結果をパスワードPW2iとする。
【0113】
次に、リーダ・ライタ装置10は、上記のキーワードKWiと、S4001で取得した鍵バージョンVa、およびS4002で求めたパスワードPW2iを電子タグ20に送信して書き込む(S4003)。具体的には、制御部1000が、送受信制御部1400を介して、鍵管理部1100から取得した鍵バージョンVaと、パスワード生成部1200で演算したパスワードPW2iと、キーワードKWiとを電子タグ20に書き込む。
【0114】
さらに、本ステップ(S4003)では、リーダ・ライタ装置10は、パスワードPW2iの生成に利用した共通鍵Ka2も、電子タグ20に書き込む。
【0115】
続いて、第3実施形態のリーダ・ライタ装置10が電子タグ20を認証する処理について、図9を用いて説明する。なお、図示するフローは、図8の初期化処理が行われた電子タグ20と、リーダ・ライタ装置10との間で行われる処理である。
【0116】
図9は、第3実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【0117】
ここで、電子タグ20のデータ保持部2500には、電子タグ情報が格納されているものとする。また、以下の処理は、準備段階の初期化処理において、電子タグ20に鍵バージョンVa、パスワードPW2iおよびキーワードKWiを書き込んだリーダ・ライタ装置10と異なるリーダ・ライタ装置10により行われるものとする。
【0118】
また、本フローを行うリーダ・ライタ装置10は、図8のS4002で利用した共通鍵Ka2と同じ共通鍵Ka2を保持している。具体的には、リーダ・ライタ装置10のデータ保持部1500には、S4002で利用した共通鍵Ka2を含む複数の共通鍵と、それらと対になる鍵バージョンが記憶されている。この場合、これらの共通鍵Ka2は、限られたリーダ・ライタ装置10に耐タンパ性技術を用いて格納することが望ましい。或いは、これらの共通鍵Ka2は、リーダ・ライタ装置10と物理的に離れたところで管理されており、限られたリーダ・ライタ装置10に安全性の高いネットワークを介して取得されることが望ましい。
【0119】
先ず、リーダ・ライタ装置10と電子タグ20との間において、上述した図6のS3001、S3100、およびS3002〜3004と同様の処理が順次行われる(S5001、S5100、S5002〜S5004)。
【0120】
具体的には、リーダ・ライタ装置10は、電子タグ20に対してキーワードKWiおよび鍵バージョンVaを要求し、その要求に応答して電子タグ20が送信するキーワードKWiおよび鍵バージョンVaを受信する。そして、リーダ・ライタ装置10は、受信した鍵バージョンVaから共通鍵Ka2を特定し、S4002受信したキーワードKWiと、特定した共通鍵Ka2とを、図8のS4002と同様の不可逆関数Hで演算する。演算した結果をパスワードPW2iとする。
【0121】
次に、リーダ・ライタ装置10は、乱数RNを生成し、その生成した乱数RNを電子タグ20に送信する(S5005)。具体的には、リーダ・ライタ装置10の制御部1000が乱数発生部1600に乱数RNの生成を指示する。乱数発生部1600は、制御部1000からの指示を受けて、乱数RNを発生させる。制御部1000は、送受信部1400を介して、乱数発生部1600が発生させた乱数RNを電子タグ20に送信する。その後、リーダ・ライタ装置10は、電子タグ20からの信号(後述する「演算済みパスワードPWi’」)を受信するまで待機する。
【0122】
次に、電子タグ20側の処理を説明する。電子タグ20は、リーダ・ライタ装置10が送信した乱数RNを受信する(S5101)。
【0123】
次に、電子タグ20は、S5101で受信して乱数RNと、データ保持部2500に記憶されているパスワードPW2iとを関数Fで演算する(S5102)。具体的には、S5101で受信した「乱数RN」と、「共通鍵Ka2」との排他的論理和を、擬似乱数発生関数fで演算し、その「演算結果」とデータ保持部2500に記憶されている「パスワード」とを排他的論理演算する。演算した結果を「演算済みパスワードPW2i’」とする。なお、「演算済みパスワードPW2i’」は、図6のS3007と同様の手順にしたがい、すなわち、S3007の処理の際に利用した計算式(上述した(式1))にしたがい算出される。
【0124】
次に、電子タグ20は、S5102で求めた「演算済みパスワードPW2i’」をリーダ・ライタ装置10に送信する(S5103)。すなわち、電子タグ20の制御部2000が送受信部2400を介して、「演算済みパスワードPW2i’」をリーダ・ライタ装置10に送信する。その後、リーダ・ライタ装置10側の処理に移行する。なお、この場合、リーダ・ライタ装置10と電子タグ20とを近づけ他とは隔離し、通信データが漏洩、盗聴されないように注意するとよい。
【0125】
続いて、リーダ・ライタ装置10側の処理を説明する。リーダ・ライタ装置10は、電子タグ20が送信した「演算済みパスワードPW2i’」を受信する(S5006)と、パスワード演算処理を行う(S5007)。具体的には、リーダ・ライタ装置10のパスワード演算部1300は、データ保持部1500に記憶されているパスワードPW2iを、S5005で生成した乱数RNを用いて演算する。すなわち、パスワード演算部1300は、S5005で生成した「乱数RN」と、データ保持部1500に記憶されている電子タグ20認証用の「共通鍵Ka2」との排他的論理和を、擬似乱数発生関数fで演算し、その「演算結果」とデータ保持部2500に記憶されている「パスワードPW2i」とを排他的論理演算する。そして、演算した結果を「演算済みパスワードPW2i’」とする。ここで、擬似乱数発生関数fは、S5102で電子タグ20が用いたものと同一のものとする。すなわち、パスワード演算部1200は、上述したS5102の処理の際に求められた計算式(上述した(式1))にしたがい、「演算済みパスワードPW2i’」を求める。
【0126】
次に、リーダ・ライタ装置10は、S5006で受信した「演算済みパスワードPW2i’」を利用して、「演算済みパスワードPW2i’」を送信した電子タグ20を認証する処理を行う(S5008)。そして、認証できなければ処理を終了して、認証できればS5009に進む。
【0127】
具体的には、リーダ・ライタ装置10の制御部1000は、認証部1700に、S5006で受信した「演算済みパスワードPW2i’」を出力して認証処理を行わせる。認証部1700は、受信した「演算済みパスワードPW2i’」と、S5007でパスワード演算部1300が演算した「演算済みパスワードPW2i’」とを比較する。認証部1700は、2つの「演算済みパスワードPW2i’」が等しければ認証が成功したものと判定してその旨を制御部1000に出力し、S5009の処理に移る。一方、認証部1700は、2つの「パスワードPW2i’」が等しくなければ認証が失敗したものと判定してその旨を制御部1000に出力して、処理を終了する。
【0128】
S5009では、リーダ・ライタ装置10の制御部1000は、電子タグ20に対する各種コマンドを生成し、その生成したコマンドを送信する。なお、ここでは、「読み出しコマンド」を送信する場合を例にする。
【0129】
そして、リーダ・ライタ装置10からのコマンド(ここでは「読み出しコマンド(リードコマンド)」)を受信して電子タグ20は、「読み出しコマンド」に応じた処理を行う(S5104)。すなわち、電子タグ20は、データ保持部2500に記憶している電子タグ情報をリーダ・ライタ装置10に送信する。具体的には、電子タグ20の制御部2000が、データ保持部2500から電子タグ情報を読み出し、リーダ・ライタ装置10に、その読み出した電子タグ情報を送信する。
【0130】
そして、リーダ・ライタ装置10は、電子タグ20からの電子タグ情報を受信して処理を終了する(S5010)。
【0131】
なお、図9に示す説明では、リーダ・ライタ装置10は、S5006の処理の後で。すなわち、「演算済みパスワードPW2i’」を受信した後で、S5007の「パスワード演算処理」を行うようにしているが、特にこれに限定するものではない。リーダ・ライタ装置10は、乱数RNを送信したから(すなわち、S5005の処理の後)、S5006で「演算済みパスワードPWi’」を受信するまでの間に、「パスワード演算処理」を行うようにしてもよい。
【0132】
また、上記の説明では、S5009において、電子タグ情報の「読み出しコマンド」を送信する場合を例にして説明したが、他のコマンドの場合は以下のようになる。
【0133】
すなわち、S5009において、電子タグ情報の「書き込みコマンド」を送信された場合、S5013では、電子タグ20に電子タグ情報が書き込まれる。具体的には、電子タグ20の制御部2000は、データ保持部2500に電子タグ情報を記憶させる。また、S5009において、「無効化コマンド」が送信された場合、S5013では、電子タグ20の制御部2000は、電子タグ20を無効化する処理を行う。なお、S5009において、「書き込みコマンド」および「無効化コマンド」のいずれかが送信された場合、S5010の処理は行われない。
【0134】
このように、リーダ・ライタ装置10に認証する機能を設けたことにより、リーダ・ライタ装置10側で電子タグ20を認証することができるようになる。したがって、第3実施形態の機能を利用することにより、商品等に不正な電子タグが添付されているか否かを確認することができる。また、第3実施形態は、第2実施形態と同様、認証に利用するパスワードが毎回変更されるためパスワードの傍受を防ぐことができるようになる。
【0135】
《第4実施形態》
続いて、本発明の第4実施形態について説明する。第4実施形態は、上述した第3実施形態の構成に、さらに、電子タグ情報を暗号化および復号化するための機能を付加したものである。このようにするのは、電子タグ情報の漏洩を防ぐと共に電子タグ20の複製を防ぐためである。なお、以下では、説明の便宜上、第3実施形態を変形した場合を例にして説明する。また、第4実施形態の説明において、上述した第3実施形態と同じ構成については、同じ符号を用いることとする。
【0136】
本発明の第4実施形態の機能構成は、図7で示した第3実施形態のものと制御部1000の機能が異なる以外は同じである。第4実施形態のハードウェア構成は、第3実施形態と同じである。そのため、以下では、異なる部分を中心に説明する。具体的には、第4実施形態では、リーダ・ライタ装置10の制御部1000に、電子タグ情報を暗号化して、電子タグ20に書き込む手段と、電子タグ20から読み取った暗号化された電子タグ情報を復号化する手段とを設けるようにした。また、電子タグ20のデータ保持部2500に記憶されているキーワードは、一度書き込まれると二度と書き換えができない仕組みになっている。この構成により、電子タグ20内の情報が漏洩するのを防止する。
【0137】
図10は、本発明の第4実施形態のリーダ・ライタ装置が行う電子タグ20の初期化処理のフローを説明するための図である。
【0138】
先ず、リーダ・ライタ装置10は、上述した図8のS4001〜S4003と同じ処理を行う(S6001〜6003)。
【0139】
次に、リーダ・ライタ装置10は、書き換え不可能なキーワードを用いて電子タグ情報を暗号化し、電子タグ20に暗号化した電子タグ情報を書き込む(S6004)。具体的には、リーダ・ライタ装置10の制御部1000が、キーワードKWiおよび共通鍵Ka2を用いて既存の暗号アルゴリズム(例えば、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等)で電子タグ情報を暗号化する。そして、制御部1000は、送受信部1400を介して、電子タグ20に暗号化した電子タグ情報を書き込む。なお、第4実施形態の暗号化処理、および、後述する復号化処理は、既存の技術により実現されるものとする。
【0140】
続いて、第4実施形態のリーダ・ライタ装置10が電子タグ20を認証する処理について、図11を用いて説明する。
【0141】
図11は、第4実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【0142】
図示するように、リーダ・ライタ装置10と電子タグ20との間において、上述した図9と同様の処理が行われる。すなわち、リーダ・ライタ装置10が、図9のS5001〜S5009と同様の処理を行い(S7001〜7009)、電子タグ20が図9のS5100〜5104と同様の処理を行う(S7100〜7104)。
【0143】
次に、リーダ・ライタ装置10は、電子タグ20が送信した暗号化された電子タグ情報を受信し、その受信した電子タグ情報を、S7002で受信したキーワードKWiおよびS7004で検索した共通鍵Ka2を用いて複号化して、処理を終了する(S7010)。
【0144】
なお、図11に示す説明では、リーダ・ライタ装置10は、S7006において、「演算済みパスワードPW2i’」を受信した後で、S7007の「パスワード演算処理」を行うようにしているが、特にこれに限定するものではない。第3実施形態と同様で、リーダ・ライタ装置10は、乱数RNを送信してから「演算済みパスワードPWi’」を受信するまでの間に(S7006の処理とS7007の処理との間に)「パスワード演算処理」を行うようにしてもよい。
【0145】
以上の処理により、第4実施形態でも、上記第3実施形態と同様の効果を得ることが出来る。また、第4実施形態では、電子タグ情報を暗号化した上で、電子タグ20に格納するようにしているため、第3実施形態に比べて、電子タグシステムの安全性をさらに高めることができる。
【0146】
このように、上述した本発明の第1〜第4実施形態によれば、電子タグ側に暗号化処理や復号化処理を行うための複雑な論理回路を実装することなく、安価で安全性の比較的高い電子タグシステムを提供することができるようになる。
【0147】
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。
【0148】
例えば、上述した第1〜第4実施形態では、リーダ・ライタ装置10が複数の共通鍵Kaを保持している場合を例にしたが、特にこれに限定するものではない。リーダ・ライタ装置10が保持する共通鍵は、単数であってもかまわない。なお、この場合、電子タグ20に、鍵バージョンを記憶させておく必要はない。そして、リーダ・ライタ装置10は、図4のS2001において、電子タグ20に「キーワードKWi」の送信要求を行う。これに対して、電子タグ20は、図4のS2100において、データ保持部2500に記憶しているキーワードKWiをリーダ・ライタ装置10に返信する。リーダ・ライタ装置10は、電子タグ20からのキーワードKWiを受信すると、S2003を行なわずに、受信したキーワードKWiと、自身が記憶している共通鍵Kaを用いてパスワードPWiを生成し、生成したパスワードPWiとコマンドを電子タグ20に送信する。そして、電子タグ20は、図4のS2101〜S2103と同じ処理を行う。
【0149】
このように、リーダ・ライタ装置10が保持する共通鍵は、単数であっても、電子タグ20側で認証処理を行なうことができ、電子タグ20側に暗号化処理や復号化処理を行うための複雑な論理回路を実装することなく、安価で安全性の比較的高い電子タグシステムを提供することができるようになる。
【0150】
また、上述の第2実施形態と第3実施形態とを組合せ、リーダ・ライタ装置10および電子タグ20の両者において、相互で認証処理を行なうようにしてもよい。なお、この場合、電子タグ20は、図5に示す処理部を備え、リーダ・ライタ装置10は、図7に示す処理部を備えるものとする。また、電子タグ20がリーダ・ライタ装置10を認証するための処理に利用する共通鍵Ka(図6のS3004、3007、3103で利用する共通鍵Ka)と、リーダ・ライタ装置10が電子タグ10を認証するための処理に利用する共通鍵Ka2(図9のS5004、5007、5102で利用する共通鍵Ka2)と、は異なる方がよい。すなわち、データ保持部1500において、複数の共通鍵Kaおよびその鍵バージョンVaと、複数の共通鍵Ka2とその鍵バージョンVaとを別々に管理するとよい(例えば、データ保持部1500は、共通鍵Kaおよびその鍵バージョンVaと、共通鍵Ka2およびその鍵バージョンVaとを、各々、別のデータベースに登録して記憶する)。
【0151】
同様に、第1実施形態と第3実施形態とを組合せて、リーダ・ライタ装置10および電子タグ20の両者において、相互で認証処理を行なうようにしてもよい。
【0152】
また、上述の第1実施形態の制御部1000に、第4実施形態で説明した、電子タグ情報を暗号化および復号化するための機能を付加するようにしてもよい。或いは、上述の第2実施形態の制御部1000に、第4実施形態で説明した、電子タグ情報を暗号化および復号化するための機能を付加するようにしてもよい
また、第1〜第4実施形態では、リーダ・ライタ装置10が有する各処理部の機能が、ソフトウェアにより実現されるものとして説明したが(各処理部の機能は、中央処理装置110がプログラムを実行することにより実現されるものと説明したが)、特にこれに限定するものではない。例えば、リーダ・ライタ装置10が有する各処理部の機能を専用のハードウェアロジックで実現するようにしてもよい。例えば、リーダ・ライタ装置10に、上述したリーダ・ライタ装置10の機能を実現するためのASIC(Application Specific Integrated Circuit)を搭載するようにしてもよい。
【0153】
また、第1〜第4実施形態の電子タグ20の制御回路2100に代えて、CPUおよびワークエリアとして機能するメモリを搭載して、電子タグ20の各処理部の機能をソフトウェアにより実現するようにしてもよい。すなわち、電子タグ20の各処理部の機能は、CPUがメモリに記憶されている各プログラムを実行することにより実現されることとしてもよい。
【図面の簡単な説明】
【0154】
【図1】本発明の第1実施形態の電子タグシステムの機能ブロック図である。
【図2】本発明の第1実施形態の電子タグシステムのハードウェア構成図である。
【図3】本発明の第1実施形態のリーダ・ライタ装置が行う電子タグの初期化処理のフローを説明するための図である。
【図4】本発明の第1実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【図5】本発明の第2実施形態の電子タグシステムの機能ブロック図である。
【図6】本発明の第2実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【図7】本発明の第3実施形態の電子タグシステムの機能ブロック図である。
【図8】本発明の第3実施形態のリーダ・ライタ装置が行う電子タグの初期化処理のフローを説明するための図である。
【図9】本発明の第3実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【図10】本発明の第4実施形態のリーダ・ライタ装置が行う電子タグの初期化処理のフローを説明するための図である。
【図11】本発明の第4実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【符号の説明】
【0155】
10…リーダ・ライタ装置、20…電子タグ、100…送受信装置、110…中央処理装置、120…主記憶装置、130…補助記憶装置、131…鍵バージョン、132…共通鍵、200…送受信装置、210…制御回路、230…補助記憶装置、1000…制御部、1100…かぎ管理部、1200…パスワード生成部、1300…パスワード演算部、1400…送受信部、1500…データ保持部、1600…乱数発生部、1700…認証部、2000…制御部、2100…乱数発生部、2200…パスワード演算部、2300…認証部、2400…送受信部、2500…データ保持部
【技術分野】
【0001】
本発明は、電子タグと、その電子タグにデータを読み書き等する情報処理装置と有するシステムの技術に関し、特に、電子タグに格納するデータの安全性を確保する技術に関する。
【背景技術】
【0002】
近年、商品情報等を格納したメモリを備えた電子タグを商品に貼り付け、リーダ・ライタ装置で電子タグから情報を読み出し、商品管理や商品の所在確認を行う電子タグシステムの導入が進んでいる。例えば、流通業界では、食料品の生産者情報や栽培方法を示した情報を格納した電子タグを食料品に貼り付け、リーダ・ライタ装置で電子タグに格納された情報を読み出して表示する電子タグシステムが導入されている。また、出版界では、不正行為の抑制、物流の効率化、在庫管理等を目的として、電子タグシステムの利用が検討されている。
【0003】
ところで、電子タグシステムでは、利用者のプライバシー保護の問題が生じることが懸念されている。例えば、商品が消費者の手に渡った後も電子タグが商品と一体に存在する場合、リーダ・ライタ装置を使えば、遠隔から電子タグのメモリにアクセスし、メモリ内の情報を容易に読み取ることが可能である。その結果、商品を所持する消費者に気付かれないうちに、その消費者の所持品を知ることも可能であり、消費者のプライバシーが侵害される可能性が高くなる。
【0004】
また、電子タグシステムでは、電子タグを不正に複製したり改ざんしたりする問題が生じることが懸念されている。例えば、高価な商品に取り付けて高価であることを説明する電子タグを、複製して安価な商品に取り付けて販売されたり、安価な商品用の電子タグのデータを高価な商品用のデータに改ざんして販売されたりする可能性が高くなる。
【0005】
上述の問題に対し、特許文献1では、認証請求者(例えばリーダ・ライタ装置)を認証するために、暗号化・復号化などの処理部を認証側(例えば電子タグ)に搭載し、認証請求者を確認した後、認証側がある処理(例えばメモリ内の情報送信)を行うようにして、認証側処理の安全性向上を実現している。
【0006】
また、特許文献2では、暗号化処理を電子タグの外で行い、暗号化した情報を電子タグのメモリに書き込むことで、メモリ内の情報の安全性向上を実現している。
【0007】
【特許文献1】特許第3027791号公報
【特許文献2】特開2004−318478号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、上記特許文献1は、以下の問題を有している。具体的には、特許文献1の技術を実施するには、電子タグに暗号化・復号化などの処理部の搭載が必要となり、電子タグの単価は高くなる。そのため個々の商品にこの電子タグを貼付することはコストの面から現実的ではない。
【0009】
一方、特許文献2は、電子タグの低コスト化を実現することができるが、電子タグ毎に、その電子タグの所有者の情報に関連付けたIDを発行して管理する必要があるため運用上の使い勝手が悪い。具体的には、特許文献2は、電子タグの所有者の情報に関連付けたIDを元にして暗号化したデータを電子タグに格納し、その所有者のIDを入力しなければ暗号化したデータを復号化できない仕組である。そのため、電子タグにデータを書き込む前に所有者を特定しておくことが必要となり面倒である。さらに、特許文献2では、電子タグから情報を読み出す際、IDを入力しなければならず操作が煩雑である。
【0010】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、電子タグに複雑な論理回路を実装することなく、安価で安全性の高い電子タグシステムを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本発明の一態様は、データを記憶するメモリを備えた電子タグと、前記電子タグに各種コマンドを送信し、前記メモリへのデータの読み書き処理および電子タグを無効化する処理を行うリーダ・ライタ装置と、を有する電子タグシステムに適用される。
【0012】
そして、前記リーダ・ライタ装置は、電子鍵を記憶しているデータ保持部と、前記電子鍵と、前記電子タグの固有のキーワードとを所定の不可逆関数で演算してパスワードを生成するパスワード生成部と、前記リーダ・ライタ装置全体の動作を制御すると共に、前記電子タグに各種コマンドを送信する制御部と、を備え、前記電子タグの前記メモリには、予め、前記電子タグ固有のキーワードと、前記電子鍵および該固有のキーワードを前記所定の不可逆関数で演算して求めたパスワードとが記憶されていて、前記リーダ・ライタ装置の制御部は、前記電子タグに各種のコマンドを送信する際、前記電子タグのメモリに記憶されている前記電子タグ固有のキーワードを読み出し、前記パスワード生成部に、前記読み出したキーワードと前記データ保持部に記憶している電子鍵とを用いてパスワードを生成させ、前記コマンドとともに前記生成したパスワードを前記電子タグに送信し、前記電子タグは、前記リーダ・ライタ装置が送信した前記パスワードおよび前記コマンドを受信し、前記メモリに記憶しているパスワードと前記受信したパスワードとを比較して、両者が同じ場合に前記受け付けたコマンドに対応する処理を行う。
【発明の効果】
【0013】
このように本発明では、電子タグに、予め、リーダ・ライタ装置を認証するためのパスワードと、そのパスワードを生成するために必要なキーワードを書き込んでおく。リーダ・ライタ装置は、電子タグにアクセスする場合、先ず、電子タグからキーワードを読み出し、そのキーワードを用いてパスワードを生成する。つぎに、リーダ・ライタ装置は、コマンドとともに上記の生成したパスワードを電子タグに送信する。そして、電子タグは、送信されたパスワードと記憶しているパスワードが同じ場合にだけ、リーダ・ライタ装置を認証し、認証されたリーダ・ライタ装置からのコマンドだけ実行する。
【0014】
このように構成することで、本発明では、電子タグ側に、暗号化や復号化などの処理を行う処理部を搭載することなく、電子タグに対する不正なアクセスを防止することができる。すなわち、本発明によれば、安全性の高い電子タグシステムを低コストで実現することができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態について図面を用いて説明する。
《第1実施形態》
先ず、本発明の第1実施形態について説明する。第1実施形態は、電子タグ20に認証処理の機能を設ける構成を採用したものである。このようにするのは、電子タグ20が、認証できたリーダ・ライタ装置10からの要求だけを受け付けるようにすることで、電子タグ20への不正アクセスを防ぐためである。
【0016】
図1は、本発明の第1実施形態の電子タグシステムの機能ブロック図である。
【0017】
図示するように、電子タグシステムは、データを格納して無線で通信する電子タグ20と、無線で電子タグ20と通信して電子タグ20を操作するリーダ・ライタ装置10とを有する。電子タグ20には、例えば、RF−ID(Radio Frequency−Identification)タグを用いることができる。また、リーダ・ライタ装置10は、RF−IDタグ等の電子タグに対してデータの読出し処理および書込み処理等を行う専用の装置であってもいいし、パーソナルコンピュータや携帯電話やキオスク端末機器や自動販売機などと共に形成されていても良い。
【0018】
そして、電子タグ20は、書籍や衣服や電化製品というような商品などに直接貼付するか、或いは、商品を梱包する包みや箱などに貼付される。また、電子タグ20は、個人が携帯するカードなどに貼付しても良い。なお、電子タグ20及びリーダ・ライタ装置10は、どちらか一方または両方とも複数存在しても良い。
【0019】
具体的には、リーダ・ライタ装置10は、制御部1000、鍵管理部1100、パスワード生成部1200、送受信部1400、および各種データを記憶するデータ保持部1500を有する。
【0020】
データ保持部1500には、共通鍵を識別する鍵バージョンに対応付けて、その鍵バージョンにより特定される共通鍵132が記憶されている。なお、本実施形態では、データ保持部1500には、複数の共通鍵が記憶されているものとする。
【0021】
制御部1000は、リーダ・ライタ装置10の全体の動作を制御する。また、制御部1000は、送受信部1400を介して、電子タグ20にデータを書き込む処理、電子タグ20からデータを読み出す処理、および電子タグ20を無効化する処理を行う。具体的には、制御部1000は、電子タグ20にデータを書き込むためのコマンド(書き込みコマンド)を生成し、その書き込みコマンドを送受信部1400経由で電子タグ20に送信する。また、制御部1000は、電子タグ20からデータを読み出すためのコマンド(読み出しコマンド)を生成し、その生成した読み出しコマンドを送受信部1400経由で電子タグ20に送信する。また、制御部1000は、電子タグ20を無効化させるコマンド(無効化コマンド)を生成して、その生成した無効化コマンドを送受信部1400経由で電子タグ20に送信する。
【0022】
また、制御部1000は、図示しない入力装置(キーボード、操作パネル等)を介して、利用者からの各種要求やデータの入力を受け付ける。
【0023】
鍵管理部1100は、後述するパスワード生成処理に用いる共通鍵を管理する。具体的には、鍵管理部1100は、データ保持部1500が記憶している複数の鍵バージョン131と共通鍵132とを対に管理する。鍵管理部1100は、データ保持部1500にアクセスし、鍵バージョン131から、その鍵バージョン131に対応する共通鍵132を検索する。
【0024】
なお、鍵管理部1100は、リーダ・ライタ装置10と物理的に離れた場所に設置され、図示しない通信装置を介して(通信装置に接続された専用線やインターネット等を介して)、他のリーダ・ライタ装置10に鍵バージョン131や共通鍵132を送信するようにしてもよい。すなわち、鍵管理部1100に、データ保持部1500が記憶している鍵バージョン131および共通鍵132を他のリーダ・ライタ装置10に送信する機能を設けるようにしてもよい。
【0025】
パスワード生成部1200は、電子タグ20がリーダ・ライタ装置10を認証する際に用いるためのパスワードを生成する。具体的には、パスワード生成部1200は、データ保持部1500が記憶している共通鍵132と、電子タグ固有のキーワードとを不可逆関数Hで演算しパスワードを生成する。なお、不可逆関数Hについて特に限定しないが、例えば、ハッシュ関数を用いるようにしてもよい。
【0026】
送受信部1400は、電子タグ20との間で行われるデータの送受信を制御する。例えば、送受信部1400は、制御部1000からの要求に応じて電子タグ20にアクセスし、電子タグ20が送信した電子タグ情報(電子タグ情報については後述する)を受信する。
【0027】
次に、電子タグ20の機能構成について説明する。電子タグ20は、制御部2000、認証部2300、送受信部2400、および各種の情報を記憶するデータ保持部2500を有する。なお、データ保持部2500は、鍵バージョン231、電子タグ20固有のキーワード233、および電子タグ20固有のパスワード234を記憶する。また、データ保持部2500は、リーダ・ライタ装置10から書き込まれる電子タグ情報を記憶する。電子タグ情報とは、電子タグ20を貼付ける対象の製品等の情報(製品名、品番、価格、製造年月日等、生産者情報等)である。
【0028】
制御部2000は、電子タグ20全体の動作を制御する。例えば、制御部2000は、リーダ・ライタ装置10からのデータ書き込みコマンドを送受信部2400経由で受け付け、そのデータ書き込みコマンドにしたがいデータをデータ保持部2500に記憶させる。また、制御部2000は、リーダ・ライタ装置10からのデータ読み出しコマンドを送受信部2400経由で受け付け、そのデータ読み出しコマンドにしたがい、データ保持部2500が記憶しているデータを送受信部2400経由でリーダ・ライタ装置10に送信する。
【0029】
認証部2300は、リーダ・ライタ装置10が送信したパスワードと、データ保持部2500に記憶されているパスワード234とを照合することにより、リーダ・ライタ装置10を認証する。制御部2000は、認証できたリーダ・ライタ装置10からの要求だけを受け付ける。
【0030】
送受信部2400は、リーダ・ライタ装置10との間で行われるデータの送受信を制御する。
【0031】
続いて、本実施形態のハードウェア構成について、図2を用いて説明する。
【0032】
図2は、本発明の第1実施形態の電子タグシステムのハードウェア構成図である。
【0033】
リーダ・ライタ装置10は、電子タグ20と電磁誘導方式や電波方式や光通信方式などで信号を送受信する送受信装置100と、データを処理するCPUなどの中央処理装置110と、データを一時的に記憶するRAMなどの主記憶装置120と、データを格納する耐タンパ性の高いROMなどの補助記憶装置130と、を有する。なお、送受信装置100、中央処理装置110、主記憶装置120、および補助記憶装置130は、バスなどによって接続されている。
【0034】
そして、補助記憶装置130には、電子タグ20から受信したキーワード233を用いてパスワードを生成するために必要な鍵バージョン131および共通鍵132と、上述の制御部1000、鍵管理部1100、およびパスワード生成部1200の機能を実現するためのプログラムとが格納されている。
【0035】
そして、制御部1000、鍵管理部1100、およびパスワード生成部1200の機能は、中央処理装置110が補助記憶装置130に格納されている上記のプログラムを主記憶装置120にロードして実行することにより実現される。また、送受信部1400の機能は、送受信装置100により実現される。データ保持部1500の機能は、補助記憶装置130により実現される。
【0036】
電子タグ20は、リーダ・ライタ装置10と、電磁誘導方式や電波方式や光通信方式などで信号を送受信する送受信装置200と、電子タグ20全体の動作を制御する制御回路210と、電子タグ20の電源がオフのときもデータを保持するEEPROMなどの補助記憶装置230とを有する。なお、送受信装置200、制御回路210、および補助記憶装置230は、バスなどによって接続されている。
【0037】
また、補助記憶装置230には、電子タグ20を貼付した商品などを説明する電子タグ情報と、鍵バージョン231と、唯一のキーワード233と、パスワード234とが記憶されている。電子タグ情報とは、電子タグ20を貼付ける対象の製品等の情報(製品名、品番、価格、製造年月日等、生産者情報等)をいう。
【0038】
そして、上述した制御部2000、および認証部2300の機能は、制御回路210に実装されている。本実施形態の制御回路2000は、電子タグ20全体の動作を制御するとともに、制御部2000および認証部2400の機能を専用に行うように設計された回路である。なお、制御回路210に実装されている機能は、電子タグ20の電源がオンのときに実行される。また、送受信部2400の機能は、送受信装置200により実現される。データ保持部2500の機能は、補助記憶装置230により実現される。
【0039】
次に、本発明の第1実施形態のリーダ・ライタ装置10と電子タグ20との間で行われるデータの送受信処理を説明する。
【0040】
最初に、準備段階として、リーダ・ライタ装置10が鍵バージョンVa、キーワードKWiおよびパスワードPWiを電子タグ20に書き込む処理(以下、「初期化処理」という)について、図3を用いて説明する。
【0041】
図3は、本発明の第1実施形態のリーダ・ライタ装置が行う電子タグ20の初期化処理のフローを説明するための図である。なお、リーダ・ライタ装置10のデータ保持部1500には複数の共通鍵と、それぞれと対になる鍵バージョンが記憶されているものとする。
【0042】
先ず、リーダ・ライタ装置10は、データ保持部1500から一つの共通鍵Kaとそれと対になる鍵バージョンVaを選択する(S1001)。具体的には、リーダ・ライタ装置10の制御部1000が鍵管理部1100を介してデータ保持部1500から一対の共通鍵Kaと鍵バージョンVaを取得する。すなわち、本ステップでは、制御部1000が鍵管理部1100に、一対の共通鍵Kaと鍵バージョンVaを要求する。鍵管理部1100は、制御部1000からの要求に応じて、データ保持部1500に記憶されている、複数の「共通鍵Kaおよび鍵バージョンVaの組み合わせ」の中から、一対の「共通鍵Kaおよび鍵バージョンVa」を選択する。そして、鍵管理部1100は、選択した一対の「共通鍵Kaおよび鍵バージョンVa」を制御部1000に出力する。
【0043】
なお、鍵管理部1100が複数の「共通鍵Kaおよび鍵バージョンVaの組み合わせ」の中から一対の「共通鍵Kaおよび鍵バージョンVa」を選択する方法は、特に限定しない。鍵管理部1100は、ランダムに「一対の共通鍵Kaおよび鍵バージョンVa」を選択するようにしてもよいし、所定の順序(例えば鍵バージョンの昇順)で一対の「共通鍵Kaおよび鍵バージョンVa」を選択するようにしてもよい。
【0044】
次に、リーダ・ライタ装置10は、電子タグ20がリーダ・ライタ装置10を認証するための利用するパスワードPWiを生成する(S1002)。
【0045】
具体的には、リーダ・ライタ装置10の制御部1000が電子タグ20の固有のキーワードKWiの入力を受け付ける。パスワード生成部1200は、制御部1000が受け付けたキーワードKWiと、S1001で取得した共通鍵Kaとを不可逆関数Hで演算する。この演算した結果をパスワードPWiとする。
【0046】
なお、リーダ・ライタ装置10がキーワードKWiの入力を受け付ける方法について特に限定しない。例えば、利用者がキーワードKWiを、入力装置(図示せず)を介して、リーダ・ライタ装置10に入力するようにしてもよい。
【0047】
次に、リーダ・ライタ装置10は、上記のキーワードKWiと、S1001で取得した鍵バージョンVa、およびS1002で求めたパスワードPWiを電子タグ20に送信して書き込む(S1003)。具体的には、制御部1000が、送受信制御部1400を介して、鍵管理部1100から取得した鍵バージョンVaと、パスワード生成部1200で演算したパスワードPWiと、キーワードKWiとを電子タグ20に書き込む。
【0048】
続いて、第1実施形態の電子タグ20がリーダ・ライタ装置10を認証する処理について、図4を用いて説明する。なお、図示するフローは、図3の初期化処理が行われた電子タグ20と、リーダ・ライタ装置10との間で行われる処理である。
【0049】
図4は、第1実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。なお、以下の処理は、図3で示した初期化処理において、電子タグ20に鍵バージョンVa、パスワードPWiおよびキーワードKWiを書き込んだリーダ・ライタ装置10と異なるリーダ・ライタ装置10により行われるものとする。
【0050】
また、本フローを行うリーダ・ライタ装置10は、図3のS1002で利用した共通鍵Kaと同じ共通鍵Kaを保持している。具体的には、リーダ・ライタ装置10のデータ保持部1500には、S1002で利用した共通鍵Kaを含む複数の共通鍵と、それらと対になる鍵バージョンVaが記憶されている。なお、これらの共通鍵Kaは、限られたリーダ・ライタ装置10に耐タンパ性技術を用いて格納することが望ましい。或いは、これらの共通鍵Kaは、リーダ・ライタ装置10と物理的に離れたところで管理されており、限られたリーダ・ライタ装置10に安全性の高いネットワークを介して取得されることが望ましい。
【0051】
先ず、リーダ・ライタ装置10は、電子タグ20に対して鍵バージョンVaとキーワードKWiを要求する信号(説明の便宜上「送信リクエスト信号」という)を送信する(S2001)。具体的には、制御部1000が、送受信部1400を経由して電子タグ20に対して「送信リクエスト信号」を送信する。その後、リーダ・ライタ装置10は。電子タグ20からの信号を受信するまで待機する。
【0052】
一方、電子タグ20は、リーダ・ライタ装置10からの「送信リクエスト信号」を受信すると、データ保持部2500に記憶している「キーワードKWi」および「鍵バージョンVa」をリーダ・ライタ装置10に返信する(S2100)。具体的には、電子タグ20の制御部2000が、送受信部2400を介して、「送信リクエスト信号」を受信する。制御部2000は、データ保持部2500にアクセスして、記憶している「キーワードKWi」および「鍵バージョンVa」を読み出す。そして、制御部2000は、送受信部2400を介して、読み出した「キーワードKWi」および「鍵バージョンVa」をリーダ・ライタ装置10に送信する。その後、リーダ・ライタ装置10側の処理に移行する。
【0053】
つぎに、リーダ・ライタ10側の処理を説明する。リーダ・ライタ装置10は、電子タグ20からの「鍵バージョンVa」および「キーワードKWi」を受信すると(S2002)、その鍵バージョンVaを鍵管理部1100に出力してS2003の処理に移行する。
【0054】
S2003では、共通鍵Kaを特定する処理が行われる。具体的には、鍵管理部1100は、データ保持部1500にアクセスして、S2002で受信した鍵バージョンVaから、データ保持部1500に記憶されている共通鍵Kaを検索し、後述する演算に使用する共通鍵Kaを特定する。すなわち、鍵管理部1100は、データ保持部1500にアクセスし、記憶されている複数の共通鍵Kaの中から、S2002で受信した鍵バージョンVaに対応付けられている共通鍵Kaを特定する。
【0055】
S2004では、パスワードを生成する処理が行われる。具体的には、制御部1000が、パスワード生成部1200にパスワードPWiの生成を指示する。パスワード生成部1200は、S2002で受信したキーワードKWiと、S2003で特定した共通鍵Kaとを不可逆関数Hで演算する。演算した結果をパスワードPWiとする。なお、ここで利用する不可逆関数Hは、図3のS1002で用いたものと同様のものとする。
【0056】
次に、リーダ・ライタ装置10は、電子タグ20に、S2004で算出した「パスワードPWi」及び「コマンド」を送信する(S2005)。この場合、リーダ・ライタ装置10と電子タグ20とを近づけ他とは隔離し、通信データが漏洩、盗聴されないように注意するとよい。なお、「コマンド」とは、電子タグ情報の読み書きや電子タグ20を無効化するコマンドのことをいう。リーダ・ライタ装置10が「パスワードPWi」および「コマンド」を電子タグ20に送信すると、その後、電子タグ20側の処理に移行する。
【0057】
続いて、電子タグ20側の処理を説明する。電子タグ20は、リーダ・ライタ装置10が送信した「パスワードPWi」および「コマンド」を受信する(S2101)。具体的には、電子タグ20の制御部2000は、送受信部2400を介して、リーダ・ライタ装置10が送信した「パスワードPWi」及び「コマンド」を受信する。
【0058】
次に、電子タグ20は、S2101で受信したパスワードPWiを利用して、パスワードPWiおよびコマンドを送信したリーダ・ライタ装置10を認証する処理を行う(S2102)。そして、認証できなければ処理を終了し、認証できればS2103に進む。
【0059】
具体的には、電子タグ20の制御部2000は、認証部2300に、S2101で受信したパスワードPWiを出力して認証処理を行わせる。認証部2300は、受信したパスワードPWiとデータ保持部2500に記憶しているパスワードPWiとを比較する。認証部2300は、2つのパスワードPWiが等しければ認証が成功したと判定してその旨を制御部2000に出力し、S2103の処理に移る。一方、認証部2300は、2つのパスワードPWiが等しくなければ認証が失敗したものと判定してその旨を制御部2000に出力して、処理を終了する。
【0060】
S2103では、電子タグ20の制御部2000は、S2101で受信したコマンドに応じた処理を行う。例えば、受信したコマンドが電子タグ情報の「書き込みコマンド」である場合には、制御部2000は、データ保持部2500に電子タグ情報を記憶させる。また、例えば、受信したコマンドがデータ保持部2500の電子タグ情報の「読み出しコマンド」である場合、制御部2000は、データ保持部2500に記憶されている電子タグ情報を読み出し、送受信部2400を介して、リーダ・ライタ装置10に送信する。なお、この場合、リーダ・ライタ装置10は、電子タグ20が送信した電子タグ情報を受信する。また、例えば、受信したコマンドが電子タグ20を無効化する「無効化コマンド」の場合、制御部2000は、電子タグ20を無効化する処理を行う。
【0061】
このように、電子タグ20に、リーダ・ライタ装置10を認証する機能を設けたことにより、電子タグ20は、正当なリーダ・ライタ装置10に対してだけ、電子タグ20内の情報の読み書き、或いは、電子タグを無効化するなどのコマンドを受け付けることができるようになる。
【0062】
すなわち、正当なリーダ・ライタ装置10がなければ、電子タグ20に格納されているデータを読み出したり、或いは、電子タグ20にデータを書き込んだりすることができない。そのため、第1実施形態によれば、電子タグ20内の情報が不正に読み取られる可能性を軽減することができる。また、電子タグ20内の情報が不正に書き換えられる(改ざんされる)可能性を軽減することができる。
【0063】
また、第1実施形態では、電子タグ20に暗号化・復号化などの処理部を設けることなく、電子タグ20のデータの不正アクセスを防止している。すなわち、第1実施形態によれば、電子タグ内に、コストがかかる暗号化・復号化などの処理部を設ける必要がないため、より安価なシステムで安全性の高い電子タグシステムを実現することができる。
【0064】
また、第1実施形態は、上述した特許文献2のように、電子タグ毎に、その電子タグの所有者の情報に関連付けたIDを発行して管理するような方式を採用していない。また、電子タグにアクセスする際に、ユーザがその電子タグ固有のIDを入力する必要がない。そのため、第1実施形態によれば、電子タグシステムのユーザの手間を軽減することができる。
【0065】
さらに、第1実施形態では、共通鍵と対になる鍵バージョンを備え、複数の共通鍵の使用を可能にしている。そして、電子タグ20毎に、パスワードPWiを生成する共通鍵Kaを任意に定めることができる。そのため、ある電子タグ20のパスワードPWiを生成するための「共通鍵Ka」および演算方式が漏洩したとしても、他の電子タグ20に記憶されているデータが読み出されたり、書き換えられたりされる可能性を軽減することができる。
【0066】
また、本実施形態の電子タグ20は、磁気カードよりも安全で、ICカードよりも低コストにリーダ・ライタ装置の認証を実現する。したがって、本実施形態は、商品に添付する電子タグだけでなく、クーポン券やギフト券などにも使うことができる。
【0067】
《第2実施形態》
次に、本発明の第2実施形態について説明する。本発明の第2実施形態は、第1実施形態の構成に、さらに、リーダ・ライタ装置10および電子タグ20にパスワード演算処理の機能を付加してものである。このようにするのは、通信経路上におけるパスワードの傍受を防ぐためである。第2実施形態では、通信経路上におけるパスワードの傍受を防ぐために、リーダ・ライタ装置10が電子タグ20に送るパスワードを、乱数を使用して演算することにより得られたパスワードを用いる。なお、第2実施形態の説明において、上述した第1実施形態と同じ構成については同じ符号を用いることとする。また、第2実施形態の説明は、第1実施形態と異なる部分を中心に説明する。
【0068】
先ず、第2実施形態の機能構成について、図5を用いて説明する。
【0069】
図5は、本発明の第2実施形態の電子タグシステムの機能ブロック図である。
【0070】
図示するように、第2実施形態の電子タグシステムは、上述した第1実施形態と同様、リーダ・ライタ装置10と、電子タグ20とを有する。
【0071】
第2実施形態のリーダ・ライタ装置10は、第1実施形態が有する構成に、さらにパスワード演算部1300が付加されたものである。また、第2実施形態のリーダ・ライタ装置10は、第1実施形態のものと制御部1000の機能の一部が異なっている。具体的には、リーダ・ライタ装置10は、上述した制御部1000、鍵管理部1100、パスワード生成部1200、送受信部1400、データ保持部1500に加え、さらに、パスワード演算部1300を有する。パスワード演算部1300は、パスワードを、乱数を用いて演算する。具体的には、パスワード演算部1300は、送受信部1400が受信した乱数RNと、パスワード生成部1200が演算したパスワードとを関数Fで演算する。本実施形態では、関数Fについて特に限定しないが、以下では、論理規模が小さい擬似乱数発生関数を用いて乱数RNを演算し、その結果とパスワードとを排他的論理演算する場合を例にする。制御部1000は、パスワード演算部1300で演算した結果(演算済みパスワード)を電子タグ20に送信する。
【0072】
第2実施形態の電子タグ20は、第1実施形態が有する構成に、さらに、乱数を発生する乱数発生部2100と、パスワード演算部2200とが付加されたものである。また、第2実施形態の電子タグ20は、第1実施形態のものと制御部2000の機能の一部が異なっている。具体的には、電子タグ20は、上述した制御部2000、認証部2300、送受信部2400、データ保持部2500に加え、さらに、乱数発生部2100およびパスワード演算部2200を有する。データ保持部2500には、鍵バージョン231、キーワード233およびパスワード234に加え、さらに、共通鍵232を記憶させておく。なお、本実施形態では、乱数発生部2100が行う乱数発生処理の具体的な方法については特に限定しない。以下では、乱数発生部2100が擬似乱数発生関数を用いて乱数RNを発生させるものとする。
【0073】
パスワード演算部2200は、パスワードを、乱数を用いて演算する。具体的には、パスワード演算部2200は、乱数発生部2100が発生した乱数RNと、データ保持部2500に記憶されているパスワードとを関数Fで演算する。関数Fは、リーダ・ライタ装置10のパスワード演算部1300に実装されているものと同一のものとする。
【0074】
認証部2300は、リーダ・ライタ装置10が送信した演算済みパスワードと、パスワード演算部2200が演算した演算結果(演算済みパスワード)とを照合することにより、リーダ・ライタ装置10を認証する。制御部2000は、認証できたリーダ・ライタ装置10からの要求だけを受け付ける。
【0075】
続いて、第2実施形態の電子タグシステムのハードウェア構成を説明する。
【0076】
第2実施形態の電子タグシステムのハードウェア構成は、上述した図2のものと同じである。なお、リーダ・ライタ装置10の補助記憶装置130には、パスワード演算部1300の機能を実現するためのプログラムが格納されている。そして、パスワード演算部1300の機能は、中央処理装置110が補助記憶装置130に格納されている上記のプログラムを主記憶装置120にロードして実行することにより実現される。
【0077】
また、電子タグ20の補助記憶装置230には、共通鍵232が記憶されている。また、乱数発生部2100、およびパスワード演算部2200は、制御回路210に実装されている。そして、制御回路210に実装されている各機能(ここでは、制御部2000、乱数発生部2100、パスワード演算部2200、認証部2300の各機能)は、電子タグ20の電源がオンのときに実行される。
【0078】
次に、第2実施形態のリーダ・ライタ装置10と電子タグ20との間で行われるデータの送受信処理を説明する。
【0079】
最初に、リーダ・ライタ装置10が準備段階として、鍵バージョンVa、キーワードKWiおよびパスワードPWiを電子タグ20に書き込む。すなわち、リーダ・ライタ装置10は、電子タグ20への初期化処理を行い、鍵バージョンVa、キーワードKWiおよびパスワードPWiを電子タグ20に書き込む。また、第2実施形態では、リーダ・ライタ装置10は、初期化処理の際、パスワードPWiの生成に利用した共通鍵Kaも、電子タグ20に書き込む。なお、第2実施形態の初期化処理は、第1実施形態のものと、共通鍵Kaを書き込む以外、同様であるため、ここでの説明を省略する。
【0080】
続いて、第2実施形態の電子タグ20がリーダ・ライタ装置10を認証する処理について、図6を用いて説明する。なお、図示するフローは、上述した初期化処理が行われた電子タグ20と、リーダ・ライタ装置10との間で行われる処理である。
【0081】
図6は、第2実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。なお、図示するフローは、準備段階の初期化処理において、電子タグ20に鍵バージョンVa、パスワードPWi、キーワードKWi、および共通鍵Kaを書き込んだリーダ・ライタ装置10と異なるリーダ・ライタ装置10により行われるものとする。
【0082】
また、本フローを行うリーダ・ライタ装置10は、初期化処理でのパスワードPWiの生成に利用した(図3のS1002で利用した)共通鍵Kaと同じ共通鍵Kaを保持している。具体的には、リーダ・ライタ装置10のデータ保持部1500には、S1002で利用した共通鍵Kaを含む複数の共通鍵と、それらと対になる鍵バージョンが記憶されている。この場合、これらの共通鍵Kaは、限られたリーダ・ライタ装置10に耐タンパ性技術を用いて格納することが望ましい。或いは、これらの共通鍵Kaは、リーダ・ライタ装置10と物理的に離れたところで管理されており、限られたリーダ・ライタ装置10に安全性の高いネットワークを介して取得されることが望ましい。
【0083】
先ず、リーダ・ライタ装置10と電子タグ20との間において、上述した図4のS2001、S2100、およびS2002と同様の処理が行われる(S3001、S3100、S3102)。すなわち、リーダ・ライタ装置10は、電子タグ20に対してキーワードKWiおよび鍵バージョンVaを要求し、その要求に応答して電子タグ20が送信するキーワードKWiおよび鍵バージョンVaを受信する。
【0084】
次に、リーダ・ライタ装置10は、図4のS2003〜2004と同じ処理(S3003〜3004)を行う。すなわち、リーダ・ライタ装置10は、S3002で受信した鍵バージョンVaから共通鍵Kaを特定し、S3002で受信したキーワードKWiと、特定した共通鍵Kaとを、図3のS2002と同様の不可逆関数Hで演算する。演算した結果をパスワードPWiとする。
【0085】
次に、リーダ・ライタ装置10は、電子タグ20に対して乱数RNを要求する(S3005)。具体的には、リーダ・ライタ装置10の制御部1000が、送受信部1400を介して、電子タグ20に対して、乱数RNの送信を要求する信号を送信し、電子タグ20からの乱数RNを受信するまで待機する。
【0086】
次に、電子タグ20側の処理を説明する。電子タグ20は、リーダ・ライタ装置10からの「乱数RNの送信を要求する信号」を受信すると、乱数RNを発生させ、発生させた乱数RNをリーダ・ライタ装置10に送信する(S3101)。具体的には、電子タグ20の制御部2000が、送受信部2400を介して、「乱数RNの送信を要求する信号」を受信すると、乱数発生部2100に乱数RNの発生を指示する。乱数発生部2100は、制御部2000からの指示にしたがい、乱数RNを発生させる。なお、乱数発生部2100は、リーダ・ライタ装置10からの要求に対して毎回異なる乱数RNを発生する。そして、制御部2000は、乱数発生部2100が発生させた乱数RNをリーダ・ライタ装置10に出力し、リーダ・ライタ装置10側の処理に遷移する。
【0087】
リーダ・ライタ装置10は、電子タグ20からの乱数RNを受信する(S3006)。具体的には、リーダ・ライタ装置10の制御部1000は、送受信部1400を介して、電子タグ20からの乱数RNを受信する。
【0088】
次に、リーダ・ライタ装置10は、電子タグ20から受信した乱数RN、およびパスワード生成部1200が演算したパスワードPWi(S3004で求めたパスワードPWi)を関数Fで演算する(S3007)。具体的には、制御部1000は、パスワード演算部1300に対し、S3004で求めたパスワードPWiおよび乱数RNを、関数Fで演算させる指示をする。パスワード演算部1300は、上記の指示を受け、下記の(式1)を用いて、S3006で受信した「乱数RN」と、「共通鍵Ka」との排他的論理和を、擬似乱数発生関数fで演算し、その「演算結果」とS3004で算出した「パスワードPWi」とを排他的論理演算する。そして、演算した結果を「演算済みパスワードPWi’」とする。
PWi’=PWi XOR f(Ka,RN)…(式1)
次に、リーダ・ライタ装置10は、電子タグ20に、S3007で算出した「演算済みパスワードPWi’」および「コマンド」を送信する(S3008)。この場合、リーダ・ライタ装置10と電子タグ20とを近づけ、他とは隔離し、通信データが漏洩、盗聴されないように注意するとよい。なお、「コマンド」とは、電子タグ情報の読み書きや電子タグ20を無効化するコマンドである。
【0089】
続いて、電子タグ20側の処理を説明する。電子タグ20は、リーダ・ライタ装置10が送信した「演算済みパスワードPWi’」および「コマンド」を受信する(S3102)。具体的には、リーダ・ライタ装置10の制御部2000が、送受信部2400を介して、リーダ・ライタ装置10が送信した「演算済みパスワードPWi’」および「コマンド」を受信し、S3013の処理に進む。
【0090】
S3013では、電子タグ20は、データ保持部2500に記憶されているパスワードPWiを、乱数発生部2100で生成した乱数RNを用いて演算する。なお、ここで利用する乱数RNは、S3101で生成した乱数RNである(すなわち、リーダ・ライタ装置10に送信した乱数RNと同じものである)。
【0091】
具体的には、電子タグ20の制御部2000は、パスワード演算部2200に対し、データ保持部2500に記憶されているパスワードPWiを演算させる指示を行う。パスワード演算部2200は、上記の指示を受け、上述したS3007と同様の手順により、S3101で生成した「乱数RN」と、データ保持部2500に記憶されている「共通鍵Ka」との排他的論理和を、擬似乱数発生関数fで演算し、その「演算結果」と、データ保持部2500に記憶されている「パスワード」とを排他的論理演算する。そして、演算した結果を「演算済みパスワードPWi’」とする。ここで、擬似乱数発生関数fは、S3007でリーダ・ライタ装置10が用いたものと同一のものとする。
【0092】
次に、電子タグ20は、S3102で受信した「演算済みパスワードPWi’」を利用して、「演算済みパスワードPWi’」および「コマンド」を送信したリーダ・ライタ装置10を認証する処理を行う(S3104)。そして、認証できなければ処理を終了して、認証できればS3020に進む。
【0093】
具体的には、電子タグ20の制御部2000は、認証部2300に、S3102で受信した「演算済みパスワードPWi’」を出力して認証処理を行わせる。認証部2300は、受信した「演算済みパスワードPWi’」と、S3103でパスワード演算部2200が演算した「演算済みパスワードPWi’」とを比較する。認証部2300は、2つの「演算済みパスワードPWi’」が等しければ認証が成功したと判定してその旨を制御部2000に出力し、S3015の処理に移る。一方、認証部2300は、2つの「演算済みパスワードPWi’」が等しくなければ認証が失敗したと判定してその旨を制御部2000に出力して、処理を終了する。
【0094】
S3105では、電子タグ20の制御部2000は、S3102で受信したコマンドに応じた処理を行う。なお、コマンドに応じた処理とは、上述した図4のS2103と同じであるため、ここでの説明は省略する。
【0095】
なお、図6に示す説明では、電子タグ20は、S3102において、「演算済みパスワードPWi’」および「コマンド」を受信した後で、S3103の「パスワード演算処理」を行うようにしているが、特にこれに限定するものではない。電子タグ20は、S3101で乱数RNを送信させてから、SS3102の「演算済みパスワードPWi’」および「コマンド」を受信するまでの間に、「パスワード演算処理」を行うようにしてもよい。
【0096】
このように、電子タグ20とリーダ・ライタ装置10にパスワードを演算する機能を設けたことにより、リーダ・ライタ装置10は、電子タグ20に対してパスワードを秘匿化して送信することができるようになる。すなわち、リーダ・ライタ装置10は、コマンドを送信する毎にパスワードを変更するため、通信経路上でパスワードが傍受されたとしても、電子タグ20が不正アクセスされることを防止することができる。
【0097】
したがって、第2実施形態によれば、上述した第1実施形態の効果に加えて、リーダ・ライタ装置10を認証するためのパスワードの傍受を防ぐことができるようになるため、より安全性の高い電子タグシステムを構築することができる。
《第3実施形態》
次に、本発明の第3実施形態について説明する。本発明の第3実施形態は、第2実施形態の構成を変更したものである。すなわち、第3実施形態は、リーダ・ライタ装置10に電子タグ20の認証処理の機能を付加してものである。そして、電子タグ20は、自身が記憶しているパスワードをリーダ・ライタ装置10に送り、リーダ・ライタ装置10が電子タグ20を認証する。また、パスワードを送る際に、乱数を使用してパスワードを演算することで、通信経路上におけるパスワードの傍受を防ぐようにしている。なお、第3実施形態の説明において、上述した第2実施形態と同じ構成については同じ符号を用いることとする。また、第3実施形態の説明は、第2実施形態と異なる部分を中心に説明する。
【0098】
先ず、第3実施形態の機能構成について、図7を用いて説明する。
【0099】
図7は、本発明の第3実施形態を表す電子タグシステムの機能ブロック図である。
【0100】
図示するように、第3実施形態の電子タグシステムは、上述した第2実施形態と同様、リーダ・ライタ装置10と、電子タグ20とを有する。
【0101】
第3実施形態のリーダ・ライタ装置10は、第2実施形態が有する構成に、さらに乱数発生部1600と、認証部1700を付加している。また、第3実施形態のリーダ・ライタ装置10は、第2実施形態のものと制御部1000の機能の一部が異なっている。具体的には、リーダ・ライタ装置10は、上述した制御部1000、鍵管理部1100、パスワード生成部1200、パスワード演算部1300、送受信部1400、データ保持部1500に加え、さらに、乱数発生部1600、認証部1700を有する。データ保持部1500には、複数の鍵バージョン231と、鍵バージョン毎に対応付けられた共通鍵232と、を記憶させておく。
【0102】
乱数発生部1600は、乱数を発生する。本実施形態では、乱数発生の具体的な方法については特に限定しないが、以下では、擬似乱数発生関数を用いて乱数RNを発生する。認証部1700は、リーダ・ライタ装置10が受信した「演算済みパスワード」と、パスワード演算部1300が演算した「演算済みパスワード」とを照合することにより、電子タグ20を認証する。制御部1000は、認証できた電子タグ20にだけ各種のコマンドを送信する。
【0103】
第3実施形態の電子タグ20は、第2実施形態が有する構成から、乱数発生部2100およびパスワード演算部2200の機能を除いたものである。また、第3実施形態の電子タグ20は、第2実施形態のものと制御部2000の機能の一部が異なっている。例えば、第3実施形態の電子タグ20の制御部2000は、リーダ・ライタ装置10から受信した乱数と、データ保持部2500に記憶しているパスワードとを関数Fで演算し、その演算結果をリーダ・ライタ装置10に送信する処理を行う(なお、電子タグ20が行う処理は、後段で詳細に説明する)。
【0104】
続いて、第3実施形態のハードウェア構成を説明する。
【0105】
第3実施形態の電子タグシステムのハードウェア構成は、上述した図2のものと同じである。なお、リーダ・ライタ装置10の補助記憶装置130には、乱数発生部1600および認証部1700の機能を実現するためのプログラムが格納されている。そして、乱数発生部1600および認証部1700の機能は、中央処理装置110が補助記憶装置130に格納されている上記のプログラムを主記憶装置120にロードして実行することにより実現される。
【0106】
また、電子タグ20の制御回路210は、制御部2000、およびパスワード演算部2200の機能を専用に行うように設計されている。そして、第3実施形態の電子タグの制御部2000およびパスワード演算部2200の機能は、制御回路210により実現される。
【0107】
次に、第3実施形態のリーダ・ライタ装置10と電子タグ20との間で行われるデータの送受信処理を説明する。
【0108】
最初に、準備段階として、リーダ・ライタ装置10が鍵バージョンVa、キーワードKWiおよびパスワードPW2iを電子タグ20に書き込む処理(初期化処理)について、図8を用いて説明する。
【0109】
図8は、本発明の第3実施形態のリーダ・ライタ装置が行う電子タグ20の初期化処理のフローを説明するための図である。なお、リーダ・ライタ装置10のデータ保持部1500には複数の共通鍵Ka2と、それぞれと対になる鍵バージョンVaが記憶されているものとする。
【0110】
先ず、リーダ・ライタ装置10は、上述した図3のS1001と同様の手順にしたがい、データ保持部1500から電子タグ20を認証するための一つの共通鍵Ka2とそれと対になる鍵バージョンVaを選択する(S4001)。すなわち、リーダ・ライタ装置10の制御部1000が鍵管理部1100を介してデータ保持部から一対の電子タグ20認証用の共通鍵Ka2と鍵バージョンVaを取得する。
【0111】
次に、リーダ・ライタ装置10は、電子タグの認証処理に用いるパスワードPW2iを生成する処理を行う(S4002)。
【0112】
具体的には、リーダ・ライタ装置10の制御部1000が電子タグ20の固有のキーワードKWiの入力を受け付ける。パスワード生成部1200は、制御部1000が受け付けたキーワードKWiと、S4001で取得した共通鍵Ka2とを不可逆関数Hで演算する。この演算した結果をパスワードPW2iとする。
【0113】
次に、リーダ・ライタ装置10は、上記のキーワードKWiと、S4001で取得した鍵バージョンVa、およびS4002で求めたパスワードPW2iを電子タグ20に送信して書き込む(S4003)。具体的には、制御部1000が、送受信制御部1400を介して、鍵管理部1100から取得した鍵バージョンVaと、パスワード生成部1200で演算したパスワードPW2iと、キーワードKWiとを電子タグ20に書き込む。
【0114】
さらに、本ステップ(S4003)では、リーダ・ライタ装置10は、パスワードPW2iの生成に利用した共通鍵Ka2も、電子タグ20に書き込む。
【0115】
続いて、第3実施形態のリーダ・ライタ装置10が電子タグ20を認証する処理について、図9を用いて説明する。なお、図示するフローは、図8の初期化処理が行われた電子タグ20と、リーダ・ライタ装置10との間で行われる処理である。
【0116】
図9は、第3実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【0117】
ここで、電子タグ20のデータ保持部2500には、電子タグ情報が格納されているものとする。また、以下の処理は、準備段階の初期化処理において、電子タグ20に鍵バージョンVa、パスワードPW2iおよびキーワードKWiを書き込んだリーダ・ライタ装置10と異なるリーダ・ライタ装置10により行われるものとする。
【0118】
また、本フローを行うリーダ・ライタ装置10は、図8のS4002で利用した共通鍵Ka2と同じ共通鍵Ka2を保持している。具体的には、リーダ・ライタ装置10のデータ保持部1500には、S4002で利用した共通鍵Ka2を含む複数の共通鍵と、それらと対になる鍵バージョンが記憶されている。この場合、これらの共通鍵Ka2は、限られたリーダ・ライタ装置10に耐タンパ性技術を用いて格納することが望ましい。或いは、これらの共通鍵Ka2は、リーダ・ライタ装置10と物理的に離れたところで管理されており、限られたリーダ・ライタ装置10に安全性の高いネットワークを介して取得されることが望ましい。
【0119】
先ず、リーダ・ライタ装置10と電子タグ20との間において、上述した図6のS3001、S3100、およびS3002〜3004と同様の処理が順次行われる(S5001、S5100、S5002〜S5004)。
【0120】
具体的には、リーダ・ライタ装置10は、電子タグ20に対してキーワードKWiおよび鍵バージョンVaを要求し、その要求に応答して電子タグ20が送信するキーワードKWiおよび鍵バージョンVaを受信する。そして、リーダ・ライタ装置10は、受信した鍵バージョンVaから共通鍵Ka2を特定し、S4002受信したキーワードKWiと、特定した共通鍵Ka2とを、図8のS4002と同様の不可逆関数Hで演算する。演算した結果をパスワードPW2iとする。
【0121】
次に、リーダ・ライタ装置10は、乱数RNを生成し、その生成した乱数RNを電子タグ20に送信する(S5005)。具体的には、リーダ・ライタ装置10の制御部1000が乱数発生部1600に乱数RNの生成を指示する。乱数発生部1600は、制御部1000からの指示を受けて、乱数RNを発生させる。制御部1000は、送受信部1400を介して、乱数発生部1600が発生させた乱数RNを電子タグ20に送信する。その後、リーダ・ライタ装置10は、電子タグ20からの信号(後述する「演算済みパスワードPWi’」)を受信するまで待機する。
【0122】
次に、電子タグ20側の処理を説明する。電子タグ20は、リーダ・ライタ装置10が送信した乱数RNを受信する(S5101)。
【0123】
次に、電子タグ20は、S5101で受信して乱数RNと、データ保持部2500に記憶されているパスワードPW2iとを関数Fで演算する(S5102)。具体的には、S5101で受信した「乱数RN」と、「共通鍵Ka2」との排他的論理和を、擬似乱数発生関数fで演算し、その「演算結果」とデータ保持部2500に記憶されている「パスワード」とを排他的論理演算する。演算した結果を「演算済みパスワードPW2i’」とする。なお、「演算済みパスワードPW2i’」は、図6のS3007と同様の手順にしたがい、すなわち、S3007の処理の際に利用した計算式(上述した(式1))にしたがい算出される。
【0124】
次に、電子タグ20は、S5102で求めた「演算済みパスワードPW2i’」をリーダ・ライタ装置10に送信する(S5103)。すなわち、電子タグ20の制御部2000が送受信部2400を介して、「演算済みパスワードPW2i’」をリーダ・ライタ装置10に送信する。その後、リーダ・ライタ装置10側の処理に移行する。なお、この場合、リーダ・ライタ装置10と電子タグ20とを近づけ他とは隔離し、通信データが漏洩、盗聴されないように注意するとよい。
【0125】
続いて、リーダ・ライタ装置10側の処理を説明する。リーダ・ライタ装置10は、電子タグ20が送信した「演算済みパスワードPW2i’」を受信する(S5006)と、パスワード演算処理を行う(S5007)。具体的には、リーダ・ライタ装置10のパスワード演算部1300は、データ保持部1500に記憶されているパスワードPW2iを、S5005で生成した乱数RNを用いて演算する。すなわち、パスワード演算部1300は、S5005で生成した「乱数RN」と、データ保持部1500に記憶されている電子タグ20認証用の「共通鍵Ka2」との排他的論理和を、擬似乱数発生関数fで演算し、その「演算結果」とデータ保持部2500に記憶されている「パスワードPW2i」とを排他的論理演算する。そして、演算した結果を「演算済みパスワードPW2i’」とする。ここで、擬似乱数発生関数fは、S5102で電子タグ20が用いたものと同一のものとする。すなわち、パスワード演算部1200は、上述したS5102の処理の際に求められた計算式(上述した(式1))にしたがい、「演算済みパスワードPW2i’」を求める。
【0126】
次に、リーダ・ライタ装置10は、S5006で受信した「演算済みパスワードPW2i’」を利用して、「演算済みパスワードPW2i’」を送信した電子タグ20を認証する処理を行う(S5008)。そして、認証できなければ処理を終了して、認証できればS5009に進む。
【0127】
具体的には、リーダ・ライタ装置10の制御部1000は、認証部1700に、S5006で受信した「演算済みパスワードPW2i’」を出力して認証処理を行わせる。認証部1700は、受信した「演算済みパスワードPW2i’」と、S5007でパスワード演算部1300が演算した「演算済みパスワードPW2i’」とを比較する。認証部1700は、2つの「演算済みパスワードPW2i’」が等しければ認証が成功したものと判定してその旨を制御部1000に出力し、S5009の処理に移る。一方、認証部1700は、2つの「パスワードPW2i’」が等しくなければ認証が失敗したものと判定してその旨を制御部1000に出力して、処理を終了する。
【0128】
S5009では、リーダ・ライタ装置10の制御部1000は、電子タグ20に対する各種コマンドを生成し、その生成したコマンドを送信する。なお、ここでは、「読み出しコマンド」を送信する場合を例にする。
【0129】
そして、リーダ・ライタ装置10からのコマンド(ここでは「読み出しコマンド(リードコマンド)」)を受信して電子タグ20は、「読み出しコマンド」に応じた処理を行う(S5104)。すなわち、電子タグ20は、データ保持部2500に記憶している電子タグ情報をリーダ・ライタ装置10に送信する。具体的には、電子タグ20の制御部2000が、データ保持部2500から電子タグ情報を読み出し、リーダ・ライタ装置10に、その読み出した電子タグ情報を送信する。
【0130】
そして、リーダ・ライタ装置10は、電子タグ20からの電子タグ情報を受信して処理を終了する(S5010)。
【0131】
なお、図9に示す説明では、リーダ・ライタ装置10は、S5006の処理の後で。すなわち、「演算済みパスワードPW2i’」を受信した後で、S5007の「パスワード演算処理」を行うようにしているが、特にこれに限定するものではない。リーダ・ライタ装置10は、乱数RNを送信したから(すなわち、S5005の処理の後)、S5006で「演算済みパスワードPWi’」を受信するまでの間に、「パスワード演算処理」を行うようにしてもよい。
【0132】
また、上記の説明では、S5009において、電子タグ情報の「読み出しコマンド」を送信する場合を例にして説明したが、他のコマンドの場合は以下のようになる。
【0133】
すなわち、S5009において、電子タグ情報の「書き込みコマンド」を送信された場合、S5013では、電子タグ20に電子タグ情報が書き込まれる。具体的には、電子タグ20の制御部2000は、データ保持部2500に電子タグ情報を記憶させる。また、S5009において、「無効化コマンド」が送信された場合、S5013では、電子タグ20の制御部2000は、電子タグ20を無効化する処理を行う。なお、S5009において、「書き込みコマンド」および「無効化コマンド」のいずれかが送信された場合、S5010の処理は行われない。
【0134】
このように、リーダ・ライタ装置10に認証する機能を設けたことにより、リーダ・ライタ装置10側で電子タグ20を認証することができるようになる。したがって、第3実施形態の機能を利用することにより、商品等に不正な電子タグが添付されているか否かを確認することができる。また、第3実施形態は、第2実施形態と同様、認証に利用するパスワードが毎回変更されるためパスワードの傍受を防ぐことができるようになる。
【0135】
《第4実施形態》
続いて、本発明の第4実施形態について説明する。第4実施形態は、上述した第3実施形態の構成に、さらに、電子タグ情報を暗号化および復号化するための機能を付加したものである。このようにするのは、電子タグ情報の漏洩を防ぐと共に電子タグ20の複製を防ぐためである。なお、以下では、説明の便宜上、第3実施形態を変形した場合を例にして説明する。また、第4実施形態の説明において、上述した第3実施形態と同じ構成については、同じ符号を用いることとする。
【0136】
本発明の第4実施形態の機能構成は、図7で示した第3実施形態のものと制御部1000の機能が異なる以外は同じである。第4実施形態のハードウェア構成は、第3実施形態と同じである。そのため、以下では、異なる部分を中心に説明する。具体的には、第4実施形態では、リーダ・ライタ装置10の制御部1000に、電子タグ情報を暗号化して、電子タグ20に書き込む手段と、電子タグ20から読み取った暗号化された電子タグ情報を復号化する手段とを設けるようにした。また、電子タグ20のデータ保持部2500に記憶されているキーワードは、一度書き込まれると二度と書き換えができない仕組みになっている。この構成により、電子タグ20内の情報が漏洩するのを防止する。
【0137】
図10は、本発明の第4実施形態のリーダ・ライタ装置が行う電子タグ20の初期化処理のフローを説明するための図である。
【0138】
先ず、リーダ・ライタ装置10は、上述した図8のS4001〜S4003と同じ処理を行う(S6001〜6003)。
【0139】
次に、リーダ・ライタ装置10は、書き換え不可能なキーワードを用いて電子タグ情報を暗号化し、電子タグ20に暗号化した電子タグ情報を書き込む(S6004)。具体的には、リーダ・ライタ装置10の制御部1000が、キーワードKWiおよび共通鍵Ka2を用いて既存の暗号アルゴリズム(例えば、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等)で電子タグ情報を暗号化する。そして、制御部1000は、送受信部1400を介して、電子タグ20に暗号化した電子タグ情報を書き込む。なお、第4実施形態の暗号化処理、および、後述する復号化処理は、既存の技術により実現されるものとする。
【0140】
続いて、第4実施形態のリーダ・ライタ装置10が電子タグ20を認証する処理について、図11を用いて説明する。
【0141】
図11は、第4実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【0142】
図示するように、リーダ・ライタ装置10と電子タグ20との間において、上述した図9と同様の処理が行われる。すなわち、リーダ・ライタ装置10が、図9のS5001〜S5009と同様の処理を行い(S7001〜7009)、電子タグ20が図9のS5100〜5104と同様の処理を行う(S7100〜7104)。
【0143】
次に、リーダ・ライタ装置10は、電子タグ20が送信した暗号化された電子タグ情報を受信し、その受信した電子タグ情報を、S7002で受信したキーワードKWiおよびS7004で検索した共通鍵Ka2を用いて複号化して、処理を終了する(S7010)。
【0144】
なお、図11に示す説明では、リーダ・ライタ装置10は、S7006において、「演算済みパスワードPW2i’」を受信した後で、S7007の「パスワード演算処理」を行うようにしているが、特にこれに限定するものではない。第3実施形態と同様で、リーダ・ライタ装置10は、乱数RNを送信してから「演算済みパスワードPWi’」を受信するまでの間に(S7006の処理とS7007の処理との間に)「パスワード演算処理」を行うようにしてもよい。
【0145】
以上の処理により、第4実施形態でも、上記第3実施形態と同様の効果を得ることが出来る。また、第4実施形態では、電子タグ情報を暗号化した上で、電子タグ20に格納するようにしているため、第3実施形態に比べて、電子タグシステムの安全性をさらに高めることができる。
【0146】
このように、上述した本発明の第1〜第4実施形態によれば、電子タグ側に暗号化処理や復号化処理を行うための複雑な論理回路を実装することなく、安価で安全性の比較的高い電子タグシステムを提供することができるようになる。
【0147】
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。
【0148】
例えば、上述した第1〜第4実施形態では、リーダ・ライタ装置10が複数の共通鍵Kaを保持している場合を例にしたが、特にこれに限定するものではない。リーダ・ライタ装置10が保持する共通鍵は、単数であってもかまわない。なお、この場合、電子タグ20に、鍵バージョンを記憶させておく必要はない。そして、リーダ・ライタ装置10は、図4のS2001において、電子タグ20に「キーワードKWi」の送信要求を行う。これに対して、電子タグ20は、図4のS2100において、データ保持部2500に記憶しているキーワードKWiをリーダ・ライタ装置10に返信する。リーダ・ライタ装置10は、電子タグ20からのキーワードKWiを受信すると、S2003を行なわずに、受信したキーワードKWiと、自身が記憶している共通鍵Kaを用いてパスワードPWiを生成し、生成したパスワードPWiとコマンドを電子タグ20に送信する。そして、電子タグ20は、図4のS2101〜S2103と同じ処理を行う。
【0149】
このように、リーダ・ライタ装置10が保持する共通鍵は、単数であっても、電子タグ20側で認証処理を行なうことができ、電子タグ20側に暗号化処理や復号化処理を行うための複雑な論理回路を実装することなく、安価で安全性の比較的高い電子タグシステムを提供することができるようになる。
【0150】
また、上述の第2実施形態と第3実施形態とを組合せ、リーダ・ライタ装置10および電子タグ20の両者において、相互で認証処理を行なうようにしてもよい。なお、この場合、電子タグ20は、図5に示す処理部を備え、リーダ・ライタ装置10は、図7に示す処理部を備えるものとする。また、電子タグ20がリーダ・ライタ装置10を認証するための処理に利用する共通鍵Ka(図6のS3004、3007、3103で利用する共通鍵Ka)と、リーダ・ライタ装置10が電子タグ10を認証するための処理に利用する共通鍵Ka2(図9のS5004、5007、5102で利用する共通鍵Ka2)と、は異なる方がよい。すなわち、データ保持部1500において、複数の共通鍵Kaおよびその鍵バージョンVaと、複数の共通鍵Ka2とその鍵バージョンVaとを別々に管理するとよい(例えば、データ保持部1500は、共通鍵Kaおよびその鍵バージョンVaと、共通鍵Ka2およびその鍵バージョンVaとを、各々、別のデータベースに登録して記憶する)。
【0151】
同様に、第1実施形態と第3実施形態とを組合せて、リーダ・ライタ装置10および電子タグ20の両者において、相互で認証処理を行なうようにしてもよい。
【0152】
また、上述の第1実施形態の制御部1000に、第4実施形態で説明した、電子タグ情報を暗号化および復号化するための機能を付加するようにしてもよい。或いは、上述の第2実施形態の制御部1000に、第4実施形態で説明した、電子タグ情報を暗号化および復号化するための機能を付加するようにしてもよい
また、第1〜第4実施形態では、リーダ・ライタ装置10が有する各処理部の機能が、ソフトウェアにより実現されるものとして説明したが(各処理部の機能は、中央処理装置110がプログラムを実行することにより実現されるものと説明したが)、特にこれに限定するものではない。例えば、リーダ・ライタ装置10が有する各処理部の機能を専用のハードウェアロジックで実現するようにしてもよい。例えば、リーダ・ライタ装置10に、上述したリーダ・ライタ装置10の機能を実現するためのASIC(Application Specific Integrated Circuit)を搭載するようにしてもよい。
【0153】
また、第1〜第4実施形態の電子タグ20の制御回路2100に代えて、CPUおよびワークエリアとして機能するメモリを搭載して、電子タグ20の各処理部の機能をソフトウェアにより実現するようにしてもよい。すなわち、電子タグ20の各処理部の機能は、CPUがメモリに記憶されている各プログラムを実行することにより実現されることとしてもよい。
【図面の簡単な説明】
【0154】
【図1】本発明の第1実施形態の電子タグシステムの機能ブロック図である。
【図2】本発明の第1実施形態の電子タグシステムのハードウェア構成図である。
【図3】本発明の第1実施形態のリーダ・ライタ装置が行う電子タグの初期化処理のフローを説明するための図である。
【図4】本発明の第1実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【図5】本発明の第2実施形態の電子タグシステムの機能ブロック図である。
【図6】本発明の第2実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【図7】本発明の第3実施形態の電子タグシステムの機能ブロック図である。
【図8】本発明の第3実施形態のリーダ・ライタ装置が行う電子タグの初期化処理のフローを説明するための図である。
【図9】本発明の第3実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【図10】本発明の第4実施形態のリーダ・ライタ装置が行う電子タグの初期化処理のフローを説明するための図である。
【図11】本発明の第4実施形態のリーダ・ライタ装置と電子タグとの間で行われるデータ送受信処理のフローを説明するための図である。
【符号の説明】
【0155】
10…リーダ・ライタ装置、20…電子タグ、100…送受信装置、110…中央処理装置、120…主記憶装置、130…補助記憶装置、131…鍵バージョン、132…共通鍵、200…送受信装置、210…制御回路、230…補助記憶装置、1000…制御部、1100…かぎ管理部、1200…パスワード生成部、1300…パスワード演算部、1400…送受信部、1500…データ保持部、1600…乱数発生部、1700…認証部、2000…制御部、2100…乱数発生部、2200…パスワード演算部、2300…認証部、2400…送受信部、2500…データ保持部
【特許請求の範囲】
【請求項1】
データを記憶するメモリを備えた電子タグと、前記電子タグに各種コマンドを送信し、前記メモリへのデータの読み書き処理および電子タグを無効化する処理を行うリーダ・ライタ装置と、を有する電子タグシステムであって、
前記リーダ・ライタ装置は、
電子鍵を記憶しているデータ保持部と、
前記電子鍵と、前記電子タグの固有のキーワードとを所定の不可逆関数で演算してパスワードを生成するパスワード生成部と、
前記リーダ・ライタ装置全体の動作を制御すると共に、前記電子タグに各種コマンドを送信する制御部と、を備え、
前記電子タグの前記メモリには、予め、前記電子タグ固有のキーワードと、前記電子鍵および該固有のキーワードを前記所定の不可逆関数で演算して求めたパスワードとが記憶されていて、
前記リーダ・ライタ装置の制御部は、前記電子タグに各種のコマンドを送信する際、
前記電子タグのメモリに記憶されている前記電子タグ固有のキーワードを読み出し、
前記パスワード生成部に、前記読み出したキーワードと前記データ保持部に記憶している電子鍵とを用いてパスワードを生成させ、
前記コマンドとともに前記生成したパスワードを前記電子タグに送信し、
前記電子タグは、
前記リーダ・ライタ装置が送信した前記パスワードおよび前記コマンドを受信し、前記メモリに記憶しているパスワードと前記受信したパスワードとを比較して、両者が同じ場合に前記受け付けたコマンドに対応する処理を行うこと
を特徴とする電子タグシステム。
【請求項2】
請求項1に記載の電子タグシステムであって、
前記リーダ・ライタ装置のデータ保持部には、前記電子鍵が複数記憶されているとともに、該電子鍵毎に対応付けられた鍵識別情報が記憶されていて、
前記電子タグのメモリには、前記電子タグ固有のキーワード、および前記パスワードに加え、さらに、前記パスワードを求める際に利用した前記電子鍵に対応付けられている前記鍵識別情報が記憶されていて、
前記リーダ・ライタ装置の制御部は、
前記電子タグ固有のキーワードを読み出す際、さらに前記電子タグのメモリから前記鍵識別情報を読み出し、前記データ保持部に記憶している複数の電子鍵の中から、前記読み出した鍵識別情報に対応付けられている電子鍵を特定し、
前記パスワード生成部にパスワードを生成させる際、前記読み出したキーワードと前記特定した電子鍵とを用いてパスワードを生成させること
を特徴とする電子タグシステム。
【請求項3】
請求項2に記載の電子タグシステムであって、
前記電子タグのメモリには、さらに、前記鍵識別情報に対応付けられた電子鍵が記憶されていて、
前記電子タグは、乱数を発生する乱数発生部を備え、
前記リーダ・ライタ装置の制御部は、
前記パスワード生成部に、前記読み出したキーワードと前記記憶している電子鍵とを用いてパスワード(第1パスワード)を生成させると、さらに、前記電子タグに乱数の送信を要求して該電子タグの乱数発生部に乱数を発生させ、前記電子タグから該発生させた乱数を取得し、
前記取得した乱数と、前記特定した電子鍵と、前記生成した第1パスワードとを用いて第2パスワードを生成し、
前記コマンドを送信する際、前記第1パスワードに代えて、前記第2パスワードを該コマンドとともに送信し、
前記電子タグは、
前記リーダ・ライタ装置が送信した前記コマンドおよび第2パスワードを受信すると、前記パスワード演算部が発生させた乱数と、前記メモリに記憶している前記電子鍵と、前記メモリに記憶しているパスワード(第1パスワード)とを用いて第2パスワードを生成し、
前記生成した第2パスワードと前記受信した第2パスワードとを比較し、両者が同じ場合に前記受け付けたコマンドに対応する処理を行うこと
を特徴とする電子タグシステム。
【請求項4】
請求項2に記載の電子タグシステムであって、
前記電子タグのメモリには、さらに、前記鍵バージョンに対応する電子鍵が記憶されていて、
前記リーダ・ライタ装置は、乱数を発生する乱数発生部を有し、
前記リーダ・ライタ装置の制御部は、
前記パスワード生成部に、前記読み出したキーワードと前記記憶している電子鍵とを用いてパスワード(第1パスワード)を生成させると、さらに、前記乱数発生部に乱数の発生を指示し、該乱数発生部が発生した乱数を前記電子タグに送信し、
前記電子タグは、
前記リーダ・ライタ装置からの乱数を受信すると、前記受信した乱数と、前記メモリに記憶している電子鍵と、前記メモリに記憶しているパスワード(第1パスワード)とを用いて第2パスワードを生成し、該生成した第2パスワードを前記リーダ・ライタ装置に送信し、
前記リーダ・ライタ装置は、
前記電子タグからの第2パスワードを受信すると、前記乱数発生部が発生させた乱数と、前記特定した電子鍵と、前記生成した第1パスワードとを用いて第2パスワードを生成し、該生成した第2パスワードと前記受信した第2パスワードとを比較して、両者が同じ場合に前記電子タグを正当なものと判別し、
前記正当なものと判別した場合に、電子タグに前記コマンドを送信すること
を特徴とする電子タグシステム。
【請求項5】
請求項1〜4のいずれか一項に記載の電子タグシステムであって、
前記電子タグのメモリに書き込まれる前記電子タグ固有のキーワードは、一度書き込んだら二度と書き換えできないものとし、
前記電子タグのメモリには、さらに、前記キーワードと前記電子鍵で暗号化した情報が記憶されていること
を特徴とする電子タグシステム。
【請求項6】
データを記憶するメモリを備えた電子タグと、前記電子タグに各種コマンドを送信し、前記メモリへのデータの読み書き処理および電子タグを無効化する処理を行うリーダ・ライタ装置と、を有する電子タグシステムが行うデータ処理方法であって、
前記リーダ・ライタ装置は、電子鍵を記憶しているデータ保持部を備え、
前記電子タグの前記メモリには、予め、前記電子タグ固有のキーワードと、前記電子鍵および該固有のキーワードを所定の不可逆関数で演算して求めたパスワードとが記憶されていて、
前記リーダ・ライタ装置は、
前記電子タグのメモリに書き込まれている前記電子タグ固有のキーワードを読み出すステップと、
前記読み出したキーワードと、前記記憶している前記電子鍵とを前記所定の不可逆関数で演算して求めたパスワードを生成するステップと、
前記コマンドとともに前記生成したパスワードを前記電子タグに送信するステップとを実行し、
前記電子タグは、
前記リーダ・ライタ装置が送信した前記パスワードおよび前記コマンドを受信するステップと、
前記メモリに記憶しているパスワードと前記受信したパスワードとを比較し、両者が同じ場合に前記受信したコマンドに対応する処理を行うステップと、を実行すること
を特徴とするデータ処理方法。
【請求項7】
データを記憶するメモリを備えた電子タグと、前記電子タグに各種コマンドを送信し、前記メモリへのデータの読み書き処理および電子タグを無効化する処理を行うリーダ・ライタ装置と、を有する電子タグシステムが行うデータ処理方法であって、
前記リーダ・ライタ装置は、複数の電子鍵と、該電子鍵毎に対応付けられた鍵識別情報が記憶されているデータ保持部を備え、
前記電子タグの前記メモリには、予め、前記電子タグ固有のキーワードと、前記電子鍵および該固有のキーワードを所定の不可逆関数で演算して求めたパスワードと、前記パスワードを求める際に利用した前記電子鍵に対応付けられた前記鍵識別情報とが記憶されていて、
前記リーダ・ライタ装置は、
前記電子タグのメモリに記憶されている前記電子タグ固有のキーワードおよび前記鍵識別情報を読み出すステップと、
前記データ保持部に記憶している複数の電子鍵の中から、前記読み出した鍵識別情報に対応付けられている電子鍵を特定するステップと、
前記読み出したキーワードと、前記特定した前記電子鍵とを前記所定の不可逆関数で演算して求めたパスワードを生成するステップと、
前記コマンドとともに前記生成したパスワードを前記電子タグに送信するステップとを実行し、
前記電子タグは、
前記リーダ・ライタ装置が送信した前記パスワードおよび前記コマンドを受信するステップと、
前記メモリに記憶しているパスワードと前記受信したパスワードとを比較し、両者が同じ場合に前記受信したコマンドに対応する処理を行うステップと、を実行すること
を特徴とするデータ処理方法。
【請求項1】
データを記憶するメモリを備えた電子タグと、前記電子タグに各種コマンドを送信し、前記メモリへのデータの読み書き処理および電子タグを無効化する処理を行うリーダ・ライタ装置と、を有する電子タグシステムであって、
前記リーダ・ライタ装置は、
電子鍵を記憶しているデータ保持部と、
前記電子鍵と、前記電子タグの固有のキーワードとを所定の不可逆関数で演算してパスワードを生成するパスワード生成部と、
前記リーダ・ライタ装置全体の動作を制御すると共に、前記電子タグに各種コマンドを送信する制御部と、を備え、
前記電子タグの前記メモリには、予め、前記電子タグ固有のキーワードと、前記電子鍵および該固有のキーワードを前記所定の不可逆関数で演算して求めたパスワードとが記憶されていて、
前記リーダ・ライタ装置の制御部は、前記電子タグに各種のコマンドを送信する際、
前記電子タグのメモリに記憶されている前記電子タグ固有のキーワードを読み出し、
前記パスワード生成部に、前記読み出したキーワードと前記データ保持部に記憶している電子鍵とを用いてパスワードを生成させ、
前記コマンドとともに前記生成したパスワードを前記電子タグに送信し、
前記電子タグは、
前記リーダ・ライタ装置が送信した前記パスワードおよび前記コマンドを受信し、前記メモリに記憶しているパスワードと前記受信したパスワードとを比較して、両者が同じ場合に前記受け付けたコマンドに対応する処理を行うこと
を特徴とする電子タグシステム。
【請求項2】
請求項1に記載の電子タグシステムであって、
前記リーダ・ライタ装置のデータ保持部には、前記電子鍵が複数記憶されているとともに、該電子鍵毎に対応付けられた鍵識別情報が記憶されていて、
前記電子タグのメモリには、前記電子タグ固有のキーワード、および前記パスワードに加え、さらに、前記パスワードを求める際に利用した前記電子鍵に対応付けられている前記鍵識別情報が記憶されていて、
前記リーダ・ライタ装置の制御部は、
前記電子タグ固有のキーワードを読み出す際、さらに前記電子タグのメモリから前記鍵識別情報を読み出し、前記データ保持部に記憶している複数の電子鍵の中から、前記読み出した鍵識別情報に対応付けられている電子鍵を特定し、
前記パスワード生成部にパスワードを生成させる際、前記読み出したキーワードと前記特定した電子鍵とを用いてパスワードを生成させること
を特徴とする電子タグシステム。
【請求項3】
請求項2に記載の電子タグシステムであって、
前記電子タグのメモリには、さらに、前記鍵識別情報に対応付けられた電子鍵が記憶されていて、
前記電子タグは、乱数を発生する乱数発生部を備え、
前記リーダ・ライタ装置の制御部は、
前記パスワード生成部に、前記読み出したキーワードと前記記憶している電子鍵とを用いてパスワード(第1パスワード)を生成させると、さらに、前記電子タグに乱数の送信を要求して該電子タグの乱数発生部に乱数を発生させ、前記電子タグから該発生させた乱数を取得し、
前記取得した乱数と、前記特定した電子鍵と、前記生成した第1パスワードとを用いて第2パスワードを生成し、
前記コマンドを送信する際、前記第1パスワードに代えて、前記第2パスワードを該コマンドとともに送信し、
前記電子タグは、
前記リーダ・ライタ装置が送信した前記コマンドおよび第2パスワードを受信すると、前記パスワード演算部が発生させた乱数と、前記メモリに記憶している前記電子鍵と、前記メモリに記憶しているパスワード(第1パスワード)とを用いて第2パスワードを生成し、
前記生成した第2パスワードと前記受信した第2パスワードとを比較し、両者が同じ場合に前記受け付けたコマンドに対応する処理を行うこと
を特徴とする電子タグシステム。
【請求項4】
請求項2に記載の電子タグシステムであって、
前記電子タグのメモリには、さらに、前記鍵バージョンに対応する電子鍵が記憶されていて、
前記リーダ・ライタ装置は、乱数を発生する乱数発生部を有し、
前記リーダ・ライタ装置の制御部は、
前記パスワード生成部に、前記読み出したキーワードと前記記憶している電子鍵とを用いてパスワード(第1パスワード)を生成させると、さらに、前記乱数発生部に乱数の発生を指示し、該乱数発生部が発生した乱数を前記電子タグに送信し、
前記電子タグは、
前記リーダ・ライタ装置からの乱数を受信すると、前記受信した乱数と、前記メモリに記憶している電子鍵と、前記メモリに記憶しているパスワード(第1パスワード)とを用いて第2パスワードを生成し、該生成した第2パスワードを前記リーダ・ライタ装置に送信し、
前記リーダ・ライタ装置は、
前記電子タグからの第2パスワードを受信すると、前記乱数発生部が発生させた乱数と、前記特定した電子鍵と、前記生成した第1パスワードとを用いて第2パスワードを生成し、該生成した第2パスワードと前記受信した第2パスワードとを比較して、両者が同じ場合に前記電子タグを正当なものと判別し、
前記正当なものと判別した場合に、電子タグに前記コマンドを送信すること
を特徴とする電子タグシステム。
【請求項5】
請求項1〜4のいずれか一項に記載の電子タグシステムであって、
前記電子タグのメモリに書き込まれる前記電子タグ固有のキーワードは、一度書き込んだら二度と書き換えできないものとし、
前記電子タグのメモリには、さらに、前記キーワードと前記電子鍵で暗号化した情報が記憶されていること
を特徴とする電子タグシステム。
【請求項6】
データを記憶するメモリを備えた電子タグと、前記電子タグに各種コマンドを送信し、前記メモリへのデータの読み書き処理および電子タグを無効化する処理を行うリーダ・ライタ装置と、を有する電子タグシステムが行うデータ処理方法であって、
前記リーダ・ライタ装置は、電子鍵を記憶しているデータ保持部を備え、
前記電子タグの前記メモリには、予め、前記電子タグ固有のキーワードと、前記電子鍵および該固有のキーワードを所定の不可逆関数で演算して求めたパスワードとが記憶されていて、
前記リーダ・ライタ装置は、
前記電子タグのメモリに書き込まれている前記電子タグ固有のキーワードを読み出すステップと、
前記読み出したキーワードと、前記記憶している前記電子鍵とを前記所定の不可逆関数で演算して求めたパスワードを生成するステップと、
前記コマンドとともに前記生成したパスワードを前記電子タグに送信するステップとを実行し、
前記電子タグは、
前記リーダ・ライタ装置が送信した前記パスワードおよび前記コマンドを受信するステップと、
前記メモリに記憶しているパスワードと前記受信したパスワードとを比較し、両者が同じ場合に前記受信したコマンドに対応する処理を行うステップと、を実行すること
を特徴とするデータ処理方法。
【請求項7】
データを記憶するメモリを備えた電子タグと、前記電子タグに各種コマンドを送信し、前記メモリへのデータの読み書き処理および電子タグを無効化する処理を行うリーダ・ライタ装置と、を有する電子タグシステムが行うデータ処理方法であって、
前記リーダ・ライタ装置は、複数の電子鍵と、該電子鍵毎に対応付けられた鍵識別情報が記憶されているデータ保持部を備え、
前記電子タグの前記メモリには、予め、前記電子タグ固有のキーワードと、前記電子鍵および該固有のキーワードを所定の不可逆関数で演算して求めたパスワードと、前記パスワードを求める際に利用した前記電子鍵に対応付けられた前記鍵識別情報とが記憶されていて、
前記リーダ・ライタ装置は、
前記電子タグのメモリに記憶されている前記電子タグ固有のキーワードおよび前記鍵識別情報を読み出すステップと、
前記データ保持部に記憶している複数の電子鍵の中から、前記読み出した鍵識別情報に対応付けられている電子鍵を特定するステップと、
前記読み出したキーワードと、前記特定した前記電子鍵とを前記所定の不可逆関数で演算して求めたパスワードを生成するステップと、
前記コマンドとともに前記生成したパスワードを前記電子タグに送信するステップとを実行し、
前記電子タグは、
前記リーダ・ライタ装置が送信した前記パスワードおよび前記コマンドを受信するステップと、
前記メモリに記憶しているパスワードと前記受信したパスワードとを比較し、両者が同じ場合に前記受信したコマンドに対応する処理を行うステップと、を実行すること
を特徴とするデータ処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−293443(P2007−293443A)
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願番号】特願2006−118271(P2006−118271)
【出願日】平成18年4月21日(2006.4.21)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成17年度経済産業省「平成17年度エネルギー使用合理化電子タグシステム開発調査事業(UHF帯電子タグの製造技術及び実装技術の開発)」委託研究、産業活力再生特別措置法第30条の適用を受けるもの)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願日】平成18年4月21日(2006.4.21)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成17年度経済産業省「平成17年度エネルギー使用合理化電子タグシステム開発調査事業(UHF帯電子タグの製造技術及び実装技術の開発)」委託研究、産業活力再生特別措置法第30条の適用を受けるもの)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]