JP4564851B2 - タグ情報検証方法及びプログラム - Google Patents

タグ情報検証方法及びプログラム Download PDF

Info

Publication number
JP4564851B2
JP4564851B2 JP2005015207A JP2005015207A JP4564851B2 JP 4564851 B2 JP4564851 B2 JP 4564851B2 JP 2005015207 A JP2005015207 A JP 2005015207A JP 2005015207 A JP2005015207 A JP 2005015207A JP 4564851 B2 JP4564851 B2 JP 4564851B2
Authority
JP
Japan
Prior art keywords
tag
information
security server
tag information
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005015207A
Other languages
English (en)
Other versions
JP2006203743A (ja
Inventor
美也子 大久保
幸太郎 鈴木
真吾 木下
光 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005015207A priority Critical patent/JP4564851B2/ja
Publication of JP2006203743A publication Critical patent/JP2006203743A/ja
Application granted granted Critical
Publication of JP4564851B2 publication Critical patent/JP4564851B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術の応用技術に関し、特に、自動認識技術を用いたタグ技術に関する。
近年、RFID(Radio Frequency Identification:電波方式認識)等の無線タグ技術の導入が進んでいる(例えば非特許文献1参照)。無線タグ技術とは、以下のようなタグ装置と読取装置(リーダ装置)とセキュリティサーバ装置とから構成され、物流管理等に利用されるものである。
[タグ装置の処理]
タグ装置は、物品等に取り付けられ、無線通信により各タグ固有のIDを読取装置に送信する。
[読取装置の処理]
読取装置は、無線通信によりタグ装置からIDを読取り、そのタグ装置を取り扱ったことの証明として、タグの出力値をセキュリティサーバ装置に送信する。
[セキュリティサーバ装置の処理]
セキュリティサーバ装置は、読取装置から送られてくる情報を検証し、対象となるタグ装置が物理的にその読取装置によって取り扱われたのか、更に複数の読取装置について、その対象となるタグ装置がどのような順序で取り扱われたかの検証を行う。
<従来の検証手法>
従来のシステムでは、まず、読取装置が、タグ装置から出力されたIDを用い、そのタグ装置を取り扱った証拠となる署名を自分の秘密鍵を用いて行う。そして、セキュリティサーバ装置は、この署名を検証し、その読取装置が対象となるタグを確かに取り扱った事を検証する。
EPC global, Inc.、"EPCglobal"、[online]、[平成17年1月13日検索]、インターネット<http://www.epcglobalinc.org/>
しかし、従来方法の場合、何らかの手段によりタグ装置のタグ情報を知りえた攻撃者は、対象となるタグ装置を実際に取り扱わなくても、そのタグ装置を取り扱ったことを示す署名を生成できてしまう。そのため、このような不正が介在する可能性がある場合、セキュリティサーバ装置は、読取装置が本当に対象のタグ装置を物理的に取り扱ったのか否かを識別することはできない。
本発明はこのような点に鑑みてなされたものであり、読取装置が本当に対象のタグ装置を物理的に取り扱ったのか否かを識別することが可能なタグ情報検証方法を提供することを目的とする。
本発明では上記課題を解決するために、タグ装置が、読取装置からのアクセスに対し、タグインタフェースにおいて、当該タグ装置からの送信順序の検証が可能なタグ情報を送信する。セキュリティサーバ装置は、履歴記憶部において、このようなタグ情報をその受信順序が特定できるように格納しておき、検証部において、履歴記憶部に格納された各タグ情報を用い、これらのタグ装置からの送信順序とセキュリティサーバ装置での受信順序との関係を検証し、検証対象のタグ情報の正当性を検証する。
ここで、タグ装置から送信されるタグ情報はその送信順序を検証できる情報である。また、セキュリティサーバ装置は、履歴記憶部においてタグ情報をその受信順序が特定できるように格納する。よって、セキュリティサーバ装置は、タグ装置からの送信順序とセキュリティサーバ装置での受信順序との矛盾を検出することにより、実際にタグ装置から送信されていないタグ情報がセキュリティサーバ装置に送信されたことを検出することができる。これにより、対象となるタグ装置を読取装置が真に物理的に取り扱ったのか否かを検証することができる。
また、本発明において好ましくは、タグ装置mのタグ記憶部において、このタグ装置に対応する識別情報idと秘密情報kとを格納しておき、セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報kとを関連付けて格納しておく。そして、タグ装置mが、 読取装置からのアクセスに対し、タグカウンタにおいて、タグ情報の送信回数に応じたカウント値iを出力し、関数演算部において、秘密情報kとカウント値iとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vm,i=G(k,i)を算出し、タグインタフェースにおいて、識別情報idと関数演算値Vm,iとを含むタグ情報Em,iを送信する。これに対し、セキュリティサーバ装置が、セキュリティサーバ通信部において、タグ情報Em,iを受信し、履歴記憶部において、タグ情報Em,iをその受信順序が特定できるように格納する。その後、検索部において、検証対象のタグ情報Em,nが有する識別情報idに対応する秘密情報kをセキュリティサーバ記憶部から抽出し、検証部において、タグ情報Em,nが有する関数演算値Vm,nと、これよりも前に受信されたタグ情報Em,n−が有する関数演算値Vm,n−と、後に受信されたタグ情報Em,n+が有する関数演算値Vm,n+とに対し、
m,n=G(k,n),
m,n−=G(k,n−α),
m,n+=G(k,n+β),
α>0,β>0
を満たすことを条件にタグ情報Em,nが正当であると判断する。
この場合、タグ情報に係るカウント値とセキュリティサーバ装置の受信順序との矛盾を検出することにより不正なタグ情報を検出できる。
さらに、本発明において好ましくは、タグ装置mのタグ記憶部において、このタグ装置mに対応する識別情報idと秘密情報km,i(iは0以上の整数)とを格納しておき、セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報の初期値km,0とを関連付けて格納しておく。そして、タグ装置mが、 読取装置からのアクセスに対し、関数演算部において、秘密情報km,iを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vm,i=G(km,i)を算出し、タグインタフェースにおいて、識別情報idと関数演算値Vm,iとを含むタグ情報Em,iを送信し、秘密情報更新部において、秘密情報km,iを含む情報に逆元の算出が困難な関数Hを作用させた秘密情報km,i+1=H(km,i)を算出し、これによってタグ記憶部の秘密情報を更新する。これに対し、セキュリティサーバ装置が、セキュリティサーバ通信部において、タグ情報Em,iを受信し、履歴記憶部において、タグ情報Em,iをその受信順序が特定できるように格納する。その後、検索部において、これらのタグ情報が有する識別情報idに対応する秘密情報の初期値km,0をセキュリティサーバ記憶部から抽出し、検証部において、検証対象のタグ情報Em,nが有する関数演算値Vm,nと、これよりも前に受信されたタグ情報Em,n−が有する関数演算値Vm,n−と、後に受信されたタグ情報Em,n+が有する関数演算値Vm,n+とに対し、km,i=H(km,0)とした場合における、
m,n=G(km,n),
m,n−=G(km,n−α),
m,n+=G(km,n+β),
α>0,β>0
を満たすことを条件にタグ情報Em,nが正当であると判断する。
この場合、タグ装置mのタグ記憶部に格納された秘密情報が逆元の算出が困難な関数によって順次更新されるため、タグ記憶部に格納された秘密情報がタンパされた場合であっても、それよりも過去にタグ装置から出力されたタグ情報に対して不正を行うことができない(フォワードセキュア)。
またさらに、本発明において好ましくは、タグ装置mのタグ記憶部において、このタグ装置mに対応する識別情報idと秘密情報kとを格納しておき、セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報kとを関連付けて格納しておく。そして、j回目にタグ装置mのタグ情報を読取る読取装置からの乱数送信要求に対し、セキュリティサーバ装置が、セキュリティサーバ通信部において、乱数Rm,jを読取装置に送信し、セキュリティサーバ記憶部において、乱数Rm,jを識別情報idに関連付け、なおかつ値jが特定できるように格納する。また、読取装置が、読取通信部において、乱数Rm,jを受信し、読取インタフェースにおいて、乱数Rm,jをタグ装置mに送信する。タグ装置mは、タグインタフェースにおいて、乱数Rm,jを受信し、関数演算部において、秘密情報kと乱数Rm,jとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vm,j=G(k,Rm,j)を算出し、タグインタフェースにおいて、識別情報idと関数演算値Vm,jとを含むタグ情報Em,jを送信し、セキュリティサーバ装置が、セキュリティサーバ通信部において、タグ情報Em,jを受信し、履歴記憶部において、タグ情報Em,jをその受信順序が特定できるように格納する。その後、検索部において、検証対象のタグ情報Em,sが有する識別情報idに対応する秘密情報kと乱数Rm,sとをセキュリティサーバ記憶部から抽出し、検証部において、検証対象のタグ情報Em,sが有する関数演算値Vm,sと、これよりも前に受信されたタグ情報Em,s−が有する関数演算値Vm,s−と、後に受信されたタグ情報Em,s+が有する関数演算値Vm,s+とに対し、
m,s=G(k,Rm,s),
m,s−=G(k,Rm,s−γ),
m,s+=G(k,Rm,s+δ),
γ>0,δ>0
を満たすことを条件に、タグ情報Em,sが正当であると判断する。
この場合、乱数Rm,jが与えられていない読取装置が読取ったタグ情報は、セキュリティサーバ装置において不当であると判断されるため、不正なタグ情報の使用を防止できる。
本発明では、タグ装置から出力されたタグ情報の出力順序とセキュリティサーバ装置におけるタグ情報の受信順序との関係を検証することとしたため、その矛盾を検出することにより、読取装置が本当に対象のタグ装置を物理的に取り扱ったのか否かを識別することができる。
以下、本発明の実施の形態を図面を参照して説明する。
〔第1の実施の形態〕
まず、本発明における第1の実施の形態について説明する。
<概要>
図1は、本形態におけるタグ情報検証方法の概要を説明するための概念図である。
本形態では、タグ装置mが、各時点における読取装置からのアクセスに対し、それぞれが保持する秘密情報kと順次カウントアップされるカウント値iとを用い、当該タグ装置からの送信順序の検証が可能なタグ情報Em,i−1,Em,i,Em,i+1を順次生成し、読取装置に送信する。
これに対し、セキュリティサーバ装置は、これらのタグ情報Em,i−1,Em,i,Em,i+1をその受信順序が特定できるように格納していく。そして、セキュリティサーバ装置は、これらの格納された各タグ情報と格納している秘密情報kとを用い、タグ装置からの送信順序を示すカウント値と当該セキュリティサーバ装置での受信順序との関係を検証し、検証対象のタグ情報の正当性を検証する。
<詳細>
次に、本形態における詳細について説明する。
<構成>
図2は、本形態におけるタグ情報検証システム1の構成を例示したブロック図である。
図2に例示するように、本形態におけるタグ情報検証システム1は、タグ装置10、読取装置20、及び読取装置20にネットワーク40を通じて通信可能に接続されたセキュリティサーバ装置30を有する。なお、図2では、説明の簡略化のため、1つのタグ装置10及び読取装置20のみを図示しているが、実際はこれ以上の数のタグ装置10及び読取装置20が存在する。また、図2では、1つのセキュリティサーバ装置30のみを図示しているが、これ以上の数のセキュリティサーバ装置30によって本システムを構成してもよい(以下同様)。
[タグ装置]
この例のタグ装置(m)10は、タグ記憶部11、ハッシュ演算部12(「関数演算部」に相当)、インタフェース13(「タグインタフェース」に相当)、制御部14及びタグカウンタ15を有する。
ここで、タグ記憶部11は、例えば、EEPROM(Electronically Erasable and Programmable Read Only Memory)、FeRAM(Ferroelectric Random Access Memory)、フラッシュメモリ、NV(Nonvolatile)RAM等の読書き可能なメモリである。
ハッシュ演算部12は、入力値にそれぞれ逆元の算出が困難な関数であるハッシュ(hash)関数G:{0,1}→{0,1}を作用させ、その結果を出力するように構成された集積回路である。なお、{0,1}は、全てのバイナリ系列の集合を意味し、{0,1}は、Lビット長のバイナリ系列の集合を意味する。また、このようなハッシュ関数Gとしては、SHA−1、MD5等を例示できる。
インタフェース13は、例えば、無線或いは有線によって読取装置20にデータを出力するハードウェアである。具体的には、インタフェース13は、例えば、NRZ符号やマンチェスター符号化やミラー符号や単極RZ符号化等によって符号化・復号化を行う符号化・復号化回路、ASK(Amplitude Shift Keying)やPSK(Phase Shift Keying)やFSK(Frequency Shift Keying)等によって変・復調を行う変・復調回路、ダイポールアンテナやマイクロストリップアンテナやループコイルやコア入りコイル等のアンテナを有し、長周帯やISM帯(Industry Science Medical band)の周波数を用いて信号の送受信を行う。なお、通信方式は、例えば、電磁誘導方式や電波方式を利用する。
また、制御部14は、例えば、タグ装置10全体の処理を制御するように構成された集積回路であり、図示していない読書き可能なメモリを有している。なお、制御部14は、このメモリへ情報を読み書きしつつタグ装置10の制御処理を実行する)以下ではこの説明を省略する)。
。また、この図では省略するが、制御部14はタグ装置10の各部と電気的に接続されている。
タグカウンタ15は、例えば、タグ情報の送信回数に応じたカウント値iを出力する集積回路である。
[読取装置]
この例の読取装置20は、インタフェース21、通信部22、及び制御部23を有する。
インタフェース21は、例えば、インタフェース114の例と同様なハードウェアであり、通信部22は、例えば、LANカード、モデム、ターミナルアダプター等である。制御部23は、例えば、読取装置20全体の処理を制御するように構成された集積回路であり、図示していない読書き可能なメモリを有している。なお、制御部23は、このメモリへ情報を読み書きしつつ読取装置20の制御処理を実行する(以下ではこの説明を省略する)。また、この図では省略するが、制御部23は読取装置20の各部と電気的に接続されている。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置30は、セキュリティサーバ記憶部31、通信部32(「セキュリティサーバ通信部」に相当)、検索部33、ハッシュ演算部34aと比較部34bとを具備する検証部34、制御部35及び履歴記憶部36を有している。
具体的には、セキュリティサーバ装置30は、例えば、CPU、RAM、ROM(Read Only Memory)、磁気記録装置や光ディスク装置等の外部記憶装置、LANカードやモデムやターミナルアダプター等をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。そしてこのCPUが、RAMに格納されたプログラムを読み出し、それに従った処理を実行することによって以下に示す各処理機能を実現する。なお、制御部35は、図示していないメモリを有し、このメモリへ情報を読み書きしつつセキュリティサーバ装置30の制御処理を実行する(以下ではこの説明を省略する)。
<処理>
次に、本形態のタグ情報検証システムによる処理について説明する。
[前処理]
タグ装置10のタグ記憶部11において、このタグ装置10に対応する識別情報idと秘密情報kとを格納しておき、タグカウンタ15のカウント値を0にリセットする。また、セキュリティサーバ装置30のセキュリティサーバ記憶部31において、各タグ装置に対応する識別情報idと秘密情報kとをテーブル等によって関連付けて格納しておく。
[タグ情報提出処理]
次に、本形態のタグ装置10から出力されたタグ情報を、その対象となるタグ装置を取り扱った証拠としてセキュリティサーバ装置30に提出する処理について説明する。
図3は、このタグ情報提出処理を説明するためのフローチャートである。
この例のタグ装置10は、複数箇所に設置された読取装置20付近を巡回することにより順次タグ情報が読取られ、各読取装置20は読取ったタグ情報をセキュリティサーバ装置30に送信する。以下、i回目の読取り処理を例にとって説明する。
この例のタグ装置10は、 読取装置20からのアクセス(タグ情報送信要求)をトリガに、まず、タグカウンタ15において、i←i+1(i+1の演算結果をiの値とする処理)によりカウント値iをカウントアップし、このカウント値iを出力する(「タグ情報の送信回数に応じたカウント値i」に相当)(ステップS11)。
次に、ハッシュ演算部12において、タグ記憶部11から秘密情報kを読み出し、タグカウンタ15から出力されたカウント値iの入力を受け付け、秘密情報kとカウント値iとにハッシュ関数Gを作用させたハッシュ値Vm,i=G(k,i)を算出する(ステップS13)。なお、G(α)はαを入力とするハッシュ演算処理を意味し、「ハッシュ値」は「関数演算値」に相当する。また、(α,β)はαとβのビット結合やパディングを意味する。次に、インタフェース13に、タグ記憶部11の識別情報idと、タグカウンタ15のカウント値iと、ハッシュ演算部12のハッシュ値Vm,iとが入力され、インタフェース13は、これらをタグ情報Em,i=(id,i,Vm,i)として読取装置に送信する(ステップS14)。
読取装置20は、このタグ情報Em,iを受信し(ステップS15)、これを通信部22からネットワーク40を通じセキュリティサーバ装置30に送信する(ステップS16)。
セキュリティサーバ装置30は、通信部32において、このタグ情報Em,iを受信し(ステップS17)、履歴記憶部36において、このタグ情報Em,iをその受信順序が特定できるように格納する(ステップS18)。ここで、受信順序が特定できるようにタグ情報Em,iを格納する具体的手法としては、例えば、受信順位を示す値と各タグ情報Em,iとを関連付けて格納する手法や、受信順位を示す情報に履歴記憶部36のアドレスを利用し、タグ情報Em,iの受信順位に応じたアドレスにこのタグ情報Em,iを格納していく手法等を例示できる。
[タグ情報検証処理]
次に、本形態のセキュリティサーバ装置30において行われるタグ情報の検証処理を説明する。
図4は、このタグ情報の検証処理を説明するためのフローチャートである。
まず、検索部33において、検証対象のタグ情報Em,nを履歴記憶部36から読み出し、それが有する識別情報idに対応する秘密情報kをセキュリティサーバ記憶部31から抽出する(ステップS31)。次に、ハッシュ演算部34aにおいて、この秘密情報kと履歴記憶部36に格納された検証対象のタグ情報Em,nのカウント値nと、これよりも前に受信されたEm,n−のカウント値n‐αと、後に受信されたタグ情報Em,n+のカウント値n+βとを用い、ハッシュ値G(k,n),G(k,n‐α),G(k,n+β)を算出する(ステップS33)。次に、比較部34bにおいて、タグ情報Em,nが有するハッシュ値Vm,nと、タグ情報Em,n−が有するハッシュ値Vm,n−と、タグ情報Em,n+が有するハッシュ値Vm,n+とを履歴記憶部36から読み出し、これらに対し、
m,n=G(k,n),
m,n−=G(k,n−α), …(1)
m,n+=G(k,n+β),
α>0,β>0
を満たすか否かを判断する(ステップS33)。ここで、これらを満たすと判断された場合、検証部34は検証対象のタグ情報Em,nが正当であると判断し、このタグ情報Em,nは確かに対象となるタグ装置を物理的に取り扱って出力されたものであるとされる(ステップS34)。一方、これらを満たさない判断された場合、検証部34は検証対象のタグ情報Em,nが不当であると判断する(ステップS35)。
<本形態の特徴>
[タグ情報の偽造困難性]
本形態では、セキュリティサーバ装置30が、履歴記憶部36に格納された各タグ情報とセキュリティサーバ記憶部31に格納されている秘密情報とを用い、タグ装置からの送信順序を示すカウント値と当該セキュリティサーバ装置30での受信順序との関係を検証し、検証対象のタグ情報の正当性を検証することした。ここで、タグ装置10を物理的に取り扱って生成されたタグ情報は少ないタイムラグでセキュリティサーバ装置30に受信される。そのため、タグ装置10から正規に出力されたタグ情報の送信順序は、高い確率でセキュリティサーバ装置30での受信順序に等しくなる。一方、タグ装置10を物理的に取り扱うことなく偽造されたタグ情報に対応する順序情報を正規のタグ情報の送信順序に整合させることは困難である(以下の[出力予測困難性],[秘密情報予測困難性],[偽造困難性]より)。よって、偽造されたタグ情報から求めた送信順序をセキュリティサーバ装置30での受信順序に一致させることは困難であり、この違いを検出することによりタグ情報の偽造を検出することができる。また、これらの順序情報を用い、タグ情報の取扱順序履歴の検証も可能である。
[出力予測困難性]
ハッシュ関数Gは、入力に対してランダムな値との識別困難な値を出力する。また、タグ装置10内に記憶されている情報は、セキュリティサーバ装置30のみが知っている情報である。よって、不正な取扱業者等の攻撃者が、タグ装置の出力情報をあらかじめ予測する事は出来ない。
[秘密情報予測困難性]
ハッシュ関数Gの一方向性により、攻撃者はタグ装置10から出力されたタグ情報Em,iをもとに秘密情報やカウンタ値を予測する事が出来ない。よって、攻撃者が、タグ装置10の出力のみを観測し、タグ装置10に記憶されている値やカウント値を予測し、タグ情報を偽造する事は出来ない。
[偽造困難性]
タグ装置10に記憶されている秘密情報を知ることなしに、タグ装置10から出力されるタグ情報を偽造することはできない。
[効率性]
タグ装置10は、ハッシュ関数の計算だけで構成されるため、タグ装置に組み込む回路規模が小さく、低価格が要求されるタグ装置を構成できる。更にセキュリティサーバ装置30そのように構成したタグ情報を用い、ハッシュ演算のみで検証を実行できる。
なお、本形態ではタグ情報がカウンタ値を具備することとしたが、タグ情報がカウンタ値を具備しない構成としてもよい(以下同様)。この場合、検証部34はカウント値を総当りし、式(1)を満たすか否かを判断し、満たすものが存在すればタグ情報が正当であると判断し、存在しなければタグ情報が不当であると判断する。また、カウンタ値を全く用いない構成(タグカウンタを用いず、上述のカウント値をヌル値とした構成)としてもよい。
〔第2の実施の形態〕
次に、本発明における第2の実施の形態について説明する。なお、以下では、第1の実施の形態との相違点を中心に説明を行い、第1の実施の形態と共通する事項については説明を省略する。
<概要>
本形態では、タグ装置mが、各時点における読取装置からのアクセスに対し、それぞれが保持する秘密情報kを用い、当該タグ装置からの送信順序の検証が可能なタグ情報Em,i−1,Em,i,Em,i+1を順次生成し、読取装置に送信する。なお、この秘密情報kは送信のたびにハッシュ関数を作用させた値(ハッシュチェーン値)で順次更新される。
これに対し、セキュリティサーバ装置は、これらのタグ情報Em,i−1,Em,i,Em,i+1をその受信順序が特定できるように格納していく。そして、セキュリティサーバ装置は、これらの格納された各タグ情報と格納している秘密情報kとを用い、タグ装置からの送信順序を示す秘密情報の更新回数と当該セキュリティサーバ装置での受信順序との関係を検証し、検証対象のタグ情報の正当性を検証する。
<詳細>
次に、本形態における詳細について説明する。
<構成>
図5は、本形態におけるタグ情報検証システム200の構成を示すブロック図である。なお、図5において第1の実施の形態と共通する事項については図2と同じ符号を付した。
本形態におけるタグ情報検証システム200は、タグ装置(m)210、読取装置20、及び読取装置20にネットワーク40を通じて通信可能に接続されたセキュリティサーバ装置230を有する。
[タグ装置]
この例のタグ装置210は、タグ記憶部211、ハッシュ演算部212(「関数演算部」に相当)、インタフェース13、制御部14、タグカウンタ215及びハッシュ演算部216(「秘密情報更新部」に相当)を有する。なお、このタグカウンタ215はタグ記憶部211に記憶された秘密情報km,iの更新回数を出力するカウンタである。
[読取装置]
第1の実施の形態と同様である。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置230は、セキュリティサーバ記憶部31、通信部32、検索部33、ハッシュ演算部234a,234cと比較部234bとを具備する検証部234、制御部35及び履歴記憶部36を有している。
<処理>
次に、本形態のタグ情報検証システムによる処理について説明する。
[前処理]
まず、タグ装置210のタグ記憶部211において、このタグ装置210に対応する識別情報idと秘密情報km,i(iは0以上の整数であり初期値は0)とを格納しておき、タグカウンタ215のカウント値を0にリセットしておく。また、セキュリティサーバ装置230のセキュリティサーバ記憶部31において、各タグ装置mに対応する識別情報idと秘密情報の初期値km,0とをテーブル等によって関連付けて格納しておく。
[タグ情報提出処理]
図6は、本形態のタグ情報提出処理を説明するためのフローチャートである。
この例のタグ装置210は、複数箇所に設置された読取装置20付近を巡回することにより順次タグ情報が読取られ、各読取装置20は読取ったタグ情報をセキュリティサーバ装置230に送信する。以下、i−1回目の読取り処理を例にとって説明する。
まず、タグ装置210が、読取装置20からのアクセスに対し、ハッシュ演算部212において、タグ記憶部211から秘密情報km,iを抽出し(ステップS41)、この秘密情報km,iにハッシュ関数Gを作用させたハッシュ値Vm,i=G(km,i)を算出する(ステップS42)。次に、インタフェース13において、タグ記憶部211の識別情報idとハッシュ値Vm,iとタグカウンタ215のカウンタ値iを含むタグ情報Em,iを送信する(ステップS43)。その後、ハッシュ演算部216において、秘密情報km,iにハッシュ関数H:{0,1}→{0,1}(「逆元の算出が困難な関数」に相当)を作用させた秘密情報km,i+1=H(km,i)を算出し、これによってタグ記憶部211の秘密情報を更新する(ステップS44)。その後、タグカウンタ215においてi←i+1の演算によってカウント値をカウントアップし、その状態を保持する(ステップS45)。
読取装置20は、ステップS43で送信されたタグ情報Em,iを受信し(ステップS46)、これを通信部22からネットワーク40を通じセキュリティサーバ装置30に送信する(ステップS47)。
セキュリティサーバ装置230は、通信部32において、タグ情報Em,iを受信し(ステップS48)、履歴記憶部36において、このタグ情報Em,iをその受信順序が特定できるように格納する(ステップS49)。
[タグ情報検証処理]
図7は、本形態のタグ情報の検証処理を説明するためのフローチャートである。
まず、セキュリティサーバ装置230の検索部33において、検証対象のタグ情報Em,nを履歴記憶部36から読み出し、タグ情報Em,nが有する識別情報idに対応する秘密情報の初期値km,0をセキュリティサーバ記憶部31から抽出する(ステップS51)。
次に、ハッシュ演算部234cにおいて、この初期値km,0と履歴記憶部36に格納された検証対象のタグ情報Em,nのカウント値nと、これよりも前に受信されたEm,n−のカウント値n‐αと、後に受信されたタグ情報Em,n+のカウント値n+βとを用い、ハッシュ値km,n=H(km,0),km,n−α=Hn−α(km,0),km,n+β=Hn+α(km,0)を算出する(ステップS52)。なお、Hω(θ)は、θを最初の作用対象とし、ハッシュ演算Hをω回繰り返し行うことを意味する。例えば、θに関数Hを1回作用させたものをH(θ)、H(θ)に関数Hを1回作用させたものをH(θ)、Hi−1(θ)に関数Hを1回作用させたものをH(θ)と表記する。
次に、ハッシュ演算部234aにおいて、これらのハッシュ値G(km,n),G(km,n−α),G(km,n+β)を算出する(ステップS53)。次に、比較部234bにおいて、タグ情報Em,nが有するハッシュ値Vm,nと、タグ情報Em,n−が有するハッシュ値Vm,n−と、タグ情報Em,n+が有するハッシュ値Vm,n+とを履歴記憶部36から読み出し、これらに対し、
m,n=G(km,n),
m,n−=G(km,n−α), …(2)
m,n+=G(km,n+β),
α>0,β>0
を満たすか否かを判断する(ステップS53)。ここで、これらを満たすと判断された場合、検証部234は検証対象のタグ情報Em,nが正当であると判断し、このタグ情報Em,nは確かに対象となるタグ装置を物理的に取り扱って出力されたものであるとされる(ステップS54)。一方、これらを満たさない判断された場合、検証部34は検証対象のタグ情報Em,nが不当であると判断する(ステップS55)。
<本形態の特徴>
本形態では、第1の実施の形態で述べた特徴の他、以下のような特徴がある。
[フォワードセキュア(例えばタグ装置がタンパされた場合にける過去の履歴に対する偽造防止)]
本形態では、タグ装置内に含まれている秘密情報をハッシュチェーンによって更新することとしたため、タグ装置内の秘密情報がタンパ等により盗まれた場合においてもそのタグ装置が出力したタグ情報の履歴を偽造する事が出来ない。
[読取装置の不正防止]
また、タグ装置内で秘密情報kが更新されるため、読取装置がタグ情報Em,iを偽造することも困難である。
なお、本形態では、タグ装置210がタグ情報を送信してから秘密情報を更新することとしたが、秘密情報を更新してからタグ情報を生成して出力することとしてもよい。
〔第3の実施の形態〕
次に、本発明における第3の実施の形態について説明する。
本形態は第2の実施の形態の変形例である。以下では、第2の実施の形態との相違点を中心に説明する。
<構成>
図8は、本形態におけるタグ情報検証システム300の構成を例示したブロック図である。なお、この図において前述の実施の形態と共通する部分についてはそれらと同じ符号を付している。
この図に示すように、本形態のタグ情報検証システム300と第2の実施の形態のタグ情報検証システム200との構成上の相違点は、タグ装置210の代わりにタグ装置(m)310が、セキュリティサーバ装置230の代わりにセキュリティサーバ装置330が設けられている点である。また、タグ装置310とタグ装置210との相違点は、タグ記憶部211の代わりにタグ記憶部311が、ハッシュ演算部212の代わりにハッシュ演算部312が設けられている点である。さらに、セキュリティサーバ装置230とセキュリティサーバ装置330との相違点は、ハッシュ演算部234a,234c及び比較部234bを有する検証部234の代わりに、ハッシュ演算部334a,334c及び比較部334bを有する検証部334が、セキュリティサーバ記憶部31の代わりにセキュリティサーバ記憶部331が設けられている点である。
<処理>
[前処理]
前処理として、タグ装置310のタグ記憶部311において、このタグ装置310に対応する識別情報idと秘密情報km,iと秘密識別情報sidとを格納しておき、タグカウンタ215のカウント値を0にリセットしておく。また、セキュリティサーバ装置330のセキュリティサーバ記憶部331において、各タグ装置mに対応する識別情報idと秘密情報の初期値km,0と秘密識別情報sidとをテーブル等によって関連付けて格納しておく。
[タグ情報提出処理]
第2の実施の形態との相違点は、第2の実施の形態でタグ装置210のハッシュ演算部212がハッシュ値Vm,i=G(km,i)を算出していた代わりに、本形態では、タグ装置310のハッシュ演算部312がハッシュ値Vm,i=G(km,i,sid)を算出する点である。
[タグ情報検証処理]
第2の実施の形態との相違点は、第2の実施の形態でセキュリティサーバ装置230の
ハッシュ演算部234aがハッシュ値G(km,n),G(km,n−α),G(km,n+β)を算出していた代わりに、本形態では、セキュリティサーバ装置330のハッシュ演算部334aがハッシュ値G(km,n,sid),G(km,n−α,sid),G(km,n+β,sid)を算出している点、及び第2の実施の形態で比較部234bが式(2)を満たすか否かを判断していた代わりに、
m,n=G(km,n,sid),
m,n−=G(km,n−α,sid), …(3)
m,n+=G(km,n+β,sid),
α>0,β>0
を満たすか否かを判断する点である。
<本形態の特徴>
上述した特長に加え、本形態では、異なるタグ装置間でタグ情報Em,iの衝突(同じ値となること)が半永久的に継続してしまうことを防止できるという特徴がある。すなわち、ハッシュ演算部312が求めるハッシュ値Vm,i=G(km,i,sid)の秘密識別情報sidは各タグ装置に固有な情報である。そのため、たとえハッシュ演算部216における秘密情報km,iの更新により、異なるタグ装置間の秘密情報km,i,km’,iが同じ値となり、その後の秘密情報の値が同じになったとしても、ハッシュ値Vm,i=G(km,i,sid)とVm’,i=G(km’,i,sidm’)との衝突が継続することはない。
〔第4の実施の形態〕
次に、本発明における第4の実施の形態について説明する。
本形態も第2の実施の形態の変形例である。以下では、第2の実施の形態との相違点を中心に説明する。
<構成>
図9は、本形態におけるタグ情報検証システム400の構成を例示したブロック図である。なお、この図において前述の実施の形態と共通する部分についてはそれらと同じ符号を付している。
この図に示すように、本形態のタグ情報検証システム400と第2の実施の形態のタグ情報検証システム200との構成上の相違点は、タグ装置210の代わりにタグ装置(m)410が、セキュリティサーバ装置230の代わりにセキュリティサーバ装置430が設けられている点である。また、タグ装置410とタグ装置210との相違点は、タグ記憶部211の代わりにタグ記憶部311が、ハッシュ演算部216の代わりにハッシュ演算部416が設けられている点である。さらに、セキュリティサーバ装置230とセキュリティサーバ装置430との相違点は、ハッシュ演算部234a,234c及び比較部234bを有する検証部234の代わりに、ハッシュ演算部434a,434c及び比較部434bを有する検証部434が、セキュリティサーバ記憶部31の代わりにセキュリティサーバ記憶部331が設けられている点である。
<処理>
[前処理]
第3の実施の形態と同じである。
[タグ情報提出処理]
第2の実施の形態との相違点は、第2の実施の形態でタグ装置210のハッシュ演算部216がハッシュ値km,i+1=H(km,i)を算出していた代わりに、本形態では、タグ装置410のハッシュ演算部416がハッシュ値km,i+1=H(km,i,sid)を算出する点である。
[タグ情報検証処理]
第2の実施の形態との相違点は、第2の実施の形態でハッシュ演算部234cがハッシュ値km,n=H(km,0),km,n−α=Hn−α(km,0),km,n+β=Hn+α(km,0)を算出していた代わりに、本形態ではハッシュ演算部434cがハッシュ値km,n=H(km,0,sid),km,n−α=Hn−α(km,0,sid),km,n+β=Hn+α(km,0,sid)を算出する点である。
<本形態の特徴>
上述した特長に加え、本形態では、異なるタグ装置間でタグ情報Em,iの衝突(同じ値となること)が半永久的に継続してしまうことを防止できるという特徴がある。すなわち、秘密識別情報sidは各タグ装置に固有な情報である。そのため、たとえハッシュ演算部216における秘密情報km,iの更新により、異なるタグ装置間の秘密情報km,i,km’,iが一旦同じ値となっても、その後の更新によってこの状態が継続することはない。
〔第5の実施の形態〕
次に、本発明における第5の実施の形態について説明する。
<概要>
図10は、本形態におけるタグ情報検証方法の概要を説明するための概念図である。
本形態では、タグ装置mからj−1,j,j+1回目にタグ情報を読取る読取装置に対し、セキュリティサーバ装置が乱数Rm,j−1,Rm,j,Rm,j+1を順次送信し、セキュリティサーバ装置はこれらの配信順序を保存する。
読取装置は、j−1,j,j+1回目のタグ装置mへの読取アクセス時に、それぞれこの乱数Rm,j−1,Rm,j,Rm,j+1をタグ装置mに送信する。タグ装置mは、各時点における読取装置からのアクセスに対し、それぞれが保持する秘密情報kとそれぞれの乱数Rm,j−1,Rm,j,Rm,j+1とを用い、この乱数を根拠に当該タグ装置からの送信順序の検証が可能なタグ情報Em,j−1,Em,j,Em,j+1を順次生成し、読取装置に送信する。
これに対し、セキュリティサーバ装置は、これらのタグ情報Em,j−1,Em,j,Em,j+1をその受信順序が特定できるように格納していく。そして、セキュリティサーバ装置は、これらの格納された各タグ情報と格納している秘密情報k及び乱数Rm,j−1,Rm,j,Rm,j+1の配信順序とを用い、タグ装置からの送信順序を示すカウント値と当該セキュリティサーバ装置での受信順序との関係を検証し、検証対象のタグ情報の正当性を検証する。
<詳細>
次に、本形態における詳細について説明する。
<構成>
図11は、本形態におけるタグ情報検証システム500の構成を示すブロック図である。なお、図11において前述の実施の形態と共通する事項についてはそれらと同じ符号を付した。
本形態におけるタグ情報検証システム500は、タグ装置(m)510、読取装置20、及び読取装置20にネットワーク40を通じて通信可能に接続されたセキュリティサーバ装置530を有する。
[タグ装置]
この例のタグ装置510は、タグ記憶部11、ハッシュ演算部512(「関数演算部」に相当)、インタフェース13及び制御部14を有する。
[読取装置]
第1の実施の形態と同様である。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置530は、セキュリティサーバ記憶部531、通信部32、検索部33、ハッシュ演算部534aと比較部534bとを具備する検証部534、制御部35、履歴記憶部36及び乱数生成部535を有している。
<処理>
[前処理]
タグ装置510のタグ記憶部11において、このタグ装置510に対応する識別情報idと秘密情報kとを格納しておく。また、セキュリティサーバ装置530のセキュリティサーバ記憶部531において、各タグ装置mに対応する識別情報idと秘密情報kとを関連付けて格納しておく。
[タグ情報提出処理]
図12は、本形態のタグ情報提出処理を説明するためのフローチャートである。
この例のタグ装置510は、複数箇所に設置された読取装置20付近を巡回することにより順次タグ情報が読取られ、各読取装置20は読取ったタグ情報をセキュリティサーバ装置530に送信する。以下、j回目の読取り処理を例にとって説明する。
まず、j回目にタグ装置510のタグ情報を読取る読取装置20が、通信部22(「読取通信部」に相当)において、セキュリティサーバ装置530に対し、ネットワーク40を通じて乱数送信要求を送信する(ステップS61)。これに対し、セキュリティサーバ装置530が、乱数生成部535において乱数Rm,jを生成し、通信部32において、この乱数Rm,jを送信し、セキュリティサーバ記憶部531において、この乱数Rm,jを識別情報idに関連付け、なおかつ値jが特定できるように格納する(ステップS62)。なお、乱数Rm,jを値jが特定できるように格納する方法としては、例えば、各乱数を値jに対応付けたテーブルとして格納する方法、値jに対応付けられたアドレスに対応する乱数Rm,jを格納する方法、j=1から順番に乱数Rm,jを順次格納する方法当を例示できる。
読取装置20は、通信部22において、この乱数Rm,jを受信し、インタフェース21(「読取インタフェース」に相当)において、これをタグ装置510に送信する(ステップS63)。
タグ装置510は、インタフェース13において、乱数Rm,jを受信する(ステップS64)。これをトリガにハッシュ演算部512がタグ記憶部11から秘密情報kを読み出し(ステップS65)、これとインタフェース13から送られた乱数Rm,jとにハッシュ関数Gを作用させたハッシュ値Vm,j=G(k,Rm,j)を算出する(ステップS66)。算出されたハッシュ値Vm,j及びタグ記憶部11内の識別情報idはインタフェース13に送られ、インタフェース13は、これらを含むタグ情報Em,j=(id,Vm,j)を読取装置20に送信する。読取装置20は、インタフェース21でこれを受信し、さらに通信部22からネットワーク40を通じ、セキュリティサーバ装置530に送信する(ステップS68)。
セキュリティサーバ装置530は、通信部32において、このタグ情報Em,jを受信し(ステップS69)、履歴記憶部36において、このタグ情報Em,jをその受信順序が特定できるように格納する(ステップS70)。
[タグ情報検証処理]
図13は、本形態のタグ情報検証処理を説明するためのフローチャートである。
まず、検索部33において、検証対象のタグ情報Em,s(sはセキュリティサーバ装置での受信順序で擬制)を履歴記憶部36から読み出し、これが有する識別情報idに対応する秘密情報kと乱数Rm,sとをセキュリティサーバ記憶部531から抽出する(ステップS80)。これらは、検証部534に送られ、検証部534は、検証対象のタグ情報Em,sが有するハッシュ値Vm,sを履歴記憶部36から読み出し、ハッシュ演算部534aにおいてG(k,Rm,s)を算出し、比較部534bにおいて、
m,s=G(k,Rm,s
が成立するか否かを検証する(ステップS81)。これが成立しなかった場合、検証部534はタグ情報Em,sが不当であると判断する(ステップS86)。一方、成立した場合、次に、タグ情報Em,sよりも前に受信されたタグ情報Em,s−が有するハッシュ値Vm,s−と、後に受信されたタグ情報Em,s+が有するハッシュ値Vm,s+とを履歴記憶部36から読み出す。そして、検証部534は、検索部33を通じ、セキュリティサーバ記憶部531から識別情報idに対応する乱数Rm,xを順次読み出し、ハッシュ演算部534aにおいてG(k,Rm,s−γ),G(k,Rm,s+δ)を算出し、比較部534bにおいて、
m,s−=G(k,Rm,s−γ), …(4)
m,s+=G(k,Rm,s+δ),
を満たすRm,s−γ,Rm,s+δを探索する(ステップS82)。そして検証部534が、式(4)を満たすRm,s−γ,Rm,s+δが存在したか否かを判定し(ステップS83)、存在しなければ、タグ情報Em,sが不当であると判断し(ステップS86)、存在すれば次に
γ>0,δ>0 …(5)
が成立するか否かを検証する(ステップS84)。そしてこれが成立した場合、検証部534はタグ情報Em,sが正当であると判断し(ステップS85)、成立しなかった場合、検証部534はタグ情報Em,sが不当であると判断する(ステップS86)。
<本形態の特徴>
このように、セキュリティサーバ装置が配信する乱数Rm,jの配信順序が、それを用いて各タグ装置で生成されるタグ情報の送信順序と等しいものと仮定し、乱数Rm,jの配信順序とセキュリティサーバ装置での受信順序との関係を検証し、検証対象のタグ情報の正当性を検証することとしてもよい。この場合、上述の仮定が成立する限り不当なタグ情報を検出できる。なお、この仮定が成立しない場合とは、例えば、タグ装置mからj回目の読取を行う読取装置jがランダム値Rm,jを受け取り、タグ装置mからj+1回目の読取を行う読取装置j+1がランダム値Rm,j+1を受け取り、読取装置jがタグ情報Em,jをセキュリティサーバに送信する前に、読取装置j+1がタグ情報Em,j+1をセキュリティサーバに送信してしまう場合である。このような事態を防止するため、セキュリティサーバ装置による乱数Rm,jの配信からタグ情報Em,jの受信までをタイムラグ管理することが望ましい。例えば、セキュリティサーバ装置が乱数Rm,jを送信してから規定時間内でレスポンスがあるタグ情報Em,jのみを検証対象とし、その時間内にレスポンスがないタグ情報Em,jは無条件で不当とすることが望ましい。
また、セキュリティサーバ装置530において、配信した乱数Rm,jの配信先の読取装置を特定する情報を格納しておき、履歴記憶部36にタグ情報Em,jの送信元である読取装置を特定する情報を格納しておくこととしてもよい。この場合、式(4)(5)を満たし、さらに乱数Rm,sを配信した配信先とタグ情報Em,sの送信元とが一致した場合にタグ情報Em,sを合格とする検証が可能となる。
〔第6の実施の形態〕
次に、本発明における第6の実施の形態について説明する。
<概要>
本形態は、第5の実施の形態に第1の実施の形態の思想を取り込んだ形態である。
<構成>
図14は、本形態におけるタグ情報検証システム600の構成を示すブロック図である。なお、図14において前述の実施の形態と共通する事項についてはそれらと同じ符号を付した。
本形態におけるタグ情報検証システム600は、タグ装置(m)610、読取装置20、及び読取装置20にネットワーク40を通じて通信可能に接続されたセキュリティサーバ装置630を有する。
[タグ装置]
この例のタグ装置610は、タグ記憶部11、ハッシュ演算部612(「関数演算部」に相当)、インタフェース13、制御部14及びタグカウンタ15を有する。
[読取装置]
第1の実施の形態と同様である。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置630は、セキュリティサーバ記憶部531、通信部32、検索部33、ハッシュ演算部634aと比較部634bとを具備する検証部634、制御部35、履歴記憶部36及び乱数生成部535を有している。
<処理>
[前処理]
第5の実施の形態の処理に加え、タグカウンタ15のカウント値を0にリセットする。
[タグ情報提出処理]
図15は、本形態のタグ情報提出処理を説明するためのフローチャートである。
この例のタグ装置610は、複数箇所に設置された読取装置20を巡回することにより順次タグ情報が読取られ、各読取装置20は読取ったタグ情報をセキュリティサーバ装置630に送信する。以下、j回目の読取り処理を例にとって説明する。
まず、j回目にタグ装置610のタグ情報を読取る読取装置20が、通信部22(「読取通信部」に相当)において、セキュリティサーバ装置630に対し、ネットワーク40を通じて乱数送信要求を送信する(ステップS91)。これに対し、セキュリティサーバ装置630が、乱数生成部535において乱数Rm,jを生成し、通信部32において、この乱数Rm,jを送信し、セキュリティサーバ記憶部531において、この乱数Rm,jを識別情報idに関連付け、なおかつ値jが特定できるように格納する(ステップS92)。
読取装置20は、通信部22において、この乱数Rm,jを受信し、インタフェース21(「読取インタフェース」に相当)において、これをタグ装置610に送信する(ステップS93)。
タグ装置610は、インタフェース13において、乱数Rm,jを受信する(ステップS94)。これをトリガにタグカウンタ15において、i←i+1の演算を行い、このiをタグ情報の送信回数に応じたカウント値iとして出力する(ステップS95)。次に、ハッシュ演算部612がタグ記憶部11から秘密情報kを読み出し(ステップS96)、これとインタフェース13から送られた乱数Rm,jとカウント値iとにハッシュ関数Gを作用させたハッシュ値Vm,i,j=G(k,i,Rm,j)を算出する(ステップS97)。
算出されたハッシュ値Vm,i,j、タグ記憶部11内の識別情報id及びカウンタ値iはインタフェース13に送られ、インタフェース13は、これらを含むタグ情報Em,i,j=(id,i,Vm,j)を読取装置20に送信する。読取装置20は、インタフェース21でこれを受信し(ステップS99)、さらに通信部22からネットワーク40を通じ、セキュリティサーバ装置630に送信する(ステップS100)。
セキュリティサーバ装置630は、通信部32において、このタグ情報Em,i,jを受信し(ステップS101)、履歴記憶部36において、このタグ情報Em,i,jをその受信順序が特定できるように格納する(ステップS102)。
[タグ情報検証処理]
図16は、本形態のタグ情報検証処理を説明するためのフローチャートである。
まず、検索部33において、検証対象のタグ情報Em,n,sを履歴記憶部36から読み出し、これが有する識別情報idに対応する秘密情報kと乱数Rm,sとをセキュリティサーバ記憶部531から抽出する(ステップS110)。これらは、検証部634に送られ、検証部534は、検証対象のタグ情報Em,n,sが有するハッシュ値Vm,n,s及びカウンタ値nを履歴記憶部36から読み出す。そして、ハッシュ演算部634aがG(k,n,Rm,s)を算出し、比較部634bが、
m,n,s=G(k,n,Rm,s
が成立するか否かを検証する(ステップS111)。これが成立しなければ、検証部534は、タグ情報Em,i,sが不当であると判断する(ステップS116)。一方、成立すると判断された場合、次に検証部534は、タグ情報Em,n,sよりも前に受信されたタグ情報Em,n,s−が有するハッシュ値Vm,n,s−及びカウンタ値n−αと、後に受信されたタグ情報Em,n,s+が有するハッシュ値Vm,n,s+及びカウンタ値n+βとを履歴記憶部36から読み出す。そして、検証部534は、検索部33を通じ、セキュリティサーバ記憶部531で識別情報idに対応付けられた乱数Rm,xを順次抽出し、ハッシュ演算部634aにおいてG(k,n,Rm,s),G(k,n−α,Rm,s−γ),G(k,n+β,Rm,s+δ)を算出し、比較部634bにおいて、
m,n,s−=G(k,n−α,Rm,s−γ), …(6)
m,n,s+=G(k,n+β,Rm,s+δ),
を満たすRm,s−γ及びRm,s+δを探索する(ステップS112)。そして検証部634が、式(6)を満たすRm,s−γ,Rm,s+δが存在したか否かを判定し(ステップS113)、存在しなければ、タグ情報Em,i,sが不当であると判断し(ステップS116)、存在すれば次に
α>0,β>0,γ>0,δ>0
が成立するか否かを検証する(ステップS114)。そしてこれが成立した場合、検証部634はタグ情報Em,n,sが正当であると判断し(ステップS115)、成立しなかった場合、検証部634はタグ情報Em,n,sが不当であると判断する(ステップS116)。
<本形態の特徴>
以上のような構成によっても第5の実施の形態と同様に不正なタグ情報を検出できる。 また、本形態の場合、さらにタグ装置で出力されるカウント値を用いてタグ情報を構成することとしたため、異なる時点での乱数Rm,j,Rm,j+1をそれぞれ受信した読取装置が結託して行う不正も防止できる。すなわち、タグ情報の送信順序の根拠を乱数Rm,jだけではなく、タグ装置が出力するカウント値iをも根拠に用いることとしたため、読取装置が異なる時点での乱数Rm,j,Rm,j+1の使用順序(タグ情報の生成に用いる順序)を入れ替える不正を行ってもセキュリティサーバ装置はその不正を検出できる。
〔第7の実施の形態〕
次に、本発明における第7の実施の形態について説明する。
<概要>
本形態は、第5の実施の形態に第2の実施の形態の思想を取り込んだ形態である。
<構成>
図17は、本形態におけるタグ情報検証システム700の構成を示すブロック図である。なお、図17において前述の実施の形態と共通する事項についてはそれらと同じ符号を付した。
本形態におけるタグ情報検証システム700は、タグ装置(m)710、読取装置20、及び読取装置20にネットワーク40を通じて通信可能に接続されたセキュリティサーバ装置730を有する。
[タグ装置]
この例のタグ装置710は、タグ記憶部211、ハッシュ演算部712(「関数演算部」に相当)、インタフェース13、制御部14及びタグカウンタ215を有する。
[読取装置]
第1の実施の形態と同様である。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置630は、セキュリティサーバ記憶部731、通信部32、検索部33、ハッシュ演算部734a,734cと比較部734bとを具備する検証部734、制御部35、履歴記憶部36及び乱数生成部535を有している。
<処理>
[前処理]
タグ装置710のタグ記憶部211において、このタグ装置710に対応する識別情報idとkm,i(iは0以上の整数であり初期値は0)とを格納しておき、セキュリティサーバ装置730のセキュリティサーバ記憶部731において、各タグ装置mに対応する識別情報idと秘密情報の初期値km,0とを関連付けて格納しておく。
[タグ情報提出処理]
図18は、本形態のタグ情報提出処理を説明するためのフローチャートである。
この例のタグ装置710は、複数箇所に設置された読取装置20を巡回することにより順次タグ情報が読取られ、各読取装置20は読取ったタグ情報をセキュリティサーバ装置730に送信する。以下、j回目の読取り処理を例にとって説明する。
まず、j回目にタグ装置710のタグ情報を読取る読取装置20が、通信部22(「読取通信部」に相当)において、セキュリティサーバ装置730に対し、ネットワーク40を通じて乱数送信要求を送信する(ステップS121)。これに対し、セキュリティサーバ装置730が、乱数生成部535において乱数Rm,jを生成し、通信部32において、この乱数Rm,jを送信し、セキュリティサーバ記憶部731において、この乱数Rm,jを識別情報idに関連付け、なおかつ値jが特定できるように格納する(ステップS122)。
読取装置20は、通信部22において、この乱数Rm,jを受信し、インタフェース21(「読取インタフェース」に相当)において、これをタグ装置710に送信する(ステップS123)。
タグ装置710は、インタフェース13において、乱数Rm,jを受信する(ステップS124)。これをトリガにタグ装置710が、ハッシュ演算部712において、タグ記憶部211から秘密情報km,iを抽出し(ステップS125)、この秘密情報km,iと乱数Rm,jとにハッシュ関数Gを作用させたハッシュ値Vm,i,j=G(km,i,Rm,j)を算出する(ステップS126)。次に、インタフェース13において、タグ記憶部211の識別情報idとハッシュ値Vm,i,jとタグカウンタ215のカウンタ値iを含むタグ情報Em,i,jを送信する(ステップS127)。その後、ハッシュ演算部216において、秘密情報km,iにハッシュ関数Hを作用させた秘密情報km,i+1=H(km,i)を算出し、これによってタグ記憶部211の秘密情報を更新する(ステップS128)。その後、タグカウンタ215においてi←i+1の演算によってカウント値をカウントアップし、その状態を保持する(ステップS129)。
読取装置20は、送信されたタグ情報Em,i,jを受信し(ステップS130)、これを通信部22からネットワーク40を通じセキュリティサーバ装置730に送信する(ステップS131)。
セキュリティサーバ装置730は、通信部32において、タグ情報Em,i,jを受信し(ステップS132)、履歴記憶部36において、このタグ情報Em,i,jをその受信順序が特定できるように格納する(ステップS133)。
[タグ情報検証処理]
図19は、本形態のタグ情報の検証処理を説明するためのフローチャートである。
まず、セキュリティサーバ装置730の検索部33において、検証対象のタグ情報Em,n,sを履歴記憶部36から読み出し、タグ情報Em,n,sが有する識別情報idに対応する秘密情報の初期値km,0と乱数Rm,sとをセキュリティサーバ記憶部731から抽出する(ステップS140)。
次に、ハッシュ演算部734cにおいて、この初期値km,0と履歴記憶部36に格納された検証対象のタグ情報Em,n,sのカウント値nと、これよりも前に受信されたEm,n,s−のカウント値n‐αと、後に受信されたタグ情報Em,n,s+のカウント値n+βとを用い、ハッシュ値km,n=H(km,0),km,n−α=Hn−α(km,0),km,n+β=Hn+α(km,0)を算出する(ステップS141)。
また、検証部734は、検証対象のタグ情報Em,n,sが有するハッシュ値Vm,n,sを履歴記憶部36から読み出し、ハッシュ演算部734aにおいてG(k,Rm,s)を算出し、比較部734bにおいて、
m,n,s=G(k,Rm,s
が成立するか否かを検証する(ステップS142)。これが成立しなければ検証部734は、タグ情報Em,n,sが不当であると判断し(ステップS147)、成立すれば、次に検証部734は、タグ情報Em,n,sよりも前に受信されたタグ情報Em,n,s−が有するハッシュ値Vm,n,s−と、後に受信されたタグ情報Em,n,s+が有するハッシュ値Vm,n,s+とを履歴記憶部36から読み出す。そして、検証部734は、検索部33を通じ、セキュリティサーバ記憶部531から識別情報idに対応する乱数Rm,xを順次読み出し、ハッシュ演算部534aにおいてG(k,Rm,s),G(k,Rm,s−γ),G(k,Rm,s+δ)を算出し、比較部534bにおいて、
m,n,s−=G(k,Rm,s−γ), …(7)
m,n,s+=G(k,Rm,s+δ),
を満たすRm,s−γ,Rm,s+δを探索する(ステップS143)。そして検証部734が、式(7)を満たすRm,s−γ,Rm,s+δが存在したか否かを判定し(ステップS144)、存在しなければ、タグ情報Em,n,sが不当であると判断し(ステップS147)、存在すれば次に
α>0,β>0,γ>0,δ>0
が成立するか否かを検証する(ステップS145)。そしてこれが成立した場合、検証部734はタグ情報Em,n,sが正当であると判断し(ステップS146)、成立しなかった場合、検証部734はタグ情報Em,n,sが不当であると判断する(ステップS147)。
<本形態の特徴>
以上のような構成によっても第5の実施の形態と同様に不正なタグ情報を検出できる。 また、本形態の場合、さらにタグ装置内の秘密情報を更新することとしたため、異なる時点での乱数Rm,j,Rm,j+1をそれぞれ受信した読取装置が結託して行う不正も防止できる。さらに、この秘密情報の更新はハッシュチェーンによって行われるため、タグ装置内の秘密情報がタンパ等により盗まれた場合においてもそのタグ装置が出力したタグ情報の履歴を偽造する事が出来ない(フォワードセキュア)。
なお、第2の実施の形態の変形例である第3,4の実施の形態を本形態に適用してもよい。
〔第8の実施の形態〕
次に、本発明における第8の実施の形態について説明する。
<概要>
本形態は、複数のタグ装置がまとめて取り扱われる場合に適用可能な形態である。具体的には、例えば、牛乳1パックごとにタグ装置が付され、それらが1ケース単位で取り扱われる場合等を想定している。
図20は、本形態の概要を説明するための概念図である。
この例では、「タグ装置1」「タグ装置2」「タグ装置3」・・・がまとめて取り扱われる。すなわち、これらのタグ装置のタグ情報は1つのタグ装置によって同時期に読み込まれる(なお、このようなタグ装置の集合をタグ装置群と呼ぶ)。この読取手順の概要は以下である。
まず、j回目の読み込み時に一部のタグ装置qにのみ、第5〜7の実施の形態で説明したような乱数Rq,jがセキュリティサーバ装置から配送される。図20の場合、1,2,3回目の読み込み時に、それぞれタグ装置2,タグ装置3,タグ装置1にそれぞれ乱数R2,1,R3,2,R1,3が配送される。この際セキュリティサーバ装置は、乱数Rq,jの配送順序(各読取時にどのタグ装置に乱数Rq,jを配送していったか)を保存しておく。
そして、乱数Rq,jを受け取ったタグ装置qは、自らの秘密情報kq,jと乱数Rq,jとを用いて生成したタグ情報Vq,jを送信し、他のタグ装置rは自らの秘密情報kr,jのみを用いて生成したタグ情報Vr,jを送信する。
セキュリティサーバ装置は、各タグ情報Vq,jをタグ装置群ごとの受信順序を特定できるように保存しておく。そして、この受信順序と乱数Rq,jの配送順序とを用い、物理的にタグ装置を取り扱わずに偽造された不正なタグ情報を検出する。
<詳細>
次に、本形態の詳細について説明する。
<構成>
図21は、本形態におけるタグ情報検証システム800の全体構成を例示した概念図である。
この図に例示するように、タグ情報検証システム800は、まとめて取り扱われるタグ装置810−m(m∈{1,...p})(タグ装置群810)、読取装置820、及びこれとネットワーク40を通じて通信可能に接続されたセキュリティサーバ装置830を有している。なお、ここでは1つのタグ装置群810、読取装置820及びセキュリティサーバ装置830を示しているが、これらは複数存在してもよい。
図22及び図23は、タグ情報検証システム800の詳細を示したブロック図である。なお、図22は乱数Rq,jが配送されるタグ装置810−qに関わる機能構成を示しており、図23はその他のタグ装置810−rに関わる機能構成を示している。また、以下では1つのタグ装置群810に1つのタグ装置810−q(乱数が配送されるタグ装置)が存在する場合を例に説明するが、1つのタグ装置群810に複数のタグ装置810−qが存在する構成としてもよい。
[タグ装置]
この例のタグ装置810−mは、タグ記憶部11、ハッシュ演算部812(「関数演算部」に相当)、インタフェース13及び制御部14を有する。
[読取装置]
この例の読取装置820は、第1の実施の形態の構成にリスト生成部824を加えたものとなっている。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置830−mは、セキュリティサーバ記憶部831、通信部32、検索部33、ハッシュ演算部834aと比較部834bとを具備する検証部834、制御部35、履歴記憶部36及び乱数生成部535,835を有している。
<処理>
次に、本形態のタグ情報検証システムによる処理について説明する。
[前処理]
タグ装置群810を構成するp個のタグ装置810−m(m∈{1,2,…,p})のタグ記憶部11において、各タグ装置810−mに対応する識別情報idと秘密情報kとをそれぞれ格納しておく。また、セキュリティサーバ装置830のセキュリティサーバ記憶部831において、各タグ装置810−mに対応する識別情報idと秘密情報kとを関連付けて格納しておく。
[タグ情報提出処理]
図24は、タグ情報提出処理の乱数配送処理を説明するためのフローチャートである。
なお、以下ではj回目のタグ装置群810の読取処理について説明する。
まず、j回目にタグ装置群810のタグ情報を読取る読取装置820は、各タグ装置810−mにそのタグ記憶部11に格納された識別情報idを送信させ、これをインタフェース21で受信する。各識別情報idはリスト生成部824に送られ、リスト生成部824は、リストLi={id,...,id,...,id}を生成し、これを乱数送信要求と共にネットワーク40を通じてセキュリティサーバ装置830に送信する(ステップS151)。セキュリティサーバ装置830は通信部32においてこれを受信し、これを履歴記憶部36に格納する(ステップS152)。次に、制御部35は履歴記憶部36に格納されたリストLiを参照し、タグ装置群810を構成するタグ装置の個数pを特定し、乱数生成部835に乱数q∈{1,2,…,p}を生成させ、これを用い、タグ装置群810の一部であるタグ装置810−qを決定する(ステップS153)。次に、乱数生成部535において(図22)、このタグ装置810−qに対する乱数Rq,jを生成し、通信部32において、タグ装置810−qに対する乱数Rq,jを読取装置820に向けて送信する(ステップS154)。また、セキュリティサーバ記憶部831において、この乱数Rq,jを識別情報idに関連付け、なおかつ値jが特定できるように格納する(ステップS155)。なお、乱数が生成されないタグ装置810−rの識別情報idには例えばnull値が対応付けられる。
送信された乱数Rq,jは、ネットワーク40を通じて読取装置820の通信部22で受信され、さらにインタフェース21からタグ装置810−qに送信され、そのインタフェース13で受信される(ステップS157)。その後、タグ装置810−qは、第5の実施の形態と同様(図12)、ハッシュ演算部812(「第1の関数演算部」相当)において、秘密情報kと乱数Rq,jとにハッシュ関数Gを作用させたハッシュ値Vq,j=G(k,Rq,j)を算出し、インタフェース13(「 第1のタグインタフェース」に相当)において、識別情報idとハッシュ値Vq,jとを含むタグ情報Eq,jを読取装置820に送信する。
一方、タグ装置810−q以外のタグ装置810−r(r∈{1,2,…,p}(r≠q))は(図23)、読取装置820からのアクセスに対し、ハッシュ演算部812(「第2の関数演算部」に相当)において、秘密情報kにハッシュ関数Gを作用させたハッシュ値Vr,j=G(k)を算出し、インタフェース13(「第2のタグインタフェース」に相当)において、識別情報idと関数演算値Vr,jとを含むタグ情報Er,jを読取装置820に送信する。
読取装置820はこれらのタグ情報Em,j(Eq,j及び残り全てのEr,jの情報を合わせたもの)をセキュリティサーバ装置830に送信し、セキュリティサーバ装置830は、通信部32において、これらのタグ情報Em,jを受信し、履歴記憶部36において、タグ情報Em,jを、タグ装置群ごとの受信順序が特定できるように格納する。
[タグ情報検証処理]
図25は、本形態におけるタグ情報検証処理を説明するためのフローチャートである。
まず、セキュリティサーバ装置830は、検索部33において、履歴記憶部36から検証対象のタグ装置群に属するタグ情報Em,sを読み出し、それが有する識別情報idと当該タグ情報Eq,sの受信順序sに対応する秘密情報kと乱数Rq,sとをセキュリティサーバ記憶部831から抽出する(ステップS161)。次に、検証部834において、検証対象のタグ情報Eq,sが有する関数演算値Vq,sに対し、ハッシュ演算部834a及び比較部834bを用い、
q,s=G(k,Rq,s
を満たすか否かを検証する(ステップS162)。これを満たさなかった場合、検証部834は、タグ情報Em,sが不当であると判断し(ステップS165)、満たした場合、検証部834において、検証対象のタグ情報Er,sが有するハッシュ値Vr,sに対し、ハッシュ演算部834a及び比較部834bを用い、
r,s=G(k
を満たすか否かを判断する(ステップS163)。これを満たさなかった場合、検証部834は、タグ情報Em,sが不当であると判断し(ステップS165)、満たした場合、検証部834は、タグ情報Em,sが正当であると判断する(ステップS164)。
<本形態の特徴>
本形態では、複数のタグ装置によってタグ装置群を構成し、セキュリティサーバ装置830は、その一部のタグ装置に対してのみ乱数Rq,sを配送する。そして、セキュリティサーバ装置830は、何回目の読取り時にどのタグ装置810−qに対してどのような乱数Rq,sを送信したかを保存しておく。乱数Rq,sが配送されたタグ装置はこれと秘密情報とを用いてタグ情報を生成し、それ以外のタグ装置810−rは秘密情報のみを用いてタグ情報を生成する。そして、セキュリティサーバ装置830は、各タグ装置から送信されたタグ情報をタグ装置群810ごとの受信順序が特定できるように格納しておく。
ここで、セキュリティサーバ装置830は、各秘密情報kと、何回目の読取り時(タグ装置群ごとの送信順序)にどのタグ装置に対してどのような乱数Rq,sを送信したかという情報を保持しているため、s回目に各タグ装置から送信されたタグ情報を再生できる。また、タグ情報が実際にタグ装置を物理的に取り扱って出力されたものであるならば、タグ装置群810ごとのタグ情報の送信順序と、セキュリティサーバ装置830でのタグ装置群810ごとタグ情報の受信順序とは高い確率で等しくなる。
再生したs回目読取り時のタグ情報が具備するハッシュ値と、実際にs番目に受信した各タグ情報のハッシュ値Vm,sとが等しいことを検証することにより、このタグ情報が実際にタグ装置を物理的に取り扱って出力されたものであるか否かを検証できる。
また、タグ装置での読取りエラーや処理効率等を考慮すると、タグ装置に乱数Rq,sを読み込ませる回数は少ないほどよい。本形態では、タグ装置群810を構成する一部のタグ装置810−qにのみに乱数Rq,sを読み込ませるものであるため、効率のよりシステムを構成できる。
〔第9の実施の形態〕
次に、本発明における第9の実施の形態について説明する。
本形態は第8の実施の形態の変形例であり、第8の実施の形態に第1,6の実施の形態の思想を取り込んだものである。以下では第8の実施の形態との相違点を中心に説明する。
<構成>
図26及び図27は、本形態のタグ情報検証システム1000の詳細を示したブロック図である。なお、図26は乱数Rq,jが配送されるタグ装置1010−qに関わる機能構成を示しており、図27はその他のタグ装置1010−rに関わる機能構成を示している
[タグ装置]
この例のタグ装置1010−m(q及びr)は、タグ記憶部11、ハッシュ演算部1012(「関数演算部」に相当)、インタフェース13、制御部14及びタグカウンタ15を有する。
[読取装置]
この例の読取装置820は、第8の実施の形態と同様である。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置1030は、セキュリティサーバ記憶部831、通信部32、検索部33、ハッシュ演算部1034aと比較部1034bとを具備する検証部1034、制御部35、履歴記憶部36及び乱数生成部535,835を有している。
<処理>
次に、本形態のタグ情報検証システムによる処理について説明する。
[前処理]
タグ装置群を構成するp個のタグ装置1010−m(m∈{1,2,…,p})のタグ記憶部11において、各タグ装置1010−mに対応する識別情報idと秘密情報kとをそれぞれ格納しておく。また、各タグ装置1010−mのタグカウンタ15を0にリセットしておく。さらに、セキュリティサーバ装置1030のセキュリティサーバ記憶部831において、各タグ装置1010−mに対応する識別情報idと秘密情報kとを関連付けて格納しておく。
[タグ情報提出処理]
以下ではタグ装置群1010に対するj回目の読取処理について説明する。
まず、第8の実施の形態と同様に乱数配送処理を行う(図24)。そして、インタフェース13(「第1のタグインタフェース」に相当)において乱数Rq,jを受信したタグ装置1010−qは(図26)、第6の実施の形態と同様に、タグカウンタ15(「第1のタグカウンタ」に相当)において、タグ情報の送信回数に応じたカウント値iを出力し、ハッシュ演算部1012(「第1の関数演算部」に相当)において、秘密情報kとカウント値iと乱数Rq,jとにハッシュ関数Gを作用させたハッシュ値Vq,i,j=G(k,i,Rq,j)を算出し、タグインタフェース13において、識別情報idと関数演算値Vq,i,jとカウント値iを含むタグ情報Eq,i,jを読取装置820に送信する。
一方、タグ装置1010−q以外のタグ装置群を構成するタグ装置1010−r(r∈{1,2,…,p}(r≠q))は(図27)、読取装置820からのアクセスに対し、第1の実施の形態と同様に、タグカウンタ15(「第2のタグカウンタ」に相当)において、タグ情報の送信回数に応じたカウント値iを出力し、ハッシュ演算部1012(「第2の関数演算部」に相当)において、秘密情報kとカウント値iとにハッシュ関数Gを作用させた関数演算値Vr,i,j=G(kr,)を算出し、インタフェース13(「第2のタグインタフェース」に相当)において、識別情報idと関数演算値Vr,iとカウント値iを含むタグ情報Er,i,jを読取装置に送信する。
読取装置820はこれらのタグ情報Em,i,j(Eq,j及び残り全てのEr,jの情報を合わせたもの)をセキュリティサーバ装置1030に送信し、セキュリティサーバ装置1030は、通信部32において、これらのタグ情報Em,i,jを受信し、履歴記憶部36において、タグ情報Em,i,jを、タグ装置群ごとの受信順序が特定できるように格納する。
[タグ情報検証処理]
図85は、本形態におけるタグ情報検証処理を説明するためのフローチャートである。
まず、セキュリティサーバ装置1030は、検索部33において、検証対象のタグ装置群に属するタグ情報Em,n,sを読み出し、それが有する識別情報idと当該タグ情報Em,n,sの受信順序sとに対応する秘密情報kと乱数Rq,sとをセキュリティサーバ記憶部831から抽出する(ステップS171)。
次に、検証部1034において、検証対象のタグ装置群に属するタグ情報Eq,n,sが有するハッシュ値Vq,n,sと、これよりも前に受信されたタグ情報Eq,n,s−が有する関数演算値Vq,n,s−と、後に受信されたタグ情報Eq,n,s+が有する関数演算値Vq,n,s+とに対し、
q,n,s=G(k,n,Rq,s),
q,n,s−=G(k,n−α),
q,n,s+=G(k,n+β),
α>0,β>0
を満たすか否かをハッシュ演算部1034a及び比較部1034bを用いて検証する(ステップS172)。これを満たさなかった場合、検証部1034は、タグ情報Em,n,sが不当であると判断し(ステップS175)、満たした場合、検証部1034において、検証対象のタグ装置群に属するタグ情報Er,n,sが有する関数演算値Vr,n,sと、これよりも前に受信されたタグ装置群のタグ情報Er,n,s−が有する関数演算値Vr,n,s−と、後に受信されたタグ装置群のタグ情報Er,n,s+が有する関数演算値Vr,n,s+とに対し、
r,n,s=G(k,n),
r,n,s−=G(k,n−α),
r,n,s+=G(k,n+β),
α>0,β>0
を満たすか否かをハッシュ演算部1034a及び比較部1034bを用いて検証する(ステップS173)。これを満たさなかった場合、検証部1034は、タグ情報Em,n,sが不当であると判断し(ステップS175)、満たした場合、検証部1034は、タグ情報Em,n,sが正当であると判断する(ステップS174)。
〔第10の実施の形態〕
次に、本発明における第10の実施の形態について説明する。
本形態は第8の実施の形態の変形例であり、第8の実施の形態に第2,7の実施の形態の思想を取り込んだものである。以下では第8の実施の形態との相違点を中心に説明する。
<構成>
図29及び図30は、本形態のタグ情報検証システム1200の詳細を示したブロック図である。なお、図29は乱数Rq,jが配送されるタグ装置1210−qに関わる機能構成を示しており、図30はその他のタグ装置1210−rに関わる機能構成を示している
[タグ装置]
この例のタグ装置1210−m(q及びr)は、タグ記憶部11、ハッシュ演算部1212,216、インタフェース13、制御部14及びタグカウンタ215を有する。
[読取装置]
この例の読取装置820は、第8の実施の形態と同様である。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置1230は、セキュリティサーバ記憶部1231、通信部32、検索部33、ハッシュ演算部1234a,1234cと比較部1234bとを具備する検証部1234、制御部35、履歴記憶部36及び乱数生成部535,835を有している。
<処理>
次に、本形態のタグ情報検証システムによる処理について説明する。
[前処理]
タグ装置群を構成するp個のタグ装置1210−m∈{1,2,…,p}のタグ記憶部211において、各タグ装置1210−mに対応する識別情報idと秘密情報km,i(iは0以上の整数)とをそれぞれ格納しておく。また、タグカウンタ215のカウント値を0にリセットしておく。さらに、セキュリティサーバ装置1230のセキュリティサーバ記憶部1231において、各タグ装置1210−mに対応する識別情報idと秘密情報の初期値km,0とを関連付けて格納しておく。
[タグ情報提出処理]
以下ではタグ装置群1010に対するj回目の読取処理について説明する。
まず、第8の実施の形態と同様に乱数配送処理を行う(図24)。そして、インタフェース13(「第1のタグインタフェース」に相当)において乱数Rq,jを受信したタグ装置1210−qは(図29)、第7の実施の形態と同様に、ハッシュ演算部1212(「第1の関数演算部」に相当)において、秘密情報kq,i1と乱数Rq,jとにハッシュ関数Gを作用させたハッシュ値Vq,i1,j=G(kq,i1,Rq,j)を算出し、インタフェース13(「第1のタグインタフェース」に相当)において、識別情報idと関数演算値Vq,i1,jとタグカウンタ215のカウント値iとを含むタグ情報Eq,i1,jを送信する。そして、ハッシュ演算部216(「第1の秘密情報更新部」に相当)において、秘密情報kq,i1にハッシュ関数Hを作用させた秘密情報kq,i1+1=H(kq,i1)を算出し、これによってタグ装置1210−qのタグ記憶部の秘密情報を更新し、タグカウンタ215をカウントアップする。
一方、タグ装置1210−q以外のタグ装置群を構成するタグ装置1210−r∈{1,2,…,p}(r≠q)は(図30)、読取装置820からのアクセスに対し、ハッシュ演算部1212(「第2の関数演算部」に相当)において、秘密情報kr,i2にハッシュ関数Gを作用させたハッシュ値Vr,i2,j=G(kr,i2)を算出し、タグインタフェース13(「第2のタグインタフェース」に相当)において、識別情報idとハッシュ値Vr,i2,jとカウント値iを含むタグ情報Em,i2,jを送信する。そして、ハッシュ演算部216(「第2の秘密情報更新部」に相当)において、秘密情報kr,i2を含む情報にハッシュ関数Hを作用させた秘密情報kr,i2+1=H(kr,i2)を算出し、これによってタグ記憶部211の秘密情報を更新し、タグカウンタ215をカウントアップする。
読取装置820はこれらのタグ情報Em,i,j(Eq,j及び残り全てのEr,jの情報を合わせたもの)をセキュリティサーバ装置1230に送信し、セキュリティサーバ装置1230は、通信部32において、これらのタグ情報Em,i,jを受信し、履歴記憶部36において、タグ情報Em,i,jを、タグ装置群ごとの受信順序が特定できるように格納する。
[タグ情報検証処理]
図85は、本形態におけるタグ情報検証処理を説明するためのフローチャートである。
まず、検索部33において、検証対象のタグ装置群に属するタグ情報Em,n,sを履歴記憶部36から読み出し、それが有する識別情報id及び受信順序sに対応する、秘密情報の初期値km,0と乱数Rq,sとをセキュリティサーバ記憶部1231から抽出する(ステップS181)。
次に、検証部1234において、検証対象のタグ装置群に属するタグ情報Eq,n,sが有する関数演算値Vq,n,sと、これよりも前に受信されたタグ情報Eq,n,s−が有する関数演算値Vq,n,s−と、後に受信されたタグ情報Eq,n,s+が有する関数演算値Vq,n,s+とに対し、km,i=H(km,0)とした場合における、
q,n,s=G(kq,n,Rq,s),
q,n,s−=G(kq,n−α),
q,n,s+=G(kq,n+β),
α>0,β>0
を満たすか否かを、ハッシュ演算部1234a,1234c及び比較部1234bを用いて検証する(ステップS182)。これを満たさなかった場合、検証部1234は、タグ情報Em,n,sが不当であると判断し(ステップS185)、満たした場合、検証部1234は、検証対象のタグ装置群に属するタグ情報Er,n,sが有する関数演算値Vr,n,sと、これよりも前に受信されたタグ情報Er,n,s−が有する関数演算値Vr,n,s−と、後に受信されたタグ情報Er,n,s+が有する関数演算値Vr,n,s+とに対し、
r,n,s=G(kr,n),
r,n,s−=G(kr,n−α),
r,n,s+=G(kr,n+β),
α>0,β>0
を満たす否かを、ハッシュ演算部1234a,1234c及び比較部1234bを用いて検証する(ステップS183)。これを満たさなかった場合、検証部1234は、タグ情報Em,n,sが不当であると判断し(ステップS185)、満たした場合、検証部1234は、タグ情報Em,n,sが正当であると判断する(ステップS154)。
〔第11の実施の形態〕
次に、本発明における第11の実施の形態について説明する。
<概要>
本形態は、セキュリティサーバ装置が格納するidやk等の情報の一部を他のサーバ装置に分散して管理する形態である。すなわち、セキュリティサーバ装置がを全ての情報を持っていると、セキュリティサーバ装置の持つ記憶部から情報が漏洩した場合、任意のタグ装置に対する順序履歴の偽造が可能となってしまう。そこで、セキュリティサーバ装置と検証サーバ装置とでタグ装置に持たせる秘密情報を分散させ、セキュリティサーバ装置若しくは検証サーバ装置上の情報が漏洩した場合においても任意のタグ装置に対する順序履歴を偽造する事が出来ない機能を実現するものである。
図32は、この概要を説明するための概念図である。図32の例では、セキュリティサーバ装置には、タグ装置に対応する識別情報idとそれを秘匿化した秘密識別情報sidとが格納されているが、タグ装置の秘密情報kは格納されていない。一方、検証サーバ装置には、秘密識別情報sidと秘密情報kが格納されているが識別情報idは格納されていない。そして、共に格納されている秘密識別情報sidを用い、セキュリティサーバ装置と検証サーバ装置とで協力しあいタグ情報の検証を行う。
<詳細>
次に、本形態の詳細について説明する。なお、以下では第7の実施の形態にセキュリティサーバ装置と検証サーバ装置とで秘匿情報を分散する思想を取り込んだ例を説明するが、他の実施の形態にこの思想を取り込んだ構成としてもよい。
<構成>
図33は、本形態におけるタグ情報検証システム1400の構成を示すブロック図である。なお、図33において前述の実施の形態と共通する事項についてはそれらと同じ符号を付した。
本形態におけるタグ情報検証システム1400は、タグ装置(m)1410、読取装置20、読取装置20にネットワーク40を通じて通信可能に接続されたセキュリティサーバ装置1430及びセキュリティサーバ装置1430にネットワーク40を通じて通信可能に接続された検証サーバ装置1450を有する。
[タグ装置]
この例のタグ装置1410は、タグ記憶部1411、ハッシュ演算部216,1412、インタフェース13、制御部14及びタグカウンタ215を有する。
[読取装置]
第1の実施の形態と同様である。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置1430は、セキュリティサーバ記憶部1431、通信部32、検索部33、制御部35、履歴記憶部36及び乱数生成部535を有している。
[検証サーバ装置]
この例の検証サーバ装置1450は、履歴サーバ記憶部1451、通信部1452、検索部1453、ハッシュ演算部1454a,1454cと比較部1454bとを具備する検証部1454、及び制御部1455を有している。
<処理>
[前処理]
タグ装置1410のタグ記憶部1411において、このタグ装置1410に対応する識別情報idとこれを秘匿化した秘匿化識別情報sidと秘密情報km,i(iは0以上の整数であり初期値は0)とを格納しておき、タグカウンタ215のカウント値を0にリセットしておく。また、セキュリティサーバ装置1430のセキュリティサーバ記憶部1431において、各タグ装置mに対応する識別情報idと秘匿化識別情報sidとを関連付けて格納しておく。さらに、検証サーバ装置1450の履歴サーバ記憶部1451に秘匿化識別情報sidと秘密情報の初期値km,0を関連付けて格納しておく。
[タグ情報提出処理]
図34は、本形態のタグ情報提出処理を説明するためのフローチャートである。
まず、j回目にタグ装置1410のタグ情報を読取る読取装置20が、通信部22において、セキュリティサーバ装置1430に対し、ネットワーク40を通じて乱数送信要求を送信する(ステップS201)。これに対し、セキュリティサーバ装置1430が、乱数生成部535において乱数Rm,jを生成し、通信部32において、この乱数Rm,jを送信し、セキュリティサーバ記憶部1431において、この乱数Rm,jを識別情報idに関連付け、なおかつ値jが特定できるように格納する(ステップS202)。
読取装置20は、通信部22において、この乱数Rm,jを受信し、インタフェース21において、これをタグ装置1410に送信する(ステップS203)。
タグ装置1410は、インタフェース13において、乱数Rm,jを受信する(ステップS204)。これをトリガにタグ装置1410が、ハッシュ演算部1412において、タグ記憶部1411から秘密情報km,iを抽出し(ステップS205)、この秘密情報km,iと乱数Rm,jとにハッシュ関数Gを作用させたハッシュ値Vm,i,j=G(km,i,Rm,j)を算出する(ステップS205)。次に、インタフェース13において、このハッシュ値Vm,i,jとタグ記憶部1411の秘匿化識別情報sidとタグカウンタ215のカウンタ値iとを含むタグ情報Em,i,jを送信する(ステップS206)。その後、ハッシュ演算部216において、秘密情報km,iにハッシュ関数Hを作用させた秘密情報km,i+1=H(km,i)を算出し、これによってタグ記憶部1411の秘密情報を更新する(ステップS207)。その後、タグカウンタ215においてi←i+1の演算によってカウント値をカウントアップし、その状態を保持する(ステップS208)。
読取装置20は、送信されたタグ情報Em,i,jを受信し(ステップS209)、これを通信部22からネットワーク40を通じセキュリティサーバ装置1430に送信する(ステップS210)。
セキュリティサーバ装置1430は、通信部32において、タグ情報Em,i,jを受信し(ステップS211)、履歴記憶部36において、このタグ情報Em,i,jをその受信順序が特定できるように格納する(ステップS212)。
[タグ情報検証処理]
図35及び図36は、本形態のタグ情報の検証処理を説明するためのフローチャートである。
まず、セキュリティサーバ装置1430の検索部33において、検証対象のタグ情報Em,n,sを履歴記憶部36から読み出し、タグ情報Em,n,sの秘匿化識別情報sidに対応する全ての乱数Rm,x(xは自然数)をセキュリティサーバ記憶部1431から抽出する(ステップS221)。次に、通信部32において、履歴記憶部36に格納された検証対象のタグ情報Em,n,sのハッシュ値Vm,n,sとカウンタ値n、これよりも前に受信されたタグ情報Em,n,s−のハッシュ値Vm,n,s−とカウンタ値n‐α、後に受信されたタグ情報Em,n,s+のハッシュ値Vm,n,s+とカウンタ値n+β、sid,Rm,xを検証サーバ装置1450に送信して検証を依頼する(ステップS222)。
検証サーバ装置1450は、通信部1452において、Vm,n,s,Vm,n,s−,Vm,n,s+,n,n‐α,n+β,sid,Rm,xを受信し(ステップS223)、まず、検索部1453において履歴サーバ記憶部1451からsidに対応するkm,0抽出する(ステップS224)。次に、検証部1454のハッシュ演算部1454cにおいて、ハッシュ値km,n=H(km,0),km,n−α=Hn−α(km,0),km,n+β=Hn+α(km,0)算出し(ステップS225)、図示していない制御部のメモリに格納しておく。次に、ハッシュ演算部1454aにおいてハッシュ値G(km,n,Rm,s)を算出し、比較部1454bにおいて、
m,n,s=G(km,n,Rm,s
が成立するか否かを検証する(ステップS226)。これが成立しない場合、検証部1454はタグ情報Em,n,sが不当であると判断する(ステップS230)。一方、成立する場合、検証部1454は、セキュリティサーバ装置1430から送信されたRm,xを用い、ハッシュ演算部1454aにおいてハッシュ値G(km,n−α,Rm,s−γ ),G(km,n+β,Rm,s+δ )を算出し、比較部1454bにおいて、
m,n,s−=G(km,n−α,Rm,s−γ ), …(8)
m,n,s+=G(km,n+β,Rm,s+δ
を順次検証しつつ、これらを満たすRm,s−γ ,Rm,s+δを探索する(ステップS227)。
そして検証部1454が、式(8)を満たすRm,s−γ,Rm,s+δが存在したか否かを判定し(ステップS228)、存在しなければ、タグ情報Em,n,sが不当であると判断し(ステップS230)、存在すれば次に
α>0,β>0,γ>0,δ>0
が成立するか否かを検証する(ステップS229)。そしてこれが成立した場合、検証部1454はタグ情報Em,n,sが正当であると判断し(ステップS231)、成立しなかった場合、検証部1454はタグ情報Em,n,sが不当であると判断する(ステップS230)。
以上の検証結果は通信部1452に送られ、通信部1452は、この検証結果を秘匿化識別情報sidとともにセキュリティサーバ装置1430に返信する(ステップS232)。これらはネットワーク40を通じ、セキュリティサーバ装置1430の通信部32において受信される(ステップS233)。その後、検索部33において、この秘匿化識別情報sidに関連付けられている識別情報idを読み出し、ステップS233で受信した検索結果をこの識別情報idに対応するタグ装置のタグ情報に係るものとして出力する。
<本形態の特徴>
本形態では、識別情報idと秘密情報の初期値ki,0とをセキュリティサーバ装置1430と検証サーバ装置1450とに分散管理することとしたため、何れか一方で管理する情報のみが漏洩しても任意のタグ装置に対する順序履歴を偽造する事が出来ない。また、検証サーバ装置1450には識別情報id自体は与えられないため、検証サーバ装置1450はどのタグ装置のタグ情報に関して検証を行っているのかを知ることはできない。そのため、検証サーバ装置1450は特定の識別情報idを攻撃目標として検証結果の偽造を行うことができない。
〔第12の実施の形態〕
本形態は第11の実施の形態の変形例であり、秘匿化識別情報sidの用い方のみが第11の実施の形態と相違する。
<構成>
図37は、本形態におけるタグ情報検証システム1500の構成を示すブロック図である。なお、図37において前述の実施の形態と共通する事項についてはそれらと同じ符号を付した。
本形態におけるタグ情報検証システム1500は、タグ装置(m)1510、読取装置20、読取装置20にネットワーク40を通じて通信可能に接続されたセキュリティサーバ装置1530及びセキュリティサーバ装置1530にネットワーク40を通じて通信可能に接続された検証サーバ装置1550を有する。
[タグ装置]
この例のタグ装置1510は、タグ記憶部1411、ハッシュ演算部216,1512、インタフェース13、制御部14及びタグカウンタ215を有する。
[読取装置]
第1の実施の形態と同様である。
[セキュリティサーバ装置]
この例のセキュリティサーバ装置1530は、セキュリティサーバ記憶部1531、通信部32、検索部33、制御部35、履歴記憶部36及び乱数生成部535を有している。
[検証サーバ装置]
この例の検証サーバ装置1550は、履歴サーバ記憶部1451、通信部1452、検索部1453、ハッシュ演算部1554a,1554cと比較部1554bとを具備する検証部1554、及び制御部1455を有している。
<処理>
[前処理]
第11の実施の形態と同じである。
[タグ情報提出処理]
図38は、本形態のタグ情報提出処理を説明するためのフローチャートである。
まず、j回目にタグ装置1510のタグ情報を読取る読取装置20が、通信部22において、セキュリティサーバ装置1530に対し、ネットワーク40を通じて乱数送信要求を送信する(ステップS241)。これに対し、セキュリティサーバ装置1530が、乱数生成部535において乱数Rm,jを生成し、通信部32において、この乱数Rm,jを送信し、セキュリティサーバ記憶部1531において、この乱数Rm,jを識別情報idに関連付け、なおかつ値jが特定できるように格納する(ステップS242)。
読取装置20は、通信部22において、この乱数Rm,jを受信し、インタフェース21において、これをタグ装置1510に送信する(ステップS243)。
タグ装置1510は、インタフェース13において、乱数Rm,jを受信する(ステップS244)。これをトリガにタグ装置1510が、ハッシュ演算部1512において、タグ記憶部1411から秘密情報km,iと秘匿化識別情報sidとを抽出し(ステップS245)、この秘密情報km,iと秘匿化識別情報sidと乱数Rm,jとにハッシュ関数Gを作用させたハッシュ値Vm,i,j=G(km,i,sid,Rm,j)を算出する(ステップS246)。次に、インタフェース13において、このハッシュ値Vm,i,jとタグ記憶部1411の識別情報idとタグカウンタ215のカウンタ値iとを含むタグ情報Em,i,jを送信する(ステップS247)。その後、ハッシュ演算部216において、秘密情報km,iにハッシュ関数Hを作用させた秘密情報km,i+1=H(km,i)を算出し、これによってタグ記憶部1411の秘密情報を更新する(ステップS248)。その後、タグカウンタ215においてi←i+1の演算によってカウント値をカウントアップし、その状態を保持する(ステップS249)。
読取装置20は、送信されたタグ情報Em,i,jを受信し(ステップS241)、これを通信部22からネットワーク40を通じセキュリティサーバ装置1530に送信する(ステップS251)。
セキュリティサーバ装置1530は、通信部32において、タグ情報Em,i,jを受信し(ステップS252)、履歴記憶部36において、このタグ情報Em,i,jをその受信順序が特定できるように格納する(ステップS253)。
[タグ情報検証処理]
図39及び図40は、本形態のタグ情報の検証処理を説明するためのフローチャートである。
まず、セキュリティサーバ装置1530の検索部33において、検証対象のタグ情報Em,n,sを履歴記憶部36から読み出し、タグ情報Em,n,sの識別情報idに対応する秘匿化識別情報sid及び全ての乱数Rm,x(xは自然数)をセキュリティサーバ記憶部1531から抽出する(ステップS261)。次に、通信部32において、履歴記憶部36に格納された検証対象のタグ情報Em,n,sのハッシュ値Vm,n,sとカウンタ値n、これよりも前に受信されたタグ情報Em,n,s−のハッシュ値Vm,n,s−とカウンタ値n‐α、後に受信されたタグ情報Em,n,s+のハッシュ値Vm,n,s+とカウンタ値n+β、sid,Rm,xを検証サーバ装置1550に送信して検証を依頼する(ステップS262)。
検証サーバ装置1550は、通信部1452において、Vm,n,s,Vm,n,s−,Vm,n,s,n,n‐α,n+β,sid,Rm,xを受信し(ステップS263)、まず、検索部1453において履歴サーバ記憶部1451からsidに対応するkm,0抽出する(ステップS264)。次に、検証部1454のハッシュ演算部1454cにおいて、ハッシュ値km,n=H(km,0),km,n−α=Hn−α(km,0),km,n+β=Hn+α(km,0)算出し(ステップS225)、図示していない制御部のメモリに格納しておく。次に、ハッシュ演算部1554aにおいてハッシュ値G(km,n,sid,Rm,s)を算出し、比較部1554bにおいて、
m,n,s=G(km,n,sid,Rm,s
が成立するか否かを検証する(ステップS266)。これが成立しない場合、検証部1454はタグ情報Em,n,sが不当であると判断する(ステップS270)。一方、成立する場合、検証部1554は、セキュリティサーバ装置1530から送信されたRm,xを用い、ハッシュ演算部1454aにおいてハッシュ値G(km,n−α,Rm,s−γ ),G(km,n+β,Rm,s+δ )を算出し、比較部1454bにおいて、
m,n,s−=G(km,n−α,Rm,s−γ ), …(9)
m,n,s+=G(km,n+β,Rm,s+δ
を順次検証しつつ、これらを満たすRm,s−γ ,Rm,s+δを探索する(ステップS267)。
そして検証部1554が、式(9)を満たすRm,s−γ,Rm,s+δが存在したか否かを判定し(ステップS268)、存在しなければ、タグ情報Em,n,sが不当であると判断し(ステップS270)、存在すれば次に
α>0,β>0,γ>0,δ>0
が成立するか否かを検証する(ステップS269)。そしてこれが成立した場合、検証部1554はタグ情報Em,n,sが正当であると判断し(ステップS271)、成立しなかった場合、検証部1554はタグ情報Em,n,sが不当であると判断する(ステップS270)。
以上の検証結果は通信部1452に送られ、通信部1452は、この検証結果を秘匿化識別情報sidとともにセキュリティサーバ装置1530に返信する(ステップS272)。これらはネットワーク40を通じ、セキュリティサーバ装置1530の通信部32において受信される(ステップS273)。その後、検索部33において、この秘匿化識別情報sidに関連付けられている識別情報idを読み出し、ステップS273で受信した検索結果をこの識別情報idに対応するタグ装置のタグ情報に係るものとして出力する。
〔第13の実施の形態〕
本形態は第1の実施の形態の変形例であり、読取装置が読取ったタグ情報に署名を付し、さらにその検証を行ったセキュリティサーバ装置がその検証結果に署名を付する形態である。これにより、セキュリティサーバ装置からこの署名付き検証結果を受けた第三者は、セキュリティサーバ装置を信用することを前提に、セキュリティサーバ装置が確かに履歴通りに読取装置からデータを受信し、その検証を行っていることを確認できる。その結果、第三者は、確かにタグ情報が実際に物理的に取り扱われて生成された情報であることを確認できる。
<概要>
図41は、本形態の概要を説明するための概念図である。
この図に示すように、本形態の読取装置はタグ装置から送信されたタグ情報Em、iに対して読取装置の
署名Sig(Em、i
を生成し、その対象となるタグ装置を取り扱った証拠として
署名とタグ情報の対Um,i=(Sig(Em、i),Em、i
をセキュリティサーバ装置に送信する。
セキュリティサーバ装置は、読取装置から送信されたUm,i=(Sig(Em、i),Em、i)と対象のタグ情報Em、iと識別情報idとタグ情報Em、iの受信時刻tに対し、
署名Sigss((Sig(Em、i),Em、i),Em、i,id,t)
を生成する。そして、セキュリティサーバ装置は、確かに順序履歴(履歴記憶部36に記憶された受信順序)通りにデータを受信したことの証拠として
署名とタグ情報の対Wm,i=(Sigss((Sig(Em、i),Em、i),Em、i,id,t),(Sig(Em、i),Em、i),Em、i,id,t)
を生成し、タグ情報の正当性を確認する第三者に出力する。
<詳細>
図42は、本形態のタグ情報検証システム1600の構成を例示したブロック図である。本形態と第1の実施の形態のタグ情報検証システム1との構成上の相違点は、読取装置20が、署名部1624が付加された読取装置1620に置き換わる点、セキュリティサーバ装置30が、署名部1636及び時計1637が付加されたセキュリティサーバ装置1630に置き換わる点である。
また、タグ情報提出処理上の相違点は、読取装置1620がタグ装置10から読取ったタグ情報Em,iに対し、
署名とタグ情報の対Um,i=(Sig(Em、i),Em、i)を生成し、タグ情報Em,iの代わりにこの署名とタグ情報の対Um,iをセキュリティサーバ装置1630に送信する点、セキュリティサーバ装置1630の履歴記憶部36においてタグ情報Em,iを格納する代わりに、通信部32におけるUm,iの受信時刻tを時計1637から出力し、このUm,iを受信時刻tに関連付けて蓄積してく点である。
また、タグ情報検証処理上の相違点は、セキュリティサーバ装置1630が確かに順序履歴通りにデータを受信したことの証拠として署名とタグ情報の対Wm,i=(Sigss(Um,i,id,t),Um,i,id,t)を生成し、これを第三者に対して出力する点である。
<本形態の特徴>
以上の構成により、第三者は、確かにセキュリティサーバ装置が確かに履歴通りに読取装置からデータを受信し、その検証を行っていることを確認できる。そして、検証部34での検証はセキュリティサーバ装置でのタグ情報の受信順序を根拠にするものであるから、この第三者は、確かにタグ情報が実際に物理的に取り扱われて生成された情報であることを確認できる。なお、受信時刻tを署名とタグ情報の対Wm,iに含めない構成としてもよく、その他の情報を署名とタグ情報の対Wm,iに含めてもよい。
〔第14の実施の形態〕
本形態は第13の実施の形態を第5の実施の形態に適用した例である。これにより、セキュリティサーバ装置からこの署名付き検証結果を受けた第三者は、セキュリティサーバ装置を信用することを前提に、確かに読取装置がセキュリティサーバ装置から配信された乱数Rm,jを取り扱い、セキュリティサーバ装置が履歴通りに読取装置からデータを受信していることを確認できる。その結果、第三者は、確かにタグ情報が実際に物理的に取り扱われて生成された情報であることを確認できる。
<概要>
図43は、本形態の概要を説明するための概念図である。
この図に示すように、本形態の読取装置はタグ装置から送信されたタグ情報Em、jに対して読取装置の
署名Sig(Em、j,Rm、j
を生成し、その対象となるタグ装置を取り扱った証拠として
署名とタグ情報の対Um,j=(Sig(Em、j,Rm、j),Em、j,Rm、j
をセキュリティサーバ装置に送信する。
セキュリティサーバ装置は、読取装置から送信されたUm,j=(Sig(Em、j,Rm、j),Em、j,Rm、j)と識別情報idとタグ情報Em、jの受信時刻tに対し、
署名とタグ情報の対Wm,j=(Sigss((Sig(Em,j,Rm,j),Em,j,Rm,j),id,t),(Sig(Em,j,Rm,j),Em,j,Rm,j),id,t)
を生成する。
そして、セキュリティサーバ装置は、確かに読取装置がセキュリティサーバ装置から配信された乱数Rm,jを取り扱い、セキュリティサーバ装置が履歴通りに読取装置からデータを受信したことの証拠としてWm,jをタグ情報の正当性を確認する第三者に出力する。
<詳細>
図44は、本形態のタグ情報検証システム1800の構成を例示したブロック図である。本形態と第5の実施の形態のタグ情報検証システム500との構成上の相違点は、読取装置20が、署名部1824が付加された読取装置1820に置き換わる点、セキュリティサーバ装置530が、署名部1836及び時計1837が付加されたセキュリティサーバ装置1830に置き換わる点である。
また、タグ情報提出処理上の相違点は、読取装置1820がセキュリティサーバ装置1830から配信された乱数Rm、jとタグ装置10から読取ったタグ情報Em,jとに対し、署名とタグ情報の対Um,j=(Sig(Em、j,Rm、j),Em、j,Rm、j)を生成し、タグ情報Em,iの代わりにこの署名Um,jをセキュリティサーバ装置1830に送信する点、セキュリティサーバ装置1830の履歴記憶部36においてタグ情報Em,jを格納する代わりに、通信部32における署名Um,jの受信時刻tを時計1837から出力し、この署名Um,jを受信時刻tに関連付けて蓄積してく点である。
また、タグ情報検証処理上の相違点は、署名部1836において、セキュリティサーバ装置1830が確かに順序履歴通りにデータを受信したことの証拠として署名とタグ情報の対Wm,i=(Sigss(Um,j,id,t),Um,j,id,t)を生成し、これを第三者に対して出力する点である。
<本形態の特徴>
以上の構成により、第三者は、確かにタグ情報を読み出した読取装置が乱数Rm,jを取扱い、セキュリティサーバ装置が履歴通りに読取装置からデータを受信したことを確認できる。そして、検証部34での検証はセキュリティサーバ装置でのタグ情報の受信順序を根拠にするものであるから、この第三者は、確かにタグ情報が実際に物理的に取り扱われて生成された情報であることを確認できる。なお、受信時刻tを署名とタグ情報の対Wm,iに含めない構成としてもよく、その他の情報を署名とタグ情報の対Wm,iに含めてもよい。
なお、第13の実施の形態をその他の実施の形態に適用することとしてもよい。例えば、第11,12の実施の形態のように、セキュリティサーバ装置と検証サーバ装置とで秘匿情報を分散管理する形態に第13の実施の形態の署名を適用してもよい。この場合、セキュリティサーバ装置は読取装置から署名とタグ情報の対Um,j=(Sig(Em、j,Rm、j),Em、j,Rm、j)を受け取り、検証サーバ装置に検証を依頼し、その検証結果が正当であった場合に署名とタグ情報の対Wm,i=(Sigss(Um,i,id,t),Um,i,id,t)を生成し、第三者に対して出力する。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施の形態では「逆元の算出が困難な関数」としてハッシュ関数を用いることとしたが、少なくともその一部にその他の一方向性関数を用いることとしてもよい。さらにはAESやDES等の共通鍵暗号関数と秘密鍵とを、タグ装置とセキュリティサーバ装置或いは検証サーバ装置と共有し、これを「逆元の算出が困難な関数」として利用してもよい。
また、タグ装置とセキュリティサーバ装置や検証サーバ装置とで整合が取れるのであれば、上述したハッシュ演算部の入力データに他のデータ(例えば、秘匿化識別情報sidやヘッダ情報等)を付加する構成としてもよい。同様に、タグ情報に他のデータを付加する構成としてもよい。
さらに、上述の各実施の形態では、複数箇所に設置された読取装置を巡回することによって順次タグ情報が読取られる構成としたが、逆に各読取装置が各タグ装置を巡回し、順次タグ情報を読取る構成としてもよい。また、1箇所に設置された読取装置によってタグ情報が複数回読取られることとしてもよい。
その他、各実施の形態の思想を組み合わせる等、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読取り可能な記録媒体に記録しておくことができる。コンピュータで読取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読取り、読取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
本発明により、例えばRFID等の自動認識技術を用いた無線タグシステムにおいて、実際にタグ情報を取り扱っていないにも関わらず偽造したタグ情報を提出し、そのタグ情報に係る無線タグ装置を取り扱ったかのように偽る不正を検出できる。
第1の実施の形態におけるタグ情報検証方法の概要を説明するための概念図。 第1の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第1の実施の形態におけるタグ情報提出処理を説明するためのフローチャート。 第1の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第2の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第2の実施の形態におけるタグ情報提出処理を説明するためのフローチャート。 第2の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第3の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第4の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第5の実施の形態におけるタグ情報検証方法の概要を説明するための概念図。 第5の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第5の実施の形態におけるタグ情報提出処理を説明するためのフローチャート。 第5の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第6の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第6の実施の形態におけるタグ情報提出処理を説明するためのフローチャート。 第6の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第7の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第7の実施の形態におけるタグ情報提出処理を説明するためのフローチャート。 第7の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第8の実施の形態におけるタグ情報検証方法の概要を説明するための概念図。 第8の実施の形態におけるタグ情報検証システムの全体構成を例示した概念図。 第8の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第8の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第8の実施の形態における乱数配送処理を説明するためのフローチャート。 第8の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第9の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第9の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第9の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第10の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第10の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第10の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第11の実施の形態におけるタグ情報検証方法の概要を説明するための概念図。 第11の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第11の実施の形態におけるタグ情報提出処理を説明するためのフローチャート。 第11の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第11の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第12の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第12の実施の形態におけるタグ情報提出処理を説明するためのフローチャート。 第12の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第12の実施の形態におけるタグ情報検証処理を説明するためのフローチャート。 第13の実施の形態におけるタグ情報検証方法の概要を説明するための概念図。 第13の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。 第14の実施の形態におけるタグ情報検証方法の概要を説明するための概念図。 第14の実施の形態におけるタグ情報検証システムの構成を例示したブロック図。
符号の説明
1,200,300,400,500,600,700,800,1200,1400,1500,1600,1800 タグ情報検証システム
10,210,310,410,510,610,710,810,1200−q,r,1410,1510 タグ装置
20,820,1620,1820 読取装置
30,230,330,430,530,630,730,830,1230,1430,1530,1630,1830 セキュリティサーバ装置
1450,1550 検証サーバ装置

Claims (9)

  1. タグ情報の正当性を検証するタグ情報検証方法であって、
    タグ装置mのタグ記憶部において、このタグ装置に対応する識別情報idと秘密情報kとを格納しておき、
    セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報kとを関連付けて格納しておき、
    上記タグ装置mが、
    読取装置からのアクセスに対し、
    タグカウンタにおいて、タグ情報の送信回数に応じたカウント値iを出力し、
    関数演算部において、上記秘密情報kと上記カウント値iとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vm,i=G(k,i)を算出し、
    タグインタフェースにおいて、上記識別情報idと上記関数演算値Vm,iとを含むタグ情報Em,iを送信し、
    上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ情報Em,iを受信し、
    履歴記憶部において、上記タグ情報Em,iをその受信順序が特定できるように格納し、
    検索部において、検証対象のタグ情報Em,nが有する識別情報idに対応する秘密情報kを上記セキュリティサーバ記憶部から抽出し、
    検証部において、上記タグ情報Em,nが有する関数演算値Vm,nと、これよりも前に受信されたタグ情報Em,n−が有する関数演算値Vm,n−と、後に受信されたタグ情報Em,n+が有する関数演算値Vm,n+とに対し、
    m,n=G(k,n),
    m,n−=G(k,n−α),
    m,n+=G(k,n+β),
    α>0,β>0
    を満たすことを条件に上記タグ情報Em,nが正当であると判断する、
    ことを特徴とするタグ情報検証方法。
  2. タグ情報の正当性を検証するタグ情報検証方法であって、
    タグ装置mのタグ記憶部において、このタグ装置mに対応する識別情報idと秘密情報km,i(iは0以上の整数)とを格納しておき、
    セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報の初期値km,0とを関連付けて格納しておき、
    上記タグ装置mが、
    読取装置からのアクセスに対し、
    関数演算部において、上記秘密情報km,iを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vm,i=G(km,i)を算出し、
    タグインタフェースにおいて、上記識別情報idと上記関数演算値Vm,iとを含むタグ情報Em,iを送信し、
    秘密情報更新部において、上記秘密情報km,iを含む情報に逆元の算出が困難な関数Hを作用させた秘密情報km,i+1=H(km,i)を算出し、これによって上記タグ記憶部の秘密情報を更新し、
    上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ情報Em,iを受信し、
    履歴記憶部において、上記タグ情報Em,iをその受信順序が特定できるように格納し、
    検索部において、これらのタグ情報が有する上記識別情報idに対応する秘密情報の初期値km,0を上記セキュリティサーバ記憶部から抽出し、
    検証部において、検証対象のタグ情報Em,nが有する関数演算値Vm,nと、これよりも前に受信されたタグ情報Em,n−が有する関数演算値Vm,n−と、後に受信されたタグ情報Em,n+が有する関数演算値Vm,n+とに対し、km,i=H(km,0)とした場合における、
    m,n=G(km,n),
    m,n−=G(km,n−α),
    m,n+=G(km,n+β),
    α>0,β>0
    を満たすことを条件に上記タグ情報Em,nが正当であると判断する、
    ことを特徴とするタグ情報検証方法。
  3. タグ情報の正当性を検証するタグ情報検証方法であって、
    タグ装置mのタグ記憶部において、このタグ装置mに対応する識別情報idと秘密情報kとを格納しておき、
    セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報kとを関連付けて格納しておき、
    j回目にタグ装置mのタグ情報を読取る読取装置からの乱数送信要求に対し、上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、乱数Rm,jを送信し、
    上記セキュリティサーバ記憶部において、上記乱数Rm,jを上記識別情報idに関連付け、なおかつ値jが特定できるように格納し、
    上記読取装置が、
    読取通信部において、上記乱数Rm,jを受信し、
    読取インタフェースにおいて、上記乱数Rm,jを上記タグ装置mに送信し、
    上記タグ装置mが、
    タグインタフェースにおいて、上記乱数Rm,jを受信し、
    関数演算部において、上記秘密情報kと上記乱数Rm,jとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vm,j=G(k,Rm,j)を算出し、
    タグインタフェースにおいて、上記識別情報idと上記関数演算値Vm,jとを含むタグ情報Em,jを送信し、
    上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ情報Em,jを受信し、
    履歴記憶部において、上記タグ情報Em,jをその受信順序が特定できるように格納し、
    検索部において、検証対象のタグ情報Em,sが有する識別情報idに対応する秘密情報kと上記乱数Rm,sとを上記セキュリティサーバ記憶部から抽出し、
    検証部において、検証対象のタグ情報Em,sが有する関数演算値Vm,sと、これよりも前に受信されたタグ情報Em,s−が有する関数演算値Vm,s−と、後に受信されたタグ情報Em,s+が有する関数演算値Vm,s+とに対し、
    m,s=G(k,Rm,s),
    m,s−=G(k,Rm,s−γ),
    m,s+=G(k,Rm,s+δ),
    γ>0,δ>0
    を満たすことを条件に、上記タグ情報Em,sが正当であると判断する、
    ことを特徴とするタグ情報検証方法。
  4. タグ情報の正当性を検証するタグ情報検証方法であって、
    タグ装置mのタグ記憶部において、このタグ装置mに対応する識別情報idと秘密情報kとを格納しておき、
    セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報kとを関連付けて格納しておき、
    j回目にタグ装置mのタグ情報を読取る読取装置からの乱数送信要求に対し、上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、乱数Rm,jを上記読取装置に送信し、
    上記セキュリティサーバ記憶部において、上記乱数Rm,jを上記識別情報idに関連付け、なおかつ値jが特定できるように格納し、
    上記読取装置が、
    読取通信部において、上記乱数Rm,jを受信し、
    読取インタフェースにおいて、上記乱数Rm,jを上記タグ装置mに送信し、
    上記タグ装置mが、
    タグインタフェースにおいて、上記乱数Rm,jを受信し、
    タグカウンタにおいて、タグ情報の送信回数に応じたカウント値iを出力し、
    関数演算部において、上記秘密情報kと上記カウント値iと上記乱数Rm,jとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vm,i,j=G(k,i,Rm,j)を算出し、
    タグインタフェースにおいて、上記識別情報idと上記関数演算値Vm,i,jとを含むタグ情報Em,i,j=(id,Vm,i,j)を送信し、
    上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ情報Em,i,jを受信し、
    履歴記憶部において、上記タグ情報Em,i,jをその受信順序が特定できるように格納し、
    検索部において、検証対象のタグ情報Em,n,sが有する識別情報idに対応する秘密情報kと上記乱数Rm,sとを上記セキュリティサーバ記憶部から抽出し、
    検証部において、検証対象のタグ情報Em,n,sが有する関数演算値Vm,n,sと、これよりも前に受信されたタグ情報Em,n,s−が有する関数演算値Vm,n,s−と、後に受信されたタグ情報Em,n,s+が有する関数演算値Vm,n,s+とに対し、
    m,n,s=G(k,n,Rm,s),
    m,n,s−=G(k,n−α,Rm,s−γ),
    m,n,s+=G(k,n+β,Rm,s+δ),
    α>0,β>0,γ>0,δ>0
    を満たすことを条件に、上記タグ情報Em,n,sが正当であると判断する、
    ことを特徴とするタグ情報検証方法。
  5. タグ情報の正当性を検証するタグ情報検証方法であって、
    タグ装置mのタグ記憶部において、このタグ装置mに対応する識別情報idとkm,i(iは0以上の整数)とを格納しておき、
    セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報の初期値km,0とを関連付けて格納しておき、
    j回目にタグ装置mのタグ情報を読取る読取装置からの乱数送信要求に対し、上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、乱数Rm,jを上記読取装置に送信し、
    上記セキュリティサーバ記憶部において、上記乱数Rm,jを上記識別情報idに関連付け、なおかつ値jが特定できるように格納し、
    上記読取装置が、
    読取通信部において、上記乱数Rm,jを受信し、
    読取インタフェースにおいて、上記乱数Rm,jを上記タグ装置mに送信し、
    上記タグ装置mが、
    タグインタフェースにおいて、上記乱数Rm,jを受信し、
    関数演算部において、上記秘密情報km,iと上記乱数Rm,jとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vm,i,j=G(km,i,Rm,j)を算出し、
    タグインタフェースにおいて、上記識別情報idと上記関数演算値Vm,i,jとを含むタグ情報Em,i,jを読取装置に送信し、
    秘密情報更新部において、上記秘密情報km,iを含む情報に逆元の算出が困難な関数Hを作用させた秘密情報km,i+1=H(km,i)を算出し、これによって上記タグ記憶部の秘密情報を更新し、
    上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ情報Em,i,jを受信し、
    履歴記憶部において、上記タグ情報Em,i,jをその受信順序が特定できるように格納し、
    検索部において、これらのタグ情報が有する上記識別情報idに対応する秘密情報の初期値km,0と上記乱数Rm,jとを上記セキュリティサーバ記憶部から抽出し、
    検証部において、検証対象のタグ情報Em,n,sが有する関数演算値Vm,n,sと、これよりも前に受信されたタグ情報Em,n,s−が有する関数演算値Vm,n,s−と、後に受信されたタグ情報Em,n,s+が有する関数演算値Vm,n,s+とに対し、km,i=H(km,0)とした場合における、
    m,n,s=G(km,n,Rm,s),
    m,n,s−=G(km,n−α,Rm,s−γ),
    m,n,s+=G(km,n+β,Rm,s+δ),
    α>0,β>0,γ>0,δ>0
    を満たすことを条件に、上記タグ情報Em,n,sが正当であると判断する、
    ことを特徴とするタグ情報検証方法。
  6. タグ情報の正当性を検証するタグ情報検証方法であって、
    タグ装置群を構成するp個のタグ装置m∈{1,2,…,p}のタグ記憶部において、各タグ装置mに対応する識別情報idと秘密情報kとをそれぞれ格納しておき、
    セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報kとを関連付けて格納しておき、
    j回目にタグ装置mのタグ情報を読取る読取装置からの乱数送信要求に対し、上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ装置群の一部であるタグ装置q∈{1,2,…,p}に対し、乱数Rq,jを送信し、
    上記セキュリティサーバ記憶部において、上記乱数Rq,jを上記識別情報idに関連付け、なおかつ値jが特定できるように格納し、
    上記読取装置が、
    読取通信部において、上記乱数Rq,jを受信し、
    読取インタフェースにおいて、上記乱数Rq,jをタグ装置qに送信し、
    上記タグ装置qが、
    第1のタグインタフェースにおいて、上記乱数Rq,jを受信し、
    第1の関数演算部において、上記秘密情報kと上記乱数Rq,jとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vq,j=G(k,Rq,j)を算出し、
    上記第1のタグインタフェースにおいて、上記識別情報idと上記関数演算値Vq,jとを含むタグ情報Eq,jを送信し、
    上記タグ装置q以外の上記タグ装置群を構成するタグ装置r∈{1,2,…,p}(r≠q)が、
    読取装置からのアクセスに対し、
    第2の関数演算部において、上記秘密情報kを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vr,j=G(k)を算出し、
    第2のタグインタフェースにおいて、上記識別情報idと上記関数演算値Vr,jとを含むタグ情報Er,jを送信し、
    上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ情報Em,jを受信し、
    履歴記憶部において、上記タグ情報Em,jを、タグ装置群ごとの受信順序が特定できるように格納し、
    検索部において、検証対象のタグ装置群に属するタグ情報Em,sが有する識別情報id及び当該タグ情報Em,sの受信順序sに対応する、秘密情報kと上記乱数Rq,sとを上記セキュリティサーバ記憶部から抽出し、
    検証部において、検証対象のタグ情報Eq,sが有する関数演算値Vq,sに対し、
    q,s=G(k,Rq,s
    を満たし、
    上記検証部において、検証対象のタグ情報Er,sが有する関数演算値Vr,sに対し、
    r,s=G(k
    を満たすことを条件に、上記タグ装置群を構成するタグ装置から送信された各タグ情報Em,sが正当であると判断する、
    ことを特徴とするタグ情報検証方法。
  7. タグ情報の正当性を検証するタグ情報検証方法であって、
    タグ装置群を構成するp個のタグ装置m∈{1,2,…,p}のタグ記憶部において、タグ装置に対応する識別情報idと秘密情報kとをそれぞれ格納しておき、
    セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報kとを関連付けて格納しておき、
    j回目にタグ装置mのタグ情報を読取る読取装置からの乱数送信要求に対し、上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ装置群の一部であるタグ装置q∈{1,2,…,p}に対し、乱数Rq,jを送信し、
    上記セキュリティサーバ記憶部において、上記乱数Rq,jを上記識別情報idに関連付け、なおかつ値jが特定できるように格納し、
    上記読取装置が、
    読取通信部において、上記乱数Rq,jを受信し、
    読取インタフェースにおいて、上記乱数Rq,jをタグ装置qに送信し、
    上記タグ装置qが、
    第1のタグインタフェースにおいて、上記乱数Rq,jを受信し、
    第1のタグカウンタにおいて、タグ情報の送信回数に応じたカウント値iを出力し、
    第1の関数演算部において、上記秘密情報kと上記カウント値iと上記乱数Rq,jとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vq,i,j=G(k,i,Rq,j)を算出し、
    上記第1のタグインタフェースにおいて、上記識別情報idと上記関数演算値Vq,i,jとを含むタグ情報Eq,i,jを送信し、
    上記タグ装置q以外の上記タグ装置群を構成するタグ装置r∈{1,2,…,p}(r≠q)が、
    読取装置からのアクセスに対し、
    第2のタグカウンタにおいて、タグ情報の送信回数に応じたカウント値iを出力し、
    第2の関数演算部において、上記秘密情報kと上記カウント値iとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vr,i,j=G(kr,)を算出し、
    第2のタグインタフェースにおいて、上記識別情報idと上記関数演算値Vr,iとを含むタグ情報Er,i,jを送信し、
    上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ情報Em,i,jを受信し、
    履歴記憶部において、上記タグ情報Em,i,jを、タグ装置群ごとの受信順序が特定できるように格納し、
    検索部において、検証対象のタグ装置群に属するタグ情報Em,n,sが有する識別情報id及び当該タグ情報Em,n,sの受信順序sに対応する、秘密情報kと上記乱数Rq,sとを上記セキュリティサーバ記憶部から抽出し、
    検証部において、検証対象のタグ装置群に属するタグ情報Eq,n,sが有する関数演算値Vq,n,sと、これよりも前に受信されたタグ情報Eq,n,s−が有する関数演算値Vq,n,s−と、後に受信されたタグ情報Eq,n,s+が有する関数演算値Vq,n,s+とに対し、
    q,n,s=G(k,n,Rq,s),
    q,n,s−=G(k,n−α),
    q,n,s+=G(k,n+β),
    α>0,β>0
    を満たし、
    検証対象のタグ装置群に属するタグ情報Er,n,sが有する関数演算値Vr,n,sと、これよりも前に受信されたタグ情報Er,n,s−が有する関数演算値Vr,n,s−と、後に受信されたタグ情報Er,n,s+が有する関数演算値Vr,n,s+とに対し、
    r,n,s=G(k,n),
    r,n,s−=G(k,n−α),
    r,n,s+=G(k,n+β),
    α>0,β>0
    を満たすことを条件に、上記タグ装置群を構成するタグ装置から送信された各タグ情報Em,n,sが正当であると判断する、
    ことを特徴とするタグ情報検証方法。
  8. タグ情報の正当性を検証するタグ情報検証方法であって、
    タグ装置群を構成するp個のタグ装置m∈{1,2,…,p}のタグ記憶部において、各タグ装置に対応する識別情報idと秘密情報km,i(iは0以上の整数)とをそれぞれ格納しておき、
    セキュリティサーバ装置のセキュリティサーバ記憶部において、各タグ装置mに対応する識別情報idと秘密情報の初期値km,0とを関連付けて格納しておき、
    j回目にタグ装置mのタグ情報を読取る読取装置からの乱数送信要求に対し、上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ装置群の一部であるタグ装置q∈{1,2,…,p}に対し、乱数Rq,jを送信し、
    上記セキュリティサーバ記憶部において、上記乱数Rq,jを上記識別情報idに関連付け、なおかつ値jが特定できるように格納し、
    上記読取装置が、
    読取通信部において、上記乱数Rq,jを受信し、
    読取インタフェースにおいて、上記乱数Rq,jを上記タグ装置qに送信し、
    上記タグ装置qが、
    第1のタグインタフェースにおいて、上記乱数Rq,jを受信し、
    第1の関数演算部において、上記秘密情報kq,i1と上記乱数Rq,jとを含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vq,i1,j=G(kq,i1,Rq,j)を算出し、
    上記第1のタグインタフェースにおいて、上記識別情報idと上記関数演算値Vq,i1,jとを含むタグ情報Eq,i1,jを送信し、
    第1の秘密情報更新部において、上記秘密情報kq,i1を含む情報に逆元の算出が困難な関数Hを作用させた秘密情報kq,i1+1=H(kq,i1)を算出し、これによって上記タグ装置qのタグ記憶部の秘密情報を更新し、
    上記タグ装置q以外の上記タグ装置群を構成するタグ装置r∈{1,2,…,p}(r≠q)が、
    読取装置からのアクセスに対し、
    第2の関数演算部において、上記秘密情報kr,i2を含む情報に逆元の算出が困難な関数Gを作用させた関数演算値Vr,i2,j=G(kr,i2)を算出し、
    第2のタグインタフェースにおいて、上記識別情報idと上記関数演算値Vr,i2,jとを含むタグ情報Em,i2,jを送信し、
    第2の秘密情報更新部において、上記秘密情報kr,i2を含む情報に逆元の算出が困難な関数Hを作用させた秘密情報kr,i2+1=H(kr,i2)を算出し、これによって上記タグ記憶部の秘密情報を更新し、
    上記セキュリティサーバ装置が、
    セキュリティサーバ通信部において、上記タグ情報Em,i,jを受信し、
    履歴記憶部において、上記タグ情報Em,i,jを、タグ装置群ごとの受信順序が特定できるように格納し、
    検索部において、検証対象のタグ装置群に属するタグ情報Em,n,sが有する上記識別情報id及び受信順序sに対応する、秘密情報の初期値km,0と上記乱数Rq,sとを上記セキュリティサーバ記憶部から抽出し、
    検証部において、検証対象のタグ装置群に属するタグ情報Eq,n,sが有する関数演算値Vq,n,sと、これよりも前に受信されたタグ情報Eq,n,s−が有する関数演算値Vq,n,s−と、後に受信されたタグ情報Eq,n,s+が有する関数演算値Vq,n,s+とに対し、km,i=H(km,0)とした場合における、
    q,n,s=G(kq,n,Rq,s),
    q,n,s−=G(kq,n−α),
    q,n,s+=G(kq,n+β),
    α>0,β>0
    を満たし、
    検証対象のタグ装置群に属するタグ情報Er,n,sが有する関数演算値Vr,n,sと、これよりも前に受信されたタグ情報Er,n,s−が有する関数演算値Vr,n,s−と、後に受信されたタグ情報Er,n,s+が有する関数演算値Vr,n,s+とに対し、
    r,n,s=G(kr,n),
    r,n,s−=G(kr,n−α),
    r,n,s+=G(kr,n+β),
    α>0,β>0
    を満たすことを条件に、上記タグ装置群を構成するタグ装置から送信された各タグ情報Em,n,sが正当であると判断する、
    ことを特徴とするタグ情報検証方法。
  9. 請求項1からの何れかに記載のセキュリティサーバ装置としてコンピュータを機能させるためのプログラム。
JP2005015207A 2005-01-24 2005-01-24 タグ情報検証方法及びプログラム Active JP4564851B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005015207A JP4564851B2 (ja) 2005-01-24 2005-01-24 タグ情報検証方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005015207A JP4564851B2 (ja) 2005-01-24 2005-01-24 タグ情報検証方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2006203743A JP2006203743A (ja) 2006-08-03
JP4564851B2 true JP4564851B2 (ja) 2010-10-20

Family

ID=36961323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005015207A Active JP4564851B2 (ja) 2005-01-24 2005-01-24 タグ情報検証方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4564851B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5525133B2 (ja) * 2008-01-17 2014-06-18 株式会社日立製作所 デジタル署名及び認証のためのシステム及び方法
US9450928B2 (en) * 2010-06-10 2016-09-20 Gemalto Sa Secure registration of group of clients using single registration procedure

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234403A (ja) * 2003-01-31 2004-08-19 Dainippon Printing Co Ltd 商品の不正流通防止システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234403A (ja) * 2003-01-31 2004-08-19 Dainippon Printing Co Ltd 商品の不正流通防止システム

Also Published As

Publication number Publication date
JP2006203743A (ja) 2006-08-03

Similar Documents

Publication Publication Date Title
US11922363B2 (en) Counterparty physical proximity verification for digital asset transfers
CN107798650B (zh) 一种基于区块链的数字资产侵权判定方法和装置
EP1669877B1 (en) Tag privacy protecting method, tag device, backend device, updating device, update requesting device, programs for these devices, and recording medium storing these programs
US10747721B2 (en) File management/search system and file management/search method based on block chain
JP4062985B2 (ja) 電子タグ固有番号管理方法および管理サーバ
CN104715187B (zh) 用于认证电子通信系统中的节点的方法和装置
CN112990918A (zh) 物品的确权、转移方法、系统、电子设备和存储介质
US10938579B2 (en) Radio frequency identification tag one-way authentication using a one-time password pad and a blockchain
CN107851111A (zh) 使用区块链的身份管理服务
CN101243513A (zh) 使用物理单向函数的信息载体鉴别
US20220070006A1 (en) Methods, devices and system for the security-protected provision of sets of data
US8730015B2 (en) Duplication detection for non-cryptographic RFID tags using encrypted traceability information
US20220414664A1 (en) Blockchain address risk assessment via graph analysis
JP7053031B2 (ja) 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム
JP4993076B2 (ja) 流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ
US11852664B2 (en) Power metering apparatus, power metering server, and power metering method based on blockchain
JP4564851B2 (ja) タグ情報検証方法及びプログラム
US20230169154A1 (en) Ownership data management system and method
EP3742367A1 (en) Method for determining information integrity and computer system using the same
JP3822575B2 (ja) Rfタグ発行装置及びプログラム
KR101829731B1 (ko) 주주명부를 등록하고 주식 소유권 이전을 기록하는 방법 및 서버
Singhal et al. Anti-counterfeit product system using blockchain technology
JP2005339238A (ja) 読取装置、データベース装置、物流情報管理方法及びプログラム
KR20230080677A (ko) 고속 블록체인 시스템과 이를 이용한 정보 처리 방법
US8681972B2 (en) Method of executing a cryptographic calculation

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100720

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4564851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350