(57)【要約】【課題】タグ技術におけるリプレイアタックに対する耐性を強化する。【解決手段】検証サーバ装置１０が正当性を認めたタグ出力情報の更新回数を示す確定更新回数情報１０４を、検証サーバ装置１０のメモリ１１に格納しておく。そして、通信部１２が、検証対象のタグ出力情報の入力を受け付け、抽出部１３が、この検証対象のタグ出力情報の更新回数を抽出する。次に、比較部１４が、抽出部１３が抽出した検証対象のタグ出力情報の更新回数と確定更新回数情報が示す更新回数とを比較し、判定部１５が、比較部１４での比較結果に従い、検証対象のタグ出力情報の正当性を判定する。  【選択図】  図１
2007129649.tif 000002
【特許請求の範囲】
【請求項１】
逐次更新されるタグ出力情報の正当性を検証する検証サーバ装置であって、
正当性を認めたタグ出力情報の更新回数を示す確定更新回数情報を格納したメモリと、
検証対象のタグ出力情報の入力を受け付ける入力部と、
上記検証対象のタグ出力情報の更新回数を抽出する抽出部と、
上記抽出部が抽出した更新回数と、上記確定更新回数情報が示す更新回数とを比較する比較部と、
上記比較部での比較結果に従い、検証対象のタグ出力情報の正当性を判定する判定部と、
を有することを特徴とする検証サーバ装置。
【請求項２】
請求項１に記載の検証サーバ装置であって、
上記メモリは、
各更新時点のタグ出力情報と、それらの更新回数を示す更新回数情報と、上記確定更新回数情報とを、タグ装置毎に対応付けた対応表を格納し、
上記抽出部は、
上記対応表を検索し、上記検証対象のタグ出力情報に対応する更新回数情報と、上記確定更新回数情報とを抽出する、
ことを特徴とする検証サーバ装置。
【請求項３】
請求項１に記載の検証サーバ装置であって、
上記タグ出力情報は、
タグ装置から出力される度に更新される情報であり、
上記確定更新回数情報は、
正当性を認めたタグ出力情報の更新回数の最大値を示す情報であり、
上記判定部は、
上記抽出部が抽出した更新回数が、上記確定更新回数情報が示す更新回数以下であると判断された場合に、検証対象のタグ出力情報が不正であると判定し、上記抽出部が抽出した更新回数が、上記確定更新回数情報が示す更新回数よりも多いと判断された場合に、検証対象のタグ出力情報が正当であると判定する、
ことを特徴とする検証サーバ装置。
【請求項４】
請求項１に記載の検証サーバ装置であって、
上記判定部によって検証対象のタグ出力情報が正当であると判定された場合に、当該対象のタグ出力情報の更新回数を示す情報を、新たな上記確定更新回数情報とする更新部を有する、
ことを特徴とする検証サーバ装置。
【請求項５】
タグ出力情報を出力するタグ装置と、当該タグ出力情報の正当性を検証する検証サーバ装置とを含む検証システムであって、
上記タグ装置は、
逐次更新されるタグ出力情報を出力する出力部を有し、
上記検証サーバ装置は、
正当性を認めたタグ出力情報の更新回数を示す確定更新回数情報を格納したメモリと、
検証対象のタグ出力情報の入力を受け付ける入力部と、
上記検証対象のタグ出力情報の更新回数を抽出する抽出部と、
上記抽出部が抽出した更新回数と、上記確定更新回数情報が示す更新回数とを比較する比較部と、
上記比較部での比較結果に従い、検証対象のタグ出力情報の正当性を判定する判定部と、
を有することを特徴とする検証システム。
【請求項６】
逐次更新されるタグ出力情報の正当性を検証する検証サーバ装置のタグ検証方法であって、
正当性を認めたタグ出力情報の更新回数を示す確定更新回数情報をメモリに格納するステップと、
入力部が、検証対象のタグ出力情報の入力を受け付けるステップと、
抽出部が、上記検証対象のタグ出力情報の更新回数を抽出するステップと、
比較部が、上記抽出部が抽出した更新回数と、上記確定更新回数情報が示す更新回数とを比較するステップと、
判定部が、上記比較部での比較結果に従い、検証対象のタグ出力情報の正当性を判定するステップと、
を有することを特徴とするタグ検証方法。
【請求項７】
請求項１から４の何れかに記載の検証サーバ装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ技術を応用したタグ技術の分野に関し、特に、認証、真贋判定及びプライバシ保護の技術分野に関する。
【背景技術】
【０００２】
物品や人に識別子〔例えば、商品シリアルナンバーやＩＳＢＮ（International Standard Book Number），バーコード，パスポート番号等〕を割り当てる場合、基本的に一つの物品や人、或いは一つのカテゴリに対して一意となる識別子がただ一つ与えられる。また、ＩＳＢＮ，バーコード等は、一般にその番号体系が公開されており、識別子を見れば如何なる商品であるかが誰にでも特定できる。また、従来のバーコードや商品シリアルナンバー等の識別子は物品或いはタグ等に印刷されて提供されており、その識別子を認識できるのは識別子を目視できる者に限られていた。
【０００３】
これに対し、近年、印刷の代わりにＲＦ（Radio Frequency）タグを用いて物品に識別子を付する研究がさかんに行われている（例えば、非特許文献１参照）。一般に、ＲＦタグとは、アンテナとＩＣチップ等から構成される微小な装置であり、外部の無線装置（ＲＦＩＤリーダ）と無線通信で情報のやり取りを行うことができるものである。無線装置は、無線が到達できる範囲内にＲＦタグが存在する限り、当該ＲＦタグ内に格納されたバーコードや商品シリアルナンバー等を一度に大量に取得することができるため、ＲＦタグを物品に添付或いは物品内に格納しておけば、このＲＦタグを物品の流通や在庫の管理等に活用することができる。また、ＲＦＩＤを用いた入退室管理システムや、高級ブランド品や紙幣或いはイベントや施設の入場券等にＲＦＩＤタグを用いる応用など、ＲＦＩＤを用いた認証や真贋判定の研究もさかんに行われている。
【０００４】
しかし、一般に、ＲＦＩＤを使って物品を管理する場合、ＲＦタグの機能を明示的に停止させない限り、「最終消費者等が如何なる物品を所持しているか」「物品の現在位置（或いは所有者の現在位置）はどこか」「その他ＲＦタグが提供する情報（気温，湿度等）」等のプライバシ情報が外部の無線装置によって不正に取得されてしまう可能性がある。すなわち、ＲＦタグを用いて物品管理を行った場合、物品の所有者が気付かぬうちにプライバシ情報が任意の第三者に取得されてしまい、結果的に物品の所持者が無意識のうちに何らかの監視を受けていることとなってしまう。
【０００５】
また、ＲＦＩＤを用いて認証や真贋判定を行う場合は、ＲＦＩＤタグはＲＦＩＤリーダからの要求に従って誰にでも識別できるＩＤを出力するので、特に無意識の監視を受ける可能性が大きい。そのため、ＲＦＩＤを用いた認証や真贋判定とプライバシ保護を両立させることはＲＦＩＤの分野で大きな課題となっていた。
このようなＲＦＩＤのプライバシ保護の問題に対し、大久保らは、以下の方法を提案した（例えば、非特許文献２参照）。
大久保らの方法
準備：ｈ（ｘ），ｇ（ｘ）を互いに相関のない２つの暗号学的ハッシュ（Hash）関数とする。
【０００６】
タグ初期設定：タグｉのメモリ領域ｓに乱数ｓｉを記録する。ｉ，ｓｉの組は鍵となる情報である。
タグの処理：タグｉはＩＤが要求されたらｇ（ｓｉ）を出力し、メモリ領域ｓにｈ（ｓｉ）を上書き保存する。
サーバの初期設定：サーバは、ｉ，ｓｉの対応表から、あり得るタグの出力ｇ（ｈｊ（ｓｉ））を予め計算し、ｇ（ｈｊ（ｓｉ））とｉとの対応表を作る。
サーバ装置の処理：タグから与えられたｇ（ｓｉ）を検索キーとしてｇ（ｈｊ（ｓｉ））とｉとの対応表を検索し、ｇ（ｓｉ）に対応するｉを出力する。
【０００７】
このようなｈ（ｘ）を一方向性関数、ｇ（ｘ）をランダムオラクルとする大久保らの方法は上記のプライバシの問題を解決する。すなわち、タグはｇ（ｓｉ）を出力する度にメモリ領域ｓの値ｓｉを更新するため、第三者からみると、タグが各時点において出力するｇ（ｓｉ）は相互にランダムな関係にみえる。その結果、第三者はタグが出力した情報から上記のプライバシ情報を取得することが困難となる。
【非特許文献１】EPC global, Inc.、”EPCglobal”、[online]、[平成１６年９月９日検索]、インターネット＜http://www.epcglobalinc.org/＞
【非特許文献２】Miyako Ohkubo, Koutarou Suzuki, Shingo Kinosita, "Cryptographic Approach to "Privacy-Friendly" Tags", In RFID Privacy Workshop, MIT, MA, USA, November 2003．
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上述の大久保らの方法は、リプレイアタックに弱いという問題点がある。すなわち、タグから出力された情報を第三者が入手した場合、この第三者は、この情報を何度でも不正に使用することができる。特に、ＲＦＩＤを用いて認証処理を行う場合、第三者は、タグから出力された情報を取得し、これを利用するだけで、不正に認証を受けることができる。
本発明はこのような点に鑑みてなされたものであり、リプレイアタックに強いタグ技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では上記課題を解決するために、検証サーバ装置が正当性を認めたタグ出力情報の更新回数を示す確定更新回数情報を、検証サーバ装置のメモリに格納しておく。そして、入力部が、検証対象のタグ出力情報の入力を受け付け、抽出部が、この検証対象のタグ出力情報の更新回数を抽出する。次に、比較部が、抽出部が抽出した更新回数と確定更新回数情報が示す更新回数とを比較し、判定部が、比較部での比較結果に従い、検証対象のタグ出力情報の正当性を判定する。
すなわち、判定部は、既に検証サーバ装置で検証対象とされ正当性が認められたタグ出力情報の更新回数と、検証対象となっているタグ出力情報の更新回数とを比較し、その比較結果から検証対象となっているタグ出力情報の正当性を判断する。
【００１０】
また、本発明において好ましくは、メモリは、各更新時点のタグ出力情報と、それらの更新回数を示す更新回数情報と、確定更新回数情報とを、タグ装置毎に対応付けた対応表を格納し、抽出部は、対応表を検索し、検証対象のタグ出力情報に対応する更新回数情報と、確定更新回数情報とを抽出する。
また、本発明において好ましくは、タグ出力情報は、タグ装置から出力される度に更新される情報であり、確定更新回数情報は、正当性を認めたタグ出力情報の更新回数の最大値を示す情報であり、判定部は、抽出部が抽出した更新回数が、確定更新回数情報が示す更新回数以下であると判断された場合に、検証対象のタグ出力情報が不正であると判定し、抽出部が抽出した更新回数が、確定更新回数情報が示す更新回数よりも多いと判断された場合に、検証対象のタグ出力情報が正当であると判定する。
【００１１】
ここで、タグ出力情報はタグ装置から出力される度に更新されるのだから、現在検証を行っているタグ出力情報が正当なものであれば、その更新回数が、過去に検証サーバ装置で検証され正当性が認められたタグ出力情報の更新回数以下であることはない。判定部は、これを判断してリプレイアタックを検出する。
また、本発明において好ましくは、判定部によって検証対象のタグ出力情報が正当であると判定された場合に、当該対象のタグ出力情報の更新回数を示す情報を、新たな確定更新回数情報とする。
【発明の効果】
【００１２】
上述のように、本発明では、タグ出力情報によりリプレイアタックを検出でき、リプレイアタックに対する高い耐性を実現することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。
〔第１の実施の形態〕
まず、本発明における第１の実施の形態について説明する。
＜全体構成＞
図１は、本形態における検証システム１の構成を例示したブロック図である。
図１に例示するように、本形態の検証システム１は、逐次更新されるタグ出力情報を出力するタグ装置２０と、タグ装置２０からタグ出力情報を読み取ってネットワーク４０を通じて検証サーバ装置１０に送信するリーダ装置３０と、送信されたタグ出力情報の正当性を検証する検証サーバ装置１０とを有する。なお、説明の簡略化のため、図１では一つのタグ装置２０のみを図示しているが、実際は複数のタグ装置２０が存在する。また、検証サーバ装置１０及びリーダ装置３０も一つである必要はなく、２以上の検証サーバ装置１０やリーダ装置３０によって本システムを構成することとしてもよい。また、図１における矢印はデータの流れを示すが、制御部１７，２５，３３及び一時メモリ１７ａ，２５ａ，３３ａに入出力されるデータの流れの記載は省略してある。
【００１４】
＜検証サーバ装置１０の構成＞
次に、検証サーバ装置１０の構成について説明する。
［機能構成］
図１に例示するように、検証サーバ装置１０は、メモリ１１、通信部１２（「入力部」に相当）、抽出部１３、比較部１４、判定部１５、更新部１６及び制御部１７を有している。また、制御部１７は一時メモリ１７ａを有しており、メモリ１１には、タグ識別子１０１、更新回数情報１０２、タグ出力情報１０３及び確定更新回数情報１０４が対応付けられた対応表１００が格納されている。
【００１５】
［データ構成］
図２は、メモリ１１に格納される対応表１００のデータ構成を例示した図である。
上述のように、対応表１００は、タグ識別子１０１、更新回数情報１０２、タグ出力情報１０３及び確定更新回数情報１０４を対応付けたテーブルである。
ここで、タグ識別子１０１は、各タグ装置２０を一意に識別するための識別子であり、例えば、各タグ装置２０と一対一で対応するシリアル番号がタグ識別子１０１に相当する。本形態では、このタグ識別子１０１を変数ｉ〔ｉ＝１，２，…，Ｎ（Ｎはタグ装置２０の総数）〕で表現する。
【００１６】
また、更新回数情報１０２は、タグ出力情報１０３の更新回数を示す値である。本形態では、この更新回数情報１０２を変数ｊ〔ｊ＝１，２，…，Ｍ（Ｍはタグ出力情報１０３の更新回数の上限）〕で表現する。
また、タグ出力情報１０３は、各タグ装置２０に対応する各更新時点におけるタグ出力情報である。後で詳細に説明する通り、各タグ装置２０が出力するタグ出力情報は、各タグ装置２０によって逐次更新される。本形態のタグ出力情報１０３は、各更新時点の各タグ出力情報をタグ装置２０毎に予め算出しておくことにより得られる。より具体的には、本形態の例のタグ出力情報１０３は、各タグ装置２０に一対一で対応する種（シード）情報Ｓｉ，０（ｉ＝１，２，…，Ｎ）にハッシュ関数ｈをｊ（ｊ＝１，２，…，Ｍ）回施し（ｈｊ（Ｓｉ，０））、さらに、ハッシュ関数ｇを施して生成したｇ（ｈｊ（Ｓｉ，０））である。そして、このように生成された各タグ出力情報１０３〔ｇ（ｈｊ（Ｓｉ，０））〕は、それぞれの生成に用いられたタグ識別子１０１（ｉ＝１，２，…，Ｎ）及び更新回数情報１０２（ｊ＝１，２，…，Ｍ）に対応付けられる（図２参照）。なお、ハッシュ関数ｈ，ｇは互いに独立である、また、ハッシュ関数ｈ，ｇの具体例としては、ＳＨＡ−１等を例示できる。
【００１７】
また、確定更新回数情報１０４は、検証サーバ装置１０が正当性を認めた（詳細は後述）タグ出力情報の更新回数の（タグ装置２０毎の）最大値を示す情報である。本形態では、この確定更新回数情報１０４を変数ｆｊｉ（ｉ＝１，２，…，Ｎ）で表現する。また、この確定更新回数情報１０４は、対応するタグ装置２０のタグ識別子１０１に対応付けられる。図２の例の場合、ｉ＝１のタグ識別子１０１に対して、ｆｊｉ＝５の確定更新回数情報１０４が対応付けられ、ｉ＝２のタグ識別子１０１に対して、ｆｊｉ＝１２の確定更新回数情報１０４が対応付けられている。
【００１８】
［ハードウェア構成］
図３は、本形態の検証サーバ装置１０をハードウェア構成の面から例示したブロック図である。
図３に例示するように、本形態の検証サーバ装置１０は、ＣＰＵ（Central Processing Unit）１０ａ、出力部１０ｂ、通信部１０ｃ、ＲＡＭ（Random Access Memory）１０ｄ、ＲＯＭ（Read Only Memory）１０ｅ、補助記憶装置１０ｆ及びバス１０ｇを有している。
【００１９】
この例のＣＰＵ１０ａは、制御部１０ａａ、演算部１０ａｂ及びレジスタ１０ａｃを有し、レジスタ１０ａｃに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、出力部１０ｂは、データが出力される出力端子、ディスプレイ等である。また、通信部１０ｃは、所定のプログラムを読み込んだＣＰＵ１０ａによって制御されるＬＡＮカード等である。また、ＲＡＭ１０ｄは、ＳＲＡＭ (Static Random Access Memory)、ＤＲＡＭ (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域１０ｄａ及び各種データが格納されるデータ領域１０ｄｂを有している。また、補助記憶装置１０ｆは、例えば、ハードディスク、ＭＯ（Magneto-Optical disc）、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域１０ｆａ及び各種データが格納されるデータ領域１０ｆｂを有している。また、バス１０ｇは、ＣＰＵ１０ａ、出力部１０ｂ、通信部１０ｃ、ＲＡＭ１０ｄ、ＲＯＭ１０ｅ及び補助記憶装置１０ｆを、情報のやり取りが可能なように接続する。
【００２０】
また、ＣＰＵ１０ａは、読み込まれたＯＳ（Operating System）プログラムに従い、補助記憶装置１０ｆのプログラム領域１０ｆａに格納されているプログラムをＲＡＭ１０ｄのプログラム領域１０ｄａに書き込む。同様にＣＰＵ１０ａは、補助記憶装置１０ｆのデータ領域１０ｆｂに格納されている各種データを、ＲＡＭ１０ｄのデータ領域１０ｄｂに書き込む。そして、このプログラムやデータが書き込まれたＲＡＭ１０ｄ上のアドレスがＣＰＵ１０ａのレジスタ１０ａｃに格納される。ＣＰＵ１０ａの制御部１０ａｂは、レジスタ１０ａｃに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すＲＡＭ１０ｄ上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部１０ａｂに順次実行させ、その演算結果をレジスタ１０ａｃに格納していく。
【００２１】
このような構成により、図１に例示した検証サーバ装置１０の機能構成が実現される。すなわち、図１のメモリ１１及び一時メモリ１７ａは、補助記憶装置１０ｆのデータ領域１０ｆｂ、ＲＡＭ１０ｄのデータ領域１０ｄｂ、ＣＰＵ１０ａのレジスタ１０ａｃ、その他のバッファメモリやキャッシュメモリ等の何れか、或いはこれらを併用した記憶領域に相当する。また、通信部１２は、上述のプログラムが読み込まれたＣＰＵ１０ａの制御のもと処理を実行する通信部１０ｃに相当する。また、抽出部１３、比較部１４、判定部１５、更新部１６及び制御部１７は、上述のプログラムが読み込まれたＣＰＵ１０ａに相当する。
【００２２】
＜タグ装置２０の構成＞
図１に例示するように、本形態のタグ装置２０は、メモリ２１、ハッシュ演算部２２，２３、通信部２４及び制御部２５を有する。なお、制御部２５は、一時メモリ２５ａを有する。
ここで、メモリ２１，一時メモリ２５ａは、例えば、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、フラッシュメモリ、ＮＶ（Nonvolatile）ＲＡＭ等の読書き可能なメモリである。また、ハッシュ演算部２２及びハッシュ演算部２３は、ハッシュ（ｈａｓｈ）関数ｇ，ｈを作用させ、その結果を出力するように構成された集積回路である。通信部２４は、無線或いは有線によってリーダ装置３にデータを出力するハードウェアである。具体的には、通信部２４は、例えば、ＮＲＺ符号やマンチェスター符号化やミラー符号や単極ＲＺ符号化等によって符号化・復号化を行う符号化・復号化回路、ＡＳＫ(Amplitude Shidt Keying)やＰＳＫ(Phase Shidt Keying)やＦＳＫ(Frequency Shidt Keying)等によって変・復調を行う変・復調回路、ダイポールアンテナやマイクロストリップアンテナやループコイルやコア入りコイル等のアンテナを有し、長波帯やＩＳＭ帯（Industry Science Medical band）の周波数を用いて信号の送受信を行う。また、制御部２５は、例えば、集積回路や、所定のプログラムが読み込まれたＣＰＵである。
【００２３】
＜リーダ装置３０の構成＞
本形態のリーダ装置３０は、通信部３１，３２及び制御部３３を有する。なお、制御部３３は、一時メモリ３３ａを有する。
ここで、通信部３１は、例えば、通信部２４の例と同様なハードウェアである。また、通信部３２は、例えば、ＬＡＮカード、モデム、ターミナルアダプター等であり、制御部３３は、例えば、集積回路や、所定のプログラムが読み込まれたＣＰＵである。また、一時メモリ３３ａは、ＮＶ（Nonvolatile）ＲＡＭ等の読書き可能なメモリである。
【００２４】
＜検証システム１の処理＞
図４は、本形態の検証システム１の処理を説明するためのフローチャートである。以下では、これを用い、検証システム１の処理について説明する。
［前処理］
前処理として、検証サーバ装置１０のメモリ１１に前述した（図２）対応表１００を格納しておく。なお、初期状態では、各タグ識別子１０１に対応する確定更新回数情報１０４をｆｊｉ＝０に設定する。
【００２５】
［タグ装置２０の処理］
以下では、タグ出力情報の更新を既にｊ回（ｊ＝１，２，…，Ｍ）行ったタグ装置２０がタグ出力情報を出力する際の処理を説明する。なお、タグ装置２０は、制御部２５の制御のもと、以下の処理を実行する。また、各処理に用いられるデータは、各処理の過程或いは終了後に一時メモリ２５ａに格納され、必要に応じて所定のハードウェアに読み込まれる。
まず、タグ装置２０は、ハッシュ演算部２３において、メモリ２１１から秘密値ｓｉ，ｊを読み出し（ステップＳ１）、そのハッシュ値であるタグ出力情報ｇ（ｓｉ，ｊ）を生成する（ステップＳ２）。このタグ出力情報ｇ（ｓｉ，ｊ）は、通信部２４に送られ、そこから無線或いは有線でリーダ装置３０に送信される（ステップＳ３）。
【００２６】
次に、ハッシュ演算部２３において、メモリ２１から読み出した秘密値ｓｉ，ｊのハッシュ値ｓｉ，ｊ＋１＝ｈ（ｓｉ，ｊ）を演算し（ステップＳ４）、このハッシュ値ｓｉ，ｊ＋１をメモリ２１に上書き保存する（メモリ２１１の秘密値ｓｉ，ｊを消去或いは退避させ、代わりに秘密値ｓｉ，ｊ＋１を格納する：ステップＳ５）。
＜リーダ装置３０の処理＞
リーダ装置３０は、制御部３３の制御のもと、以下の処理を実行する。
まず、リーダ装置３０は、通信部３１において、タグ装置２０から送信されたタグ出力情報ｇ（ｓｉ，ｊ）を受信し（ステップＳ６）、通信部３２に送る。通信部３２は、これを、ネットワーク４０を通じて検証サーバ装置１０に送信する（ステップＳ７）。
【００２７】
＜検証サーバ装置１０の処理＞
検証サーバ装置１０は、制御部１７の制御のもと、以下の処理を実行する。また、各処理に用いられるデータは、各処理の過程或いは終了後に一時メモリ１７ａに格納され、必要に応じて所定のハードウェアに読み込まれる。
まず、検証サーバ装置１０は、通信部１２において、リーダ装置３０から送信された検証対象のタグ出力情報ｇ（ｓｉ，ｊ）を受信する（入力を受け付ける：ステップＳ８）。このタグ出力情報ｇ（ｓｉ，ｊ）は抽出部１３に送られ、抽出部１３は、メモリ１１に格納された対応表１００を検索し、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）に対応するデータが存在するか否かを検証する（ステップＳ９）。すなわち、タグ出力情報ｇ（ｓｉ，ｊ）に一致するデータを、対応表１００のタグ出力情報１０３のカラムから検索する。ここで検証対象のタグ出力情報ｇ（ｓｉ，ｊ）に対応するデータが存在しなかった場合、判定部１５は、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）が不当（ＮＧ）である旨の判定結果を出力し（ステップＳ１１）、制御部１７は処理を終了させる。なお、タグ出力情報ｇ（ｓｉ，ｊ）が不当（ＮＧ）であると判定するとは、タグ出力情報ｇ（ｓｉ，ｊ）が認証処理に用いられているのであれば、認証を否認することを意味し、タグ出力情報ｇ（ｓｉ，ｊ）が真贋判定に用いられているのであれば、贋作と判定することを意味する。
【００２８】
一方、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）に対応するデータが存在した場合、抽出部１３は、このタグ出力情報ｇ（ｓｉ，ｊ）に一致するタグ出力情報１０３のデータｇ（ｈｊ（ｓｉ，１））に対応付けられている更新回数情報１０１（ｉ）と、更新回数情報１０２（ｊ）と、確定更新回数情報１０４（ｆｊｉ）とを抽出する（ステップＳ１２）。抽出された更新回数情報１０２（ｊ）と、確定更新回数情報１０４（ｆｊｉ）とは、比較部１４に送られ、比較部１４は、ｊ＞ｆｊｉであるか否かを検証する（ステップＳ１３）。ここで、ｊ＞ｆｊｉでなかった場合（抽出部１３が抽出した更新回数情報１０１が示す更新回数ｉが、確定更新回数情報１０４が示す更新回数ｆｊｉ以下であると判断された場合）、判定部１５は、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）が不当（ＮＧ）である旨の判定結果を出力し（ステップＳ１１）、制御部１７は処理を終了させる。
【００２９】
一方、ｊ＞ｆｊｉであった場合（抽出部１３が抽出した更新回数情報１０１が示す更新回数ｉが、確定更新回数情報１０４が示す更新回数ｆｊｉよりも多いと判断された場合）、判定部１５が、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）が正当（ＯＫ）である旨の判定結果を出力する（ステップＳ１４）。さらに、更新部１６が、抽出部１３で抽出された更新回数情報１０１（ｉ）と、更新回数情報１０２（ｊ）とを受け取り、このｉに対応付けられている確定更新回数情報ｆｊｉの値をｊとする対応表１００の更新を行う（ステップＳ１５）。これにより、確定更新回数情報ｆｊｉが、検証サーバ装置１０が正当性を認めたタグ出力情報の更新回数の最大値を示す値として保存される。なお、タグ出力情報ｇ（ｓｉ，ｊ）が正当（ＯＫ）であると判定するとは、タグ出力情報ｇ（ｓｉ，ｊ）が認証処理に用いられているのであれば、認証を行うことを意味し、タグ出力情報ｇ（ｓｉ，ｊ）が真贋判定に用いられているのであれば、贋作でないと判定することを意味する。
【００３０】
＜本形態の効果＞
以上説明した通り、本形態では、リプレイアタックに用いられたタグ出力情報の更新回数が、過去に検証サーバ装置が正当であると判断したタグ出力情報の更新回数以下となる点に着目し、これらの更新回数を比較することによってリプレイアタックを検出する構成をとった。
本形態のような構成において攻撃者がタグ装置を完全に偽造しようとする場合、この攻撃者は、各タグ装置の内部に書き込まれる擬似乱数等の種情報を取得しなければならない。しかし、暗号学的擬似乱数の性質より、ＲＦＩＤプロトコルからだけではそれを実行することは困難である。
【００３１】
また、攻撃者がタグ装置から予めタグ出力情報を取得し、それを発信するタグ装置を偽造したとしても、本物のタグ装置がサーバ装置に１回アクセスすれば、偽造されたタグ装置から出力されるタグ出力情報は全て不正である（否認或いは贋作である）と判断されることになる。
〔第２の実施の形態〕
次に、本発明における第２の実施の形態について説明する。
本形態は第１の実施の形態の変形例である。第１の実施の形態では、検証サーバ装置１０が、想定し得るタグ出力情報を予め計算しておいたのに対し、第２の実施の形態では、検証を行う度に検証サーバ装置が種情報からタグ出力情報を生成し、検証対象のタグ出力情報と比較する。この点が第１の実施の形態と第２の実施の形態との相違点である。以下では、第１の実施の形態との相違点を中心に説明し、第１の実施の形態と共通する事項については説明を省略する。
【００３２】
＜構成＞
図５は、本形態における検証システム２００の構成を例示したブロック図である。なお、第１の実施の形態と共通する部分については、図１と同じ符号を付した。
検証システム２００の第１の実施の形態との相違点は、検証サーバ装置１０の代わりに検証サーバ装置２１０を用いる点のみである。以下では、検証サーバ装置２１０の構成のみを説明する。
検証サーバ装置２１０の検証サーバ装置１０との相違点は、対応表１００を格納するメモリ１１の代わりに対応表３００を格納するメモリ２１１を配する点、抽出部１３の代わりに抽出部２１３を配する点のみである。ここで、対応表３００は、タグ識別子３０１（ｉ）と、種情報３０２（ｓｉ，０）と、確定更新回数情報３０４（ｆｊｉ）とを対応付けたテーブルである。抽出部１３と抽出部２１３との実質的な差異については処理の説明の中で示す。
【００３３】
＜検証システム２２０の処理＞
次に、本形態の検証システム２００の処理について説明する。なお、タグ装置２０及びリーダ装置３０の処理は第１の実施の形態と同じであるため説明を省略し、以下では、検証サーバ装置２１０の処理のみを説明する。
［検証サーバ装置２１０の処理］
図６は、本形態の検証サーバ装置２１０の処理を説明するためのフローチャートである。以下では、これを用い、検証サーバ装置２１０の処理について説明する。
【００３４】
検証サーバ装置２１０は、まず、通信部１２において、リーダ装置３０から送信された検証対象のタグ出力情報ｇ（ｓｉ，ｊ）を受信する（入力を受け付ける：ステップＳ２１）。これをトリガに制御部１７は、変数ｎに１を代入し、その変数ｎを一時メモリ１７ａに格納する（ステップＳ２２）。次に、一時メモリ１７ａに格納されたｎが抽出部２１３に送られ、抽出部２１３は、これを用いてメモリ２１１の対応表３００から種情報３０２（ｓｎ，０）を抽出する（ステップＳ２３）。次に、制御部１７は、変数ｍに０を代入し、このｍを一時メモリ１７ａに格納する（ステップＳ２４）。次に、一時メモリ１７ａに格納されたｍが抽出部２１３に送られ、抽出部２１３は、これと種情報３０２（ｓｎ，０）とを用いてｇ（ｈｍ（ｓｎ，０））を算出する（ステップＳ２５）。次に、ステップＳ２１で受信されたタグ出力情報ｇ（ｓｉ，ｊ）が抽出部２１３に送られ、抽出部２１３は、このタグ出力情報ｇ（ｓｉ，ｊ）と、算出したｇ（ｈｍ（ｓｎ，０））とが一致するか否かを比較する（ステップＳ２６）。
【００３５】
ここで、これらが一致しないと判断された場合、制御部１７は、一時メモリ１７ａに格納されているｍに１を加算した値を新たなｍとして一時メモリ１７ａに格納する（ステップＳ２８）。そして、制御部１７は、ｍ＞Ｍ（Ｍは更新回数の上限）であるか否かを検証し、ｍ＞Ｍでなければ処理をステップＳ２５に戻す。一方、ｍ＞Ｍであれば、制御部１７は、一時メモリ１７ａに格納されているｎがＮ（Ｎはタグ装置の総数）であるか否かを検証し、ｎ＝Ｎでなければ、ｎに１を加算した値を新たなｎとして一時メモリ１７ａに格納し（ステップＳ３１）、処理をステップＳ２３戻す。一方、ｎ＝Ｎであれば、制御部１７は判定部１５に指令を与え、判定部１５は、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）が不当である旨の情報を出力し（ステップＳ３４）、制御部１７は処理を終了させる。
【００３６】
一方、ステップＳ２７において、抽出部２１３が、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）と、算出したｇ（ｈｍ（ｓｎ，０））とが一致すると判断した場合（すなわち、ｎ＝ｉ，ｍ＝ｊ）、抽出部２１３は、種情報ｓｎ，０（すなわち、ｓｉ，０）に対応する確定更新回数情報３０４（ｆｊｉ）を、メモリ２１１の対応表３００から抽出する（ステップＳ３２）。この確定更新回数情報３０４（ｆｊｉ）と値ｊ＝ｍ（「抽出部２１３が抽出した検証対象のタグ出力情報の更新回数」に相当）とは比較部１４に送られ、比較部１４は、ｊ＞ｆｊｉであるか否かを判断する（ステップ３３）。この判断結果は判定部１５に送られる。そして、この判断結果がｊ＞ｆｊｉでないと判断されたものであった場合、判定部１５は、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）が不当である旨の情報を出力し（ステップＳ３４）、制御部１７が処理を終了させる。一方、この判断結果がｊ＞ｆｊｉであると判断されたものであった場合、判定部１５は、検証対象のタグ出力情報ｇ（ｓｉ，ｊ）が正当である旨の情報を出力する（ステップＳ３５）。この場合さらに、一時メモリ１７ａに格納されているｎ＝ｉとｍ＝ｊとが更新部１６に送られる。更新部１６は、対応表３００において、このｉに対応付けられている確定更新回数情報ｆｊｉをｊの値に更新する（ステップＳ１５）。
以上のような構成としても第１の実施の形態と同様な効果を得ることができる。
【００３７】
〔変形例等〕
なお、本発明は上述の各実施の形態に限定されるものではない。
例えば、上述の各実施の形態では、タグ出力情報は、タグ装置から出力される度に更新されることとした。そのため、抽出部１３，２１３が抽出した検証対象のタグ出力情報の更新回数が、確定更新回数情報１０４，３０４が示す更新回数以下である場合に、検証対象のタグ出力情報が不正であると判定する構成とした。しかし、タグ出力情報が毎回更新されないシステムに本発明を適用する場合には、抽出部１３，２１３が抽出した検証対象のタグ出力情報の更新回数が、確定更新回数情報１０４，３０４が示す更新回数未満である場合に、検証対象のタグ出力情報が不正であると判定する構成とすることが望ましい。
【００３８】
また、上述の各実施の形態では、過去に正当性が認められたタグ出力情報の更新回数の最大値を確定更新回数情報１０４，３０４とした。しかし、リプレイアタックの検出精度を落としてよいのであれば、過去に正当性が認められたタグ出力情報の更新回数の何れかを確定更新回数情報１０４，３０４としてもよい。
また、上述の各実施の形態では、ハッシュ関数によってタグ出力情報が更新される構成を例示したが、共通鍵暗号等その他の関数によってグ出力情報が更新される構成をとってもよい。
【００３９】
また、対応表１００，３００のデータ構成は、上述の各実施の形態のものに限定されない。対応表１００，３００を複数の表に分散させてもよいし、さらに他の要素を加えた対応表としてもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力或いは必要に応じて並列的に或いは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００４０】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送される度に、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００４１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００４２】
本発明の産業上の利用分野としては、例えば、ＲＦＩＤタグを用いた認証処理、真贋判定処理、物流管理処理等を例示できる。
【図面の簡単な説明】
【００４３】
【図１】図１は、第１の実施の形態における検証システムの構成を例示したブロック図である。
【図２】図２は、第１の実施の形態における対応表のデータ構成を例示した図である。
【図３】図３は、第１の実施の形態の検証サーバ装置をハードウェア構成の面から例示したブロック図である。
【図４】図４は、第１の実施の形態の検証システムの処理を説明するためのフローチャートである。
【図５】図５は、第２の実施の形態における検証システムの構成を例示したブロック図である。
【図６】図６は、第２の実施の形態の検証サーバ装置の処理を説明するためのフローチャートである。
【符号の説明】
【００４４】
１，２００  検証システム
１０，２１０  検証サーバ装置
【図１】
2007129649.tif 000003
【図２】
2007129649.tif 000004
【図３】
2007129649.tif 000005
【図４】
2007129649.tif 000006
【図５】
2007129649.tif 000007
【図６】
2007129649.tif 000008