(57)【要約】【課題】国際標準に準拠したＩＣタグには，ＩＤの読み取り制限がないため，正当なタグのＩＤを読み出して不正なＩＣタグを作成されてしまうおそれがあった。【解決手段】ＩＣタグのＩＤを読み取る端末にＩＣカードを接続し，ＩＣカードにおいて，ＩＣタグにアクセスする認証情報を生成し，ＩＣタグに送信する。認証情報を受信したＩＣタグは，認証を行い，認証に成功した場合に，ＩＣタグ内のある特定の領域に書き込まれたＩＤの署名を出力する。ＩＣカードにおいて，出力された署名とＩＤの組み合わせを検証し，検証結果をサーバに送信する。サーバは，検証結果を元にタグの正当性を判断し，正当なタグには，データ参照やデータ更新等のサービスを提供し，不正なタグには提供しない。さらに，ＩＣカード内には処理状況を示すログ情報を順次格納し，正当なユーザの不正な行為を抑制する。【選択図】  図１
2009053877.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣタグの真正性保証システムであって，
ＩＣタグと，該ＩＣタグのＩＤの読み取り機能を持つ端末と，該端末と接続するＩＣカードと，前記端末を介して，前記ＩＣカードとデータの送受信を行うサーバ装置と，該サーバ装置と接続し，前記ＩＣタグのデータを管理するデータベース装置と，ネットワークと接続し，前記ＩＣタグや前記ＩＣカードや前記サーバ装置の初期化を行う初期化装置と，を備え，
前記ＩＣタグは，
前記ＩＣタグのＩＤを出力するＩＤ出力部と，前記ＩＣタグの認証情報を認証する認証部と，前記ＩＣタグのＩＤの署名を出力する署名出力部と，前記ＩＤを記憶するＩＤ記憶部と，前記認証情報を記憶する認証情報記憶部と，前記署名を記憶する署名記憶部と，前記認証情報の認証状態を保持する認証状態保持部と，
を備え，
前記端末は，
前記ＩＣタグにアクセスするＩＣタグアクセス部と，前記ＩＣカードにアクセスするＩＣカードアクセス部と，
を備え，
前記ＩＣカードは，
前記ＩＣタグの認証情報を生成する認証情報生成部と，前記ＩＣタグのＩＤの署名を検証するタグ検証部と，前記認証情報生成部や前記タグ検証部で利用する鍵を保管する鍵保管部と，前記タグ検証部で必要となる前記ＩＣタグのＩＤを一時的に保管するＩＤ保持部と，
を備える
ことを特徴とするＩＣタグの真正性保証システム。
【請求項２】
請求項１に記載のＩＣタグの真正性保証システムであって，
前記端末は，前記ＩＣタグから前記ＩＣタグのＩＤを読み出して，前記ＩＣカードに送信し，
前記ＩＣカードの認証情報生成部は，前記ＩＣタグから読み出された前記ＩＣタグのＩＤに対応する，ＩＣタグの認証情報を生成し，データ送受信部を介して，該認証情報を前記ＩＣタグに対して送信し，
前記ＩＣタグの認証部は，前記認証情報の認証を行い，前記署名出力部は，データ送受信部を介して，署名記憶部に記憶されている当該ＩＣタグのＩＤの署名を前記ＩＣカードに対して送信し，
前記ＩＣカードの前記タグ検証部は，受信した前記ＩＤの署名を検証し，前記ＩＣタグの真正性を検証する
ことを特徴とするＩＣタグの真正性保証システム。
【請求項３】
請求項２に記載のＩＣタグの真正性保証システムであって，
前記ＩＣタグにおいて，
前記認証部が前記認証情報の認証に成功した場合に，前記署名出力部が前記署名を出力する
ことを特徴とするＩＣタグの真正性保証システム。
【請求項４】
請求項１ないし３のいずれか一に記載のＩＣタグの真正性保証システムであって，
前記ＩＣカードは，ログ情報保持部を備え，
前記認証情報生成部と前記タグ検証部は，処理結果に係わるログ情報を生成し，前記ログ情報保持部に保持する
ことを特徴とするＩＣタグの真正性保証システム。
【請求項５】
請求項１ないし４のいずれか一に記載のＩＣタグの真正性保証システムであって，
さらに，初期化装置を備え，
前記初期化装置は，
前記ＩＣタグのＩＤと，前記認証情報と，前記署名と，を生成する初期化情報生成部と，
生成した前記ＩＣタグのＩＤと，前記認証情報と，前記署名と，を，前記端末に送信する通信部と，を備え，
前記端末は，
受信した前記ＩＣタグのＩＤと，前記認証情報と，前記署名と，を，前記ＩＣタグに送信し，
前記ＩＣタグは，受信した前記ＩＣタグのＩＤと，前記認証情報と，前記署名と，を格納する手段を備える
ことを特徴とするＩＣタグの真正性保証システム。
【請求項６】
請求項５に記載のＩＣタグの真正性保証システムであって，
前記初期化装置の初期化情報生成部は，
前記認証情報と，前記署名と，を検証するための検証情報を生成し，
前記通信部は，生成した前記検証情報を，前記端末に送信し，
前記端末は，
受信した前記検証情報を，前記ＩＣカードに送信し，
前記ＩＣカードは，受信した前記検証情報を格納する手段を備える
ことを特徴とするＩＣタグの真正性保証システム。
【請求項７】
請求項１ないし６のいずれか一に記載のＩＣタグの真正性保証システムであって，
前記ＩＣカードは，利用者を認証する本人認証部を備え，
前記本人認証部は，前記本人認証に成功した場合に，前記認証情報生成部と，前記タグ検証部と，前記鍵保管部と，前記ＩＤ保持部と，が活性化される
ことを特徴とするＩＣタグの真正性保証システム。
【請求項８】
ＩＣタグを用いたデータアクセスシステムであって，
ＩＣタグと，該ＩＣタグのＩＤの読み取り機能を持つ端末と，該端末と接続するＩＣカードと，前記端末を介して，前記ＩＣカードとデータの送受信を行うサーバ装置と，該サーバ装置と接続し，前記ＩＣタグのデータを管理するデータベース装置と，ネットワークと接続し，前記ＩＣタグや前記ＩＣカードや前記サーバ装置の初期化を行う初期化装置と，を備え，
前記ＩＣタグは，
コマンドを送受信するデータ送受信部と，コマンドを解析するコマンド解析部と，前記ＩＣタグのＩＤを出力するＩＤ出力部と，前記ＩＣタグの認証情報を認証する認証部と，前記ＩＣタグのＩＤの署名を出力する署名出力部と，前記ＩＤを記憶するＩＤ記憶部と，前記認証情報を記憶する認証情報記憶部と，前記署名を記憶する署名記憶部と，前記認証情報の認証状態を保持する認証状態保持部と，
を備え，
前記端末は，
前記ネットワークに対しデータを送受信する通信部と，前記ＩＣタグや前記ＩＣカードや前記サーバ装置に対して送信するコマンドを生成するコマンド生成部と，前記ＩＣタグにアクセスするＩＣタグアクセス部と，前記ＩＣカードにアクセスするＩＣカードアクセス部と，
を備え，
前記ＩＣカードは，
コマンドを送受信するデータ送受信部と，コマンドを解析するコマンド解析部と，前記ＩＣタグの認証情報を生成する認証情報生成部と，前記ＩＣタグのＩＤの署名を検証するタグ検証部と，前記認証情報生成部や前記タグ検証部で利用する鍵を保管する鍵保管部と，前記タグ検証部で必要となる前記ＩＣタグのＩＤを一時的に保管するＩＤ保持部と，
を備え，
前記初期化装置は，
データを送受信するための通信部と，前記ＩＣタグや前記ＩＣカードや前記サーバ装置に対して送信するコマンドを生成するコマンド生成部と，該コマンドを生成する上で必要となる初期化情報を生成する初期化情報生成部と，該初期化情報生成部において生成した鍵情報を保管する鍵保管部と，前記初期化情報生成部において生成した鍵情報以外の初期化情報を保管する初期化情報保管部と，
を備える
ことを特徴とするＩＣタグを用いたデータアクセスシステム。
【請求項９】
請求項８に記載のＩＣタグを用いたデータアクセスシステムであって，
前記ＩＣカードは，ログ情報保持部を備え，
前記認証情報生成部とタグ検証部は，処理結果に係わるログ情報を生成し，前記ログ情報保持部に保持する
ことを特徴とするＩＣタグを用いたデータアクセスシステム。
【請求項１０】
請求項８または９に記載のＩＣタグを用いたデータアクセスシステムであって，
前記ＩＣカードに保持するログ情報には，ＩＣカード毎に設定されているユーザＩＤと，前記ＩＣタグから読み出した前記ＩＣタグのＩＤと，処理状況を示すステータスが含まれる
ことを特徴とするＩＣタグを用いたデータアクセスシステム。
【請求項１１】
請求項８ないし１０のいずれか一に記載のＩＣタグを用いたデータアクセスシステムであって，
前記ＩＣカードと前記サーバ装置は，送受信するデータの正当性を保証するために，データ送信側で送受信データに署名を付与し，データ受信側で送受信データに付与された署名を検証し，正当な署名であると確認された場合に処理を継続する
ことを特徴とするＩＣタグを用いたデータアクセスシステム。
【請求項１２】
請求項８ないし１１のいずれか一に記載のＩＣタグを用いたデータアクセスシステムであって，
前記ＩＣカードと前記サーバ装置は，送受信するデータの秘匿性を保証するために，データ送信側で，前記送受信データに対して，前記署名に加え，前記送受信データ自身を暗号化し，データ受信側で，暗号化された送受信データを復号する
ことを特徴とするＩＣタグを用いたデータアクセスシステム。
【請求項１３】
請求項８ないし１２のいずれか一に記載のＩＣタグを用いたデータアクセスシステムであって，
前記ＩＣカードは，前記ＩＣタグのデータ参照やデータ更新処理が正常に終了したと確認した後で前記ＩＣカード内の前記ログ情報保持部に保持している前記ログ情報を削除する
ことを特徴とするＩＣタグを用いたデータアクセスシステム。
【請求項１４】
請求項８ないし１３のいずれか一に記載のＩＣタグを用いたデータアクセスシステムであって，
前記ＩＣカードに保持する前記ログ情報には，シーケンス番号や時刻情報などログ情報の順序を示す情報が含まれる
ことを特徴とするＩＣタグを用いたデータアクセスシステム。
【請求項１５】
請求項８ないし１４のいずれか一に記載のＩＣタグを用いたデータアクセスシステムであって，
前記ＩＣカードに保持する前記ログ情報には，サーバ装置に依頼する処理内容やデータベース装置に対する更新データが含まれる
ことを特徴とするＩＣタグを用いたデータアクセスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ＩＣタグ等の真正性を保証する方法や，ＩＣタグ等の不正な複製や捏造を防止させることが可能なシステムおよびその方法に関する。
【背景技術】
【０００２】
ＩＣタグを用いて物品管理を行う際には予め物品にＩＤが設定されたＩＣタグを添付しておき，ＩＣタグリーダでそのＩＤを読み取り，サーバにそのＩＤに関連する情報を問い合わせることにより，物品の管理を実施していた。
【０００３】
この場合，物品に添付されているＩＣタグは正当なＩＣタグであるという前提が置かれていた。これはＩＣタグが特殊な仕様で作成されており，仕様を知らなければ同じ機能，同じ情報を持つタグを作成できないということが大きな理由であった。また，もし仮に仕様を知っていたとしても正当なタグと同形状のタグを作成することは技術的に困難であるため，物理的な形状を人の目で確認することにより，正当なタグか不正なタグかを判別することが可能であった。
【０００４】
ところが近年，主に流通業界での利用を目的としたＵＨＦ帯のＩＣタグの規格として，国際標準ＩＳＯ／ＩＥＣ１８０００−６というＩＣタグの仕様が公開されたことにより，同じ機能，同じ形状を持つＩＣタグが様々なベンダよりリリースされる可能性が出てきた。また，この仕様では，ＩＣタグを識別するＩＤの読み取りに関して特に制限は設けられていない（例えば，非特許文献１参照）。このため，正当なタグのＩＤを読み出し，正当なＩＤを持つ不正なＩＣタグを作成することは容易である。
【０００５】
上記の問題に対応するための技術として，ＩＣタグに書き込むＩＤに対して暗号化と署名の付与を行い，サーバでＩＤの復号と署名検証を行うことにより，ＩＣタグに書き込まれているＩＤの正当性を検証する技術が知られている（例えば，特許文献１参照）。
【０００６】
また，ＩＣタグの読み取り装置に正当なユーザが保持する個人認証装置を接続し，ＩＣタグから読み出したデータを元にパスワードを生成し，そのパスワードでＩＣタグの認証を行い，認証に成功した場合にＩＤを出力することにより，不当なユーザが正当なＩＤを取得することを防止する技術が知られている（例えば，特許文献２参照）。
【０００７】
【非特許文献１】EPCglobal Inc., "EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860 MHz - 960MHz Version 1.0.9", [online], ２００５年１月, EPCglobal Inc., ｐ．３５, [２００７年７月１８日検索］, インターネット＜URL: http://www.epcglobalinc.org/standards/uhfc1g2/UHFC1G2_1_0_9-StandardRatified-20050126.pdf＞
【特許文献１】特開２００４−３１８６４５号公報
【特許文献２】特開２００５−１１７４６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述のとおり，ＩＣタグ内のＩＤを読み取る行為に対して制限がないため，ＩＤを暗号化し署名を格納していても同じ情報を持つＩＣタグを作成されてしまう危険性があった。
【０００９】
また，国際標準に準拠したＩＣタグは，リーダに対しては必ずＩＤを出力する仕様になっているため，個人認証装置を用いてＩＣタグのＩＤの出力を制限する技術を適用することは困難であった。
【００１０】
この結果，正当なＩＤを持つ不正なＩＣタグにより，物品の管理を行うサーバの情報が不正にアクセスされる，というおそれがあった。
【課題を解決するための手段】
【００１１】
本発明は，上記事情に鑑みてなされたものであり，国際標準に準拠したＩＣタグの真正性を検証する技術を提供する。また，サーバとの連携も安全に実現可能となるシステムを提供する。具体的には，ＩＣタグには予め認証情報と署名とを設定しておき，ＩＣタグのＩＤを読み取る端末にＩＣカードを接続し，ＩＣカードにおいて，ＩＣタグの認証，ＩＣタグの署名検証，サーバへのアクセスを安全に行うＩＣタグを用いたデータアクセスシステムを提供する。
【００１２】
より具体的には，ＩＣタグへのアクセス時に，ＩＣカードにおいて，ＩＣタグにアクセスするための認証情報（たとえば，パスワード）を生成し，ＩＣタグに送信する。認証情報を受信したＩＣタグは，認証処理を行い，認証に成功した場合に，ＩＣタグ内のある特定の領域に書き込まれているＩＤの署名を出力する。出力された署名とＩＤの組み合わせをＩＣカードにおいて検証することにより，タグの真正性を判断する。
【００１３】
また，端末は，サーバアクセス時に，検証結果を送信することにより，サーバにおいて，検証結果を元に正当なタグか否かの判断を行うことが可能になる。これにより，たとえば，物品管理システムは，正当なＩＣタグにのみ，データ参照やデータ更新等のサービスを提供することが可能になる。
【００１４】
より具体的な，本願発明の態様は，たとえば，ＩＣタグの真正性保証システムであって，
ＩＣタグと，該ＩＣタグのＩＤの読み取り機能を持つ端末と，該端末と接続するＩＣカードと，端末を介して，ＩＣカードとデータの送受信を行うサーバ装置と，該サーバ装置と接続し，ＩＣタグのデータを管理するデータベース装置と，ネットワークと接続し，ＩＣタグやＩＣカードやサーバ装置の初期化を行う初期化装置と，を備え，
ＩＣタグは，ＩＣタグのＩＤを出力するＩＤ出力部と，ＩＣタグの認証情報を認証する認証部と，ＩＣタグのＩＤの署名を出力する署名出力部と，ＩＤを記憶するＩＤ記憶部と，認証情報を記憶する認証情報記憶部と，署名を記憶する署名記憶部と，認証情報の認証状態を保持する認証状態保持部と，を備え，
端末は，ＩＣタグにアクセスするＩＣタグアクセス部と，ＩＣカードにアクセスするＩＣカードアクセス部と，を備え，
ＩＣカードは，ＩＣタグの認証情報を生成する認証情報生成部と，ＩＣタグのＩＤの署名を検証するタグ検証部と，認証情報生成部やタグ検証部で利用する鍵を保管する鍵保管部と，タグ検証部で必要となるＩＣタグのＩＤを一時的に保管するＩＤ保持部と，を備えることを特徴とする。
【００１５】
さらに，端末は，ＩＣタグからＩＣタグのＩＤを読み出して，ＩＣカードに送信し，ＩＣカードの認証情報生成部は，タグから読み出されたＩＣタグのＩＤに対応する，ＩＣタグの認証情報を生成し，データ送受信部を介して，該認証情報をＩＣタグに対して送信し，ＩＣタグの認証部は，認証情報の認証を行い，認証に成功した場合，署名出力部は，データ送受信部を介して，署名記憶部に記憶されている当該ＩＣタグのＩＤの署名をＩＣカードに対して送信し，ＩＣカードのタグ検証部は，受信したＩＤの署名を検証し，ＩＣタグの真正性を検証するものであってもよい。
【００１６】
また，本願発明による，ＩＣタグの真正性保証システムは，さらに，初期化装置を備え，
初期化装置は，ＩＣタグのＩＤと，認証情報と，署名と，を生成する初期化情報生成部と，生成したＩＣタグのＩＤと，認証情報と，署名と，を，端末に送信する通信部と，を備え，
端末は，受信したＩＣタグのＩＤと，認証情報と，署名と，を，ＩＣタグに送信し，ＩＣタグは，受信したＩＣタグのＩＤと，認証情報と，署名と，を格納する手段を備えてもよい。
【００１７】
さらに，初期化装置の初期化情報生成部は，認証情報と，署名と，を検証するための検証情報を生成し，通信部は，生成した検証情報を，端末に送信し，
端末は，受信した検証情報を，ＩＣカードに送信し，ＩＣカードは，受信した検証情報を格納する手段を備えてもよい。
【００１８】
さらに，上記ＩＣタグの真正性保証システムを用いた，データアクセスシステムを，構成しても良い。
【００１９】
当該データアクセスシステムは，具体的には，ＩＣタグと，該ＩＣタグのＩＤの読み取り機能を持つ端末と，該端末と接続するＩＣカードと，端末を介して，ＩＣカードとデータの送受信を行うサーバ装置と，該サーバ装置と接続し，ＩＣタグのデータを管理するデータベース装置と，ネットワークと接続し，ＩＣタグやＩＣカードやサーバ装置の初期化を行う初期化装置と，を備え，
ＩＣタグは，コマンドを送受信するデータ送受信部と，コマンドを解析するコマンド解析部と，ＩＣタグのＩＤを出力するＩＤ出力部と，ＩＣタグの認証情報を認証する認証部と，ＩＣタグのＩＤの署名を出力する署名出力部と，ＩＤを記憶するＩＤ記憶部と，認証情報を記憶する認証情報記憶部と，署名を記憶する署名記憶部と，認証情報の認証状態を保持する認証状態保持部と，を備え，
端末は，ネットワークに対しデータを送受信する通信部と，ＩＣタグやＩＣカードやサーバ装置に対して送信するコマンドを生成するコマンド生成部と，ＩＣタグにアクセスするＩＣタグアクセス部と，ＩＣカードにアクセスするＩＣカードアクセス部と，を備え，
ＩＣカードは，コマンドを送受信するデータ送受信部と，コマンドを解析するコマンド解析部と，ＩＣタグの認証情報を生成する認証情報生成部と，ＩＣタグのＩＤの署名を検証するタグ検証部と，認証情報生成部やタグ検証部で利用する鍵を保管する鍵保管部と，タグ検証部で必要となるＩＣタグのＩＤを一時的に保管するＩＤ保持部と，を備え，
初期化装置は，データを送受信するための通信部と，ＩＣタグやＩＣカードやサーバ装置に対して送信するコマンドを生成するコマンド生成部と，該コマンドを生成する上で必要となる初期化情報を生成する初期化情報生成部と，該初期化情報生成部において生成した鍵情報を保管する鍵保管部と，初期化情報生成部において生成した鍵情報以外の初期化情報を保管する初期化情報保管部と，を備えることを特徴とする。
【００２０】
上記態様によれば，ＩＣタグに予め設定した認証情報や署名を用いて，端末が，ＩＣタグの真正性を検証する。これによって，読み出したＩＤを用いてＩＣタグを複製したとしても，その真正性を検証することにより，不正なＩＣタグを排除することが可能になる。
【００２１】
また，本願発明によれば，ＩＣカードは，ＩＣタグのＩＤ等を記憶しなくても，ＩＣタグから読み出したＩＤ情報に基づく認証処理が可能になる。これによって，物品管理システムのような非常に多くのＩＣタグを扱うシステムであっても，実現が可能になる。
【００２２】
さらに，上記態様によれば，ＩＣタグの真正性をサーバにおいて検証することが可能となり，不正なＩＣタグを用いたサーバへの不正アクセスを防止することが可能になる。
【００２３】
また，ＩＣカード内にログ情報を順次格納してゆくため，正当なユーザの不正な行為を検知することが可能となる。
【発明の効果】
【００２４】
本発明によれば，ＩＣタグの真正性を検証することが可能になる。
【発明を実施するための最良の形態】
【００２５】
本発明の一実施形態について説明する。なお，これにより本発明が限定されるものではない。
【００２６】
図１は，本発明の一実施形態が適用されたＩＣタグの真正性保証システムと，該真正性保証システムを用いたデータアクセスシステムの構成図である。
【００２７】
本実施形態のＩＣタグを用いたデータアクセスシステムは，図１に例示するように，ＩＣタグ１０と，該ＩＣタグにアクセスする，ＩＣタグを読み取る機能を備える端末２０と，該端末に接続されたＩＣカード３０と，ネットワーク４０と，ＩＣカード３０にアクセスし，サービスを提供するサーバ装置５０と，該サーバ装置５０に接続されているデータベース装置６０と，ＩＣタグやＩＣカードやサーバ装置を初期化する際に利用する初期化装置７０とが互いに接続されて構成されている。
【００２８】
なお，本実施形態における端末２０は，パーソナルコンピュータ(ＰＣ)やスマートフォン，携帯型情報機器（ＰＤＡ）などの装置に，ＩＣタグの読み取り装置がＵＳＢ等の外部インタフェースで接続されている構成であっても良い。
【００２９】
ＩＣタグ１０は，外部からコマンドを受信し，受信したコマンドの内容により処理を行い，処理結果を返信する。該ＩＣタグ１０は，コマンドを受信し，処理結果を送信するデータ送受信部１０１と，コマンドを解析するコマンド解析部１０２と，ＩＣタグのＩＤを出力するＩＤ出力部１０３と，ＩＣタグのパスワードなどの認証情報を認証する認証部１０４と，ＩＣタグのＩＤから生成される署名を出力する署名出力部１０５と，ＩＣタグのＩＤを記憶するＩＤ記憶部１０６と，ＩＣタグの認証情報を記憶する認証情報記憶部１０７と，ＩＣタグのＩＤから生成される署名を記憶する署名記憶部１０８と，認証部で認証した状態を保持する認証状態保持部１０９と，を含む。
【００３０】
端末２０は，ネットワーク４０と通信を行う通信部２０１と，サーバ装置５０やＩＣタグ１０やＩＣカード３０に対して送信するコマンドを生成するコマンド生成部２０２と，ＩＣタグ１０とコマンドの送受信を行うＩＣタグアクセス部２０３と，ＩＣカード３０に対してコマンドの送受信を行うＩＣカードアクセス部２０４と，を含む。
【００３１】
ＩＣカード３０は，外部からコマンドを受信し，受信したコマンドの内容により処理を行い，処理結果を返信する。該ＩＣカード３０は，コマンドを受信し，処理結果を送信するデータ送受信部３０１と，コマンドを解析するコマンド解析部３０２と，ＩＣカードの所有者であることを確認する本人認証部３０３と，ＩＣタグ１０にアクセスするための認証情報を生成する認証情報生成部３０４と，ＩＣタグ１０から出力されたＩＤの署名を検証し，タグの真正性を検証するタグ検証部３０５と，ＩＣカード３０から出力するデータを暗号化するデータ暗号化部３０６と，ＩＣカード３０に入力するデータを復号するデータ復号部３０７と，ＩＣカード３０から出力するデータに付与する署名を生成する署名生成部３０８と，ＩＣカード３０に入力するデータに付与された署名を検証する署名検証部３０９と，ＩＣカード内で実施した処理内容やサーバへの依頼情報等を記録するログ情報保持部３１０と，認証情報生成部３０４やタグ検証部３０５やデータ暗号化部３０６やデータ復号部３０７や署名生成部３０８や署名検証部３０９で利用する鍵を保管する鍵保管部３１１と，本人認証部３０３で認証を行う上で必要となる本人認証情報を保管する本人認証情報保管部３１２と，タグ検証部３０５でＩＤ検証を行う上で必要となるＩＤを一時的に保管するＩＤ保持部３１３と，を含む。
【００３２】
サーバ装置５０は，ネットワークとデータ送受信を行う通信部５０１と，ＩＣカード３０に対し送信するコマンドを生成するコマンド生成部５０２と，該コマンドを生成する際に利用する鍵を保管する鍵保管部５０３と，サービスを提供するサービス提供部５０４と，データベース装置６０とデータ送受信を行うデータベースアクセス部５０５と，を含む。
【００３３】
データベース装置６０は，サーバ装置５０とデータ送受信を行うデータ送受信部６０１と，ＩＣタグ１０のＩＤに関連する情報を保管するデータ保管部６０２と，を含む。
【００３４】
初期化装置７０は，ネットワーク４０とデータ送受信を行う通信部７０１と，ＩＣタグ１０やＩＣカード３０に対して送信するコマンドを生成するコマンド生成部７０２と，該コマンドを生成する上で必要となる初期化情報を生成する初期化情報生成部７０３と，初期化情報生成部で生成した鍵情報を保管する鍵保管部７０４と，該初期化情報生成部で生成したＩＤ等の初期化情報を保管する初期化情報保管部７０５と，を含む。
【００３５】
図２はＩＣタグ１０のハードウェア構成を例示する図である。ＩＣタグ１０は，コマンドや認証情報等の入力を受け付け，また，ＩＤや署名や照合結果等を出力する入出力部１０ａと，入力された認証情報と記憶している認証情報とを照合する照合部１０ｂと，後述するＩＣタグ１０の初期化処理により与えられるＩＤや認証情報や署名等のデータを記憶する記憶部１０ｃと，が内部通信線１０ｄで接続されて構成されている。
【００３６】
ＩＣタグ１０は，ＣＰＵがプログラムを実行することにより各部を実現する構成であっても良いし，ハードウェアにより各部を実現する構成であってもよい。
【００３７】
図３は端末２０のハードウェア構成を例示する図である。端末２０は，通信装置２０ａと，入出力装置２０ｂと，ＩＣタグ入出力装置２０ｃと，ＩＣカード入出力装置２０ｄと，記憶装置２０ｅと，ＣＰＵ２０ｆと，メモリ２０ｇと，読取装置２０ｈと，がバスなどの内部通信線２０ｊで連結され，構成されている。
【００３８】
図４はＩＣカード３０のハードウェア構成を例示する図である。ＩＣカード３０は，入出力装置３０ａと，耐タンパメモリ３０ｂと，ＣＰＵ３０ｃと，耐タンパ記憶装置３０ｄと，がバスなどの内部通信線３０ｅで接続されて構成されている。ＩＣカード３０の形状は，上述の構成要素を備えていれば，クレジットカードのような形状であってもよいし，たとえば，ＭＭＣやＳＤカードのようなメモリーカードの形状であってもよい。
【００３９】
図５はサーバ装置５０のハードウェア構成を例示する図である。サーバ装置５０は，通信装置５０ａと，入出力装置５０ｂと，記憶装置５０ｃと，ＣＰＵ５０ｄと，メモリ５０ｅと，読取装置５０ｆと，がバスなどの内部通信線５０ｈで連結され，構成されている。図５に示す構成は，データベース装置６０や初期化装置７０においても同様である。
【００４０】
本実施形態のＩＣタグの真正性保証システムにおける処理フローについて説明する。
【００４１】
以下に述べる処理フローは，ＩＣタグ１０，または，端末２０，ＩＣカード３０，サーバ装置５０，データベース装置６０，初期化装置７０の各記憶装置に格納されたプログラムがメモリにロードされ，ＣＰＵにより実行されることにより，ＩＣタグの真正性保証システムを構成する各装置上に具現化される各処理部により実行されるものである。また，各プログラムは予め記憶装置に格納されても良いし，当該装置が利用可能な他の記憶媒体または通信媒体（ネットワークまたはネットワークを伝搬するデジタル信号や搬送波）を介して，必要なときに，他の装置から導入されても良い。
【００４２】
図６は，ＩＣタグの真正性保証システムで実施される一連のフローを示すフロー図である。
【００４３】
まず，ＩＣタグ１０と端末２０とＩＣカード３０との間でＩＣタグの真正性検証フローを実施する（ステップ６０１（Ｓ６０１と表現する。以下同様））。次に，端末２０で実行する業務を決定する（Ｓ６０２）。業務内容がデータ参照であれば，端末２０とＩＣカード３０とサーバ装置５０とデータベース装置６０との間でデータ参照フローを実施する（Ｓ６０３）。業務内容がデータ更新であれば，端末２０とＩＣカード３０とサーバ装置５０とデータベース装置６０との間でデータ更新フローを実施する（Ｓ６０４）。
【００４４】
図７は，図６で示したＩＣタグの真正性検証フローを詳細に記したフロー図である。
【００４５】
まず，利用者は，端末２０に，ＩＣカード３０の正当な利用者であるか確認するための本人認証情報を入力する（Ｓ７０１）。本人認証情報とは，例えばＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）や生体情報等を意味する。次に，端末２０のコマンド生成部２０２は，時刻情報を取得する（Ｓ７０２）。時刻情報は端末２０内の時刻情報でもよいし，外部のサーバから取得した時刻情報でもよい。次に，端末２０のコマンド生成部２０２は，ＩＣカード３０の本人認証部３０３に対して本人認証情報と時刻情報（Ａ７０１）を送信する。
【００４６】
次に，ＩＣカード３０の本人認証部３０３は，受信した本人認証情報と本人認証情報保管部３１２に格納されている本人認証情報とを比較し，本人認証を行う（Ｓ７０３）。次に，受信した時刻情報を元にログ情報の生成を行う（Ｓ７０４）。この時点において，ＩＣカード３０のログ情報保持部３１０には，ログ情報のカウンタと，時刻情報と，ＩＣカード毎に設定されているユーザＩＤとが格納されている。次に，ＩＣカード３０の本人認証部３０３は，端末２０に対して本人認証結果（Ａ７０２）を送信する。
【００４７】
次に，端末２０のコマンド生成部２０２は，ＩＣタグ１０のＩＤ出力部１０３に対してＩＤ読出し要求（Ａ７０３）を送信する。
【００４８】
次に，ＩＣタグ１０のＩＤ出力部１０３は，ＩＤ記憶部１０６に格納されているＩＤ情報を取得する（Ｓ７０５）。取得するＩＤ情報は，後述するＩＣタグ１０の初期化処理によって，予めＩＣタグ１０に設定されているＩＤ（Ａ１２０３）である。次に，ＩＣタグ１０のＩＤ出力部１０３は，端末２０に対してＩＤ（Ａ１２０３）を送信する。
【００４９】
次に，端末２０のコマンド生成部２０２は，ＩＣカード３０に対して，ＩＣタグ１０のＩＤ出力部１０３から受信したＩＤ（Ａ１２０３）を送信する。
【００５０】
次に，ＩＣカード３０は，受信したＩＤ（Ａ１２０３）をＩＤ保持部３１３に格納する（Ｓ７０６）。次に，認証情報生成部３０４は，ＩＣタグ１０の特定の領域にアクセスするための認証情報を生成する（Ｓ７０７）。生成する認証情報は，後述するＩＣタグ１０の初期化処理によって，予めＩＣタグ１０に設定されている認証情報（Ａ１２０５）と同じものになる。認証情報の生成方法は，受信したＩＤから一意に導出する方法でもよいし，ＩＤに対応する値を予め記憶しておき読み出して利用しても良いし，固定的な値を利用する方法でもよい。また，認証情報の生成にあたって，鍵保管部３１１内の認証情報生成鍵を利用してもよい。認証情報生成鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されている認証情報生成鍵（Ａ１３０２）である。次に，受信したＩＣタグ１０のＩＤ（Ａ１２０３）と認証情報を生成したというステータス情報をログ情報保持部３１０で保持しているログ情報に書き込む（Ｓ７０８）。次に，生成した認証情報（Ａ１２０５）を端末２０に送信する。
【００５１】
次に，端末２０のコマンド生成部２０２は，ＩＣタグ１０の認証部１０４に対して，ＩＣカード３０の認証情報生成部３０４から受信した認証情報（Ａ１２０５）を送信する。
【００５２】
次に，ＩＣタグ１０の認証部１０４は，端末２０から受信した認証情報（Ａ１２０５）を，認証情報記憶部１０７に記憶されている認証情報と比較し，認証を行う（Ｓ７０９）。認証に成功した場合には，認証状態保持部１０９に認証に成功したフラグを設定する。次に，認証した結果をレスポンス（Ａ７０４）として端末２０に送信する。認証に失敗した場合にはレスポンス（Ａ７０４）を端末２０に送信せず，端末２０側である一定時間経過後に認証に失敗した旨を判断してもよい。
【００５３】
次に，端末２０のコマンド生成部２０２は，署名読出し要求（Ａ７０５）をＩＣタグ１０の署名出力部１０５に送信する。
【００５４】
次に，ＩＣタグ１０の署名出力部１０５は，認証状態保持部１０９に認証に成功したことを示すフラグが設定されているか確認する（Ｓ７１０）。その結果，認証情報が未検証であるか失敗したと判断された場合には認証情報状態エラー（Ａ７０６）を端末２０に送信する。認証情報の検証に成功していると判断された場合には署名格納部１０８に格納されている署名を端末２０に送信する。署名とは，後述するＩＣタグ１０の初期化処理によって，予めＩＣタグ１０に設定されている署名（Ａ１２０７）のことを指す。
【００５５】
次に，端末２０のコマンド生成部２０２は，ＩＣカード３０のタグ検証部３０５に対して，ＩＣタグ１０の署名出力部１０５から受信した署名（Ａ１２０７）を送信する。
【００５６】
次に，ＩＣカード３０のタグ検証部３０５は，受信した署名（Ａ１２０７）とＩＤ保持部３１３に格納されているＩＤと鍵保管部３１１に格納されているＩＤ検証鍵を利用してタグの検証を行う（Ｓ７１１）。ＩＤ検証鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されているＩＤ検証鍵（Ａ１３０２）のことを指す。次に，ＩＤの検証結果をログ情報保持部３１０で保持しているログ情報に書き込む（Ｓ７１２）。ログ情報に書き込まれるＩＤの検証結果とは，ＩＤ検証成功フラグやＩＤ検証失敗フラグ等である。次に，端末２０に対してレスポンス（Ａ７０７）を送信する。
【００５７】
以上の処理によりＩＣタグ１０の真正性を検証することが可能になる。
【００５８】
図８は，図６で示したデータ参照フローを詳細に記したフロー図である。
【００５９】
まず，端末２０のコマンド生成部２０２は，データ参照要求を行う（Ｓ８０１）。次に，ＩＣカード３０に対してデータ参照要求（Ａ８０１）を送信する。
【００６０】
次に，ＩＣカード３０は，ログ情報保持部３１０からログ情報を読み出す（Ｓ８０２）。次に，ログ情報にデータ参照フラグを付与する（Ｓ８０３）。この時点において，ログ情報には，ログ情報のカウンタと，時刻情報と，ユーザＩＤと，タグＩＤと，ステータスと，データ参照フラグが設定されている。次に，ログ情報の正当性を保証するために署名生成部３０８において，鍵保管部３１１に格納されている署名生成・検証鍵を用いてログ情報の署名を生成し，ログ情報に付与する（Ｓ８０４）。署名生成・検証鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されている署名生成・検証鍵（Ａ１３０２）のことを指す。次に，ログ情報が第三者に漏洩することを防ぐために，データ暗号化部３０６において鍵保管部３１１に格納されている暗号・復号鍵を用いてログ情報を暗号化する（Ｓ８０５）。暗号・復号鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されている暗号・復号鍵（Ａ１３０２）のことを指す。次に，端末２０に対して暗号化ログ（Ａ８０２）を送信する。
【００６１】
次に，端末２０のコマンド生成部２０２は，サーバ装置５０のサービス提供部５０４に対して暗号化ログ（Ａ８０２）を送信する。
【００６２】
次に，サーバ装置５０のサービス提供部５０４は，受信した暗号化ログ（Ａ８０２）を鍵保管部５０３に保管されている暗号・復号鍵を用いて復号する（Ｓ８０６）。次に，復号したログ情報の署名を鍵保管部５０３に保管されている署名生成・検証鍵を用いて検証する（Ｓ８０７）。その結果，署名検証に失敗した場合には，端末２０に対して署名検証エラー（Ａ８０３）を送信する。署名検証に成功した場合には，ログ情報をサーバ装置５０内に保管する（Ｓ８０８）。次に，ログ情報のステータスを確認し，ＩＤの検証状態を検証する（Ｓ８０９）。その結果，ＩＤ検証に失敗していると判断された場合には，端末２０に対してＩＤ検証エラー（Ａ８０４）を送信する。ＩＤ検証に成功していると判断された場合には，ログ情報内のＩＤ（Ａ１２０３）をデータベース装置６０に対して送信する。
【００６３】
次に，データベース装置６０は，受信したログ情報内のＩＤ（Ａ１２０３）を元にデータ保管部６０２からＩＤに関連するデータを取得する（Ｓ８１０）。次に，サーバ装置５０のサービス提供部５０４に対して取得したデータ（Ａ８０６）を送信する。
【００６４】
次に，サーバ装置５０のサービス提供部５０４は，受信したデータ（Ａ８０６）の署名を，鍵保管部５０３に保管されている署名生成・検証鍵を用いて生成し，データに付与する（Ｓ８１１）。次に，鍵保管部５０３に保管されている暗号・復号鍵を用いてデータを暗号化する（Ｓ８１２）。次に，生成した暗号化データ（Ａ８０７）を端末２０に送信する。
【００６５】
次に，端末２０のコマンド生成部２０２は，受信した暗号化データ（Ａ８０７）をＩＣカード３０のデータ復号部３０７に送信する。
【００６６】
次に，ＩＣカード３０のデータ復号部３０７は，鍵保管部３１１に保管されている暗号・復号鍵を用いて，受信した暗号化データ（Ａ８０７）を復号する（Ｓ８１３）。暗号・復号鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されている暗号・復号鍵（Ａ１３０２）のことを指す。次に，署名検証部３０９において，鍵保管部３１１に保管されている署名生成・検証鍵を用いて，署名を検証する（Ｓ８１４）。署名生成・検証鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されている署名生成・検証鍵（Ａ１３０２）のことを指す。その結果，署名検証に失敗した場合には，端末２０に対して署名検証エラー（Ａ８０８）を送信する。署名検証に成功した場合には，データを検証する（Ｓ８１５）。その結果，正しくデータを取得できていないと判断された場合には，端末２０に対してデータ検証エラー（Ａ８０９）を送信する。正しくデータを取得できていると判断された場合には，ログ情報保持部３１０に保管しているログ情報を削除する（Ｓ８１６）。次に，端末２０に対してレスポンス（Ａ８１０）を送信する。
【００６７】
図９は，図６で示したデータ更新フローを詳細に記したフロー図である。
【００６８】
まず，端末２０のコマンド生成部２０２は，データ更新要求を行う（Ｓ９０１）。次に，データベースに対して更新するデータを入力する（Ｓ９０２）。次に，ＩＣカード３０に対してデータ更新要求（Ａ９０１）を送信する。
【００６９】
次に，ＩＣカード３０は，ログ情報保持部３１０からログ情報を読み出す（Ｓ９０３）。次に，ログ情報にデータ更新フラグと更新データを付与する（Ｓ９０４）。この時点において，ログ情報には，ログ情報のカウンタと，時刻情報と，ユーザＩＤと，タグＩＤと，ステータスと，データ更新フラグと更新データが設定されている。次に，ログ情報の正当性を保証するために署名生成部３０８において鍵保管部３１１に格納されている署名生成・検証鍵を用いてログ情報の署名を生成し，ログ情報に付与する（Ｓ９０５）。署名生成・検証鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されている署名生成・検証鍵（Ａ１３０２）のことを指す。次に，ログ情報が第三者に漏洩することを防ぐために，データ暗号化部３０６において鍵保管部３１１に格納されている暗号・復号鍵を用いてログ情報を暗号化する（Ｓ９０６）。暗号・復号鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されている暗号・復号鍵（Ａ１３０２）のことを指す。次に，端末２０に対して暗号化ログ（Ａ９０２）を送信する。
【００７０】
次に，端末２０のコマンド生成部２０２は，サーバ装置５０のサービス提供部５０４に対して暗号化ログ（Ａ９０２）を送信する。
【００７１】
次に，サーバ装置５０のサービス提供部５０４は，受信した暗号化ログ（Ａ９０２）を鍵保管部５０３に保管されている暗号・復号鍵を用いて復号する（Ｓ９０７）。次に，復号したログ情報の署名を鍵保管部５０３に保管されている署名生成・検証鍵を用いて検証する（Ｓ９０８）。その結果，署名検証に失敗した場合には，端末２０に対して署名検証エラー（Ａ９０３）を送信する。署名検証に成功した場合には，ログ情報をサーバ装置５０内に保管する（Ｓ９０９）。次に，ログ情報のステータスを確認し，ＩＤの検証状態を検証する（Ｓ９１０）。その結果，ＩＤ検証に失敗していると判断された場合には，端末２０に対してＩＤ検証エラー（Ａ９０４）を送信する。ＩＤ検証に成功していると判断された場合には，ログ情報内のＩＤと更新データ（Ａ９０５）をデータベース装置６０に対して送信する。
【００７２】
次に，データベース装置６０は，受信したＩＤと更新データ（Ａ９０５）を元にデータ保管部６０２に対してＩＤに関連するデータを更新する（Ｓ９１１）。次に，サーバ装置５０のサービス提供部５０４に対してレスポンス（Ａ９０６）を送信する。
【００７３】
次に，サーバ装置５０のサービス提供部５０４は，受信したレスポンス（Ａ９０６）の署名を，鍵保管部５０３に保管されている署名生成・検証鍵を用いて生成し，レスポンスに付与する（Ｓ９１２）。次に，署名付きレスポンス（Ａ９０７）を端末２０に送信する。
【００７４】
次に，端末２０のコマンド生成部２０２は，受信した署名付きレスポンス（Ａ９０７）をＩＣカード３０の署名検証部３０９に送信する。
【００７５】
次に，ＩＣカード３０の署名検証部３０９は，受信した署名付きレスポンス（Ａ９０７）を鍵保管部３１１に保管されている署名生成・検証鍵を用いて，署名を検証する（Ｓ９１３）。署名生成・検証鍵とは，後述するＩＣカード３０の初期化処理によって，予めＩＣカード３０に設定されている署名生成・検証鍵（Ａ１３０２）のことを指す。その結果，署名検証に失敗した場合には，端末２０に対して署名検証エラー（Ａ９０８）を送信する。署名検証に成功した場合には，レスポンスを検証する（Ｓ９１４）。その結果，データ更新に失敗していると判断された場合には，端末２０に対してレスポンス検証エラー（Ａ９０９）を送信する。データ更新に成功していると判断された場合には，ログ情報保持部３１０に保管しているログ情報を削除する（Ｓ９１５）。次に，端末２０に対してレスポンス（Ａ９１０）を送信する。
【００７６】
なお，ＩＣタグ１０とＩＣカード３０の組み合わせについては，特に制限していない。あらゆるＩＣタグにアクセス可能なＩＣカードや，特定のＩＣタグにアクセス可能なＩＣカードの作成は，後述するＩＣカードの初期化処理によりＩＣカード内に保持している認証情報生成鍵をＩＣカード間で同一，もしくは，固有にすることにより，容易に実現可能である。
【００７７】
図１０は，図７のＳ７０４，Ｓ７０８，Ｓ７１２や図８のＳ８０３，Ｓ８０４や図９のＳ９０４，Ｓ９０５で生成するログ情報の構成を示した図である。
【００７８】
ログ情報（Ａ１００１）は，ログ情報の順序を示すシーケンス番号（Ａ１００２）を先頭に配置し，次に時刻情報（Ａ１００３）を配置する。次に，ＩＣカード毎に設定されているユーザＩＤ（Ａ１００４）を配置する。次に，ＩＣタグから読み出したタグＩＤ（Ａ１００５）を配置する。次に，処理状況を示すステータス（Ａ１００６）を配置する。ステータスには，認証情報生成済，ＩＤ検証成功，ＩＤ検証失敗等の情報が設定される。次に，処理内容を示す情報（Ａ１００７）を配置する。処理内容には，データ参照，データ更新等の情報が設定される。最後に，処理内容がデータ更新の場合には，データベースに対して更新するデータ（Ａ１００８）を配置する。
【００７９】
図１１は，図７から図９までのフローを実施するために，ＩＣタグ１０やＩＣカード３０に対して初期化処理を行う初期化装置７０を初期化するフローを示した図である。
【００８０】
まず，端末２０のコマンド生成部２０２は，初期化装置初期化処理要求を行う（Ｓ１１０１）。次に，初期化装置７０の初期化情報生成部７０３に対して，初期化装置初期化処理要求（Ａ１１０１）を送信する。
【００８１】
次に，初期化装置７０の初期化情報生成部７０３は，ＩＣタグ１０の認証情報（Ａ１２０５）を生成するために必要となる認証情報生成鍵（Ａ１３０２）を生成し，鍵保管部７０４に保管する（Ｓ１１０２）。ここで，ＩＣタグ１０の認証情報（Ａ１２０５）の生成に認証情報生成鍵（Ａ１３０２）を使用しない場合，認証情報生成鍵を生成しなくてもよい。次に，ＩＣタグ１０のＩＤ（Ａ１２０３）を検証するために必要となるＩＤ検証鍵を生成し，鍵保管部７０４に保管する（Ｓ１１０３）。次に，ＩＣカード３０と暗号通信を行うために必要となる暗号・復号鍵（Ａ１３０２）を生成し，鍵保管部７０４に保管する（Ｓ１１０４）。次に，ＩＣカード３０と送受信するデータの完全性を保証するために必要となる署名生成・検証鍵（Ａ１３０２）を生成し，鍵保管部７０４に保管する（Ｓ１１０５）。これらの鍵情報は，ＡＥＳのような共通鍵暗号アルゴリズムに基づくものであってもよいし，ＲＳＡのような公開鍵暗号アルゴリズムに基づくものであってもよい。また，鍵情報は複数あってもよいし，一つの鍵情報を様々な用途に利用してもよい。次に，端末２０に対してレスポンス（Ａ１１０２）を送信する。
【００８２】
図１２は，図７から図９までのフローを実施するために，ＩＣタグ１０に対して実施する初期化フローを示した図である。
【００８３】
まず，端末２０のコマンド生成部２０２は，ＩＣタグ初期化処理要求を行う（Ｓ１２０１）。次に，初期化装置７０の初期化情報生成部７０３に対してＩＣタグ初期化処理要求（Ａ１２０１）を送信する。
【００８４】
次に，初期化装置７０の初期化情報生成部７０３は，ＩＣタグ１０のＩＤ記憶部１０６に設定するＩＤを生成する（Ｓ１２０２）。次に，ＩＣタグ１０の認証情報記憶部１０７に設定する認証情報（Ａ１２０５）を生成する（Ｓ１２０３）。認証情報（Ａ１２０５）は，ＩＤ（Ａ１２０３）を元に生成してもよいし，鍵保管部７０４に保管している認証情報生成鍵（Ａ１３０２）とＩＤ（Ａ１２０３）を利用して生成してもよい。次に，生成したＩＤ（Ａ１２０３）からＩＣタグ１０の署名格納部１０８に設定する署名（Ａ１２０７）を生成する（Ｓ１２０４）。署名（Ａ１２０７）は，ＩＤ（Ａ１２０３）のハッシュ値を署名としてもよいし，鍵保管部７０４に保管されているＩＤ検証鍵を用いて生成してもよい。次に，生成したＩＤ（Ａ１２０３）と認証情報（Ａ１２０５）と署名（Ａ１２０７）を端末２０に送信する。
【００８５】
次に，端末２０のコマンド生成部２０２は，初期化装置７０の初期化情報生成部７０３から受信したＩＤ（Ａ１２０３）をＩＣタグ１０に送信する。
【００８６】
次に，ＩＣタグ１０は，受信したＩＤ（Ａ１２０３）をＩＤ記憶部１０６に書き込む（Ｓ１２０５）。次に，書き込んだ結果を示すレスポンス（Ａ１２０４）を端末２０に送信する。
【００８７】
次に，端末２０のコマンド生成部２０２は，初期化装置７０の初期化情報生成部７０３から受信した認証情報（Ａ１２０５）を，ＩＣタグ１０に送信する。
【００８８】
次に，ＩＣタグ１０は，受信した認証情報（Ａ１２０５）を認証情報記憶部１０７に書き込む（Ｓ１２０６）。次に，書き込んだ結果を示すレスポンス（Ａ１２０６）を端末２０に送信する。
【００８９】
次に，端末２０のコマンド生成部２０２は，初期化装置７０の初期化情報生成部７０３から受信した署名（Ａ１２０７）を，ＩＣタグ１０に送信する。
【００９０】
次に，ＩＣタグ１０は，受信した署名（Ａ１２０７）を署名記憶部１０８に書き込む（Ｓ１２０７）。次に，書き込んだ結果を示すレスポンス（Ａ１２０８）を端末２０に送信する。
【００９１】
図１３は，図７から図９までのフローを実施するために，ＩＣカード３０に対して実施する初期化フローを示した図である。
【００９２】
まず，端末２０のコマンド生成部２０２は，ＩＣカード初期化処理要求を行う（Ｓ１３０１）。次に，初期化装置７０の初期化情報生成部７０３に対してＩＣカード初期化処理要求（Ａ１３０１）を送信する。次に，鍵保管部７０４から認証情報生成鍵を読み出す（Ｓ１３０２）。次に，鍵保管部７０４からＩＤ検証鍵を読み出す（Ｓ１３０３）。次に，鍵保管部７０４から暗号・復号鍵を読み出す（Ｓ１３０４）。次に，鍵保管部７０４から署名生成・検証鍵を読み出す（Ｓ１３０５）。次に，端末２０に対して，鍵保管部７０４より読みだした認証情報生成鍵，ＩＤ検証鍵，暗号・復号鍵，署名生成・検証鍵（Ａ１３０２）を送信する。
【００９３】
次に，端末２０のコマンド生成部２０２は，受信した認証情報生成鍵，ＩＤ検証鍵，暗号・復号鍵，署名生成・検証鍵（Ａ１３０２）をＩＣカード３０に送信する。
【００９４】
次に，ＩＣカード３０は，受信した認証情報生成鍵，ＩＤ検証鍵，暗号・復号鍵，署名生成・検証鍵（Ａ１３０２）を鍵保管部３１１に書き込む（Ｓ１３０６）。次に，書き込んだ結果を示すレスポンス（Ａ１３０３）を端末２０に送信する。なお，本フローは，サーバ装置５０を初期化する際にも同様に適用可能である。サーバ装置５０で利用する場合には，初期化装置７０の鍵保管部７０４から暗号・復号鍵と署名生成・検証鍵を読み出し，サーバ装置５０の鍵保管部５０３に格納する。
【００９５】
これらの手順を踏むことにより，国際標準に準拠したＩＣタグの真正性をサーバにおいて検証することが可能となる。また，ＩＣカード内にログ情報を順次格納してゆくため，正当なユーザの不正なＩＤ読み取り等の行為を検知することが可能となる。
【００９６】
なお，本発明は，上記の実施形態に限定されるものではなく，その要旨の範囲内で様々な変形が可能である。
【００９７】
たとえば，ＩＣカード３０に端末２０の機能が含まれ，ＩＣカード単体でネットワーク４０と接続が可能な場合や，サービス提供者装置５０や初期化装置７０の機能が端末２０に含まれ，ネットワーク４０を使用せずにデータの送受信を行う場合などである。
【００９８】
該実施形態の場合においてもＩＣタグ１０やＩＣカード３０やデータベース装置６０や初期化装置７０において行う処理に変化はない。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施形態が適用されたＩＣタグの真正性保証システムの機能構成を説明するための図である。
【図２】図１に示すＩＣタグのハードウェア構成を示す図である。
【図３】図１に示す端末のハードウェア構成を示す図である。
【図４】図１に示すＩＣカードのハードウェア構成を示す図である。
【図５】図１に示すサーバ装置のハードウェア構成を示す図である。
【図６】本発明の一実施形態が適用されたＩＣタグの真正性保証システムで実施するフローを例示する図である。
【図７】本発明の一実施形態が適用されたＩＣタグの真正性保証システムで実施するフローのうちＩＣタグの真正性検証フローを例示する図である。
【図８】本発明の一実施形態が適用されたＩＣタグの真正性保証システムで実施するフローのうちデータ参照フローを例示する図である。
【図９】本発明の一実施形態が適用されたＩＣタグの真正性保証システムで実施するフローのうちデータ更新フローを例示する図である。
【図１０】本発明の一実施形態で利用するログ情報の構造を例示する図である。
【図１１】本発明の一実施形態で利用する初期化装置を初期化する際に実施するフローを例示する図である。
【図１２】本発明の一実施形態で利用するＩＣタグを初期化する際に実施するフローを例示する図である。
【図１３】本発明の一実施形態で利用するＩＣカードを初期化する際に実施するフローを例示する図である。
【符号の説明】
【０１００】
１０：ＩＣタグ，１０ａ：入出力部，１０ｂ：照合部，１０ｃ：記憶部，１０ｄ：内部通信線，２０：端末，２０ａ：通信装置，２０ｂ：入出力装置，２０ｃ：ＩＣタグ入出力装置，２０ｄ：ＩＣカード入出力装置，２０ｅ：記憶装置，２０ｆ：ＣＰＵ，２０ｇ：メモリ，２０ｈ：読取装置，２０ｉ：記憶媒体，２０ｊ：内部信号線，３０：ＩＣカード，３０ａ：入出力装置，３０ｂ：耐タンパメモリ，３０ｃ：ＣＰＵ，３０ｄ：耐タンパ記憶装置，４０：ネットワーク，５０：サーバ装置，５０ａ：通信装置，５０ｂ：入出力装置，５０ｃ：記憶装置，５０ｄ：ＣＰＵ，５０ｅ：メモリ，５０ｆ：読取装置，５０ｇ：記憶媒体，５０ｈ：内部信号線，１０１：データ送受信部，１０２：コマンド解析部，１０３：ＩＤ出力部，１０４：認証部，１０５：署名出力部，１０６：ＩＤ記憶部，１０７：認証情報記憶部，１０８：署名記憶部，１０９：認証状態保持部，２０１：通信部，２０２：コマンド生成部，２０３：ＩＣタグアクセス部，２０４：ＩＣカードアクセス部，３０１：データ送受信部，３０２：コマンド解析部，３０３：本人認証部，３０４：認証情報生成部，３０５：タグ検証部，３０６：データ暗号化部，３０７：データ復号部，３０８：署名生成部，３０９：署名検証部，３１０：ログ情報保持部，３１１：鍵保管部，３１２：本人認証情報保管部，３１３：ＩＤ保持部，５０１：通信部，５０２：コマンド生成部，５０３：鍵保管部，５０４：サービス提供部，５０５：データベースアクセス部，６０１：データ送受信部，６０２：データ保管部，７０１：通信部，７０２：コマンド生成部，７０３：初期化情報生成部，７０４：鍵保管部，７０５：初期化情報保管部，Ａ７０１：本人認証情報，時刻情報，Ａ７０２：認証結果，Ａ７０３：ＩＤ読出し要求，Ａ７０４：レスポンス，Ａ７０５：署名読出し要求，Ａ７０６：認証情報状態エラー，Ａ７０７：レスポンス，Ａ８０１：データ参照要求，Ａ８０２：暗号化ログ，Ａ８０３：署名検証エラー，Ａ８０４：ＩＤ検証エラー，Ａ８０５：ＩＤ，Ａ８０６：データ，Ａ８０７：暗号化データ，Ａ８０８：署名検証エラー，Ａ８０９：データ検証エラー，Ａ８１０：レスポンス，Ａ９０１：データ更新要求，Ａ９０２：暗号化ログ，Ａ９０３：署名検証エラー，Ａ９０４：ＩＤ検証エラー，Ａ９０５：ＩＤ，更新データ，Ａ９０６：レスポンス，Ａ９０７：署名付きレスポンス，Ａ９０８：署名検証エラー，Ａ９０９：レスポンス検証エラー，Ａ９１０：レスポンス，Ａ１００１：ログ情報，Ａ１００２：シーケンス番号，Ａ１００３：時刻情報，Ａ１００４：ユーザＩＤ，Ａ１００５：タグＩＤ，Ａ１００６：ステータス，Ａ１００７：処理内容，Ａ１００８：更新データ，Ａ１１０１：初期化装置初期化処理要求，Ａ１１０２：レスポンス，Ａ１２０１：ＩＣタグ初期化処理要求，Ａ１２０２：ＩＤ，認証情報，署名，Ａ１２０３：ＩＤ，Ａ１２０４：レスポンス，Ａ１２０５：認証情報，Ａ１２０６：レスポンス，Ａ１２０７：署名，Ａ１２０８：レスポンス，Ａ１３０１：ＩＣカード初期化処理要求，Ａ１３０２：認証情報生成鍵，ＩＤ検証鍵，暗号・復号鍵，署名生成・検証鍵，Ａ１３０３：レスポンス。
【図１】
2009053877.tif 000003
【図２】
2009053877.tif 000004
【図３】
2009053877.tif 000005
【図４】
2009053877.tif 000006
【図５】
2009053877.tif 000007
【図６】
2009053877.tif 000008
【図７】
2009053877.tif 000009
【図８】
2009053877.tif 000010
【図９】
2009053877.tif 000011
【図１０】
2009053877.tif 000012
【図１１】
2009053877.tif 000013
【図１２】
2009053877.tif 000014
【図１３】
2009053877.tif 000015