JP4866407B2 - タグプライバシー保護方法、タグ装置、更新装置、それらのプログラム及びこれらのプログラムを格納した記録媒体 - Google Patents

タグプライバシー保護方法、タグ装置、更新装置、それらのプログラム及びこれらのプログラムを格納した記録媒体 Download PDF

Info

Publication number
JP4866407B2
JP4866407B2 JP2008236784A JP2008236784A JP4866407B2 JP 4866407 B2 JP4866407 B2 JP 4866407B2 JP 2008236784 A JP2008236784 A JP 2008236784A JP 2008236784 A JP2008236784 A JP 2008236784A JP 4866407 B2 JP4866407 B2 JP 4866407B2
Authority
JP
Japan
Prior art keywords
information
tag
key
concealment
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008236784A
Other languages
English (en)
Other versions
JP2009038816A (ja
Inventor
美也子 大久保
幸太郎 鈴木
真吾 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008236784A priority Critical patent/JP4866407B2/ja
Publication of JP2009038816A publication Critical patent/JP2009038816A/ja
Application granted granted Critical
Publication of JP4866407B2 publication Critical patent/JP4866407B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Medical Informatics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Finance (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Description

本発明は、情報セキュリティ技術を応用したタグ技術に関し、特にタグ装置から出力される情報から利用者のプライバシー情報が取得されることを防止するタグプライバシー保護方法、タグ装置、更新装置、更新依頼装置、プログラム及び記録媒体に関する。
近年、RFID(Radio Frequency Identification:電波方式認識)等のタグ自動認識システムの導入が進んでいる。このシステムは、「タグ(tag)装置」と呼ばれる小型の情報記録媒体、「リーダー(reader)装置」と呼ばれる読取り機、及び「バックエンド(back-end)装置」と呼ばれるデータベースサーバから構成され、物流管理等に利用されるものである。以下、この技術を概説する。
〔タグ装置の処理〕
基本的なタグ自動認識システムでは、各タグ装置に固有なタグID情報(例えば、MITによるAuto‐IDセンターが定めるタグIDは、製造者コードと、商品の種別を示す商品コードと、商品個体の番号を示す個体番号とからなっている。)がタグ装置に格納される。また、タグ装置は物品等に付され、無線通信により、各タグ装置固有のタグID情報を店舗等に設置されたリーダー装置に送信する。
〔リーダー装置の処理〕
リーダー装置は、無線通信によりタグ装置からタグID情報を読取り、そのタグID情報をバックエンド装置へ送って、物流情報の取得等を依頼する。
〔バックエンド装置の処理〕
バックエンド装置は、各タグ装置のIDと物流情報等のデータベースを管理する。そして、バックエンド装置は、リーダー装置から送られたタグID情報をキーに、このデータベースの物流情報等を検索し、その検索結果をリーダー装置に送信する。
〔基本的なタグ自動認識システムの問題点〕
しかし、基本的なタグ自動認識システムでは、リーダー装置を持っている者であれば誰でもタグID情報を読み取れるため、盗聴されたタグID情報から所持品の情報が漏洩してしまう危険性があった。
これに対し、非特許文献2には、タグ装置がハッシュ(hash)値をリーダー装置に出力する方法が記載されている。
この方法の場合、まず、タグ装置は、ID情報idと乱数rのビット結合のハッシュ値H(id|r)と、この乱数rをリーダー装置に送る。リーダー装置はこれらをバックエンド装置に送る。バックエンド装置は、受け取った乱数rと、データベースに格納されている各id’をビット結合し、そのハッシュ値H(id’|r)を求める。そして、バックエンド装置は、求めたハッシュ値H(id’|r)と、受け取ったハッシュ値H(id|r)とが一致するか否かを検証し、一致したid’に対応する物流情報等をリーダー装置に送信する。これにより、第三者へのタグID情報の漏洩を防止できる。なお、H(*)とは、*にハッシュ関数Hを作用させる処理を意味する。
また、未公開の特許出願番号2003−111342及び2003−113798に示す方法では、タグID情報を秘匿化した秘匿化IDを用い、第三者へのタグID情報の漏洩を防止していた。すなわち、これらの手法では、秘匿化IDをタグ装置に格納しておき、この秘匿化IDを読み取ったクライアント装置が、ネットワーク上のセキュリティサーバ装置に、この秘匿化IDの復号を依頼する。この依頼を受けたセキュリティサーバ装置は、依頼元が正規のクライアント装置であることを確認した後、この秘匿化IDの復号結果である平文のタグID情報を応答する。これにより、第三者へのタグID情報の漏洩を防止できる。
EPC global, Inc.、"EPCglobal"、[online]、[平成16年9月9日検索]、インターネット<http://www.epcglobalinc.org/> Stephen A. Weis, Sanjay E. Sarma, Ronald L. Rivest, Daniel W. Engels, Security and Privacy Aspects of Low-Cost Radio Frequency Identification Systems, First International Conference on Security in Pervasive Computing.
しかし、従来の方法では、タグ装置から出力される情報から、タグ装置の流通過程が追跡(trace)される場合がある。
つまり、例えば非特許文献2に記載された方法の場合、タグ装置からリーダー装置に送られるハッシュ値H(id|r)は、idを知らない第三者にとっては単なる乱数である。また、乱数rは、タグ装置とリーダー装置との通信を行うたびに生成されるため、ハッシュ値H(id|r)も通信ごとに異なる。従って、通常、攻撃者は、タグ装置から盗聴したハッシュ値H(id|r)と、過去の通信履歴のハッシュ値H(id|r)との関連性を知ることはできない。しかし、タグ装置のタンパー等により、攻撃者がID情報idを取得できた場合、この攻撃者は、通信履歴の乱数rからハッシュ値H(id|r)を計算することができる(ハッシュ関数Hを知っていれば)。そして、その算出値が通信履歴のハッシュ値(乱数rに対応する)と一致するか否かを検証することにより、この攻撃者は、その通信履歴が、取得したIDに対応するものであるか否かを知ることができ、このIDに対応する通信履歴を収集することにより、タグ装置の流通過程を追跡することができる。
また、例えば特許出願番号2003−111342等に示す方法では、常に無線タグ装置から同じ秘匿化IDが返されるため、攻撃者は、平文のIDを解読できなくても、その秘匿化IDを追跡することによって、そのタグ装置の流通過程を追跡することができる。
本発明はこのような点に鑑みてなされたものであり、第三者によるタグ装置の流通過程の追跡を防止することが可能な技術を提供することを目的とする。
本発明では以上の課題を解決するために、タグ装置にタグID情報の秘匿化情報を格納しておき、これを所定の契機で上書き更新する。これにより、攻撃者は、過去にタグ装置が出力した情報と、更新された秘匿化情報との関連をとることが困難となり、タグ装置の流通過程を追跡することが困難となる。すなわち本発明では、タグ装置の外部に設けられた更新装置において、タグ装置に格納されている秘匿化ID情報を、所定の契機で、それとの関連性の把握が困難な新たな秘匿化ID情報に更新する。このように秘匿化ID情報が更新されるため、攻撃者は、この更新前にタグ装置からバックエンド装置へ出力された秘匿化ID情報と、更新後の新たな秘匿化ID情報との対応を知ることはできない。よって、攻撃者は、タグ装置と通信履歴との対応を知ることができない。
以上のように、本発明では、第三者がタグ装置と通信履歴との対応を知ることができないため、第三者によるタグ装置の流通過程の追跡を防止できる。
以下、図面を参照して本発明の実施形態を説明する。
〔第1の実施の形態〕
<構成>
図1Aは、第1の実施の形態におけるタグ自動認識システム1の全体を例示したブロック図である。また、Bはタグ装置10の概略構成を、Cはバックエンド装置30の概略構成を、それぞれ例示したブロック図である。
図1Aに例示するように、本形態のタグ自動認識システム1は、タグ装置10と、リーダー装置20と、このリーダー装置20にネットワーク40を通じて接続されたバックエンド装置30とからなる。
また、図1Bに例示するように、本形態のタグ装置10は、それぞれのタグID情報に対応する秘密値が格納され秘密値メモリ11と、逆像を求めることが困難な第1の関数F1を作用させる第1の演算部12と、定義域の元とその写像との関係を撹乱させる第2の関数F2を作用させる第2の演算部13と、秘密値メモリ11の秘密値に対応するタグ出力情報をバックエンド装置30に対して出力する出力部14とからなる。
また、図1Cに例示するように、本形態のバックエンド装置30は、各タグID情報とそれらに対応する秘密値とが対応付けられたデータベースメモリ31と、タグ出力情報の入力を受け付ける入力部32と、上記の第1の関数F1と第2の関数とを作用させる演算部33と、演算部33における演算結果とタグ出力情報とを比較する比較部34と、データベースメモリ31から情報を抽出する読出し部35とからなる。
<タグ装置10の処理>
タグ装置10がリーダー装置20からの読み出し要求を受けると、まず、タグ装置10の第2の演算部13が、秘密値メモリ11から秘密値を読み出し、これに第2の関数F2を作用させたタグ出力情報を生成する。このタグ出力情報は出力部14に送られ、出力部14においてバックエンド装置30に対して出力(無線或いは有線)される。その後、第1の演算部12において、秘密値メモリ11から秘密値の少なくとも一部の要素を読み出し、これに第1の関数F1を作用させ、その演算結果で秘密値メモリ11内の秘密値を上書き更新する。なお、ここではタグ出力情報を生成した後、秘密値メモリ11内の秘密値を上書き更新しているが、秘密値メモリ11内の秘密値を上書き更新した後、タグ出力情報を生成する構成としてもよい。
<リーダー装置20の処理>
リーダー装置20は、タグ装置10からバックエンド装置30に対して出力されたタグ出力情報の入力を受け付け、これを、ネットワーク40を通じバックエンド装置30に送信する。
<バックエンド装置30の処理>
バックエンド装置30の入力部32は、リーダー装置20から送信されたタグ出力情報の入力を受ける。これをトリガに、演算部33は、データベースメモリ31の秘密値の少なくとも一部の要素に、タグ装置10で使用された第1の関数F1を所定回数作用させた後、さらに当該タグ装置10で使用された第2の関数を作用させる。そして、比較部34において、演算部33における演算結果とタグ出力情報とを順次比較し、これらが一致した場合、読出し部35において、一致した演算結果に対応する秘密値に対応付けられているタグID情報を、データベースメモリ31から抽出する。
〔実施例1〕
図2は、第1の実施の形態の実施例1におけるタグ自動認識システム100の全体構成を例示した図であり、図3は、この実施例1における処理を説明するためのフローチャートである。
以下、これらの図を用いて、実施例1の機能構成及び処理方法について説明する。
<構成>
図2に例示するように、実施例1のタグ自動認識システム100は、タグ装置110、リーダー装置120、及びリーダー装置120にネットワーク140を通じて通信可能に接続されたバックエンド装置130を有する。なお、図2では、説明の簡略化のため、1つのタグ装置110のみを図示しているが、実際はこれ以上の数のタグ装置110が存在する。また、図2では、リーダー装置120及びバックエンド装置130を一つずつ示しているが、これ以上の数のリーダー装置120及びバックエンド装置130によって本システムを構成してもよい。
<タグ装置>
この例のタグ装置110は、秘密値メモリ111、ハッシュ演算部112(「第2の演算部」に相当)、ハッシュ演算部113(「第1の演算部」に相当)、インタフェース114(「出力部」に相当)、及びメモリ115aを具備する制御部115を有する。
ここで、秘密値メモリ111,メモリ115aは、例えば、EEPROM(Electronically Erasable and Programmable Read Only Memory)、FeRAM(Ferroelectric Random Access Memory)、フラッシュメモリ、NV(Nonvolatile)RAM等の読書き可能なメモリである。
ハッシュ演算部112及びハッシュ演算部113は、例えば、入力値にそれぞれ一方向性関数であるハッシュ(hash)関数G,H:{0,1}→{0,1}を作用させ、その結果を出力するように構成された集積回路である。なお、{0,1}は、全てのバイナリ系列の集合を意味し、{0,1}は、Lビット長のバイナリ系列の集合を意味する。また、このようなハッシュ関数G,Hとしては、SHA−1、MD5等を例示できる。なお、このハッシュ関数Hは「逆像を求めることが困難な第1の関数F1」に相当し、ハッシュ関数Gは「定義域の元とその写像との関係を撹乱させる第2の関数F2」に相当する。また、制御部115は、例えば、タグ装置110全体の処理を制御するように構成された集積回路である。
インタフェース114は、例えば、無線或いは有線によってリーダー装置120にデータを出力するハードウェアである。具体的には、インタフェース114は、例えば、NRZ符号やマンチェスター符号化やミラー符号や単極RZ符号化等によって符号化・復号化を行う符号化・復号化回路、ASK(Amplitude Shift Keying)やPSK(Phase Shift Keying)やFSK(Frequency Shift Keying)等によって変・復調を行う変・復調回路、ダイポールアンテナやマイクロストリップアンテナやループコイルやコア入りコイル等のアンテナを有し、ISM帯(Industry Science Medical band)の周波数を用いて信号の送受信を行う。なお、通信方式は、例えば、電磁誘導方式や電波方式を利用する。
またハッシュ演算部112及びハッシュ演算部113は、秘密値メモリ111と電気的に接続され、ハッシュ演算部112は、インタフェース114(「出力部」に相当)と電気的に接続される。また、この図では省略するが、制御部115はタグ装置110の各部と電気的に接続されている。
<リーダー装置>
この例のリーダー装置120は、物流情報メモリ121、インタフェース122、通信部123、メモリ124a及び制御部124を有する。
物流情報メモリ121は、例えば、ハードディスク装置、フレキシブルディスク等の磁気記録装置、DVD−RAM(Random Access Memory)、CD−R(Recordable)/RW(ReWritable)等の光ディスク装置、MO(Magneto-Optical disc)等の光磁気記録装置、EEP−ROM(Electronically Erasable and Programmable-Read Only Memory)、フラッシュメモリ(flash memory)等の半導体メモリ等である。インタフェース122は、例えば、インタフェース114の例と同様なハードウェアである。通信部123は、例えば、LANカード、モデム、ターミナルアダプター等であり、制御部124は、例えば、メモリ124aを有するCISC(Complex Instruction Set Computer)方式、RISC(Reduced Instruction Set Computer)方式等のCPU(Central Processing Unit)である。
また、インタフェース122及び物流情報メモリ121は通信部123と電気的に接続され、この図では省略するが、制御部124はリーダー装置120の各部と電気的に接続されている。
<バックエンド装置>
この例のバックエンド装置130は、データベースメモリ131、通信部132(「入力部」に相当)、ハッシュ演算部133(「第3の演算部」に相当)、比較部134、読書き部135(「読出し部」に相当)、メモリ136a及び制御部136を有している。具体的には、バックエンド装置130は、例えば、CPU、RAM、ROM(Read Only Memory)、磁気記録装置や光ディスク装置等の外部記憶装置、LANカードやモデムやターミナルアダプター等をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。そしてこのCPUが、RAMに格納されたプログラムを読み出し、それに従った処理を実行することによって以下に示す各処理機能を実現する。
<前処理>
まず、バックエンド装置130のハッシュ演算部133がタグ装置110と同じハッシュ関数G,Hを使用できるように、所定のプログラムがバックエンド装置130にインストールされる。
各タグID情報id(k∈{1,...,m},kは各タグ装置に対応,mはタグ装置の総数)に対応する秘密値sk,1(「第1の秘密値」に相当)を、それぞれのタグ装置110の秘密値メモリ111に1つずつ格納しておく。なお、この秘密値sk,1は、例えば、タグ装置110外部の乱数生成装置(図示せず)が、SHA-1等の一方向性ハッシュ関数を用いた計算量理論に基づく擬似乱数生成アルゴリズムによって生成する擬似乱数sk,1∈{0,1}である。なお、異なるタグ装置に格納される乱数sk,1は相互に一致しないものとする。また、バックエンド装置130のデータベースメモリ131には、各タグ装置nに対応する秘密値s(「第2の秘密値」に相当,n∈{1,...,m},nはkに対応)とタグID情報idと物流情報等のデータdataとが対応付けられて格納される。
<タグ装置の処理>
以下では、i回目(iは自然数)に、タグ装置110をリーダー装置120に読取らせた際の処理を説明する。なお、タグ装置110の処理は、制御部115の制御のもと行われ、その制御に必要なデータはメモリ115aに逐一読み書きされる。
まず、ハッシュ演算部112において、秘密値メモリ111から秘密値sk,i(「第1の秘密値」に相当)を読み出し(ステップS1)、そのハッシュ値であるタグ出力情報G(sk,i)を生成する(ステップS2)。このタグ出力情報G(sk,i)は、インタフェース114に送られ、そこから無線或いは有線でリーダー装置120に送信される(ステップS3)。
次に、ハッシュ演算部113において、秘密値メモリ111から読み出した秘密値sk,iのハッシュ値sk,i+1=H(sk,i)を演算し(ステップS4)、このハッシュ値sk,i+1を、新たな秘密値sk,i+1(「新たな第1の秘密値」に相当)として秘密値メモリ111に上書き保存する(秘密値メモリ111の秘密値sk,iを消去し、代わりに秘密値sk,i+1を格納する:ステップS5)。なお、H(*)とは、*にハッシュ関数Hを作用させる処理を意味する。
<リーダー装置の処理>
リーダー装置120の処理は、制御部124の制御のもと行われ、その制御に必要なデータはメモリ124aに逐一読み書きされる。
まず、リーダー装置120は、インタフェース122において、タグ装置110から送信されたタグ出力情報G(sk,i)を受信し(ステップS6)、通信部123に送る。通信部123は、物流情報メモリ121から物流情報pd(例えば、リーダー装置120が設置されている店舗コード等)を抽出し(ステップS7)、この物流情報pdとタグ出力情報G(sk,i)とを、ネットワーク140を通じ、バックエンド装置130に送信する(ステップS8)。
<バックエンド装置の処理>
バックエンド装置130の処理は、制御部136の制御のもと行われ、その制御に必要なデータはメモリ136aに逐一読み書きされる。
まず、バックエンド装置130は、通信部132において、リーダー装置120から送信された物流情報pdとタグ出力情報G(sk,i)を受信する(入力を受け付ける:ステップS9)。なお、受信された物流情報pdとタグ出力情報G(sk,i)はメモリ136aに格納される。次に、制御部136は、nに1を代入し、これをメモリ136aに格納する(ステップS10)。そして、制御部136は、メモリ136aのnの値を参照し、ハッシュ演算部133にデータベースメモリ131から秘密値sn,1を抽出させる(ステップS11)。次に、制御部136は、jに0を代入し、これをメモリ136aに格納する(ステップS12)。そして、制御部136は、メモリ136aのjの値を参照し、ハッシュ演算部133にハッシュ値G(H(sn,1))(「第3の演算部における演算結果」に相当)を算出させる(ステップS13)。なお、H(sn,1)は、秘密値sn,1にハッシュ関数Hをj回作用させることを意味する。また、H(sn,1)はsn,1を意味する。
次に、比較部134において、ハッシュ演算部133からハッシュ値G(H(sn,1))を、メモリ136aからタグ出力情報G(sk,i)を、それぞれ取得し、それらを比較する(ステップS14)。
ここで、これらの値が一致しなかった場合には(ステップS15)、制御部136は、メモリ136aのjにj+1を代入し(ステップS16)、jが所定の最大値jmaxを超えたか否かを判断する(ステップS17)。ここで、jが最大値jmax以下であった場合、制御部136は、ステップS13以降の処理を再実行させ、jが最大値jmaxを超えた場合には、メモリ136aのnがmであるか否かを判断する(ステップS18)。ここで、n=mでないならば、制御部136は、メモリ136aのnにn+1を格納し(ステップS19)、ステップS11以降の処理を再実行させ、n=mならば処理を終了させる。なお、この処理は、制御部136の制御のもと、タグ出力情報G(sk,i)-とハッシュ値G(H(sn,1))とが一致しなければ、n及びjの少なくとも一方の値を変化させて、ハッシュ演算部133及び比較部134における処理を再び行うことに相当する。
一方、タグ出力情報G(sk,i)とハッシュ値G(H(sn,1))が一致した場合(ステップS15)、制御部136は、一致したハッシュ値G(H(sn,1))に対応する秘密値sn,1を読書き部135に送り、読書き部135は、一致したハッシュ値G(H(sn,1))に対応する秘密値sn,1に対応付けられているタグID情報idと物流情報等のデータdataをデータベースメモリ131から抽出し、これを通信部132に送る(ステップS20)。また、読書き部135は、メモリ136aから物流情報pdを受け取り、この物流情報pdを、この秘密値sn,1に対応付けて、データベースメモリ131に書き込む(ステップS20)。
通信部132に送られたタグID情報idとデータdataは、ネットワーク140を通じてリーダー装置120に送信され(ステップS21)、リーダー装置120の通信部123で受信され、出力される(ステップS22)。
<実施例1の特徴>
[追跡不可能性]
本形態の実施例1ではハッシュ値G(sk,i)をタグ出力情報として通信に用いた。ハッシュ値の認識不能性から、秘密値を知らない攻撃者にとって、このハッシュ値G(sk,i)は単なる乱数にみえる。そのため、この攻撃者は、G(sk,i)とG(sk,i+1)が同じタグ装置110から出力された値であるか否かを知ることはできず、タグ装置110の流通過程も追跡できない。
[フォワードセキュリティ]
本形態の実施例1では、通信に用いた秘密値メモリ111内の秘密値を、ハッシュ関数Hによって更新することとした。また、ハッシュ関数の一方向性により、タグ装置110がタンパー等され秘密値sk,iが漏洩しても、攻撃者がこの秘密値sk,iから過去の秘密値sk,i‐Δiを求めることはできない。従って、たとえ秘密値sk,iが漏洩しても、攻撃者は、取得した秘密値sk,iと通信履歴の対応をとれず、タグ装置110の追跡もできない。
[追跡可能性]
一方、ハッシュ関数G,Hの衝突困難性(異なる値のハッシュ値が同じ値をとりにくい性質)から、秘密値sn,1を知っているバックエンド装置130は、タグ装置110の流通過程を追跡できる。
[効率性]
ハッシュ関数の演算だけで通信データを構成するため、従来の乱数を発生させる方法に比べ、タグ装置110に取り込む回路規模も小さく、低価格が要求される用途に適している。
なお、バックエンド装置130における、ステップS13の過程で算出されたハッシュ値H(sn,1)をメモリ136aに記録しておき、これを次のループのステップS13で利用することとしてもよい。すなわち、記録しておいたH(sn,1)を用い、H(H(sn,1))により、ハッシュ値Hj+1(sn,1)を求め、さらにこの値をメモリ136aに格納しておくこととしてもよい。この場合、ハッシュ演算部133のハッシュ演算回数を低減させることができ、バックエンド装置130の演算効率を向上させることができる。
〔実施例2〕
実施例2は実施例1の変形例であり、タグ装置がさらにタグID情報id(「第1の固有値w」に相当)を保持し、sk,i+1=H(sk,i|id)により、秘密値sk,iを更新する点のみが実施例1と相違する。以下では、実施例1との相違点のみ説明する。
図4は、実施例2におけるタグ自動認識システム200の全体構成を例示した図である。なお、この図において実施例1と共通する部分には、実施例1と共通の符号を付している。以下、この図を用いて、実施例2の機能構成及び処理方法について説明する。
<前処理>
実施例1とは、タグ装置210の秘密値メモリ211に、そのタグID情報idとこれに対応する秘密値sk,iとが格納される点のみが相違する。また、バックエンド装置130のデータベースメモリ131には、各タグ装置nに対応する秘密値sとタグID情報idと物流情報等のデータdataとが対応付けられて格納されるが、このタグID情報idは「第2の固有値w」に相当する。
<タグ装置の処理>
実施例1とは、ステップS4の処理のみが相違する。すなわち、実施例1のステップS4の処理の代わりに、ハッシュ演算部213(「第1の演算部」に相当)において、秘密値メモリ211から秘密値sk,iとタグID情報idを抽出し、sk,i+1=H(sk,i,|id)を演算する。なお、α|βはαとβとのビット結合を意味する。そして、その演算結果を、新たな秘密値sk,i+1として秘密値メモリ211に上書きする。
<リーダー装置の処理>
実施例1と同様である。
<バックエンド装置の処理>
実施例1とは、ステップS11、S13、S14の処理のみが相違する。すなわち、実施例2では、ステップS11の代わりにバックエンド装置230のハッシュ演算部233(「第3の演算部」に相当)において、データベースメモリ131から、秘密値sn,1及びそれに対応するタグID情報idを抽出する。
次に、実施例1と同様、制御部136が、jに0を代入し、これをメモリ136aに格納する(ステップS12)。その後、ステップS13の代わりに、ハッシュ演算部233が、ハッシュ値G(I(n))を計算する。但し、I(n)=sn,1(j=0),I(n)=H(Ij−1(n)|id)(j≧1)と定義する。すなわち、ハッシュ演算部233は、秘密値sn,1及びそれに対応するタグID情報idからI(n)を再帰的に求め、そのハッシュ値G(I(n))を計算する。なお、この再帰的な演算は、演算過程における各Ij’(n)(j’∈{1,...,j−1})をメモリ136aに一時的に格納し、それを次のIj’+1(n)の算出に用いることにより実現する。また、ハッシュ値G(I(n))を計算する際に求めたI(n)を、少なくとも次のハッシュ値G(Ij+1(n))の算出時までメモリ136aに保存しておいてもよい。これにより、一旦求めたI(n)を、次のハッシュ値G(Ij+1(n))を求める際のIj+1(n)=H(I(n)|id)の演算に利用でき、演算の効率化を図ることができる。
その後、ステップS14の代わりに、比較部134において、ハッシュ演算部233からハッシュ値G(I(n))を、メモリ136aからタグ出力情報G(sk,i)を、それぞれ取得し、それらを比較する。その後、実施例1と同様、ステップS15以降の処理を実行する。
以上説明したように、実施例2では、sk,i+1=H(sk,i|id)の演算によってタグ装置210の秘密値メモリ211の秘密値sk,iを更新する。これにより、異なるタグID情報idに対応する秘密値の更新内容が半永久的に一致してしまう事態を防止できる。すなわち、異なる秘密値等にそれぞれ同じハッシュ関数を作用させていった場合、ある時点でそれらの演算結果が一致する場合(collision)もあり得る。しかし、その場合であっても、それぞれの秘密値sk,iに対応するタグID情報idは異なるため、sk,i+1=H(sk,i|id)によって演算される次の秘密値は同一とならない。これは、sk,i+1=H(sk,i)によって秘密値の更新を行う場合には得られない効果である。
なお、実施例2では、タグID情報id及びidを、それぞれ第1の固有値w及び第2の固有値wとしたが、各タグID情報に対応するその他の情報を固有値として用いてもよい。
〔実施例3〕
本形態は実施例1の変形例であり、バックエンド装置において、予め算出した演算値G(H(sn,1))(j=0,…,jmax)を記録しておく点のみが実施例1と相違する。以下では、実施例1との相違点のみ説明する。
図5は、実施例3におけるタグ自動認識システム300の全体構成を例示した図である。なお、この図において実施例1と共通する部分には、実施例1と共通の符号を付している。また、図6は、実施例3のバックエンド装置330の処理を説明するためのフローチャートである。以下、これらの図を用いて、実施例3の機能構成及び処理方法について説明する。
<前処理>
バックエンド装置330のデータベースメモリ331に、ハッシュ演算部133において予め算出した演算結果G(H(sn,1))(j=0,…,jmax)を、秘密値sn,1に対応付けて格納しておく点のみが第1の実施の形態と相違する。
<タグ装置の処理・リーダー装置の処理>
実施例1と同様である。
<バックエンド装置の処理>
まず、バックエンド装置330は、通信部132において、リーダー装置120から送信された物流情報pdとタグ出力情報G(sk,i)を受信する(ステップS31)。なお、受信された物流情報pdとタグ出力情報G(sk,i)はメモリ136aに格納される。次に、制御部136は、nに1を代入し、これをメモリ136aに格納する(ステップS32)。次に、制御部136は、jに0を代入し、これをメモリ136aに格納する(ステップS33)。そして、制御部136は、メモリ136aのn,jの値を参照し、データベースメモリ331に格納された演算結果G(H(sn,1))を抽出する(ステップS34)。
次に、比較部134において、この演算結果G(H(sn,1))とメモリ136aから抽出したタグ出力情報G(sk,i)とを比較する(ステップS35)。
ここで、これらの値が一致しなかった場合には(ステップS36)、制御部136は、メモリ136aのjにj+1を代入し(ステップS37)、jが所定の最大値jmaxを超えたか否かを判断する(ステップS38)。ここで、jが最大値jmax以下であった場合、制御部136は、ステップS34以降の処理を再実行させ、jが最大値jmaxを超えた場合には、メモリ136aのnがmであるか否かを判断する(ステップS39)。ここで、n=mでないならば、制御部136は、n←n+1(n+1を新たなnとする)をメモリ136aに格納し(ステップS40)、ステップS33以降の処理を再実行させ、n=mならば処理を終了させる。なお、この処理は、制御部136の制御のもと、タグ出力情報G(sk,i)-とハッシュ値G(H(sn,1))とが一致しなければ、n及びjの少なくとも一方の値を変化させて、ハッシュ演算部133及び比較部134における処理を再び行うことに相当する。
一方、タグ出力情報G(sk,i)とハッシュ値G(H(sn,1))が一致した場合(ステップS36)、制御部136は、一致した演算結果G(H(sn,1))に対応する秘密値sn,1を読書き部135に送り、読書き部135は、一致したハッシュ値G(H(sn,1))に対応する秘密値sn,1に対応付けられているタグID情報idと物流情報等のデータdataをデータベースメモリ331から抽出し、これを通信部132に送る(ステップS40)。また、読書き部135は、メモリ136aから物流情報pdを受け取り、この物流情報pdを、この秘密値sn,1に対応付けて、データベースメモリ131に書き込む(ステップS40)。通信部132に送られたタグID情報idとデータdataは、ネットワーク140を通じてリーダー装置120に送信される(ステップS41)。
以上説明したように、実施例3では、予め算出した演算結果G(H(sn,1))をデータベースメモリ331に格納しておくこととした。そのため、比較処理ごとにG(H(sn,1))を算出する場合に比べ、バックエンド装置330の処理量を低減させることができる。
〔実施例4〕
実施例4は実施例1の変形例であり、タグ装置から秘密値の更新回数を特定する情報を送信し、バックエンド装置でこの秘密値の更新回数を用いて処理を行う点のみが実施例1と相違する。以下では、実施例1との相違点のみ説明する。
図7は、実施例4におけるタグ自動認識システム400の全体構成を例示した図である。なお、この図において実施例1と共通する部分には、実施例1と共通の符号を付している。また、図8は、実施例4のバックエンド装置430の処理を説明するためのフローチャートである。以下、これらの図を用いて、実施例4の機能構成及び処理方法について説明する。
<タグ装置の構成>
実施例1とは、タグ装置410が、秘密値の更新回数rnをカウントするカウンタ416を有している点のみが相違する。
<タグ装置の処理>
実施例1とは、タグ装置410の秘密値メモリ411に秘密値sk,iの他、カウンタ416がカウントした秘密値sk,iの更新回数rnが格納される点、この更新回数rnを特定する情報を、ハッシュ演算部112及びインタフェース114(「出力部」に相当)を介してリーダー装置120に送信する点のみが相違する。
<リーダー装置の処理>
実施例1とは、インタフェース122において、さらに更新回数rnを特定する情報を受信し、通信部123において、さらにこの更新回数rnを特定する情報を、ネットワーク140を通じてバックエンド装置430に送信する点のみが相違する。
<バックエンド装置の処理>
まず、バックエンド装置430は、通信部132において、リーダー装置120から送信されたrnを特定する情報、物流情報pd及びタグ出力情報G(sk,i)を受信する(ステップS50)。なお、受信されたrnを特定する情報、物流情報pd及びタグ出力情報G(sk,i)はメモリ136aに格納される。次に、制御部136は、nに1を代入し、これをメモリ136aに格納する(ステップS51)。そして、制御部136は、メモリ136aのn,jの値を参照し、ハッシュ演算部433にデータベースメモリ131から秘密値sn,1を抽出させ(ステップS52)、これにハッシュ関数Hをrn回作用させた後、さらにハッシュ関数Gを作用させ、ハッシュ値G(H(sn,1))(j=rn)を算出させる(ステップS53)。
次に、比較部134において、ハッシュ演算部433からハッシュ値G(H(sn,1))を、メモリ136aからタグ出力情報G(sk,i)を、それぞれ取得し、それらを比較する(ステップS54)。
ここで、これらの値が一致しなかった場合(ステップS55)、制御部136は、メモリ136aのnがmであるか否かを判断する(ステップS56)。ここで、n=mでないならば、制御部136は、n←n+1(n+1を新たなnとする)をメモリ136aに格納し(ステップS57)、ステップS52以降の処理を再実行させ、n=mならば処理を終了させる。なお、この処理は、ハッシュ値G(H(sn,1))とタグ出力情報G(sk,i)とが一致しない場合、nの値を変化させて、ハッシュ演算部433及び比較部134における処理を再び実行させることに相当する。
一方、タグ出力情報G(sk,i)とハッシュ値G(H(sn,1))が一致した場合(ステップS55)、制御部136は、一致したハッシュ値G(H(sn,1))に対応する秘密値sn,1を読書き部135に送り、読書き部135は、一致したハッシュ値G(H(sn,1))に対応する秘密値sn,1に対応付けられているタグID情報idと物流情報等のデータdataをデータベースメモリ131から抽出し、これを通信部132に送る(ステップS58)。また、読書き部135は、メモリ136aから物流情報pdを受け取り、この物流情報pdを、この秘密値sn,1に対応付けて、データベースメモリ131に書き込む(ステップS59)。通信部132に送られたタグID情報idとデータdataは、ネットワーク140を通じてリーダー装置120に送信される(ステップS59)。
以上説明したように、実施例4では、タグ装置410においてrnを送信し、バックエンド装置430において、このrnを用いてハッシュ値G(Hrn(sn,1))を算出して比較処理を行うこととした。これにより、バックエンド装置430の比較処理は、各sn,1に対し、1回のみとなり、この処理に必要な処理量を低減させることができる。
〔実施例5〕
実施例5は実施例1の変形例であり、ハッシュ関数の代わりに秘密鍵暗号関数を用いて秘密値の更新・比較を行う点のみが実施例1と相違する。以下では、実施例1との相違点のみ説明する。
図9は、実施例5におけるタグ自動認識システム500の全体構成を例示した図である。なお、この図において実施例1と共通する部分には、実施例1と共通の符号を付している。また、図10Aは、実施例5におけるタグ装置510の処理を説明するためのフローチャートであり、図10Bは、実施例5におけるバックエンド装置530の処理を説明するためのフローチャートである。以下、これらの図を用いて、本実施例の機能構成及び処理方法について説明する。
<前処理>
実施例5では、タグ装置510に鍵メモリ515が設けられ、バックエンド装置530に鍵メモリ536が設けられ、それぞれに共通鍵KG,KHが格納される。また、タグ装置510には、実施例1のハッシュ演算部112、113の代わりに暗号関数演算部512、513が設けられ、バックエンド装置530には、ハッシュ演算部133の代わりに暗号関数演算部533が設けられる。そして、暗号関数演算部512、513,533は、ハッシュ関数の代わりに、AES,カメリア(Camellia)等の共通鍵暗号関数Eによる演算が可能なように構成される。なお、実施例5では、共通鍵KHを用いた共通鍵暗号関数Eが「逆像を求めることが困難な第1の関数F1」に相当し、共通鍵KGを用いた共通鍵暗号関数Eが「定義域の元とその写像との関係を撹乱させる第2の関数F2」に相当する。すなわち、この例の第1の関数F1及び第2の関数F2は、異なる共通鍵を適用した同じ共通鍵暗号関数である。
以上の点が実施例1との相違点である。
<タグ装置の処理>
まず、暗号関数演算部512(「第2の演算部」に相当)において、秘密値メモリ111から秘密値sk,iを抽出し(ステップS61)、鍵メモリ515から共通鍵KGを抽出し、秘密値sk,iに共通鍵KGで共通鍵暗号関数Eを作用させる(EKG(sk,i):ステップS62)。算出された暗号文EKG(sk,i)は、タグ出力情報EKG(sk,i)としてインタフェース114から、無線或いは有線で、リーダー装置120に送信される(ステップS63)。
次に、暗号関数演算部513(「第1の演算部」に相当)において、鍵メモリ515から共通鍵KHを抽出し、秘密値メモリ111から秘密値sk,iを抽出し、この秘密値sk,iに共通鍵KHで共通鍵暗号関数Eを作用させ(ステップS64)、その演算結果を新たな秘密値si+1=EKH(sk,i)として秘密値メモリ111に上書き保存する(ステップS65)。
<リーダー装置の処理>
実施例1と同様である。
<バックエンド装置の処理>
まず、バックエンド装置530は、通信部132において、リーダー装置120から送信された物流情報pdとタグ出力情報EKG(sk,i)を受信する(ステップS70)。なお、受信された物流情報pdとタグ出力情報EKG(sk,i)はメモリ136aに格納される。次に、制御部136は、nに1を代入し、これをメモリ136aに格納する(ステップS71)。そして、制御部136は、メモリ136aのnの値を参照し、暗号関数演算部533(「第3の演算部」に相当)にデータベースメモリ131から秘密値sn,1を抽出させる(ステップS72)。次に、制御部136は、jに0を代入し、これをメモリ136aに格納する(ステップS73)。そして、制御部136は、メモリ136aのjの値を参照し、暗号関数演算部533に暗号文EKG(E KH(sn,1))(「第3の演算部における演算結果」に相当)を算出させる(ステップS74)。なお、E KH(sn,1)は、秘密値sn,1に共通鍵KHで共通鍵暗号関数Eをj回作用させることを意味する。次に、比較部134において、ハッシュ演算部133から暗号文EKG(E KH(sn,1))を、メモリ136aからタグ出力情報KG(sk,i)を、それぞれ取得し、それらを比較する(ステップS75)。
ここで、これらの値が一致しなかった場合には(ステップS76)、制御部136は、メモリ136aのjにj+1を代入し(ステップS77)、jが所定の最大値jmaxを超えたか否かを判断する(ステップS78)。ここで、jが最大値jmax以下であった場合、制御部136は、ステップS74以降の処理を再実行させ、jが最大値jmaxを超えた場合には、メモリ136aのnがmであるか否かを判断する(ステップS79)。ここで、n=mでないならば、制御部136は、n←n+1(n+1を新たなnとする)をメモリ136aに格納し(ステップS80)、ステップS72以降の処理を再実行させ、n=mならば処理を終了させる。なお、この処理は、制御部136の制御のもと、タグ出力情報EKG(sk,i)と暗号文EKG(E KH(sn,1))とが一致しなければ、n及びjの少なくとも一方の値を変化させて、暗号関数演算部533及び比較部134における処理を再び行うことに相当する。
一方、タグ出力情報EKG(sk,i)と暗号文EKG(E KH(sn,1))が一致した場合(ステップS76)、制御部136は、一致した暗号文EKG(E KH(sn,1))に対応する秘密値sn,1を読書き部135に送り、読書き部135は、一致した暗号文EKG(E KH(sn,1))に対応する秘密値sn,1に対応付けられているタグID情報idと物流情報等のデータdataをデータベースメモリ131から抽出し、これを通信部132に送る(ステップS81)。また、読書き部135は、メモリ136aから物流情報pdを受け取り、この物流情報pdを、この秘密値sn,1に対応付けて、データベースメモリ131に書き込む(ステップS81)。通信部132に送られたタグID情報idとデータdataは、ネットワーク140を通じてリーダー装置120に送信される(ステップS82)。
なお、バックエンド装置530における、ステップS74の過程で算出された暗号文E KH(sn,1)をメモリ136aに記録しておき、これを次のループのステップS74で利用することとしてもよい。すなわち、記録しておいたE KH(sn,1)を用い、EKH(E KH(sn,1))により、暗号文Ej+1 KH(sn,1)を求め、さらにこの値をメモリ136aに格納しておくこととしてもよい。この場合、暗号関数演算部533の暗号演算回数を低減させることができ、バックエンド装置530の演算効率を向上させることができる。さらに、バックエンド装置530において、E KH(sn,1)(j∈{1,...,jmax})を事前計算してメモリ136aに格納しておき、これをステップS74で利用することとしてもよい。この場合もバックエンド装置530の演算効率を向上させることができる。
また、実施例5は、共通鍵KHを用いた共通鍵暗号関数Eを「逆像を求めることが困難な第1の関数F1」とし、共通鍵KGを用いた共通鍵暗号関数Eを「定義域の元とその写像との関係を撹乱させる第2の関数F2」として処理を行う例であるが、第1の関数F1及び第2の関数F2の一方をハッシュ関数として処理を行ってもよい。さらに、前述の実施例1から4或いは後述する実施例6から11において、第1の関数F1及び第2の関数F2の少なくとも一方を共通鍵KH或いはKGを用いた共通鍵暗号関数Eとして処理を行ってもよい。
このように実施例5では、共有鍵暗号関数を用いて秘密値sk,iを更新することとした。そのため、タグ装置510から秘密値sk,iが漏洩しても、攻撃者がこの秘密値sk,iと通信履歴とからタグ装置510の流通過程を追跡することはできない。また、タグ装置510に乱数生成回路を設ける必要もないため、タグ装置510のコストを低減させることができる。さらに、ハッシュ関数よりも軽い(演算量が少ない)共通鍵暗号関数を用いることができれば、タグ装置510及びバックエンド装置530の処理量を低減させることができる。
〔実施例6〕
実施例6は、実施例1の変形例であり、秘密値sk,iと、各タグ固有の第1固有値wと、のビット結合のハッシュ値をタグ出力情報とする点が実施例1と相違する。
図11は、実施例6におけるタグ自動認識システム600の全体構成を例示した図であり、図12は、実施例6における処理を説明するためのフローチャートである。なお、図11において実施例1と共通する部分には、実施例1と共通の符号を付している。以下、これらの図を用いて、実施例6の機能構成及び処理方法について説明する。
<前処理>
実施例1との相違点は、各タグ装置610の秘密値メモリ611に、それぞれのタグID情報idに対応する秘密値sk,i(「第1の秘密値」に相当)及び固有値w(「第1の固有値」に相当)を格納しておく点、バックエンド装置630のデータベースメモリ631に、各タグID情報id(n∈{1,...,m})とそれらに対応する秘密値sn,1(「第2の秘密値」に相当)、固有値w「第2の固有値」に相当)及び物流情報等のデータdataとを対応付けて格納しておく点である。なお、固有値としては、例えば、タグID情報を利用することができる。
<タグ装置の処理>
以下では、i回目(iは自然数)に、タグ装置610をリーダー装置620に読取らせた際の処理を説明する。
まず、ハッシュ演算部612において、秘密値メモリ611から秘密値sk,i及び第固有値wを抽出し(ステップS101)、当該秘密値sk,i及び固有値wのビット結合にハッシュ関数Gを作用させたタグ出力情報G(sk,i|w)を算出する(ステップS102)。そして、インタフェース114において、このタグ出力情報G(sk,i|w)を、無線或いは有線でリーダー装置120に送信する(ステップS103)。
次に、ハッシュ演算部113において、秘密値メモリ611から抽出した秘密値sk,iハッシュ関数Hを作用させたハッシュ値H(sk,i)を算出し(ステップS104)、当該ハッシュ値H(sk,i)を新たな秘密値sk,i+1として、秘密値メモリ611の秘密値sk,iに上書きする(秘密値メモリ611の秘密値sk,iを消去し、代わりに秘密値sk,i+1を格納する:ステップS105)。
<リーダー装置の処理>
リーダー装置120は、インタフェース122において、タグ装置610から送信されたタグ出力情報G(sk,i|w)を受信し(ステップS106)、通信部123に送る。通信部123は、物流情報メモリ121から物流情報pdを抽出し(ステップS107)、この物流情報pdとハッシュ値G(sk,i|w)とを、ネットワーク140を通じ、バックエンド装置630に送信する(ステップS108)。
<バックエンド装置の処理>
バックエンド装置630は、通信部132において、リーダー装置120から送信された物流情報pdとタグ出力情報G(sk,i|w)を受信する(入力を受け付ける:ステップS109)。なお、受信された物流情報pdとタグ出力情報G(sk,i|w)は、メモリ136aに格納される。
次に、制御部136において、パラメータj,nに0を代入し、これらをメモリ136aに格納する(ステップS10)。そして、制御部136は、メモリ136aのj,nを参照し、ハッシュ演算部633(「第3の演算部」に相当)に、データベースメモリ631から抽出した1組の第2秘密値sn,1及び第2固有値wを用い、ハッシュ値G(H(sn,1)|w)を算出させる(ステップS111)。なお、このH(sn,1)を事前計算し、データベースメモリ631に格納しておいてもよい。この場合、バックエンド装置630における演算負担を軽減できる。
次に、比較部134において、ハッシュ演算部633からハッシュ値G(H(sn,1)|w)を、メモリ136aからタグ出力情報G(sk,i|w)を、それぞれ取得し、それらを比較する(ステップS112)。
ここで、これらの値が一致しなかった場合(ステップS113)、制御部136は、メモリ136aのjにj+1を代入し(ステップS114)、jが所定の最大値jmaxを超えたか否かを判断する(ステップS115)。ここで、jが最大値jmax以下であった場合にはステップS111の処理に戻り、jが最大値jmaxを超えた場合には、制御部136においてメモリ136aのnにn+1を、jに0を、それぞれ代入し(ステップS116)、nが所定の最大値nmaxを超えたか否かを判断する(ステップS117)。ここで、nが最大値nmax以下であった場合にはステップS111の処理に戻り、nが最大値nmaxを超えた場合には、エラー終了する(ステップS118)。
一方、ステップS113の判断において、タグ出力情報G(sk,i|w)とハッシュ値G(H(sn,1)|w)とが一致すると判断された場合、制御部136は、このnの値を読書き部135に与え、読書き部135は、このnを用い、当該一致したハッシュ値G(H(sn,1)|w)に対応する秘密値sn,1及び固有値wに対応付けられているid及dataを、データベースメモリ631から抽出し、これらを通信部132に送る。また、読書き部135は、メモリ136aから物流情報pdを受け取り、この物流情報pdを、当該一致したハッシュ値G(H(sn,1)|w)に対応する秘密値sn,1及び固有値wに対応付けて、データベースメモリ631に書き込む(ステップS119)。
通信部132に送られたid及dataは、ネットワーク140を通じてリーダー装置120に送信され(ステップS120)、リーダー装置120の通信部123で受信され、出力される(ステップS121)。
<実施例6の特徴>
実施例6では、各タグ装置610から出力されるタグ出力情報G(sk,i|w)は、秘密値sk,iと、各タグ装置610固有の固有値wと、のビット結合のハッシュ値である。また、各タグ装置の秘密値sk,iは、ハッシュ値H(sk,i)によって順次更新される。従って、異なるタグ装置間でタグ出力情報G(sk,i|w)が同一(コリジョン発生)となったとしても、固有値wがタグ装置ごとに異なる以上、各タグ装置の秘密値sk,iが更新されれば、ハッシュ関数の衝突困難性により、このコリジョンは高い確率で解消する。これにより、タグ装置610のタグ出力情報G(sk,i|w)のコリジョンが継続することを防止でき、バックエンド装置630が、タグ出力情報G(sk,i|w)からタグID情報を一義的に特定できなくなってしまうことを防止できる。
〔実施例7〕
実施例7は実施例6の変形例であり、秘密値を各タグ装置の共用とする点が実施例6と相違する。以下では、実施例1、実施例6との相違点を中心に説明する。
図13は、実施例7におけるタグ自動認識システム700の全体構成を例示した図である。なお、この図において実施例1と共通する部分には、実施例1と共通の符号を付している。また、図14は、実施例7における処理を説明するためのフローチャートである。以下、これらの図を用いて、実施例7の機能構成及び処理方法について説明する。
<前処理>
各タグ装置710に対応する各ID(id(k=1,...,m))に対し、ある1つの乱数s∈{0,1}を生成し、これを各タグ装置710の秘密値メモリ711に、秘密値s(sの初期値であり「第1の秘密値」に相当)として格納する。また、各タグ装置710に対応する各タグID情報(id(k=1,...,m))ごとに、それぞれ固有な固有値wを生成し、これを当該各タグ装置710の秘密値メモリ711に格納する。
また、各タグ装置710に格納された秘密値sと同じ秘密値sを「第2の秘密値」として、バックエンド装置730のデータベースメモリ731に格納する。また、このデータベースメモリ731に、各固有値wを、対応するタグ装置710のタグID情報id及び物流データ等dataに対応付けて格納する。
さらに、バックエンド装置730のハッシュ演算部736において、各タグ装置710に共通の秘密値sのハッシュ値sj+2=Hj+1(s)(j=0,...,jmax)を算出する。算出された各ハッシュ値sj+2は、データベースメモリ731に格納される。
<タグ装置の処理>
以下では、i回目に、タグ装置710をリーダー装置720に読み取らせた際の処理を説明する。
まず、ハッシュ演算部712において、秘密値メモリ711から秘密値s及び固有値wを抽出し(ステップS131)、当該秘密値s及び固有値wのビット結合のハッシュ値であるタグ出力情報G(s|w)を算出する(ステップS132)。そして、インタフェース114において、このタグ出力情報G(s|w)をリーダー装置120に送信する(ステップS133)。
次に、ハッシュ演算部113において、秘密値メモリ711から抽出した秘密値sのハッシュ値H(s)を算出し(ステップS134)、当該ハッシュ値H(s)を新たな秘密値si+1として、秘密値メモリ711の秘密値sに上書きする(ステップS135)。
<リーダー装置の処理>
実施例1と同様である(ステップS136〜S138)。
<バックエンド装置の処理>
バックエンド装置730は、通信部132において、リーダー装置120から送信された物流情報pdとタグ出力情報G(s|w)を受信する(ステップS139)。なお、受信された物流情報pdとタグ出力情報G(s|w)はメモリ136aに格納される。
次に、制御部136において、パラメータj,nに0を代入し、メモリ136aに格納する(ステップS140)。
そして、ハッシュ演算部733(「第3の演算部」に相当)において、データベースメモリ731から抽出した固有値w及び秘密値s或いはハッシュ値sj+2(ハッシュ演算部736において算出(事前計算)されたハッシュ値sj+2)を用い、ハッシュ値G(sj+1|w)を算出する(ステップS141)。
次に、比較部134において、ハッシュ演算部733からハッシュ値G(sj+1|w)(「第3の演算部における演算結果」に相当)を、メモリ136aからタグ出力情報G(s|w)を、それぞれ取得し、それらを比較する(ステップS142)。
ここで、これらの値が一致しなかった場合(ステップS143)、制御部136は、メモリ136aのjにj+1を代入し(ステップS144)、jが所定の最大値jmaxを超えたか否かを判断する(ステップS145)。ここで、jが最大値jmax以下であった場合にはステップS141の処理に戻り、jが最大値jmaxを超えた場合には、制御部136において、メモリ136aのnにn+1を、jに0を、それぞれ代入し(ステップS146)、nが所定の最大値nmaxを超えたか否かを判断する(ステップS147)。ここで、nが最大値nmax以下であった場合にはステップS141の処理に戻り、nが最大値nmaxを超えた場合には、エラー終了する(ステップS148)。
一方、ステップS143の判断において、タグ出力情報G(s|w)とハッシュ値G(sj+1|w)とが一致すると判断された場合、制御部136の制御のもと、読書き部135において、当該一致したハッシュ値G(sj+1|w)に対応する固有値wに対応付けられているid及dataを、データベースメモリ731から抽出し、これらを通信部132に送る。また、読書き部135は、通信部132から物流情報pdを受け取り、この物流情報pdを、当該一致したハッシュ値G(sj+1|w)に対応する固有値wに対応付けて、データベースメモリ731に書き込む(ステップS149)。
通信部132に送られたid及dataは、ネットワーク140を通じてリーダー装置120に送信され(ステップS150)、リーダー装置120の通信部123で受信され、出力される(ステップS151)。
<実施例7の特徴>
実施例7では、各タグ装置710に共通の秘密値sを用いることとした。そのため、バックエンド装置730のステップS141の処理で用いる秘密値sj+1を、各タグID情報idに対して共通化できる。これにより、バックエンド装置730における演算量を大幅に低減でき、効率的な検索を行うことが可能となる。
具体的には、タグ装置710の個数をm、バックエンド装置730のハッシュ回数(タグ装置710での秘密値の更新回数)をjとした場合、実施例1では、2mj回のハッシュ演算が必要であった。これに対し、実施例7では、mj+j回のハッシュ演算に抑えることができる。
さらに、タグ装置710が、タグ出力情報G(s|w)とともに、秘密値sの更新回数rnを出力し、この更新回数rnをバックエンド装置730に与えることとすれば(実施例4参照)、バックエンド装置730におけるハッシュ演算回数はm+j回にまで低減できる。
〔実施例8〕
実施例8は、実施例1の変形例であり、複数の要素の組合せを、各タグ装置固有の値として割り当てる点が実施例1と相違する。これにより、各タグ装置に割り当てる要素の一部を複数のタグ装置間で共有できる。その結果、タグ装置の認識処理に必要な総当り演算量を低減できる。
図15は、実施例8におけるタグ自動認識システム800の全体構成を例示した図である。この図において実施例1と共通する部分については、実施例1と同じ番号を付した。また、図16Aは、タグ装置810の秘密値メモリ811に格納されるデータの例示であり、図16Bは、バックエンド装置830のデータベースメモリ831に格納されるデータの例示である。さらに、図17及び18は、実施例8における処理を説明するためのフローチャートである。
以下、これらの図を用いて、実施例8の機能構成及び処理方法について説明する。なお、実施例1と共通する事項については説明を省略する。
<前処理>
例えば、乱数生成装置(図示せず)等を用い、各タグ装置に割り当てる要素の初期値の集合
(b1,1,0,…,b1,j,0,…,b1,ρ,0)…(bu,1,0,…,bu,j,0,…,bu,ρ,0)…(bd,1,0,…,bd,j,0,…,bd,ρ,0
を生成する。なお、この各「( )」内の要素の集合をサブグループα(u∈{1,…,d})と呼ぶ。
ここで、jは1≦j≦ρの自然数(j∈{1,…,ρ})であり、uは1≦u≦dの自然数(u∈{1,…,d})である。また、実施例8では複数の要素の組合せによって1つの秘密値を構成するが、d(d≧2)はこの1つの秘密値を構成する要素の数である。また、mはタグ装置810の総数(必要となる秘密値の総数)以上の数であり、なおかつ、m=ρが自然数となる数である。
次に、このように生成された各要素の組合せを各タグ装置810に割り当てる。具体的には、上述した要素の初期値の集合を構成するd種類のサブクループαから、それぞれ1つずつ要素を選択し、選択したd個の初期要素fu,0の組合せ(f1,0,…,fu,0,…,fd,0)を各タグ装置810に割り当てる(f1,0∈{b1,1,0,・・・,b1,q,0,・・・,b1,ρ,0},…,fu,0∈{bu,1,0,・・・,bu,q,0,・・・,bu,ρ,0},…,fd,0∈{bd,1,0,・・・,bd,q,0,・・・,bd,ρ,0})。なお、この割り当ては、異なるタグ装置810間で同じ組合せとならないように行われ、合計m種類(タグ装置810の総数)の(f1,0,…,fu,0,…,fd,0)の組合せが割り当てられる。また、1つのタグ装置810に複数の初期要素fu,0の組合せを対応付けることとしてもよく、この場合、合計m種類以上(タグ装置810の総数以上)の(f1,0,…,fu,0,…,fd,0)の組合せが割り当てられる。なお、各(f1,0,…,fu,0,…,fd,0)を構成する要素の少なくとも一部は、複数のタグ装置810に共用される。
生成されたすべての組合せ(f1,0,…,fu,0,…,fd,0)(d個(d≧2)の初期要素fu,0(u∈{1,…,d})の組合せ)は、それぞれ割り当てられた各タグ装置810のタグID情報idと、各タグ装置810に対応するデータdataとに対応付けられ、バックエンド装置830のデータベースメモリ831に格納される。なお、nは各タグ装置に対応する値であり、各タグ装置から出力されるタグ出力情報ak,i(後述)の下付添え字kに対応する。すなわち、データベースメモリ831に格納されるd個の初期要素fu,0の組合せ数は、タグ装置810の総数となる。また、1つのタグ装置810に複数の初期要素fu,0の組合せを対応付ける場合、データベースメモリ831に格納されるd個の初期要素fu,0の組合せ数は、タグ装置810の総数以上となる。
また、生成された各初期要素の組合せ(f1,0,…,fu,0,…,fd,0)(「d個(d≧2)の要素eu,vu(u∈{1,…,d})からなる組合せであって各タグID情報idに対応するもの」に相当。但し、vuは要素eu,vuの更新回数を示す0以上の整数。要素eu,vuの下付添え字のvuは、vを示す。)は、割り当てられた各タグ装置810の秘密値メモリ811に格納される。なお、以下では、各タグ装置810の秘密値メモリ811に格納された初期要素の組合せを(e1,0,…, u,0,…, d,0)と示す。
図16の例は、d=2、ρ=3、m=9の場合における、初期要素の割り当てを例示したものである。
図16Bに示すように、この例の場合、バックエンド装置830のデータベースメモリ831に、初期要素の組合せ831aa((f1,0,f2,0)(f1,0∈{b1,1,0,b1,2,0,b1,3,0},
2,0∈{b2,1,0,b2,2,0,b2,3,0})
)と、タグID情報831ab(id(n∈{1,…,9})と、データ831ac(data(n∈{1,…,9})と、を対応付けて格納する。
また、図16Aに示すように、タグ装置810の秘密値メモリ811に、そのタグID情報idに対応する1組の初期要素の組合せ811a((e1,0, 2,0)=(b1,2,0, 2,2,0))を格納する。なお、秘密値メモリ811に格納される上記要素eu,vuの一部は、他のタグ装置にも対応する要素として、当該他のタグ装置の秘密値メモリにも格納される。
<タグ装置の処理>
以下では、i回目(iは自然数)に、タグ装置810をリーダー装置20に読取らせた際の処理を説明する。
まず、ハッシュ演算部812(「第2の演算部」に相当)において、秘密値メモリ811から各d個の要素eu,vuを抽出し(ステップS161)、これらのビット列の結合値(秘密値sk,i)にハッシュ関数Gを作用させたタグ出力情報ak,i=G(sk,i)を算出する(ステップS162)。ここで、kは各タグ装置に対応する値であり、iは出力部における出力回数を示す自然数である。また、本実施例では、秘密値sk,i=e1,v1|・・・|eu,vu|・・・|ed,vdとし、タグ出力情報ak,i=G(e1,v1|・・・|eu,vu|・・・|ed,vd)とするが、各要素eu,vuのビット配置順序はこれに限定されない。
生成されたタグ出力情報ak,iはインタフェース114に送られ、インタフェース114は、このタグ出力情報ak,iを出力する(ステップS163)。
その後、ハッシュ演算部813(「第1の演算部」に相当)において、秘密値メモリ811から少なくとも一部の要素eu’,vu’(u’∈{1,…,d})を抽出し、抽出した要素eu’,vu’のハッシュ値H(eu’,vu’)を算出し(ステップS164)、このハッシュ値H(eu’,vu’)を新たな要素eu’,vu’+1として秘密値メモリ811に上書き保存する(ステップS165)。なお、u’∈{1,…,d}の選択方法はどのようなものでもよい。例えば、タグ装置810が通信を行うたびに異なるu'を選択していく方法、1つのu'について要素eu’,vu’の更新がすべて完了した時点で別のu'が選択される方法、2つ以上のu'が同時に選択される方法等を例示できる。
<リーダー装置の処理>
リーダー装置120は、インタフェース122において、タグ装置810から送信されたタグ出力情報ak,iを受信し(ステップS166)、通信部123に送る。通信部123は、物流情報メモリ121から物流情報pdを抽出し(ステップS167)、この物流情報pdとタグ出力情報ak,iとを、ネットワーク140を通じ、バックエンド装置830に送信する(ステップS168)。
<バックエンド装置の処理>
リーダー装置120から送信されたタグ出力情報ak,i及び物流情報pdは通信部132において受信され、メモリ136aに格納される(ステップS169)。
これをトリガに、制御部136は、nに1を代入してメモリ136aに格納し(ステップS170)、d個のwの組合せを次のように選択し、その組合せをメモリ136aに格納する(ステップS171)。
(w,...,w)∈S={w,...,w|w∈[0,jmax]}
(但し[α,β]はα以上β以下の整数の集合を示す。)
次に、制御部136は、メモリ136aのn,d個のwの組合せを参照し、さらにハッシュ値メモリ838を参照して、タグID情報idに対応するd個の初期要素fu,0(u∈{1,…,d})に、それぞれハッシュ関数Hをw回作用させたハッシュ値Hwu(fu,0)がハッシュ値メモリ838に格納されているか(生成済みであるか)否かを検証する(ステップS172)。なお、Hwu(fu,0)の上付き添え字wuはwを示す。
ここで、タグID情報idに対応するハッシュ値Hwu(fu,0)のうち、まだ演算が行われていないものが存在すると判断された場合、ハッシュ演算部837は、上記の「タグID情報idに対応するハッシュ値Hwu(fu,0)のうち、まだ演算が行われていないもの」に対応する初期要素fu,0をデータベースメモリ831から抽出し、この初期要素fu,0にハッシュ関数Hをw回作用させハッシュ値Hwu(fu,0)を算出する(ステップS173)。算出されたハッシュ値Hwu(fu,0)はハッシュ値メモリ838に格納され(ステップS174)、ステップS172の処理に戻る。
一方、ステップS172の判断で、タグID情報idに対応するハッシュ値Hwu(fu,0)がすべて生成済みであると判断された場合、制御部136は、メモリ136aのn,d個のwの組合せを参照し、ハッシュ演算部833(「第3の演算部」に相当)に、ハッシュ値メモリ838から、タグID情報idに対応するd個の初期要素fu,0(u∈{1,…,d})に、それぞれ第1の関数F1をw回作用させたハッシュ値Hwu(fu,0)を抽出させ(ステップS175)、それらハッシュ値Hwu(fu,0)のビット結合値にハッシュ値Gを作用させた演算値cを算出させる(ステップS176)。なお、演算値cとしては、例えば、c=G(Hw1(f1,0)|・・・|Hwu(fu,0)|・・・|Hwd(fd,0))を例示できるが、各ハッシュ値Hwu(fu,0)のビット配置順序はこれに限定されない。但し、その順序はタグ装置810のハッシュ演算部812での各要素eu,vuのビット配置順序に対応させる必要がある。
次に、比較部134において、メモリ136aからタグ出力情報ak,iを読出し、ハッシュ演算部833から上記演算値cを受け取り、これらを比較してc=ak,iであるか否かを判断する(ステップS177)。この例では、ハッシュ値c=G(Hw1(f1,0)|・・・|Hwu(fu,0)|・・・|Hwd(fd,0))と、タグ出力情報ak,iと、を比較する。
ここで、これらが一致しないと判断された場合、制御部136は、メモリ136aを参照し、全てのd個の組合せパターン(w,...,w)∈Sが選択済みであるか否かを判断する(ステップS178)。ここで、まだ選択されていない組合せパターン存在すると判断された場合、制御部136は、新たな組合せ(w,...,w)∈Sを選択し、これらをメモリ136aに格納して(ステップS179)、この新たな組合せ及びnについて、ステップS172以降の処理を実行させる。
一方、ステップS178の判断で、全ての組合せパターンが選択されたとされた場合、制御部136はメモリ136aのnを参照し、n=mであるか否かを判断する(ステップS180)。ここで、n=mでないと判断されると、制御部136はメモリ136aのnをn+1によって更新し(ステップS181)、ステップS172以降の処理を実行させる。一方、n=mであると判断された場合には処理をエラー終了する(ステップS182)。
なお、ステップS172〜181の処理は、制御部136の制御のもと、タグ出力情報ak,iと演算値cとが一致しなければ、n及びwの少なくとも一部の値を変化させて、ハッシュ演算部833及び比較部134における処理を再び行うことに相当する。
一方、ステップS177において、ハッシュ値cとタグ出力情報ak,iとが一致すると判断された場合、読書き部135は、制御部135の制御のもと、当該ハッシュ値cに対応する複数の初期要素fu,0の組合せに対応付けられているタグID情報idをデータベースメモリ831から選択し、このタグID情報idとそれに対応するデータdataを抽出して通信部132に送る。また、読書き部135は、メモリ136aから物流情報pdを受け取り、この物流情報pdを、タグID情報idに対応するデータdataとして、データベースメモリ831に追加書込みする(ステップS183)。
通信部132に送られたタグID情報idとデータdataは、ネットワーク140を通じてリーダー装置120に送信され(ステップS184)、リーダー装置120の通信部123で受信され、出力される(ステップS185)。
<実施例8の特徴>
[効率性]
バックエンド装置830のハッシュ演算部838でのハッシュ値cの算出には、ハッシュ値Hwu(fu,0)=fu,vuの演算が必要である。実施例8では、各要素eu,vuは複数のタグ装置810で共用できるため、何れかのタグ装置810に対応するハッシュ値cの算出のために計算したハッシュ値Hwu(fu,0)=fu,vuをハッシュ値メモリ838に格納しておけば、この要素fu,vuを、他のタグ装置810に対応するハッシュ値cの算出にも利用できる。これにより、算出すべきハッシュ値Hwu(fu,0)の数を増加させることなく、対応可能なタグ装置810の数を増やすことができる。具体的には、d*ρ個の要素を用いρ個のタグ装置に対する固有の初期要素を割り当てることができる。
さらにハッシュ関数の演算だけで通信データを構成するため、従来の乱数を発生させる方法に比べ、タグ装置810に取り込む回路規模も小さく、低価格が要求される用途に適している。
[追跡不可能性]
実施例8ではタグ出力情報ak,i=G(sk,i)を通信に用いた。ハッシュ値の認識不能性から、秘密値を知らない攻撃者にとって、このタグ出力情報ak,i=G(sk,i)は単なる乱数にみえる。そのため、この攻撃者は、タグ出力情報ak,i=G(sk,i)とak,i+1=G(sk,i+1)が同じタグ装置810から出力された値であるか否かを知ることはできず、タグ装置810の流通過程も追跡できない。
[フォワードセキュリティ]
実施例8では、通信に用いた秘密値メモリ811内の秘密値を、ハッシュ関数Hによって更新することとした。また、ハッシュ関数の一方向性により、タグ装置810がタンパー等され各要素eu,vuが漏洩しても、攻撃者がこの要素eu,vuから過去の要素eu,vu−Δvuを求めることはできない。従って、たとえ各要素eu,vuが漏洩しても、攻撃者は、取得した各要素eu,vuと通信履歴の対応を採れず、タグ装置810の追跡もできない。
[追跡可能性]
一方、ハッシュ関数G,Hの衝突困難性(異なる値のハッシュ値が同じ値をとりにくい性質)から、各要素fu,vuを知っているバックエンド装置830は、タグ装置の流通過程を追跡できる。
なお、実施例8では、バックエンド装置830において生成される初期要素の集合を、
(b1,1,0,…,b1,j,0,…,b1,ρ,0)…(bu,1,0,…,bu,j,0,…,bu,ρ,0)…(bd,1,0,…,bd,j,0,…,bd,ρ,0
とした。すなわち、各u(u∈{1,…,d})ごとにρ個ずつ初期要素bを生成した。しかし、各u(u∈{1,…,d})ごとに生成される初期要素bの数が異なっていてもよい。
また、ステップS176の処理に必要なハッシュ値Hwu(fu,0)(u∈{1,...,d})を、事前処理の段階で、バックエンド装置830のハッシュ演算部837において求め、ハッシュ値メモリ838に格納しておいてもよい。
〔実施例9〕
実施例9は、実施例8の変形例であり、タグ装置の秘密値メモリ及びバックエンド装置のデータベースメモリに、さらに各タグ装置に固有な固有値が格納され、各要素eu,vu及び固有値γを含むビット列の結合のハッシュ値ak,i=G(sk,i)をタグ出力情報とする点が実施例8と相違する。これにより、他のタグ装置をタンパーして集められた要素eu,vuをもとに、特定のタグ装置の秘密値が求められ、タグ装置が追跡されるといった事態を防止できる。
以下では実施例8との相違点のみを説明し、実施例8と共通する事項については説明を省略する。
図19は、実施例9におけるタグ自動認識システム900の全体構成を例示した図である。また、図20Aは、タグ装置910の秘密値メモリ911に格納されるデータの例示であり、図20Bは、バックエンド装置930のデータベースメモリ931に格納されるデータの例示である。なお、図19において実施例1と共通する機能構成には図2と同じ符号を付し、実施例8と共通する機能構成には図15と同じ符号を付し、それらの説明を省略する。また、図19では1つのタグ装置910のみを図示しているが、実際は複数のタグ装置910が存在する。
以下、これらの図を用いて、実施例9の機能構成及び処理方法について説明する。
<前処理>
実施例8との相違点は、タグ装置910の秘密値メモリ911に、さらに固有値γが格納される点、及び、バックエンド装置930のデータベースメモリ931にd個(d≧2)の初期要素fu,0(u∈{1,…,d})の組合せと、各タグ装置固有の固有値γと、各タグ装置のタグID情報idと(nは各タグ装置に対応する値)を、対応付けて格納する点である。なお、固有値γ,γは、例えばランダム値である。
図20の例は、d=2、ρ=3、m=9の場合における、組合せ固有値の割り当てを例示したものである。
図20Bに示すように、この例では、バックエンド装置930のデータベースメモリ931に、初期要素の組合せ931aa((f1,0,f2,0)(f1,0∈{b1,1,0,b1,2,0,b1,3,0},
2,0∈{b2,1,0,b2,2,0,b2,3,0})
)と、タグID情報931ab(id(n∈{1,…,9})と、データ931ac(data(n∈{1,…,9})と、各タグ装置固有の固有値931ad(γ,k∈{1,…,12})と、を対応付けて格納する。また、図20Aに示すように、タグ装置910の秘密値メモリ911に、初期要素の組合せ911a((e1,0,e2,0)=(b1,2,0,b2,2,0))と、固有値911b(γ=γ)を格納する。
<タグ装置の処理>
以下では、i回目(iは自然数)に、タグ装置910をリーダー装置120に読取らせた際の処理を説明する。
まず、ハッシュ演算部912(「第2の演算部」に相当)において、秘密値メモリ911から各要素eu,vu及び固有値γを抽出し、抽出した各要素eu,vu及び固有値γを含むビット列の結合値(秘密値sk,i)のハッシュ値であるタグ出力情報ak,i=G(sk,i)を算出する。実施例9では、秘密値sk,i=γ|e1,v1|・・・|eu,vu|・・・|ed,vdとし、タグ出力情報ak,i=G(γ|e1,v1|・・・|eu,vu|・・・|ed,vd)とする。
その後、実施例8と同様に、タグ出力情報ak,iが出力され、秘密値メモリ911の要素が更新される。
<リーダー装置の処理>
実施例8と同様である。
<バックエンド装置の処理>
実施例8との相違点は、実施例8のステップS176の処理(図18)の代わりに、ハッシュ演算部933(「第3の演算部」に相当)が、データベースメモリ931から固有値γを読出し、ハッシュ値Hwu(fu,0)及び固有値γを含むビット列の結合値のハッシュ値cを算出する点である。この例では、ハッシュ値c=G(γ|Hw1(f1,0)|・・・|Hwu(fu,0)|・・・|Hwd(fd,0))を算出する。それ以外は、実施例8と同様である。
<実施例9の特徴>
[追跡不可能性]
実施例9では、各要素eu,vu及び固有値γを含むビット列の結合のハッシュ値であるタグ出力情報ak,i=G(sk,i)を、タグ装置910の出力とした。ここで、固有値γは、タグ装置910ごとに固有な値である。そのため、あるタグ装置がタンパーされたとしても、そこに格納されていたデータのハッシュ値から、要素eu,vuを共用する他のタグ装置の過去のタグ出力情報を求めることはできない。そのため、攻撃者はこの他のタグ装置を追跡することができない。
〔実施例10〕
実施例10は、実施例8の形態の変形例であり、タグ装置の多様値メモリにt種類(t≧2)の値の多様値zを格納しておき、秘密値メモリから抽出した各要素eu,vuと、何れかの多様値zと、のビット結合値(秘密値sk,i)のハッシュ値をak,i=G(sk,i)をタグ出力情報とし、秘密値メモリの更新をt回の通信に1回行う点が実施例8と相違する。
以下では実施例8との相違点のみを説明し、実施例8と共通する事項については説明を省略する。
図21は、実施例10におけるタグ自動認識システム1000の全体構成を例示した図である。また、図22は、タグ装置1010の処理を説明するためのフローチャートであり、図23は、バックエンド装置1030の処理を説明するためのフローチャートである。なお、図21において実施例1,実施例8と共通する機能構成には図2,15と同じ符号を付している。また、図21では1つのタグ装置1010のみを図示しているが、実際は複数のタグ装置1010が存在する。
以下、これらの図を用いて、本実施例の機能構成及び処理方法について説明する。
<前処理>
実施例8ととの相違点は、タグ装置1010の多様値生成部1015においてt種類(t≧2)の値の多様値zを生成し、これを多様値メモリ1016(「第1多様値メモリ」に相当)に格納しておく点、バックエンド装置1030のデータベースメモリ1031(「第2多様値メモリ」に相当)に各タグ装置1010と共用されるt種類(t≧2)の多様値zを格納しておく点である。
なお、多様値生成部1015としては、z=1・・・tをカウントするカウンタ、z=H(seed,x),x∈{1,…,t}の演算を行うハッシュ演算装置、z=H(seed),x∈{1,…,t}の演算を行うハッシュ演算装置等を例示できる。ここで、seedとは初期値を意味する。以下では、多様値zをz=π(x),カウント値x∈{1,…,t}と表現する。また、好ましくは、それぞれのx∈{1,…,t}に対応する各多様値z=π(x)は一致しない。
さらに、多様値zの生成及び格納は、必ずしも、前処理において行わなくてもよく、タグ装置1010の通信処理時や、バックエンド装置1030での検索処理時に行うこととしてもよい。
<タグ装置の処理>
以下では、i回目(iは自然数)に、タグ装置1010をリーダー装置120に読取らせた際の処理を説明する。なお、カウント値xの初期値(i=1)は1であり、カウント値xは制御部115の制御のもとメモリ115aに保存される。
まず、ハッシュ演算部1012(「第2の演算部」に相当)において、秘密値メモリ1011から各要素eu,vuを抽出し、多様値メモリ1016から何れかの多様値z(この例ではz=π(x))を抽出する(ステップS191)。そして、ハッシュ演算部1012は、抽出した各要素eu,vuと、多様値zと、のビット結合値(秘密値sk,i)のハッシュ関数ak,i=G(sk,i)をタグ出力情報として算出する(ステップS192)。この例では、秘密値sk,i=e1,v1|・・・|eu,vu|・・・|ed,vd|zとし、タグ出力情報ak,i=G(e1,v1|・・・|eu,vu|・・・|ed,vd|z)とする。なお、各要素eu,vuと多様値zのビット配置順序、ビット結合される多様値zの数はこれに限定されない。また、x∈{1,…,t}に対応する各多様値z=π(x)が一致しないこととした場合、秘密値メモリ1011の要素が更新されない間、ハッシュ演算部1012がタグ出力情報ak,iの生成に使用する多様値zは、通信ごとに異なることになる。
生成されたタグ出力情報ak,iはインタフェース114に送られ、インタフェース114は、このタグ出力情報ak,iを出力する(ステップS193)。
その後、制御部115において、x←x+1の演算(カウントアップ)を行い(ステップS194)、x>tであるか否かを判断する(ステップS195)。ここで、x>tでないと判断されれば、xの値をメモリ115aに保持したままでタグ装置1010の処理を終了する。
一方、x>tであると判断された場合には、制御部115において、メモリ115aのカウント値xをx←1とし(ステップS196)、ハッシュ演算部1013において、秘密値メモリ1011から少なくとも一部の要素eu’,vu’(u’∈{1,…,d})を抽出し、抽出した要素eu’,vu’のハッシュ値H(eu’,vu’)を算出する(ステップS197)。そして、ハッシュ演算部1013において、このハッシュ値H(eu’,vu’)を新たな要素eu’,vu’+1として秘密値メモリ1011に上書きする(ステップS198)。なお、u’∈{1,…,d}の選択方法はどのようなものでもよい。
<リーダー装置の処理>
実施例8と同様である。
<バックエンド装置の処理>
リーダー装置120から送信されたタグ出力情報ak,i及び物流情報pdは通信部132において受信され、メモリ136aに格納される(ステップS201)。
これをトリガに、制御部136は、nに1を代入してメモリ136aに格納し(ステップS202)、d個のwの組合せを次のように選択し、その組合せをメモリ136aに格納する(ステップS203)。
(w,...,w)∈S={w,...,w|w∈[0,jmax]}
次に、制御部136は、メモリ136aのn,d個のwの組合せを参照し、さらにハッシュ値メモリ838を参照して、タグID情報idに対応するd個の初期要素fu,0(u∈{1,…,d})に、それぞれハッシュ関数Hをw回作用させたハッシュ値Hwu(fu,0)がハッシュ値メモリ838に格納されているか(生成済みであるか)否かを検証する(ステップS204)。なお、Hwu(fu,0)の上付き添え字wuはwを示す。
ここで、タグID情報idに対応するハッシュ値Hwu(fu,0)のうち、まだ演算が行われていないものが存在すると判断された場合、ハッシュ演算部837は、上記の「タグID情報idに対応するハッシュ値Hwu(fu,0)のうち、まだ演算が行われていないもの」に対応する初期要素fu,0をデータベースメモリ1031から抽出し、この初期要素fu,0にハッシュ関数Hをw回作用させハッシュ値Hwu(fu,0)を算出する(ステップS205)。算出されたハッシュ値Hwu(fu,0)はハッシュ値メモリ838に格納され(ステップS206)、ステップS204の処理に戻る。
一方、ステップS204の判断で、タグID情報idに対応するハッシュ値Hwu(fu,0)がすべて生成済みであると判断された場合、制御部136は、メモリ136aのn,d個のwの組合せを参照し、ハッシュ演算部1033(「第3の演算部」に相当)に、ハッシュ値メモリ838から、タグID情報idに対応するd個の初期要素fu,0(u∈{1,…,d})に、それぞれ第1の関数F1をw回作用させたハッシュ値Hwu(fu,0)を抽出させる(ステップS207)。また、制御部136はカウンタ値x’を1としてメモリ136aに格納し(ステップS208)、多様値z=π(x’)をデータベースメモリ1031から抽出してハッシュ演算部1033に送る。そしてハッシュ演算部1033は、ハッシュ値Hwu(fu,0)と多様値zとのビット結合値にハッシュ値Gを作用させた演算値cを算出する(ステップS209)。なお、演算値cとしては、例えば、c=G(Hw1(f1,0)|・・・|Hwu(fu,0)|・・・|Hwd(fd,0)|z)を例示できるが、各ハッシュ値Hwu(fu,0)と多様値zのビット配置順序、ビット結合される多様値zの数はこれに限定されない。但し、その順序等はタグ装置1010のハッシュ演算部1012での各要素のビット配置順序に対応させる必要がある。
次に、比較部134において、メモリ136aからタグ出力情報ak,iを読出し、ハッシュ演算部1033から上記演算値cを受け取り、これらを比較してc=ak,iであるか否かを判断する(ステップS210)。この例では、ハッシュ値c=G(Hw1(f1,0)|・・・|Hwu(fu,0)|・・・|Hwd(fd,0)|z)と、タグ出力情報ak,iと、を比較する。
ここで、これらが一致しないと判断された場合、制御部136は、メモリ136aのx’がtであるか否かを判断する(ステップS211)。ここで、x’=tでないと判断された場合、制御部136はメモリ136aのx’をx’+1で更新してステップS209以降の処理を実行させる(ステップS212)一方、x’=tであると判断された場合、制御部136はメモリ136aを参照し、全てのd個の組合せパターン(w,...,w)∈Sが選択済みであるか否かを判断する(ステップS213)。
ここで、まだ選択されていない組合せパターン存在すると判断された場合、制御部136は、新たな組合せ(w,...,w)∈Sを選択し、これらをメモリ136aに格納して(ステップS214)、この新たな組合せ及びnについて、ステップS204以降の処理を実行させる。一方、ステップS213の判断で、全ての組合せパターンが選択されたとされた場合、制御部136はメモリ136aのnを参照し、n=mであるか否かを判断する(ステップS215)。ここで、n=mでないと判断されると、制御部136はメモリ136aのnをn+1によって更新し(ステップS216)、ステップS204以降の処理を実行させる。一方、n=mであると判断された場合には処理をエラー終了する(ステップS217)。
なお、ステップS204〜216の処理は、制御部136の制御のもと、タグ出力情報ak,iと演算値cとが一致しなければ、n、w及びzの少なくとも一部の値を変化させて、ハッシュ演算部1033及び比較部134における処理を再び行うことに相当する。
一方、ステップS210において、ハッシュ値cとタグ出力情報ak,iとが一致すると判断された場合、読書き部135は、制御部135の制御のもと、当該ハッシュ値cに対応する複数の初期要素fu,0の組合せに対応付けられているタグID情報idをデータベースメモリ1031から選択し、このタグID情報idとそれに対応するデータdataを抽出して通信部132に送る。また、読書き部135は、メモリ136aから物流情報pdを受け取り、この物流情報pdを、タグID情報idに対応するデータdataとして、データベースメモリ1031に追加書込みする(ステップS218)。通信部132に送られたタグID情報idとデータdataは、ネットワーク140を通じてリーダー装置120に送信される(ステップS219)。
<実施例10の特徴>
[追跡不可能性]
本実施例のタグ装置1010は、要素eu,vuと多様値zとのビット結合値のハッシュ値をタグ出力情報ak,iとしている。そのため、要素eu,vuを更新しなくても多様値zを変化させれば出力値を変化させることができる。そして、ハッシュ関数の一方向性により、このように変化させた出力値の相関はとれない。そして多様値zはt種類の値をとるため、タグ装置は、要素eu,vuを更新しなくても最大t回の追跡困難な通信が可能である。
[効率性]
本実施例のタグ装置1010は、t回の通信に対して1回のみ、秘密値メモリ11の要素eu,vuを更新する。そのため、タグ装置1010での更新処理演算量を1/tに低減できる。
また、バックエンド装置1030でのハッシュ値cとタグ出力情報ak,iとの比較処理も、最大T回ずつは、ハッシュ値Hwu(fu,0)の組合せを変更することなく行われる。そのため、タグ装置210での許容通信回数(リーダー装置120からタグ装置1010への呼び出し回数の最大値)を増加させた場合でも、バックエンド装置1030におけるハッシュ処理はさほど増加しない。
〔実施例11〕
実施例11は、実施例10の変形例であり、タグ装置の多様値メモリに、各u(u∈{1,…,d})に対してt種類(t≧2)の値をとる多様値zを格納しておき、秘密値メモリから抽出した各要素eu,vuと、何れかの多様値zと、のビット結合値のタグ出力情報ak,i=G(e1,v1|z|…|ed,vd|z)を出力値とする点が実施例10と相違する。また、秘密値メモリの各u(u∈{1,…,d})に対応する各要素eu,vu の更新は、それぞれt回の通信に1回行われるが、実施例11では、各要素eu,vuが更新される通信時点をシフトさせておき、タグ装置がタグ出力情報ak,iを出力するたびに、秘密値メモリの何れかの要素eu’,vu’(u’∈{1,…,d})が更新されるようにする。これにより、どの通信時点でタグ装置がタンパーされてもタグ装置を追跡できない。
以下では実施例1、実施例10との相違点のみを説明し、実施例1、実施例10の形態と共通する事項については説明を省略する。
図24は、実施例11におけるタグ自動認識システム1100の全体構成を例示した図である。また、図25は、タグ装置1110の処理を説明するためのフローチャートであり、図26は、バックエンド装置1130の処理の一部を説明するためのフローチャートである。なお、図24において実施例1,8と共通する機能構成には図2,15と同じ符号を付している。また、図24では1つのタグ装置1110のみを図示しているが、実際は複数のタグ装置1110が存在する。
以下、これらの図を用いて、本実施例の機能構成及び処理方法について説明する。
<前処理>
実施例10との相違点は、タグ装置1110の多様値生成部1115において、各u(u∈{1,…,d})に対してt種類(t≧2)の値をとる多様値zを設定し、これを多様値メモリ1116(「第1多様値メモリ」に相当)に格納しておく点、バックエンド装置1130のデータベースメモリ1131(「第2の多様値メモリ」に相当)に、各u(u∈{1,…,d})に対してt種類(t≧2)の値をとる多様値zを格納しておく点である。なお、データベースメモリ1131に格納される各多様値zは各タグ装置1110に格納された各多様値zと同じである。
なお、多様値生成部1115としては、各u(u∈{1,…,d})に対して、z=1・・・tをカウントするカウンタ、z=H(seed,x),x∈{1,…,t}の演算を行うハッシュ演算装置、z=H xu (seed),x∈{1,…,t}の演算を行うハッシュ演算装置等を例示できる。以下では、多様値zをz=π(x),x∈{1,…,t}と表現する。なお、好ましくは、同一のuに対し、x∈{1,…,t}に対応する各多様値z=π(x)が一致しないようにπが設定される。
また、実施例11では、各xをx=i+ε(u∈{1,…,d})とする。ここで、iはタグ装置1110の通信回数を示しており、εは各xのiからのずれを示す定数(0≦ε≦rmaxである整数)を示している。ここで、rmaxは、リーダー装置120からタグ装置1110への呼び出し回数の最大値である。
さらに、実施例11では、すべての通信時点において、何れかのxが必ずx=tとなるように、ε及びtを設定する。例えば、各u(u∈{1,…,d})に対するtをすべて同一値とし、ε(u∈{1,…,d})の集合がt未満の自然数の全体集合となるように各εを設定する。
また、多様値zの生成及び格納は、必ずしも、前処理において行わなくてもよく、タグ装置1110の通信処理時や、バックエンド装置1130での検索処理時に行うこととしてもよい。
<タグ装置の処理>
以下では、i回目(iは自然数)に、タグ装置1110をリーダー装置120に読取らせた際の処理を説明する。なお、カウント値x(u∈{1,…,d})の初期値(i=1)は1+εであり、各カウント値xは制御部115の制御のもとメモリ115aに保存される。
まず、ハッシュ演算部1112(「第2の演算部」に相当)において、秘密値メモリ1111から各要素eu,vuを抽出し、多様値メモリ1116から何れかの多様値z(この例ではz=π(x))を抽出する(ステップS231)。そして、ハッシュ演算部1112は、抽出した各要素eu,vuと、何れかの多様値zと、のビット結合値(秘密値sk,i)のハッシュ値であるタグ出力情報ak,i=G(e1,v1|z|…|ed,vd|z)を算出する(ステップS232)。なお、同一のuに対し、x∈{1,…,t}に対応する各多様値z=π(x)が一致しないようにπを設定している場合、秘密値メモリ1111の要素が更新されない間、ハッシュ演算部1112がタグ出力情報ak,iの生成に使用する多様値zは、通信ごとに異なることになる。また、秘密値sk,i=e1,v1|z|…|ed,vd|zにおけるビット結合順序は、特にこれに限定されない。生成されたタグ出力情報ak,iはインタフェース114に送られ、インタフェース114は、このタグ出力情報ak,iを送信する(ステップS233)。
その後、制御部136において、メモリ136aのxに対してx←x+1(u∈{1,…,d})の演算を行う(ステップS234)。ここで、実施例11では、すべての通信時点において、何れかのxが必ずx=tとなるようにε及びtを設定している。そのため、このx←x+1の演算により、必ず何れかのxがx>tとなっている。制御部136は、次に、このx>tとなったxに1を代入する(ステップS235)。なお、本実施例では、このxに対応するuをu’とする。
次に、ハッシュ演算部813において、秘密値メモリ1111から一部の要素eu’,vu’(上記のu’∈{1,…,d}に対応する要素)を抽出し、抽出した要素eu’,vu’のハッシュ値H(eu’,vu’)を算出する(ステップS236)。そして、ハッシュ演算部813において、このハッシュ値H(eu’,vu’)を新たな要素eu’,vu’+1として秘密値メモリ1111に上書きし(ステップS237)、タグ装置1110での処理を終了する。
以上の処理により、インタフェース114がタグ出力情報ak,iを出力するたびに、ハッシュ演算部813において、秘密値メモリ1111から要素eu’,vu’(u’∈{1,…,d})を少なくとも1つ抽出し、抽出した要素eu’,vu’のハッシュ値H(eu’,vu’)を算出し、秘密値メモリ1111を更新することになる。
<リーダー装置の処理>
第1の実施の形態と同様である。
<バックエンド装置の処理>
実施例11の実施例10との相違点は、図23に示したステップS208からS213の処理の代わりに、26の処理を行う点である。
すなわち、ステップS207の処理の後、制御部136は、(x,...,x)∈Sの組合せを次のように選択し、これらをメモリ136aに格納する(ステップS241)。
(x,...,x)∈S={x,...,x|x∈[0,t]}
そして、制御部136はメモリ136aの(x,...,x)∈Sの組合せを参照し、データベースメモリ1131からこれらに対応するd個の多様値z=π(x)(u∈{1,…,d})を抽出し、ハッシュ演算部1133に送る。ハッシュ演算部1133は、ハッシュ値Hwu(fu,0)と多様値zとのビット結合値にハッシュ値Gを作用させた演算値cを算出する(ステップS242)。なお、演算値cとしては、例えば、c=G(Hw1(f1,0)|z|・・・|Hwu(fu,0)|z|・・・|Hwd(fd,0)|z)を例示できるが、各ハッシュ値Hwu(fu,0)と多様値zのビット配置順序はこれに限定されない。但し、その順序等はタグ装置1110のハッシュ演算部1112での各要素のビット配置順序に対応させる必要がある。
次に、比較部134において、メモリ136aからタグ出力情報ak,iを読出し、ハッシュ演算部1133から上記演算値cを受け取り、これらを比較してc=ak,iであるか否かを判断する(ステップS243)。この例では、ハッシュ値c=G(Hw1(f1,0)|z|・・・|Hwu(fu,0)|z|・・・|Hwd(fd,0)|z)と、タグ出力情報ak,iと、を比較する。
ここで、これらが一致しないと判断された場合、制御部136は、メモリ136aを参照し、全ての組合せパターン(x,...,x)∈Sが選択済みであるか否かを判断する(ステップS244)。ここで、全ての組合せパターン(x,...,x)∈Sが選択済みでないと判断された場合、制御部136は、新たな組合せ(x,...,x)∈Sを選択し、これらをメモリ136aに格納した後、ステップS242以降の処理を実行させる。一方、ステップS244の判断で全ての組合せパターン(x,...,x)∈Sが選択済みであると判断された場合には、図23のステップS213に進む。一方、ステップS243の処理でc=ak,iであると判断された場合には、図23のステップS218に進む。
[効率性]
バックエンド装置1130でのハッシュ値cとタグ出力情報ak,iとの比較処理は、最大t+t2+...+td-1+t回ずつは、ハッシュ値Hwu(fu,0)の組合せを変更することなく行われる。そのため、タグ装置1110での許容通信回数(リーダー装置120からタグ装置1110への呼び出し回数の最大値)を増加させた場合でも、バックエンド装置1130における処理はさほど増加しない。
[追跡不可能性]
実施例11のタグ装置1110は、タグ出力情報ak,iを出力するたびに、秘密値メモリ1111に格納された何れかの要素eu’,vu’(u’∈{1,…,d})をハッシュチェインによって更新する。そのため、タグ装置1110がタンパーされ、秘密値メモリ1111内の要素eu’,vu’が攻撃者に漏洩しても、攻撃者は、ハッシュ関数の一方向性により、更新前の要素eu’,vu’‐tと、更新後の要素eu’,vu’との相関がとれない。そのため、攻撃者は、秘密値メモリ1111から取得した要素と、過去にタグ装置から出力された出力値との相関をとることもできない。これにより、タグ装置1110の追跡を防止できる。
さらに、実施例11では、タグ装置1110がタンパーされ、各多様値zが漏洩した場合であっても、秘密値メモリ1111に格納された何れかの要素eu’,vu’は上書き更新されている。これにより、タグ装置1110がタンパーされた場合における影響を最小限に抑えることができる。
なお、実施例11では、すべての通信時点において、何れかのxが必ずx=tとなるように、ε及びtを設定した。つまり、例えば、t=t=・・・=tとし、各要素eu,vuに対応するカウンタxを1ずつずらすこととした(x=i+u/d)。
しかし、t(u∈{1,…,d})をすべて等しくせず、各要素eu,vuに対応する各カウンタxを、一番値の大きいtをd等分した間隔ずつずらしたものとしてもよい。この場合、完全なフォワードセキュア(forward secure)の性質を満たさない場合もあるが、少なくとも、タンパーされたときの影響を抑制することはできる。
〔実施例12〕
実施例12は、実施例11の変形例である。実施例11と同様、実施例12でも各要素eu,vuが更新される通信時点はシフトさせる。但し、実施例12では、タグ装置が、タグ出力情報ak,iをΣu=1 t回出力するたびに、何れかの要素eu’,vu’を抽出し、抽出した要素eu’,vu’のハッシュ値H(eu’,vu’)を算出する。
具体的には、実施例12のタグ装置は、外部からのアクセスごとに、d個の要素eu,vuの何れかに対応するカウンタx∈{1,…,t}をカウントアップしていく(例えば、e1,v1・・・ed,vdの順に1ずつカウントアップしていく)。ここで、このカウンタxは、タグ出力情報ak,i=G(e1,v1|z|…|ed,vd|z)を構成する多様値zに対応するため、このタグ装置は、各要素eu,vuを更新することなく、異なる値のタグ出力情報ak,iをΣu=1 t回出力することができる。本実施例では、このタグ出力情報ak,iをΣu=1 t回出力するごとに何れかの各要素eu,vuを更新するこれにより、タグ装置の出力値の多様性を保持しつつ、タグ装置での更新演算量を最小限に抑える。
以下では、実施例1,11との相違点のみを説明し、実施例1,11と共通する事項については説明を省略する。
図27は、実施例12のタグ装置の処理を説明するためのフローチャートである。なお、全体の機能構成は、実施例11と同様である(図24)。
以下、これらの図を用いて、本実施例の処理方法について説明する。
<前処理>
実施例11では、x=i+ε(u∈{1,…,d})とし、すべての通信時点において、何れかのxが必ずx=tとなるようにε及びtを設定していたが、実施例12では、特にこのような限定は行わない。
<タグ装置の処理>
以下では、i回目(iは自然数)に、タグ装置310をリーダー装置20に読取らせた際の処理を説明する。なお、カウント値x(u∈{1,…,d})の初期値(i=1)は1であり、u’及びu’の初期値も1である。なお、u’は更新する要素eu’,vu’に対応し、u’’はカウントアップする要素eu’’,vu’’のカウント値xu’’に対応する。また、各パラメータは、制御部136の制御のもとメモリ136aに格納される。
まず、ハッシュ演算部1112において、秘密値メモリ1111から各要素eu,vuを抽出し、多様値メモリ1116から何れかの多様値z(この例ではz=π(x))を抽出する(ステップS241)。そして、ハッシュ演算部1112は、抽出した各要素eu,vuと、何れかの多様値zと、のビット結合値のハッシュ値であるタグ出力情報ak,i=G(e1,v1|z|…|ed,vd|z)を算出する(ステップS242)。
生成されたタグ出力情報ak,iはインタフェース114に送られ、インタフェース114は、このタグ出力情報ak,iを送信する(ステップS243)。
その後、制御部136において、メモリのxu’’に対し、xu’’←xu’’+1(u’’∈{1,…,d})の演算を行い(ステップS244)、xu’’>tu’’(tu’’はxu’’の最大値)であるか否かを判断する(ステップS245)。ここで、xu’’>tu’’ないと判断された場合にはタグ装置1110の処理を終了する。
一方、xu’’>tu’’であると判断された場合、制御部136は、メモリ136aのu’’にu’’+1を代入し(ステップS246)、u’’>dとなったか否かを判断する(ステップS247)。ここで、u’’>dとなっていない場合にはタグ装置1110での処理を終了し、u’’>dとなっている場合には、ハッシュ演算部813において、秘密値メモリ1111から要素eu’,vu’(上記のu’∈{1,…,d}に対応する要素)を抽出し、抽出した要素eu’,vu’のハッシュ値H(eu’,vu’)を算出する(ステップS248)。そして、ハッシュ演算部813において、このハッシュ値H(eu’,vu’)を新たな要素eu’,vu’+1として秘密値メモリ1111に上書き保存する(ステップS249)。
その後、例えば、ハッシュ演算部813において、vu’←vu’+1の演算(更新回数)を行い(ステップS250)、vu’が要素eu’,vu’の更新回数の最大値(max)を超えたか否かを判断する(ステップS251)。ここで、vu’>maxとなっていないと判断された場合にはタグ装置1110の処理を終了し、vu’>maxとなっている場合には、制御部136において、u’←u’+1(更新対象となる要素の変更)と、vu’←0(更新対象となる要素の更新回数をリセット)との演算を行い(ステップS252)、それらの結果をメモリ136aに格納してタグ装置1110での処理を終了する。
以上の処理により、インタフェース114がタグ出力情報ak,iをΣu=1 t回出力するたびに、ハッシュ演算部813において、秘密値メモリ1111からいずれかの要素eu’,vu’を抽出し、抽出した要素eu’,vu’のハッシュ値H(eu’,vu’)を算出し、秘密値メモリ11を更新することになる。
<リーダー装置の処理>
実施例8と同様である。
<バックエンド装置の処理>
実施例11と同様である。
<実施例12の特徴>
[効率性]
実施例12では、タグ装置1110がΣu=1 t回通信するたびに、いずれかの要素eu’,vu’を更新するため、タグ装置1110での更新処理演算量を削減できる。つまり、本実施例では、通信のたびにΣu=1 t個の多様値を置き換えながらタグ出力情報ak,i=G(e1,v1|z|…|ed,vd|z)を生成し出力する。そのため、Σu=1 t回の通信において、要素eu,vuを更新することなく、タグ装置の出力値の多様性を確保できる。そして、Σu=1 t回の通信ごとにいずれかの要素eu’,vu’を更新することにより、さらに次のΣu=1 t回の通信における出力値の多様性を確保できる。そして、要素eu’,vu’の更新はΣu=1 t回の通信に一回でよいため、タグ装置1110での更新演算量を最小限に抑えることができる。
[追跡不可能性]
本実施例のタグ装置1110は、インタフェース114がタグ出力情報ak,iをΣu=1 t回出力するたびに、ハッシュ演算部813が秘密値メモリ1111を更新する。そのため、タグ装置1110がタンパーされ、秘密値メモリ1111内の要素eu’,vu’が攻撃者に漏洩しても、攻撃者が知ることができるタグ装置1110の過去の出力値の数はΣu=1 t個未満である。これにより、タグ装置1110での更新演算処理量を削減しつつ、タグ装置1110の追跡を抑制できる。
〔実施例13〕
実施例13は実施例1から4,6から12の変形例であり、使用される2種類のハッシュ関数G(x)及びハッシュ関数H(x)に特徴がある。
以下では、このハッシュ関数H(x),G(x)についてのみ説明する。
<No1>
この例のハッシュ関数G(x)は、rを自然数とし、hashを{0,1}→{0,1}のハッシュ関数とした場合における、hash(1|x)であり、ハッシュ関数H(x)は、hash(0|x)である。なお、α|βとはαとβのビット結合を示す。また、ハッシュ関数G(x)をhash(0|x)とし、ハッシュ関数H(x)をhash(1|x)としてもよい。
<No2>
この例のハッシュ関数H(x)(第1の関数F1)は、r,sを自然数とし、hashを{0,1}→{0,1}のハッシュ関数とし、p∈{0,1}とした場合における、hash(p|x)である。また、ハッシュ関数G(x)(第2の関数F2)は、q∈{0,1}とし、p≠qとした場合における、hash(q|x)である。
<No3>
このハッシュ関数H(x)(第1の関数F1)は、p∈{0,1}とし、xにpをパディングしたもの(xに対するpのパディング)をpad(x,p)とした場合における、hash(pad(x,p))である。また、ハッシュ関数G(x)(第2の関数F2)は、q∈{0,1}とし、p≠qとし、xにqをパディングしたもの(xに対するqのパディング)をpad(x,q)とした場合における、hash(pad(x,q))である。なお、xに対するpやqのパディング位置(ビット列の位置)は特に限定されない。例えば、xの前や後にp或いはqをビット結合してもよく、また、xのビット列の途中にp或いはqを挿入してもよい。
<No4>
このハッシュ関数H(x)(第1の関数F1)は、hashを{0,1}→{0,1}のハッシュ関数とした場合における、hash(x)であり、ハッシュ関数G(x)(第2の関数F2)は、rxをxのビット反転とした場合における、hash(rx)である。
<実施例13の効果>
本実施例では、1種類のハッシュ関数のみを用い、その性質(一方向性、ランダム値を出力する)を崩すことなく、2種類のハッシュ演算G(x),H(x)を実現できる。これにより、ハッシュ関数を構成する回路規模を縮小することができる。その結果、タグ装置に組み込む回路規模を小さくでき、タグ装置の低コスト化を実現できる。
〔第2の実施の形態〕
<構成>
次に、本発明における第2の実施の形態について説明する。
本形態では、タグ装置の外部に設けられた更新装置において、タグ装置に格納されている秘匿化ID情報を、所定の契機で、それとの関連性の把握が困難な新たな秘匿化ID情報に更新する。
<構成>
図28は、本形態の概略構成を例示したブロック図である。
図28に例示するように、本形態の更新システム1500は、タグ装置1510及びその外部に設けられたセキュリティサーバ装置1560を有している。
タグ装置1510は、各タグ装置に固有なタグID情報秘匿化した秘匿化ID情報を格納する秘密値メモリ、秘密値メモリと電気的に接続された読書き部1512、読書き部1512と電気的に接続された第1の出力部1513及び第2の入力部1514を有している。
また、セキュリティサーバ装置1560は、第1の入力部1561、第1の入力部1561と電気的に接続された更新部1562、更新部1562に接続された第2の出力部1563を有している。
<秘匿化IDの更新処理>
秘匿化IDの更新は以下のように行われる。
まず、所定の契機で、タグ装置1510が、読書き部1512において、その秘密値メモリ1511に格納されている秘匿化ID情報sidを読み出し、第1の出力部1513において、秘匿化ID情報sidを、各タグ装置の外部に設けられたセキュリティサーバ装置1560に対して出力する。
セキュリティサーバ装置1560は、第1の入力部1561において、秘匿化ID情報sidの入力を受け付ける。そして、更新部1562において、秘匿化ID情報sidとの関連性の把握が困難な新たな秘匿化ID情報sid’を生成し、第2の出力部1563において、新たな秘匿化ID情報sid’をタグ装置1510に対して出力する。
タグ装置1510は、第2の入力部1514において、新たな秘匿化ID情報sid’の入力を受け付け、読書き部1512において、この新たな秘匿化ID情報sid’を秘密値メモリ1511に格納する。
〔実施例14〕
図29は実施例14における更新システム2000の全体構成を例示した概念図である。
この図に例示するように、更新システム2000は、商品等に貼り付けられる無線タグ等のタグ装置2010、クライアント装置2020、平文のIDに関連する流通情報等を管理するバックエンド装置2050、及びIDの復元や秘匿化IDの再秘匿化処理等を行うセキュリティサーバ装置2060(ネットワークを通じて送信された秘匿化IDの再秘匿化処理を行うサーバ装置であり、「更新装置」に相当する)を有している。 そして、このクライアント装置2020、バックエンド装置2050及びセキュリティサーバ装置2060は、インターネット等のネットワーク2070により通信可能なように接続されている。なお、クライアント装置2020は、第1の実施の形態で説明したリーダー装置としての機能を備えている。また、第1の実施の形態において、タグ装置、リーダー装置及びバックエンド装置において実現された効果は、タグ装置2010、クライアント装置2020、バックエンド装置2050及びセキュリティサーバ装置2060によって実現される。また、説明の簡略化のため、この図では1つのタグ装置2010、クライアント装置2020、バックエンド装置2050及びセキュリティサーバ装置2060を例示しているが、通常タグ装置は複数であり、クライアント装置、バックエンド装置及びセキュリティサーバ装置は複数としてもよい。
この例のクライアント装置2020は、まず、タグ装置2010から秘匿化IDを読取り、これをセキュリティサーバ装置2060に送る。セキュリティサーバ装置2060は、この秘匿化IDからIDを復元し、このIDをクライアント装置2020に返す。IDを受け取ったクライアント装置2020は、バックエンド装置2050にアクセスし、ID、読取り日時、読取り場所、温度等の情報の書き込みや、IDに関連する情報の取得等を要求する。また、クライアント装置2020が、秘匿化IDをセキュリティサーバ装置2060に送信し、セキュリティサーバ装置2060が、直接、バックエンド装置2050にアクセスするというプロキシモデルの利用形態も想定できる。そして、本実施例の特徴的な部分は、セキュリティサーバ装置2060等のタグ装置2010の外部に設けられた装置が、タグ装置2010内の秘匿化IDを再秘匿化(秘匿化IDを別の秘匿化IDに更新すること)する点である。
図30は、本実施例における更新システム1の機能構成を例示したブロック図である。
<タグ装置>
この例のタグ装置2010は、秘密値メモリ2011、読書き部2012(「第1の読書き部」に相当)、インタフェース2013(「第1の出力部」「第2の入力部」に相当)、メモリ2014a及び制御部2014からなる。
ここで、秘密値メモリ2011,メモリ2014aは、例えば、EEPROM(Electronically Erasable and Programmable Read Only Memory)、FeRAM(Ferroelectric Random Access Memory)、フラッシュメモリ、NV(Nonvolatile)RAM等の読書き可能なRAM(Random Access Memory)である。また、読書き部2012は、制御部2014の制御のもと、秘密値メモリ2011の所定のアドレスにデータの読書きするハードウェアである。また、制御部2014は、例えば、タグ装置2010全体の処理を制御するように構成された集積回路である。
インタフェース2013は、無線或いは有線によってクライアント装置2020に対してデータを入出力するハードウェアである。具体的には、インタフェース2013は、例えば、NRZ符号やマンチェスター符号化やミラー符号や単極RZ符号化等によって符号化・復号化を行う符号化・復号化回路、ASK(Amplitude Shift Keying)やPSK(Phase Shift Keying)やFSK(Frequency Shift Keying)等によって変・復調を行う変・復調回路、ダイポールアンテナやマイクロストリップアンテナやループコイルやコア入りコイル等のアンテナを有し、ISM帯(Industry Science Medical band)の周波数を用いて信号の送受信を行う。なお、通信方式は、例えば、電磁誘導方式や電波方式を利用する。
また秘密値メモリ2011は、読書き部2012と電気的に接続され、読書き部2012はインタフェース2013と電気的に接続される。また、この図では省略するが、制御部2014はタグ装置2010の各部と電気的に接続されている。
<クライアント装置>
この例のクライアント装置2020は、インタフェース2022、通信部2021、メモリ2024a及び制御部2024を有する。
物流情報メモリ121は、例えば、ハードディスク装置、フレキシブルディスク等の磁気記録装置、DVD−RAM(Random Access Memory)、CD−R(Recordable)/RW(ReWritable)等の光ディスク装置、MO(Magneto-Optical disc)等の光磁気記録装置、EEP−ROM(Electronically Erasable and Programmable-Read Only Memory)、フラッシュメモリ(flash memory)等の半導体メモリ等である。インタフェース2022は、例えば、インタフェース2013の例と同様なハードウェアである。通信部2021は、例えば、LANカード、モデム、ターミナルアダプター等であり、制御部2023は、例えば、メモリ2023aを有するCISC(Complex Instruction Set Computer)方式、RISC(Reduced Instruction Set Computer)方式等のCPU(Central Processing Unit)である。
また、インタフェース22及び通信部2021とは電気的に接続され、この図では省略するが、制御部2024はクライアント装置2020の各部と電気的に接続されている。
<更新装置>
セキュリティサーバ装置2060は、通信部2062(「第1の入力部」「第2の出力部」に相当)、乱数生成部2063、読書き部2064(「第2の読書き部」に相当)、秘匿化IDメモリ2061、メモリ2065a及び制御部2065を有している。なお、乱数生成部2063、読書き部2964及び秘匿化IDメモリ2061は、「更新部」を構成する。具体的には、セキュリティサーバ2060は、例えば、CPU、RAM、ROM(Read Only Memory)、磁気記録装置や光ディスク装置等の外部記憶装置、LANカードやモデムやターミナルアダプター等をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。そしてこのCPUが、RAMに格納されたプログラムを読み出し、それに従った処理を実行することによって以下に示す各処理機能を実現する。
<処理>
図31は、本実施例の処理手順を説明するためのフローチャートである。以下、図29から図31の図を用いて、本実施例の機能構成及び処理について説明する。なお、タグ装置2010、クライアント装置2020及びセキュリティサーバ装置2060は、それぞれ制御部2014、2023、2065の制御により各処理を実行する。また、処理されるデータは、逐一メモリ2014a、2023a或いは2065aに格納され、演算等の処理を行う際に呼び出されるが、以下ではこの説明を省略する。
<前処理>
この例の秘匿化ID情報は、タグID情報idに対応付けられたランダム値rである。タグ装置2010の秘密値メモリ2011には、このタグ装置2010固有のタグID情報idに対応するランダム値rが秘匿化ID情報sidとして格納されている。また、セキュリティサーバ装置2060の秘匿化IDメモリ2061には、各タグ装置2010に対応するタグID情報id,…,idと、これら各タグID情報に対応付けられたランダム値r,…,rである秘匿化ID情報とが格納されている。なお、hは1以上m以下の自然数であり、各タグ装置2010に対応する番号とする。また、mはタグ装置の総数である。
<秘匿化ID情報更新処理>
まず、何らかの認証技術を利用し、クライアント装置2020とセキュリティサーバ装置2060との間で相互認証を行う。また、クライアント装置2020とセキュリティサーバ装置2060との通信は、何らかの暗号技術により暗号化されて行われる。
秘匿化ID情報sidの更新処理は、例えば、玄関等外出時に必ず通る場所を通過した場合やタグ装置2010内に格納された秘匿化ID情報の使用回数(カウント値が所定値に達した)等をトリガとして開始される。このトリガにより、まず、クライアント装置2020は、インタフェース2022においてタグ装置2010に読取り指示を送信する(ステップS301)。この読取り指示はタグ装置2010のインタフェース2013において受信され、これをトリガとして、読書き部2012は、秘密値メモリ2011から秘匿化ID情報sidを抽出する(ステップS302)。抽出された秘匿化ID情報sidは、インタフェース2013から、クライアント装置2020に送信(出力)される(ステップS303)。この秘匿化ID情報sidは、クライアント装置2020のインタフェース2022において受信され、秘匿化ID情報の更新依頼(再秘匿化要求)とともに、通信部2021からネットワーク2070を通じ、セキュリティサーバ装置2060に送信される(ステップ304)。
この秘匿化ID情報(sid)等の情報は、セキュリティサーバ装置2060の通信部2062において受信され(入力を受け付けられ)(ステップS305)、読書き部2064に送られる。また、これをトリガとして、乱数生成部2063(「ランダム値生成部」に相当)において、ランダム値である乱数r’ が生成される(ステップS306)。
なお、この乱数r’ の生成は、秘匿化IDメモリ2061の秘匿化ID情報と同値とならないように行われる。また、この生成は、例えば、SHA-1等の一方向性ハッシュ関数を用いて構成される計算量理論に基づく擬似乱数生成アルゴリズムを用いて行われ、生成された乱数r’ は、読書き部2064に送られる。読書き部2064は、秘匿化ID情報sidに対応するタグID情報idを秘匿化IDメモリ2061から検索(選択)し、このタグID情報idに乱数r’(「ランダム値」に相当)を新たな秘匿化ID情報sid’として対応付け、秘匿化IDメモリ2061に格納する(ステップS307)。また、読書き部2064は、新たな秘匿化ID情報sid’=r’を通信部2062に送り、通信部2062は、この新たな秘匿化ID情報sid)を、ネットワーク2070を通じ、クライアント装置2020に送信(「タグ装置に対して出力」に相当)する(ステップS308)。
送信された新たな秘匿化ID情報sid’は、クライアント装置2020の通信部2021において受信され、インタフェース2022を通じてタグ装置2010に送信される(ステップS309)。タグ装置2010は、インタフェース2013において、この新たな秘匿化ID情報sid’を受信し(入力を受け付け)、読書き部2012に送る。読書き部2012は、この新たな秘匿化ID情報sid’を秘密値メモリ2011に送り、そこに格納する(ステップS310)。その後、タグ装置2010は、リーダー装置(図示せず)からの読取り要求に対し、この新たな秘匿化ID情報sid’を、リーダー装置を通じバックエンド装置2050に送る。バックエンド装置2050は、受け取った秘匿化ID情報sid’をデータベースメモリ1131に送り、データベースメモリ1131は、これを通信部2062で受信し、読書き部2064に送る。読書き部2064は、この秘匿化ID情報sid’と一致するランダム値を秘匿化IDメモリ2061から検索し、一致したランダム値rに対応付けられているタグID情報idを読出して通信部2062に送り、通信部2062はこれをバックエンド装置2050に送信する。
<実施例14の特徴>
本実施例では、タグ装置2010に格納された秘匿化ID情報を任意のタイミングで更新できる。そのため、通信履歴等に残された秘匿化ID情報の共通性をもとにタグ装置2010が追跡され、プライバシーが侵害されることを回避できる。また、ランダム値を秘匿化ID情報としたため、攻撃者が更新前後の秘匿化ID情報の関連性を知ることはできない。よって、タグ装置2010の追跡の防止を強固に実現できる。さらに、複雑な再秘匿化処理を、タグ装置2010外部のセキュリティサーバ装置2060で行うこととしたため、タグ装置2010自体に再秘匿化処理に必要な回路等を設ける必要もない。その結果、タグ装置2010自体のコストを低く抑えることができる。
〔実施例15〕
本実施例は、実施例14の変形例であり、共通鍵暗号方式による暗号文を秘匿化ID情報とする点が実施例14と相違する。以下では、実施例14との相違点を中心に説明する。
図32は、本実施例における更新システム2100の機能構成を例示したブロック図であり、図33は、その処理手順を説明するためのフローチャートである。以下、これらの図を用いて、本実施例の機能構成及び処理について説明する。なお、図32において実施例14と共通する構成については、図30と同じ符号を付した。また、セキュリティサーバ装置2160は、制御部2065の制御により各処理を実行する。また、鍵メモリ2161、読書き部2064、ID抽出部2166、暗号化部2167及び乱数生成部2063が「更新部」を構成する。
<前処理>
この形態の秘匿化ID情報は、AES等の共通鍵暗号方式による第1の暗号文と、その暗号化に用いた共通鍵に対応する鍵ID情報とを有する情報である。この例では、タグ装置2110の秘匿化ID情報をsid=(ek(id|r),kid)とする。なお、hは1以上m以下の自然数であり、タグ装置2110に対応する番号である。また、jは1以上n以下の自然数であり、各鍵に対応する番号である。ここでmはタグ装置の総数を、nは鍵の総数をそれぞれ示している。また、kはj番目の共通鍵を、kidは共通鍵kに対応する鍵ID情報を、rは乱数をそれぞれ示す、さらにek(α)は、共通鍵kを用い、共通鍵暗号方式によってαを暗号化した暗号文を示し、α|βはαとβのビット結合を示す。
この例のタグ装置2110の秘密値メモリ2111には、このタグID情報idに対応する秘匿化ID情報sid=(ek(id|r),kid)が格納されている。また、セキュリティサーバ装置2160(「更新装置」に相当)の鍵メモリ2161には、各鍵ID情報(kid,…,kid)と、共通鍵暗号方式の共通鍵(k,…,k)が、対応つけられて格納されている。さらに、sid=(ek(id|r),kid)における乱数rの大きさ(ビット長)とパディング位置に関する情報がメモリ2065aに格納されている。
なお、この例では、タグ装置の総数mは鍵の総数nよりも十分に大きく(m≫n)、関連性のないタグ装置に、同じ鍵ID情報が割り当てられているものとする。すなわち、例えば、同じ種類の商品にそれぞれ付されるタグ装置に、同じ鍵ID情報が割り当てられるのではなく、無関係な商品にそれぞれ付されるタグ装置に、同じ鍵ID情報が割り当てられる。これにより、鍵ID情報から商品種別や商品個体が特定されることを防止できる。
<秘匿化ID更新処理>
実施例14と同様、まず、クライアント装置2020がタグ装置2110に読取り指示を送信する(ステップS320)。タグ装置2110は秘密値メモリ2111から秘匿化ID情報(sid=(ek(id|r),kid))を抽出し(ステップS321)、クライアント装置2020に送信する(ステップS322)。これを受けたクライアント装置320は、この秘匿化ID情報sidを、更新依頼とともに、セキュリティサーバ装置2160に送信する(ステップ323)。
この秘匿化ID情報sid等の情報は、セキュリティサーバ装置2160の通信部2062において受信され(ステップS324)、この秘匿化ID情報sidを構成する第1の暗号文ek(id|r)はID抽出部2266に送られ、鍵ID情報kidは読書き部2064に送られる。また、kidはメモリ2065aにも記録される。
鍵ID情報(kid)を受け取った読書き部2064は、この鍵ID情報kidに対応する共通鍵kを鍵メモリ2161から抽出し、ID抽出部2166に送る(ステップS325)。これを受け取ったID抽出部2166は、この共通鍵kを用いて第1の暗号文(ek(id|r)を復号し、タグID情報idを抽出する。すなわち、ID抽出部2166は、id=dk(ek(id|r))により(id|r)を算出し、メモリ2065aに格納された乱数rの大きさとそのパディング位置に関する情報を用いてidを抽出する(ステップS326)。ここで、dk(α)は、共通鍵kによる暗号文αの復号を示す。なお、算出されたタグID情報idは、共通鍵kとともに暗号化部2167に送られる。また、乱数生成部2063は、乱数r’を生成し、これを暗号化部2167に送る(ステップS327)。暗号化部2167は、送られた共通鍵k、タグID情報id、乱数r’、及びメモリ2065aに格納された乱数の大きさとそのパディング位置に関する情報を用い、第2の暗号文(ek(id|r’))(第1の暗号文との関連性の把握が困難な第2の暗号文)を生成(算出)し、これを通信部2062に送る(ステップS328)。
通信部2062は、送られた暗号文(ek(id|r’))、及びメモリ2065a内の鍵ID情報kidを、新たな秘匿化ID情報(sid’=(ek(id|r’),kid))として送信(出力)する(ステップS329)。
送信された新たな秘匿化ID情報sid’は、実施例14と同様、ネットワーク2070を介し、クライアント装置2020において受信され、タグ装置2110に送信される(ステップS330)。タグ装置2110は、この新たな秘匿化ID情報sid’をインタフェース2013で受信し、読書き部2012で秘密値メモリ2111内に格納し(ステップS331)、その後のリーダー装置からの読取り要求に対し、この新たな秘匿化ID情報sid’を、リーダー装置を通じバックエンド装置2050に送る。バックエンド装置2050は、受け取った秘匿化ID情報sid’をセキュリティサーバ装置2160に送り、セキュリティサーバ装置2160は、これを通信部2062で受信する。その後、セキュリティサーバ装置2160は、ステップS324,325と同様な手順によりタグID情報を復号し、これを通信部2062及びネットワーク2070を通じてバックエンド装置2050に送る。
<実施例15の特徴>
本実施例では、共通鍵暗号方式による暗号文を含む情報を秘匿化ID情報としたため、その共通鍵を知らない攻撃者が更新前後の秘匿化ID情報の関連性を知ることはできない。よって、タグ装置2010の追跡の防止を強固に実現できる。
なお、本実施例では、乱数とIDの排他的論理和の暗号文によって秘匿化ID情報を構成したが、確率暗号の性質(同じIDを同じ鍵で暗号化しても異なる暗号文を出力することができる性質)が保たれる限り、その他の方法で秘匿化ID情報を構成することとしてもよい。この点、実施例16も同様である。
〔実施例16〕
実施例16は、実施例14の変形例であり、公開鍵暗号方式による暗号文を秘匿化ID情報とする点が実施例14と相違する。以下では、実施例14との相違点を中心に説明する。
図34は、本実施例における更新システム2200の機能構成を例示したブロック図であり、図35は、その処理手順を説明するためのフローチャートである。以下、これらの図を用いて、本実施例の機能構成及び処理について説明する。なお、図34において実施例14と共通する構成については、実施例14と同じ符号を付した。また、読書き部2064、鍵メモリ2261、ID抽出部2266、暗号化部2267及び乱数生成部2063が「更新部」を構成する。
<前処理>
この形態の秘匿化ID情報は、RSA等の公開鍵暗号方式による第1の暗号文と、その暗号化に用いた公開鍵に対応する鍵ID情報とを有する情報である。この例では、タグ装置2210の秘匿化ID情報をsid=(epk(id|r),kid)とする。なお、pkはj番目の公開鍵を、kidは公開鍵pkに対応する鍵ID情報を、epk(α)は、公開鍵pkを用い、公開鍵暗号方式によってαを暗号化した暗号文を、それぞれ示す。
この例のタグ装置2210の秘密値メモリ2211には、この秘匿化ID情報(sid=(epk(id|r),kid))が格納されている。また、セキュリティサーバ装置2260(「更新装置」に相当)の鍵メモリ2261には、各鍵ID情報(kid,…,kid)と、公開鍵暗号方式の共通鍵(sk,…,sk)及び公開鍵(pk,…,pk)(鍵ペア(sk,pk))が、対応付けられて格納されている。さらに、この例のメモリ2065aには、sid=(epk(id|r),kid)における乱数rの大きさ(ビット長)とパディング位置(ビット位置)に関する情報が格納されている。
なお、実施例15と同様、この例でも、関連性のないタグ装置に、同じ鍵ID情報が割り当てられる。これにより、鍵ID情報から商品種別や商品個体が特定されることを防止できる。
<秘匿化ID更新処理>
実施例14と同様、まず、クライアント装置2020がタグ装置2210に読取り指示を送信する(ステップS340)。タグ装置2210は秘密値メモリ2211から秘匿化ID情報(sid=(epk(id|r),kid))を抽出し(ステップS341)、クライアント装置2020に送信する(ステップS342)。これを受けたクライアント装置2020は、この秘匿化ID情報sidを、更新依頼とともに、セキュリティサーバ装置2260に送信する(ステップ343)。
この秘匿化ID情報sid等の情報は、セキュリティサーバ装置2260の通信部2062において受信され(ステップS344)、この秘匿化ID情報sidを構成する第1の暗号文epk(id|r)はID抽出部266に送られ、鍵ID情報kidは読書き部2064に送られる。また、鍵ID情報kidはメモリ2065aにも記録される。
鍵ID情報kidを受け取った読書き部2064は、この鍵ID情報kidに対応する秘密鍵sk及び公開鍵pk(鍵ペア)を鍵メモリ2261から抽出し、秘密鍵skをID抽出部2266に、公開鍵pkを暗号化部2267に、それぞれ送る(ステップS345)。秘密鍵skを受け取ったID抽出部2266は、この秘密鍵skを用いて第1の暗号文(epk(id|r)を復号し、タグID情報idを抽出する。すなわち、id=dsk(epk(id|r))により(id|r)を算出し、メモリ2065aの乱数rの大きさとそのパディング位置の情報を用い、idを算出する(ステップS346)。ここで、dsk(α)は、秘密鍵skによる暗号文αの復号を示す。なお、算出されたタグID情報idは暗号化部2267に送られる。また、乱数生成部2063は、乱数r’を生成し、これを暗号化部2267に送る(ステップS347)。暗号化部2267は、送られた公開鍵pk、タグID情報id及び乱数r’、及び乱数の大きさとそのパディング位置の情報を用い、暗号文(epk(id|r’))(第1の暗号文との関連性の把握が困難な第2の暗号文)を生成(算出)し、これを通信部2062に送る(ステップS348)。
通信部2062は、送られた第2の暗号文(epk(id|r’))、及びメモリ2065a内の鍵ID情報kidを、新たな秘匿化ID情報sid’=(epk(id|r’),kid)として送信(出力)する(ステップS349)。
送信された新たな秘匿化ID情報sid’は、実施例14と同様、ネットワーク2070を介し、クライアント装置2020において受信され、タグ装置2210に送信される(ステップS350)。タグ装置2210は、この新たな秘匿化ID情報sid’を読書き部2012において秘密値メモリ2211内に格納する(ステップS351)。そして、その後のリーダー装置からの読取り要求に対し、この新たな秘匿化ID情報sid’を、リーダー装置を通じバックエンド装置2050に送る。バックエンド装置2050は、受け取った秘匿化ID情報sid’をセキュリティサーバ装置2260に送り、セキュリティサーバ装置2260は、これを通信部2062で受信する。その後、セキュリティサーバ装置2260は、ステップS345,346と同様な手順によりタグID情報を復号し、これを通信部2062及びネットワーク2070を通じてバックエンド装置2050に送る。
<実施例16の特徴>
本実施例では、公開鍵暗号方式による暗号文を含む情報を秘匿化ID情報としたため、その秘密鍵を知らない攻撃者が更新前後の秘匿化ID情報の関連性を知ることはできない。よって、タグ装置2210の追跡の防止を強固に実現できる。
〔実施例17〕
本実施例は、実施例14の変形例であり、再暗号化の性質(暗号化されたデータと公開鍵だけを用いて、別の暗号文データを生成できる暗号の性質。復号は同じ秘密鍵を用いて行われる。)を持つ暗号アルゴリズムを用い、秘匿化ID情報の更新を行う点が実施例14と相違する。以下では、実施例14との相違点を中心に説明する。
図36は、本実施例における更新システム2300の機能構成を例示したブロック図であり、図37は、その処理手順を説明するためのフローチャートである。以下、これらの図を用いて、本実施例の機能構成及び処理について説明する。なお、図36において実施例14と共通する構成については、実施例14と同じ符号を付した。また、セキュリティサーバ装置2360は、制御部2065の制御により各処理を実行する。また鍵メモリ2361、読書き部2064、乱数生成部2063、剰余乗算演算部2366及び剰余べき乗演算部2367が「更新部」を構成する。
<前処理>
この形態の秘匿化ID情報は、再暗号化の性質を持つ暗号アルゴリズム(公開鍵暗号方式)による第1の暗号文と、その暗号化に用いた公開鍵に対応する鍵ID情報とを有する情報である。この例では、ElGamal暗号(例えば、岡本龍明、山本博資、「現代暗号」、1998、p118〜119参照。)を用い、タグ装置2310の秘匿化ID情報をsid=(g mod p,id・pk mod p,kid)とする。なお、gは公開された生成元を、pは十分大きな素数を、rは0以上p−1未満の任意な整数を、pk=gxj mod pはj番目の公開鍵を、skはj番目の秘密鍵を、(g mod p,id・pk mod p)は暗号文を、それぞれ示す。なお、pk=gskj mod pの上付き添え字の「skj」は「sk」を意味する。また、以下の記載、及び図では、「mod p」を省略して記載する。
この例のタグ装置2310の秘密値メモリ2311には、この秘匿化ID情報sid=(g,id・pk ,kid)が格納されている。また、セキュリティサーバ装置2360(「更新装置」に相当)の鍵メモリ2361には、各鍵ID情報(kid,…,kid)と、公開鍵(pk,…,pk)が、対応付けられて格納されている。さらに、メモリ2065aには生成元gが格納されている。
なお、この例でも、関連性のないタグ装置に、同じ鍵ID情報が割り当てられる。これにより、鍵ID情報から商品種別や商品個体が特定されることを防止できる。
<秘匿化ID更新処理>
実施例14と同様、まず、クライアント装置2020がタグ装置2310に読取り指示を送信する(ステップS360)。タグ装置2310は秘密値メモリ2311から秘匿化ID情報sid=(g,id・pk ,kid)を抽出し(ステップS361)、クライアント装置2020に送信する(ステップS362)。これを受けたクライアント装置2020は、この秘匿化ID情報sidを、更新依頼とともに、セキュリティサーバ装置2260に送信する(ステップ363)。
この秘匿化ID情報sid等の情報は、セキュリティサーバ装置2360の通信部2062において受信され(ステップS364)、この秘匿化ID情報sidを構成する(g,id・pk )は剰余乗算演算部2366(「暗号化部」を構成)に送られ、kidは読書き部2064に送られる。また、kidはメモリ2065aにも記録される。
鍵ID情報kidを受け取った読書き部2064は、この鍵ID情報kidに対応する公開鍵pkを鍵メモリ2361から抽出し、これを剰余べき乗演算部2367(「暗号化部」を構成)に送る(ステップS365)。これをトリガに、乱数生成部2063は、0以上p−1未満の乱数r’を生成し、これを剰余べき乗演算部2367に送る(ステップS366)。剰余べき乗演算部2367は、メモリ2065a内の生成元g、受け取った公開鍵pk及び乱数r’を用いて(gr’,pk r’)の演算を行い、その結果を剰余乗算演算部2366に送る(ステップS367)。剰余乗算演算部2366は、受け取った(gr’,pk r’)と(g,id・pk )を用いて(gr+r’,id・pk r+r’)を演算し、その演算結果を新たな暗号文(第2の暗号文)として通信部2062に送る(ステップS368)。
通信部2062は、送られた暗号文(gr+r’,id・pk r+r’)(第1の暗号文との関連性の把握が困難な第2の暗号文)及びメモリ2065a内の鍵ID情報kidを、新たな秘匿化ID情報(sid’=(gr+r’,id・pk r+r’,kid))として送信する(ステップS369)。
送信された新たな秘匿化ID情報sid’は、実施例14と同様、ネットワーク2070を介し、クライアント装置2020において受信され、タグ装置2310に送信される(ステップS370)。そして、タグ装置2310は、読書き部2012において、この新たな秘匿化ID情報sid’を秘密値メモリ2311内に格納する(ステップS371)。その後、タグ装置2310は、読取り要求に対し、この新たな秘匿化ID情報(sid’)を応答する。
<実施例17の特徴>
本実施例では、再暗号化の性質を持つ暗号アルゴリズムを用いて秘匿化ID情報を更新することとしたため、平文のIDを復号することなく秘匿化ID情報を更新できる。よって、秘匿化ID情報の更新処理時にIDが盗聴されることもなく、タグ装置2310の追跡の防止を強固に実現できる。
なお、本実施例では、セキュリティサーバ装置2360の鍵メモリ2361に公開鍵(pk,…,pk)を格納しておくこととしたが、セキュリティサーバ装置2360が公開鍵(pk,…,pk)を保持せず、所定の公開鍵サーバから公開鍵(pk,…,pk)を取得して使用することとしてもよい。
また、本実施例では、ElGamal暗号を用いたが、再暗号化の性質を持つ暗号アルゴリズムであれば、高次剰余暗号等他のアルゴリズムを用いることとしてもよい。
また、実施例16及び実施例17の変形として、共通鍵でタグID情報を暗号化し、この共通鍵とこのタグID情報の暗号文を上述の公開鍵暗号方式による公開鍵を用いて暗号化したものを秘匿化ID情報とすることとしてもよい(ハイブリット暗号)。この場合、セキュリティサーバ装置は、この公開鍵に対応する秘密鍵で秘匿化ID情報を復号して共通鍵を取得し、その共通鍵を用いてタグID情報の暗号文を復号してタグID情報を得る。その後、セキュリティサーバ装置は、共通鍵暗号方式により、このタグID情報から別の暗号文を生成し、その共通鍵と暗号文を、さらに公開暗号方式で暗号化する。そして、その暗号文を新たな秘匿化ID情報とし、クライアント装置へ返す。その後、実施例16等と同様に、タグ装置の秘密値メモリへこの新たな秘匿化ID情報を格納する。
〔実施例18〕
実施例18は、秘匿化ID情報の更新時にセキュリティサーバ装置を変更するものである。以下では、実施例14との相違点を中心に説明する。
図38は、本実施例の更新システム2400の全体構成を例示した概念図である。なお、図38において実施例14と共通する構成については、実施例14と同じ符号を付している。
この図に例示するように、更新システム2400は、タグ装置2410、クライアント装置2020(「更新依頼装置」に相当)、複数のセキュリティサーバ装置2460−1〜v(「更新装置」に相当)、及びバックエンド装置2050を有しており、ネットワーク2070により通信可能なように接続されている。
図39は、本実施例における更新システム2400の機能構成を例示したブロック図であり、図40は、その処理手順を説明するためのフローチャートである。以下、これらの図を用いて、本実施例の機能構成及び処理について説明する。なお、図39において実施例14と共通する構成については、実施例14と同じ符号を付した。また、説明の簡略化のため、図38、39では、2つのセキュリティサーバ装置2460−1、2460−2のみを示したが、2つ以上のセキュリティサーバ装置でシステムを構成することとしてもよい。さらに、図39では、説明に必要な処理機能・データのみを記載することとしたが、セキュリティサーバ装置2460−1、2460−2それぞれが有する処理機能やデータを、相互が兼ね備えていることとしてもよい。なお、セキュリティサーバ装置2460−1,2460−2は、制御部2465−1,2465−2の制御により各処理を実行する。
<前処理>
この形態の秘匿化ID情報は、公開鍵暗号方式による暗号文と、その暗号化に用いた公開鍵に対応する鍵ID情報とを有する情報である。この例では、タグ装置2410の秘匿化ID情報をsid=(epk(id),kid)とする。
この例のタグ装置2410の秘密値メモリ2411には、この秘匿化ID情報sid=(epk(id),kid)が格納されている。また、セキュリティサーバ装置2460‐1の鍵メモリ2461‐1には、各鍵ID情報(kid,…,kid)と、公開鍵暗号方式の秘密鍵(sk,…,sk)が対応付けられて格納されている。さらに、セキュリティサーバ装置2460‐2の鍵メモリ2461‐2には、各鍵ID情報(kid,…,kid)と、公開鍵暗号方式の公開鍵(pk,…,pk)が対応付けられて格納されている。
なお、この例でも、関連性のないタグ装置に、同じ鍵ID情報が割り当てられる。これにより、鍵ID情報から商品種別や商品個体が特定されることを防止できる。
<秘匿化ID更新処理>
実施例14と同様、まず、クライアント装置2020がタグ装置2410に読取り指示を送信する(ステップS380)。タグ装置2410は秘密値メモリ2411から秘匿化ID情報(sid=(epk(id),kid))を抽出し(ステップS381)、クライアント装置2020に送信する(ステップS382)。これを受けたクライアント装置2020は、通信部2021(「第1のID出力部」に相当)において、このタグ装置2410から抽出した秘匿化ID情報sidを、復号依頼とともに、セキュリティサーバ装置2460‐1に送信(出力)する(ステップ383)。なお、セキュリティサーバ装置2460‐1は、この時点でタグ装置2410に格納されている秘匿化ID情報を管理しているセキュリティサーバ装置である。
この秘匿化ID情報sid等の情報は、セキュリティサーバ装置2460‐1の通信部2462‐1(「第1の入力部」に相当)において受信され(ステップS384)、この秘匿化ID情報sidを構成するepk(id)はID抽出部2466‐1に送られ、kidは読書き部2464‐1に送られる。鍵ID情報kidを受け取った読書き部2464‐1は、この鍵ID情報kidに対応する秘密鍵skを鍵メモリ2461‐1から抽出し、この秘密鍵skをID抽出部2466‐1に送る(ステップS385)。秘密鍵skを受け取ったID抽出部2466‐1は、この秘密鍵skを用いて暗号文(epk(id)を復号し、タグID情報idを求める(id=dsk(epk(id)))(ステップS386)。求められたタグID情報idは通信部2462‐1(「第2の出力部」に相当)に送られ、そこからネットワーク2070を通じ、クライアント装置2020へ送信(出力)される(ステップS387)。
セキュリティサーバ装置2460‐1から出力されたタグID情報idは、クライアント装置2020の通信部2021において受信される(入力を受け付けられる)(ステップS388)。その後、通信部2021は、任意に選択されたセキュリティサーバ装置2460‐2へタグID情報idを送信(出力)し、秘匿化ID情報の更新依頼を行う(ステップS389)。
セキュリティサーバ装置2460‐2の通信部2462‐2(「第3の入力部」に相当)は、ネットワーク2070を通じて送信されたこのタグID情報idを受信し(入力を受け付け)、暗号化部2467‐2に送る(ステップS390)。また、これをトリガとして、鍵選択部2468‐2は鍵の選択を行い、その情報を読書き部2464‐2に送る(ステップS391)。この例の場合、鍵選択部2468‐2は、1以上n以下の自然数から任意(乱数等)の鍵番号iを選択し、この鍵番号iを読書き部2464‐2に送る。読書き部2464‐2は、受け取った鍵番号iに対応する鍵ID情報kid及び公開鍵pkを鍵メモリ2461‐2から抽出し、暗号化部2467‐2に送る(ステップS392)。暗号化部2467‐2は、受け取った公開鍵pkを用いてタグID情報idを暗号化(秘匿化)し(epk(id))、この暗号文と鍵ID情報kidとからなる新たな秘匿化ID情報(sid’=(epk(id),kid))を生成する(ステップS393)。生成された秘匿化ID情報sid’は、通信部2462‐2に送られ、通信部2462‐2(「第3の出力部」に相当)は、この秘匿化ID情報sid’を、ネットワーク2070を通じ、クライアント装置2020へ送信(出力)する(ステップS394)。
クライアント装置2020は、通信部2021(「第2の入力部」に相当)において、この秘匿化ID情報(sid’)を受信し(入力を受け)(ステップS395)、それを、インタフェース2022を介し、タグ装置2410に送信する(ステップS396)。タグ装置2410は、この新たな秘匿化ID情報sid’を秘密値メモリ2411内に格納し(ステップS397)、以後の読取り要求に対し、この新たな秘匿化ID情報sid’を応答する。なお、これ以降は、セキュリティサーバ装置2460‐2が、タグ装置2410に格納されている秘匿化ID情報を管理しているセキュリティサーバ装置となる。従って、この新たな秘匿化ID情報sid’の復号は、以後セキュリティサーバ装置2460‐2において行われ、その復号結果であるタグID情報idがクライアント装置2020やバックエンド装置2050等へ送られることになる。なお、セキュリティサーバ装置2460‐2における秘匿化ID情報sid’の復号は、鍵メモリ2461‐2に格納された秘密鍵sk(kidに対応する秘密鍵:図示せず)を用いて行われる。
<実施例18の特徴>
実施例18では、タグ装置2410の秘匿化ID情報を管理しているセキュリティサーバ装置2460‐1で秘匿化ID情報を復号し、さらに、他のセキュリティサーバ装置2460‐2で新たな秘匿化ID情報を生成して、タグ装置2410に格納されている秘匿化ID情報を更新することとした。つまり、秘匿化ID情報の更新と、タグ装置2410の秘匿化ID情報を管理するセキュリティサーバ装置の変更を同時に行うこととした。これにより、秘匿化ID情報の更新履歴情報が1台のセキュリティサーバ装置に集中することを防止し、セキュリティサーバ装置からの情報漏洩や、悪意に設定されたセキュリティサーバ装置による不正行為等の危険を低減できる。さらに、変更後のセキュリティサーバ装置を、公衆がアクセスできないローカルなものとすることにより、さらに高度な安全性を実現することができる。
なお、公開鍵暗号方式の代わりに共通鍵暗号方式を用いて本実施例の更新システムを構成することとしてもよい。
また、実施例14のようにランダム値を秘匿化ID情報とする形態を適用して本実施例の更新システムを構成することとしてもよい。この場合、新たなセキュリティサーバ装置では、上記の暗号化の代わりにランダム値を生成し、実施例14のような秘匿化IDメモリに、生成したランダム値(=秘匿化ID)及びIDを新たに追加することになる。
〔実施例19〕
実施例19では、クライアント装置が秘匿化ID情報の再秘匿化処理を行う。すなわち、クライアント装置が更新装置として機能する。この場合、クライアント装置は、直接読取った秘匿化ID情報の再秘匿化処理を行うことになる。
図41は、本実施例における更新システム2500の機能構成を例示したブロック図であり、図42は、その処理手順を説明するためのフローチャートである。以下、これらの図を用いて、本実施例の機能構成及び処理について説明する。なお、図41おいて実施例14と共通する構成については、実施例14と同じ符号を付した。また、以下では実施例14との相違点を中心に説明する。
<前処理>
本実施例の秘匿化ID情報は、再暗号化の性質を持つ暗号アルゴリズム(公開鍵暗号方式)による暗号文と、その暗号化に用いた公開鍵に対応する鍵ID情報とを有する情報である。この例では、ElGamal暗号を用い、タグ装置2510の秘匿化ID情報をsid=(g,id・pk ,kid)とする。
この例のタグ装置2510のメモリ2511には、この秘匿化ID情報(sid=(g,id・pk ,kid))が格納されている。また、クライアント装置2520の(「更新装置」に相当)の鍵メモリ2524には、各鍵ID情報(kid,…,kid)と、公開鍵(pk,…,pk)が、対応付けられて格納されている。さらに、剰余べき乗演算部2527のメモリには生成元gが格納されている。
なお、この例でも、関連性のないタグ装置に、同じ鍵ID情報が割り当てられる。これにより、鍵ID情報から商品種別や商品個体が特定されることを防止できる。
<秘匿化ID更新処理>
クライアント装置2520は、制御部2023の制御により以下の処理を実行する。
実施例14と同様、まず、クライアント装置2520がタグ装置2510に読取り指示を送信する(ステップS400)。タグ装置2510はメモリ2511から秘匿化ID情報(sid=(g,id・pk ,kid))を抽出し(ステップS401)、クライアント装置2520に送信する(ステップS402)。
この秘匿化ID情報sidは、クライアント装置2520のインタフェース2022において受信され(ステップS403)、この秘匿化ID情報sidを構成する暗号文(g,id・pk )は剰余乗算演算部2528(「暗号化部」を構成)に送られ、kidは読書き部2525に送られる。なお、kidはメモリ2023aにも記録される。
鍵ID情報kidを受け取った読書き部2525は、この鍵ID情報kidに対応する公開鍵pkを鍵メモリ2524から抽出し、これを剰余べき乗演算部2527(「暗号化部」を構成)に送る(ステップS404)。これをトリガに、乱数生成部2526は、0以上p−1未満の乱数r’を生成し、これを剰余べき乗演算部2527に送る(ステップS405)。剰余べき乗演算部2527は、自己のメモリ内の生成元g、受け取った公開鍵(pk)及び乱数r’を用いて(gr’,pk r’)の演算を行い、その結果を剰余乗算演算部2528に送る(ステップS406)。剰余乗算演算部2528は、受け取った(gr’,pk r’)と(g,id・pk )を用いて(gr+r’,id・pk r+r’)を演算し、その演算結果を新たな暗号文としてインタフェース2022に送る(ステップS407)。そして、インタフェース2022は、送られた暗号文(gr+r’,id・pk r+r’)及びインタフェース2022のメモリ内の鍵ID情報kidを、新たな秘匿化ID情報(sid’=(gr+r’,id・pk r+r’,kid))として送信(出力)する(ステップS408)。
送信された新たな秘匿化ID情報sid’は、タグ装置2510のインタフェース2013において受信され、読書き部2012を介し、メモリ2511内に格納される(ステップS409)。その後、タグ装置2510は、読取り要求に対し、この新たな秘匿化ID情報sid’を応答する。
<実施例19の特徴>
実施例19では、クライアント装置2520がタグ装置2510内の秘匿化ID情報の再秘匿化を行うこととした。ここで、クライアント装置2520が再秘匿化処理を行うのは、インタフェース2022において直接読取った秘匿化ID情報のみである。そのため、第三者への情報の漏洩を抑制でき、より高い安全性を確保できる。
なお、本実施例では、セキュリティサーバ装置2520の鍵メモリ2524に公開鍵(pk,…,pk)を格納しておくこととしたが、セキュリティサーバ装置2520が公開鍵(pk,…,pk)を保持せず、所定の公開鍵サーバから公開鍵(pk,…,pk)を取得して使用することとしてもよい。
また、実施例14から実施例16の形態の何れかのセキュリティサーバ装置の構成をクライアント装置2520に適用し、本実施例の処理を実行することとしてもよい。
〔実施例20〕
次に、実施例20について説明する。
本実施例では、クライアント装置(「更新依頼装置」に相当)において複数の秘匿化ID情報を取得しておき、そこから選択した秘匿化ID情報を用い、タグ装置内の秘匿化ID情報を更新する。
図43は、本実施例における更新システム2600の機能構成を例示したブロック図であり、図44は、その処理手順を説明するためのフローチャートである。以下、これらの図を用いて、本実施例の機能構成及び処理について説明する。なお、図43において実施例14と共通する構成については、実施例14と同じ符号を付した。また、以下では実施例14との相違点を中心に説明する。
<前処理>
まず、クライアント装置2620の通信部2021(「秘匿化ID入力部」に相当)において、ネットワーク2070を通じて送られた複数種類の秘匿化ID情報(sid‐1,…,p)を受信する(入力を受け付ける)(ステップS410)。なお、この複数種類の秘匿化ID情報(sid‐1,…,p)は、実施例14から実施例17の何れかの方法を複数回繰り返す、或いはセキュリティサーバ装置2660が複数種類の秘匿化ID情報を一度に送信することにより得られるものである。また、実施例14の方法を利用する場合、セキュリティサーバ装置2660の秘匿化IDメモリに、1つのタグID情報に対し、複数の秘匿化ID情報(sid‐1,…,p)を保持しておく必要がある。これに対し、実施例15から実施例17の方法を利用した場合には、セキュリティサーバ装置2660に格納しておく情報は、実施例15から実施例17と同様でよい。
通信部2021は、これらの秘匿化ID情報(sid‐1,…,p)を読書き部2624に送り、読書き部2624は、それらを秘匿化IDメモリ2625に格納する(ステップS411)。
<秘匿化ID更新処理>
クライアント装置2620は、制御部2023の制御により以下の処理を実行する。
まず、制御部2023において、秘匿化ID情報の更新を行う所定のトリガ(契機)があったかを判断する(ステップS412)。このトリガとしては、例えば、タグ装置2610から秘匿化ID情報が読取られた、タグ装置2610内の秘匿化ID情報の使用回数を示すカウンタ値が所定値に達した等が挙げられる。ここで、所定のトリガがない場合には、ステップS412の判断を継続し、所定のトリガがあった場合には、読書き部2624(「秘匿化ID抽出部」に相当)において、秘匿化IDメモリ2625から1つの秘匿化ID情報sid‐jを抽出する(ステップS413)。この1つの秘匿化ID情報sid‐jの選択は、例えば、ランダムに行うこととしてもよく、また、sid‐1, sid‐2,…と配列順に選択していき、sid‐pの後、再びsid‐1に戻るというように行ってもよい。抽出された1つの秘匿化ID情報sid‐jは、読書き部2624からインタフェース2022(「秘匿化ID出力部」に相当)に送られ、そこからタグ装置2610に対して送信(出力)される(ステップS414)。
タグ装置2610は、インタフェース2013において、この秘匿化ID情報sid‐jを受信し(ステップS415)、読書き部2012を介して、秘密値メモリ2611に格納する(ステップS416)。その後、タグ装置2610は、リーダー装置からの読取り要求に対し、この新たな秘匿化ID情報sid’を応答する。
<実施例20の特徴>
本実施例では、クライアント装置2620に予め複数種類の秘匿化ID情報を格納しておき、それらから選択した秘匿化ID情報により、タグ装置2610の秘匿化ID情報を更新することとした。ここで、更新に用いる秘匿化ID情報の選択はクライアント装置2620内で行われ、その送信は、クライアント装置2620とタグ装置2610間でローカルに行われる。そのため、第三者への情報の漏洩を抑制でき、より高い安全性を確保できる。また、セキュリティサーバ装置2660からクライアント装置2620への複数種類の秘匿化ID情報の送信を一度に行うこととすれば、セキュリティサーバ装置2660へのアクセス回数を低減できるため、秘匿化ID情報の更新処理に伴うシステムの性能低下を軽減できる。
なお、秘匿化ID情報の選択・格納の契機は上述したものに限定されず、また、クライアント装置2620に格納された秘匿化ID情報がすべて使い果たされた後、セキュリティサーバ装置2660から再び複数種類の秘匿化ID情報を取得し、クライアント装置2620に格納することとしてもよい。
〔実施例21〕
次に、実施例21について説明する。
本実施例は、実施例20の変形例であり、クライアント装置が、複数のセキュリティサーバ装置(「更新装置」)から出力された秘匿化ID情報を取得する点が実施例20と相違する。
図45は、本実施例における更新システム2700の機能構成を例示したブロック図である。以下、この図を用いて、本実施例の機能構成及び処理について説明する。なお、図45において実施例14或いは実施例20と共通する構成については、実施例14或いは実施例20と同じ符号を付した。また、以下では、実施例20との相違点のみを説明する。
<前処理>
実施例20との相違点は、クライアント装置2620が、複数のセキュリティサーバ装置2760‐1,2760‐2,…,2760‐pから送られた複数種類の秘匿化ID情報(sid‐1,…,p)を受信する点のみである。なお、複数のセキュリティサーバ装置2760‐1,2760‐2,…,2760‐pにおけるIDの秘匿化は、例えば、実施例18の方法を用いる。
<秘匿化ID更新処理>
実施例20と同様である。
<実施例21の特徴>
本実施例では、複数のセキュリティサーバ装置2760‐1,2760‐2,…,2760‐pで生成された秘匿化ID情報をクライアント装置2620で取得することとした。そのため、秘匿化ID情報の更新履歴が1つのセキュリティサーバ装置に集中することを防止でき、より高度な安全性を実現できる。
また、前述のように、実施例20において、実施例14の方法を利用して秘匿化ID情報を生成する場合、セキュリティサーバ装置の秘匿化IDメモリに、1つの鍵ID情報に対して複数の秘匿化ID情報(sid‐1,…,p)を保持しておく必要があった。しかし、本実施例では、実施例14の方法を利用して秘匿化ID情報を生成する場合であっても、各セキュリティサーバ装置が管理する秘匿化ID情報は、1つの鍵ID情報に対して1つの秘匿化ID情報のみでよい。この点、秘匿化ID情報の管理を簡易化できる。
〔実施例22〕
次に、実施例22について説明する。
本実施例では、実施例20及び実施例21の変形例であり、取得した複数の秘匿化ID情報をクライアント装置ではなく、タグ装置内に格納しておくものである。
図46は、本実施例における更新システム2800の機能構成を例示したブロック図である。以下、この図を用いて、本実施例の機能構成及び処理について説明する。なお、図46において実施例14と共通する構成については、実施例14と同じ符号を付した。また、以下では、実施例14、実施例20及び実施例21との相違点を中心に説明する。
<前処理>
まず、クライアント装置2020の通信部2021において、ネットワーク2070を通じて送られた複数種類の秘匿化ID情報(sid‐1,…,p)を受信する。受信された複数種類の秘匿化ID情報(sid‐1,…,p)は、インタフェース2022に送られ、そこからタグ装置2810に対して送信される。
タグ装置2810は、インタフェース2013(「秘匿化ID入力部」に相当)において、複数種類の秘匿化ID情報(sid‐1,…,p)を受信し(入力を受け付け)、これらを読書き部2012に送る。読書き部2012はこれらを秘匿化IDメモリ2811に格納する。なお、秘匿化ID情報(sid‐1,…,p)は、1つのセキュリティサーバ装置から出力されたものでも、複数のセキュリティサーバ装置から出力されたものでもよい。
<秘匿化ID更新処理>
タグ装置2810の読書き部2012(「秘匿化ID抽出部」に相当)は、制御部2014の制御のもと、例えば、読取り装置からの読取り指示をトリガ(契機)として、秘匿化IDメモリ2811から1つの秘匿化ID情報(sid‐j)を任意(例えば、ランダム)に抽出し、これをインタフェース2013から送信する。送信された秘匿化ID情報(sid‐j)は、実施例14で述べたようにバックエンド装置における処理に使用される。
<実施例22の特徴>
本実施例では、タグ装置2810に複数種類の秘匿化ID情報(sid‐1,…,p)を格納し、それらから選択した1つの秘匿化ID情報(sid‐j)を使用することとした。これにより、IDに関する情報の取得等に使用される秘匿化ID情報が毎回同じになることがなく、タグ装置2810の追跡を抑制できる。また、タグ装置2810自体に複数種類の秘匿化ID情報(sid‐1,…,p)を格納してあるため、クライアント装置2020にアクセスできない場合(例えば、クライアント装置2020の機能を有しないタグ読取り装置での読取り処理時)でも、使用する秘匿化ID情報を更新することができる。
〔実施例23〕
この実施例では、タグ装置に、鍵ID情報が格納された読取専用領域と、第1の秘匿化ID情報が格納された書換可能領域と、を有する秘密値メモリを設ける。そして、秘匿化ID情報の再秘匿化処理の際、この秘匿化IDメモリから鍵ID情報と第1の秘匿化ID情報を抽出して出力する。
更新装置は、これらの鍵ID情報と第1の秘匿化ID情報の入力を受け付け、この鍵ID情報に対応する鍵を抽出する。そして、抽出した鍵と、第1の秘匿化ID情報とを用いて、第1の秘匿化ID情報との関連性の把握が困難な第2の秘匿化ID情報を生成し、この第2の秘匿化ID情報を出力する。
タグ装置は、この第2の秘匿化ID情報の入力を受け付け、入力された第2の秘匿化ID情報を、秘匿化IDメモリの書換可能領域に格納する。
ここで、更新装置において更新されるのは秘匿化ID情報のみである。そして、タグ装置において書き換えられるのは、書換可能領域内の秘匿化ID情報のみであり、読取専用領域内の鍵ID情報には変更はない。そのため、書換可能領域内の秘匿化ID情報が、異なるタグ装置に対応する秘匿化ID情報に書き換えられた場合であっても、この秘匿化ID情報の復号処理に用いられる鍵ID情報は、元の鍵ID情報のままである。そのため、この書き換えられた秘匿化ID情報の復号時に選択される復号サーバは、例えば、元の鍵ID情報を元に選択される復号サーバであり、この書き換えられた秘匿化ID情報の復号処理を適切にできない場合もある。また、復号サーバが共通していた場合であっても、この書き換えられた秘匿化ID情報の復号処理に使用される鍵は、元の鍵ID情報に対応する鍵である。よって、その復号結果も異常となる。
以下、この実施例を図面を参照して説明する。
図47は、本実施例の更新システム3000の全体構成を例示した概念図である。
この図に例示するように、更新システム3000は、商品等に貼り付けられる無線タグ等のタグ装置3010、クライアント装置3020、平文のIDに関連する流通情報等を管理するバックエンド装置3050、及び秘匿化ID情報の再秘匿化処理を行うセキュリティサーバ装置3060、IDの復元処理を行うセキュリティサーバ装置3070を有している。そして、このクライアント装置3020、バックエンド装置3050及びセキュリティサーバ装置3060、3070は、インターネット等のネットワーク3080により通信可能なように接続されている。なお、説明の簡略化のため、この図では、タグ装置3010、クライアント装置3020、バックエンド装置3050及びセキュリティサーバ装置3060、3070を1つずつ例示しているが、通常タグ装置は複数であり、クライアント装置、バックエンド装置及びセキュリティサーバ装置は複数としてもよい。さらに、セキュリティサーバ装置3060、3070の代わりに、セキュリティサーバ装置3060、3070の両機能を有するセキュリティサーバ装置を用いることとしてもよい。
この例のクライアント装置3020は、タグ装置10から秘匿化ID情報を読取り、これをセキュリティサーバ装置3070に送る。セキュリティサーバ装置3070は、この秘匿化ID情報からIDを復元し、このIDをクライアント装置3020に返す。IDを受け取ったクライアント装置3020は、バックエンド装置3050にアクセスし、ID、読取り日時、読取り場所、温度等の情報の書き込みや、IDに関連する情報の取得等を要求する。また、クライアント装置3020が、秘匿化ID情報をセキュリティサーバ装置3070に送信し、セキュリティサーバ装置3070が、直接、バックエンド装置3050にアクセスするというプロキシモデルの利用形態も想定できる。
また、所定の契機で、タグ装置3010内の秘匿化ID情報は、セキュリティサーバ装置3060において再秘匿化処理(秘匿化ID情報を別の秘匿化ID情報に更新すること)され、タグ装置3010内の秘匿化ID情報が更新される。なお、秘匿化ID情報の更新契機を確実に確保するため、例えば、家の玄関にクライアント装置3020を設けることとしてもよい。この場合、クライアント装置3020は、タグ装置を保持した利用者が玄関を通過するたびに、タグ装置3010の秘匿化ID情報を読取り、それをセキュリティサーバ装置3060で再秘匿化し、再びタグ装置に書き込む。
そして、本実施例の特徴的な部分は、タグ装置3010が、鍵ID情報が格納された読取専用領域と秘匿化ID情報が格納された書換可能領域とを有する秘匿化IDメモリを具備する点、再秘匿化された秘匿化ID情報は書換可能領域へ書き込まれるが、鍵ID情報が格納された読取専用領域の更新は行われない点である。なお、書換可能領域に格納される秘匿化ID情報には鍵ID情報は含まれない。
<機能構成・処理>
図48は、本実施例における更新システム3000の機能構成を例示した図であり、図49及び図50は、その処理手順を説明するためのフローチャートである。以下、これらの図を用いて、本実施例の機能構成及び処理について説明する。なお、図48以降、バックエンド装置の記載は省略する。また、タグ装置3010、クライアント装置3020及びセキュリティサーバ装置3060、3070は、それぞれ制御部3014、3023、3065、3075の制御により各処理を実行する。また、処理されるデータは、逐一メモリ3014a、3023a、3065a或いは3075aに格納され、演算等の処理を行う際に呼び出されるが、以下ではこの説明を省略する。
<前処理>
この形態では、再暗号化の性質を持つ暗号アルゴリズム(公開鍵暗号方式)による暗号文を秘匿化ID情報として用いる。この例では、楕円ElGamal暗号を用いる。
図48に例示するように、この例のタグ装置3010は、読取専用領域3011aと書換可能領域3011bを有する秘密値メモリ3011を有している。ここで、秘密値メモリ3011として、EEPROMなどの書換可能ROM(Read Only Memory)等の書換え可能なメモリを用い、その所定の領域を読取専用領域3011aと書換可能領域3011bに割り当てることとしてもよく、また、ROM等の書換不可能なメモリを用いて読取専用領域3011aを構成し、EEPROM等の書換え可能なメモリを用いて書換可能領域3011bを構成することとしてもよい。そして、この読取専用領域3011aには、秘密鍵sk及び公開鍵pkを特定する鍵ID情報kidが格納(記録)され、書換可能領域3011bには、秘匿化ID情報sid=(g,id・pk )が格納される。
また、セキュリティサーバ装置3060(「更新装置」)のメモリ3065aには生成元gが格納されおり、セキュリティサーバ装置3070(「復号装置」に相当)の鍵メモリ3071には、各鍵ID情報(kid,…,kid)と、秘密鍵(sk,…,sk)及び公開鍵(pk,…,pk)が、対応付けられて格納されている。
なお、この例では、タグ装置の総数mは鍵の総数nよりも十分に大きく(m≫n)、関連性のないタグ装置に、同じ鍵ID情報が割り当てられているものとする。すなわち、例えば、同じ種類の商品にそれぞれ付されるタグ装置に、同じ鍵ID情報が割り当てられるのではなく、無関係な商品にそれぞれ付されるタグ装置に、同じ鍵ID情報が割り当てられる。これにより、鍵ID情報からタグ装置、商品種別或いは商品個体等が一意に特定されることを防止できる。
<秘匿化ID復号処理>
最初に、バックエンド装置3050にIDに関連する情報の取得等を要求する際に行われる、秘匿化ID情報の復号処理について説明する。
まず、何らかの認証技術を利用し、クライアント装置3020とセキュリティサーバ装置3070との間で相互認証を行う。なお、クライアント装置3020とセキュリティサーバ装置3070との通信は、何らかの暗号技術により暗号化されて行われる。
次に、クライアント装置3020は、インタフェース3022においてタグ装置3010に読取り指示を送信する(ステップS501)。この読取り指示はタグ装置3010のインタフェース3013において受信され、これをトリガとして、読書き部3012は、秘密値メモリ3011の読取専用領域3011aから鍵ID情報kidを抽出し、書換可能領域3011bから秘匿化ID情報sidを抽出する(ステップS502)。抽出された秘匿化ID情報sid及び鍵ID情報kidは、インタフェース3013を通じ、クライアント装置3020に送信され(ステップS503)、クライアント装置3020のインタフェース3022において受信される。クライアント装置3020は、例えば、受け取った鍵ID情報kidからセキュリティサーバ装置3070のアドレスを特定し、このセキュリティサーバ装置3070に対し、通信部3021からネットワーク3080を通じ、秘匿化ID情報sid及び鍵ID情報kidを送信する(ステップ504)。
送信された秘匿化ID情報sid及び鍵ID情報kidは、セキュリティサーバ装置3070の通信部3072(「秘匿化ID入力部」に相当)において受信され(入力を受け付けられ)(ステップS505)、秘匿化ID情報sidは復号部3074(「ID算出部」に相当)に、鍵ID情報kidは読取り部3073にそれぞれ送られる。読取り部3073(「鍵抽出部」に相当)は、送られた鍵ID情報kidに対応する秘密鍵skを鍵メモリ3071から抽出し、復号部3074に送る(ステップS506)。復号部3074は、送られた秘匿化ID情報sidと秘密鍵skを用い、秘匿化ID情報sidを復号したタグID情報idを算出する。この例では、id=(id・pk )/(gskjの演算を行い、タグID情報idを算出する。なお、この演算式における指数「skj」は「sk」を意味する。算出されたタグID情報idは通信部3072に送られ、そこからネットワーク3080を通じ、クライアント装置3020に向けて送信される(ステップS508)。クライアント装置3020は、送信されたタグID情報idを通信部3021において受信し(ステップS509)、このタグID情報idをその後のバックエンド装置3050への問い合わせに利用する。
<秘匿化ID更新処理>
次に、本実施例における秘匿化ID情報の更新処理について説明する。
まず、何らかの認証技術を利用し、クライアント装置3020とセキュリティサーバ装置3060との間で相互認証を行う。なお、クライアント装置3020とセキュリティサーバ装置3060との通信も、何らかの暗号技術により暗号化して行うものとする。
この例の秘匿化ID情報の更新処理は、任意の契機、例えば、玄関等外出時に必ず通る場所を通過した場合や、タグ装置3010内に格納された秘匿化ID情報の使用回数(カウント値が所定値に達した)等をトリガとして開始される。このトリガにより、クライアント装置3020は、インタフェース3022においてタグ装置3010に読取り指示を送信する(ステップS511)。この読取り指示はタグ装置3010のインタフェース3013において受信され、これをトリガとして、読書き部3012(「秘匿化ID抽出部」に相当)は、秘密値メモリ3011の読取専用領域3011aから鍵ID情報kidを抽出し、書換可能領域3011bから秘匿化ID情報sidを抽出する(ステップS512)。抽出された秘匿化ID情報sid及び鍵ID情報kidは、インタフェース3013(「秘匿化ID抽出部」に相当)を通じ、クライアント装置3020に送信(出力)され(ステップS513)、クライアント装置3020のインタフェース3022において受信される。クライアント装置3020は、受け取った秘匿化ID情報sid及び鍵ID情報kidを、通信部3021及びネットワーク3080を通じ、セキュリティサーバ装置3060へ送信する(ステップ514)。
セキュリティサーバ装置3060は、通信部3061(「秘匿化ID入力部」に相当)において、この秘匿化ID情報sid及び鍵ID情報kidを受信し(入力を受け付け)(ステップS515)、秘匿化ID情報(sid=(g,id・pk ))を剰余乗算演算部3064(「秘匿化ID更新部」を構成)に送る。また、通信部3061(「鍵抽出部」に相当)は、この鍵ID情報kidを、公開鍵取得要求とともに、ネットワーク3080を通じ、セキュリティサーバ装置3070に送信する。
セキュリティサーバ装置3070は、通信部3072においてこれらを受信し、鍵ID情報kidを読取り部3073に送る。読取り部3073は、この鍵ID情報kidに対応する公開鍵pkを鍵メモリ3071から抽出し、抽出した公開鍵pkを、通信部3072及びネットワーク3080を通じてセキュリティサーバ装置3060に返す。
セキュリティサーバ装置3060は、通信部3061において、この公開鍵pkを受信(抽出)し、剰余べき乗演算部3063(「秘匿化ID更新部」を構成)に送る(ステップS516)。また、例えばこれをトリガとして、乱数生成部3062は、0以上p−1未満の乱数r’を生成し、これを剰余べき乗演算部3063に送る(ステップS517)。剰余べき乗演算部3063は、メモリ3065a内の生成元g、受け取った公開鍵pk及び乱数r’を用いて(gr’,pk r’)の演算を行い、その結果を剰余乗算演算部3064に送る(ステップS518)。剰余乗算演算部3064は、受け取った(gr’,pk r’)と(g,id・pk )を用いて(gr+r’,id・pk r+r’)を演算し、その演算結果(暗号文)を新たな秘匿化ID情報として通信部3061に送る(ステップS519)。通信部3061(「秘匿化ID出力部」に相当)は、送られた秘匿化ID情報(sid’=(gr+r’,id・pk r+r’))(更新前の秘匿化ID情報(sid)との関連性の把握が困難な秘匿化ID情報(sid’)を、ネットワーク3080を通じ、クライアント装置3020に向けて送信(出力)する(ステップS520)。
送信された新たな秘匿化ID情報sid’は、クライアント装置3020の通信部3021において受信され、インタフェース3022を通じてタグ装置3010に送信される(ステップS521)。タグ装置3010は、インタフェース3013(「秘匿化ID入力部」に相当)において、この新たな秘匿化ID情報sid’を受信し(入力を受け付け)(ステップS522)、読書き部3012(「秘匿化ID格納部」に相当)において、この新たな秘匿化ID情報sid’をメモリ3011の書換可能領域3011bに格納する(ステップS523)。その後、タグ装置3010は、読取り要求に対し、この新たな秘匿化ID情報sid’を応答する。
<実施例23の特徴>
本実施例では、タグ装置3010に、鍵ID情報を格納した読取専用領域3011aと秘匿化ID情報を格納する書換可能領域3011bを有する秘密値メモリ3011を設け、書換可能領域3011bに格納された秘匿化ID情報のみを再秘匿化し、更新することとした。そのため、秘匿化ID情報の再秘匿化処理の際、書換可能領域3011bに他のタグ装置の秘匿化ID情報が書き込まれた場合であっても、そのような不正・誤りを検出することが可能となる。
例えば、図48において、タグ装置3010が有する秘密値メモリ3011の書換可能領域3011bに、鍵ID情報kidに対応する他のタグ装置の秘匿化ID情報(g,ID・pk )が格納された場合を考える。この場合であっても、読取専用領域3011aに格納されている鍵ID情報は常にkidであり、セキュリティサーバ装置3070の復号処理時に、読取り部3073において鍵メモリ3071から抽出される秘密鍵はkidに対応するskである。そのため、復号部3074での復号結果は(id・pk )/(gskj=(id・(gsk1)/(gskj=ID・gsk1/gskjとなり、その演算結果は異常データとなる。よって、この復号結果が異常データとなることをもって、他のタグ装置の秘匿化ID情報が書き込まれたことを検出することができる。
また、パスワード等による書換可能領域3011bへのアクセス制御を行うことなく、秘匿化ID情報の不正書換え等を防止できるため、その制御回路コストも抑えることができ、さらにアクセス制御用の複雑なパスワード管理等も不要となる。
すなわち、秘匿化ID情報の任意なタイミングでの更新を、より確実・安全・低コストで実行できるようになり、タグ装置3010に関するプライバシーの保護が可能となる。
なお、本実施例では、楕円ElGamal暗号を用いて秘匿化ID情報の生成・更新等を行うこととしたが、再暗号化の性質を持つ暗号、或いは、特願2003−359157号に示す再秘匿化方法を用いてもよい。また、セキュリティサーバ装置3060、3070を一体としてもよく、さらに、セキュリティサーバ装置3060が公開鍵のメモリを具備することとしてもよい。
〔実施例24〕
本実施例は、実施例23の変形例であり、秘匿化ID情報の復号結果がIDのフォーマットに矛盾していないかを確認することによって、タグ装置から出力された秘匿化ID情報が誤っていないか確認する。以下では、実施例23との相違点を中心に説明を行い、実施例23と共通する事項については説明を省略する。
図51は、本実施例におけるセキュリティサーバ装置3170(「復号装置」に相当)の機能構成を例示した図であり、図52は、本実施例におけるタグID情報3200のフォーマットを例示した図である。また、図53はセキュリティサーバ装置3170の処理手順を説明するためのフローチャートである。なお、図51において実施例23と共通する機能構成については、実施例23と同じ符号を付した。
<全体構成・ハードウェア構成>
セキュリティサーバ装置3070がセキュリティサーバ装置3170に置き換わる以外は、実施例23と同様である。
<前処理>
実施例23との相違点は、セキュリティサーバ装置3170が有する有効値メモリ3176にIDの各フィールドの有効値を格納しておく点である。その他は実施例23と同様である。
<秘匿化ID復号処理>
実施例23との相違点は、前述したセキュリティサーバ装置3070の処理(図49:ステップS505〜S508)に代えて、セキュリティサーバ装置3170が図53に例示する処理を行う点である。以下では、セキュリティサーバ装置3170の処理についてのみ説明し、その他の処理の説明は省略する。
実施例23と同様にクライアント装置3020から送信された秘匿化ID情報sid及び鍵ID情報kidは、セキュリティサーバ装置3170の通信部3072(「秘匿化ID入力部」に相当)において受信され(入力を受け付けられ)(ステップS531)、秘匿化ID情報sidは復号部3074(「ID算出部」に相当)に、鍵ID情報kidは読取り部3073にそれぞれ送られる。読取り部3073(「鍵抽出部」に相当)は、送られた鍵ID情報kidに対応する秘密鍵skを鍵メモリ3071から抽出し、復号部3074に送る(ステップS532)。復号部3074は、送られた秘匿化ID情報sidと秘密鍵skを用い、秘匿化ID情報sidを復号したタグID情報idを算出する。
算出されたタグID情報idはID構造検証部3177に送られ、そこでこのタグID情報idの構造の検証が行われる(ステップS534)。図52に例示するように、この例のID3200は、ヘッダ(h)3210、バージョンコード(vc)3202、製造者コード(mc)3203、商品コード(pc)3204、シリアルコード(sc)3205の各フィールドを有している。有効値メモリ3176には、この各フィールドの値がとり得る有効値が格納されており、ID構造検証部3177は、受け取ったタグID情報idの各フィールドの値と、有効値メモリ3176から抽出した有効値とを比較し、受け取ったタグID情報idの各フィールド値が有効値範囲内であるか否かを検証する。ここで、検証が成功した場合(ステップS535)、ID構造検証部177は、タグID情報idを通信部3072に送り、通信部3072は、タグID情報idをクライアント装置3020に送信する(ステップS536)。一方、検証が成功しなかった場合(ステップS535)、ID構造検証部3177は、タグID情報idを破棄して処理を終了する。
<実施例24の特徴>
本実施例では、セキュリティサーバ装置3170のID構造検証部3177において、復号後のタグID情報idが所定のIDフォーマットと矛盾していないかを検証することとした。これにより、タグ装置の書換可能領域に他のタグ装置の秘匿化ID情報が書き込まれていたことに起因する、秘匿化ID情報の復号結果のデータ異常を確実に発見することができる。
〔実施例25〕
本実施例は、実施例23の変形例であり、秘匿化ID情報の再秘匿化処理を行う際に、鍵ID情報と再秘匿化された秘匿化ID情報に秘密鍵を作用させ、デジタル署名、MAC等の認証情報を付する点が実施例23との相違点である。以下では、実施例23との相違点を中心に説明を行い、実施例23と共通する事項については説明を省略する。
図54及び55は、本実施例における更新システム3300の機能構成を例示した図であり、図56及び57は、その処理手順を説明するためのフローチャートである。なお、図54及び55において実施例23と共通する機能構成については、実施例23と同じ符号を付した。
<全体構成・ハードウェア構成>
タグ装置3010がタグ装置3310に、セキュリティサーバ装置3060がセキュリティサーバ装置3360(「更新装置」に相当)に、セキュリティサーバ装置3070がセキュリティサーバ装置3370(「復号装置」に相当)に、それぞれ置き換わる以外は、実施例23と同様である。
<前処理>
実施例23との相違点は、タグ装置3310の秘密値メモリ3311の書換可能領域3311bに、秘匿化ID情報sidとデジタル署名(「検証情報」に相当)σを格納しておく点、セキュリティサーバ装置3360の鍵メモリ3366にデジタル署名に用いる秘密鍵skと公開鍵pkを格納しておく点である。その他は実施例23と同様である。
<秘匿化ID更新処理>
次に、本実施例における秘匿化ID情報の更新処理について説明する。
まず、クライアント装置3020は、インタフェース3022においてタグ装置3310に読取り指示を送信する(ステップS541)。この読取り指示はタグ装置3310のインタフェース3013において受信され、これをトリガとして、読書き部3012は、秘密値メモリ3311の読取専用領域3011aから鍵ID情報kidを抽出し、書換可能領域3311bから秘匿化ID情報sidを抽出する(ステップS542)。抽出された秘匿化ID情報sid及び鍵ID情報kidは、インタフェース3013を通じ、クライアント装置3020に送信され(ステップS543)、クライアント装置3020のインタフェース3022において受信される。クライアント装置3020は、受け取った秘匿化ID情報sid及び鍵ID情報kidを、通信部3021及びネットワーク3080を通じ、セキュリティサーバ装置3360へ送信する(ステップ544)。
セキュリティサーバ装置3360は、通信部3061において、この秘匿化ID情報sid及び鍵ID情報kidを受信し(ステップS545)、秘匿化ID情報(sid=(g,id・pk ))を剰余乗算演算部3064に送る。また、実施例23と同様、通信部3061において、鍵ID情報kidをセキュリティサーバ装置3370に送信し、そこで抽出された公開鍵pkを取得(受信)する(ステップS546)。この公開鍵pkは、剰余べき乗演算部3063に送られ、さらに、乱数生成部3062で生成された(ステップS547)乱数r’も剰余べき乗演算部3063に送られる。剰余べき乗演算部3063は、(gr’,pk r’)の演算を行い、その結果を剰余乗算演算部3064に送り(ステップS548)、剰余乗算演算部3064は、(gr+r’,id・pk r+r’)を演算し、その演算結果を新たな秘匿化ID情報として、通信部3061及び署名生成部3368に送る(ステップS549)。これをトリガとして、読取り部3367は、鍵メモリ3366から秘密鍵skを抽出し、これを署名生成部3368に送る(ステップS550)。署名生成部3368(「検証情報生成部」に相当)は、さらに通信部3061から鍵ID情報kidを受け取り、例えば、gr+r’、id・pk r+r’、 kidのビット結合データ(gr+r’|id・pk r+r’|kid)を生成し、このビット結合データを秘密鍵skで暗号化したデジタル署名(「検証情報」に相当)σ’=Esk(gr+r’|id・pk r+r’|kid)を生成する(ステップS551)。生成された新たなデジタル署名σ’は、通信部3061に送られ、通信部3061(「秘匿化ID出力部」に相当)は、先に送られた新たな秘匿化ID情報(sid’=(gr+r’,id・pk r+r’))と新たなデジタル署名σ’を、ネットワーク3080を通じ、クライアント装置3020に向けて送信(出力)する(ステップS552)。
送信された新たな秘匿化ID情報sid’及びデジタル署名σ’は、クライアント装置3020の通信部3021において受信され、インタフェース3022を通じてタグ装置3310に送信される(ステップS553)。タグ装置3310は、インタフェース3013(「秘匿化ID入力部」に相当)において、この新たな秘匿化ID情報sid’及びデジタル署名σ’を受信し(入力を受け付け)(ステップS554)、読書き部3012(「秘匿化ID格納部」に相当)において、この新たな秘匿化ID情報sid’及びデジタル署名σ’を秘密値メモリ3311の書換可能領域3311bに格納する(ステップS555)。その後、タグ装置3310は、読取り要求に対し、この新たな秘匿化ID情報sid’及びデジタル署名σ’を応答する。
<秘匿化ID復号処理>
次に、本実施例における秘匿化ID情報の復号処理について説明する。
まず、クライアント装置3020は、インタフェース3022においてタグ装置3310に読取り指示を送信する(ステップS561)。この読取り指示はタグ装置3310のインタフェース3013において受信され、これをトリガとして、読書き部3012は、秘密値メモリ3311の読取専用領域3011aから鍵ID情報kidを抽出し、書換可能領域3311bから秘匿化ID情報sid’及びデジタル署名σ’を抽出する(ステップS562)。抽出された秘匿化ID情報sid’、デジタル署名σ’及び鍵ID情報kidは、インタフェース3013を通じ、クライアント装置3020に送信され(ステップS563)、クライアント装置3020のインタフェース3022において受信される。クライアント装置3020は、通信部3021において、これらの情報を、ネットワーク3080を通じて、セキュリティサーバ装置3370に送信する(ステップ564)。
送信された秘匿化ID情報sid’、デジタル署名σ’及び鍵ID情報kidは、セキュリティサーバ装置3370の通信部3072(「秘匿化ID入力部」に相当)において受信され(入力を受け付けられ)(ステップS565)、デジタル署名σ’は署名検証部3376に、秘匿化ID情報sidは復号部3074(「ID算出部」に相当)及び署名検証部3376に、鍵ID情報kidは読取り部3073及び署名検証部3376にそれぞれ送られる。
また、通信部3072は、ネットワーク3080を通じ、セキュリティサーバ装置3360に公開鍵取得要求を送り、これを通信部3061で受信したセキュリティサーバ装置3360は、読取り部3367において鍵メモリ3366から公開鍵pkを抽出し、通信部3061及びネットワーク3080を通じて、この公開鍵pkを返す。この公開鍵pkは、セキュリティサーバ装置3370の通信部3072において受信され(ステップS566)、署名検証部3376に送られる。
署名検証部3376は、受け取ったデジタル署名σ’を、この公開鍵pkを用いて復号し(Dpk(σ’))、gr+r’、id・pk r+r’、 kidのビット結合データ(gr+r’|id・pk r+r’|kid)を生成する。そして、Dpk(σ’)が(gr+r’|id・pk r+r’|kid)と等しくなるか否かによって、デジタル署名σ’の検証を行う(ステップS567)。ここで、Dpk(σ’)=(gr+r’|id・pk r+r’|kid)でなかった場合には、検証が失敗したとして処理を終了する。一方、Dpk(σ’)=(gr+r’|id・pk r+r’|kid)であった場合には、読取り部3073(「鍵抽出部」に相当)は、送られた鍵ID情報kidに対応する秘密鍵skを鍵メモリ3071から抽出し、復号部3074に送る(ステップS568)。復号部3074は、送られた秘匿化ID情報sid)と秘密鍵skを用い、秘匿化ID情報sid’を復号したタグID情報idを算出する(id=(id・pk r+r’)/(gr+r’skj)(ステップS569)。なお、この演算式における指数「skj」は「sk」を意味する。算出されたタグID情報idは通信部3072に送られ、そこからネットワーク3080を通じ、クライアント装置3020に向けて送信される(ステップS570)。クライアント装置3020は、送信されたタグID情報idを通信部3021において受信し(ステップS571)、このタグID情報idをその後のバックエンド装置3050への問い合わせに利用する。
<実施例25の特徴>
本実施例では、再秘匿化処理時に、セキュリティサーバ装置3360において、デジタル署名σ’=Esk(gr+r’|id・pk r+r’|kid)を生成し、復号処理時に、セキュリティサーバ装置3370において、このデジタル署名σ’を検証することとした。そのため、復号処理の際、デジタル署名によっても再秘匿化された秘匿化ID情報の正当性を検証でき、誤った秘匿化ID情報がタグ装置3310に格納されていることを、より確実に検出することができる。
なお、この形態では、セキュリティサーバ装置3360においてデジタル署名σ’を生成することとしたが、セキュリティサーバ装置3370や公証機関サーバ等がデジタル署名σ’の生成を代行することとしてもよい。
〔実施例26〕
本実施例は、実施例23の変形例であり、タグID情報を構成する情報のうち、各タグ装置に固有な情報のみを秘匿化した情報を秘匿化ID情報とする点が実施例23と相違する。以下では、実施例23との相違点を中心に説明を行い、実施例23と共通する事項については説明を省略する。
図58は、本実施例におけるタグ装置3410の機能構成を例示した図ある。なお、図58において、実施例23と共通する機能構成については、実施例23と同じ符号を付した。
<全体構成・ハードウェア構成>
タグ装置3010がタグ装置3410に置き換わる以外は、実施例23と同様である。
<前処理>
実施例23との相違点は、タグID情報を構成する情報のうち、各タグ装置に固有な情報のみを秘匿化した情報を秘匿化ID情報sidとする点である。図52に例示したデータ構成のタグID情報を用いる場合、シリアルコード(sc)3205が、各タグ装置に固有な情報となり、秘匿化ID情報はsid=(g,sc・pk )となる。そして、この秘匿化ID情報(sid=(g,sc・pk ))がタグ装置3410の秘密値メモリ3411の書換可能領域3411bに格納される。また、タグID情報を構成するバージョンコード(vc)3202、製造者コード(mc)3203、商品コード(pc)3204等の商品ごとに共通する情報を、暗号化して(E(vc),E(mc),E(pc))、秘密値メモリ3411の読取専用領域3411aに格納しておく点も実施例23との相違点である。なお、バージョンコード(vc)3202等の商品ごとに共通する情報の暗号化に関しては、同じ商品でも異なる暗号文が得られるように、確率暗号などを用いる。
<処理>
この例の秘匿化ID復号処理及び秘匿化ID更新処理等の処理は、秘匿化ID情報をsid=(g,sc・pk )とする点を除き、実施例23と同様である。なお、バックエンド装置3050への問い合わせ等の際に必要に応じて、読書き部3012において、秘密値メモリ3411の読取専用領域3411aからE(vc),E(mc),E(pc)等を抽出し、これらをインタフェース3013、クライアント装置3020等を通じて、バックエンド装置3050に送信する点も第1の実施の形態との相違点である。
<実施例26の特徴>
本実施例では、各タグ装置に固有な情報のみを秘匿化した情報を秘匿化ID情報としたため、商品ごとに共通する情報をも秘匿化した秘匿化ID情報とする場合に比べ、秘匿化処理の対象となるデータ量を削減でき、計算量や通信量を低減できる。
なお、この発明は、上述の各実施の形態や実施例に限定されるものではない。例えば、各実施例を組み合わせた形態で本発明を実施してもよく、また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力或いは必要に応じて並列的に或いは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の各構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、前記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読取り可能な記録媒体に記録しておくことができる。コンピュータで読取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
本発明により、例えばRFIDにおいてタグ装置の出力情報からタグ装置の流通過程が追跡されてしまうことを抑制することができる。
Aは、第1の実施の形態のタグ自動認識システムの全体を例示したブロック図である。また、Bはタグ装置の概略構成を、Cはバックエンド装置の概略構成を、それぞれ例示したブロック図である。 実施例1のタグ自動認識システムの全体構成を例示した図である。 実施例1の処理を説明するためのフローチャートである。 実施例2のタグ自動認識システムの全体構成を例示した図である。 実施例3のタグ自動認識システムの全体構成を例示した図である。 実施例3のバックエンド装置の処理を説明するためのフローチャートである。 実施例4のタグ自動認識システムの全体構成を例示した図である。 実施例4のバックエンド装置の処理を説明するためのフローチャートである。 実施例5のタグ自動認識システムの全体構成を例示した図である。 Aは、実施例5のタグ装置の処理を説明するためのフローチャートであり、Bは、本実施例のバックエンド装置の処理を説明するためのフローチャートである。 実施例6のタグ自動認識システムの全体構成を例示した図である。 実施例6の処理を説明するためのフローチャートである。 実施例7のタグ自動認識システムの全体構成を例示した図である。 実施例7の処理を説明するためのフローチャートである。 実施例8のタグ自動認識システムの全体構成を例示した図である。 Aは、タグ装置の秘密値メモリに格納されるデータの例示であり、Bは、バックエンド装置のデータベースメモリに格納されるデータの例示である。 実施例8の処理を説明するためのフローチャートである。 実施例8の処理を説明するためのフローチャートである。 実施例9のタグ自動認識システムの全体構成を例示した図である。 Aは、タグ装置の秘密値メモリに格納されるデータの例示であり、Bは、バックエンド装置のデータベースメモリに格納されるデータの例示である。 実施例10のタグ自動認識システムの全体構成を例示した図である。 実施例10のタグ装置の処理を説明するためのフローチャートである。 実施例10のバックエンド装置の処理を説明するためのフローチャートである。 実施例11のタグ自動認識システムの全体構成を例示した図である。 実施例11のタグ装置の処理を説明するためのフローチャートである。 実施例11のバックエンド装置の処理の一部を説明するためのフローチャートである。 実施例12のタグ装置の処理を説明するためのフローチャートである。 第2の実施の形態の概略構成を例示したブロック図である。 実施例14の更新システムの全体構成を例示した概念図である。 実施例14の更新システムの機能構成を例示したブロック図である。 実施例14の処理手順を説明するためのフローチャートである。 本実施例15の更新システムの機能構成を例示したブロック図である。 本実施例15の処理手順を説明するためのフローチャートである。 実施例16の更新システムの機能構成を例示したブロック図である。 実施例16の処理手順を説明するためのフローチャートである。 実施例17の更新システムの機能構成を例示したブロック図である。 実施例17の処理手順を説明するためのフローチャートである。 実施例18の更新システムの全体構成を例示した概念図である。 実施例18の更新システムの機能構成を例示したブロック図である。 実施例18の処理手順を説明するためのフローチャートである。 実施例19の更新システムの機能構成を例示したブロック図である。 実施例19の処理手順を説明するためのフローチャートである。 実施例20の更新システムの機能構成を例示したブロック図である。 実施例20の処理手順を説明するためのフローチャートである。 実施例21の更新システムの機能構成を例示したブロック図である。 実施例22の更新システムの機能構成を例示したブロック図である。 実施例23の更新システムの全体構成を例示した概念図である。 実施例23の更新システムの機能構成を例示した図である。 実施例23の処理手順を説明するためのフローチャートである。 実施例23の処理手順を説明するためのフローチャートである。 実施例24のセキュリティサーバ装置の機能構成を例示した図である。 実施例24のフォーマットを例示した図である。 実施例24のセキュリティサーバ装置の処理手順を説明するためのフローチャートである。 実施例25の更新システムの機能構成を例示した図である。 実施例25の更新システムの機能構成を例示した図である。 実施例25の処理手順を説明するためのフローチャートである。 実施例25の処理手順を説明するためのフローチャートである。 実施例26におけるタグ装置の機能構成を例示した図ある。
符号の説明
1 タグ自動認識システム
10 タグ装置
11 秘密値メモリ
12 第1の演算部
13 第2の演算部
14 出力部
20 リーダー装置
30 バックエンド装置
31 データベースメモリ
32 入力部
33 演算部
34 比較部
35 読出し部
40 ネットワーク
1500 更新システム
1510 タグ装置
1511 秘密値メモリ
1512 読書き部
1513 出力部
1514 入力部
1560 セキュリティサーバ装置
1561 入力部
1562 更新部
1563 出力部

Claims (19)

  1. タグ装置から出力される情報から利用者のプライバシー情報が取得されることを防止するタグプライバシー保護方法であって、
    上記各タグ装置h(h∈{1,...,m},mはタグ装置の総数)の秘密値メモリに、それぞれのタグID情報idに対応付けられたランダム値rである秘匿化ID情報sidが格納されており、
    上記各タグ装置hの外部に設けられた更新装置の秘匿化IDメモリに、上記各タグID情報idと、当該タグID情報idに対応する上記ランダム値rである上記秘匿化ID情報sidと、が対応付けられて格納されており、
    上記タグ装置hが、
    第1の読書き部において、その上記秘密値メモリに格納されている上記秘匿化ID情報sidを読み出し、
    第1の出力部において、上記秘匿化ID情報sidを上記更新装置に対して出力し、
    上記更新装置が、
    第1の入力部において、上記秘匿化ID情報sidの入力を受け付け、
    ランダム値生成部において、新たなランダム値r’を生成し、
    第2の読書き部において、上記入力された上記秘匿化ID情報sidに対応するタグID情報idを上記秘匿化IDメモリから選択し、これに上記新たなランダム値r’を新たな秘匿化ID情報sid’として対応付けて当該秘匿化IDメモリに格納し、
    第2の出力部において、上記新たな秘匿化ID情報sid’を上記タグ装置hに対して出力し、
    上記タグ装置hが、
    第2の入力部において、上記新たな秘匿化ID情報sid’の入力を受け付け、
    上記読書き部において、上記新たな秘匿化ID情報sid’を上記秘密値メモリに格納する、
    ことを特徴とするタグプライバシー保護方法。
  2. タグ装置から出力される情報から利用者のプライバシー情報が取得されることを防止するタグプライバシー保護方法であって、
    上記各タグ装置h(h∈{1,...,m},mはタグ装置の総数)の秘密値メモリに、それぞれのタグID情報idに対応する、共通鍵暗号方式による第1の暗号文と、その暗号化に用いた共通鍵k(j∈{1,...,n},nはタグ装置の総数)の鍵ID情報kidと、を有する秘匿化ID情報sidを格納しておき、
    上記各タグ装置hの外部に設けられた更新装置の鍵メモリに、上記各鍵ID情報kidと上記各共通鍵kとを対応つけて格納しておき、
    上記タグ装置hが、
    第1の読書き部において、その上記秘密値メモリに格納されている上記秘匿化ID情報sidを読み出し、
    第1の出力部において、上記秘匿化ID情報sidを上記更新装置に対して出力し、
    上記更新装置が、
    第1の入力部において、上記秘匿化ID情報sidの入力を受け付け、
    第2の読書き部において、上記秘匿化ID情報sidが具備する上記鍵ID情報kidに対応する上記共通鍵kを上記鍵メモリから抽出し、
    ID抽出部において、上記第2の読書き部が抽出した上記共通鍵kを用いて上記第1の暗号文を復号し、タグID情報idを抽出し、
    暗号化部において、上記ID抽出部が抽出した上記タグID情報idと、その抽出に用いられた上記共通鍵kとを用い、上記第1の暗号文との関連性の把握が困難な第2の暗号文を生成し、
    第2の出力部において、上記第2の暗号文と、その共通鍵kの上記鍵ID情報kidと、を有する新たな秘匿化ID情報sid’を上記タグ装置hに対して出力し、
    上記タグ装置hが、
    第2の入力部において、上記新たな秘匿化ID情報sid’の入力を受け付け、
    上記第1の読書き部において、上記新たな秘匿化ID情報sid’を上記秘密値メモリに格納する、
    ことを特徴とするタグプライバシー保護方法。
  3. タグ装置から出力される情報から利用者のプライバシー情報が取得されることを防止するタグプライバシー保護方法であって、
    上記各タグ装置h(h∈{1,...,m},mはタグ装置の総数)の秘密値メモリに、それぞれのタグID情報idに対応する公開鍵暗号方式による第1の暗号文と、その鍵ペア(sk,pk)(skは秘密鍵,pkは公開鍵,j∈{1,...,n},nはタグ装置の総数)の鍵ID情報kidと、を有する秘匿化ID情報sidを格納しておき、
    上記各タグ装置hの外部に設けられた更新装置の鍵メモリに、上記各鍵ID情報kidと上記各鍵ペア(sk,pk)とを対応つけて格納しておき、
    上記タグ装置hが、
    第1の読書き部において、その上記秘密値メモリに格納されている上記秘匿化ID情報sidを読み出し、
    第1の出力部において、上記秘匿化ID情報sidを上記更新装置に対して出力し、
    上記更新装置が、
    第1の入力部において、上記秘匿化ID情報sidの入力を受け付け、
    第2の読書き部において、上記第1の入力部に入力された上記秘匿化ID情報sidが具備する上記鍵ID情報kidに対応する鍵ペア(sk,pk)を上記鍵メモリから抽出し、
    ID抽出部において、上記第2の読書き部が抽出した上記秘密鍵skを用いて上記第1の暗号文を復号し、上記タグID情報idを抽出し、
    暗号化部において、上記ID抽出部が抽出した上記タグID情報idと、上記第2の読書き部が抽出した上記公開鍵pkとを用い、上記第1の暗号文との関連性の把握が困難な第2の暗号文を生成し、
    第2の出力部において、上記第2の暗号文と、その上記鍵ペア(sk,pk)の上記鍵ID情報kidと、を有する新たな秘匿化ID情報sid’を上記タグ装置hに対して出力し、
    上記タグ装置hが、
    第2の入力部において、上記新たな秘匿化ID情報sid’の入力を受け付け、
    上記読書き部において、上記新たな秘匿化ID情報sid’を上記秘密値メモリに格納する、
    ことを特徴とするタグプライバシー保護方法。
  4. タグ装置から出力される情報から利用者のプライバシー情報が取得されることを防止するタグプライバシー保護方法であって、
    上記各タグ装置h(h∈{1,...,m},mはタグ装置の総数)の秘密値メモリに、それぞれのタグID情報idを秘匿化した秘匿化ID情報sidを格納しておき、
    上記タグ装置hが、
    第1の読書き部において、その上記秘密値メモリに格納されている上記秘匿化ID情報sidを読み出し、
    第1の出力部において、上記秘匿化ID情報sidを当該タグ装置hの外部に設けられた第1の更新装置に対して出力し、
    上記第1の更新装置が、
    第1の入力部において、上記秘匿化ID情報sidの入力を受け付け、
    ID抽出部において、上記秘匿化ID情報sidからタグID情報idを求め、
    第2の出力部において、上記タグID情報idを上記タグ装置hの外部に設けられた第2の更新装置に対して出力し、
    上記第2の更新装置が、
    第3の入力部において、上記タグID情報idの入力を受け付け、
    暗号化部において、上記タグID情報idを秘匿化した新たな秘匿化ID情報sid’を生成し、
    第3の出力部において、上記新たな秘匿化ID情報sid’を上記タグ装置hに対して出力し、
    上記タグ装置hが、第2の入力部において、上記新たな秘匿化ID情報sid’の入力を受け付け、
    上記読書き部において、上記新たな秘匿化ID情報sid’を上記秘密値メモリに格納する、
    ことを特徴とするタグプライバシー保護方法。
  5. タグ装置の秘匿化ID情報を更新する更新装置であって、
    上記タグ装置の外部に設けられ、
    各鍵ID情報kid(j∈{1,...,n},nは鍵の総数)と共通鍵暗号方式の各共通鍵kとを対応つけて格納する鍵メモリと、
    タグID情報idに対応する共通鍵暗号方式による第1の暗号文と、その暗号化に用いた共通鍵kの鍵ID情報kidと、を有する秘匿化ID情報sidの入力を受け付ける第1の入力部と、
    上記鍵メモリに接続され、上記秘匿化ID情報sidが具備する上記鍵ID情報kidに対応する上記共通鍵kを当該鍵メモリから抽出する第2の読書き部と、
    上記第2の読書き部が抽出した上記共通鍵kを用いて上記第1の暗号文を復号し、タグID情報idを抽出するID抽出部と、
    上記ID抽出部が抽出した上記タグID情報idと、その抽出に用いられた上記共通鍵kとを用い、上記第1の暗号文との関連性の把握が困難な第2の暗号文を生成する暗号化部と、
    上記第2の暗号文と、その共通鍵kの上記鍵ID情報kidとを有する新たな秘匿化ID情報sid’を上記タグ装置hに対して出力する第2の出力部と、
    を有することを特徴とする更新装置。
  6. タグ装置の秘匿化ID情報を更新する更新装置であって、
    上記タグ装置の外部に設けられ、
    各鍵ID情報kid(j∈{1,...,n},nは鍵の総数)と各鍵ペア(sk,pk)(skは秘密鍵,pkは公開鍵)とを対応つけて格納した鍵メモリと、
    タグID情報idに対応する公開鍵暗号方式による第1の暗号文と、その暗号化に用いた公開鍵pkの鍵ID情報kidと、を有する秘匿化ID情報sidの入力を受け付ける第1の入力部と、
    上記鍵メモリに接続され、上記第1の入力部に入力された上記秘匿化ID情報sidが具備する上記鍵ID情報kidに対応する上記鍵ペア(sk,pk)を上記鍵メモリから抽出する第2の読書き部と、
    上記第2の読書き部が抽出した上記秘密鍵skを用いて上記第1の暗号文を復号し、上記タグID情報idを抽出するID抽出部と、
    上記ID抽出部が抽出した上記タグID情報idと、上記第2の読書き部が抽出した上記公開鍵pkとを用い、上記第1の暗号文との関連性の把握が困難な第2の暗号文を生成する暗号化部と、
    上記第2の暗号文と、その上記鍵ペア(sk,pk)の上記鍵ID情報kidと、を有する新たな秘匿化ID情報sid’を上記タグ装置hに対して出力する第2の出力部と、
    を有することを特徴とする更新装置。
  7. 請求項5又は6に記載の更新装置であって、
    上記鍵ID情報kidは、
    関連性のない複数の上記タグ装置に共有されている情報である、
    ことを特徴とする更新装置。
  8. タグ自動認識システムに使用されるタグ装置であって、
    同一のタグID情報idに対応する再暗号化可能な暗号文である複数種類の秘匿化IDが予め格納された秘匿化IDメモリと、
    上記秘匿化IDメモリに接続され、読み取り装置からの読み取り指示に対して当該秘匿化IDメモリから何れか1つの秘匿化IDをランダムに抽出する秘匿化ID抽出部と、
    抽出された上記秘匿化IDを出力する秘匿化ID出力部と、
    を有することを特徴とするタグ装置。
  9. タグ装置から出力される情報から利用者のプライバシー情報が取得されることを防止するタグプライバシー保護方法であって、
    鍵メモリに、鍵IDと鍵とが対応付けられて格納されており、
    上記タグ装置は、鍵IDが格納された読取専用領域と、第1の秘匿化IDが格納された書換可能領域と、を有する秘匿化IDメモリを有しており、
    上記読取専用領域は、格納された上記鍵IDの書き換えが不可能な領域であり、
    上記タグ装置が、
    読書き部において、上記秘匿化IDメモリから上記鍵IDと上記第1の秘匿化IDを抽出し、
    抽出された上記鍵IDと上記第1の秘匿化IDを、第1の出力部において、更新装置に対して出力し、
    上記更新装置が、
    第1の入力部において、上記鍵IDと上記第1の秘匿化IDの入力を受け付け、
    第1の鍵抽出部において、第1入力部に入力された上記鍵IDに対応する鍵を上記鍵メモリから抽出し、
    秘匿化ID更新部において、上記第1の鍵抽出部が抽出した上記鍵と、上記第1の入力部に入力された上記第1の秘匿化IDとを用い、上記第1の秘匿化IDとの関連性の把握が困難な第2の秘匿化IDを生成し、
    第2の出力部において、上記第2の秘匿化IDを出力し、
    上記タグ装置が、
    第2の入力部において、上記第2の秘匿化IDの入力を受け付け、
    上記読書き部において、上記第2の秘匿化IDを、上記秘匿化IDメモリの上記書換可能領域に格納する、
    ことを特徴とするタグプライバシー保護方法。
  10. 請求項記載のタグプライバシー保護方法であって、
    上記更新装置は、さらに、上記第2の秘匿化IDに対する検証情報を生成する検証情報生成部を有し、
    上記更新装置の第2の出力部は、上記第2の秘匿化ID及び上記検証情報を出力し、
    上記タグ装置の第2の入力部は、上記第2の秘匿化ID及び上記検証情報の入力を受け付け、
    上記タグ装置の上記読書き部は、上記第2の秘匿化ID及び上記検証情報を、上記秘匿化IDメモリの上記書換可能領域に格納する、
    ことを特徴とするタグプライバシー保護方法。
  11. 請求項記載のタグプライバシー保護方法であって、
    上記タグ装置が、
    読書き部において、上記秘匿化IDメモリの読取専用領域から上記鍵IDを抽出し、上記書換可能領域から第3の秘匿化IDを抽出し、
    抽出された上記鍵IDと上記第3の秘匿化IDを、第1の出力部において、復号装置に対して出力し、
    上記復号装置が、
    第3の入力部において、上記鍵IDと上記第1の秘匿化IDの入力を受け付け
    第2の鍵抽出部において、上記第3の入力部に入力された上記鍵IDに対応する鍵を、上記鍵メモリから抽出し、
    第3の入力部に入力された上記秘匿化IDと、上記第2の鍵抽出部が抽出した上記鍵とを用い、ID算出部においてIDを算出し、
    算出されたIDの構造を、ID構造検証部において検証する、
    ことを特徴とするタグプライバシー保護方法。
  12. タグ自動認識システムに使用されるタグ装置であって、
    鍵IDが格納された読取専用領域と、第1の秘匿化IDが格納された書換可能領域と、を有する秘匿化IDメモリと、
    上記秘匿化IDメモリから、上記鍵IDと上記第1の秘匿化IDを抽出する読書き部と、
    抽出された上記鍵IDと上記第1の秘匿化IDを出力する第1の出力部と、
    上記第1の秘匿化IDとの関連性の把握が困難な第2の秘匿化IDの入力を受け付ける第2の入力部と、
    を有し、
    上記読取専用領域は、格納された上記鍵IDの書き換えが不可能な領域であり、
    上記読書き部は、
    入力された上記第2の秘匿化IDを、上記秘匿化IDメモリの上記書換可能領域に格納する、
    ことを特徴とするタグ装置。
  13. 請求項1記載のタグ装置であって、
    上記第2の入力部は、
    さらに、上記第2の秘匿化IDに対する検証情報の入力を受け付け、
    上記読書き部は、
    入力された上記検証情報を、さらに上記秘匿化IDメモリの上記書換可能領域に格納する、
    ことを特徴とするタグ装置。
  14. 請求項1に記載のタグ装置であって、
    上記秘匿化IDは、
    IDを構成する情報のうち、各タグ装置に固有な情報のみを秘匿化した情報である、
    ことを特徴とするタグ装置。
  15. 請求項1に記載のタグ装置であって、
    関連性のないタグ装置に、同じ上記鍵IDが割り当てられる、
    ことを特徴とするタグ装置。
  16. 請求項8又は12に記載のタグ装置としてコンピュータを機能させるためのタグプログラム。
  17. 請求項5又は6に記載の更新装置としてコンピュータを機能させるための更新プログラム。
  18. 請求項8又は12に記載のタグ装置としてコンピュータを機能させるためのタグプログラムを格納したコンピュータ読取り可能な記録媒体。
  19. 請求項5又は6に記載の更新装置としてコンピュータを機能させるための更新プログラムを格納したコンピュータ読取り可能な記録媒体。
JP2008236784A 2003-09-26 2008-09-16 タグプライバシー保護方法、タグ装置、更新装置、それらのプログラム及びこれらのプログラムを格納した記録媒体 Active JP4866407B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008236784A JP4866407B2 (ja) 2003-09-26 2008-09-16 タグプライバシー保護方法、タグ装置、更新装置、それらのプログラム及びこれらのプログラムを格納した記録媒体

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
JP2003334891 2003-09-26
JP2003334891 2003-09-26
JP2003359157 2003-10-20
JP2003359157 2003-10-20
JP2003383760 2003-11-13
JP2003383760 2003-11-13
JP2004124610 2004-04-20
JP2004124610 2004-04-20
JP2004145366 2004-05-14
JP2004145366 2004-05-14
JP2008236784A JP4866407B2 (ja) 2003-09-26 2008-09-16 タグプライバシー保護方法、タグ装置、更新装置、それらのプログラム及びこれらのプログラムを格納した記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005514227A Division JP4209425B2 (ja) 2003-09-26 2004-09-27 タグプライバシー保護方法、タグ装置、バックエンド装置、それらのプログラム及びこれらのプログラムを格納した記録媒体

Publications (2)

Publication Number Publication Date
JP2009038816A JP2009038816A (ja) 2009-02-19
JP4866407B2 true JP4866407B2 (ja) 2012-02-01

Family

ID=34397219

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2005514227A Active JP4209425B2 (ja) 2003-09-26 2004-09-27 タグプライバシー保護方法、タグ装置、バックエンド装置、それらのプログラム及びこれらのプログラムを格納した記録媒体
JP2008236784A Active JP4866407B2 (ja) 2003-09-26 2008-09-16 タグプライバシー保護方法、タグ装置、更新装置、それらのプログラム及びこれらのプログラムを格納した記録媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2005514227A Active JP4209425B2 (ja) 2003-09-26 2004-09-27 タグプライバシー保護方法、タグ装置、バックエンド装置、それらのプログラム及びこれらのプログラムを格納した記録媒体

Country Status (5)

Country Link
US (1) US7661132B2 (ja)
EP (5) EP2141629B1 (ja)
JP (2) JP4209425B2 (ja)
KR (1) KR100720602B1 (ja)
WO (1) WO2005031579A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2533302C (en) * 2003-07-25 2015-06-30 Futurelogic, Inc. Method and apparatus for changing firmware in a gaming printer
JP4597867B2 (ja) * 2003-12-08 2010-12-15 石井 美恵子 プライバシー保護方法、プライバシー保護用識別子発信装置、プライバシー保護システムおよびプログラム
JP4352940B2 (ja) * 2004-03-04 2009-10-28 富士ゼロックス株式会社 画像検索装置およびプログラム
JP2005348306A (ja) * 2004-06-07 2005-12-15 Yokosuka Telecom Research Park:Kk 電子タグシステム、電子タグ、電子タグリーダライタ、およびプログラム
JP2008541163A (ja) * 2005-05-11 2008-11-20 エヌエックスピー ビー ヴィ 通信プロトコル及び電気通信システム、特に認証管理システム及び対応する方法
JP4537895B2 (ja) * 2005-06-20 2010-09-08 日本電信電話株式会社 秘密情報更新方法
US7847694B2 (en) 2005-08-19 2010-12-07 Electronics And Telecommunications Research Institute Electronic tag including privacy level information and privacy protection apparatus and method using RFID tag
KR100734843B1 (ko) 2005-08-19 2007-07-03 한국전자통신연구원 프라이버시 레벨 정보가 포함된 전자 태그 및 전자 태그를이용한 프라이버시 보호 장치 및 그 방법
KR100738329B1 (ko) * 2005-09-23 2007-07-12 한국전자통신연구원 Rfⅰd 리더와 태그 간의 정보 보안 방법과 이를 위한rfⅰd 리더 및 태그
KR100741702B1 (ko) * 2005-11-22 2007-07-23 성균관대학교산학협력단 태그의 프라이버시 정보 관리 시스템 및 그 방법
US7894606B2 (en) * 2005-11-28 2011-02-22 Panasonic Electric Works Co., Ltd. Systems and methods for facilitating secure key distribution to an embedded device
US20070133807A1 (en) * 2005-12-12 2007-06-14 Electronics And Telecommunications Research Institute Tag authentication apparatus and method for radio frequency identification system
EP1873674B1 (en) * 2005-12-19 2019-09-04 Nippon Telegraph And Telephone Corporation Terminal identification method, authentication method, authentication system, server, terminal, radio base station, program, and recording medium
JP4576341B2 (ja) * 2006-01-16 2010-11-04 日本電信電話株式会社 管理装置、通信装置、通信情報探索装置、それらのシステム、それらの方法及びそれらのプログラム
US8607044B2 (en) 2006-04-25 2013-12-10 Verisign, Inc. Privacy enhanced identity scheme using an un-linkable identifier
KR100760044B1 (ko) * 2006-04-27 2007-09-18 고려대학교 산학협력단 자체 재암호화 프로토콜을 이용하는 태그 리드 시스템 및그 방법
JP4781910B2 (ja) * 2006-05-26 2011-09-28 日本電信電話株式会社 遠隔操作方法および遠隔操作システム
DE102006030768A1 (de) * 2006-06-23 2007-12-27 Atmel Germany Gmbh Verfahren, Transponder und System zur schnellen Datenübertragung
US7791451B2 (en) * 2006-10-17 2010-09-07 International Business Machines Corporation Methods, systems, and computer program products for providing mutual authentication for radio frequency identification (RFID) security
GB2446175B (en) * 2007-01-31 2011-06-29 Hewlett Packard Development Co Method of updating data
JP5033447B2 (ja) * 2007-03-08 2012-09-26 富士通株式会社 Rfidシステム及びrfidタグ
US9202357B2 (en) * 2007-03-13 2015-12-01 Oracle International Corporation Virtualization and quality of sensor data
US9536215B2 (en) * 2007-03-13 2017-01-03 Oracle International Corporation Real-time and offline location tracking using passive RFID technologies
US8042737B2 (en) * 2007-06-05 2011-10-25 Oracle International Corporation RFID key rotation system
US7800499B2 (en) * 2007-06-05 2010-09-21 Oracle International Corporation RFID and sensor signing algorithm
JP4886614B2 (ja) * 2007-06-22 2012-02-29 日本電信電話株式会社 メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、プログラム、および記録媒体
US9715670B2 (en) 2007-10-12 2017-07-25 Oracle International Corporation Industrial identify encoding and decoding language
KR101300838B1 (ko) 2007-10-18 2013-08-29 삼성전자주식회사 로테이션을 이용한 태그 인증 방법 그리고 상기 방법을수행하는 태그 및 리더
US9443068B2 (en) * 2008-02-20 2016-09-13 Micheal Bleahen System and method for preventing unauthorized access to information
JP5378702B2 (ja) 2008-04-23 2013-12-25 パナソニック株式会社 秘匿認証システム
JP2009272671A (ja) * 2008-04-30 2009-11-19 Panasonic Corp 秘匿認証システム
JP2009272737A (ja) * 2008-05-01 2009-11-19 Panasonic Corp 秘匿認証システム
FR2931022A1 (fr) * 2008-05-09 2009-11-13 France Telecom Procede d'authentification d'une etiquette radio par un lecteur radio
JP2009278223A (ja) * 2008-05-13 2009-11-26 Panasonic Corp 電子証明システム及び秘匿通信システム
JP2009296190A (ja) 2008-06-04 2009-12-17 Panasonic Corp 秘匿通信方法
US8385913B2 (en) 2008-09-08 2013-02-26 Proxicom Wireless, Llc Using a first wireless link to exchange identification information used to communicate over a second wireless link
CN102160062B (zh) * 2008-09-19 2013-12-11 Nxp股份有限公司 针对通信系统的安全初始化过程
US8458452B1 (en) * 2009-10-26 2013-06-04 James P. Morgan System and method for encryption and decryption of data transferred between computer systems
JP5486371B2 (ja) * 2010-03-26 2014-05-07 パナソニック株式会社 通信システム及びこの通信システムに用いる通信装置
US8745370B2 (en) * 2010-06-28 2014-06-03 Sap Ag Secure sharing of data along supply chains
US9092608B2 (en) * 2010-12-14 2015-07-28 Nxp B.V. Random-ID function for smartcards
US8781119B2 (en) 2010-12-14 2014-07-15 Nxp, B.V. User-controlled Random-ID generation function for smartcards
KR20120070808A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 Rfid 태그 장치 및 rfid 태그 장치를 인식하는 방법
CN102136079B (zh) * 2011-03-07 2014-08-20 中兴通讯股份有限公司 一种读写器与标签卡之间的动态认证方法及实现装置
EP2697786B1 (en) * 2011-04-13 2017-10-04 Nokia Technologies Oy Method and apparatus for identity based ticketing
KR101231592B1 (ko) * 2011-04-18 2013-02-08 고려대학교 산학협력단 안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법
US10419907B2 (en) 2012-02-22 2019-09-17 Qualcomm Incorporated Proximity application discovery and provisioning
US20140133656A1 (en) * 2012-02-22 2014-05-15 Qualcomm Incorporated Preserving Security by Synchronizing a Nonce or Counter Between Systems
US10360593B2 (en) 2012-04-24 2019-07-23 Qualcomm Incorporated Retail proximity marketing
JP5395938B1 (ja) * 2012-09-25 2014-01-22 株式会社東芝 連携サービス提供システム及びサーバ装置
CN104102576A (zh) * 2013-04-12 2014-10-15 阿里巴巴集团控股有限公司 一种多版本测试方法和装置
US9779268B1 (en) * 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
JP2017107399A (ja) * 2015-12-09 2017-06-15 富士通株式会社 情報配信システム、情報配信プログラムおよび情報配信方法
US9715919B1 (en) * 2016-06-21 2017-07-25 Micron Technology, Inc. Array data bit inversion
US10372943B1 (en) * 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
CN108595291B (zh) * 2018-04-01 2021-08-31 山东协和学院 一种医疗数据备份系统
US11042480B2 (en) 2019-04-26 2021-06-22 Arm Limited System, method and apparatus for secure functions and cache line data
US10942856B2 (en) 2019-04-26 2021-03-09 Arm Limited System, method and apparatus for secure functions and cache line data
WO2020217043A1 (en) * 2019-04-26 2020-10-29 Arm Limited System, method and apparatus for secure functions and cache line data
JP7123887B2 (ja) * 2019-09-24 2022-08-23 株式会社東芝 データ転送制御装置、データ転送制御システム及びデータ転送制御方法
US11665002B2 (en) * 2020-12-11 2023-05-30 International Business Machines Corporation Authenticated elevated access request

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657388A (en) * 1993-05-25 1997-08-12 Security Dynamics Technologies, Inc. Method and apparatus for utilizing a token for resource access
US5970143A (en) * 1995-11-22 1999-10-19 Walker Asset Management Lp Remote-auditing of computer generated outcomes, authenticated billing and access control, and software metering system using cryptographic and other protocols
US5768382A (en) * 1995-11-22 1998-06-16 Walker Asset Management Limited Partnership Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols
US20030177347A1 (en) * 1995-11-22 2003-09-18 Bruce Schneier Methods and apparatus for awarding prizes based on authentication of computer generated outcomes using coupons
US5751812A (en) * 1996-08-27 1998-05-12 Bell Communications Research, Inc. Re-initialization of an iterated hash function secure password system over an insecure network connection
JPH10111835A (ja) 1996-10-04 1998-04-28 Nippon Telegr & Teleph Corp <Ntt> 使用装置id伝達方法及びシステム
JPH10162085A (ja) 1996-11-29 1998-06-19 N T T Data Tsushin Kk 電子マネーシステム及び電子マネー及び電子マネー履歴付与方法
US6012636A (en) * 1997-04-22 2000-01-11 Smith; Frank E. Multiple card data system having first and second memory elements including magnetic strip and fingerprints scanning means
JP2000357847A (ja) * 1999-06-15 2000-12-26 Tohken Co Ltd Idタグ付きプリント基板及びプリント基板の流通経緯認識方法
BR0017090A (pt) * 2000-02-04 2003-02-25 3M Innovative Properties Co Processo de proporcionar uma etiqueta de rfid de um bloco de segurança, processo de sua autenticação e respectiva etiqueta de rfid
JP4075269B2 (ja) 2000-02-29 2008-04-16 松下電工株式会社 Idシステムにおけるidデータの更新方法及び登録・抹消カードの更新方法
CN2439076Y (zh) 2000-09-21 2001-07-11 刘建明 防伪标签
JP4339994B2 (ja) 2000-10-26 2009-10-07 クリエイションカード株式会社 遊技設備用記憶媒体認証装置
US6629198B2 (en) * 2000-12-08 2003-09-30 Sun Microsystems, Inc. Data storage system and method employing a write-ahead hash log
JP2002183682A (ja) 2000-12-19 2002-06-28 Toshiba Corp カード真偽判定装置
US7000834B2 (en) 2001-02-21 2006-02-21 International Business Machines Corporation Method to address security and privacy issue of the use of RFID systems to track consumer products
JP2003111342A (ja) 2001-09-28 2003-04-11 Japan Servo Co Ltd ブラシレス直流ファンモータの自動調芯機能を有する軸受構造
JP2003113798A (ja) 2001-10-03 2003-04-18 Denso Corp 軸流ファン
JP3696539B2 (ja) * 2001-10-22 2005-09-21 株式会社藤商事 回胴式遊技機
JP2003132435A (ja) * 2001-10-25 2003-05-09 Sharp Corp Rfidを利用したホテル来客サービスシステム、rfidを利用したホテル来客サービス方法及びrfidを利用したホテル来客サービスプログラム
US7472423B2 (en) * 2002-03-27 2008-12-30 Tvworks, Llc Method and apparatus for anonymously tracking TV and internet usage
JP3822575B2 (ja) 2003-04-16 2006-09-20 日本電信電話株式会社 Rfタグ発行装置及びプログラム
JP4105583B2 (ja) 2003-04-18 2008-06-25 日本電信電話株式会社 無線タグセキュリティ拡張方法,id管理コンピュータ装置,代理サーバ装置,それらのプログラムおよびそれらのプログラムの記録媒体
JP2004192645A (ja) 2003-12-08 2004-07-08 Ishii Mieko プライバシー保護方法、プライバシー保護用識別子発信装置、プライバシー保護システムおよびプログラム
US7100008B2 (en) * 2004-03-15 2006-08-29 Hitachi, Ltd. Long term data protection system and method
CA2560395C (en) * 2004-04-02 2014-06-17 Matsushita Electric Industrial Co., Ltd. Unauthorized contents detection system
KR100628315B1 (ko) * 2004-11-29 2006-09-27 한국전자통신연구원 양도되는 물품의 전자식별 태그값 갱신 방법 및 시스템
US7188230B2 (en) * 2005-02-15 2007-03-06 Hitachi, Ltd. Method of assuring data integrity on storage volumes
US20080001752A1 (en) * 2005-04-21 2008-01-03 Skyetek, Inc. System and method for securing rfid tags
US20070046467A1 (en) * 2005-08-31 2007-03-01 Sayan Chakraborty System and method for RFID reader to reader communication
US7348886B2 (en) * 2006-01-17 2008-03-25 International Business Machines Corporation System and method to track inventory using RFID tags
US7492258B1 (en) * 2006-03-21 2009-02-17 Radiofy Llc Systems and methods for RFID security
US7385510B2 (en) * 2006-06-30 2008-06-10 International Business Machines Corporation Container manifest integrity maintenance system and method
US7468650B2 (en) * 2006-06-30 2008-12-23 International Business Machines Corporation Methods and systems to improve RFID inventory polling accuracy
CN1987914A (zh) * 2006-10-12 2007-06-27 北京飞天诚信科技有限公司 一种用于硬件设备管理的方法

Also Published As

Publication number Publication date
EP1903469A3 (en) 2009-05-06
EP2141628A3 (en) 2010-09-08
EP1903469A2 (en) 2008-03-26
EP1669877A4 (en) 2007-10-24
EP2141628A2 (en) 2010-01-06
JP4209425B2 (ja) 2009-01-14
JPWO2005031579A1 (ja) 2006-12-07
WO2005031579A1 (ja) 2005-04-07
EP1903470A2 (en) 2008-03-26
EP1903470A3 (en) 2009-05-06
EP1903470B1 (en) 2017-05-17
EP2141629A3 (en) 2010-09-01
KR100720602B1 (ko) 2007-05-21
EP1669877B1 (en) 2017-11-15
KR20060022635A (ko) 2006-03-10
EP2141628B1 (en) 2017-05-10
US7661132B2 (en) 2010-02-09
EP2141629A2 (en) 2010-01-06
JP2009038816A (ja) 2009-02-19
EP1903469B1 (en) 2017-05-17
US20060080732A1 (en) 2006-04-13
EP1669877A1 (en) 2006-06-14
EP2141629B1 (en) 2017-06-21

Similar Documents

Publication Publication Date Title
JP4866407B2 (ja) タグプライバシー保護方法、タグ装置、更新装置、それらのプログラム及びこれらのプログラムを格納した記録媒体
Wallrabenstein Practical and secure IoT device authentication using physical unclonable functions
EP2526505B1 (en) Device and method for obtaining a cryptographic key
CN110138802B (zh) 用户特征信息获取方法、装置,区块链节点、网络,及存储介质
KR101314210B1 (ko) 사용자 인증 양자 키 분배 방법
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
JP2020522205A (ja) プログレッシブキー暗号化アルゴリズム
CN102227887B (zh) 生成加密/解密密钥的方法
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
US20110047200A1 (en) A method and a system for validating a succession of events experienced by a device
Prada-Delgado et al. Trustworthy firmware update for Internet-of-Thing Devices using physical unclonable functions
Ra et al. A key recovery system based on password-protected secret sharing in a permissioned blockchain
TWI597960B (zh) 金鑰分裂技術
JP2017524306A (ja) 暗号化操作における悪意のある変更に対する保護
CN113014380A (zh) 文件数据的密码管理方法、装置、计算机设备及存储介质
CN101635021B (zh) 标签装置、标签自动识别系统和标签隐私保护方法
Plaga et al. A formal definition and a new security mechanism of physical unclonable functions
US8681972B2 (en) Method of executing a cryptographic calculation
KR101105384B1 (ko) 키 암호화 및 셔플링이 적용된 부채널 공격에 안전한 키 관리방법
Hughes et al. Multi-factor authentication using quantum communication
Darwish et al. Digital Forgetting Using Key Decay
Srivastava et al. Enhanced Hybrid Symmetric Cryptography for IoT Devices
Prajapat et al. Towards parameterized shared key for AVK approach
CN117560144A (zh) 一种电力通信数据的处理方法、系统及存储介质
CN117850700A (zh) 一种移动存储介质文件读写控制方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110712

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110906

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

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

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4866407

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350