JP4993076B2 - 流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ - Google Patents

流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ Download PDF

Info

Publication number
JP4993076B2
JP4993076B2 JP2006547916A JP2006547916A JP4993076B2 JP 4993076 B2 JP4993076 B2 JP 4993076B2 JP 2006547916 A JP2006547916 A JP 2006547916A JP 2006547916 A JP2006547916 A JP 2006547916A JP 4993076 B2 JP4993076 B2 JP 4993076B2
Authority
JP
Japan
Prior art keywords
distribution history
base
wireless
tag
signature
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.)
Expired - Fee Related
Application number
JP2006547916A
Other languages
English (en)
Other versions
JPWO2006057390A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006547916A priority Critical patent/JP4993076B2/ja
Publication of JPWO2006057390A1 publication Critical patent/JPWO2006057390A1/ja
Application granted granted Critical
Publication of JP4993076B2 publication Critical patent/JP4993076B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、工場生産品や食品などの一般消費者向けの製品または製品パッケージの流通経緯を認証するシステムであって、特に、RF-ID(Radio Frequency-IDentification)タグに代表される無線ICタグを付して行う製品の製造、加工、小売り、消費/利用、再利用、廃棄等の各拠点の流通経緯認証システム及び流通経緯認証方法に関する。
製品流通システムにおいて、製品の流通がどのように行われたか、すなわち流通経緯を知ることが望まれる場合がある。流通中に製品が破損した場合に、責任の所在を明確化することや、生産地を明確にすることで、特に食品などの製品に関する安全性や信頼性を高める目的などにおいて、これらの流通経緯を知る必要が生じる。このような流通経緯を知る従来の方法の一例に、特許文献1に示す無線ICタグを利用した宅配便システムがある。この従来の宅配便システムは、無線ICタグ内の記憶領域に、無線ICタグ固有のIDが記憶される。この無線ICタグを製品に付し、集荷店及び配送店に設置されたリーダライタでそのIDが読み出され、読み出されたIDがその都度、ホストコンピュータに送信され、これにより、ホストコンピュータ側で配送物品の流通経緯を管理することができる(以下、第1の従来技術)。
また、書き込み可能なメモリ領域を有する無線ICタグを製品に付して流通経緯を管理する従来の方法の一例に、特許文献2に示す製品情報管理方法がある。この従来の製品情報管理方法は、製品に付する無線ICタグに、流通経緯を証明する情報(本明細書ではこのような情報を、流通経緯情報と呼ぶ)を書き込むリーダライタを製品の製造、流通、小売り、消費/利用、再利用、廃棄の各拠点に備え、拠点を経由する際に無線ICタグに対して流通経緯情報を書き込み、この流通経緯情報を必要に応じて参照することで製品の流通経緯を知る方法である(以下、第2の従来技術)。
書き込み可能なメモリ領域を有する無線ICタグを製品に付して流通経緯を管理する従来の他の方法の一例に、特許文献3に示す食肉流通用非接触型ICタグ管理方法がある。この従来技術は、流通させる食肉に関連する情報を秘密鍵によって暗号化した情報とこれを解読するための公開鍵とをICタグに書き込んでおき、流通先において、ICタグに記録された公開鍵によってそのICタグに記録された情報を解読するようにする方法である。
なお、無線ICタグに関する文献としては非特許文献1が公知である。
他方、計算機やインターネット環境の普及に伴い、電子的にメッセージを送受信する機会が増えている。このような場合に、メッセージを送信する途中でメッセージが改竄されることを防ぐため、メッセージに電子署名を添付することが行われている。電子署名の方式は各種存在し、複数の署名装置が署名をかさねて行ういわゆる多重署名も公知である。RSAやDSAといった署名方式はよく知られた署名方式であるが、これを用いて多重署名を作成した場合、全員が署名したことを表すには、全署名装置が個々に署名文を作成し、それらの署名文を全て保存する必要がある。この為、署名文のデータ長の合計値が署名装置の台数に比例する。このような問題を改善し、署名文のデータ長の合計値が署名装置の台数に比例しない署名方式が、非特許文献2および非特許文献3により公知である。非特許文献2の方式はRSA問題の困難性に安全性の基礎をおく方式であり、非特許文献3の方式はsupersingularな楕円曲線上のGap Diffie Hellman問題という問題の困難性に頼って安全性を示している。
特開2001−206514号公報 特開2002−49905号公報 特開2004−43143号公報 無線ICタグのすべて、日経BP社、pp.197、2004 AnnaLysyanskaya, Silvio Micali, Leonid Reyzin, Hovav Shacham. Sequential Aggregate Signatures from Trapdoor Permutations. InAdvances in Cryptology-EUROCRYPT 2004, vol. 3027 of LNCS, pp. 74-90. Springer-Verlag, 2004. D. Boneh, C.Gentry, B. Lynn, and H. Shacham. Aggregate and Verifiably Encrypted Signaturesfrom Bilinear Maps. In Advances in Cryptolog y -- EUROCRYPT 2003, vol. 2656 ofLNCS, pp. 416-432. Springer-Verlag, 2003.
しかしながら、第1の従来技術では、ホストコンピュータとの間で情報通信が不可能な拠点では、製品が通過した際にホストコンピュータに情報を送信することができず、流通経緯情報を記録することができない。また、製品の流通経緯を知ろうとしてもホストコンピュータから通過情報を受信できないので、不可能である。またホストコンピュータでデータを集中管理する場合、各拠点が共通に情報通信できるようなホストコンピュータを運用しなければならないが、製品流通経路中に異業種の店舗等も存在するような運用環境を想定する場合には、このような運用環境を整えることは困難であった。すなわち今までは、ある特定業種で閉じた環境での運用しか実現できていなかった。
一方、第2の従来技術においても、主要な書き込み型無線ICタグの有する書き込み可能メモリ領域は、非特許文献1を参照すると、高々1Kバイトの有限領域であり、流通経緯中の各拠点を経由するたびに次々に発生する流通経緯情報を記録することができないという問題がある。記憶領域が足りず記録できない場合は、流通経緯情報を正しく記録することができないため、流通経緯を知ることができなくなる。また、有限の書き込み可能メモリ領域内に、記録すべき流通経緯情報が収まる場合でも、当該書き込みメモリ領域は、流通経緯を知るために必要な情報だけを記憶するために使われるわけではなく、システムに応じて様々な情報を記憶することが考えられ、流通経緯情報はできるだけ小容量で管理できることが望ましい。
また、ローカルの書き込み領域に流通経緯情報を記録する第2の従来技術のような方法の場合、流通経緯情報の書き換え(改竄)や、虚偽のため、流通経緯の真正性を保障できないという問題が潜在する。特許文献3を参照すると、このような流通経緯を記録する際に、公開鍵暗号系の性質、つまり、秘密鍵で暗号化(署名付与)したデータは、対応する公開鍵でしか正しく復号(署名検証)できないという性質を使用して、流通過程における第3者による偽造、改竄を防止することが可能となる。しかし、本方式は流通経緯中の各拠点のリーダライタ(端末)は、不正を働かないという前提でのみ機能する。流通経緯中の各拠点のリーダライタが故意に流通経緯情報を偽造、および改竄をして不当な利益を得ようとする場合、対応できない。何故なら、秘密鍵で暗号化する情報がすりかえられると、その情報は正当な秘密鍵で暗号化されているため、対応する公開鍵での検証はパスしてしまうからである。
他方、いわゆる多重署名方式が公知であるが、製品の流通経緯を認証するシステムに多重署名方式を適用した事例は皆無であり、特にRF-IDに代表される無線ICタグを付して行う製品の流通経緯認証システムに多重署名方式を適用した事例は見当たらない。
『発明の目的』
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、工場生産品や食品などの一般消費者向けの製品または製品パッケージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流通経緯を確認することができ、かつ流通経緯中の各拠点のリーダライタや悪意のある第3者における流通経緯情報の偽造および改竄も検知可能な流通経緯認証方法および流通経緯認証システムを提供することにある。
本発明の別の目的は、製品の流通経緯が正しいかどうかの検証を簡易に行うことのできる流通経緯認証方法および流通経緯認証システムを提供することにある。
本発明のさらに別の目的は、流通経緯中にたどる拠点数にスケーラビリティを有する流通経緯認証方法および流通経緯認証システムを提供することにある。
本発明の第1の流通経緯認証システムは、製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリーダライタを前記製品の流通経路上の各拠点に備え、最初の拠点に備わるリーダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報として無線ICタグの読み書き可能なメモリに書き込むものであり、最初の拠点以外の拠点に備わるリーダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に前記初期値が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と置き換えるものであることを特徴とする。
本発明の第2の流通経緯認証システムは、第1の流通経緯認証システムにおいて、前記初期値として、無線ICタグの読み出し専用メモリに記憶されている当該無線ICタグ固有の識別番号を使用するものであることを特徴とする。
本発明の第3の流通経緯認証システムは、製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリーダライタを前記製品の流通経路上の各拠点に備え、最初の拠点に備わるリーダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報、前記初期値またはそれから導出した値を補助情報として無線ICタグの読み書き可能なメモリに書き込むものであり、最初の拠点以外の拠点に備わるリーダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より1つ上流の拠点の公開鍵を使用して検証し、その検証結果において前記無線ICタグの読み書き可能なメモリに書き込まれている補助情報と同じ情報が導出できることにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれていた元の流通経緯情報またはそれから導出した情報を補助情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と補助情報と置き換えるものであることを特徴とする。
本発明の第4の流通経緯認証システムは、第1の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、(u<n )?f (u)=u^{d }mod n :f (u)=uと定義される関数をf (u)、セキュリティパラメタkビット(ただしn <2 )長自然数空間での写像としてφ(u)=(u+n )mod2 と定義される関数をφ(u)、その逆関数をφ −1 とするとき、φ −1 (f (φ(f (ST)))))を新たな流通経緯情報として導出するものであることを特徴とする。
本発明の第5の流通経緯認証システムは、第4の流通経緯認証システムにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第6の流通経緯認証システムは、第の流通経緯認証システムにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第7の流通経緯認証システムは、第5または6の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタは、(u<n )?g (u)=u^{e } mod n :g (u)=uと定義される関数をg (u)とするとき、φ −1 (g (φ(g1(H(T ○φ −1 (g (φ((g (H(T ○…T i−1 ○φ −1 (g i−1 (φ(g i−1 (u i−1 )))))…)))))))))=u が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の第8の流通経緯認証システムは、第の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵をd 、RSAモジュラスn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、(u<n )?f (u)=u^{d }mod n :f (u)=uと定義される関数をf (u)、セキュリティパラメタkビット(ただしn <2 )長自然数空間での写像としてφ(u)=(u+n )mod2 と定義される関数をφ(u)、その逆関数をφ −1 とするとき、φ −1 (f (φ(f (ST)))))を新たな流通経緯情報、流通経緯情報u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出するものであることを特徴とする。
本発明の第9の流通経緯認証システムは、第8の流通経緯認証システムにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第10の流通経緯認証システムは、第の流通経緯認証システムにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第11の流通経緯認証システムは、第の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタは、(u<n )?g (u)=u^{e } mod n :g (u)=uと定義される関数をg (u)とするとき、h(H(T i−1 ○φ −1 (g i−1 (φ(g i−1 (u i−1 )))))…)))))))))=v i−1 が成立することにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の第12の流通経緯認証システムは、第1の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタの署名作成部は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報として導出するものであることを特徴とする。
本発明の第13の流通経緯認証システムは、第1の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n )?E (u)=((a^{d }mod n ,s||0):((a−n )^{d }mod n ,s||1)と定義される関数をE (u)とするとき、E (ST)を新たな流通経緯情報として導出するものであることを特徴とする。
本発明の第14の流通経緯認証システムは、第13の流通経緯認証システムにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第15の流通経緯認証システムは、第13の流通経緯認証システムにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第16の流通経緯認証システムは、第14又は15の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタは、(b=0)?D (u)=((a^{e }mod n ,s):((a^{e }mod n )+n ,s)と定義される関数をDi(u)とするとき、D (H(T )○(D (H(T )○…D i−1 (u i−1 ))…))=u が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の第17の流通経緯認証システムは、第の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタの署名作成部は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報とし、流通経緯情報u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出するものであることを特徴とする。
本発明の第18の流通経緯認証システムは、第3の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n )?E (u)=((a^{d }mod n ,s||0):((a−n )^{d }mod n ,s||1)と定義される関数をE (u)とするとき、E (ST)を新たな流通経緯情報とし、流通経緯情報u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出するものであることを特徴とする。
本発明の第19の流通経緯認証システムは、第18の流通経緯認証システムにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第20の流通経緯認証システムは、第18の流通経緯認証システムにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第20の流通経緯認証システムは、第18又は19の流通経緯認証システムにおいて、経緯順がi番目の拠点に備わるリーダライタは、(b=0)?D (u)=((a^{e }mod n ,s):((a^{e }mod n )+n ,s)と定義される関数をD (u)とするとき、h(H(T i−1 )○D i−1 (u i−1 ))=v i−1 が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の第1の流通経緯認証方法は、製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリーダライタを前記製品の流通経路上の各拠点に設け、最初の拠点に備わるリーダライタが、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報として無線ICタグの読み書き可能なメモリに書き込み、最初の拠点以外の拠点に備わるリーダライタが、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に前記初期値が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と置き換えることを特徴とする。
本発明の第2の流通経緯認証方法は、第1の流通経緯認証方法において、前記初期値として、無線ICタグの読み出し専用メモリに記憶されている当該無線ICタグ固有の識別番号を使用することを特徴とする。
本発明の第3の流通経緯認証方法は、製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリーダライタを前記製品の流通経路上の各拠点に設け、最初の拠点に備わるリーダライタが、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報、前記初期値またはそれから導出した値を補助情報として無線ICタグの読み書き可能なメモリに書き込み、最初の拠点以外の拠点に備わるリーダライタが、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より1つ上流の拠点の公開鍵を使用して検証し、その検証結果において前記無線ICタグの読み書き可能なメモリに書き込まれている補助情報と同じ情報が導出できることにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれていた元の流通経緯情報またはそれから導出した情報を補助情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と補助情報と置き換えることを特徴とする。
本発明の第4の流通経緯認証方法は、第1の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタの署名作成部が、自拠点の秘密鍵をd 、RSAモジュラスn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、(u<n )?f (u)=u^{d }mod n :f (u)=uと定義される関数をf (u)、セキュリティパラメタkビット(ただしn <2 )長自然数空間での写像としてφ(u)=(u+n )mod2 と定義される関数をφ(u)、その逆関数をφ −1 とするとき、φ −1 (f (φ(f (ST)))))を新たな流通経緯情報として導出することを特徴とする。
本発明の第5の流通経緯認証方法は、第4の流通経緯認証方法において、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第6の流通経緯認証方法は、第4の流通経緯認証方法において、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第7の流通経緯認証方法は、第5の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタの署名検証部が、(u<n )?g (u)=u^{e } mod n :g (u)=uと定義される関数をg (u)とするとき、φ −1 (g (φ(g (H(T ○φ −1 (g (φ((g (H(T ○…T i−1 ○φ −1 (g i−1 (φ(g i−1 (u i−1 )))))…)))))))))=u が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する段階を有することを特徴とする。
本発明の第8の流通経緯認証方法は、第3の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタの署名作成部が、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、(u<n )?f (u)=u^{d }mod n :f (u)=uと定義される関数をf (u)、セキュリティパラメタkビット(ただしn <2 )長自然数空間での写像としてφ(u)=(u+n )mod2 と定義される関数をφ(u)、その逆関数をφ −1 とするとき、φ −1 (f (φ(f (ST)))))を新たな流通経緯情報、流通経緯情u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出することを特徴とする。
本発明の第9の流通経緯認証方法は、第8の流通経緯認証方法において、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第10の流通経緯認証方法は、第8の流通経緯認証方法において、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第11の流通経緯認証方法は、第9の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタの署名検証部が、(u<n )?g (u)=u^{e } mad n :g (u)=uと定義される関数をg (u)とするとき、h(H(T i−1 ○φ −1 (g i−1 (φ(g i−1 (u i−1 )))))…)))))))))=v i−1 が成立することにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の第12の流通経緯認証方法は、第1の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタの署名作成部が、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報として導出することを特徴とする。
本発明の第13の流通経緯認証方法は、第1の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタの署名作成部が、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n )?E (u)=((a^{d }mod n ,s||0):((a−n )^{d }mod n ,s||1)と定義される関数をE (u)とするとき、E (ST)を新たな流通経緯情報として導出することを特徴とする。
本発明の第14の流通経緯認証方法は、第13の流通経緯認証方法において、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第15の流通経緯認証方法は、第13の流通経緯認証方法において、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第16の流通経緯認証方法は、第14又は15の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタが、(b=0)?D (u)=((a^{e }mod n ,s):((a^{e }mod n )+n ,s)と定義される関数をD (u)とするとき、D (H(T )○(D (H(T )○…D i−1 (u i−1 ))…))=u が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する段階を有することを特徴とする。
本発明の第17の流通経緯認証方法は、第3の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタの署名作成部が、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報とし、流通経緯情報u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出することを特徴とする。
本発明の第18の流通経緯認証方法は、第3の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタの署名作成部が、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n )?E (u)=((a^{d }mod n ,s||0):((a−n )^{d }mod n ,s||1)と定義される関数を(u)とするとき、E (ST)を新たな流通経緯情報とし、流通経緯情報u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出することを特徴とする。
本発明の第19の流通経緯認証方法は、第18の流通経緯認証方法において、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第20の流通経緯認証方法は、第18の流通経緯認証方法において、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第21の流通経緯認証方法は、第19又は20の流通経緯認証方法において、経緯順がi番目の拠点に備わるリーダライタが、(b=0)?D (u)=((a^{e }mod n ,s):((a^{e }mod n )+n ,s)と定義される関数をD (u)とするとき、h(H(T i−1 )○D i−1 (u i−1 ))=v i−1 が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する段階を有することを特徴とする。
本発明の第1のリーダライタは、製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有し、前記製品の流通経路上の拠点に設けられるリーダライタであって、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に初期値または前記無線ICタグの読み出し専用メモリに記憶されている当該無線ICタグ固有の識別番号が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と置き換えるものであることを特徴とする。
本発明の第2のリーダライタは、第1のリーダライタにおいて、品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有し、前記製品の流通経路上の拠点に設けられるリーダライタであって、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より1つ上流の拠点の公開鍵を使用して検証し、その検証結果において前記無線ICタグの読み書き可能なメモリに書き込まれている補助情報と同じ補助情報が導出できることにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれていた元の流通経緯情報またはそれから導出した情報を補助情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と補助情報と置き換えるものであることを特徴とする。
本発明の第3のリーダライタは、第1のリーダライタにおいて、前記署名作成部は、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、(u<n )?f (u)=u^{d }mod n :f (u)=uと定義される関数をf (u)、セキュリティパラメタkビット(ただしn <2 )長自然数空間での写像としてφ(u)=(u+n )mod2 と定義される関数をφ(u)、その逆関数をφ −1 とするとき、φ −1 (f (φ(f (ST)))))を新たな流通経緯情報として導出するものであることを特徴とする。
本発明の第4のリーダライタは、第3のリーダライタにおいて、自前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第5のリーダライタは、第3のリーダライタにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第6のリーダライタは、第4のリーダライタにおいて、(u<n )?g (u)=u^{e } mod n :g (u)=uと定義される関数をg (u)とするとき、φ −1 (g (φ(g (H(T ○φ −1 (g (φ((g (H(T ○…T i−1 ○φ −1 (g i−1 (φ(g i−1 (u i−1 )))))…)))))))))=u が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の第7のリーダライタは、第2のリーダライタにおいて、前記署名作成部は、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、(u<n )?f (u)=u^{d }mod n :f (u)=uと定義される関数をf (u)、セキュリティパラメタビット(ただしn <2 )長自然数空間での写像としてφ(u)=(u+n )mod2 定義される関数をφ(u)、その逆関数をφ −1 とするとき、φ −1 (f (φ(f (ST)))))を新たな流通経緯情報、流通経緯情報u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出するものであることを特徴とする。
本発明の第8のリーダライタは、第7のリーダライタにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第9のリーダライタは、第7のリーダライタにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第10のリーダライタは、第8のリーダライタにおいて、(u<n )?g (u)=u^{ei} mod n :g (u)=uと定義される関数をg (u)とするとき、h(H(T i−1 ○φ −1 (g i−1 (φ(g i−1 (u i−1 )))))…)))))))))=v i−1 が成立することにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の第11のリーダライタは、第1のリーダライタにおいて、前記署名作成部は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報として導出するものであることを特徴とする。
本発明の第12のリーダライタは、第1のリーダライタにおいて、前記リーダライタの署名作成部は、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n )?E (u)=((a^{d }mod n ,s||0):((a−n )^{d }mod n ,s||1)と定義される関数をE (u)とするとき、E (ST)を新たな流通経緯情報として導出するものであることを特徴とする。
本発明の第13のリーダライタは、第12のリーダライタにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第14のリーダライタは、第12のリーダライタにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uである。
本発明の第15のリーダライタは、第13のリーダライタにおいて、(b=0)?D (u)=((a^{e }mod n ,s):((a^{e }mod n )+n ,s)と定義される関数をD (u)とするとき、D (H(T )○(D (H(T )○…D i−1 (u i−1 ))…))=u が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の第16のリーダライタは、第2のリーダライタにおいて、前記署名作成部は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報とし、流通経緯情報u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出するものであることを特徴とする。
本発明の第17のリーダライタは、第2のリーダライタにおいて、前記署名作成部は、自拠点の秘密鍵をd 、RSAモジュラスをn 、初期値u 若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報u i−1 若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n )?E (u)=((a^{d }mod n ,s||0):((a−n )^{d }mod n ,s||1)と定義される関数をE (u)とするとき、E (ST)を新たな流通経緯情報とし、流通経緯情報u i−1 またはそのハッシュ値h(u i−1 )を新たな補助情報v としてそれぞれ導出するものであることを特徴とする。
本発明の第18のリーダライタは、第17のリーダライタにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第19のリーダライタは、第17のリーダライタにおいて、前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列T のハッシュ値H(T )と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T )○uであることを特徴とする。
本発明の第20のリーダライタは、第18又は19のリーダライタにおいて、(b=0)?D (u)=((a^{e }mod n ,a):((a^{e }mod n )+n ,a)と定義される関数をD (u)とするとき、h(H(T i−1 )○D i−1 (u i−1 ))=v i−1 が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
本発明の無線ICタグは、製品の流通経緯を管理するために製品またはそのパッケージに付加される無線ICタグにおいて、製品の流通経路上の各拠点に備わるリーダライタとの間で情報を送受信する送受信部と、自無線ICタグ固有の識別番号を記憶する読み出し専用メモリと、流通経緯情報を記憶する読み書き可能なメモリとを備え、最初の拠点に流通した際にはその拠点に備わるリーダライタによって、前記識別番号またはそれから導出した値に対してその拠点の秘密鍵で署名された署名文が前記流通経緯情報として前記読み書き可能なメモリに書き込まれ、最初の拠点以外の拠点に流通した際にはその拠点に備えるリーダライタによって、前記読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に前記初期値が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対してその拠点の秘密鍵で署名された署名文が新たな流通経緯情報として導出されて、前記読み書き可能なメモリに書き込まれていた元の流通経緯情報が置き換えられるものであることを特徴とする。
『作用』
本発明にあっては、製品またはそのパッケージに付加された無線ICタグがその製品に付随して流通し、流通経緯上の各拠点に設けられたリーダライタによって、無線ICタグの読み書き可能なメモリ中の流通経緯情報が書き換えられていく。
具体的には、最初の拠点に備わるリーダライタにより、初期値u0またはそれからハッシュ関数などにより一意に導出した値に対してその拠点の秘密鍵で署名された署名文が流通経緯情報u1として無線ICタグの読み書き可能なメモリに書き込まれ、2番目の拠点に備わるリーダライタにより、読み書き可能なメモリに書き込まれている流通経緯情報u1またはそれからハッシュ関数などにより一意に導出した情報に対してその拠点の秘密鍵で署名された署名文が新たな流通経緯情報u2として導出されて元の流通経緯情報u1と置き換えられ、3番目の拠点に備わるリーダライタにより、読み書き可能なメモリに書き込まれている流通経緯情報u2またはそれからハッシュ関数などにより一意に導出した情報に対してその拠点の秘密鍵で署名された署名文が新たな流通経緯情報u3として導出されて元の流通経緯情報u2と置き換えられる。
或る拠点に流通してきた製品が正しく経緯してきたかどうかは、その製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、その拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に初期値u0が得られるところまで遡って検証できるかどうかによって判断できる。
例えば、3番目の拠点に流通してきた製品は、1番目の拠点、2番目の拠点をその順に経緯してきたはずである。従って、3番目の拠点に届いた製品に付加された無線ICタグの読み書き可能なメモリに記憶されている流通経緯情報u2を、2番目の拠点の公開鍵で検証し、その検証結果を1番目の拠点の公開鍵で検証すると、その検証結果は初期値に一致する。例えば、若し2番目の拠点において、1番目の拠点以外から流通した製品に付加された無線ICタグの読み書き可能なメモリに記憶されている流通経緯情報u'1(≠u1)に対して、2番目の拠点の秘密鍵で署名した署名文を新たな流通経緯情報u2として導出し、元の流通経緯情報u'1と置き換えて、3番目の拠点に流通させたとすると、流通経緯情報u2を2番目の拠点の公開鍵で検証し、その検証結果を1番目の拠点の公開鍵で検証すると、その検証結果は初期値u0に一致しない。
こうして、工場生産品や食品などの一般消費者向けの製品または製品パッケージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流通経緯を確認することができ、かつ流通経緯中の各拠点のリーダライタや悪意のある第3者における流通経緯情報の偽造および改竄も検知可能となる。また、初期値u0として、0などの数値を使用すると、正規に流通する製品Aに付加された無線ICタグの読み書き可能なメモリに記憶されている流通経緯情報を読み出して、別の製品Bに付加された無線ICタグの読み書き可能なメモリにコピーするといった不正を防止できないが、初期値u0として、無線ICタグの読み出し専用メモリに記憶された当該無線ICタグ固有の識別子を用いることにより、そのような不正な行為を阻止でき、流通経緯情報の偽造および改竄をより一層困難にすることが可能となる。
また、或る拠点に流通してきた製品が正しく経緯してきたかどうかを検証するために、その製品に付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、その拠点より上流の各拠点の公開鍵を全て使って検証を繰り返す方法は信頼性は高いが、計算量が多い。これに対して、最初の拠点に備わるリーダライタが、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報、前記初期値またはそれから導出した値を補助情報として無線ICタグの読み書き可能なメモリに書き込み、最初の拠点以外の拠点に備わるリーダライタが、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれていた元の流通経緯情報またはそれから導出した情報を補助情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と補助情報と置き換えるようにする方法によれば、或る拠点に流通してきた製品が正しく経緯してきたかどうかの検証を簡易化できる。つまり、その拠点に流通してきた製品に付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、その拠点より1つ上流の拠点の公開鍵を使用して検証し、その検証結果において無線ICタグの読み書き可能なメモリに書き込まれている補助情報と同じ補助情報が導出できるかどうかによって、当該製品が1つ前の拠点から正しく経緯してきたかどうかを判断できる。ただし、この場合は、1つ前の拠点が信頼のおける拠点であることが必要である。
本発明における流通経緯情報を生成するための署名方式には、非特許文献2に記載される署名方式など、公知の署名方式を利用可能である。ただし、非特許文献2に記載される署名方式は、署名を重ねるたびに1ビットずつ署名データ長が大きくなる。これに対して、後述する第2の実施の形態において提案する新規な署名方式によれば、流通経緯情報のサイズを一定にすることができる。
本発明によれば、工場生産品や食品などの一般消費者向けの製品または製品パッケージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流通経緯を確認することができる。これによって、運用コストを軽減できる。その理由は、製品に付する書き込み型無線ICタグのローカルな記憶領域に流通の経緯を管理する情報を持ち、それを必要に応じて参照することで流通経緯を確認することができるからである。
また本発明によれば、流通経緯中の各段階のリーダライタや悪意のある第3者における流通経緯情報の偽造および改竄を検知できる。その理由は、流通経緯を証明する署名が、流通経緯中の拠点全ての公開鍵を用いて検証することが可能だからである。
本発明の第1の実施の形態の構成を示すブロック図である。 本発明の第1の実施の形態における流通経緯情報の説明図である。 本発明の第1の実施の形態において無線ICタグが付された製品がリーダライタを経由する際の動作を示すシーケンス図である。 本発明の第1の実施の形態における流通経緯情報に対する署名の作成と検証に使用する関数を示す図である。 本発明の第1の実施の形態にかかるリーダライタの署名作成部の処理例を示すフローチャートである。 本発明の第1の実施の形態にかかるリーダライタの署名検証部の処理例を示すフローチャートである。 本発明の第1の実施の形態にかかるリーダライタの署名作成部の別の処理例を示すフローチャートである。 本発明の第1の実施の形態にかかるリーダライタの署名検証部の別の処理例を示すフローチャートである。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第2の実施の形態における流通経緯情報に対する署名の作成と検証に使用する関数を示す図である。 本発明の第2の実施の形態にかかるリーダライタの署名作成部の処理例を示すフローチャートである。 本発明の第2の実施の形態にかかるリーダライタの署名検証部の処理例を示すフローチャートである。 本発明の第2の実施の形態にかかるリーダライタの署名作成部の別の処理例を示すフローチャートである。 本発明の第2の実施の形態にかかるリーダライタの署名検証部の別の処理例を示すフローチャートである。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態において無線ICタグが付された製品がリーダライタを経由する際の動作を示すシーケンス図である。 本発明の第3の実施の形態にかかるリーダライタの署名作成部の処理例を示すフローチャートである。 本発明の第3の実施の形態にかかるリーダライタの署名検証部の処理例を示すフローチャートである。 本発明の第3の実施の形態にかかるリーダライタの署名作成部の別の処理例を示すフローチャートである。 本発明の第3の実施の形態にかかるリーダライタの署名検証部の別の処理例を示すフローチャートである。 本発明の第4の実施の形態の構成を示すブロック図である。 本発明の第4の実施の形態にかかるリーダライタの署名作成部の処理例を示すフローチャートである。 本発明の第4の実施の形態にかかるリーダライタの署名検証部の処理例を示すフローチャートである。 本発明の第4の実施の形態にかかるリーダライタの署名作成部の別の処理例を示すフローチャートである。 本発明の第4の実施の形態にかかるリーダライタの署名検証部の別の処理例を示すフローチャートである。
符号の説明
1…無線ICタグ
2−1〜2−n…リーダライタ
3…公開鍵発行者
11…ROM部
12…RAM部
13…送受信部
21…鍵管理部
22…署名作成部
23…署名検証部
24…送受信部
25…外部情報入力部
『第1の実施の形態』
次に本発明の第1の実施の形態について、図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態にかかる流通経緯認証システムは、流通する製品に付され、製品とともに流通経路(配送経路)をたどる無線ICタグ(RFIDタグ)1と、流通経路中の各拠点に配置されるリーダライタ2−1〜2−nとから構成される。ここで、無線ICタグ1が付された製品は、リーダライタ2−1の配置された1番目の拠点、リーダライタ2−2の配置された2番目の拠点、…、リーダライタ2−nの配置されたn番目の拠点の順で経緯(流通)していくものとする。
無線ICタグ1は、ROM部11、RAM部12および送受信部13を備えている。
ROM部11は、読み取り専用のメモリ領域であり、当該無線ICタグ1を他の無線ICタグと区別するための固有のIDを記憶する。
RAM部12は、読み取りと書き込みが可能であるメモリ領域であり、書き込み可能なメモリサイズは有限である。本書き込み可能なメモリ領域には、当該メモリサイズに収まるサイズsで表現可能な流通経緯情報uiが記憶される。添え字がiである流通経緯情報uiは、1番目からi番目までの拠点を経緯したことを表す。流通経緯情報の初期値は、どこも経緯していないことを表すu0である。u0には、所定値たとえば0、または、無線ICタグ1のROM部11に記憶された当該無線ICタグ固有のID値が設定される。
図2を参照すると、流通経緯情報uiは、リーダライタ2−1、…、2−iの秘密鍵sk1、…、skiを用いて順次計算された署名から構成される。つまり、最初のリーダライタ2−1が初期値u0に対して秘密鍵sk1を用いて計算した署名に、次の拠点のリーダライタ2−2が秘密鍵sk2を用いて署名し、更にその署名に対して次の拠点のリーダライタが署名するという手順をi番目の拠点まで繰り返されたものが流通経緯情報uiである。
送受信部13は、各拠点においてその拠点に配置されたリーダライタ2−1〜2−nとの間で無線伝送により情報の授受を行うべく増幅、フィルタリング、変調等の処理を行う。具体的には、リーダライタからROM部11のIDまたはRAM部12の流通経緯情報への読み取り要求時に、当該情報を読み取ってリーダライタへ送信し、また、リーダライタからRAM部12への書き込み要求時に、書き込む情報を受信してRAM部11へ書き込む。
リーダライタ2−1〜2−nは全て同じ構成であり、図1にはリーダライタ2−1のブロックにのみ内部構造を図示してある。
図1を参照すると、各リーダライタは、RSA公開鍵暗号アルゴリズムにおける公開鍵と秘密鍵のペアを管理する鍵管理部21と、鍵管理部21に格納された自リーダライタの秘密鍵に基づいて署名を作成する署名作成部22と、鍵管理部21に格納された各拠点のリーダライタの公開鍵に基づいて署名を検証する署名検証部23と、無線ICタグ1との間で情報を送受信する送受信部24から構成される。また、リーダライタに製品に付加する情報(時間、温度などの属性情報など)を入力し、またリーダライタ上の情報(経由時においての経緯認証の成否などを通知するための情報など)を出力する外部情報入力部25を備えていてもよい。
鍵管理部21は、リーダライタ2−1〜2−nの公開鍵及び自リーダライタの秘密鍵を保持する。このリーダライタ2−1〜2−nの公開鍵及び自リーダライタの秘密鍵は、システム外の信頼のおける公開鍵発行者3から発行されたものでもよい。ここでは、鍵管理部21が自ら公開鍵と秘密鍵の鍵ペアを生成する手続きに関して説明する。公開鍵発行者3で鍵ペアを生成するときも同様の手続きを踏むものとする。本手続きは、個々のリーダライタ2−iごとに、RSA公開鍵暗号アルゴリズムを基本とする方法で、セキュリティを最大化するように鍵生成を行う。素数pi、qiを、積ni=piqi(RSAモジュラス)のビット長がセキュリティパラメタkに等しく、かつpi、qiのビット長が同程度になるように選ぶ。さらに自然数eiでniよりも大きく、かつ((pi-1)(qi-1))と互いに素であるものをランダムに選ぶ。このように決定するパラメタを用い、リーダライタ2−iの公開鍵pki、秘密鍵skiをそれぞれ(ni, ei)、di=ei -1 mod
((pi-1)(qi-1))とする。このように生成される各リーダライタの公開鍵は、システム外の手段で公開され、各リーダライタは公開されている公開鍵をシステム外の手段から入手可能とする。
署名作成部22は、無線ICタグ1とリーダライタの送受信部13、24を介して得られた、無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1に対して、鍵管理部21で管理している自リーダライタの秘密鍵diとRSAモジュラスniとを用いて、署名作成処理を行い、作成した署名を新たな流通経緯情報uiとして、無線ICタグ1とリーダライタの送受信部13、24を介して無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1と置き換える。
署名検証部23は、無線ICタグ1とリーダライタの送受信部13、24を介して得られた、無線ICタグ1のRAM部12に保持している流通経緯情報ui-1に対して、各リーダライタの公開鍵pki-1,…, pk1を用いて、自リーダライタの拠点に到る経緯を逆順に検証していき、最終的にu0が得られるところまでさかのぼって検証できれば、自リーダライタの拠点に到るまでの全てのリーダライタを正しく経緯してきたものと判断する。
送受信部24は、無線ICタグ1間で無線伝送により情報の授受を行うべく増幅、フィルタリング、変調等の処理を行う。具体的には、リーダライタからROM部11のIDまたはRAM部12の流通経緯情報への読み取り要求時に、リーダライタへ送信されてくる当該情報を受信する。また、リーダライタからRAM部12への書き込み要求時にRAM部12書き込む情報を送信する。
次に、無線ICタグ1が付された製品がリーダライタ2−iを経由する際の動作を図3のシーケンス図を参照して説明する。
まず、リーダライタ2−iは、無線ICタグ1が付された製品が経由されてきた時、送受信部24により無線ICタグ1に対して、無線ICタグ1のRAM部12に格納された流通経緯情報ui-1および流通経緯情報の初期値u0として無線ICタグ固有のIDが使用される場合はROM部11のIDを要求する(S101)。
無線ICタグ1は、この要求に応じて、RAM部12に格納されている流通経緯情報ui-1および要求された場合にはROM部11に格納されているIDを、送受信部13を介してリーダライタ2−iに送信する(S201)。
流通経緯情報ui-1を受信した(S102)リーダライタ2−iは、署名検証部23により、鍵管理部21に保持されているリーダライタ2−1〜2−(i−1)までの公開鍵pk1〜pki-1を用いて、流通経緯情報ui-1に対して順に署名を検証していき、流通経緯情報の初期値u0が得られるかどうかを検証する(S103)。
ここで、u0が得られれば、リーダライタ2−1〜2−(i−1)まで正しく経緯してきたものと判断され、u0が得られない場合、流通経緯中で何か不正があったものと検出される(S106)。
検証に成功した場合、リーダライタ2−iは、自リーダライタが配置された拠点を正しく経緯したことを証明するために、正しく経緯してきたことが署名検証部23により認証できた流通経緯情報ui-1に対して、署名作成部22により、鍵管理部21に保持されている自リーダライタの秘密鍵skiを用いて署名を生成し(S104)、生成された署名値uiを新しい流通経緯情報として過去のui-1に上書きするために、無線ICタグ1に送受信部24により送信する(S105)。無線ICタグ1は、送受信部13によりuiを受信したら(S202)、受信したuiでRAM部12に格納されているui-1を上書きする(S203)。
以上と同様な動作は、無線ICタグ1が付加された製品が次の拠点に配送された場合にも実施される。リーダライタ2−nが配置された拠点まで正しく経緯した製品の無線ICタグ1の流通経緯情報unに対して、リーダライタ2−1〜2−nの公開鍵pk1〜pknを用いて、順に署名を検証していけば、流通経緯情報の初期値u0が得られることになる。これにより、全ての拠点のリーダライタを正しく経緯してきたことを知ることができる。
次に署名作成部22をより詳細に説明する。
署名作成部22によるステップS104における署名作成処理は、リーダライタ2−1〜2−(i-1)の公開鍵pk1,…, pki-1が全て異なること、かつeiが、niよりも大きくかつ((pi-1)(qi-1))と互いに素であることを確認し、Ti = pk1||…||pkiを計算した後、u=a||s(aはkビット長)としたときに(a<ni)?Ei(u)=
((a^{di} mod ni, s||0) : ((a-ni)^{di}
mod ni, s||1)と定義される図4の関数Ei(u)を用いて、無線ICタグ1の有する流通経緯情報ui-1に対して、Ei (H(Ti)○ui-1) を署名として導出する。ここで、関数Ei(u)の定義に使用する「式1?式2:式3」なる表記は、式1の条件が真のとき式2を評価し、式1の条件が偽のとき式3を評価することを意味し、また、「||」はビット列同士の連結、「H」はniのビット数と同じビット数のビット列を出力するハッシュ関数、「○」はビット毎の排他的論理和、「^」は右の被演算子を指数として左の被演算子をべき乗した値を算出する算術演算子を表し、以下においても同様の意味で用いる。この署名作成処理の詳しい手順を図5のステップS314〜S319に示す。以下、前後の処理と共に署名作成処理を図5を参照して詳しく説明する。
図5を参照すると、リーダライタ2−iは、RFIDのRAM部12に格納されている流通経路情報ui-1を読み取ると(S311)、所有している鍵の正当性を検証した後(S312)、ui-1が正当であるかを署名検証部23で検証する(S313)。その後、署名作成部22により、現拠点の公開鍵及び上流に位置する拠点の公開鍵からTi = pk1||…||pkiを計算した後(S314)、Ei (H(Ti)○ui-1) をリーダライタ2−iでの流通経緯情報uiとして導出する(S315〜S319)。具体的には、まずv=H(Ti)○ui-1を計算し(S315)、vのはじめのセキュリティパラメタkビットをa、残りをsとし(S316)、aがRSAモジュラスniよりも小さいときは、aに対して秘密鍵diでRSA方式に準じて署名値を計算する(S317,S318)。このときsに制御情報として1ビットの情報0を付け加え、署名値とともにuiとする。また、aがRSAモジュラスniよりも大きいときは、モジュラスより大きい数に対してはRSA署名を計算できないので、aをniだけ減算したものに対して署名値を計算する(S319)。このときsに制御情報として1ビットの情報1を付け加え、署名値とともにuiとする。このように計算したuiをRFIDのRAM部に格納されていたui-1と置換する(S319)。
このように、リーダライタ2−iは、基本的には、無線IDタグ1に既に書き込まれている流通経路情報ui-1に対して、自リーダライタの秘密鍵diで署名を付けるが、RSAの場合、自リーダライタのRSAモジュラスniより大きい数に対しては署名を計算できないので、若しui-1がniより大きい場合はモジュラスniだけ減算してから署名を付ける。このとき、後の検証を可能にするために、後ろに1bitの制御情報(モジュラスを超えていた場合は1、そうでない場合は0)を付けておく。また署名を計算する際には、セキュリティ強度を考慮し、経緯上の各拠点の公開鍵を署名対象として入力することによって、公開鍵のすり替えを防止する。つまり、通常の方法で署名を作成するにはまず自分の公開鍵ペアを作成してから署名するが、まず署名を偽造して偽造した署名とつじつまが合うように公開鍵ペアを作成する不正行為が考えられるため、それを防ぐためにハッシュに公開鍵を入れる。ハッシュに公開鍵が入っていることにより、署名する前に公開鍵を作ったことが保証される。
次に署名検証部23をより詳細に説明する。
署名検証部23によるステップS103における署名検証処理は、リーダライタ2−iにおいて、Ti = pk1||…||pki、u=a||s||b(aはkビット長、bは1ビット長)としたときに、(b=0)?Di(u)=
((a^{ei} mod ni, s):((a^{ei} mod ni) + ni, s)と定義される図4に示す関数Di(u)を用いて、D1(H(T1)○(D2(H(T2)○…Di-1(ui-1))…)) = u0が成立すれば署名の検証に成功したと判断する。この署名検証処理の詳しい手順を図6に示す。
図6を参照すると、まずリーダライタ2−iは、流通経路情報ui-1を変数viに記憶する(S331)。
経緯中の拠点のリーダライタ2-iから最上流拠点のリーダライタ2-1までを遡って、順に検証処理を行う(S332〜S342)。
まず、どの拠点における署名を検証しているかを管理するループ変数jにi-1を記憶する(S332)。
jが1以上であるかどうかの判定を行い(S333)、1以上であれば次のように処理を行う。リーダライタ2-jの備えられた拠点の公開鍵及びその上流に位置する拠点の公開鍵からTj = pk1||…||pkjを計算した後(S334)、vjのはじめのkビットをaに、最後の1ビットをbに、残りのビットをsに記憶し(S335)、bが0ならば、aを公開鍵ejで検証し、検証結果の末尾にsを加えたものとH(Tj)の排他的論理和を計算し、それをvj-1として記憶する(S336,S337)。
bが1ならば、aを公開鍵ejで検証し、検証結果にモジュラスnjを加算した後、末尾にsを加えたものとH(Tj)の排他的論理和を計算し、それをvj-1として記憶する(S338)。最後にループ変数jをデクリメントし(S339)、再度jが1以上であるかどうかの判定から上記の処理を繰り返す。jが0のときは、v0が流通経緯情報の初期値u0と等しいかどうかを確かめる(S340)。
等しいならば正しい経緯を辿り、かつ途中経緯で不正がなかったことの検証に成功したとし、本処理を完了する(S341)。等しくない場合は検証に失敗したとし、本処理を完了する(S342)。
このように、リーダライタ2-iにおける署名検証は、経緯をさかのぼって処理し、最終的に初期値u0が得られたら正しい経緯をたどってきたと判断する。また署名を検証する際に経緯上の各拠点の公開鍵を検証対象として入力しているため、公開鍵のすり替えを検出できる。
次に、本実施の形態の変形例として、各リーダライタにおいて無線ICタグ1に書き込むメッセージが外部情報入力部25から入力された場合の署名作成部22の署名作成処理を図7を参照して説明する。
図7を参照すると、リーダライタ2-iに無線ICタグ1に書き込むメッセージMiが存在する場合、署名作成部22により、T’i = M1||…||Mi||pk1||…||pkiを計算し(S314')、以下、T’iを図5のTiと同様に扱うことにより、Ei
(H(T’i)○u) を署名として導出する。このように署名を計算する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも署名対象として入力することで、公開鍵のすり替えだけでなく、各リーダライタで付与するメッセージに対する改竄も検知可能となる。
図8は各リーダライタにおいて無線ICタグ1に書き込むメッセージが存在する場合の署名検証部23の署名検証処理の手順を示す。T’j = M1||…||Mj||pk1||…||pkjを計算し(S334')、以下、T’jを図6のTjと同様に扱うことにより、D1(H(T’1)○(D2(H(T’2)○…Di-1(ui-1))…)) = u0が成立すれば署名の検証に成功したとする。このように署名を検証する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも検証対象として入力することによって、公開鍵のすり替え、メッセージの改竄を検出できる。
次に本実施の形態の効果を説明する。
第1の効果は、工場生産品や食品などの一般消費者向けの製品または製品パッケージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流通経緯を確認することができることである。その理由は、製品に付する書き込み型無線ICタグ1のローカルな記憶領域(RAM部12)に流通の経緯を管理する情報を持ち、それを必要に応じて参照することで流通経緯を確認することができるからである。これによって、運用コストを軽減できる。
第2の効果は、流通経緯中にたどる拠点数にスケーラビリティを有することである。その理由は、(署名サイズ+(拠点数)×1ビット)で、流通経緯情報を表現できるからである。
第3の効果は、無線ICタグ1の価格を低く抑えられることである。その理由は、第2の効果の理由と同等であり、書き込みメモリ領域を多量に実装する必要がないからである。これによって、流通用途に大量に使用することが容易になる。
第4の効果は、流通経緯中の各段階のリーダライタや悪意のある第3者における流通経緯情報の偽造および改竄を検知できることにある。その理由は、流通経緯を証明する署名が、流通経緯中の拠点全ての公開鍵を用いて検証することが可能だからである。特に、初期値u0に無線IDタグ1のROM部11に記憶してある当該無線IDタグ固有のIDを用いる場合、ROM部11のデータが不正に改ざんできないことを前提にできるのであれば、RAM部12の流通経緯情報を不正に他の無線IDタグのRAM部12にコピーした場合も検知できる。
『第2の実施の形態』
次に本発明の第2の実施の形態について、図面を参照して詳細に説明する。
図9を参照すると、本発明の第2の実施の形態にかかる流通経緯認証システムは、各リーダライタ2−1〜2−nが署名作成部22および署名検証部23の代わりに署名作成部22Aおよび署名検証部23Aを備えている点で図1の第1の実施の形態にかかる流通経緯認証システムと相違し、その他の点は第1の実施の形態と同じである。
署名作成部22Aは、無線ICタグ1とリーダライタの送受信部13、24を介して得られた、無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1に対して、鍵管理部21で管理している自リーダライタの秘密鍵diとRSAモジュラスniとを用いて、署名作成処理を行い、作成した署名を新たな流通経緯情報uiとして、無線ICタグ1とリーダライタの送受信部13、24を介して無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1と置き換える。ただし、本実施の形態の場合、置き換え前後の流通経緯情報ui、ui-1のサイズは変わらない。
署名検証部23Aは、無線ICタグ1とリーダライタの送受信部13、24を介して得られた、無線ICタグ1のRAM部12に保持している流通経緯情報ui-1に対して、各リーダライタの公開鍵pki-1,…, pk1を用いて、自リーダライタの拠点に到る経緯を逆順に検証していき、最終的にu0が得られるところまでさかのぼって検証できれば、自リーダライタの拠点に到るまでの全てのリーダライタを正しく経緯してきたものと判断する。
無線ICタグ1が付された製品がリーダライタ2−iを経由する際の動作は、基本的には第1の実施の形態と同様に、図3のシーケンスに沿って行われる。ただし、ステップS103における署名検証処理とステップS104における署名作成処理の中身が第1の実施の形態と相違する。
次に署名作成部22Aの詳細を説明する。
署名作成部22AによるステップS104における署名作成処理は、リーダライタ2−1〜2−(i-1)の公開鍵pk1,…, pki-1が全て異なること、かつeiが、niよりも大きくかつ((pi-1)(qi-1))と互いに素であることを確認し、Ti = pk1||…||pkiを計算した後、(u<ni)?fi(u)=u^{di}mod ni
: fi(u)=uと定義される図10の関数fi(u)、および、セキュリティパラメタkビット(ただしni<2k)長自然数空間での写像としてφ(u)= (u+ni)mod2kと定義される図10の関数φ(u)を用いて、無線ICタグ1の有する流通経緯情報ui-1に対して、φ-1(fi(φ(fi((H(Ti)○ui-1)))))を署名として導出する。ここで、φ-1は、写像φの逆写像である。その後、導出した署名は新たな流通経緯情報uiとして、無線ICタグ1とリーダライタの送受信部13、24を介して無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1と置き換えられる。この署名作成処理の詳しい手順を図11のステップS364〜S371に示す。以下、前後の処理と共に署名作成部22Aによる署名作成処理を図11を参照して詳しく説明する。
図11を参照すると、リーダライタ2−iは、RFIDのRAM部12に格納されている流通経路情報ui-1を読み取ると(S361)、所有している鍵の正当性を検証した後(S362)、ui-1が正当であるかを署名検証部23Aで検証する(S363)。その後、署名作成部22Aにより、現拠点の公開鍵及び上流に位置する拠点の公開鍵からTi = pk1||…||pkiを計算した後(S364)、署名対象としてv:=H(Ti)○ui-1を計算し(S365)、vがRSAモジュラスniよりも小さいときは(S366でYES)、そのまま秘密鍵diでvの署名を計算した値に、2kをモジュラスとするniの加算を行い、結果をv’とする(S367)。大きいときは(S366でNO)、モジュラスより大きい数に対してはRSA署名を計算できないので、vに対して署名計算を行わず、その値に対して直接2kをモジュラスとするniの加算を行い、結果をv’とする(S368)。
次にv'がRSAモジュラスniよりも小さいときは(S369でYES)、秘密鍵diでv’の署名を計算した値から、2kをモジュラスとするniの減算を行い、その値をリーダライタ2−iでの流通経緯情報uiとする(S370)。
大きいときは(S369でNO)、モジュラスより大きい数に対してはRSA署名を計算できないので、v’に対して署名計算を行わず、その値から直接2kをモジュラスとするniの減算を行い、その値をリーダライタiでの流通経緯情報uiとする(S371)。このように計算したuiをRFIDのRAM部12に格納されていたui-1と置換する(S372)。
このように、リーダライタ2−iは、基本的には、無線IDタグ1に既に書き込まれている流通経路情報ui-1に対して、自リーダライタの秘密鍵diで署名を付けるが、第1の実施の形態と異なり、制御ビットをつける代わりに、モジュラスniを超える数の署名を計算する際は、モジュラスniだけ大きいほうに写像させる関数をかけた後、署名計算をし、その後、その逆写像をかけて同じくモジュラスniだけ小さいほうに写像する。また、第1の実施の形態と同様に、署名を計算する際に、経緯上の各拠点の公開鍵を署名対象として入力することによって、公開鍵のすり替えを防止する。
次に署名検証部23Aをより詳細に説明する。
署名検証部23AによるステップS103における署名検証処理は、リーダライタ2−iにおいて、Ti= pk1||…||pki-1を計算し、(u<ni)?gi(u)=u^{ei}
mod ni: gi(u)=uと定義される図10の関数gi(u)と上記写像φ(u)とを用いて、φ-1(g1(φ(g1(H(T1 ○φ-1(g2(φ((g2(H(T2○…φ-1(gi-1(φ(gi-1(ui-1)))))… ))))))))) = u0が成立すれば署名の検証に成功したと判断する。この署名検証処理の詳しい手順を図12に示す。
図12を参照すると、まずリーダライタ2−iは、1つ前の拠点のリーダライタ2−(i-1)から最初の拠点のリーダライタ2−1までを遡って、順に検証処理を行うために、まず、どの拠点における署名を検証しているかを管理するループ変数jにiを記憶する(S381)。jが1以上であれば(S382でYES)、次のように処理を行う。
リーダライタjの備えられた拠点の公開鍵及びその上流に位置する拠点の公開鍵からTj =
pk1||…||pkjを計算した後(S383)、検証対象としてRFIDのRAM部12から読み込んだujを用いてv:=H(Tj)○ujを計算し(S384)、vがRSAモジュラスnjよりも小さいときは(S385でYES)、そのまま公開鍵ejでvの署名を検証した値に、2kをモジュラスとするnjの加算を行い、結果をv’とする(S386)。大きいときは(S385でNO)、モジュラスより大きい数に対してはRSA署名を検証できないので、vに対して検証処理を行わず、その値に対して直接2kをモジュラスとするnjの加算を行い、結果をv’とする(S387)。
次にv'がRSAモジュラスnjよりも小さいときは(S388でYES)、公開鍵ejでv’の署名を検証した値から、2kをモジュラスとするnjの減算を行い、その値をvjとする(S389)。大きいときは(S388でNO)、モジュラスより大きい数に対してはRSA署名を検証できないので、v’に対して検証処理を行わず、その値に対して直接2kをモジュラスとするnjの減算を行い、結果をvjとする(S390)。
最後にループ変数jをデクリメントし(S391)、再度jが1以上であるかどうかの判定から上記の処理を繰り返す。jが0の時は、v0が流通経緯情報の初期値u0と等しいかどうかを確かめる(S392)。等しいならば正しい経緯を辿り、かつ途中経緯で不正がなかったことの検証に成功したとし、本処理を完了する(S393)。等しくない場合は検証に失敗したとし、本処理を完了する(S394)。
このように、署名検証時も、写像関数でモジュラスだけ大きいほうにずらして検証処理し、再び逆写像してという処理を、経緯中の拠点をさかのぼって検証し、最終的に最初の拠点の公開鍵による検証で初期値u0が得られたら正しい経緯をたどってきたと判断する。また署名を検証する際に、経緯上の各拠点の公開鍵を検証対象として入力することによって、公開鍵のすり替えを検出できる。
次に、本実施の形態の変形例として、各リーダライタにおいて無線ICタグ1に書き込むメッセージが外部情報入力部25から入力された場合の署名作成部22Aの署名作成処理を図13を参照して説明する。
図13を参照すると、リーダライタ2−iに無線ICタグ1に書き込むメッセージMiが存在する場合、署名作成部22Aにより、T’i = M1||…||Mi||pk1||…||pkiを計算し(S314')、以下、T’iを図11のTiと同様に扱うことにより、u’i-1(fi(φ(fi((H(T’i)○ui-1)))))を署名として導出する。このように署名を計算する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも署名対象として入力することで、公開鍵のすり替えだけでなく、各リーダライタで付与するメッセージに対する改竄も検知可能となる。
図14は各リーダライタにおいて無線ICタグ1に書き込むメッセージが存在する場合の署名検証部23Aの署名検証処理の手順を示す。T’j = M1||…||Mj||pk1||…||pkjを計算し(S334')、以下、T’jを図12のTjと同様に扱うことにより、φ-1(g1(φ(g1(H(T'1 ○φ-1(g2(φ((g2(H(T'2○…φ-1(gi(φ(gi(u’i)))))… ))))))))) = u0が成立すれば署名の検証に成功したとする。このように署名を検証する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも検証対象として入力することによって、公開鍵のすり替え、メッセージの改竄を検出できる。
次に本実施の形態の効果を説明する。
第1の効果は、工場生産品や食品などの一般消費者向けの製品または製品パッケージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流通経緯を確認することができることである。その理由は、製品に付する書き込み型無線ICタグ1のローカルな記憶領域(RAM部12)に流通の経緯を管理する情報を持ち、それを必要に応じて参照することで流通経緯を確認することができるからである。これによって、運用コストを軽減できる。
第2の効果は、流通経緯中にたどる拠点数にスケーラビリティを有することである。その理由は、流通経緯中にたどる拠点数に無関係な定数(署名サイズ)で、流通経緯情報を表現できるからである。
第3の効果は、無線ICタグ1の価格を低く抑えられることである。その理由は、第2の効果の理由と同等であり、書き込みメモリ領域を多量に実装する必要がないからである。これによって、流通用途に大量に使用することが容易になる。
第4の効果は、流通経緯中の各段階のリーダライタや悪意のある第3者における流通経緯情報の偽造および改竄を検知できることにある。その理由は、流通経緯を証明する署名が、流通経緯中の拠点全ての公開鍵を用いて検証することが可能だからである。特に、初期値u0に無線IDタグ1のROM部11に記憶してある当該無線IDタグ固有のIDを用いる場合、ROM部11のデータが不正に改ざんできないことを前提にできるのであれば、RAM部12の流通経緯情報を不正に他の無線IDタグのRAM部12にコピーした場合も検知できる。
『第3の実施の形態』
次に本発明の第3の実施の形態について、図面を参照して詳細に説明する。
図15を参照すると、本発明の第3の実施の形態にかかる流通経緯認証システムは、無線ICタグ1がRAM部12の代わりにRAM部12Aを備え、各リーダライタ2−1〜2−nが署名作成部22および署名検証部23の代わりに署名作成部22Bおよび署名検証部23Bを備えている点で図1の第1の実施の形態にかかる流通経緯認証システムと装置し、その他の点は第1の実施の形態と同じである。
無線ICタグ1におけるRAM部12Bは、書き込み可能なメモリサイズが有限であり、当該メモリサイズに収まる容量s’で表現可能な流通経緯情報uiと補助情報viの組(ui,vi)を保持する。
流通経緯情報uiは、第1の実施の形態における流通経緯情報uiと同じであり、1番目からi番目までの拠点を経緯したことを表す。流通経緯情報uiの初期値は、どこも経緯していないことを表すu0であり、u0には、所定値たとえば0、または、無線ICタグ1のROM部11に記憶された当該無線ICタグ固有のID値が設定される。
補助情報viは、1番目からi-1番目までの拠点を経緯したことを表す流通経緯情報ui-1に所定のハッシュ関数を適用して生成された情報である。補助情報viの初期値は流通経緯情報uiの初期値と同じであり、所定値たとえば0、または、無線ICタグ1のROM部11に記憶された当該無線ICタグ固有のID値である。このような補助情報viを流通経緯情報uiに添えることで、後述するように流通経緯情報uiの簡易な検証が可能になる。
署名作成部22Bは、無線ICタグ1とリーダライタの送受信部13、24を介して得られた、無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1と補助情報vi-1の組のうちの流通経緯情報ui-1に対して、鍵管理部21で管理している自リーダライタの秘密鍵diとRSAモジュラスniとを用いて、署名作成処理を行って新たな流通経緯情報uiを作成すると同時に、流通経緯情報ui-1から新たな補助情報viを作成し、作成したuiとviの組を新たな流通経緯情報uiと補助情報viの組として、無線ICタグ1とリーダライタの送受信部13、24を介して無線ICタグ1のRAM部12Bに保持されている流通経緯情報ui-1と補助情報vi-1の組を置き換える。
署名検証部23Bは、無線ICタグ1とリーダライタの送受信部13、24を介して得られた、無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1を検証する手段である。第1の実施の形態における署名検証部23は、流通経緯情報ui-1に対して、各リーダライタの公開鍵pki-1,…, pk1を用いて、自リーダライタの拠点に到る経緯を逆順に検証していき、最終的にu0が得られるところまでさかのぼって検証できれば、自リーダライタの拠点に到るまでの全てのリーダライタを正しく経緯してきたものと判断したが、本実施の形態の署名検証部23Bは、補助情報vi-1を使って簡易な検証を行う。つまり、流通経緯情報ui-1に対して、自リーダライタの一つ前に署名したリーダライタが正しく署名したかどうかを、公開鍵pki-1を用いて検証し、検証結果のハッシュ値が補助情報vi-1と等しければ、1つ前のリーダライタから正しく経緯してものと判断する。
次に、無線ICタグ1が付された製品がリーダライタ2−iを経由する際の本実施の形態の動作を図16のシーケンス図を参照して説明する。
まず、リーダライタ2−iは、無線ICタグ1が付された製品が経由されてきた時、送受信部24により無線ICタグ1に対して、無線ICタグ1のRAM部12に格納された流通経緯情報ui-1と補助情報vi-1の組および流通経緯情報ui-1と補助情報vi-1の組の初期値u0,v0として無線ICタグ固有のIDが使用される場合はROM部11のIDを要求する(S111)。無線ICタグ1は、この要求に応じて、RAM部12に格納されている流通経緯情報ui-1と補助情報vi-1の組および要求された場合にはROM部11に格納されているIDを、送受信部13を介してリーダライタ2−iに送信する(S211)。
流通経緯情報ui-1と補助情報vi-1の組を受信した(S112)リーダライタ2−iは、署名検証部23Bにより、自リーダライタの1つ前に署名したリーダライタが正しく署名したかどうかを、鍵管理部21に保持されているリーダライタ2−(i−1)の公開鍵pki-1を用いて検証する。(S113)。つまり、公開鍵pki-1を用いて流通経緯情報ui-1を検証した結果のハッシュ値が補助情報vi-1と等しいかどうかを検査する。ここで、v0が得られれば、1つ前のリーダライタ2−(i−1)から正しく経緯してきたものと判断され、v0が得られない場合、不正があったものと検出される(S116)。
検証に成功した場合、リーダライタ2−iは、自リーダライタが配置された拠点を正しく経緯したことを証明するために、正しく経緯してきたことが署名検証部23により認証できた流通経緯情報ui-1に対して、署名作成部22Bにより、鍵管理部21に保持されている自リーダライタの秘密鍵skiを用いて署名uiを生成すると共に、流通経緯情報ui-1から補助情報viを生成し(S114)、生成された署名値uiと補助情報viの組を新しい流通経緯情報と補助情報の組として過去のui-1とvi-1に上書きするために、無線ICタグ1に送受信部24により送信する(S115)。無線ICタグ1は、送受信部13によりuiとviの組を受信したら(S212)、受信したuiとviの組でRAM部12に格納されているui-1とvi-1の組を上書きする(S213)。
以上と同様な動作は、無線ICタグ1が付加された製品が次の拠点に配送された場合にも実施される。リーダライタ2−nが配置された拠点まで正しく経緯した製品の無線ICタグ1の流通経緯情報unに対して、リーダライタ2−nの公開鍵pknを用いて署名を検証すれば、補助情報v0が得られることになる。これにより、1つ前の拠点のリーダライタを正しく経緯してきたことを知ることができる。
次に署名作成部22Bの詳細を説明する。
署名作成部22BによるステップS114における署名作成処理は、リーダライタ2−1〜2−(i-1)の公開鍵pk1,…, pki-1が全て異なること、かつeiが、niよりも大きくかつ((pi-1)(qi-1))と互いに素であることを確認し、Ti = pk1||…||pkiを計算した後、u=a||s(aはkビット長)としたときに(a<ni)?Ei(u)=
((a^{di} mod ni, s||0) : ((a-ni)^{di}
mod ni, s||1)と定義される図4の関数Ei(u)を用いて、無線ICタグ1の有する流通経緯情報ui-1に対して、Ei (H(Ti)○ui-1) を新たな署名uiとして導出すると同時に、新たな補助情報vi=h(ui-1)を計算する。ここで、hは予め定められたハッシュ関数である。第1の実施の形態の署名作成部22との相違点は、新たな補助情報vi=h(ui-1)を計算するとろこである。この署名作成処理の詳しい手順を図17のステップS444〜S449に示す。以下、前後の処理と共に本実施の形態における署名作成処理を図17を参照して詳しく説明する。
図17を参照すると、リーダライタ2−iは、RFIDのRAM部12に格納されている流通経路情報ui-1と補助情報vi-1の組を読み取ると(S441)、所有している鍵の正当性を検証した後(S442)、ui-1が正当であるかを署名検証部23Bで検証する(S443)。
その後、署名作成部22Bにより、現拠点の公開鍵及び上流に位置する拠点の公開鍵からTi = pk1||…||pkiを計算した後(S444)、Ei (H(Ti)○ui-1)、h(ui-1)をリーダライタ2−iでの流通経緯情報ui、補助情報viとして導出する(S445〜S449)。具体的には、まずw=H(Ti)○ui-1を計算し(S445)、wのはじめのセキュリティパラメタkビットをa、残りをsとし(S446)、aがRSAモジュラスniよりも小さいときは(S447でYES)、aに対して秘密鍵diで署名値を計算する(S448)。このときsに制御情報として1ビットの情報0を付け加え、署名値とともに流通経緯情報uiとする。またこのときui-1のハッシュを計算し、補助情報viとする。また、aがRSAモジュラスniよりも大きいときは(S447でNO)、モジュラスniより大きい数に対してはRSA署名を計算できないので、aをniだけ減算したものに対して署名値を計算する(S449)。このときsに制御情報として1ビットの情報1を付け加え、署名値とともに流通経緯情報uiとする。またこのときui-1のハッシュを計算し、補助情報viとする。このように計算したui,viのペアをRFIDのRAM部12に格納されていたui-1,vi-1と置換する(S450)。
このように本実施の形態における署名作成処理は、第1の実施の形態と同様にして署名値uiの導出を行うが、その際に署名対象の署名値ui-1のハッシュ値viを余分に計算しておき、補助情報viとして署名値uiと組にしてRAM部12に書き戻す点が異なる。本実施の形態の方が第1の実施の形態に比べて、書き戻すサイズがハッシュ関数の出力値vi分だけ大きくなる。
次に署名検証部23Bの詳細を説明する。
署名検証部23BによるステップS113における署名検証処理は、リーダライタ2−iにおいて、Ti = pk1||…||pki、u=a||s||b(aはkビット長、bは1ビット長)としたときに、(b=0)?Di(u)=
((a^{ei} mod ni, s):((a^{ei} mod ni) + ni, s)と定義される図4に示す関数Di(u)を用いて、h(H(Ti-1)○Di-1(ui-1)) = vi-1が成立すれば署名の検証に成功したと判断する。この署名検証処理の詳しい手順を図18に示す。
図18を参照すると、まずリーダライタ2−iは、RFIDのRAM部12に格納されている流通経路情報ui-1と補助情報vi-1の組を読み取る(S461)。リーダライタ2−iの備えられた拠点の上流に位置する拠点の公開鍵からTi = pk1||…||pki-1を計算した後(S462)、ui-1のはじめのkビットをaに、最後の1ビットをbに、残りのビットをsに記憶し(S463)、bが0ならば(S464でYES)、aをリーダライタ2-(i-1)の公開鍵で検証し、検証結果の末尾にsを加えたものとH(Ti-1)の排他的論理和を計算し、それをwi-1として記憶する(S465)。bが1ならば(S464でNO)、aをリーダライタ2-(i-1)の公開鍵で検証し、検証結果にモジュラスniを加算した後、末尾にsを加えたものとH(Ti-1)の排他的論理和を計算し、それをwi-1として記憶する(S466)。
その後、wi-1のハッシュ関数hによるハッシュ値が補助情報vi-1と等しいかどうかを確かめる(S467)。等しいならば正しい経緯を辿ったことの検証に成功したとし、本処理を完了する(S468)。等しくない場合は検証に失敗したとし、本処理を完了する(S469)。
このように流通経緯中の一つ前の署名装置が信用のおけることを仮定できるのであれば、検証処理を高速化できる。その理由は、第1の実施の形態と異なり、署名検証時の公開鍵による演算処理を高々1度だけで済ますことができるためである。
次に、本実施の形態の変形例として、各リーダライタにおいて無線ICタグ1に書き込むメッセージが外部情報入力部25から入力された場合の署名作成部22Bの署名作成処理を図19を参照して説明する。
図19を参照すると、リーダライタ2-iに無線ICタグ1に書き込むメッセージMiが存在する場合、署名作成部22により、T’i = M1||…||Mi||pk1||…||pkiを計算し(S444')、以下、T’iを図17のTiと同様に扱うことにより、Ei
(H(T’i)○ui-1) を新たな流通経緯情報ui、h(ui-1)を補助情報viとして導出する。このように署名を計算する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも署名対象として入力することで、公開鍵のすり替えだけでなく、各リーダライタで付与するメッセージに対する改竄も検知可能となる。
図20は各リーダライタにおいて無線ICタグ1に書き込むメッセージが存在する場合の署名検証部23Bの署名検証処理の手順を示す。T’i = M1||…||Mi-1||pk1||…||pki-1を計算し(S462')、以下、T’iを図18のTiと同様に扱うことにより、Ei
(H(T’i)○ui-1) を新たな流通経緯情報ui、h(ui-1)を補助情報viとして導出する。このように署名を検証する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも検証対象として入力することによって、公開鍵のすり替え、メッセージの改竄を検出できる。
次に本実施の形態の効果を説明する。
第1の効果は、工場生産品や食品などの一般消費者向けの製品または製品パッケージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流通経緯を確認することができることである。その理由は、製品に付する書き込み型無線ICタグ1のローカルな記憶領域(RAM部12B)に流通の経緯を管理する情報を持ち、それを必要に応じて参照することで流通経緯を確認することができるからである。これによって、運用コストを軽減できる。
第2の効果は、流通経緯中にたどる拠点数にスケーラビリティを有することである。その理由は、(署名サイズ+(拠点数)×1ビット+(補助情報サイズ)で、流通経緯の認証に利用する情報を表現できるからである。
第3の効果は、無線ICタグ1の価格を低く抑えられることである。その理由は、第2の効果の理由と同等であり、書き込みメモリ領域を多量に実装する必要がないからである。これによって、流通用途に大量に使用することが容易になる。
第4の効果は、一つ前の拠点が信用のおける拠点であることを仮定できるのであれば、流通経緯中の各段階のリーダライタや悪意のある第3者における流通経緯情報の偽造および改竄の検知に要する署名検証処理を高速化できることである。その理由は、署名検証処理を補助情報を利用して高々1度だけで済ますことが可能だからである。
『第4の実施の形態』
次に本発明の第4の実施の形態について、図面を参照して詳細に説明する。
図21を参照すると、本発明の第4の実施の形態にかかる流通経緯認証システムは、各リーダライタ2−1〜2−nが署名作成部22Bおよび署名検証部23Bの代わりに署名作成部22Cおよび署名検証部23Cを備えている点で図15の第3の実施の形態にかかる流通経緯認証システムと相違し、その他の点は第3の実施の形態と同じである。
署名作成部22Cは、無線ICタグ1とリーダライタの送受信部13、24を介して得られた、無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1と補助情報vi-1の組のうちの流通経緯情報ui-1に対して、鍵管理部21で管理している自リーダライタの秘密鍵diとRSAモジュラスniとを用いて、署名作成処理を行って新たな流通経緯情報uiを作成すると同時に、流通経緯情報ui-1から新たな補助情報viを作成し、作成したuiとviの組を新たな流通経緯情報uiと補助情報viの組として、無線ICタグ1とリーダライタの送受信部13、24を介して無線ICタグ1のRAM部12Bに保持されている流通経緯情報ui-1と補助情報vi-1の組を置き換える。ただし、本実施の形態の場合、置き換え前後の流通経緯情報ui、ui-1のサイズは変わらない。
署名検証部23Cは、流通経緯情報ui-1に対して、自リーダライタの一つ前に署名したリーダライタが正しく署名したかどうかを、公開鍵pki-1を用いて検証する。その検証結果のハッシュ値が補助情報vi-1と等しければ、1つ前のリーダライタから正しく経緯してものと判断する。
無線ICタグ1が付された製品がリーダライタ2−iを経由する際の動作は、基本的には第3の実施の形態と同様に、図16のシーケンスに沿って行われる。ただし、ステップS113における署名検証処理とステップS114における署名作成処理の中身が第3の実施の形態と相違する。
次に署名作成部22Cの詳細を説明する。
署名作成部22CによるステップS114における署名作成処理は、リーダライタ2−1〜2−(i-1)の公開鍵pk1,…, pki-1が全て異なること、かつeiが、niよりも大きくかつ((pi-1)(qi-1))と互いに素であることを確認し、Ti = pk1||…||pkiを計算した後、(u<ni)?fi(u)=u^{di}mod ni
: fi(u)=uと定義される図10の関数fi(u)、および、セキュリティパラメタkビット(ただしni<2k)長自然数空間での写像としてφ(u)= (u+ni)mod2kと定義される図10の関数φ(u)を用いて、無線ICタグ1の有する流通経緯情報ui-1に対して、φ-1(fi(φ(fi((H(Ti)○ui-1)))))を新たな流通経緯情報uiとして導出し、また無線ICタグ1の有する流通経緯情報ui-1に対して、h(ui-1)を新たな補助情報viとして導出する。その後、導出した新たな流通経緯情報uiと補助情報viの組は、無線ICタグ1とリーダライタの送受信部13、24を介して無線ICタグ1のRAM部12に保持されている流通経緯情報ui-1と補助情報vi-1の組と置き換えられる。この署名作成処理の詳しい手順を図22のステップS494〜S501に示す。
以下、前後の処理と共に署名作成部22Cによる署名作成処理を図22を参照して詳しく説明する。
図22を参照すると、リーダライタ2−iは、RFIDのRAM部12に格納されている流通経路情報ui-1と補助情報vi-1の組を読み取ると(S491)、所有している鍵の正当性を検証した後(S492)、ui-1が正当であるかを署名検証部23Cで検証する(S492)。
その後、署名作成部22Cにより、現拠点の公開鍵及び上流に位置する拠点の公開鍵からTi = pk1||…||pkiを計算した後(S494)、署名対象としてw:=H(Ti)○ui-1を計算し(S495)、wがRSAモジュラスniよりも小さいときは(S496でYES)、そのまま秘密鍵diでwの署名を計算した値に、2kをモジュラスとするniの加算を行い、結果をw’とする(S497)。大きいときは(S496でNO)、モジュラスより大きい数に対してはRSA署名を計算できないので、wに対して署名計算を行わず、その値に対して直接2kをモジュラスとするniの加算を行い、結果をw’とする(S498)。
次にw'がRSAモジュラスniよりも小さいときは(S499でYES)、秘密鍵diでw’の署名を計算した値から、2kをモジュラスとするniの減算を行い、その値をリーダライタ2−iでの流通経緯情報uiとする(S500)。この際、流通経路情報ui-1にハッシュ関数hを適用し、h(ui-1)をリーダライタ2−iでの補助情報viとする。大きいときは(S499でNO)、モジュラスより大きい数に対してはRSA署名を計算できないので、w’に対して署名計算を行わず、その値から直接2kをモジュラスとするniの減算を行い、その値をリーダライタiでの流通経緯情報uiとする(S501)。この際、ステップS500と同様にh(ui-1)をリーダライタ2−iでの補助情報viとする。このように計算したuiとviをRFIDのRAM部12に格納されていたui-1とvi-1と置換する(S502)。
このように、リーダライタ2−iは、基本的には、無線IDタグ1に既に書き込まれている流通経路情報ui-1に対して、自リーダライタの秘密鍵diで署名を付けるが、第3の実施の形態と異なり、制御ビットをつける代わりに、モジュラスniを超える数の署名を計算する際は、モジュラスniだけ大きいほうに写像させる関数をかけた後、署名計算をし、その後、その逆写像をかけて同じくモジュラスniだけ小さいほうに写像する。また、第3の実施の形態と同様に、署名を計算する際に、経緯上の各拠点の公開鍵を署名対象として入力することによって、公開鍵のすり替えを防止し、更に流通経緯情報uiの導出を行う際に署名対象の流通経緯情報ui-1のハッシュ値viを余分に計算しておき、補助情報viとして流通経緯情報uiと組にしてRAM部12に書き戻す。
次に署名検証部23Cを詳細に説明する。
署名検証部23CによるステップS113における署名検証処理は、リーダライタ2−iにおいて、Ti-1 = pk1||…||pki-1を計算し、(u<ni)?gi(u)=u^{ei}
mod ni: gi(u)=uと定義される図10の関数gi(u)と上記写像φ(u)とを用いて、h(H(Ti-1○φ-1(gi-1(φ(gi-1(ui-1)))))) = vi-1が成立すれば署名の検証に成功したとする。この署名検証処理の詳しい手順を図23に示す。
図23を参照すると、まずリーダライタiは、RFIDのRAM部12に格納されている流通経路情報uiと補助情報viの組を読み取る(S511)。次に、リーダライタ2−iの備えられた拠点の上流に位置する各拠点の公開鍵からTi-1 = pk1||…||pki-1を計算した後(S512)、検証対象としてw:=H(Ti-1)○ui-1を計算し(S513)、wがRSAモジュラスni-1よりも小さいときは(S514でYES)、そのまま公開鍵ei-1でwの署名を検証した値に、2kをモジュラスとするni-1の加算を行い、結果をw’とする(S515)。
一方、大きいときは(S514でNO)、モジュラスより大きい数に対してはRSA署名を検証できないので、wに対して検証処理を行わず、その値に対して直接2kをモジュラスとするni-1の加算を行い、結果をw’とする(S516)。次にw'がRSAモジュラスniよりも小さいときは(S517でYES)、公開鍵ei-1でw’の署名を検証した値から、2kをモジュラスとするni-1の減算を行い、その値をw”とする(S518)。大きいときは(S517でNO)、モジュラスより大きい数に対してはRSA署名を検証できないので、w’に対して検証処理を行わず、その値に対して直接2kをモジュラスとするni-1の減算を行い、結果をw”とする(S519)。
そして、W”のハッシュ値が流通経緯情報vi-1と等しいかどうかを確かめる(S520)。等しいならば正しい経緯を辿ったことの検証に成功したとし、本処理を完了する(S521)。等しくない場合は検証に失敗したとし、本処理を完了する(S522)。
このように、署名検証時は、写像関数でモジュラスだけ大きいほうにずらして検証処理し、再び逆写像する処理を行って経緯中の1つ前の拠点の公開鍵による検証で補助情報vi-1が得られたら正しい経緯をたどってきたと判断するものであり、署名検証時の公開鍵による演算処理を高々1度だけで済ますことが可能なため、検証処理を高速化できる。また署名を検証する際に、経緯上の各拠点の公開鍵を検証対象として入力することによって、公開鍵のすり替えを検出できる。
次に、本実施の形態の変形例として、各リーダライタにおいて無線ICタグ1に書き込むメッセージが外部情報入力部25から入力された場合の署名作成部22Cの署名作成処理を図24を参照して説明する。
図24を参照すると、リーダライタ2−iに無線ICタグ1に書き込むメッセージMiが存在する場合、署名作成部22Cにより、T'i = M1||…||Mi||pk1||…||pkiを計算し(S494')、以下、T’iを図22のTiと同様に扱うことにより、φ-1(fi(φ(fi((H(T'i)○ui-1)))))を新たな流通経緯情報uiとして導出し、また無線ICタグ1の有する流通経緯情報ui-1に対して、h(ui-1)を新たな補助情報viとして導出する。このように署名を計算する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも署名対象として入力することで、公開鍵のすり替えだけでなく、各リーダライタで付与するメッセージに対する改竄も検知可能となる。
図25は各リーダライタにおいて無線ICタグ1に書き込むメッセージが存在する場合の署名検証部23Cの署名検証処理の手順を示す。T'i-1 = M1||…||Mi-1||pk1||…||pki-1を計算し(S512')、以下、T'i-1を図23のTi-1と同様に扱うことにより、h(H(T'i-1○φ-1(gi-1(φ(gi-1(ui-1)))))) = vi-1が成立すれば署名の検証に成功したとする。このように署名を検証する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも検証対象として入力することによって、公開鍵のすり替え、メッセージの改竄を検出できる。
次に本実施の形態の効果を説明する。
第1の効果は、工場生産品や食品などの一般消費者向けの製品または製品パッケージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流通経緯を確認することができることである。その理由は、製品に付する書き込み型無線ICタグ1のローカルな記憶領域(RAM部12B)に流通の経緯を管理する情報を持ち、それを必要に応じて参照することで流通経緯を確認することができるからである。これによって、運用コストを軽減できる。
第2の効果は、流通経緯中にたどる拠点数にスケーラビリティを有することである。その理由は、流通経緯中にたどる拠点数に無関係な定数(署名サイズ)+補助情報サイズで、流通経緯の認証に利用する情報を表現できるからである。
第3の効果は、無線ICタグ1の価格を低く抑えられることである。その理由は、第2の効果の理由と同等であり、書き込みメモリ領域を多量に実装する必要がないからである。これによって、流通用途に大量に使用することが容易になる。
第4の効果は、一つ前の拠点が信用のおける拠点であることを仮定できるのであれば、流通経緯中の各段階のリーダライタや悪意のある第3者における流通経緯情報の偽造および改竄の検知に要する署名検証処理を高速化できることである。その理由は、署名検証処理を補助情報を利用して高々1度だけで済ますことが可能だからである。
『その他の実施の形態』
以上、本発明を幾つかの実施の形態を挙げて説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、前述の各実施の形態におけるリーダライタは、署名する前に署名対象の検証を行ったが、その検証を省略するようにしても良く、その場合には署名検証部を省略することができる。また、無線ICタグが付された製品が正しい経路を経由したものであるかを検証するだけで、新たな署名を行わないリーダライタも考えられる。その場合には署名作成部を省略できる。さらに、リーダライタは、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるリーダライタの署名作成部、署名検証部および送受信部として機能させる。
次に本発明の利用分野について説明する。
経済活動における流通業者を考える。すなわち、農林水産物あるいは工業製品の生産者と、製品を購入して消費/利用する消費者との間に存在する、製品の仕分け、加工、輸送、保管、販売などに関係する業者である。ここで、流通製品として冷凍マグロなどの冷凍食品を、流通業者として冷凍コンテナ業者、トラック業者、冷凍庫を備える倉庫業者、加工者、販売者を考える。これらの流通製品は商品が生産者から消費者に届けられるまで、契約にのっとり、流通業者を順に経ていく。このとき、本発明によって、生産者や個々の流通業者が、彼等と契約関係にある流通業者を正しく経てきたかどうかを確認することができる。このとき、流通業者間で共通のホストコンピュータを必要とせず、各流通業者はホストコンピュータに通信するインフラも必要としない。また、書き込み型無線ICタグに実装する書き込み可能なメモリ容量も、既存の書き込み型無線ICタグが保持する数百バイト〜1Kバイト程度の、高々1つの署名を記録するのに十分なメモリ容量さえあれば、流通経緯情報を格納するのに十分であり、特別に書き込み容量を多く実装した高コストな無線ICタグを利用せずとも、経緯情報の管理が可能である。また、実運用時には、情報の改竄や偽造に対応しなければならないが、本方式では、書き込んだデータの改竄や、偽造も検知可能であり、改竄防止のために耐タンパ性を無線ICタグのメモリに備えさせることも必要としない。また、署名付与、検証の演算は、全てリーダライタ側で行われるため、無線ICタグ側に特別な演算装置を必要としない。以上によって、低コストで流通経緯の認証が実現できる。
また、流通時に、配送中の衝撃や温度などの情報が何らかの手段で取れれば、それらをメッセージとして無線ICタグに書き込んで配送管理をすることも考えられる。流通経緯情報を付す際に、これらのメッセージ情報を加味して署名を計算しておくことで、これらの情報の改ざん検知も同時に実現でき、なおかつ経緯が把握できるので、不良品発見などのトラブルの際に、不具合の内容と無線ICタグの記録情報から原因を推定することがたやすくなり、トラブルの早期解決につながる。
また、パーソナルコンピュータや車などの工業製品のパーツ修理や、書籍やCDなどのリサイクルを考える。例えば、前者の工業製品のパーツ修理の場合、修理業者として、本製品の修理を専門に行う店舗や、工場が考えられる。このとき、同じ店舗で常に修理するのであれば、修理状況を店舗のホストコンピュータで逐次記録しておくことで、修理履歴を管理することができ、状況が明確になる。しかし、一般に修理する箇所・内容や、製品の利用者の都合などで、常に同じ店舗に持ち込まれるとは限らないことがある。別の店舗同士で、ホストサーバを共通に運用している状況は一般に考えにくく、この場合、ユーザが自ら修理状況を管理することが必要になる。従来、車などは整備手帳の存在が考えられ、これがあれば修理時履歴の管理は可能であったが、整備手帳自体を管理する手間があった。また整備手帳のような書類が存在しない細かい部品などの場合は、ユーザがそれに変わるものを用意して管理する必要があった。これを各製品に付する無線ICタグで管理することで、ユーザが意識的に行わずとも、製品、さらにはそれらを構成するパーツごとの修理状況の管理が行えるようになる。同様に、書籍やCDのリサイクル時に、中古売買店舗などで売買の履歴を管理することで、どの程度二次流通が行われたかを知ることができ、商品の販売に活かすことができる。このとき、利用者側でデータを管理するために考えられうる情報の改竄や偽造にも本発明では検知可能である。また製品に付する無線ICタグに高コストなメモリを搭載する必要もないので運用コストを抑えられる。このとき、各店舗や工場の公開鍵はお互いに事前に共有されていない可能性が高いが、これは必要に応じて公開鍵管理局(CA)から得ることができる。一般に公開鍵管理局はPKIのフレームワークの中で共通運用されている。
また、どの経緯で製品が流通してきたかが分からないことがある。このときは、所持する公開鍵で考えられうる流通経緯に関して全て検証を行い、検証をパスした経緯があれば、その経緯をたどってきたとみなしてよい。もちろん、予め経緯を知るための情報を無線ICタグに書き込んでおいて、その順に検証してもよい。このとき経緯を知るための情報としては各リーダライタの製造番号(ID)などを利用できる。これらのIDに対応する公開鍵を導出する機構を持つことで、経緯情報の検証を効率化してもよい。

Claims (83)

  1. 製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリーダライタを前記製品の流通経路上の各拠点に備え、最初の拠点に備わるリーダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報として無線ICタグの読み書き可能なメモリに書き込むものであり、最初の拠点以外の拠点に備わるリーダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に前記初期値が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と置き換えるものであることを特徴とする流通経緯認証システム。
  2. 前記初期値として、無線ICタグの読み出し専用メモリに記憶されている当該無線ICタグ固有の識別番号を使用するものであることを特徴とする請求項1記載の流通経緯認証システム。
  3. 製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリーダライタを前記製品の流通経路上の各拠点に備え、最初の拠点に備わるリーダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報、前記初期値またはそれから導出した値を補助情報として無線ICタグの読み書き可能なメモリに書き込むものであり、最初の拠点以外の拠点に備わるリーダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より1つ上流の拠点の公開鍵を使用して検証し、その検証結果において前記無線ICタグの読み書き可能なメモリに書き込まれている補助情報と同じ情報が導出できることにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれていた元の流通経緯情報またはそれから導出した情報を補助情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と補助情報と置き換えるものであることを特徴とする流通経緯認証システム。
  4. 経緯順がi番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、(u<n)?f(u)=u^{d}mod n:f(u)=uと定義される関数をf(u)、セキュリティパラメタkビット(ただしn<2)長自然数空間での写像としてφ(u)=(u+n)mod2と定義される関数をφ(u)、その逆関数をφ−1とするとき、φ−1(f(φ(f(ST)))))を新たな流通経緯情報として導出するものであることを特徴とする請求項1記載の流通経緯認証システム。
  5. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項4記載の流通経緯認証システム。
  6. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項4記載の流通経緯認証システム。
  7. 経緯順がi番目の拠点に備わるリーダライタは、(u<n)?g(u)=u^{e} mod n:g(u)=uと定義される関数をg(u)とするとき、φ−1(g(φ(g1(H(T○φ−1(g(φ((g(H(T○…Ti−1○φ−1(gi−1(φ(gi−1(ui−1)))))…)))))))))=uが成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項5または6記載の流通経緯認証システム。
  8. 経緯順がi番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵をd、RSAモジュラスn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、(u<n)?f(u)=u^{d}mod n:f(u)=uと定義される関数をf(u)、セキュリティパラメタkビット(ただしn<2)長自然数空間での写像としてφ(u)=(u+n)mod2と定義される関数をφ(u)、その逆関数をφ−1とするとき、φ−1(f(φ(f(ST)))))を新たな流通経緯情報、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項3記載の流通経緯認証システム。
  9. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項8記載の流通経緯認証システム。
  10. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項8記載の流通経緯認証システム。
  11. 経緯順がi番目の拠点に備わるリーダライタは、(u<n)?g(u)=u^{e} mod n:g(u)=uと定義される関数をg(u)とするとき、h(H(Ti−1○φ−1(gi−1(φ(gi−1(ui−1)))))…)))))))))=vi−1が成立することにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項9記載の流通経緯認証システム。
  12. 製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリーダライタを前記製品の流通経路上の各拠点に設け、最初の拠点に備わるリーダライタが、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報として無線ICタグの読み書き可能なメモリに書き込み、最初の拠点以外の拠点に備わるリーダライタが、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に前記初期値が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と置き換えることを特徴とする流通経緯認証方法。
  13. 前記初期値として、無線ICタグの読み出し専用メモリに記憶されている当該無線ICタグ固有の識別番号を使用することを特徴とする請求項12記載の流通経緯認証方法。
  14. 製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリーダライタを前記製品の流通経路上の各拠点に設け、最初の拠点に備わるリーダライタが、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名文を流通経緯情報、前記初期値またはそれから導出した値を補助情報として無線ICタグの読み書き可能なメモリに書き込み、最初の拠点以外の拠点に備わるリーダライタが、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より1つ上流の拠点の公開鍵を使用して検証し、その検証結果において前記無線ICタグの読み書き可能なメモリに書き込まれている補助情報と同じ情報が導出できることにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれていた元の流通経緯情報またはそれから導出した情報を補助情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と補助情報と置き換えることを特徴とする流通経緯認証方法。
  15. 経緯順がi番目の拠点に備わるリーダライタの署名作成部が、自拠点の秘密鍵をd、RSAモジュラスn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、(u<n)?f(u)=u^{d}mod n:f(u)=uと定義される関数をf(u)、セキュリティパラメタkビット(ただしn<2)長自然数空間での写像としてφ(u)=(u+n)mod2と定義される関数をφ(u)、その逆関数をφ−1とするとき、φ−1(f(φ(f(ST)))))を新たな流通経緯情報として導出することを特徴とする請求項12記載の流通経緯認証方法。
  16. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項15記載の流通経緯認証方法。
  17. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項15記載の流通経緯認証方法。
  18. 経緯順がi番目の拠点に備わるリーダライタの署名検証部が、(u<n)?g(u)=u^{e} mod n:g(u)=uと定義される関数をg(u)とするとき、φ−1(g(φ(g(H(T○φ−1(g(φ((g(H(T○…Ti−1○φ−1(gi−1(φ(gi−1(ui−1)))))…)))))))))=uが成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する段階を有することを特徴とする請求項16記載の流通経緯認証方法。
  19. 経緯順がi番目の拠点に備わるリーダライタの署名作成部が、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、(u<n)?f(u)=u^{d}mod n:f(u)=uと定義される関数をf(u)、セキュリティパラメタkビット(ただしn<2)長自然数空間での写像としてφ(u)=(u+n)mod2と定義される関数をφ(u)、その逆関数をφ−1とするとき、φ−1(f(φ(f(ST)))))を新たな流通経緯情報、流通経緯情ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出することを特徴とする請求項14記載の流通経緯認証方法。
  20. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項19記載の流通経緯認証方法。
  21. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項19記載の流通経緯認証方法。
  22. 経緯順がi番目の拠点に備わるリーダライタの署名検証部が、(u<n)?g(u)=u^{e} mad n:g(u)=uと定義される関数をg(u)とするとき、h(H(Ti−1○φ−1(gi−1(φ(gi−1(ui−1)))))…)))))))))=vi−1が成立することにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項20記載の流通経緯認証方法。
  23. 製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有し、前記製品の流通経路上の拠点に設けられるリーダライタであって、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に初期値または前記無線ICタグの読み出し専用メモリに記憶されている当該無線ICタグ固有の識別番号が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と置き換えるものであることを特徴とするリーダライタ。
  24. 製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有し、前記製品の流通経路上の拠点に設けられるリーダライタであって、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと交信して、その無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より1つ上流の拠点の公開鍵を使用して検証し、その検証結果において前記無線ICタグの読み書き可能なメモリに書き込まれている補助情報と同じ補助情報が導出できることにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有し、前記署名検証部にて前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれていた元の流通経緯情報またはそれから導出した情報を補助情報として導出し、無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と補助情報と置き換えるものであることを特徴とするリーダライタ。
  25. 前記署名作成部は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、(u<n)?f(u)=u^{d}mod n:f(u)=uと定義される関数をf(u)、セキュリティパラメタkビット(ただしn<2)長自然数空間での写像としてφ(u)=(u+n)mod2と定義される関数をφ(u)、その逆関数をφ−1とするとき、φ−1(f(φ(f(ST)))))を新たな流通経緯情報として導出するものであることを特徴とする請求項23記載のリーダライタ。
  26. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項25記載のリーダライタ。
  27. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項25記載のリーダライタ。
  28. (u<n)?g(u)=u^{e} mod n:g(u)=uと定義される関数をg(u)とするとき、φ−1(g(φ(g(H(T○φ−1(g(φ((g(H(T○…Ti−1○φ−1(gi−1(φ(gi−1(ui−1)))))…)))))))))=uが成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項26記載のリーダライタ。
  29. 前記署名作成部は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、(u<n)?f(u)=u^{d}mod n:f(u)=uと定義される関数をf(u)、セキュリティパラメタビット(ただしn<2)長自然数空間での写像としてφ(u)=(u+n)mod2定義される関数をφ(u)、その逆関数をφ−1とするとき、φ−1(f(φ(f(ST)))))を新たな流通経緯情報、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項24記載のリーダライタ。
  30. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項29記載のリーダライタ。
  31. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項29記載のリーダライタ。
  32. (u<n)?g(u)=u^{ei} mod n:g(u)=uと定義される関数をg(u)とするとき、h(H(Ti−1○φ−1(gi−1(φ(gi−1(ui−1)))))…)))))))))=vi−1が成立することにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項30記載のリーダライタ。
  33. 製品の流通経路上の拠点に設けられるリーダライタを構成するコンピュータを、前記製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信手段、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと前記送受信手段を通じて交信し、前記無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、記憶手段に記憶されている自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に予め定められた初期値または前記無線ICタグの読み出し専用メモリに記憶されている当該無線ICタグ固有の識別番号が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証手段、前記署名検証手段にて前記製品が自拠点まで正しく経緯してきたと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して記憶手段に記憶されている自拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、前記無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報と置き換える署名作成手段、として機能させるためのプログラム。
  34. 製品の流通経路上の拠点に設けられるリーダライタを構成するコンピュータを、前記製品またはそのパッケージに付された無線ICタグとの間で情報を送受信する送受信手段、自拠点に流通してきた製品またはそのパッケージに付された無線ICタグと前記送受信手段を通じて交信し、前記無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報に対して、記憶手段に記憶されている自拠点より1つ上流の拠点の公開鍵を使用して検証し、その検証結果において前記無線ICタグの読み書き可能なメモリに書き込まれている補助情報と同じ補助情報が導出できることにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証手段、前記署名検証手段にて前記製品が1つ前の拠点から正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対して記憶手段に記憶されている自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれていた元の流通経緯情報またはそれから導出した情報を補助情報として導出し、前記無線ICタグの読み書き可能なメモリに書き込まれていた元の流通経緯情報および補助情報と置き換える署名作成手段、として機能させるためのプログラム。
  35. 前記署名作成手段は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、(u<n)?f(u)=u^{d}mod n:f(u)=uと定義される関数をf(u)、セキュリティパラメタkビット(ただしn<2)長自然数空間での写像としてφ(u)=(u+n)mod2定義される関数をφ(u)、その逆関数をφ−1とするとき、φ−1(f(φ(f(ST)))))を新たな流通経緯情報として導出するものであることを特徴とする請求項33記載のプログラム。
  36. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項35記載のプログラム。
  37. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項35記載のプログラム。
  38. 前記コンピュータをさらに、(u<n)?g(u)=u^{e} mod n:g(u)=uと定義される関数をg(u)とするとき、φ−1(g(φ(g(H(T○φ−1(g(φ((g(H(T○…Ti−1○φ−1(gi−1(φ(gi−1(ui−1)))))…)))))))))=uが成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証手段、として機能させることを特徴とする請求項36記載のプログラム。
  39. 前記署名作成手段は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、(u<n)?f(u)=u^{d}mod n:f(u)=uと定義される関数をf(u)、セキュリティパラメタkビット(ただしn<2)長自然数空間での写像としてφ(u)=(u+n)mod2kと定義される関数をφ(u)、その逆関数をφ−1とするとき、φ−1(f(φ(f(ST)))))を新たな流通経緯情報、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項34記載のプログラム。
  40. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項39記載のプログラム。
  41. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項39記載のプログラム。
  42. 前記コンピュータをさらに、(u<n)?g(u)=u^{e}mod n:g(u)=uと定義される関数をg(u)とするとき、h(H(Ti−1○φ−1(gi−1(φ(gi−1(ui−1)))))…)))))))))=vi−1が成立することにより、前記製品が1つ前の拠点から正しく経緯してきたものと判断する署名検証手段、として機能させることを特徴とする請求項40記載のプログラム。
  43. 製品の流通経緯を管理するために製品またはそのパッケージに付加される無線ICタグにおいて、製品の流通経路上の各拠点に備わるリーダライタとの間で情報を送受信する送受信部と、自無線ICタグ固有の識別番号を記憶する読み出し専用メモリと、流通経緯情報を記憶する読み書き可能なメモリとを備え、最初の拠点に流通した際にはその拠点に備わるリーダライタによって、前記識別番号またはそれから導出した値に対してその拠点の秘密鍵で署名された署名文が前記流通経緯情報として前記読み書き可能なメモリに書き込まれ、最初の拠点以外の拠点に流通した際にはその拠点に備えるリーダライタによって、前記読み書き可能なメモリに書き込まれている流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開鍵から順番に使用して検証を繰り返していき、最終的に前記初期値が得られるところまで遡って検証できることにより、前記製品が自拠点まで正しく経緯してきたものと判断された場合に、無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報またはそれから導出した情報に対してその拠点の秘密鍵で署名された署名文が新たな流通経緯情報として導出されて、前記読み書き可能なメモリに書き込まれていた元の流通経緯情報が置き換えられるものであることを特徴とする無線ICタグ。
  44. 経緯順がi番目の拠点に備わるリーダライタの署名作成部は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報として導出するものであることを特徴とする請求項1記載の流通経緯認証システム。
  45. 経緯順がi番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n)?E(u)=((a^{d}mod n,s||0):((a−n)^{d}mod n,s||1)と定義される関数をE(u)とするとき、E(ST)を新たな流通経緯情報として導出するものであることを特徴とする請求項1記載の流通経緯認証システム。
  46. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項45記載の流通経緯認証システム。
  47. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項45記載の流通経緯認証システム。
  48. 経緯順がi番目の拠点に備わるリーダライタは、(b=0)?D(u)=((a^{e}mod n,s):((a^{e}mod n)+n,s)と定義される関数をDi(u)とするとき、D(H(T)○(D(H(T)○…Di−1(ui−1))…))=uが成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項46又は47記載の流通経緯認証システム。
  49. 経緯順がi番目の拠点に備わるリーダライタの署名作成部は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報とし、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項3記載の流通経緯認証システム。
  50. 経緯順がi番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n)?E(u)=((a^{d}mod n,s||0):((a−n)^{d}mod n,s||1)と定義される関数をE(u)とするとき、E(ST)を新たな流通経緯情報とし、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項3記載の流通経緯認証システム。
  51. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項50記載の流通経緯認証システム。
  52. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項50記載の流通経緯認証システム。
  53. 経緯順がi番目の拠点に備わるリーダライタは、(b=0)?D(u)=((a^{e}mod n,s):((a^{e}mod n)+n,s)と定義される関数をD(u)とするとき、h(H(Ti−1)○Di−1(ui−1))=vi−1が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項51又は52記載の流通経緯認証システム。
  54. 経緯順がi番目の拠点に備わるリーダライタの署名作成部が、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報として導出することを特徴とする請求項12記載の流通経緯認証方法。
  55. 経緯順がi番目の拠点に備わるリーダライタの署名作成部が、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n)?E(u)=((a^{d}mod n,s||0):((a−n)^{d}mod n,s||1)と定義される関数をE(u)とするとき、E(ST)を新たな流通経緯情報として導出することを特徴とする請求項12記載の流通経緯認証方法。
  56. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項55記載の流通経緯認証方法。
  57. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項55記載の流通経緯認証方法。
  58. 経緯順がi番目の拠点に備わるリーダライタが、(b=0)?D(u)=((a^{e}mod n,s):((a^{e}mod n)+n,s)と定義される関数をD(u)とするとき、D(H(T)○(D(H(T)○…Di−1(ui−1))…))=uが成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する段階を有することを特徴とする請求項56又は57記載の流通経緯認証方法。
  59. 経緯順がi番目の拠点に備わるリーダライタの署名作成部が、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報とし、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出することを特徴とする請求項14記載の流通経緯認証方法。
  60. 経緯順がi番目の拠点に備わるリーダライタの署名作成部が、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n)?E(u)=((a^{d}mod n,s||0):((a−n)^{d}mod n,s||1)と定義される関数を(u)とするとき、E(ST)を新たな流通経緯情報とし、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出することを特徴とする請求項14記載の流通経緯認証方法。
  61. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項60記載の流通経緯認証方法。
  62. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項60記載の流通経緯認証方法。
  63. 経緯順がi番目の拠点に備わるリーダライタが、(b=0)?D(u)=((a^{e}mod n,s):((a^{e}mod n)+n,s)と定義される関数をD(u)とするとき、h(H(Ti−1)○Di−1(ui−1))=vi−1が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する段階を有することを特徴とする請求項61又は62記載の流通経緯認証方法。
  64. 前記署名作成部は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報として導出するものであることを特徴とする請求項23記載のリーダライタ。
  65. 前記リーダライタの署名作成部は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n)?E(u)=((a^{d}mod n,s||0):((a−n)^{d}mod n,s||1)と定義される関数をE(u)とするとき、E(ST)を新たな流通経緯情報として導出するものであることを特徴とする請求項23記載のリーダライタ。
  66. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項65記載のリーダライタ。
  67. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項65記載のリーダライタ。
  68. (b=0)?D(u)=((a^{e}mod n,s):((a^{e}mod n)+n,s)と定義される関数をD(u)とするとき、D(H(T)○(D(H(T)○…Di−1(ui−1))…))=uが成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項66又は67記載のリーダライタ。
  69. 前記署名作成部は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報とし、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項24記載のリーダライタ。
  70. 前記署名作成部は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n)?E(u)=((a^{d}mod n,s||0):((a−n)^{d}mod n,s||1)と定義される関数をE(u)とするとき、E(ST)を新たな流通経緯情報とし、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項24記載のリーダライタ。
  71. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項70記載のリーダライタ。
  72. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項0記載のリーダライタ。
  73. (b=0)?D(u)=((a^{e}mod n,a):((a^{e}mod n)+n,a)と定義される関数をD(u)とするとき、h(H(Ti−1)○Di−1(ui−1))=vi−1が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする請求項71又は72記載のリーダライタ。
  74. 前記署名作成手段は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報として導出するものであることを特徴とする請求項33記載のプログラム。
  75. 前記署名作成手段は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n)?E(u)=((a^{d}mod n,s||0):((a−n)^{d}mod n,s||1)と定義される関数をE(u)とするとき、E(ST)を新たな流通経緯情報として導出するものであることを特徴とする請求項33記載のプログラム。
  76. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項75記載のプログラム。
  77. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項75記載のプログラム。
  78. 前記コンピュータを、(b=0)?D(u)=((a^{e}mod n,s):((a^{e}mod n)+n,s)と定義される関数をD(u)とするとき、D(H(T)○(D(H(T)○…Di−1(ui−1))…))=uが成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証手段として機能させることを特徴とする請求項76又は77記載のプログラム。
  79. 前記の署名作成手段は、署名文の大きさが前記無線ICタグの読み書き可能なメモリの容量以下となる署名方式を用いて署名した署名文を新たな流通経緯情報とし、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項34記載のプログラム。
  80. 前記署名作成手段は、自拠点の秘密鍵をd、RSAモジュラスをn、初期値u若しくはそれから導出した値または自拠点に流通してきた製品またはそのパッケージに付された無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報ui−1若しくはそれから導出した情報をST、u=a||s(aはkビット長)としたときに(a<n)?E(u)=((a^{d}mod n,s||0):((a−n)^{d}mod n,s||1)と定義される関数をE(u)とするとき、E(ST)を新たな流通経緯情報とし、流通経緯情報ui−1またはそのハッシュ値h(ui−1)を新たな補助情報vとしてそれぞれ導出するものであることを特徴とする請求項34記載のプログラム。
  81. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項80記載のプログラム。
  82. 前記STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列Tのハッシュ値H(T)と、初期値または無線ICタグの読み書き可能なメモリに書き込まれている流通経緯情報のビット列uとの排他的論理和により求められる値H(T)○uであることを特徴とする請求項80記載のプログラム。
  83. 前記コンピュータを、(b=0)?D(u)=((a^{e}mod n,s):((a^{e}mod n)+n,s)と定義される関数をD(u)とするとき、h(H(Ti−1)○Di−1(ui−1))=vi−1が成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断する署名検証手段として機能させることを特徴とする請求項81又は82記載のプログラム。
JP2006547916A 2004-11-29 2005-11-28 流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ Expired - Fee Related JP4993076B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006547916A JP4993076B2 (ja) 2004-11-29 2005-11-28 流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004343702 2004-11-29
JP2004343702 2004-11-29
JP2006547916A JP4993076B2 (ja) 2004-11-29 2005-11-28 流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ
PCT/JP2005/021822 WO2006057390A1 (ja) 2004-11-29 2005-11-28 流通経緯認証システム、流通経緯認証方法

Publications (2)

Publication Number Publication Date
JPWO2006057390A1 JPWO2006057390A1 (ja) 2008-08-07
JP4993076B2 true JP4993076B2 (ja) 2012-08-08

Family

ID=36498123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006547916A Expired - Fee Related JP4993076B2 (ja) 2004-11-29 2005-11-28 流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ

Country Status (2)

Country Link
JP (1) JP4993076B2 (ja)
WO (1) WO2006057390A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4806303B2 (ja) * 2006-07-03 2011-11-02 Necパーソナルプロダクツ株式会社 物品管理システム、物品管理方法、情報処理端末及び情報記録媒体
EP2680046B1 (en) * 2006-09-08 2015-01-21 Certicom Corp. Authenticated radio frequency identification using aggregate digital signature and key distribution system therefor
GB0704963D0 (en) * 2007-03-14 2007-04-25 British Telecomm Verification of movement of items
GB0704900D0 (en) * 2007-03-14 2007-04-18 British Telecomm Verification of movement of items
CN104735059B (zh) * 2015-03-04 2018-07-10 上海鸿研物流技术有限公司 可循环物流器具的无线验证方法及装置
JP7009743B2 (ja) * 2017-01-23 2022-01-26 凸版印刷株式会社 無線通信デバイス、および、情報通信システム
CN109615034B (zh) * 2018-11-20 2022-06-17 广州市格利网络技术有限公司 可重复使用的餐饮用具的信息溯源方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250408A (ja) * 1999-03-01 2000-09-14 Ntt Data Corp ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体
JP2004043143A (ja) * 2002-07-12 2004-02-12 Matsushita Electric Ind Co Ltd 食肉流通用非接触型icタグ管理システムおよび食肉流通用非接触型icタグ管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251268A (ja) * 1996-03-15 1997-09-22 Matsushita Electric Ind Co Ltd 多重ディジタル署名方式
JP2005242530A (ja) * 2004-02-25 2005-09-08 Hitachi Ltd 履歴記録システム、履歴記録方法、履歴記録プログラム、及び受領譲渡者用端末

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250408A (ja) * 1999-03-01 2000-09-14 Ntt Data Corp ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体
JP2004043143A (ja) * 2002-07-12 2004-02-12 Matsushita Electric Ind Co Ltd 食肉流通用非接触型icタグ管理システムおよび食肉流通用非接触型icタグ管理方法

Also Published As

Publication number Publication date
WO2006057390A1 (ja) 2006-06-01
JPWO2006057390A1 (ja) 2008-08-07

Similar Documents

Publication Publication Date Title
JP4993076B2 (ja) 流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ
CN107274139B (zh) 仓单数据管理方法和计算机可读介质
US11909887B2 (en) Architecture for secure IoT interactions
US11256799B2 (en) Device lifecycle distributed ledger
JP5260523B2 (ja) 無線周波識別(rfid)認証およびそのための鍵配信システム
US20160342977A1 (en) Device, method and system for virtual asset transactions
IL270443B2 (en) A system in blockchain architecture for ritual money management based on physical marking of objects
JP2004029984A (ja) 電子タグ固有番号管理方式およびそのための処理システム
CN105373955A (zh) 基于多重签名的数字资产处理方法及装置
CN113994357A (zh) 在终端与支付系统之间直接传输电子硬币数据记录的方法
US20180357603A1 (en) Systems and methods for delivering retail items
JP7061409B2 (ja) ブロックチェーンに基づく資産管理履歴記録証明統合システムとその方法
KR20070003830A (ko) 금융 거래 카드의 충돌 회피용 식별자를 생성하는 시스템및 방법
CN112669141A (zh) 基于区块链智能合约机制的大宗商品的仓单质押方法
US20060265594A1 (en) Documentation of service measures on a motor vehicle
JP4843960B2 (ja) タグ認証システム、認証装置、及び、タグ認証方法
KR100883147B1 (ko) Rfid를 이용한 서비스 대상물의 인증 및 결제시스템
CN114830599A (zh) 使用加密锚管理物理对象
US20210248616A1 (en) Value warranty data validation and encryption system
CN114780992A (zh) 一种电子商城供应链管理方法、系统和设备
CN110798321B (zh) 一种基于区块链的物品信息服务方法
JP4564851B2 (ja) タグ情報検証方法及びプログラム
JP6889129B2 (ja) 仮想通貨管理装置、およびプログラム
JP7327208B2 (ja) データ記録装置、データ記録方法、データ記録プログラム、システム、方法、および、プログラム
Saranya et al. Blockchain and IoT technologies to improve the agricultural food supply chain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

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: 20120411

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: 20120424

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4993076

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees