明 細 書
流通経緯認証システム、流通経緯認証方法
技術分野
[0001] 本発明は、工場生産品や食品などの一般消費者向けの製品または製品パッケ一 ジの流通経緯を認証するシステムであって、特に、 RF- ID(Radio Frequency-IDentific ation)タグに代表される無線 ICタグを付して行う製品の製造、加工、小売り、消費/利 用、再利用、廃棄等の各拠点の流通経緯認証システム及び流通経緯認証方法に関 する。
背景技術
[0002] 製品流通システムにおいて、製品の流通がどのように行われた力、すなわち流通経 緯を知ることが望まれる場合がある。流通中に製品が破損した場合に、責任の所在を 明確ィ匕することや、生産地を明確にすることで、特に食品などの製品に関する安全性 や信頼性を高める目的などにおいて、これらの流通経緯を知る必要が生じる。このよ うな流通経緯を知る従来の方法の一例に、特許文献 1に示す無線 ICタグを利用した 宅配便システムがある。この従来の宅配便システムは、無線 ICタグ内の記憶領域に、 無線 ICタグ固有の IDが記憶される。この無線 ICタグを製品に付し、集荷店及び配送 店に設置されたリーダライタでその IDが読み出され、読み出された IDがその都度、ホ ストコンピュータに送信され、これにより、ホストコンピュータ側で配送物品の流通経緯 を管理することができる(以下、第 1の従来技術)。
[0003] また、書き込み可能なメモリ領域を有する無線 ICタグを製品に付して流通経緯を管 理する従来の方法の一例に、特許文献 2に示す製品情報管理方法がある。この従来 の製品情報管理方法は、製品に付する無線 ICタグに、流通経緯を証明する情報 (本 明細書ではこのような情報を、流通経緯情報と呼ぶ)を書き込むリーダライタを製品の 製造、流通、小売り、消費/利用、再利用、廃棄の各拠点に備え、拠点を経由する際 に無線 ICタグに対して流通経緯情報を書き込み、この流通経緯情報を必要に応じて 参照することで製品の流通経緯を知る方法である(以下、第 2の従来技術)。
[0004] 書き込み可能なメモリ領域を有する無線 ICタグを製品に付して流通経緯を管理す
る従来の他の方法の一例に、特許文献 3に示す食肉流通用非接触型 ICタグ管理方 法がある。この従来技術は、流通させる食肉に関連する情報を秘密鍵によって暗号 化した情報とこれを解読するための公開鍵とを ICタグに書き込んでおき、流通先にお V、て、 ICタグに記録された公開鍵によってその ICタグに記録された情報を解読するよ うにする方法である。
[0005] なお、無線 ICタグに関する文献としては非特許文献 1が公知である。
[0006] 他方、計算機やインターネット環境の普及に伴い、電子的にメッセージを送受信す る機会が増えている。このような場合に、メッセージを送信する途中でメッセージが改 竄されることを防ぐため、メッセージに電子署名を添付することが行われている。電子 署名の方式は各種存在し、複数の署名装置が署名をかさねて行う!/、わゆる多重署名 も公知である。 RSAや DSAといった署名方式はよく知られた署名方式である力 これを 用いて多重署名を作成した場合、全員が署名したことを表すには、全署名装置が個 々に署名文を作成し、それらの署名文を全て保存する必要がある。この為、署名文 のデータ長の合計値が署名装置の台数に比例する。このような問題を改善し、署名 文のデータ長の合計値が署名装置の台数に比例しない署名方式が、非特許文献 2 および非特許文献 3により公知である。非特許文献 2の方式は RSA問題の困難性に 安全性の基礎をおく方式であり、非特許文献 3の方式は supersingularな楕円曲線上 の Gap Diffie Hellman問題という問題の困難性に頼って安全性を示している。
[0007] 特許文献 1:特開 2001— 206514号公報
特許文献 2 :特開 2002— 49905号公報
特許文献 3 :特開 2004— 43143号公報
非特許文献 1 :無線 ICタグのすべて、日経 BP社、 pp.197、 2004
非特干文献 2 :AnnaLysyanskaya, bilvio icali, Leonid Reyzin, Hovav Snacham. beq uential Aggregate Signatures from Trapdoor Permutations. InAdvances in Cryptolog y-EUROCRYPT 2004, vol. 3027 of LNCS, pp. 74-90. Springer- Verlag, 2004. 非特許文献 3 : D. Boneh, C.Gentry, B. Lynn, and H. Shacham. Aggregate and Verifi ably Encrypted Signaturesfrom Bilinear Maps. In Advances in Cryptolog y—― EURO
CRYPT 2003, vol. 2656 o!LNCS, pp. 416—432. Springer— Verlag, 2003.
発明の開示
発明が解決しょうとする課題
[0008] し力しながら、第 1の従来技術では、ホストコンピュータとの間で情報通信が不可能 な拠点では、製品が通過した際にホストコンピュータに情報を送信することができず、 流通経緯情報を記録することができない。また、製品の流通経緯を知ろうとしてもホス トコンピュータ力 通過情報を受信できないので、不可能である。またホストコンビュ ータでデータを集中管理する場合、各拠点が共通に情報通信できるようなホストコン ピュータを運用しなければならないが、製品流通経路中に異業種の店舗等も存在す るような運用環境を想定する場合には、このような運用環境を整えることは困難であ つた。すなわち今までは、ある特定業種で閉じた環境での運用しか実現できていなか つた o
[0009] 一方、第 2の従来技術においても、主要な書き込み型無線 ICタグの有する書き込み 可能メモリ領域は、非特許文献 1を参照すると、高々 1Kバイトの有限領域であり、流通 経緯中の各拠点を経由するたびに次々に発生する流通経緯情報を記録することが できないという問題がある。記憶領域が足りず記録できない場合は、流通経緯情報を 正しく記録することができないため、流通経緯を知ることができなくなる。また、有限の 書き込み可能メモリ領域内に、記録すべき流通経緯情報が収まる場合でも、当該書 き込みメモリ領域は、流通経緯を知るために必要な情報だけを記憶するために使わ れるわけではなぐシステムに応じて様々な情報を記憶することが考えられ、流通経 緯情報はできるだけ小容量で管理できることが望ましい。
[0010] また、ローカルの書き込み領域に流通経緯情報を記録する第 2の従来技術のような 方法の場合、流通経緯情報の書き換え (改竄)や、虚偽のため、流通経緯の真正性 を保障できないという問題が潜在する。特許文献 3を参照すると、このような流通経緯 を記録する際に、公開鍵暗号系の性質、つまり、秘密鍵で暗号化 (署名付与)したデ ータは、対応する公開鍵でしか正しく復号 (署名検証)できな ヽと ヽぅ性質を使用して、 流通過程における第 3者による偽造、改竄を防止することが可能となる。しかし、本方 式は流通経緯中の各拠点のリーダライタ (端末)は、不正を働かないという前提でのみ 機能する。流通経緯中の各拠点のリーダライタが故意に流通経緯情報を偽造、およ
び改竄をして不当な利益を得ようとする場合、対応できない。何故なら、秘密鍵で暗 号化する情報がすりかえられると、その情報は正当な秘密鍵で暗号化されているた め、対応する公開鍵での検証はパスしてしまうからである。
[0011] 他方、いわゆる多重署名方式が公知である力 製品の流通経緯を認証するシステ ムに多重署名方式を適用した事例は皆無であり、特に RF-IDに代表される無線 ICタ グを付して行う製品の流通経緯認証システムに多重署名方式を適用した事例は見当 たらない。
[0012] 『発明の目的』
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、工場生産品 や食品などの一般消費者向けの製品または製品ノ^ケージの流通過程において、 ホストコンピュータと通信できな 、オフライン環境でも、流通経緯を確認することがで き、かつ流通経緯中の各拠点のリーダライタや悪意のある第 3者における流通経緯情 報の偽造および改竄も検知可能な流通経緯認証方法および流通経緯認証システム を提供することにある。
[0013] 本発明の別の目的は、製品の流通経緯が正しいかどうかの検証を簡易に行うことの できる流通経緯認証方法および流通経緯認証システムを提供することにある。
[0014] 本発明のさらに別の目的は、流通経緯中にたどる拠点数にスケーラビリティを有す る流通経緯認証方法および流通経緯認証システムを提供することにある。
課題を解決するための手段
[0015] 本発明の第 1の流通経緯認証システムは、製品またはそのパッケージに付された無 線 ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有す るリーダライタを前記製品の流通経路上の各拠点に備え、最初の拠点に備わるリー ダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線 ICタグ と交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した 署名文を流通経緯情報として無線 ICタグの読み書き可能なメモリに書き込むもので あり、最初の拠点以外の拠点に備わるリーダライタは、自拠点に流通してきた製品ま たはそのパッケージに付された無線 ICタグと交信して、その無線 ICタグの読み書き可 能なメモリに書き込まれて 、る流通経緯情報またはそれから導出した情報に対して自
拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、無線 ICタグの 読み書き可能なメモリに書き込まれて 、た元の流通経緯情報と置き換えるものである ことを特徴とする。
[0016] 本発明の第 2の流通経緯認証システムは、第 1の流通経緯認証システムにおいて、 前記初期値として、無線 ICタグの読み出し専用メモリに記憶されている当該無線 ICタ グ固有の識別番号を使用するものであることを特徴とする。
[0017] 本発明の第 3の流通経緯認証システムは、第 1または第 2の流通経緯認証システム において、最初の拠点以外の少なくとも 1つの拠点に備わるリーダライタは、自拠点に 流通してきた製品またはそのパッケージに付された無線 ICタグの読み書き可能なメモ リに書き込まれて 、る流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を 自拠点に近 ヽ拠点の公開鍵から順番に使用して検証を繰り返して!/ヽき、最終的に前 記初期値が得られるところまで遡って検証できることにより、前記製品が自拠点まで 正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
[0018] 本発明の第 4の流通経緯認証システムは、製品またはそのパッケージに付された無 線 ICタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有す るリーダライタを前記製品の流通経路上の各拠点に備え、最初の拠点に備わるリー ダライタは、自拠点に流通してきた製品またはそのパッケージに付された無線 ICタグ と交信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した 署名文を流通経緯情報、前記初期値またはそれから導出した値を補助情報として無 線 ICタグの読み書き可能なメモリに書き込むものであり、最初の拠点以外の拠点に備 わるリーダライタは、自拠点に流通してきた製品またはそのノ ッケージに付された無 線 ICタグと交信して、その無線 ICタグの読み書き可能なメモリに書き込まれて 、る流 通経緯情報またはそれ力 導出した情報に対して自拠点の秘密鍵で署名した署名 文を新たな流通経緯情報、書き込まれて!/、た元の流通経緯情報またはそれから導出 した情報を補助情報として導出し、無線 ICタグの読み書き可能なメモリに書き込まれ ていた元の流通経緯情報と補助情報と置き換えるものであることを特徴とする。
[0019] 本発明の第 5の流通経緯認証システムは、第 4の流通経緯認証システムにおいて、 最初の拠点以外の少なくとも 1つの拠点に備わるリーダライタは、自拠点に流通してき
た製品またはそのパッケージに付された無線 ICタグの読み書き可能なメモリに書き込 まれている流通経緯情報に対して、自拠点より 1つ上流の拠点の公開鍵を使用して 検証し、その検証結果にお!、て前記無線 ICタグの読み書き可能なメモリに書き込ま れている補助情報と同じ補助情報が導出できることにより、前記製品力 siつ前の拠点 力 正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
[0020] 本発明の第 6の流通経緯認証システムは、第 1の流通経緯認証システムにおいて、 経緯順が i番目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵を d、 RSAモジュラスを n、初期値 u若しくはそれから導出した値または自拠点に流通してき
i 0
た製品またはそのパッケージに付された無線 icタグの読み書き可能なメモリに書き込 まれている流通経緯情報 u 若しくはそれから導出した情報を ST、(uく n)? f(u)=u d}
i-l i i i mod n
: i;(u)=Uと定義される関数 ¾;(U)、セキュリティパラメ外ビット (ただし く 2k)長自然数空 間での写像として φ (u)= (u+n)mod2kと定義される関数を φ (u)、その逆関数を φ— 1とす るとき、 φ _1(f( φ (f(ST)》》を新たな流通経緯情報として導出するものであることを特徴 とする。
[0021] 本発明の第 7の流通経緯認証システムは、第 6の流通経緯認証システムにおいて、 前記 STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列 Tのハッシュ値 H(T)と、初期値または無線 ICタグの読み書き可能なメモリに書き込ま れている流通経緯情報のビット列 uとの排他的論理和により求められる値 H(T)〇uで あることを特徴とする。
[0022] 本発明の第 8の流通経緯認証システムは、第 6の流通経緯認証システムにおいて、 前記 STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを 連結したビット列 Tのハッシュ値 H(T)と、初期値または無線 ICタグの読み書き可能な メモリに書き込まれて 、る流通経緯情報のビット列 uとの排他的論理和により求められ る値 H(T )〇uであることを特徴とする。
[0023] 本発明の第 9の流通経緯認証システムは、第 7または第 8の流通経緯認証システム において、経緯順が潘目の拠点に備わるリーダライタは、(u〈n)?g(u)=u e} mod n: g(u)=uと定義される関数を g(u)とするとき、 φ
( φ ((g ( i i i 1 1 1 2 2
H(T〇〜T 〇φ— g ( (
§ (u )))))· ··》))))))) = uが成立することにより、前記製品
2 i-1 i-1 i-1 i-1 0
が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とす る。
[0024] 本発明の第 10の流通経緯認証システムは、第 4の流通経緯認証システムにおいて 、経緯順が潘目の拠点に備わるリーダライタの署名作成部は、自拠点の秘密鍵を d 、 RSAモジュラスを n、初期値 u若しくはそれから導出した値または自拠点に流通して
i 0
きた製品またはそのノ ッケージに付された無線 icタグの読み書き可能なメモリに書き 込まれている流通経緯情報 u 若しくはそれから導出した情報を ST、(uく n)? f(u)=u
i-1 i i dlmod n
: i;(u)=Uと定義される関数 ¾;(U)、セキュリティパラメ外ビット (ただし く 2k)長自然数空 間での写像として φ (u)= (u+n)mod2kと定義される関数を φ (u)、その逆関数を φ— 1とす るとき、 φ— ^ Φ Ο^Τ)))»を新たな流通経緯情報、流通経緯情報 u またはそのノ、ッシ ュ値 h(u )
i-1を新たな補助情報 V
iとしてそれぞれ導出するものであることを特徴とする。
[0025] 本発明の第 11の流通経緯認証システムは、第 10の流通経緯認証システムにおいて 、前記 STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット 列 Tのハッシュ値 H(T)と、初期値または無線 ICタグの読み書き可能なメモリに書き込 まれている流通経緯情報のビット列 uとの排他的論理和により求められる値 H(T)〇u であることを特徴とする。
[0026] 本発明の第 12の流通経緯認証システムは、第 10の流通経緯認証システムにおいて 、前記 STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージ を連結したビット列 Tのハッシュ値 H(T)と、初期値または無線 ICタグの読み書き可能 なメモリに書き込まれて 、る流通経緯情報のビット列 uとの排他的論理和により求めら れる値 H(T)〇uであることを特徴とする。
[0027] 本発明の第 13の流通経緯認証システムは、第 11または第 12の流通経緯認証システ ムにおいて、経緯順が潘目の拠点に備わるリーダライタは、(u〈n)?g(u)=u } mod n : g(u)=uと定義される関数を g(u)とするとき、 h(H(T Ο _1(§ (g (u )))))· ·· i i i i~l i~l i-1 i-1
))))))))) = v が成立することにより、前記製品カ^つ前の拠点力 正しく経緯してきた
i-1
ものと判断する署名検証部を有することを特徴とする。
[0028] 本発明の第 1の流通経緯認証方法は、製品またはそのノ ッケージに付された無線 I Cタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリ 一ダライタを前記製品の流通経路上の各拠点に設け、最初の拠点に備わるリーダラ イタが、自拠点に流通してきた製品またはそのパッケージに付された無線 ICタグと交 信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名 文を流通経緯情報として無線 ICタグの読み書き可能なメモリに書き込み、最初の拠 点以外の拠点に備わるリーダライタ力 自拠点に流通してきた製品またはそのノッケ ージに付された無線 ICタグと交信して、その無線 ICタグの読み書き可能なメモリに書 き込まれて 、る流通経緯情報またはそれから導出した情報に対して自拠点の秘密鍵 で署名した署名文を新たな流通経緯情報として導出し、無線 ICタグの読み書き可能 なメモリに書き込まれて 、た元の流通経緯情報と置き換えることを特徴とする。
[0029] 本発明の第 2の流通経緯認証方法は、第 1の流通経緯認証方法にお!、て、前記初 期値として、無線 ICタグの読み出し専用メモリに記憶されている当該無線 ICタグ固有 の識別番号を使用することを特徴とする。
[0030] 本発明の第 3の流通経緯認証方法は、第 1または第 2の流通経緯認証方法におい て、最初の拠点以外の少なくとも 1つの拠点に備わるリーダライタの署名検証部が、 自拠点に流通してきた製品またはそのパッケージに付された無線 ICタグの読み書き 可能なメモリに書き込まれて 、る流通経緯情報に対して、自拠点より上流の各拠点の 公開鍵を自拠点に近 、拠点の公開鍵から順番に使用して検証を繰り返して 、き、最 終的に前記初期値が得られるところまで遡って検証できることにより、前記製品が自 拠点まで正しく経緯してきたものと判断する段階を有することを特徴とする。
[0031] 本発明の第 4の流通経緯認証方法は、製品またはそのノ ッケージに付された無線 I Cタグとの間で情報を送受信する送受信部と署名を作成する署名作成部とを有するリ 一ダライタを前記製品の流通経路上の各拠点に設け、最初の拠点に備わるリーダラ イタが、自拠点に流通してきた製品またはそのパッケージに付された無線 ICタグと交 信して、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署名 文を流通経緯情報、前記初期値またはそれから導出した値を補助情報として無線 IC タグの読み書き可能なメモリに書き込み、最初の拠点以外の拠点に備わるリーダライ
タが、自拠点に流通してきた製品またはそのパッケージに付された無線 ICタグと交信 して、その無線 ICタグの読み書き可能なメモリに書き込まれて 、る流通経緯情報また はそれから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通 経緯情報、書き込まれて 、た元の流通経緯情報またはそれ力 導出した情報を補助 情報として導出し、無線 ICタグの読み書き可能なメモリに書き込まれて 、た元の流通 経緯情報と補助情報と置き換えることを特徴とする。
[0032] 本発明の第 5の流通経緯認証方法は、第 4の流通経緯認証方法にお 、て、最初の 拠点以外の少なくとも 1つの拠点に備わるリーダライタの署名検証部が、自拠点に流 通してきた製品またはそのノ ッケージに付された無線 ICタグの読み書き可能なメモリ に書き込まれている流通経緯情報に対して、自拠点より 1つ上流の拠点の公開鍵を 使用して検証し、その検証結果にぉ 、て前記無線 ICタグの読み書き可能なメモリに 書き込まれている補助情報と同じ補助情報が導出できることにより、前記製品が 1つ 前の拠点カゝら正しく経緯してきたものと判断する段階を有することを特徴とする。
[0033] 本発明の第 6の流通経緯認証方法は、第 1の流通経緯認証方法にお!、て、経緯順 が潘目の拠点に備わるリーダライタの署名作成部力 自拠点の秘密鍵を d、 RSAモ ジュラスを n、初期値 u若しくはそれから導出した値または自拠点に流通してきた製品
i 0
またはそのパッケージに付された無線 icタグの読み書き可能なメモリに書き込まれて いる流通経緯情報 u 若しくはそれから導出した情報を ST、 (u<n)? f(u)=u d}mod n : f(u)=uと定義される関数 ¾"(u)、セキュリティパラメ外ビット (ただし nく 2k)長自然数空 間での写像として φ (u)= (u+n)mod2kと定義される関数を φ (u)、その逆関数を φ— 1とす るとき、 φ Φ (f(ST)》》を新たな流通経緯情報として導出することを特徴とする。
[0034] 本発明の第 7の流通経緯認証方法は、第 6の流通経緯認証方法にお 、て、前記 ST は、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列 Tiのハツ シュ値 H(T)と、初期値または無線 ICタグの読み書き可能なメモリに書き込まれて 、る 流通経緯情報のビット列 uとの排他的論理和により求められる値 H(T)〇uであることを 特徴とする。
[0035] 本発明の第 8の流通経緯認証方法は、第 6の流通経緯認証方法にぉ 、て、前記 ST は、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結し
たビット列 T;のハッシュ値 Η(η)と、初期値または無線 ICタグの読み書き可能なメモリに 書き込まれている流通経緯情報のビット列 uとの排他的論理和により求められる値 Η( T )〇uであることを特徴とする。
[0036] 本発明の第 9の流通経緯認証方法は、第 7または第 8の流通経緯認証方法におい て、経緯順が潘目の拠点に備わるリーダライタの署名検証部力
mo (
H(T
が自拠点まで正しく経緯してきたものと判断する段階を有することを特徴とする。
[0037] 本発明の第 10の流通経緯認証方法は、第 4の流通経緯認証方法にぉ 、て、経緯 順が潘目の拠点に備わるリーダライタの署名作成部力 自拠点の秘密鍵を d、 RSA モジュラスを n、初期値 u若しくはそれから導出した値または自拠点に流通してきた製
i 0
品またはそのパッケージに付された無線 icタグの読み書き可能なメモリに書き込まれ ている流通経緯情報 u 若しくはそれから導出した情報を ST、 (uく n) ? f(u)=u d}mod
i-1 i i i n
: f(u)=uと定義される関数 ¾"(u)、セキュリティパラメ外ビット (ただし nく 2k)長自然数空 間での写像として φ (u)= (u+n)mod2kと定義される関数を φ (u)、その逆関数を φ— 1とす るとき、 φ— ^ Φ Ο^Τ)))»を新たな流通経緯情報、流通経緯情報 u またはそのノ、ッシ ュ値 h(U )
i-1を新たな補助情報 V
iとしてそれぞれ導出することを特徴とする。
[0038] 本発明の第 11の流通経緯認証方法は、第 10の流通経緯認証方法において、前記 STは、自拠点および自拠点より上流の全ての拠点の公開鍵を連結したビット列 Tの ノ、ッシュ値 H(T)と、初期値または無線 ICタグの読み書き可能なメモリに書き込まれて いる流通経緯情報のビット列 uとの排他的論理和により求められる値 H(T)〇uであるこ とを特徴とする。
[0039] 本発明の第 12の流通経緯認証方法は、第 10の流通経緯認証方法にお 、て、前記 STは、自拠点および自拠点より上流の全ての拠点の公開鍵およびメッセージを連結 したビット列 Tのハッシュ値 H(T)と、初期値または無線 ICタグの読み書き可能なメモリ に書き込まれている流通経緯情報のビット列 uとの排他的論理和により求められる値 H(T)〇uであることを特徴とする。
[0040] 本発明の第 13の流通経緯認証方法は、第 11または第 12の流通経緯認証方法にお いて、経緯順が潘目の拠点に備わるリーダライタの署名検証部力
mod n : g(u)=uと定義される関数を g(u)とするとき、 h(H(T Ο _1(§ (g (u )))))· ·· i i i i~l i~l i~l i~l
))))))))) = v が成立することにより、前記製品カ^つ前の拠点力 正しく経緯してきた
i-1
ものと判断する署名検証部を有することを特徴とする。
[0041] 本発明の第 1のリーダライタは、製品またはそのパッケージに付された無線 ICタグと の間で情報を送受信する送受信部と署名を作成する署名作成部とを有し、前記製品 の流通経路上の拠点に設けられるリーダライタであって、自拠点に流通してきた製品 またはそのパッケージに付された無線 ICタグと交信して、その無線 ICタグの読み書き 可能なメモリに書き込まれて 、る流通経緯情報またはそれから導出した情報に対して 自拠点の秘密鍵で署名した署名文を新たな流通経緯情報として導出し、無線 ICタグ の読み書き可能なメモリに書き込まれて 、た元の流通経緯情報と置き換えるものであ ることを特徴とする。
[0042] 本発明の第 2のリーダライタは、第 1のリーダライタにおいて、自拠点に流通してきた 製品またはそのノ ッケージに付された無線 ICタグの読み書き可能なメモリに書き込ま れて 、る流通経緯情報に対して、自拠点より上流の各拠点の公開鍵を自拠点に近 Vヽ拠点の公開鍵から順番に使用して検証を繰り返して!/ヽき、最終的に予め定められ た初期値または前記無線 ICタグの読み出し専用メモリに記憶されている当該無線 IC タグ固有の識別番号が得られるところまで遡って検証できることにより、前記製品が自 拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
[0043] 本発明の第 3のリーダライタは、製品またはそのパッケージに付された無線 ICタグと の間で情報を送受信する送受信部と署名を作成する署名作成部とを有し、前記製品 の流通経路上の拠点に設けられるリーダライタであって、自拠点に流通してきた製品 またはそのパッケージに付された無線 ICタグと交信して、その無線 ICタグの読み書き 可能なメモリに書き込まれて 、る流通経緯情報またはそれから導出した情報に対して 自拠点の秘密鍵で署名した署名文を新たな流通経緯情報、書き込まれて!/、た元の 流通経緯情報またはそれ力 導出した情報を補助情報として導出し、無線 ICタグの 読み書き可能なメモリに書き込まれて!/、た元の流通経緯情報と補助情報と置き換え
るものであることを特徴とする。
[0044] 本発明の第 4のリーダライタは、第 3のリーダライタにおいて、自拠点に流通してきた 製品またはそのノ ッケージに付された無線 ICタグの読み書き可能なメモリに書き込ま れている流通経緯情報に対して、自拠点より 1つ上流の拠点の公開鍵を使用して検 証し、その検証結果にお!、て前記無線 ICタグの読み書き可能なメモリに書き込まれ ている補助情報と同じ補助情報が導出できることにより、前記製品カ^つ前の拠点か ら正しく経緯してきたものと判断する署名検証部を有することを特徴とする。
[0045] 本発明の第 5のリーダライタは、第 1のリーダライタにおいて、前記署名作成部は、自 拠点の秘密鍵を d、 RSAモジュラスを n、初期値 u若しくはそれから導出した値または
i i 0
自拠点に流通してきた製品またはそのパッケージに付された無線 ICタグの読み書き 可能なメモリに書き込まれて 、る流通経緯情報 u 若しくはそれ力 導出した情報を S
i-l
Tゝ(uく n )? f(u)=u d}mod n
: f(u)=uと定義される関数 ¾"(u)、セキュリティパラメ外ビット (ただし nく 2k)長自然数空 間での写像として φ (u)= (u+n)mod2kと定義される関数を φ (u)、その逆関数を φ— 1とす るとき、 φ _1(f( φ (f(ST)》》を新たな流通経緯情報として導出するものであることを特徴 とする。
[0046] 本発明の第 6のリーダライタは、第 5のリーダライタにおいて、前記 STは、自拠点およ び自拠点より上流の全ての拠点の公開鍵を連結したビット列 Tのハッシュ値 H(T)と、 初期値または無線 ICタグの読み書き可能なメモリに書き込まれて 、る流通経緯情報 のビット列 uとの排他的論理和により求められる値 H(T)〇uであることを特徴とする。
[0047] 本発明の第 7のリーダライタは、第 5のリーダライタにおいて、前記 STは、自拠点およ び自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列 Tのハ ッシュ値 H(T)と、初期値または無線 ICタグの読み書き可能なメモリに書き込まれてい る流通経緯情報のビット列 uとの排他的論理和により求められる値 H(T)〇uであること を特徴とする。
[0048] 本発明の第 8のリーダライタは、第 6または第 7のリーダライタにおいて、 (u<n)?g(u)= u {el
mod n: g(u)=uと定義される関数を g(u)とするとき、 φ
( φ ((g ( i i i 1 1 1 2 2
H(T〇〜T 〇φ— g ( (
§ (u )))))· ··》))))))) = uが成立することにより、前記製品
2 i-1 i-1 i-1 i-1 0
が自拠点まで正しく経緯してきたものと判断する署名検証部を有することを特徴とす る。
[0049] 本発明の第 9のリーダライタは、第 3のリーダライタにおいて、前記署名作成部は、自 拠点の秘密鍵を d、 RSAモジュラスを n、初期値 u若しくはそれから導出した値または
i i 0
自拠点に流通してきた製品またはそのパッケージに付された無線 ICタグの読み書き 可能なメモリに書き込まれて 、る流通経緯情報 u 若しくはそれ力 導出した情報を S
i-1
Tゝ (uく n ) ? f(u)=u d}mod n
: f(u)=uと定義される関数 ¾"(u)、セキュリティパラメ外ビット (ただし nく 2k)長自然数空 間での写像として φ (u)= (u+n)mod2kと定義される関数を φ (u)、その逆関数を φ— 1とす るとき、 φ— ^ Φ Ο^Τ)))»を新たな流通経緯情報、流通経緯情報 u またはそのノ、ッシ
i i i-1
ュ値 h(u )
i-1を新たな補助情報 v
iとしてそれぞれ導出するものであることを特徴とする。
[0050] 本発明の第 10のリーダライタは、第 9のリーダライタにおいて、前記 STは、自拠点お よび自拠点より上流の全ての拠点の公開鍵を連結したビット列 Tのハッシュ値 H(T)と 、初期値または無線 ICタグの読み書き可能なメモリに書き込まれて 、る流通経緯情 報のビット列 uとの排他的論理和により求められる値 H(T)〇uであることを特徴とする。
[0051] 本発明の第 11のリーダライタは、第 9のリーダライタにおいて、前記 STは、自拠点お よび自拠点より上流の全ての拠点の公開鍵およびメッセージを連結したビット列 Tの ノ、ッシュ値 H(T)と、初期値または無線 ICタグの読み書き可能なメモリに書き込まれて いる流通経緯情報のビット列 uとの排他的論理和により求められる値 H(T)〇uであるこ とを特徴とする。
[0052] 本発明の第 12のリーダライタは、第 10または第 11のリーダライタにおいて、 (u<n)?g( u)=u {e }
mod n : g(u)=uと定義される関数を g(u)とするとき、 h(H(T Ο _1(§ (g (u )))))· ·· i i i i~l i~l i-1 i-1
))))))))) = v が成立することにより、前記製品カ^つ前の拠点力 正しく経緯してきた
i-1
ものと判断する署名検証部を有することを特徴とする。
[0053] 本発明の第 13のリーダライタは、製品またはそのパッケージに付された無線 ICタグ との間で情報を送受信する送受信部と署名を検証する署名検証部とを有し、前記製
品の流通経路上の拠点に設けられるリーダライタであって、前記署名検証部は、自 拠点に流通してきた製品またはそのパッケージに付された無線 ICタグの読み書き可 能なメモリに書き込まれて 、る流通経緯情報に対して、自拠点より上流の各拠点の公 開鍵を自拠点に近 、拠点の公開鍵から順番に使用して検証を繰り返して 、き、最終 的に予め定められた値または前記無線 ICタグの読み出し専用メモリに記憶されてい る当該無線 ICタグ固有の識別番号である初期値が得られるところまで遡って検証で きることにより、前記製品が自拠点まで正しく経緯してきたものと判断するものであるこ とを特徴とする。
[0054] 本発明の第 14のリーダライタは、第 13のリーダライタにおいて、潘目の拠点の秘密 鍵を d、 RSAモジュラスを n、前記初期値を u、 i番目の拠点に流通してきた製品または i i 0
そのパッケージに付された無線 ICタグの読み書き可能なメモリに書き込まれて 、る流 通経緯情報を u 、潘目の拠点およびそれより上流の全ての拠点の公開鍵を連結し
i-1
たビット列 Tのハッシュ値 Η(Τ)と流通経緯情報との排他的論理和により求められる値 を H(T)〇u、 mod n: g(u)=uと定義される関数を g(u)、セキュリティパ
ラメタ kビット (ただし nく 2
k)長自然数空間での写像として φ (u)= (
U+
n)mod2
kと定義され る関数を Φ (u)、その逆関数を φ—
1とするとき、前記署名検証部は、 φ
_1(g ( φ (g (H(T 〇Φ— が成立することに
より、前記製品が自拠点まで正しく経緯してきたものと判断するものであることを特徴 とする。
[0055] 本発明の第 15のリーダライタは、第 13のリーダライタにおいて、潘目の拠点の秘密 鍵を d、 RSAモジュラスを n、前記初期値を u、 i番目の拠点に流通してきた製品または i i 0
そのパッケージに付された無線 ICタグの読み書き可能なメモリに書き込まれて 、る流 通経緯情報を u 、潘目の拠点およびそれより上流の全ての拠点の公開鍵およびメ
i-1
ッセージを連結したビット列 Tのハッシュ値 Η(Τ)と流通経緯情報との排他的論理和に より求められる値を H(T)〇u、 mod n: g(u)=uと定義される関数を g(u
)、セキュリティパラメタ kビット (ただし く 2k)長自然数空間での写像として φ (u)= (u+n)m od2kと定義される関数を φ (ιι)、その逆関数を φ—1とするとき、前記署名検証部は、 φ—1 (Ε ( Φ (Ε (Η(Τ 〇φ— g fe OiCT O—T Ο φ (g (u )))))· ·· ))))))))) = uが
成立することにより、前記製品が自拠点まで正しく経緯してきたものと判断するもので あることを特徴とする。
[0056] 本発明の第 16のリーダライタは、製品またはそのパッケージに付された無線 ICタグ との間で情報を送受信する送受信部と署名を検証する署名検証部とを有し、前記製 品の流通経路上の拠点に設けられるリーダライタであって、前記署名検証部は、自 拠点に流通してきた製品またはそのパッケージに付された無線 ICタグの読み書き可 能なメモリに書き込まれて 、る流通経緯情報に対して、自拠点より 1つ上流の拠点の 公開鍵を使用して検証し、その検証結果にぉ 、て前記無線 ICタグの読み書き可能な メモリに書き込まれている補助情報と同じ補助情報が導出できることにより、前記製品 力 S1つ前の拠点から正しく経緯してきたものと判断するものであることを特徴とする。
[0057] 本発明の第 17のリーダライタは、第 16のリーダライタにおいて、潘目の拠点の秘密 鍵を d、 RSAモジュラスを n、前記初期値を u、 i番目の拠点に流通してきた製品または i i 0
そのパッケージに付された無線 ICタグの読み書き可能なメモリに書き込まれて 、る流 通経緯情報および補助情報を u および V 、潘目の拠点およびそれより上流の全て
i-1 i-1
の拠点の公開鍵を連結したビット列 Tのハッシュ値 Η(Τ )と流通経緯情報との排他的 論理和により求められる値を H(T)〇u、 mod n: g(u)=uと定義される
関数を gi(u)、セキュリティパラメ外ビット (ただし く 2
k)長自然数空間での写像として φ ( u)= (u+n)mod2
kと定義される関数を φ (u)、その逆関数を φ ~ hをハッシュ関数とする とき、前記署名検証部は、 h(H( が成立す
ることにより、前記製品カ^つ前の拠点力 正しく経緯してきたものと判断するものであ ることを特徴とする。
[0058] 本発明の第 18のリーダライタは、第 16のリーダライタにおいて、潘目の拠点の秘密 鍵を d、 RSAモジュラスを n、前記初期値を u、 i番目の拠点に流通してきた製品または i i 0
そのパッケージに付された無線 ICタグの読み書き可能なメモリに書き込まれて 、る流 通経緯情報および補助情報を u および V 、潘目の拠点およびそれより上流の全て
i-1 i-1
の拠点の公開鍵およびメッセージを連結したビット列 Tのハッシュ値 Η(Τ)と流通経緯 情報との排他的論理和により求められる値を H(T)〇u、 mod n: g(u
)=uと定義される関数を gi(u)、セキュリティパラメ外ビット (ただし n;く 2k)長自然数空間で
の写像として φ (u)= hをハツ シュ関数とするとき、 )))))))) =
v が成立することにより、前記製品が 1つ前の拠点から正しく経緯してきたものと判 i-1
断するものであることを特徴とする。
[0059] 本発明の無線 ICタグは、製品の流通経緯を管理するために製品またはそのパッケ ージに付加される無線 ICタグにおいて、製品の流通経路上の各拠点に備わるリーダ ライタとの間で情報を送受信する送受信部と、自無線 ICタグ固有の識別番号を記憶 する読み出し専用メモリと、流通経緯情報を記憶する読み書き可能なメモリとを備え、 最初の拠点に流通した際にはその拠点に備わるリーダライタによって、前記識別番 号またはそれカゝら導出した値に対してその拠点の秘密鍵で署名された署名文が前 記流通経緯情報として前記読み書き可能なメモリに書き込まれ、最初の拠点以外の 拠点に流通した際にはその拠点に備えるリーダライタによって、前記読み書き可能な メモリに書き込まれている流通経緯情報またはそれから導出した情報に対してその拠 点の秘密鍵で署名された署名文が新たな流通経緯情報として導出されて、前記読 み書き可能なメモリに書き込まれて 、た元の流通経緯情報が置き換えられるものであ ることを特徴とする。
[0060] 『作用』
本発明にあっては、製品またはそのパッケージに付加された無線 ICタグがその製 品に付随して流通し、流通経緯上の各拠点に設けられたリーダライタによって、無線 I Cタグの読み書き可能なメモリ中の流通経緯情報が書き換えられていく。
[0061] 具体的には、最初の拠点に備わるリーダライタにより、初期値 uまたはそれからハツ
0
シュ関数などにより一意に導出した値に対してその拠点の秘密鍵で署名された署名 文が流通経緯情報 uとして無線 ICタグの読み書き可能なメモリに書き込まれ、 2番目
1
の拠点に備わるリーダライタにより、読み書き可能なメモリに書き込まれている流通経 緯情報 uまたはそれからハッシュ関数などにより一意に導出した情報に対してその拠
1
点の秘密鍵で署名された署名文が新たな流通経緯情報 Uとして導出されて元の流
2
通経緯情報 uと置き換えられ、 3番目の拠点に備わるリーダライタにより、読み書き可
1
能なメモリに書き込まれて 、る流通経緯情報 Uまたはそれからハッシュ関数などにより
一意に導出した情報に対してその拠点の秘密鍵で署名された署名文が新たな流通 経緯情報 Uとして導出されて元の流通経緯情報 Uと置き換えられる。
3 2
[0062] 或る拠点に流通してきた製品が正しく経緯してきたかどうかは、その製品またはその ノ ッケージに付された無線 ICタグの読み書き可能なメモリに書き込まれて 、る流通経 緯情報に対して、その拠点より上流の各拠点の公開鍵を自拠点に近い拠点の公開 鍵から順番に使用して検証を繰り返していき、最終的に初期値 uが得られるところま
0
で遡って検証できるかどうかによつて判断できる。
[0063] 例えば、 3番目の拠点に流通してきた製品は、 1番目の拠点、 2番目の拠点をその順 に経緯してきたはずである。従って、 3番目の拠点に届いた製品に付加された無線 IC タグの読み書き可能なメモリに記憶されている流通経緯情報 uを、 2番目の拠点の公
2
開鍵で検証し、その検証結果を 1番目の拠点の公開鍵で検証すると、その検証結果 は初期値に一致する。例えば、若し 2番目の拠点において、 1番目の拠点以外力 流 通した製品に付加された無線 ICタグの読み書き可能なメモリに記憶されて 、る流通 経緯情報 u' (≠u )〖こ対して、 2番目の拠点の秘密鍵で署名した署名文を新たな流通
1 1
経緯情報 uとして導出し、元の流通経緯情報 u と置き換えて、 3番目の拠点に流通さ
2 1
せたとすると、流通経緯情報 uを 2番目の拠点の公開鍵で検証し、その検証結果を 1
2
番目の拠点の公開鍵で検証すると、その検証結果は初期値 uに一致しない。
0
[0064] こうして、工場生産品や食品などの一般消費者向けの製品または製品パッケージ の流通過程において、ホストコンピュータと通信できないオフライン環境でも、流通経 緯を確認することができ、かつ流通経緯中の各拠点のリーダライタや悪意のある第 3 者における流通経緯情報の偽造および改竄も検知可能となる。また、初期値 uとして
0
、 0などの数値を使用すると、正規に流通する製品 Aに付加された無線 ICタグの読み 書き可能なメモリに記憶されて ヽる流通経緯情報を読み出して、別の製品 Bに付加さ れた無線 ICタグの読み書き可能なメモリにコピーすると 、つた不正を防止できな 、が 、初期値 uとして、無線 ICタグの読み出し専用メモリに記憶された当該無線 ICタグ固
0
有の識別子を用いることにより、そのような不正な行為を阻止でき、流通経緯情報の 偽造および改竄をより一層困難にすることが可能となる。
[0065] また、或る拠点に流通してきた製品が正しく経緯してきた力どうかを検証するために
、その製品に付された無線 ICタグの読み書き可能なメモリに書き込まれて 、る流通経 緯情報に対して、その拠点より上流の各拠点の公開鍵を全て使って検証を繰り返す 方法は信頼性は高いが、計算量が多い。これに対して、最初の拠点に備わるリーダ ライタが、初期値またはそれから導出した値に対して自拠点の秘密鍵で署名した署 名文を流通経緯情報、前記初期値またはそれから導出した値を補助情報として無線
ICタグの読み書き可能なメモリに書き込み、最初の拠点以外の拠点に備わるリーダラ イタが、無線 ICタグの読み書き可能なメモリに書き込まれて 、る流通経緯情報または それから導出した情報に対して自拠点の秘密鍵で署名した署名文を新たな流通経 緯情報、書き込まれて!/、た元の流通経緯情報またはそれから導出した情報を補助情 報として導出し、無線 ICタグの読み書き可能なメモリに書き込まれて 、た元の流通経 緯情報と補助情報と置き換えるようにする方法によれば、或る拠点に流通してきた製 品が正しく経緯してきた力どうかの検証を簡易化できる。つまり、その拠点に流通して きた製品に付された無線 ICタグの読み書き可能なメモリに書き込まれて 、る流通経 緯情報に対して、その拠点より 1つ上流の拠点の公開鍵を使用して検証し、その検証 結果において無線 ICタグの読み書き可能なメモリに書き込まれている補助情報と同 じ補助情報が導出できるかどうかによつて、当該製品カ^つ前の拠点から正しく経緯 してきたかどうかを判断できる。ただし、この場合は、 1つ前の拠点が信頼のおける拠 点であることが必要である。
[0066] 本発明における流通経緯情報を生成するための署名方式には、非特許文献 2に記 載される署名方式など、公知の署名方式を利用可能である。ただし、非特許文献 2に 記載される署名方式は、署名を重ねるたびに 1ビットずつ署名データ長が大きくなる。 これに対して、後述する第 2の実施の形態において提案する新規な署名方式によれ ば、流通経緯情報のサイズを一定にすることができる。
発明の効果
[0067] 本発明によれば、工場生産品や食品などの一般消費者向けの製品または製品パ ッケージの流通過程にぉ 、て、ホストコンピュータと通信できな 、オフライン環境でも 、流通経緯を確認することができる。これによつて、運用コストを軽減できる。その理由 は、製品に付する書き込み型無線 ICタグのローカルな記憶領域に流通の経緯を管
理する情報を持ち、それを必要に応じて参照することで流通経緯を確認することがで さるカゝらである。
[0068] また本発明によれば、流通経緯中の各段階のリーダライタや悪意のある第 3者にお ける流通経緯情報の偽造および改竄を検知できる。その理由は、流通経緯を証明す る署名力 流通経緯中の拠点全ての公開鍵を用いて検証することが可能だ力もであ る。
図面の簡単な説明
[0069] [図 1]本発明の第 1の実施の形態の構成を示すブロック図である。
[図 2]本発明の第 1の実施の形態における流通経緯情報の説明図である。
[図 3]本発明の第 1の実施の形態において無線 ICタグが付された製品カ^ーダライタ を経由する際の動作を示すシーケンス図である。
[図 4]本発明の第 1の実施の形態における流通経緯情報に対する署名の作成と検証 に使用する関数を示す図である。
[図 5]本発明の第 1の実施の形態にカゝかるリーダライタの署名作成部の処理例を示す フローチャートである。
[図 6]本発明の第 1の実施の形態にカゝかるリーダライタの署名検証部の処理例を示す フローチャートである。
[図 7]本発明の第 1の実施の形態に力かるリーダライタの署名作成部の別の処理例を 示すフローチャートである。
[図 8]本発明の第 1の実施の形態に力かるリーダライタの署名検証部の別の処理例を 示すフローチャートである。
[図 9]本発明の第 2の実施の形態の構成を示すブロック図である。
[図 10]本発明の第 2の実施の形態における流通経緯情報に対する署名の作成と検 証に使用する関数を示す図である。
[図 11]本発明の第 2の実施の形態にカゝかるリーダライタの署名作成部の処理例を示 すフローチャートである。
[図 12]本発明の第 2の実施の形態にカゝかるリーダライタの署名検証部の処理例を示 すフローチャートである。
[図 13]本発明の第 2の実施の形態に力かるリーダライタの署名作成部の別の処理例 を示すフローチャートである。
[図 14]本発明の第 2の実施の形態に力かるリーダライタの署名検証部の別の処理例 を示すフローチャートである。
[図 15]本発明の第 3の実施の形態の構成を示すブロック図である。
[図 16]本発明の第 3の実施の形態において無線 ICタグが付された製品カ^ーダライタ を経由する際の動作を示すシーケンス図である。
[図 17]本発明の第 3の実施の形態にカゝかるリーダライタの署名作成部の処理例を示 すフローチャートである。
[図 18]本発明の第 3の実施の形態にカゝかるリーダライタの署名検証部の処理例を示 すフローチャートである。
[図 19]本発明の第 3の実施の形態に力かるリーダライタの署名作成部の別の処理例 を示すフローチャートである。
[図 20]本発明の第 3の実施の形態に力かるリーダライタの署名検証部の別の処理例 を示すフローチャートである。
[図 21]本発明の第 4の実施の形態の構成を示すブロック図である。
[図 22]本発明の第 4の実施の形態にカゝかるリーダライタの署名作成部の処理例を示 すフローチャートである。
[図 23]本発明の第 4の実施の形態にカゝかるリーダライタの署名検証部の処理例を示 すフローチャートである。
[図 24]本発明の第 4の実施の形態に力かるリーダライタの署名作成部の別の処理例 を示すフローチャートである。
[図 25]本発明の第 4の実施の形態に力かるリーダライタの署名検証部の別の処理例 を示すフローチャートである。 符号の説明
1…無線 ICタグ
2 ι〜2 n…リーダライタ
3· ··公開鍵発行者
11·••ROM部
12- ••RAM^
13· ··送受信部
21· '鍵管理部
22· ' '·署名作成部
23· ' '·署名検証部
24· ' ··送受信部
25· ' ··外部情報入力部
発明を実施するための最良の形態
[0071] 『第 1の実施の形態』
次に本発明の第 1の実施の形態について、図面を参照して詳細に説明する。
[0072] 図 1を参照すると、本発明の第 1の実施の形態にカゝかる流通経緯認証システムは、 流通する製品に付され、製品とともに流通経路 (配送経路)をたどる無線 ICタグ (RFID タグ) 1と、流通経路中の各拠点に配置されるリーダライタ 2— l〜2—nとから構成され る。ここで、無線 ICタグ 1が付された製品は、リーダライタ 2—1の配置された 1番目の拠 点、リーダライタ 2— 2の配置された 2番目の拠点、 · ··、リーダライタ 2—nの配置された n 番目の拠点の順で経緯 (流通)して 、くものとする。
[0073] 無線 ICタグ 1は、 ROM部 11、 RAM部 12および送受信部 13を備えている。
[0074] ROM部 11は、読み取り専用のメモリ領域であり、当該無線 ICタグ 1を他の無線 ICタ グと区別するための固有の IDを記憶する。
[0075] RAM部 12は、読み取りと書き込みが可能であるメモリ領域であり、書き込み可能なメ モリサイズは有限である。本書き込み可能なメモリ領域には、当該メモリサイズに収ま るサイズ sで表現可能な流通経緯情報 uが記憶される。添え字が iである流通経緯情 報 uは、 1番目カも潘目までの拠点を経緯したことを表す。流通経緯情報の初期値は 、どこも経緯していないことを表す uである。 uには、所定値たとえば 0、または、無線 I
0 0
Cタグ 1の ROM部 11に記憶された当該無線 ICタグ固有の ID値が設定される。
[0076] 図 2を参照すると、流通経緯情報 uiは、リーダライタ 2— 1、 · ··、 2— iの秘密鍵 sk、…
1
、 skを用いて順次計算された署名力も構成される。つまり、最初のリーダライタ 2—1が
初期値 uに対して秘密鍵 skを用いて計算した署名に、次の拠点のリーダライタ 2— 2
0 1
が秘密鍵 skを用いて署名し、更にその署名に対して次の拠点のリーダライタが署名
2
するという手順を潘目の拠点まで繰り返されたものが流通経緯情報 である。
[0077] 送受信部 13は、各拠点においてその拠点に配置されたリーダライタ 2— 1〜2— nと の間で無線伝送により情報の授受を行うべく増幅、フィルタリング、変調等の処理を 行う。具体的には、リーダライタ力 ROM部 11の IDまたは RAM部 12の流通経緯情報 への読み取り要求時に、当該情報を読み取ってリーダライタへ送信し、また、リーダラ イタから RAM部 12への書き込み要求時に、書き込む情報を受信して RAM部 11へ書き 込む。
[0078] リーダラィタ2— 1〜2—11は全て同じ構成でぁり、図 1にはリーダライタ 2—1のブロック にのみ内部構造を図示してある。
[0079] 図 1を参照すると、各リーダライタは、 RSA公開鍵暗号アルゴリズムにおける公開鍵と 秘密鍵のペアを管理する鍵管理部 21と、鍵管理部 21に格納された自リーダライタの 秘密鍵に基づ ヽて署名を作成する署名作成部 22と、鍵管理部 21に格納された各拠 点のリーダライタの公開鍵に基づいて署名を検証する署名検証部 23と、無線 ICタグ 1 との間で情報を送受信する送受信部 24力 構成される。また、リーダライタに製品に 付加する情報(時間、温度などの属性情報など)を入力し、またリーダライタ上の情報 (経由時にぉ 、ての経緯認証の成否などを通知するための情報など)を出力する外 部情報入力部 25を備えて 、てもよ 、。
[0080] 鍵管理部 21は、リーダライタ 2— l〜2—nの公開鍵及び自リーダライタの秘密鍵を保 持する。このリーダライタ 2— l〜2—nの公開鍵及び自リーダライタの秘密鍵は、シス テム外の信頼のおける公開鍵発行者 3から発行されたものでもよい。ここでは、鍵管 理部 21が自ら公開鍵と秘密鍵の鍵ペアを生成する手続きに関して説明する。公開鍵 発行者 3で鍵ペアを生成するときも同様の手続きを踏むものとする。本手続きは、個 々のリーダライタ 2— iごとに、 RSA公開鍵暗号アルゴリズムを基本とする方法で、セキ ユリティを最大化するように鍵生成を行う。素数 p、 qを、積 n=p q(RSAモジュラス)のビ ット長がセキュリティパラメタ kに等しぐかつ p、 qのビット長が同程度になるように選ぶ 。さらに自然数 eで nよりも大きぐかつ ((p-l)(q- 1》と互いに素であるものをランダムに
選ぶ。このように決定するパラメタを用い、リーダライタ 2—iの公開鍵 pk;、秘密鍵 を それぞれ e)、 d=e— 1 mod
((p- 1X^-1))とする。このように生成される各リーダライタの公開鍵は、システム外の手 段で公開され、各リーダライタは公開されて 、る公開鍵をシステム外の手段力 入手 可能とする。
[0081] 署名作成部 22は、無線 ICタグ 1とリーダライタの送受信部 13、 24を介して得られた、 無線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u に対して、鍵管理部 21で
i-1
管理している自リーダライタの秘密鍵 dと RSAモジュラス nとを用いて、署名作成処理 を行い、作成した署名を新たな流通経緯情報 uとして、無線 ICタグ 1とリーダライタの 送受信部 13、 24を介して無線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u
i-1 と置き換える。
[0082] 署名検証部 23は、無線 ICタグ 1とリーダライタの送受信部 13、 24を介して得られた、 無線 ICタグ 1の RAM部 12に保持している流通経緯情報 u に対して、各リーダライタの
i-1
公開鍵 pk ,' pkを用いて、自リーダライタの拠点に到る経緯を逆順に検証してい
—1 1
き、最終的に Uが得られるところまでさかのぼって検証できれば、 自リーダライタの拠
0
点に到るまでの全てのリーダライタを正しく経緯してきたものと判断する。
[0083] 送受信部 24は、無線 ICタグ 1間で無線伝送により情報の授受を行うべく増幅、フィ ルタリング、変調等の処理を行う。具体的には、リーダライタ力も ROM部 11の IDまたは RAM部 12の流通経緯情報への読み取り要求時に、リーダライタへ送信されてくる当 該情報を受信する。また、リーダライタから RAM部 12への書き込み要求時に RAM部 1 2書き込む情報を送信する。
[0084] 次に、無線 ICタグ 1が付された製品カ^ーダライタ 2— iを経由する際の動作を図 3の シーケンス図を参照して説明する。
[0085] まず、リーダライタ 2-iは、無線 ICタグ 1が付された製品が経由されてきた時、送受 信部 24により無線 ICタグ 1に対して、無線 ICタグ 1の RAM部 12に格納された流通経緯 情報 u および流通経緯情報の初期値 uとして無線 ICタグ固有の IDが使用される場 i-1 0
合は ROM部 11の IDを要求する(S101)。
[0086] 無線 ICタグ 1は、この要求に応じて、 RAM部 12に格納されている流通経緯情報 ui-1
および要求された場合には ROM部 11に格納されている IDを、送受信部 13を介してリ 一ダライタ 2— iに送信する(S201)。
[0087] 流通経緯情報 u を受信した (S102)リーダライタ 2 -iは、署名検証部 23により、鍵管 i-1
理部 21に保持されているリーダライタ 2—1〜2— (i 1)までの公開鍵 pk
1〜pk を用い i-1 て、流通経緯情報 U に対して順に署名を検証していき、流通経緯情報の初期値 U i-1 0 が得られるかどうかを検証する(S103)。
[0088] ここで、 uが得られれば、リーダライタ 2— l
0 〜2— (i— 1)まで正しく経緯してきたものと 判断され、 uが得られない場合、流通経緯中で何か不正があったものと検出される(S
0
106)。
[0089] 検証に成功した場合、リーダライタ 2 -iは、自リーダライタが配置された拠点を正しく 経緯したことを証明するために、正しく経緯してきたことが署名検証部 23により認証で きた流通経緯情報 u に対して、署名作成部 22により、鍵管理部 21に保持されている i-1
自リーダライタの秘密鍵 3 を用いて署名を生成し (S104)、生成された署名値 uを新し い流通経緯情報として過去の u に上書きするために、無線 ICタグ 1に送受信部 24に i-1
より送信する(S105)。無線 ICタグ 1は、送受信部 13により uを受信したら (S202)、受信 した uで RAM部 12に格納されている u を上書きする(S203)。
i i-1
[0090] 以上と同様な動作は、無線 ICタグ 1が付加された製品が次の拠点に配送された場 合にも実施される。リーダライタ 2— nが配置された拠点まで正しく経緯した製品の無 線 ICタグ 1の流通経緯情報 uに対して、リーダラィタ2— 1〜2—11の公開鍵 1^〜pkを 用いて、順に署名を検証していけば、流通経緯情報の初期値 uが得られることになる
0
。これにより、全ての拠点のリーダライタを正しく経緯してきたことを知ることができる。
[0091] 次に署名作成部 22をより詳細に説明する。
[0092] 署名作成部 22によるステップ S104における署名作成処理は、リーダライタ 2— 1〜2 —(ト 1)の公開鍵 pk , · · · , pk が全て異なること、かつ eが、 nよりも大きくかつ ((p - l)(q -
1 i-1 i i i i
1》と互いに素であることを確認し、 T = pkj卜 ' ||pkiを計算した後、 u=a||s(aは kビット長) としたときに (aく n)?E (u)=
((a d) mod n , s||0): ((a-n) d}
mod n , s|| l)と定義される図 4の関数 Ei(u)を用いて、無線 ICタグ 1の有する流通経緯情
報 u に対して、 E (H(T)Ou )を署名として導出する。ここで、関数 E(u)の定義に使 i-1 i i i-1 i
用する「式 1?式 2 :式 3」なる表記は、式 1の条件が真のとき式 2を評価し、式 1の条件が 偽のとき式 3を評価することを意味し、また、「||」はビット列同士の連結、「H」は nのビッ ト数と同じビット数のビット列を出力するハッシュ関数、「〇」はビット毎の排他的論理 和、 は右の被演算子を指数として左の被演算子をべき乗した値を算出する算術 演算子を表し、以下においても同様の意味で用いる。この署名作成処理の詳しい手 順を図 5のステップ S314〜S319に示す。以下、前後の処理と共に署名作成処理を図 5 を参照して詳しく説明する。
[0093] 図 5を参照すると、リーダライタ 2— iは、 RFIDの RAM部 12に格納されている流通経路 情報 u を読み取ると (S311)、所有している鍵の正当性を検証した後 (S312)、u が正 i-1 i-1 当であるかを署名検証部 23で検証する (S313)。その後、署名作成部 22により、現拠 点の公開鍵及び上流に位置する拠点の公開鍵から T = pk I卜 '||pkを計算した後 (S31 4)、 E (H(T)Ou )をリーダライタ 2— iでの流通経緯情報 uとして導出する (S315〜S31 i i i-1 i
9)。具体的には、まず v=H(T)〇u を計算し (S315)、 vのはじめのセキュリティパラメタ k
i i-1
ビットを a、残りを sとし (S316)、 aが RSAモジュラス nよりも小さいときは、 aに対して秘密鍵 dで RSA方式に準じて署名値を計算する (S317,S318)。このとき sに制御情報として 1ビ ットの情報 0を付けカロえ、署名値とともに とする。また、 aが RSAモジュラス nよりも大き いときは、モジュラスより大きい数に対しては RSA署名を計算できないので、 aを nだけ 減算したものに対して署名値を計算する (S319)。このとき sに制御情報として 1ビットの 情報 1を付けカ卩え、署名値とともに とする。このように計算した u;を RFIDの RAM部に 格納されていた u と置換する (S319)。
i-1
[0094] このように、リーダライタ 2—iは、基本的には、無線 IDタグ 1に既に書き込まれている 流通経路情報 u に対して、自リーダライタの秘密鍵 dで署名を付ける力 RSAの場合
i-1 i
、自リーダライタの RSAモジュラス nより大きい数に対しては署名を計算できないので、 若し u 力 ¾より大きい場合はモジュラス nだけ減算して力も署名を付ける。このとき、後 i-1 i i
の検証を可能にするために、後ろに lbitの制御情報 (モジュラスを超えていた場合は 1 、そうでない場合は 0)を付けておく。また署名を計算する際には、セキュリティ強度を 考慮し、経緯上の各拠点の公開鍵を署名対象として入力することによって、公開鍵の
すり替えを防止する。つまり、通常の方法で署名を作成するにはまず自分の公開鍵 ペアを作成してから署名するが、まず署名を偽造して偽造した署名とつじつまが合う ように公開鍵ペアを作成する不正行為が考えられるため、それを防ぐためにハッシュ に公開鍵を入れる。ノ、ッシュに公開鍵が入っていることにより、署名する前に公開鍵 を作ったことが保証される。
[0095] 次に署名検証部 23をより詳細に説明する。
[0096] 署名検証部 23によるステップ S103における署名検証処理は、リーダライタ 2—iにお いて、 = pk I卜 '||pk、 u=a||s||b(aは kビット長、 bは 1ビット長)としたときに、 (b=0)?D(u)= ((ale} mod n , s) : ((a e} mod n) + n , s)と定義される図 4に示す関数 D (u)を用いて、 D (H(T )〇(D (H(T )〇〜D (u 》···)) = uが成立すれば署名の検証に成功したと判断
1 1 2 2 i-1 i-1 0
する。この署名検証処理の詳しい手順を図 6に示す。
[0097] 図 6を参照すると、まずリーダライタ 2— iは、流通経路情報 u を変数 Vに記憶する (S i-1 i
331)。
[0098] 経緯中の拠点のリーダライタ 2-i力 最上流拠点のリーダライタ 2-1までを遡って、順 に検証処理を行う (S332〜S342)。
[0099] まず、どの拠点における署名を検証しているかを管理するループ変数 jに i-1を記憶 する (S332)。
[0100] jが 1以上であるかどうかの判定を行い (S333)、 1以上であれば次のように処理を行う 。リーダライタ 2-jの備えられた拠点の公開鍵及びその上流に位置する拠点の公開鍵 力も Tj = pk I卜 '||pkを計算した後 (S334)、 Vのはじめの kビットを aに、最後の 1ビットを b
1 i i
に、残りのビットを sに記憶し (S335)、 bが 0ならば、 aを公開鍵 eで検証し、検証結果の 末尾に sを加えたものと H(T)の排他的論理和を計算し、それを V として記憶する (S33 j n
6,S337)0
[0101] bが 1ならば、 aを公開鍵 eで検証し、検証結果にモジュラス nを加算した後、末尾に s を加えたものと H(T)の排他的論理和を計算し、それを V として記憶する (S338)。最後 j n
にループ変数 jをデクリメントし (S339)、再度 j力 i以上であるかどうかの判定から上記の 処理を繰り返す。 jが 0のときは、 Vが流通経緯情報の初期値 uと等しいかどうかを確
0 0
かめる (S340)。
[0102] 等しいならば正しい経緯を迪り、かつ途中経緯で不正がな力つたことの検証に成功 したとし、本処理を完了する (S341)。等しくない場合は検証に失敗したとし、本処理を 完了する (S342)。
[0103] このように、リーダライタ 2-iにおける署名検証は、経緯をさかのぼって処理し、最終 的に初期値 uが得られたら正しい経緯をたどってきたと判断する。また署名を検証す
0
る際に経緯上の各拠点の公開鍵を検証対象として入力しているため、公開鍵のすり 替えを検出できる。
[0104] 次に、本実施の形態の変形例として、各リーダライタにおいて無線 ICタグ 1に書き込 むメッセージが外部情報入力部 25から入力された場合の署名作成部 22の署名作成 処理を図 7を参照して説明する。
[0105] 図 7を参照すると、リーダライタ 2-iに無線 ICタグ 1に書き込むメッセージ Mが存在す る場合、署名作成部 22により、 T, = Mj卜 '||M.||pk I卜 '||pkを計算し (S314')、以下、 Τ,; を図 5の Τと同様〖こ扱うこと〖こ り、 Ε
(H(T' i)Ou)を署名として導出する。このように署名を計算する際に、経緯上の各拠 点の公開鍵とともに、付与するメッセージも署名対象として入力することで、公開鍵の すり替えだけでなぐ各リーダライタで付与するメッセージに対する改竄も検知可能と なる。
[0106] 図 8は各リーダライタにおいて無線 ICタグ 1に書き込むメッセージが存在する場合の 署名検証部 23の署名検証処理の手順を示す。 T, = M ||-||M ||pk I卜 -||pkを計算し (S
J 1 J 1 j
334')、以下、丁'を図6の丁と同様に扱ぅことにょり、0 (1"[(丁' 1〇(0 (1"[(丁,)〇〜D (u j j 1 ) 2 2 i-1 i-1
》〜》 = uが成立すれば署名の検証に成功したとする。このように署名を検証する際
0
に、経緯上の各拠点の公開鍵とともに、付与するメッセージも検証対象として入力す ることによって、公開鍵のすり替え、メッセージの改竄を検出できる。
[0107] 次に本実施の形態の効果を説明する。
[0108] 第 1の効果は、工場生産品や食品などの一般消費者向けの製品または製品パッケ ージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流 通経緯を確認することができることである。その理由は、製品に付する書き込み型無 線 ICタグ 1のローカルな記憶領域 (RAM部 12)に流通の経緯を管理する情報を持ち、
それを必要に応じて参照することで流通経緯を確認することができるからである。これ によって、運用コストを軽減できる。
[0109] 第 2の効果は、流通経緯中にたどる拠点数にスケーラビリティを有することである。
その理由は、(署名サイズ + (拠点数) X Iビット)で、流通経緯情報を表現できるからで ある。
[0110] 第 3の効果は、無線 ICタグ 1の価格を低く抑えられることである。その理由は、第 2の 効果の理由と同等であり、書き込みメモリ領域を多量に実装する必要がないからであ る。これによつて、流通用途に大量に使用することが容易になる。
[0111] 第 4の効果は、流通経緯中の各段階のリーダライタや悪意のある第 3者における流 通経緯情報の偽造および改竄を検知できることにある。その理由は、流通経緯を証 明する署名力 流通経緯中の拠点全ての公開鍵を用いて検証することが可能だから である。特に、初期値 u0に無線 IDタグ 1の ROM部 11に記憶してある当該無線 IDタグ 固有の IDを用いる場合、 ROM部 11のデータが不正に改ざんできないことを前提にで きるのであれば、 RAM部 12の流通経緯情報を不正に他の無線 IDタグの RAM部 12に コピーした場合も検知できる。
[0112] 『第 2の実施の形態』
次に本発明の第 2の実施の形態について、図面を参照して詳細に説明する。
[0113] 図 9を参照すると、本発明の第 2の実施の形態にカゝかる流通経緯認証システムは、 各リーダライタ 2— 1〜2— nが署名作成部 22および署名検証部 23の代わりに署名作 成部 22Aおよび署名検証部 23Aを備えている点で図 1の第 1の実施の形態に力かる流 通経緯認証システムと相違し、その他の点は第 1の実施の形態と同じである。
[0114] 署名作成部 22Aは、無線 ICタグ 1とリーダライタの送受信部 13、 24を介して得られた 、無線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u に対して、鍵管理部 21
i-1
で管理して!/、る自リーダライタの秘密鍵 dと RSAモジュラス nとを用いて、署名作成処 理を行い、作成した署名を新たな流通経緯情報 uとして、無線 ICタグ 1とリーダライタ の送受信部 13、 24を介して無線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u と置き換える。ただし、本実施の形態の場合、置き換え前後の流通経緯情報 u、 u i-1 i i- のサイズは変わらない。
[0115] 署名検証部 23Aは、無線 ICタグ 1とリーダライタの送受信部 13、 24を介して得られた 、無線 ICタグ 1の RAM部 12に保持している流通経緯情報 u に対して、各リーダライタ
-1
の公開鍵 pk ,"', pkを用いて、自リーダライタの拠点に到る経緯を逆順に検証して
-1 1
いき、最終的に uが得られるところまでさかのぼって検証できれば、自リーダライタの
0
拠点に到るまでの全てのリーダライタを正しく経緯してきたものと判断する。
[0116] 無線 ICタグ 1が付された製品がリーダライタ 2-iを経由する際の動作は、基本的に は第 1の実施の形態と同様に、図 3のシーケンスに沿って行われる。ただし、ステップ S
103における署名検証処理とステップ S104における署名作成処理の中身が第 1の実 施の形態と相違する。
[0117] 次に署名作成部 22Aの詳細を説明する。
[0118] 署名作成部 22Aによるステップ S104における署名作成処理は、リーダライタ 2— 1〜2 —(ト 1)の公開鍵 pk ,· ··, pk が全て異なること、かつ eが、 nよりも大きくかつ ((p- l)(q-
1 —1
1))と互いに素であることを確認し、 T = pk」卜 '||pkを計算した後、(uく n)? f(u)=u d}m od n
: f(u)=uと定義される図 10の関数 f(u)、および、セキュリティパラメタ kビット (ただし nく 2k) 長自然数空間での写像として φ (u)= (u+n)mod2kと定義される図 10の関数 φ (u)を用 いて、無線 ICタグ 1の有する流通経緯情報 u に対して、 φ _1(ί·( φ (f((H(T)〇u )))))を
—1 i l l l 署名として導出する。ここで、 Φ— 1は、写像 Φの逆写像である。その後、導出した署名 は新たな流通経緯情報 uとして、無線 ICタグ 1とリーダライタの送受信部 13、 24を介し て無線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u と置き換えられる。この
-1
署名作成処理の詳しい手順を図 11のステップ S364〜S371に示す。以下、前後の処 理と共に署名作成部 22Aによる署名作成処理を図 11を参照して詳しく説明する。
[0119] 図 11を参照すると、リーダライタ 2— iは、 RFIDの RAM部 12に格納されている流通経 路情報 u を読み取ると (S361)、所有している鍵の正当性を検証した後 (S362)、 u 力 S
-1 -1 正当であるかを署名検証部 23Aで検証する (S363)。その後、署名作成部 22Aにより、 現拠点の公開鍵及び上流に位置する拠点の公開鍵から T = pk I卜 '||pkを計算した 後 (S364)、署名対象として v:=H(T)〇u を計算し (S365)、 vが RSAモジュラス nよりも小
-1
さいときは (S366で YES)、そのまま秘密鍵 dで Vの署名を計算した値に、 2kをモジュラス
とする n;の加算を行い、結果を V,とする (S367)。大きいときは (S366で NO)、モジュラス より大き 、数に対しては RSA署名を計算できな 、ので、 Vに対して署名計算を行わず 、その値に対して直接 2kをモジュラスとする nの加算を行い、結果^ V,とする (S368)。
[0120] 次に v'が RSAモジュラス nよりも小さ!/、ときは (S369で YES)、秘密鍵 dで v,の署名を計 算した値から、 2kをモジュラスとする nの減算を行い、その値をリーダライタ 2— iでの流 通経緯情報 uとする (S370)。
[0121] 大きいときは (S369で NO)、モジュラスより大きい数に対しては RSA署名を計算できな いので、 v'に対して署名計算を行わず、その値から直接 2kをモジュラスとする nの減 算を行い、その値をリーダライタ iでの流通経緯情報 uとする (S371)。このように計算し た uを RFIDの RAM部 12に格納されて!、た u と置換する (S372)。
i i-1
[0122] このように、リーダライタ 2—iは、基本的には、無線 IDタグ 1に既に書き込まれている 流通経路情報 u に対して、自リーダライタの秘密鍵 dで署名を付けるが、第 1の実施
i-1 i
の形態と異なり、制御ビットをつける代わりに、モジュラス nを超える数の署名を計算 する際は、モジュラス nだけ大きいほうに写像させる関数を力 4ナた後、署名計算をし、 その後、その逆写像をかけて同じくモジュラス nだけ小さいほうに写像する。また、第 1 の実施の形態と同様に、署名を計算する際に、経緯上の各拠点の公開鍵を署名対 象として入力することによって、公開鍵のすり替えを防止する。
[0123] 次に署名検証部 23Aをより詳細に説明する。
[0124] 署名検証部 23Aによるステップ S103における署名検証処理は、リーダライタ 2—iに おいて、 T
mod n :
gi(u)=uと定義される図 10の関数
gi(u)と上記写像 φ (u)とを用いて、 φ ~
§ ( φ (g が成立すれば
署名の検証に成功したと判断する。この署名検証処理の詳 、手順を図 12に示す。
[0125] 図 12を参照すると、まずリーダライタ 2—iは、 1つ前の拠点のリーダライタ 2— G-1)か ら最初の拠点のリーダライタ 2—1までを遡って、順に検証処理を行うために、まず、ど の拠点における署名を検証して 、るかを管理するループ変数 jに iを記憶する (S381)。 jが 1以上であれば (S382で YES)、次のように処理を行う。
[0126] リーダライタ jの備えられた拠点の公開鍵及びその上流に位置する拠点の公開鍵か
ら τ =
pk || -||pkを計算した後 (S383)、検証対象として RFIDの RAM部 12力も読み込んだ uを
1 i i 用いて v:=H(T)〇uを計算し (S384)、 Vが RSAモジュラス nよりも小さ!/、ときは (S385で YE
j j j
S)、そのまま公開鍵 eで vの署名を検証した値に、 2kをモジュラスとする nの加算を行い 、結果^ v'とする (S386)。大きいときは (S385で NO)、モジュラスより大きい数に対して は RSA署名を検証できないので、 Vに対して検証処理を行わず、その値に対して直接 2kをモジュラスとする nの加算を行い、結果を v'とする (S387)。
[0127] 次に v'が RSAモジュラス nよりも小さいときは (S388で YES)、公開鍵 eで v,の署名を検 証した値から、 2kをモジュラスとする nの減算を行い、その値を Vとする (S389)。大きい ときは (S388で NO)、モジュラスより大き!/、数に対しては RSA署名を検証できな 、ので、 v'に対して検証処理を行わず、その値に対して直接 2kをモジュラスとする nの減算を 行い、結果を Vとする (S390)。
[0128] 最後にループ変数 jをデクリメントし (S391)、再度 jが 1以上であるかどうかの判定から 上記の処理を繰り返す。 jが 0の時は、 Vが流通経緯情報の初期値 uと等しいかどうか
0 0
を確かめる (S392)。等しいならば正しい経緯を迪り、かつ途中経緯で不正がな力つた ことの検証に成功したとし、本処理を完了する (S393)。等しくない場合は検証に失敗 したとし、本処理を完了する (S394)。
[0129] このように、署名検証時も、写像関数でモジュラスだけ大きいほうにずらして検証処 理し、再び逆写像してという処理を、経緯中の拠点をさかのぼって検証し、最終的に 最初の拠点の公開鍵による検証で初期値 uが得られたら正 、経緯をたどってきた
0
と判断する。また署名を検証する際に、経緯上の各拠点の公開鍵を検証対象として 入力することによって、公開鍵のすり替えを検出できる。
[0130] 次に、本実施の形態の変形例として、各リーダライタにおいて無線 ICタグ 1に書き込 むメッセージが外部情報入力部 25から入力された場合の署名作成部 22Aの署名作 成処理を図 13を参照して説明する。
[0131] 図 13を参照すると、リーダライタ 2—iに無線 ICタグ 1に書き込むメッセージ Mが存在 する場合、署名作成部 22Aにより、 T, = M ||-||M ||pk
i 1 i 1 H' llpkを計算し (S314')、以下
i
、 を図 11の T;と同様に扱うことにより、 —!^ ,^ を署名として
導出する。このように署名を計算する際に、経緯上の各拠点の公開鍵とともに、付与 するメッセージも署名対象として入力することで、公開鍵のすり替えだけでなぐ各リ 一ダライタで付与するメッセージに対する改竄も検知可能となる。
[0132] 図 14は各リーダライタにおいて無線 ICタグ 1に書き込むメッセージが存在する場合 の署名検証部 23Aの署名検証処理の手順を示す。 T, = M ||-||M ||pk H"'||pkを計算
j 1 i 1 i し (S334')、以下、 T,を図 12の Tと同様に扱うことにより、 _1(§ ( (§ (Η(Τ' Ο _1(§ (
j j 1 1 1 2
Φ ((g (H(T,〇… Φ _1(G ( Φ (g (u,勝 · · ))))))))) = uが成立すれば署名の検証に成功
2 2 i i i 0
したとする。このように署名を検証する際に、経緯上の各拠点の公開鍵とともに、付与 するメッセージも検証対象として入力することによって、公開鍵のすり替え、メッセ一 ジの改竄を検出できる。
[0133] 次に本実施の形態の効果を説明する。
[0134] 第 1の効果は、工場生産品や食品などの一般消費者向けの製品または製品パッケ ージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流 通経緯を確認することができることである。その理由は、製品に付する書き込み型無 線 ICタグ 1のローカルな記憶領域 (RAM部 12)に流通の経緯を管理する情報を持ち、 それを必要に応じて参照することで流通経緯を確認することができるからである。これ によって、運用コストを軽減できる。
[0135] 第 2の効果は、流通経緯中にたどる拠点数にスケーラビリティを有することである。
その理由は、流通経緯中にたどる拠点数に無関係な定数 (署名サイ )で、流通経緯 情報を表現できるからである。
[0136] 第 3の効果は、無線 ICタグ 1の価格を低く抑えられることである。その理由は、第 2の 効果の理由と同等であり、書き込みメモリ領域を多量に実装する必要がないからであ る。これによつて、流通用途に大量に使用することが容易になる。
[0137] 第 4の効果は、流通経緯中の各段階のリーダライタや悪意のある第 3者における流 通経緯情報の偽造および改竄を検知できることにある。その理由は、流通経緯を証 明する署名力 流通経緯中の拠点全ての公開鍵を用いて検証することが可能だから である。特に、初期値 u0に無線 IDタグ 1の ROM部 11に記憶してある当該無線 IDタグ 固有の IDを用いる場合、 ROM部 11のデータが不正に改ざんできないことを前提にで
きるのであれば、 RAM部 12の流通経緯情報を不正に他の無線 IDタグの RAM部 12に コピーした場合も検知できる。
[0138] 『第 3の実施の形態』
次に本発明の第 3の実施の形態について、図面を参照して詳細に説明する。
[0139] 図 15を参照すると、本発明の第 3の実施の形態にカゝかる流通経緯認証システムは、 無線 ICタグ 1が RAM部 12の代わりに RAM部 12Aを備え、各リーダライタ 2— 1〜2— nが 署名作成部 22および署名検証部 23の代わりに署名作成部 22Bおよび署名検証部 23
Bを備えている点で図 1の第 1の実施の形態に力かる流通経緯認証システムと装置し
、その他の点は第 1の実施の形態と同じである。
[0140] 無線 ICタグ 1における RAM部 12Bは、書き込み可能なメモリサイズが有限であり、当 該メモリサイズに収まる容量 s 'で表現可能な流通経緯情報 uと補助情報 Vの組 (u ,ν) を保持する。
[0141] 流通経緯情報 uは、第 1の実施の形態における流通経緯情報 uと同じであり、 1番目 カも潘目までの拠点を経緯したことを表す。流通経緯情報 uの初期値は、どこも経緯 していないことを表す uであり、 uには、所定値たとえば 0、または、無線 ICタグ 1の RO
0 0
Μ部 11に記憶された当該無線 ICタグ固有の ID値が設定される。
[0142] 補助情報 Vは、 1番目から i-1番目までの拠点を経緯したことを表す流通経緯情報 u に所定のハッシュ関数を適用して生成された情報である。補助情報 Vの初期値は流
1 i
通経緯情報 uの初期値と同じであり、所定値たとえば 0、または、無線 ICタグ 1の ROM 部 11に記憶された当該無線 ICタグ固有の ID値である。このような補助情報 Vを流通経 緯情報 に添えることで、後述するように流通経緯情報 uの簡易な検証が可能になる
[0143] 署名作成部 22Bは、無線 ICタグ 1とリーダライタの送受信部 13、 24を介して得られた 、無線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u と補助情報 V の組のう i-1 i-1 ちの流通経緯情報 u に対して、鍵管理部 21で管理して 、る自リーダライタの秘密鍵 i-1
dと RSAモジュラス nとを用いて、署名作成処理を行って新たな流通経緯情報 uを作 成すると同時に、流通経緯情報 u カゝら新たな補助情報 Vを作成し、作成した uと Vの i-1 i i i 組を新たな流通経緯情報 ^と補助情報 V;の組として、無線 ICタグ 1とリーダライタの送
受信部 13、 24を介して無線 ICタグ 1の RAM部 12Bに保持されている流通経緯情報 u i-1 と補助情報 V の組を置き換える。
i-1
[0144] 署名検証部 23Bは、無線 ICタグ 1とリーダライタの送受信部 13、 24を介して得られた 、無線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u を検証する手段である i-1
。第 1の実施の形態における署名検証部 23は、流通経緯情報 u に対して、各リーダ i-1
ライタの公開鍵 pk ,"', pkを用いて、自リーダライタの拠点に到る経緯を逆順に検証 i-1 1
していき、最終的に uが得られるところまでさかのぼって検証できれば、自リーダライ
0
タの拠点に到るまでの全てのリーダライタを正しく経緯してきたものと判断した力 本 実施の形態の署名検証部 23Bは、補助情報 V を使って簡易な検証を行う。つまり、 i-1
流通経緯情報 u に対して、自リーダライタの一つ前に署名したリーダライタが正しく i-1
署名した力どうかを、公開鍵 pk を用いて検証し、検証結果のハッシュ値が補助情報 i-1
V と等しければ、 1つ前のリーダライタ力 正しく経緯してものと判断する。
i-1
[0145] 次に、無線 ICタグ 1が付された製品カ^ーダライタ 2— iを経由する際の本実施の形 態の動作を図 16のシーケンス図を参照して説明する。
[0146] まず、リーダライタ 2-iは、無線 ICタグ 1が付された製品が経由されてきた時、送受 信部 24により無線 ICタグ 1に対して、無線 ICタグ 1の RAM部 12に格納された流通経緯 情報 u と補助情報 V の組および流通経緯情報 u と補助情報 V の組の初期値 u ,v i-1 i-1 i-1 i-1 0 0 として無線 ICタグ固有の IDが使用される場合は ROM部 11の IDを要求する(SI 11)。無 線 ICタグ 1は、この要求に応じて、 RAM部 12に格納されている流通経緯情報 u と補 i-1 助情報 V の組および要求された場合には ROM部 11に格納されている IDを、送受信 i-1
部 13を介してリーダライタ 2— iに送信する(S211)。
[0147] 流通経緯情報 u と補助情報 V の組を受信した (S112)リーダライタ 2-iは、署名検 i-1 i-1
証部 23Bにより、自リ一ダライタの 1つ前に署名したリーダライタが正しく署名したかど うかを、鍵管理部 21に保持されているリーダライタ 2— (i 1)の公開鍵 pk を用いて検 i-1
証する。(S113)。つまり、公開鍵 pk を用いて流通経緯情報 u を検証した結果のハ i-1 i-1
ッシュ値が補助情報 v と等しいかどうかを検査する。ここで、 Vが得られれば、 1つ前 i-1 0
のリーダライタ 2— (i—l)から正しく経緯してきたものと判断され、 Vが得られない場合
0
、不正があったものと検出される(S116)。
[0148] 検証に成功した場合、リーダライタ 2 -iは、自リーダライタが配置された拠点を正しく 経緯したことを証明するために、正しく経緯してきたことが署名検証部 23により認証で きた流通経緯情報 u に対して、署名作成部 22Bにより、鍵管理部 21に保持されてい i-1
る自リーダライタの秘密鍵 skを用いて署名 Uを生成すると共に、流通経緯情報 U 力 i i i-1 補助情報 vを生成し (SI 14)、生成された署名値 uと補助情報 Vの組を新しい流通経 緯情報と補助情報の組として過去の u と V に上書きするために、無線 ICタグ 1に送 i-1 i-1
受信部 24により送信する(S115)。無線 ICタグ 1は、送受信部 13により uと Vの組を受信 したら(S212)、受信した uと Vの組で RAM部 12に格納されている u と v の組を上書き i i i-1 i-1
する(S213)。
[0149] 以上と同様な動作は、無線 ICタグ 1が付加された製品が次の拠点に配送された場 合にも実施される。リーダライタ 2— nが配置された拠点まで正しく経緯した製品の無 線 ICタグ 1の流通経緯情報 uに対して、リーダライタ 2— nの公開鍵 pkを用いて署名を 検証すれば、補助情報 Vが得られることになる。これにより、 1つ前の拠点のリーダライ
0
タを正しく経緯してきたことを知ることができる。
[0150] 次に署名作成部 22Bの詳細を説明する。
[0151] 署名作成部 22Bによるステップ S114における署名作成処理は、リーダライタ 2— 1〜2
—(ト 1)の公開鍵 pk , · · · , pk が全て異なること、かつ eが、 nよりも大きくかつ ((p - l)(q -
1 —1 i
1》と互いに素であることを確認し、 T = pk I卜 - ||pkを計算した後、 u=a||s(aは kビット長) としたときに (aく n)?E (u)=
((a d) mod n , s||0): ((a-n) d}
mod n , s|| l)と定義される図 4の関数 Ei(u)を用いて、無線 ICタグ 1の有する流通経緯情 報 u に対して、 E (H(T)〇u )を新たな署名 uとして導出すると同時に、新たな補助 i-1 i i i-1 i
情報 v=h(u )を計算する。ここで、 hは予め定められたハッシュ関数である。第 1の実 i i-1
施の形態の署名作成部 22との相違点は、新たな補助情報 v=h(u )を計算するとろこ i i-1
である。この署名作成処理の詳しい手順を図 17のステップ S444〜S449に示す。以下 、前後の処理と共に本実施の形態における署名作成処理を図 17を参照して詳しく説 明する。
[0152] 図 17を参照すると、リーダライタ 2— iは、 RFIDの RAM部 12に格納されている流通経
路情報 u と補助情報 v の組を読み取ると (S441)、所有している鍵の正当性を検証し i-1 i-1
た後 (S442)、 u が正当であるかを署名検証部 23Bで検証する (S443)。
i-1
[0153] その後、署名作成部 22Bにより、現拠点の公開鍵及び上流に位置する拠点の公開 鍵から Ti = pk |卜 " Hpkを計算した後 (S444)、 E (H(T)〇u )、 h(u )をリーダライタ 2— i
1 i i i i-1 i-1 での流通経緯情報 u;、補助情報 V;として導出する (S445〜S449)。具体的には、まず w= H(T)〇u を計算し (S445)、 wのはじめのセキュリティパラメタ kビットを a、残りを sとし (S4 i i-1
46)、 aが RSAモジュラス nよりも小さ!/、ときは (S447で YES)、 aに対して秘密鍵 dで署名値 を計算する (S448)。このとき sに制御情報として 1ビットの情報 0を付け加え、署名値とと もに流通経緯情報 とする。またこのとき u のノ、ッシュを計算し、補助情報 Vとする。ま
i i-1 i
た、 aが RSAモジュラス nよりも大きいときは (S447で NO)、モジュラス nより大きい数に対 しては RSA署名を計算できな 、ので、 aを nだけ減算したものに対して署名値を計算 する (S449)。このとき sに制御情報として 1ビットの情報 1を付けカ卩え、署名値とともに流 通経緯情報 とする。またこのとき u のハッシュを計算し、補助情報 Vとする。このよう
i i-1 i
に計算した u,vのペアを RFIDの RAM部 12に格納されていた u ,v と置換する (S450)
i i i-1 i-1
[0154] このように本実施の形態における署名作成処理は、第 1の実施の形態と同様にして 署名値 Uの導出を行うが、その際に署名対象の署名値 U のハッシュ値 Vを余分に計 i i-1 i
算しておき、補助情報 Vとして署名値 uと組にして RAM部 12に書き戻す点が異なる。 本実施の形態の方が第 1の実施の形態に比べて、書き戻すサイズがハッシュ関数の 出力値 V分だけ大きくなる。
[0155] 次に署名検証部 23Bの詳細を説明する。
[0156] 署名検証部 23Bによるステップ S113における署名検証処理は、リーダライタ 2—iに おいて、 T = pk I卜 -||pkゝ u=a||s||b(aは kビット長、 bは 1ビット長)としたときに、 (b=0)?D(u )=
((ale} mod n , s) : ((a e} mod n) + n , s)と定義される図 4に示す関数 D (u)を用いて、 h( H(T )〇D (u 》= v が成立すれば署名の検証に成功したと判断する。この署名検 —1 —1 —1
証処理の詳しい手順を図 18に示す。
[0157] 図 18を参照すると、まずリーダライタ 2— iは、 RFIDの RAM部 12に格納されている流
通経路情報 u と補助情報 v の組を読み取る (S461)。リーダライタ 2— iの備えられた i-1 i-1
拠点の上流に位置する拠点の公開鍵から Τ = pk || - - - ||pk を計算した後 (S462)、 u i 1 i-1 i-1 のはじめの kビットを aに、最後の 1ビットを bに、残りのビットを sに記憶し (S463)、 bが 0な らば (S464で YES)、 aをリーダライタ 2-G-1)の公開鍵で検証し、検証結果の末尾に sを 加えたものと H(T )の排他的論理和を計算し、それ^ w として記憶する (S465)。 bが 1 i-1 i-1
ならば (S464で NO)、 aをリーダライタ 2-G-1)の公開鍵で検証し、検証結果にモジュラス nを加算した後、末尾に sをカ卩えたものと H(T )の排他的論理和を計算し、それを w i i-1 i-1 として記憶する (S466)。
[0158] その後、 w のハッシュ関数 hによるハッシュ値が補助情報 V と等しいかどうかを確
i-1 i-1
かめる (S467)。等しいならば正しい経緯を迪つたことの検証に成功したとし、本処理を 完了する (S468)。等しくない場合は検証に失敗したとし、本処理を完了する (S469)。
[0159] このように流通経緯中の一つ前の署名装置が信用のおけることを仮定できるのであ れば、検証処理を高速化できる。その理由は、第 1の実施の形態と異なり、署名検証 時の公開鍵による演算処理を高々 1度だけで済ますことができるためである。
[0160] 次に、本実施の形態の変形例として、各リーダライタにおいて無線 ICタグ 1に書き込 むメッセージが外部情報入力部 25から入力された場合の署名作成部 22Bの署名作 成処理を図 19を参照して説明する。
[0161] 図 19を参照すると、リーダライタ 2-iに無線 ICタグ 1に書き込むメッセージ Miが存在す る場合、署名作成部 22により、 T, = Mj卜 ' ||M.||pk I卜 '||pkを計算し (S444')、以下、 T, を図 17の Τと同様〖こ扱うこと〖こ り、 Ε
(H(T' )〇u )を新たな流通経緯情報 u、h(u )を補助情報 Vとして導出する。このよう i i-1 i i-1 i
に署名を計算する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも署 名対象として入力することで、公開鍵のすり替えだけでなぐ各リーダライタで付与す るメッセージに対する改竄も検知可能となる。
[0162] 図 20は各リーダライタにおいて無線 ICタグ 1に書き込むメッセージが存在する場合 の署名検証部 23Bの署名検証処理の手順を示す。 T, = M |卜 · ||Μ ||pk || - ||pk を
i 1 i-1 1 i-1 計算し (S462')、以下、丁 を図 18の T;と同様に扱うことにより、 Ε
(H(T' )〇u )を新たな流通経緯情報 u、h(u )を補助情報 Vとして導出する。このよう i i-1 i i-1 i
に署名を検証する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも検 証対象として入力することによって、公開鍵のすり替え、メッセージの改竄を検出でき る。
[0163] 次に本実施の形態の効果を説明する。
[0164] 第 1の効果は、工場生産品や食品などの一般消費者向けの製品または製品パッケ ージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流 通経緯を確認することができることである。その理由は、製品に付する書き込み型無 線 ICタグ 1のローカルな記憶領域 (RAM部 12B)に流通の経緯を管理する情報を持ち、 それを必要に応じて参照することで流通経緯を確認することができるからである。これ によって、運用コストを軽減できる。
[0165] 第 2の効果は、流通経緯中にたどる拠点数にスケーラビリティを有することである。
その理由は、(署名サイズ + (拠点数) X Iビット + (補助情報サイ )で、流通経緯の認 証に利用する情報を表現できるからである。
[0166] 第 3の効果は、無線 ICタグ 1の価格を低く抑えられることである。その理由は、第 2の 効果の理由と同等であり、書き込みメモリ領域を多量に実装する必要がないからであ る。これによつて、流通用途に大量に使用することが容易になる。
[0167] 第 4の効果は、一つ前の拠点が信用のおける拠点であることを仮定できるのであれ ば、流通経緯中の各段階のリーダライタや悪意のある第 3者における流通経緯情報 の偽造および改竄の検知に要する署名検証処理を高速ィ匕できることである。その理 由は、署名検証処理を補助情報を利用して高々 1度だけで済ますことが可能だから である。
[0168] 『第 4の実施の形態』
次に本発明の第 4の実施の形態について、図面を参照して詳細に説明する。
[0169] 図 21を参照すると、本発明の第 4の実施の形態にカゝかる流通経緯認証システムは、 各リ一ダライタ 2— 1〜2— nが署名作成部 22Bおよび署名検証部 23Bの代わりに署名 作成部 22Cおよび署名検証部 23Cを備えている点で図 15の第 3の実施の形態にかか る流通経緯認証システムと相違し、その他の点は第 3の実施の形態と同じである。
[0170] 署名作成部 22Cは、無線 ICタグ 1とリーダライタの送受信部 13、 24を介して得られた
、無線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u と補助情報 V の組のう
i-1 i-1 ちの流通経緯情報 u に対して、鍵管理部 21で管理して 、る自リーダライタの秘密鍵
i-1
dと RSAモジュラス nとを用いて、署名作成処理を行って新たな流通経緯情報 uを作 成すると同時に、流通経緯情報 u カゝら新たな補助情報 Vを作成し、作成した uと Vの
i-1 i i i 組を新たな流通経緯情報 ^と補助情報 V;の組として、無線 ICタグ 1とリーダライタの送 受信部 13、 24を介して無線 ICタグ 1の RAM部 12Bに保持されている流通経緯情報 u
i-1 と補助情報 V の組を置き換える。ただし、本実施の形態の場合、置き換え前後の流
i-1
通経緯情報 u、 u のサイズは変わらない。
i i-1
[0171] 署名検証部 23Cは、流通経緯情報 u に対して、自リーダライタの一つ前に署名した
i-1
リーダライタが正しく署名したカゝどうかを、公開鍵 pk を用いて検証する。その検証結
i-1
果のノ、ッシュ値が補助情報 V と等しければ、 1つ前のリーダライタ力も正しく経緯して
i-1
ものと判断する。
[0172] 無線 ICタグ 1が付された製品がリーダライタ 2-iを経由する際の動作は、基本的に は第 3の実施の形態と同様に、図 16のシーケンスに沿って行われる。ただし、ステップ S113における署名検証処理とステップ S114における署名作成処理の中身が第 3の実 施の形態と相違する。
[0173] 次に署名作成部 22Cの詳細を説明する。
[0174] 署名作成部 22Cによるステップ S114における署名作成処理は、リーダライタ 2— 1〜2
—(ト 1)の公開鍵 pk ,· ··, pk が全て異なること、かつ eが、 nよりも大きくかつ ((p- l)(q-
1 —1 i
1))と互いに素であることを確認し、 T = pk I卜 -||pkを計算した後、(uく n)? f(u)=u d}m od n
: f(u)=uと定義される図 10の関数 f(u)、および、セキュリティパラメタ kビット (ただし nく 2k) 長自然数空間での写像として φ (u)= (u+n)mod2kと定義される図 10の関数 φ (u)を用 いて、無線 ICタグ 1の有する流通経緯情報 u に対して、 φ _1(ί·( φ (f((H(T)〇u )))))を
i-1 i i i i-1 新たな流通経緯情報 uとして導出し、また無線 ICタグ 1の有する流通経緯情報 u に
i i-1 対して、 h(u )を新たな補助情報 Vとして導出する。その後、導出した新たな流通経緯
i-1 i
情報 uと補助情報 vの組は、無線 ICタグ 1とリーダライタの送受信部 13、 24を介して無 線 ICタグ 1の RAM部 12に保持されている流通経緯情報 u と補助情報 V の組と置き
換えられる。この署名作成処理の詳 、手順を図 22のステップ S494〜S501に示す。
[0175] 以下、前後の処理と共に署名作成部 22Cによる署名作成処理を図 22を参照して詳 しく説明する。
[0176] 図 22を参照すると、リーダライタ 2— iは、 RFIDの RAM部 12に格納されている流通経 路情報 u と補助情報 V の組を読み取ると (S491)、所有している鍵の正当性を検証し i-1 i-1
た後 (S492)、 u が正当であるかを署名検証部 23Cで検証する (S492)。
i-1
[0177] その後、署名作成部 22Cにより、現拠点の公開鍵及び上流に位置する拠点の公開 鍵から T = pk I卜 '||pkを計算した後 (S494)、署名対象として w:=H(T)〇u を計算し (S4 i 1 i i i-1
95)、 wが RSAモジュラス nよりも小さいときは (S496で YES)、そのまま秘密鍵 dで wの署 名を計算した値に、 2kをモジュラスとする nの加算を行い、結果を w'とする (S497)。大 き 、ときは (S496で NO)、モジュラスより大き!/、数に対しては RSA署名を計算できな!/ヽ ので、 wに対して署名計算を行わず、その値に対して直接 2kをモジュラスとする nの加 算を行い、結果を w'とする (S498)。
[0178] 次に w'が RSAモジュラス nよりも小さいときは (S499で YES)、秘密鍵 dで w,の署名を計 算した値から、 2kをモジュラスとする nの減算を行い、その値をリーダライタ 2— iでの流 通経緯情報 uとする (S500)。この際、流通経路情報 u にハッシュ関数 hを適用し、 h(u
i i-1 i-
)をリーダライタ 2— iでの補助情報 viとする。大きいときは (S499で NO)、モジュラスより
1
大きい数に対しては RSA署名を計算できないので、 w に対して署名計算を行わず、 その値から直接 2kをモジュラスとする nの減算を行!、、その値をリーダライタ iでの流通 経緯情報 uとする (S501)。この際、ステップ S500と同様に h(u )をリーダライタ 2— iでの
i i-1
補助情報 vとする。このように計算した uと Vを RFIDの RAM部 12に格納されていた u と
i i i i-1 v と置換する (S502)。
i-1
[0179] このように、リーダライタ 2—iは、基本的には、無線 IDタグ 1に既に書き込まれている 流通経路情報 u に対して、自リーダライタの秘密鍵 dで署名を付けるが、第 3の実施
i-1 i
の形態と異なり、制御ビットをつける代わりに、モジュラス nを超える数の署名を計算 する際は、モジュラス nだけ大きいほうに写像させる関数を力 4ナた後、署名計算をし、 その後、その逆写像をかけて同じくモジュラス nだけ小さいほうに写像する。また、第 3 の実施の形態と同様に、署名を計算する際に、経緯上の各拠点の公開鍵を署名対
象として入力することによって、公開鍵のすり替えを防止し、更に流通経緯情報 U;の 導出を行う際に署名対象の流通経緯情報 U のノ、ッシュ値 Vを余分に計算しておき、
i-1 i
補助情報 vとして流通経緯情報 uと組にして RAM部 12に書き戻す。
[0180] 次に署名検証部 23Cを詳細に説明する。
[0181] 署名検証部 23Cによるステップ S113における署名検証処理は、リーダライタ 2—iに おいて、 T = pk ||- --||pk を計算し、01〈 ?§01)= }
i-1 1 i-1 i i i
mod n: g(u)=uと定義される図 10の関数 g(u)と上記写像 φ (u)とを用いて、 h(H(T 〇 i i i i-1 φ 1 (g ( (§ (u )))))) = V が成立すれば署名の検証に成功したとする。この署名検 —1 —1 —1 —1
証処理の詳 、手順を図 23に示す。
[0182] 図 23を参照すると、まずリーダライタ iは、 RFIDの RAM部 12に格納されている流通経 路情報 uと補助情報 Vの組を読み取る (S511)。次に、リーダライタ 2— iの備えられた拠 点の上流に位置する各拠点の公開鍵から T = pk ||- --||pk を計算した後 (S512)、検
—1 1 —1
証対象として w:=H(T )〇u を計算し (S513)、 wが RSAモジュラス n よりも小さいときは
(S514で YES)、そのまま公開鍵 ei-1で wの署名を検証した値に、 2kをモジュラスとする n の加算を行い、結果^ w'とする (S515)。
-1
[0183] 一方、大きいときは (S514で NO)、モジュラスより大きい数に対しては RSA署名を検証 できないので、 wに対して検証処理を行わず、その値に対して直接 2kをモジュラスとす る n の加算を行い、結果を w,とする (S516)。次に w'が RSAモジュラス nよりも小さいと i-1 i きは (S517で YES)、公開鍵 e で w,の署名を検証した値から、 2kをモジュラスとする n
i-1 i-1 の減算を行い、その値を w"とする (S518)。大きいときは (S517で NO)、モジュラスより大 きい数に対しては RSA署名を検証できないので、 w に対して検証処理を行わず、そ の値に対して直接 2kをモジュラスとする n の減算を行い、結果を w"とする (S519)。
i-1
[0184] そして、 W"のハッシュ値が流通経緯情報 v と等しいかどうかを確かめる (S520)。等
i-1
しいならば正しい経緯を迪つたことの検証に成功したとし、本処理を完了する (S521)。 等しくな ヽ場合は検証に失敗したとし、本処理を完了する (S522)。
[0185] このように、署名検証時は、写像関数でモジュラスだけ大きいほうにずらして検証処 理し、再び逆写像する処理を行つて経緯中の 1つ前の拠点の公開鍵による検証で補 助情報 V が得られたら正しい経緯をたどってきたと判断するものであり、署名検証時
の公開鍵による演算処理を高々 1度だけで済ますことが可能なため、検証処理を高 速化できる。また署名を検証する際に、経緯上の各拠点の公開鍵を検証対象として 入力することによって、公開鍵のすり替えを検出できる。
[0186] 次に、本実施の形態の変形例として、各リーダライタにおいて無線 ICタグ 1に書き込 むメッセージが外部情報入力部 25から入力された場合の署名作成部 22Cの署名作 成処理を図 24を参照して説明する。
[0187] 図 24を参照すると、リーダライタ 2—iに無線 ICタグ 1に書き込むメッセージ Mが存在 する場合、署名作成部 22Cにより、 T' = M ||-||M ||pk I卜 '||pkを計算し (S494')、以下、
i
丁 を図 22の T;と同様に扱うことにより、 φ—
情報 uとして導出し、また無線 ICタグ 1の有する流通経緯情報 u に対して、 h(u )を新 i i-1 i-1 たな補助情報 Vとして導出する。このように署名を計算する際に、経緯上の各拠点の 公開鍵とともに、付与するメッセージも署名対象として入力することで、公開鍵のすり 替えだけでなぐ各リーダライタで付与するメッセージに対する改竄も検知可能となる
[0188] 図 25は各リーダライタにおいて無線 ICタグ 1に書き込むメッセージが存在する場合 の署名検証部 23Cの署名検証処理の手順を示す。 Τ' = Μ ||· ··||Μ ||pk ||-||pk を
—1 1 —1 1 —1 計算し (S512')、以下、 T' を図 23の T と同様に扱うことにより、 h(H(T' Ο _1(§ ( (
l—l l—l l—l l—l g (u ))》》 = v が成立すれば署名の検証に成功したとする。このように署名を検証 —1 -1 —1
する際に、経緯上の各拠点の公開鍵とともに、付与するメッセージも検証対象として 入力することによって、公開鍵のすり替え、メッセージの改竄を検出できる。
[0189] 次に本実施の形態の効果を説明する。
[0190] 第 1の効果は、工場生産品や食品などの一般消費者向けの製品または製品パッケ ージの流通過程において、ホストコンピュータと通信できないオフライン環境でも、流 通経緯を確認することができることである。その理由は、製品に付する書き込み型無 線 ICタグ 1のローカルな記憶領域 (RAM部 12B)に流通の経緯を管理する情報を持ち、 それを必要に応じて参照することで流通経緯を確認することができるからである。これ によって、運用コストを軽減できる。
[0191] 第 2の効果は、流通経緯中にたどる拠点数にスケーラビリティを有することである。
その理由は、流通経緯中にたどる拠点数に無関係な定数 (署名サイ )+補助情報サ ィズで、流通経緯の認証に利用する情報を表現できるからである。
[0192] 第 3の効果は、無線 ICタグ 1の価格を低く抑えられることである。その理由は、第 2の 効果の理由と同等であり、書き込みメモリ領域を多量に実装する必要がないからであ る。これによつて、流通用途に大量に使用することが容易になる。
[0193] 第 4の効果は、一つ前の拠点が信用のおける拠点であることを仮定できるのであれ ば、流通経緯中の各段階のリーダライタや悪意のある第 3者における流通経緯情報 の偽造および改竄の検知に要する署名検証処理を高速ィ匕できることである。その理 由は、署名検証処理を補助情報を利用して高々 1度だけで済ますことが可能だから である。
[0194] 『その他の実施の形態』
以上、本発明を幾つかの実施の形態を挙げて説明したが、本発明は以上の実施の 形態にのみ限定されず、その他各種の付加変更が可能である。例えば、前述の各実 施の形態におけるリーダライタは、署名する前に署名対象の検証を行った力 その検 証を省略するようにしても良ぐその場合には署名検証部を省略することができる。ま た、無線 ICタグが付された製品が正 ヽ経路を経由したものであるかを検証するだけ で、新たな署名を行わないリーダライタも考えられる。その場合には署名作成部を省 略できる。さらに、リーダライタは、その有する機能をノヽードウエア的に実現することは 勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスク や半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータ の立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御する ことにより、そのコンピュータを前述した各実施の形態におけるリーダライタの署名作 成部、署名検証部および送受信部として機能させる。
産業上の利用可能性
[0195] 次に本発明の利用分野について説明する。
[0196] 経済活動における流通業者を考える。すなわち、農林水産物あるいは工業製品の 生産者と、製品を購入して消費/利用する消費者との間に存在する、製品の仕分け、 加工、輸送、保管、販売などに関係する業者である。ここで、流通製品として冷凍マ
グロなどの冷凍食品を、流通業者として冷凍コンテナ業者、トラック業者、冷凍庫を備 える倉庫業者、加工者、販売者を考える。これらの流通製品は商品が生産者力 消 費者に届けられるまで、契約にのっとり、流通業者を順に経ていく。このとき、本発明 によって、生産者や個々の流通業者が、彼等と契約関係にある流通業者を正しく経 てきた力どうかを確認することができる。このとき、流通業者間で共通のホストコンビュ ータを必要とせず、各流通業者はホストコンピュータに通信するインフラも必要としな い。また、書き込み型無線 ICタグに実装する書き込み可能なメモリ容量も、既存の書 き込み型無線 ICタグが保持する数百バイト〜 1Kバイト程度の、高々 1つの署名を記 録するのに十分なメモリ容量さえあれば、流通経緯情報を格納するのに十分であり、 特別に書き込み容量を多く実装した高コストな無線 ICタグを利用せずとも、経緯情報 の管理が可能である。また、実運用時には、情報の改竄や偽造に対応しなければな らないが、本方式では、書き込んだデータの改竄や、偽造も検知可能であり、改竄防 止のために耐タンパ性を無線 ICタグのメモリに備えさせることも必要としな 、。また、 署名付与、検証の演算は、全てリーダライタ側で行われるため、無線 ICタグ側に特別 な演算装置を必要としない。以上によって、低コストで流通経緯の認証が実現できる
[0197] また、流通時に、配送中の衝撃や温度などの情報が何らかの手段で取れれば、そ れらをメッセージとして無線 ICタグに書き込んで配送管理をすることも考えられる。流 通経緯情報を付す際に、これらのメッセージ情報を加味して署名を計算しておくこと で、これらの情報の改ざん検知も同時に実現でき、なおかつ経緯が把握できるので、 不良品発見などのトラブルの際に、不具合の内容と無線 ICタグの記録情報力も原因 を推定することがたやすくなり、トラブルの早期解決につながる。
[0198] また、パーソナルコンピュータや車などの工業製品のパーツ修理や、書籍や CDな どのリサイクルを考える。例えば、前者の工業製品のパーツ修理の場合、修理業者と して、本製品の修理を専門に行う店舗や、工場が考えられる。このとき、同じ店舗で 常に修理するのであれば、修理状況を店舗のホストコンピュータで逐次記録しておく ことで、修理履歴を管理することができ、状況が明確になる。しかし、一般に修理する 箇所'内容や、製品の利用者の都合などで、常に同じ店舗に持ち込まれるとは限らな
いことがある。別の店舗同士で、ホストサーバを共通に運用している状況は一般に考 えにくぐこの場合、ユーザが自ら修理状況を管理することが必要になる。従来、車な どは整備手帳の存在が考えられ、これがあれば修理時履歴の管理は可能であった が、整備手帳自体を管理する手間があった。また整備手帳のような書類が存在しな い細かい部品などの場合は、ユーザがそれに変わるものを用意して管理する必要が あった。これを各製品に付する無線 ICタグで管理することで、ユーザが意識的に行わ ずとも、製品、さらにはそれらを構成するパーツごとの修理状況の管理が行えるように なる。同様に、書籍や CDのリサイクル時に、中古売買店舗などで売買の履歴を管理 することで、どの程度二次流通が行われたかを知ることができ、商品の販売に活かす ことができる。このとき、利用者側でデータを管理するために考えられうる情報の改竄 や偽造にも本発明では検知可能である。また製品に付する無線 ICタグに高コストなメ モリを搭載する必要もないので運用コストを抑えられる。このとき、各店舗や工場の公 開鍵はお互いに事前に共有されて ヽな 、可能性が高 、が、これは必要に応じて公 開鍵管理局 (CA)力ら得ることができる。一般に公開鍵管理局は PKIのフレームヮー クの中で共通運用されている。
また、どの経緯で製品が流通してきたかが分力もないことがある。このときは、所持 する公開鍵で考えられうる流通経緯に関して全て検証を行 ヽ、検証をパスした経緯 があれば、その経緯をたどってきたとみなしてよい。もちろん、予め経緯を知るための 情報を無線 ICタグに書き込んでおいて、その順に検証してもよい。このとき経緯を知 るための情報としては各リーダライタの製造番号 (ID)などを利用できる。これらの IDに 対応する公開鍵を導出する機構を持つことで、経緯情報の検証を効率ィ匕してもょ ヽ