(57)【要約】【課題】正当なユーザ間に限定して、ＩＣタグへのアクセス方法の伝達およびＩＣタグのデータ正当性の確保を実施することができるＩＣタグシステムを提供する。【解決手段】ＩＣタグシステムにおいて、パスワード暗号化部１３０と、署名生成部１４０と、ＩＣタグ３０と通信してＩＣタグ３０へのデータおよび暗号化されたパスワードの書込み、およびパスワードによりＩＣタグ３０に書込まれたデータへのアクセス制限を設定するデータ書込み部１５０とを有するデータ書込み装置と、パスワード復号化部２３０と、署名検証部２４０と、ＩＣタグ３０と通信してＩＣタグ３０からのデータおよび暗号化されたパスワードの読込み、および復号化されたパスワードによりデータへのアクセス制限を解除するデータ読込み部２５０とを有するデータ読込み装置とを備えた。【選択図】図１
2008205565.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣタグ、前記ＩＣタグへデータを書込むデータ書込み装置、および前記ＩＣタグから前記データを読込むデータ読込み装置を備えたＩＣタグシステムであって、
前記データ書込み装置は、前記ＩＣタグへアクセスするためのパスワードを暗号化するパスワード暗号化部と、前記ＩＣタグと通信して前記ＩＣタグへの前記データおよび前記暗号化されたパスワードの書込み、および前記パスワードにより前記ＩＣタグに書込まれた前記データへのアクセス制限を設定するデータ書込み部とを有し、
前記データ読込み装置は、前記ＩＣタグに書込まれた前記暗号化されたパスワードを復号化するパスワード復号化部と、前記ＩＣタグと通信して前記ＩＣタグからの前記データおよび前記暗号化されたパスワードの読込み、および前記復号化されたパスワードにより前記データへのアクセス制限を解除するデータ読込み部とを有し、
前記ＩＣタグは、前記データ書込み装置または前記データ読込み装置から送られてくるアクセス要求を前記パスワードに基づいて制限するパスワード認証部と、前記暗号化されたパスワードを格納する１次データ格納部と、前記データを格納する２次データ格納部とを有することを特徴とするＩＣタグシステム。
【請求項２】
請求項１記載のＩＣタグシステムにおいて、
前記データ書込み装置は、前記ＩＣタグに書込むデータの署名を生成する署名生成部を有し、
前記データ読込み装置は、前記ＩＣタグに書込まれた前記データの前記署名を検証する署名検証部を有することを特徴とするＩＣタグシステム。
【請求項３】
請求項２記載のＩＣタグシステムにおいて、
前記データ書込み装置および前記データ読込み装置は、それぞれ事前に前記データ書込み装置および前記データ読込み装置の正当なユーザ間で共有された共通鍵を保有し、
前記データ書込み装置のパスワード暗号化部は、前記パスワードを、前記共通鍵で暗号化し、
前記データ書込み装置の署名生成部は、前記ＩＣタグに書込むデータの署名を、前記共通鍵で生成し、
前記データ読込み装置のパスワード復号化部は、前記暗号化されたパスワードを、前記共通鍵で復号化し、
前記データ読込み装置の署名検証部は、前記ＩＣタグに書込まれた前記データの前記署名を、前記共通鍵で検証することを特徴とするＩＣタグシステム。
【請求項４】
請求項２記載のＩＣタグシステムにおいて、
前記データ書込み装置および前記データ読込み装置は、それぞれ事前に前記データ書込み装置および前記データ読込み装置の正当なユーザ間で、交換された公開鍵を保有し、
前記データ書込み装置のパスワード暗号化部は、前記パスワードを、前記データ読込み装置のユーザの前記公開鍵で暗号化し、
前記データ書込み装置の署名生成部は、前記ＩＣタグに書込むデータの署名を、前記データ書込み装置のユーザの前記公開鍵に対応した秘密鍵で生成し、
前記データ読込み装置のパスワード復号化部は、前記暗号化されたパスワードを、前記データ読込み装置のユーザの前記公開鍵に対応した秘密鍵で復号化し、
前記データ読込み装置の署名検証部は、前記ＩＣタグに書込まれた前記データの前記署名を、前記データ書込み装置のユーザの前記公開鍵で検証することを特徴とするＩＣタグシステム。
【請求項５】
請求項２〜４のいずれか１項記載のＩＣタグシステムにおいて、
前記データ書込み装置は、前記パスワード暗号化部での前記パスワードの暗号化方法の情報および前記署名生成部での前記署名の生成方法の情報を２つ以上保有し、前記パスワードの暗号化方法の情報および前記署名の生成方法の情報を鍵ＩＤを用いて指定し、
前記データ読込み装置は、前記パスワード復号化部での前記パスワードの復号化方法の情報および前記署名検証部での前記署名の検証方法の情報を２つ以上保有し、前記鍵ＩＤに基づいて、前記パスワードの復号化方法の情報および前記署名の検証方法の情報を特定することを特徴とするＩＣタグシステム。
【請求項６】
請求項２〜５のいずれか１項記載のＩＣタグシステムにおいて、
前記データ書込み装置の前記パスワード暗号化部および前記署名生成部、前記データ読込み装置の前記パスワード復号化部および署名検証部は、それぞれ、耐タンパ性のある耐タンパ機器に実装されることを特徴とするＩＣタグシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣタグと、そのＩＣタグに対してデータを読み書きする装置とを有するＩＣタグシステムに関し、特に、ＩＣタグに格納するデータの安全性を確保する技術に関する。
【背景技術】
【０００２】
近年、商品情報等を格納したメモリを備えたＩＣタグを商品に貼り付け、データ読込み装置を用いてＩＣタグから情報を読み出し、商品管理や商品の所在確認を行うＩＣタグシステムの導入が進んでいる。
【０００３】
例えば、ＩＣタグのメモリに、企業機密情報や消費者プライバシー情報を格納した場合、第三者がデータ読込み装置でこれらの情報を不正に読込んで漏洩したり、データ書込み装置でこれらの情報を不正に改ざんしたりするなどの危険性がある。
【０００４】
このような問題に対し、リーダライタが正当かどうかをＩＣタグが判断するパスワード認証機能が、特許文献１，２に開示されている。
【特許文献１】特開平９−１６０４９１号公報
【特許文献２】特開２００２−２６９５２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、パスワード認証機能として、ＩＣタグに設定するパスワードを業界で共通とした場合、パスワード漏洩時の影響がすべてのＩＣタグに及ぶという課題がある。
【０００６】
また、ＩＣタグごとに異なるパスワードを設定する場合、正当なリーダライタはＩＣタグとパスワードの対応関係を知らなければならい。この対応関係を複数の正当なリーダライタ間で共有し同期をとることは、ＩＣタグの数が多ければ多いほど困難になる。
【０００７】
そこで、本発明の目的は、正当なユーザ間に限定して、ＩＣタグへのアクセス方法の伝達およびＩＣタグのデータ正当性の確保を実施することができるＩＣタグシステムを提供することにある。
【０００８】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１０】
本発明によるＩＣタグシステムは、ＩＣタグ、ＩＣタグへデータを書込むデータ書込み装置、およびＩＣタグからデータを読込むデータ読込み装置を備えたＩＣタグシステムであって、データ書込み装置は、ＩＣタグへアクセスするためのパスワードを暗号化するパスワード暗号化部と、ＩＣタグに書込むデータの署名を生成する署名生成部と、ＩＣタグと通信してＩＣタグへのデータおよび暗号化されたパスワードの書込み、およびパスワードによりＩＣタグに書込まれたデータへのアクセス制限を設定するデータ書込み部とを有し、データ読込み装置は、ＩＣタグに書込まれた暗号化されたパスワードを復号化するパスワード復号化部と、ＩＣタグに書込まれたデータの署名を検証する署名検証部と、ＩＣタグと通信してＩＣタグからのデータおよび暗号化されたパスワードの読込み、および復号化されたパスワードによりデータへのアクセス制限を解除するデータ読込み部とを有し、ＩＣタグは、データ書込み装置またはデータ読込み装置から送られてくるアクセス要求をパスワードに基づいて制限するパスワード認証部と、暗号化されたパスワードを格納する１次データ格納部と、データを格納する２次データ格納部とを有するものである。
【発明の効果】
【００１１】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１２】
本発明によれば、ＩＣタグごとに異なるパスワードを設定する場合でも、正当なリーダライタ間で、ＩＣタグへのアクセス方法を解釈する鍵の情報を共有することで、ＩＣタグとパスワードの対応関係を管理することなくＩＣタグにアクセスすることができる。
【００１３】
また、本発明によれば、ＩＣタグに署名を付与することで、ＩＣタグのデータの正当性を保つことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１５】
（実施の形態１）
実施の形態１は、ＩＣタグシステムにおいて、ＩＣタグへのアクセス方法の伝達およびＩＣタグのデータ正当性の確保を、共通鍵暗号方式を用いて実施したものである。
【００１６】
図１により、本発明の実施の形態１に係るＩＣタグシステムの構成について説明する。図１は本発明の実施の形態１に係るＩＣタグシステムの構成を示す機能ブロック図である。
【００１７】
図１において、ＩＣタグシステムは、データを格納して無線で通信するＩＣタグ３０と、無線でＩＣタグ３０と通信してＩＣタグ３０にデータを書込むデータ書込み装置１０と、無線でＩＣタグ３０と通信してＩＣタグ３０からデータを読込むデータ読込み装置２０とを有する。ＩＣタグ３０には、例えば、ＲＦ−ＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ−Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）タグを用いることができる。
【００１８】
また、データ書込み装置１０およびデータ読込み装置２０は、ＲＦ−ＩＤタグなどのＩＣタグ３０に対してデータの書込み処理および読込み処理などを行う専用の装置であってもよいし、パーソナルコンピュータや携帯電話、キオスク端末機器、自動販売機などと共に形成されていてもよい。また、データ書込み装置１０およびデータ読込み装置２０は、両者の機能を合わせて搭載して、ひとつの機器として形成されていてもよい。
【００１９】
そして、ＩＣタグ３０は、書籍や衣服や電化製品というような商品などに直接貼付するか、或いは、商品を梱包する包みや箱などに貼付される。また、ＩＣタグ３０は、個人が携帯するカードなどに貼付してもよい。なお、ＩＣタグ３０、データ書込み装置１０およびデータ読込み装置２０は、それぞれ複数存在してもよい。
【００２０】
データ書込み装置１０は、正当なユーザが正しい環境でデータ書込み装置１０を利用するかをＰＩＮや機器ＩＤなどで認証するユーザ認証部１１０、パスワード暗号化方法や署名生成方法を鍵ＩＤなどで指定する演算方式管理部１２０、演算方式管理部１２０に従ってパスワードを暗号化するパスワード暗号化部１３０、演算方式管理部１２０に従ってＩＣタグ３０に書込むデータの署名を生成する署名生成部１４０、ＩＣタグ３０と通信してＩＣタグ３０にデータを書込んだりロックをかけたりするデータ書込み部１５０を有する。これらの機能ブロックは、電子鍵を扱うため、ＩＣカードなどの耐タンパ性のある耐タンパ機器１００に内蔵することが望まれる。
【００２１】
データ読込み装置２０は、正当なユーザが正しい環境でデータ読込み装置１０を利用するかをＰＩＮや機器ＩＤなどで認証するユーザ認証部２１０、パスワード暗号化方法や署名生成方法を鍵ＩＤなどで指定する演算方式管理部２２０、演算方式管理部２２０に従ってパスワードを復号化するパスワード復号化部２３０、演算方式管理部２２０に従ってＩＣタグ３０に書込まれたデータの署名を検証する署名検証部２４０、ＩＣタグ３０と通信してＩＣタグ３０のデータを読込んだりロックを解除したりするデータ読込み部２５０を有する。これらの機能ブロックは、電子鍵を扱うため、ＩＣカードなどの耐タンパ性のある耐タンパ機器２００に内蔵することが望まれる。
【００２２】
ＩＣタグ３０は、ユーザを認証するためにデータ書込み装置１０またはデータ読込み装置２０から送られてくるパスワードをチェックするパスワード認証部３１０、パスワードを暗号化した暗号パスワード３２１０や鍵ＩＤなどの演算方式３２２０などの情報を格納する１次データ格納部３２０、ＩＣタグ３０にデータ３３１０を書込んだユーザのユーザＩＤ３３２０や書込むデータ３３１０の署名３３３０などの情報を格納する２次データ格納部３３０を有する。
【００２３】
次に、図２により、本発明の実施の形態１に係るＩＣタグシステムの動作について説明する。図２は本発明の実施の形態１に係るＩＣタグシステムの動作を示すフローチャートであり、データ書込み装置１０とデータ読込み装置２０とＩＣタグ３０との間で、共通鍵暗号方式を用いて、ＩＣタグ３０へのアクセス方法の伝達およびＩＣタグ３０のデータ正当性の確保を実施する処理を示している。
【００２４】
なお、データ書込み装置１０を構成する耐タンパ機器１００には、耐タンパ機器１００を識別するユニークなＩＤ、データ書込み装置１０を利用するユーザのＩＤおよびパスワード、耐タンパ機器１００やＩＣタグ３０と通信するデータ書込み装置１０のＩＤが、あらかじめ保持されている。
【００２５】
同様に、データ読込み装置２０を構成する耐タンパ機器２００には、耐タンパ機器２００を識別するユニークなＩＤ、データ読込み装置２０を利用するユーザのＩＤおよびパスワード、耐タンパ機器２００やＩＣタグ３０と通信するデータ読込み装置２０のＩＤが、あらかじめ保持されている。
【００２６】
また、データ書込み装置１０を構成する耐タンパ機器１００と、データ読込み装置２０を構成する耐タンパ機器２００とには、両者で共有する共通鍵と、演算方式として共通鍵に関連する鍵ＩＤとのセットが、２組以上保持されている。これらの情報を共有するとき、第三者で信頼のある認証局が発行する署名を添付して共有してもよい。
【００２７】
また、データ書込み装置１０を構成する耐タンパ機器１００と、データ読込み装置２０を構成する耐タンパ機器２００とには、例えば、データを書込んだり読込んだりするＩＣタグ３０のメモリ開始位置やサイズを、データ書込み装置１０およびデータ読込み装置２０を利用するユーザごとに、制限する設定が保持されていてもよい。
【００２８】
本実施の形態では、データ書込み装置１０およびデータ読込み装置２０を利用するユーザは、ＩＣタグ３０の１次データ格納部３２０についてはすべて、ＩＣタグ３０の２次データ格納部３３０についてはメモリ開始位置３３ｂｉｔ目から２５６ｂｉｔの範囲にのみ、データを書込んだり読込んだりする設定が保存されているものとする。
【００２９】
以上の情報は、データ書込み装置１０を構成する耐タンパ機器１００や、データ読込み装置２０を構成する耐タンパ機器２００ではなく、データ書込み装置１０およびデータ読込み装置２０を監視するセンターサーバなどに保持されていてもよい。
【００３０】
最初に、データ書込み装置１０を利用するユーザは、データ書込み装置１０に、ユーザＩＤとパスワードを入力する。そのとき、データ書込み装置１０のユーザ認証部１１０は、耐タンパ機器１００やＩＣタグ３０と通信するデータ書込み装置１０に設定されているＩＤを読取り、あらかじめ保持している情報と比較し、すべて同じ値であることを確認する（Ｓ１１０１）。
【００３１】
すべて同じ値であれば、継続して次のステップに進む。ひとつでも異なる値があれば、処理はここで終了する。さらに、耐タンパ機器１００のユニークなＩＤをセンターサーバに送り、センターサーバは、ＩＣカードを認証してもよい。
【００３２】
次に、データ書込み装置１０の演算方式管理部１２０は、複数ある共通鍵の中から、ひとつだけ選択し、記憶する。同時に、選択した共通鍵と組になっている鍵ＩＤも記憶する（Ｓ１１０２）。
【００３３】
次に、データ書込み装置１０のパスワード暗号化部１３０は、Ｓ１１０２で記憶した共通鍵を用いて、ＩＣタグ３０のパスワードを暗号化して、暗号パスワードを生成する（Ｓ１１０３）。または、データ書込み装置１０のパスワード暗号化部１３０は、Ｓ１１０２で記憶した共通鍵を用いて、ＩＣタグ３０のユニークＩＤを暗号化して、パスワードを生成してもよい。
【００３４】
次に、データ書込み装置１０の署名生成部１４０は、ＩＣタグ３０に書込むデータとユーザＩＤを合わせて、ハッシュ関数を用いてハッシュ値を計算し、ＩＣタグ３０に書込むデータとユーザＩＤのダイジェストを生成する（Ｓ１１０４）。
【００３５】
次に、データ書込み装置１０の署名生成部１４０は、共通鍵を用いて、ダイジェストを暗号化して、署名を生成する（Ｓ１１０５）。
【００３６】
次に、データ書込み装置１０のデータ書込み部１５０は、ＩＣタグ３０に書込むデータ３３１０とユーザＩＤ３３２０と署名３３３０とを、ＩＣタグ３０の２次データ格納部３３０に書込む（Ｓ１１０６）。このとき、データを書込むＩＣタグ３０のメモリ開始位置やサイズを制限する設定に従い、３３ｂｉｔ目から２５６ｂｉｔの範囲に、データを書込む。
【００３７】
次に、データ書込み装置１０のデータ書込み部１５０は、ＩＣタグ３０に、パスワードを設定し、２次データ格納部３３０にロックをかける（Ｓ１１０７）。このロックは、データの書込みを禁止するだけのロック、またはデータの読込みを禁止するだけのロック、または書込みと読込みを禁止するロックの何れでもよい。
【００３８】
次に、データ書込み装置１０のデータ書込み部１５０は、暗号パスワード３２１０と鍵ＩＤを演算方式３２２０として、ＩＣタグ３０の１次データ格納部３２０に書込む（Ｓ１１０８）。以上で、データ書込み装置１０の処理は、終了する。
【００３９】
以上の処理を施されたＩＣタグ３０は、データ書込み装置１０から、データ読込み装置２０に、送られる（Ｓ１１５０）。
【００４０】
次に、データ読込み装置２０を利用するユーザは、データ読込み装置２０に、ユーザＩＤとパスワードを入力する。そのとき、データ読込み装置２０のユーザ認証部２１０は、耐タンパ機器２００やＩＣタグ３０と通信するデータ読込み装置２０に設定されているＩＤを読取り、あらかじめ保持している情報と比較し、すべて同じ値であることを確認する（Ｓ１２０１）。すべて同じ値であれば、継続して次のステップに進む。ひとつでも異なる値があれば、処理はここで終了する。さらに、耐タンパ機器２００のユニークなＩＤをセンターサーバに送り、センターサーバは、ＩＣカードを認証してもよい。
【００４１】
次に、データ読込み装置２０のデータ読込み部２５０は、暗号パスワード３２１０と演算方式３２２０である鍵ＩＤを、ＩＣタグ３０の１次データ格納部３２０から読込む（Ｓ１２０２）。
【００４２】
次に、データ読込み装置２０の演算方式管理部２２０は、複数ある共通鍵の中から、鍵ＩＤと組になっている共通鍵を抽出し、記憶する（Ｓ１２０３）。
【００４３】
次に、データ読込み装置２０のパスワード復号化部２３０は、Ｓ１２０３で抽出した共通鍵を用いて、暗号パスワードを復号化して、ＩＣタグ３０のパスワードを取得する（Ｓ１２０４）。または、データ書込み装置１０のパスワード暗号化部１３０が、ステップＳ１１０３で、ＩＣタグ３０のユニークＩＤを暗号化して、パスワードを生成した場合、データ読込み装置２０のパスワード復号化部２３０は、Ｓ１２０３で抽出した共通鍵を用いて、ＩＣタグ３０のユニークＩＤを復号化して、パスワードを取得してもよい。
【００４４】
次に、データ読込み装置２０のデータ読込み部２５０は、Ｓ１２０４で取得したパスワードにより、ＩＣタグ３０の２次データ格納部３３０にかかっているロックを解除する（Ｓ１２０５）。
【００４５】
次に、データ読込み装置２０のデータ読込み部２５０は、ＩＣタグ３０に書込まれたデータ３３１０とユーザＩＤ３３２０と署名３３３０を、ＩＣタグ３０の２次データ格納部３３０から読込む（Ｓ１２０６）。このとき、データを読込むＩＣタグ３０のメモリ開始位置やサイズを制限する設定に従い、３３ｂｉｔ目から２５６ｂｉｔの範囲のデータを読込む。
【００４６】
次に、データ読込み装置２０の署名検証部２４０は、ＩＣタグ３０から読込んだ前記データとユーザＩＤを合わせて、ハッシュ関数を用いてハッシュ値を計算し、ＩＣタグ３０から読込んだデータとユーザＩＤのダイジェストを生成する（Ｓ１２０７）。
【００４７】
次に、データ読込み装置２０の署名検証部２４０は、共通鍵を用いて、ＩＣタグ３０から読込んだ署名を復号化して、ダイジェスト’を取得する（Ｓ１２０８）。
【００４８】
最後に、データ読込み装置２０の署名検証部２４０は、Ｓ１２０７で生成したダイジェストと、Ｓ１２０８で取得したダイジェスト’とを比較し、ＩＣタグ３０に書込まれたデータに、改ざんがないか検証する（Ｓ１２０９）。
【００４９】
このように、あらかじめ正当なユーザ間で共通鍵を共有することで、正当なユーザのみがデータ書込み装置１０を用いて、ＩＣタグ３０にデータを格納し、読み書き禁止状態にし、正当なユーザのみがデータ読込み装置２０を用いて、ＩＣタグ３０の読み書き禁止状態を解除し、データを読込み、データの正当性を確認することができる。
【００５０】
また、ユーザ認証部１１０，２１０で、ＩＣタグ３０の中で読込める領域と書込める領域を、独立にあらかじめ正当なユーザごとに制限をかけることで、複数の正当なユーザ間でメモリ領域を分割し、分割したメモリ領域を個別に管理することができる。これにより、ＩＣタグに格納された商品製造年月日や保証期限、販売済み情報などの改ざんや誤書込みを防止することができる。同時に、ＩＣタグのデータの不正読込みによる消費者プライバシー侵害を防止することができる。
【００５１】
（実施の形態２）
実施の形態２は、実施の形態１において、ＩＣタグへのアクセス方法の伝達およびＩＣタグのデータ正当性の確保を、公開鍵暗号方式を用いて実施したものであり、本実施の形態のＩＣタグシステムの構成は、実施の形態１と同様である。
【００５２】
次に、図３により、本発明の実施の形態２に係るＩＣタグシステムの動作について説明する。図３は本発明の実施の形態２に係るＩＣタグシステムの動作を示すフローチャートであり、データ書込み装置１０とデータ読込み装置２０とＩＣタグ３０との間で、公開鍵暗号方式を用いて、ＩＣタグへのアクセス方法の伝達およびＩＣタグのデータ正当性の確保を実施する処理を示している。
【００５３】
なお、データ書込み装置１０を構成する耐タンパ機器１００には、耐タンパ機器１００を識別するユニークなＩＤ、データ書込み装置１０を利用するユーザのＩＤおよびパスワード、耐タンパ機器１００やＩＣタグ３０と通信するデータ書込み装置１０のＩＤとが、あらかじめ保持されている。
【００５４】
また、データ書込み装置１０を構成する耐タンパ機器１００には、データ書込み装置１０を利用するユーザの秘密鍵と、公開鍵と、演算方式として秘密鍵および公開鍵に関連する書込みユーザ鍵ＩＤとのセットが、２組以上保持されている。公開鍵は、第三者で信頼のある認証局が発行する署名を添付して公開してもよい。
【００５５】
また、データ書込み装置１０を構成する耐タンパ機器１００には、データ読込み装置２０を利用するユーザが発行する公開鍵と、演算方式として公開鍵に関連する読込みユーザ鍵ＩＤとのセットが、２組以上保持されている。
【００５６】
同様に、データ読込み装置２０を構成する耐タンパ機器２００には、耐タンパ機器２００を識別するユニークなＩＤ、データ読込み装置２０を利用するユーザのＩＤおよびパスワード、耐タンパ機器２００やＩＣタグ３０と通信するデータ読込み装置２０のＩＤとが、あらかじめ保持されている。
【００５７】
また、データ読込み装置２０を構成する耐タンパ機器２００には、データ読込み装置２０を利用するユーザの秘密鍵と、公開鍵と、演算方式として秘密鍵および公開鍵に関連する読込みユーザ鍵ＩＤとのセットが、２組以上保持されている。公開鍵は、第三者で信頼のある認証局が発行する署名を添付して公開してもよい。
【００５８】
また、データ読込み装置２０を構成する耐タンパ機器２００には、データ書込み装置１０を利用するユーザが発行する公開鍵と、演算方式として公開鍵に関連する書込みユーザ鍵ＩＤとのセットが、２組以上保持されている。
【００５９】
また、データ書込み装置１０を構成する耐タンパ機器１００と、データ読込み装置２０を構成する耐タンパ機器２００とには、例えば、データを書込んだり読込んだりするＩＣタグ３０のメモリ開始位置やサイズを、データ書込み装置１０およびデータ読込み装置２０を利用するユーザごとに、制限する設定が保持されていてもよい。
【００６０】
本実施の形態では、データ書込み装置１０およびデータ読込み装置２０を利用するユーザは、ＩＣタグ３０の１次データ格納部３２０についてはすべて、ＩＣタグ３０の２次データ格納部３３０についてはメモリ開始位置３３ｂｉｔ目から２５６ｂｉｔの範囲にのみ、データを書込んだり読込んだりする設定が保存されているものとする。
【００６１】
以上の情報は、データ書込み装置１０を構成する耐タンパ機器１００や、データ読込み装置２０を構成する耐タンパ機器２００ではなく、データ書込み装置１０およびデータ読込み装置２０を監視するセンターサーバに保持されていてもよい。
【００６２】
最初に、データ書込み装置１０を利用するユーザは、データ書込み装置１０に、ユーザＩＤとパスワードを入力する。そのとき、データ書込み装置１０のユーザ認証部１１０は、耐タンパ機器１００やＩＣタグ３０と通信するデータ書込み装置１０に設定されているＩＤを読取り、あらかじめ保持している情報と比較し、すべて同じ値であることを確認する（Ｓ２１０１）。すべて同じ値であれば、継続して次のステップに進む。ひとつでも異なる値があれば、処理はここで終了する。さらに、耐タンパ機器１００のユニークなＩＤをセンターサーバに送り、センターサーバは、ＩＣカードを認証してもよい。
【００６３】
次に、データ書込み装置１０の演算方式管理部１２０は、データ読込み装置２０を利用するユーザが発行する複数の公開鍵の中から、ひとつだけ選択し、記憶する。同時に、選択した公開鍵と組になっている読込みユーザ鍵ＩＤも記憶する（Ｓ２１０２）。
【００６４】
次に、データ書込み装置１０のパスワード暗号化部１３０は、Ｓ２１０２で記憶した公開鍵を用いて、ＩＣタグ３０のパスワードを暗号化して、暗号パスワードを生成する（Ｓ２１０３）。
【００６５】
次に、データ書込み装置１０の署名生成部１４０は、ＩＣタグ３０に書込むデータとユーザＩＤを合わせて、ハッシュ関数を用いてハッシュ値を計算し、ＩＣタグ３０に書込むデータとユーザＩＤのダイジェストを生成する（Ｓ２１０４）。
【００６６】
次に、データ書込み装置１０の署名生成部１４０は、データ書込み装置１０を利用するユーザの秘密鍵の中から、ひとつだけ選択し、記憶する。同時に、選択した秘密鍵と組になっている書込みユーザ鍵ＩＤも記憶する（Ｓ２１０５）。
【００６７】
次に、データ書込み装置１０の署名生成部１４０は、秘密鍵を用いて、ダイジェストを暗号化して、署名を生成する（Ｓ２１０６）。
【００６８】
次に、データ書込み装置１０のデータ書込み部１５０は、ＩＣタグ３０に書込むデータ３３１０とユーザＩＤ３３２０と署名３３３０を、ＩＣタグ３０の２次データ格納部３３０に書込む（Ｓ２１０７）。このとき、データを書込むＩＣタグ３０のメモリ開始位置やサイズを制限する設定に従い、３３ｂｉｔ目から２５６ｂｉｔの範囲に、データを書込む。
【００６９】
次に、データ書込み装置１０のデータ書込み部１５０は、ＩＣタグ３０に、パスワードを設定し、２次データ格納部３３０にロックをかける（Ｓ２１０８）。このロックは、データの書込みを禁止するだけのロック、またはデータの読込みを禁止するだけのロック、または書込みと読込みを禁止するロックの何れでもよい。
【００７０】
次に、データ書込み装置１０のデータ書込み部１５０は、暗号パスワード３２１０と、データ書込み装置１０を利用するユーザの秘密鍵に関連する書込みユーザ鍵ＩＤおよび、データ読込み装置２０を利用するユーザが発行する公開鍵に関連する読込みユーザ鍵ＩＤを演算方式３２２０として、ＩＣタグ３０の１次データ格納部３２０に書込む（Ｓ２１０９）。以上で、データ書込み装置１０の処理は、終了する。
【００７１】
以上の処理を施された前記ＩＣタグ３０は、データ書込み装置１０から、データ読込み装置２０に、送られる（Ｓ２１５０）。
【００７２】
次に、データ読込み装置２０を利用するユーザは、データ読込み装置２０に、ユーザＩＤとパスワードを入力する。そのとき、データ読込み装置２０のユーザ認証部２１０は、耐タンパ機器２００やＩＣタグ３０と通信するデータ読込み装置２０に設定されているＩＤを読取り、あらかじめ保持している情報と比較し、すべて同じ値であることを確認する（Ｓ２２０１）。すべて同じ値であれば、継続して次のステップに進む。ひとつでも異なる値があれば、処理はここで終了する。さらに、耐タンパ機器２００のユニークなＩＤをセンターサーバに送り、センターサーバは、ＩＣカードを認証してもよい。
【００７３】
次に、データ読込み装置２０のデータ読込み部２５０は、暗号パスワード３２１０と演算方式３２２０としてデータ読込み装置２０を利用するユーザの秘密鍵に関連する読込みユーザ鍵ＩＤおよび、データ書込み装置１０を利用するユーザが発行する公開鍵に関連する書込みユーザ鍵ＩＤを、ＩＣタグ３０の１次データ格納部３２０から読込む（Ｓ２２０２）。
【００７４】
次に、データ読込み装置２０の演算方式管理部２２０は、データ読込み装置２０を利用するユーザの秘密鍵の中から、読込みユーザ鍵ＩＤと組になっている秘密鍵を抽出し、記憶する（Ｓ２２０３）。
【００７５】
次に、データ読込み装置２０のパスワード復号化部２３０は、Ｓ２２０３で抽出した秘密鍵を用いて、暗号パスワードを復号化して、ＩＣタグ３０のパスワードを取得する（Ｓ２２０４）。
【００７６】
次に、データ読込み装置２０のデータ読込み部２５０は、ＩＣタグ３０の２次データ格納部３３０にかかっているロックを解除する（Ｓ２２０５）。
【００７７】
次に、データ読込み装置２０のデータ読込み部２５０は、ＩＣタグ３０に書込まれたデータ３３１０とユーザＩＤ３３２０と署名３３３０を、ＩＣタグ３０の２次データ格納部３３０から読込む（Ｓ２２０６）。このとき、データを読込むＩＣタグ３０のメモリ開始位置やサイズを制限する設定に従い、３３ｂｉｔ目から２５６ｂｉｔの範囲のデータを読込む。
【００７８】
次に、データ読込み装置２０の署名検証部２４０は、ＩＣタグ３０から読込んだデータとユーザＩＤを合わせて、ハッシュ関数を用いてハッシュ値を計算し、ＩＣタグ３０から読込んだデータとユーザＩＤのダイジェストを生成する（Ｓ２２０７）。
【００７９】
次に、データ読込み装置２０の署名検証部２４０は、データ書込み装置２０を利用するユーザの公開鍵の中から、書込みユーザ鍵ＩＤと組になっている公開鍵を抽出し、記憶する（Ｓ２２０８）。
【００８０】
次に、データ読込み装置２０の署名検証部２４０は、公開鍵を用いて、ＩＣタグ３０から読込んだ署名を復号化して、ダイジェスト’を取得する（Ｓ２２０９）。
【００８１】
最後に、データ読込み装置２０の署名検証部２４０は、Ｓ２２０７で生成したダイジェストと、Ｓ２２０９で取得したダイジェスト’とを比較し、ＩＣタグ３０に書込まれたデータに、改ざんがないか検証する（Ｓ２２１０）。
【００８２】
このように、あらかじめ正当なユーザ間で公開鍵を交換することで、正当なユーザのみがデータ書込み装置を用いて、ＩＣタグ３０にデータを格納し、読み書き禁止状態にし、正当なユーザのみがデータ読込み装置を用いて、ＩＣタグ３０の読み書き禁止状態を解除し、データを読込み、データの正当性を確認することができる。
【００８３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８４】
本発明は、ＩＣタグと、そのＩＣタグに対してデータを読み書きする装置とを有するＩＣタグシステムに関し、ＩＣタグに格納するデータの安全性を確保する必要のあるシステムに広く適用可能である。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施の形態１に係るＩＣタグシステムの構成を示す機能ブロック図である。
【図２】本発明の実施の形態１に係るＩＣタグシステムの動作を示すフローチャートである。
【図３】本発明の実施の形態２に係るＩＣタグシステムの動作を示すフローチャートである。
【符号の説明】
【００８６】
１０…データ書込み装置、２０…データ読込み装置、３０…ＩＣタグ、１００…耐タンパ機器、１１０…ユーザ認証部、１２０…演算方式管理部、１３０…パスワード暗号化部、１４０…署名生成部、１５０…データ書込み部、２００…耐タンパ機器、２１０…ユーザ認証部、２２０…演算方式管理部、２３０…パスワード復号化部、２４０…署名検証部、２５０…データ読込み部、３１０…パスワード認証部、３２０…１次データ格納部、３３０…２次データ格納部、３２１０…暗号パスワード、３２２０…演算方式、３３１０…データ、３３２０…ユーザＩＤ、３３３０…署名。
【図１】
2008205565.tif 000003
【図２】
2008205565.tif 000004
【図３】
2008205565.tif 000005