JP4576341B2 - Management device, communication device, communication information search device, system thereof, method thereof and program thereof - Google Patents

Management device, communication device, communication information search device, system thereof, method thereof and program thereof Download PDF

Info

Publication number
JP4576341B2
JP4576341B2 JP2006007643A JP2006007643A JP4576341B2 JP 4576341 B2 JP4576341 B2 JP 4576341B2 JP 2006007643 A JP2006007643 A JP 2006007643A JP 2006007643 A JP2006007643 A JP 2006007643A JP 4576341 B2 JP4576341 B2 JP 4576341B2
Authority
JP
Japan
Prior art keywords
way function
information
value
communication
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
JP2006007643A
Other languages
Japanese (ja)
Other versions
JP2007189618A (en
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 JP2006007643A priority Critical patent/JP4576341B2/en
Publication of JP2007189618A publication Critical patent/JP2007189618A/en
Application granted granted Critical
Publication of JP4576341B2 publication Critical patent/JP4576341B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、情報セキュリティ技術の応用に関し、特に、自動認識技術を用いた通信技術に関する。   The present invention relates to application of information security technology, and more particularly to communication technology using automatic recognition technology.

近年、RFID(Radio Frequency Identification:電波方式認識)等のタグ自動認識技術を用いた無線タグシステムの導入が進んでいる。このシステムは、小型の情報記録媒体であるタグ装置、読み取り機であるリーダ装置、データベースを管理するサーバ装置から構成され、物流管理等に利用されるものである。以下、この技術の要点を示す。
〔タグ装置の処理〕
タグ装置は、無線通信により、各タグ装置固有のIDをリーダ装置に送信する。
〔リーダ装置の処理〕
リーダ装置は、無線通信によりタグ装置からIDを読み取り、そのIDを用いたサーバ装置のデータベースへの問い合わせにより、タグ装置の物流情報などを得る。
〔サーバ装置の処理〕
サーバ装置は、各タグ装置のIDと物流情報等のデータベースを管理し、リーダ装置からのIDによる問い合わせに対する回答を行う。
In recent years, wireless tag systems using automatic tag recognition technology such as RFID (Radio Frequency Identification) have been introduced. This system is composed of a tag device that is a small information recording medium, a reader device that is a reader, and a server device that manages a database, and is used for logistics management and the like. The main points of this technique are shown below.
[Processing of tag device]
The tag device transmits an ID unique to each tag device to the reader device by wireless communication.
[Processing of reader device]
The reader device reads the ID from the tag device by wireless communication, and obtains distribution information of the tag device by inquiring to the database of the server device using the ID.
[Server device processing]
The server device manages a database of IDs and physical distribution information of each tag device, and replies to inquiries by ID from the reader device.

このような技術の代表的な例として、ハッシュチェイン(hash chain)により、タグ装置の出力値を出力ごとに変化させ、タグ装置が追跡(trace)されることを防ぎ、タグ装置の所有者のプライバシを保護する方式がある(例えば、非特許文献1参照)。
この方式では、各タグ装置のメモリに、それぞれのIDに対応する秘密値sを格納しておく。そして、リーダ装置からの呼び出しに対し、タグ装置は、メモリの秘密値sのハッシュ値G(s)を出力値として出力する。その際、タグ装置は、メモリから秘密値sを読み込み、そのハッシュ値H(s)によってメモリ内の秘密値を上書き更新する。一方、サーバ装置では、各タグ装置に対応するIDと秘密値sとの対応データベースを保持している。そして、サーバ装置は、タグ装置からの出力値が、秘密値sのハッシュチェイン値と一致するか否かを総当りで探索し、この出力値に対応するIDを決定する。
As a typical example of such a technique, the output value of the tag device is changed for each output by a hash chain to prevent the tag device from being traced. There is a method for protecting privacy (for example, see Non-Patent Document 1).
In this method, a secret value s i corresponding to each ID is stored in the memory of each tag device. In response to the call from the reader device, the tag device outputs the hash value G (s i ) of the secret value s i of the memory as an output value. At that time, the tag device reads the secret value s i from the memory, and overwrites and updates the secret value in the memory with the hash value H (s i ). On the other hand, the server device holds a correspondence database of IDs and secret values s i corresponding to the respective tag devices. Then, the server device searches the brute force to determine whether the output value from the tag device matches the hash chain value of the secret value s i , and determines an ID corresponding to the output value.

この方式の場合、タグ装置が出力値を出力する度にメモリ内の秘密値が上書き更新される。そのため、タグ装置の出力値は出力ごとに異なり、これらの出力値は攻撃者からは単なる乱数にみえる。また、攻撃者がタンパー等によりメモリに格納された秘密値を取得しても、更新後の秘密値は更新前にタグ装置から送信された出力値には対応していない。そして、この更新は、秘密値にハッシュ関数を作用させることにより行われる。ハッシュ関数の一方向性から、ある時点の秘密値から更新前の秘密値を求めることは困難である。よって、攻撃者は、タグ装置と通信履歴との対応を知ることができない。これにより、タグ装置の追跡を防止できる。
Miyako Ohkubo, Koutarou Suzuki, and Shingo Kinoshita, Cryptographic Approach to "Privacy-Friendly" Tags, RFID Privacy Workshop, November 2003.
In the case of this method, every time the tag device outputs an output value, the secret value in the memory is overwritten and updated. Therefore, the output values of the tag device differ for each output, and these output values appear to the attacker as simple random numbers. Even if the attacker acquires the secret value stored in the memory by tamper or the like, the updated secret value does not correspond to the output value transmitted from the tag device before the update. This update is performed by applying a hash function to the secret value. From the one-way property of the hash function, it is difficult to obtain the secret value before update from the secret value at a certain time. Therefore, the attacker cannot know the correspondence between the tag device and the communication history. Thereby, tracking of the tag device can be prevented.
Miyako Ohkubo, Koutarou Suzuki, and Shingo Kinoshita, Cryptographic Approach to "Privacy-Friendly" Tags, RFID Privacy Workshop, November 2003.

しかし、非特許文献1の方式の場合、サーバ装置のデータベース管理者が変わった後であっても、旧データベース管理者は、タグ装置を追跡できるという問題点がある。すなわち、非特許文献1の方式の場合、旧データベース管理者は、各タグ装置に対応するIDと秘密値とを知っている。よって、この旧データベース管理者は、他者がデータベース管理者となった後であっても、タグ装置を追跡することができる。
また、タグ装置の所有者が、そのメモリに格納された秘密値を知ることができた場合にも同様な問題が生じる。すなわち、この場合、旧所有者は、タグ装置を他者に譲渡した後であっても、その後にタグ装置から出力される値を容易に求めることができる。よって、この旧所有者は、譲渡後のタグ装置を追跡できる。
However, in the case of the method of Non-Patent Document 1, there is a problem that the old database administrator can track the tag device even after the database administrator of the server device has changed. That is, in the case of the method of Non-Patent Document 1, the old database administrator knows the ID and secret value corresponding to each tag device. Therefore, the old database manager can track the tag device even after another person becomes the database manager.
A similar problem occurs when the owner of the tag device can know the secret value stored in the memory. That is, in this case, even after the old owner has transferred the tag device to another person, the value output from the tag device can be easily obtained thereafter. Therefore, this old owner can track the tag device after transfer.

このような問題は、タグ自動認識技術を用いた無線タグシステムに限らず、一方向性関数によって更新される通信情報の自動認識を行うシステムに共通するものである。そして、このような問題は、通信情報の取扱い権限を一旦付与すると、その後、その権限を制限することができないということに起因する。
本発明はこのような点に鑑みてなされたものであり、一方向性関数によって更新される通信情報の自動認識を行うシステムにおいて、通信情報の取扱い権限を制限し、プライバシの保護を図る技術を提供することを目的とする。
Such a problem is not limited to the wireless tag system using the tag automatic recognition technology, but is common to a system that automatically recognizes communication information updated by a one-way function. And such a problem originates in that once the handling authority of communication information is given, the authority cannot be restrict | limited after that.
The present invention has been made in view of such points, and in a system for automatically recognizing communication information updated by a one-way function, a technique for protecting privacy by limiting the authority to handle communication information. The purpose is to provide.

本発明では上記課題を解決するために、一方向性関数によって更新される通信情報の取扱い権限を付与する管理装置が提供される。この管理装置は、識別子と第1秘密値とを対応付けた秘密値テーブルを格納する秘密値テーブル記憶部と、一方向性関数を特定するための情報をノードとし、兄弟ノードに対応する一方向性関数が相互に異なり、親ノードに対応する一方向性関数と所定の一方向性関数との合成写像が子ノードに対応する一方向性関数となる木構造データから、ノードを選択するノード選択部と、ノード選択部が選択したノードに対応する一方向性関数を抽出する一方向性関数抽出部と、一方向性関数抽出部が抽出した一方向性関数を第1秘密値に作用させた一方向性関数値を生成する一方向性関数演算部と、一方向性関数値を含む権限情報を生成する権限情報生成部と、権限情報を出力する権限情報出力部とを有する。木構造データの「一方向性関数を特定するための情報」には、対応する一方向性関数が存在しない〔一方向性関数が空である(例えばルートノードに対応)〕旨の情報をも含む。   In order to solve the above-described problems, the present invention provides a management apparatus that grants the right to handle communication information updated by a one-way function. The management apparatus includes a secret value table storage unit that stores a secret value table in which an identifier and a first secret value are associated with each other, and information for specifying a one-way function as a node. Node selection that selects nodes from tree structure data in which the sex function is different from each other, and the composite map of the one-way function corresponding to the parent node and the predetermined one-way function becomes the one-way function corresponding to the child node A one-way function extracting unit that extracts a one-way function corresponding to the node selected by the node selecting unit, and a one-way function extracted by the one-way function extracting unit is applied to the first secret value. A unidirectional function calculation unit that generates a unidirectional function value, an authority information generation unit that generates authority information including the unidirectional function value, and an authority information output unit that outputs authority information. The “information for specifying the one-way function” of the tree structure data includes information that the corresponding one-way function does not exist [the one-way function is empty (for example, corresponding to the root node)]. Including.

ここで、権限情報が具備する一方向性関数値は、第1秘密値に一方向性関数を作用させた値であり、この一方向性関数は、上記木構造データの何れかのノードに対応する。そして、この木構造データのノードに対応する一方向性関数は、「兄弟ノードに対応する一方向性関数が相互に異なる」という条件を満たす。また、この木構造データのノードに対応する一方向性関数は、「親ノードに対応する一方向性関数と所定の一方向性関数との合成写像」が「子ノードに対応する一方向性関数」になるという関係をも満たす。よって、権限情報が具備する一方向性関数値に一方向性関数を順次作用させて得られる値は、この「一方向性関数値の生成に用いた一方向性関数に対応するノード」の子孫ノードに対応する一方向性関数を第1秘密値に作用させた値のみである。すなわち、この権限情報のみからは、この「一方向性関数値の生成に用いた一方向性関数に対応するノード」の先祖ノードや兄弟ノードや当該兄弟ノードの子孫ノードに対応する一方向性関数を第1秘密値に作用させた値を得ることはできない。上記木構造データの特徴及び一方向性関数の性質に基づく。その結果、権限情報が付与された者には、その一方向性関数値の生成に用いられた一方向性関数に対応するノードの子孫ノードに対応する一方向性関数を第1秘密値に作用させた値から得られる通信情報のみの取扱い権限が付与されたことになる。   Here, the one-way function value included in the authority information is a value obtained by applying the one-way function to the first secret value, and this one-way function corresponds to one of the nodes of the tree structure data. To do. The one-way functions corresponding to the nodes of the tree structure data satisfy the condition that “one-way functions corresponding to sibling nodes are different from each other”. In addition, the one-way function corresponding to the node of the tree structure data is the one-way function corresponding to the child node is “the composite map of the one-way function corresponding to the parent node and the predetermined one-way function”. To satisfy the relationship. Therefore, the value obtained by sequentially applying the one-way function to the one-way function value included in the authority information is a descendant of the “node corresponding to the one-way function used to generate the one-way function value”. Only a value obtained by causing the one-way function corresponding to the node to act on the first secret value. That is, from this authority information alone, the one-way function corresponding to the ancestor node, sibling node, or descendant node of the sibling node of this “node corresponding to the one-way function used to generate the one-way function value”. Cannot be obtained by acting on the first secret value. Based on the characteristics of the tree structure data and the nature of the one-way function. As a result, the one-way function corresponding to the descendant node of the node corresponding to the one-way function used for generating the one-way function value is applied to the first secret value to the person who has been given the authority information. The authority to handle only the communication information obtained from the determined values is given.

また、本発明において好ましくは、権限情報は、通信情報の生成権限を付与するための情報である。この権限情報は、一方向性関数によって更新される通信情報を出力する通信装置(例えばタグ装置)に付与される。この通信装置は、付与された権限情報が具備する一方向性関数値の生成に用いた一方向性関数に対応するノードの子孫ノードに対応する一方向性関数を第1秘密値に作用させた値から得られる通信情報のみを生成できる。   In the present invention, preferably, the authority information is information for giving an authority to generate communication information. This authority information is given to a communication device (for example, a tag device) that outputs communication information updated by a one-way function. The communication device causes the one-way function corresponding to the descendant node of the node corresponding to the one-way function used for generating the one-way function value included in the given authority information to act on the first secret value. Only communication information obtained from values can be generated.

また、本発明において好ましくは、権限情報は、通信情報の探索権限を付与するための情報であり、一方向性関数値とその生成に用いられた第1秘密値に対応する識別子とを含む。この権限情報は、一方向性関数によって更新される通信情報から、それに対応する識別子を特定する通信情報探索装置(例えば、前述のサーバ装置)に付与される。この通信情報探索装置は、付与された権限情報が具備する一方向性関数値の生成に用いた一方向性関数に対応するノードの子孫ノードに対応する一方向性関数を第1秘密値に作用させた値から得られる通信情報のみを探索できる。   In the present invention, preferably, the authority information is information for granting a search authority for communication information, and includes a one-way function value and an identifier corresponding to the first secret value used for the generation. This authority information is given to a communication information search device (for example, the aforementioned server device) that identifies an identifier corresponding to the communication information updated by the one-way function. The communication information search apparatus applies a one-way function corresponding to a descendant node of a node corresponding to the one-way function used for generating the one-way function value included in the granted authority information to the first secret value. Only communication information obtained from the determined values can be searched.

また、本発明において好ましくは、権限情報生成部は、通信情報の探索権限を付与するための権限情報と、通信情報の生成権限を付与するための権限情報とを生成し、通信情報の探索権限を付与するための権限情報は、一方向性関数値とその生成に用いられた第1秘密値に対応する識別子とを含む。ここで、通信情報の探索権限を付与するための権限情報は、一方向性関数によって更新される通信情報を出力する通信装置に付与されるものである。また、通信情報の生成権限を付与するための権限情報は、一方向性関数によって更新される通信情報から、それに対応する識別子を特定する通信情報探索装置に付与されるものである。   Preferably, in the present invention, the authority information generation unit generates authority information for granting communication information search authority and authority information for granting communication information generation authority, and searches for communication information. The authority information for assigning includes a one-way function value and an identifier corresponding to the first secret value used for generating the one-way function value. Here, the authority information for granting the search authority for the communication information is given to the communication device that outputs the communication information updated by the one-way function. Further, the authority information for giving the authority to generate communication information is given to the communication information searching apparatus that identifies the identifier corresponding to the communication information updated by the one-way function.

また、本発明において好ましくは、秘密値テーブルは、識別子と第1秘密値と第2秘密値とを対応付けたテーブルであり、権限情報生成部は、一方向性関数値と第2秘密値とを含む権限情報を生成する。
また、本発明の通信装置は、上述の管理装置から出力された権限情報(一方向性関数値を含む)を格納する生成権限情報記憶部と、生成権限情報記憶部から読み込んだ一方向性関数値を含む情報に所定の一方向性関数を作用させ、通信情報を生成する通信情報生成部と、通信情報を出力する通信情報出力部とを有する。この通信装置は、付与された権限情報が具備する一方向性関数値の生成に用いた一方向性関数に対応するノードの子孫ノードに対応する一方向性関数を第1秘密値に作用させた値から得られる通信情報のみを生成できる。
Preferably, in the present invention, the secret value table is a table in which the identifier, the first secret value, and the second secret value are associated with each other, and the authority information generation unit includes the one-way function value, the second secret value, and the like. Generate authority information including.
In addition, the communication device of the present invention includes a generation authority information storage unit that stores authority information (including a one-way function value) output from the management device, and a one-way function read from the generation authority information storage unit. A communication information generation unit that generates a communication information by causing a predetermined one-way function to act on information including a value, and a communication information output unit that outputs the communication information. The communication device causes the one-way function corresponding to the descendant node of the node corresponding to the one-way function used for generating the one-way function value included in the given authority information to act on the first secret value. Only communication information obtained from values can be generated.

また、本発明の通信情報探索装置は、上述の管理装置から出力された権限情報(一方向性関数値とその生成に用いられた第1秘密値に対応する識別子とを含む)を格納する探索権限情報記憶部と、通信情報の入力を受け付ける入力部と、権限情報の一方向性関数値を含む情報に所定の一方向性関数を作用させた探索値を生成する探索値生成部と、通信情報と探索値とが一致するか否かを判断する比較部と、通信情報と一致した探索値に対応する識別子を探索権限情報記憶部から抽出する抽出部とを有する。この通信情報探索装置は、付与された権限情報が具備する一方向性関数値の生成に用いた一方向性関数に対応するノードの子孫ノードに対応する一方向性関数を第1秘密値に作用させた値から得られる通信情報のみを探索できる。   In addition, the communication information search device of the present invention stores a search for storing authority information (including a one-way function value and an identifier corresponding to the first secret value used for generation thereof) output from the management device. An authority information storage unit, an input unit that receives input of communication information, a search value generation unit that generates a search value obtained by applying a predetermined unidirectional function to information including the unidirectional function value of the authority information, and communication It has a comparison part which judges whether information and a search value correspond, and an extraction part which extracts an identifier corresponding to a search value which matched communication information from a search authority information storage part. The communication information search apparatus applies a one-way function corresponding to a descendant node of a node corresponding to the one-way function used for generating the one-way function value included in the granted authority information to the first secret value. Only communication information obtained from the determined values can be searched.

本発明では、一方向性関数によって更新される通信情報の自動認識を行うシステムにおいて、通信情報の取扱い権限を制限し、プライバシの保護を図ることが可能となる。   In the present invention, in a system that automatically recognizes communication information updated by a one-way function, it is possible to limit the authority to handle communication information and protect privacy.

以下、本発明を実施するための最良の形態を図面を参照して説明する。
〔第1の実施の形態〕
まず、本発明における第1の実施の形態について説明する。
本形態は、通信情報の生成権限を付与するための権限情報をタグ装置に与え、通信情報の探索権限を付与するための権限情報をサーバ装置に与え、タグ装置の通信情報の生成範囲とサーバ装置の探索範囲とを制限する形態である。以下、この詳細を説明する。
<全体構成>
図1は、第1の実施の形態のタグ通信システム1の全体構成を示した概念図である。
The best mode for carrying out the present invention will be described below with reference to the drawings.
[First Embodiment]
First, a first embodiment of the present invention will be described.
In this embodiment, authority information for granting communication information generation authority is given to the tag device, authority information for giving communication information search authority is given to the server device, and the communication information generation range of the tag device and the server In this mode, the search range of the device is limited. The details will be described below.
<Overall configuration>
FIG. 1 is a conceptual diagram showing an overall configuration of a tag communication system 1 according to the first embodiment.

図1に例示するように、タグ通信システム1は、管理サーバ装置10(「管理装置」に相当)、タグ装置20(「通信装置」に相当)、サーバ装置40(「通信情報探索装」に相当)、リーダ装置60、ライタ装置70及びネットワーク80を有しており、サーバ装置40とリーダ装置60、管理サーバ装置10とサーバ装置40、管理サーバ装置10とライタ装置70は、それぞれインターネット等のネットワーク80を通じて通信可能に構成されている。なお、図1には、1つのタグ装置20のみを図示しているが、実際はk個(kは自然数)のタグ装置20が存在する。また、図1には、それぞれ1個の管理サーバ装置10、サーバ装置40、リーダ装置60及びライタ装置70を図示しているが、管理サーバ装置10、サーバ装置40、リーダ装置60及びライタ装置70の数は、これ以上であってもよい。   As illustrated in FIG. 1, the tag communication system 1 includes a management server device 10 (corresponding to “management device”), a tag device 20 (corresponding to “communication device”), and a server device 40 (“communication information search device”). The reader device 60, the writer device 70, and the network 80. The server device 40 and the reader device 60, the management server device 10 and the server device 40, and the management server device 10 and the writer device 70 are respectively connected to the Internet or the like. Communication is possible through the network 80. Although only one tag device 20 is illustrated in FIG. 1, there are actually k tag devices 20 (k is a natural number). 1 illustrates one management server device 10, server device 40, reader device 60, and writer device 70, respectively, the management server device 10, server device 40, reader device 60, and writer device 70 are illustrated. The number of may be more than this.

<管理サーバ装置10の構成>
図2は、第1の実施の形態における管理サーバ装置10の機能構成を示したブロック図である。
図2に例示するように、管理サーバ装置10は、メモリ11、乱数生成部12、ノード選択部13、一方向性関数抽出部14、一方向性関数演算部15、権限情報生成部16、権限情報出力部17、制御部18及び一時メモリ19を有している。ここで、メモリ11は、データを記憶する領域である記憶部11a〜11gを有しており、記憶部11aは、「秘密値テーブル記憶部」に相当する。
<Configuration of Management Server Device 10>
FIG. 2 is a block diagram illustrating a functional configuration of the management server device 10 according to the first embodiment.
As illustrated in FIG. 2, the management server device 10 includes a memory 11, a random number generation unit 12, a node selection unit 13, a one-way function extraction unit 14, a one-way function calculation unit 15, an authority information generation unit 16, an authority. An information output unit 17, a control unit 18, and a temporary memory 19 are included. Here, the memory 11 includes storage units 11a to 11g that are areas for storing data, and the storage unit 11a corresponds to a “secret value table storage unit”.

なお、管理サーバ装置10は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク等の外部記憶装置、LANカード等の通信装置をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。この場合、メモリ11及び一時メモリ19は、レジスタ、RAM、外部記憶装置等又はそれらが複合された記憶領域に相当する。これらのメモリ11及び一時メモリ19に格納されるデータについては後述する。また、乱数生成部12、ノード選択部13、一方向性関数抽出部14、一方向性関数演算部15及び権限情報生成部16は、所定のプログラムが読み込まれたCPUに相当する。さらに、権限情報出力部17は、所定のプログラムが読み込まれたCPUの制御によって駆動する通信装置に相当する。   The management server device 10 is, for example, a publicly known device in which a central processing unit (CPU), a random access memory (RAM), a read only memory (ROM), an external storage device such as a hard disk, and a communication device such as a LAN card are connected via a bus. This is configured by causing a Neumann computer to execute a predetermined program. In this case, the memory 11 and the temporary memory 19 correspond to a register, a RAM, an external storage device or the like or a storage area in which they are combined. Data stored in the memory 11 and the temporary memory 19 will be described later. The random number generation unit 12, the node selection unit 13, the one-way function extraction unit 14, the one-way function calculation unit 15, and the authority information generation unit 16 correspond to a CPU in which a predetermined program is read. Further, the authority information output unit 17 corresponds to a communication device that is driven under the control of the CPU loaded with a predetermined program.

また、管理サーバ装置10は、制御部18の制御のもと各演算処理を実行する。また、明示しない限り、各データは、適宜、逐一一時メモリ19に格納され、各処理に利用される。また、図2における矢印はデータの流れを示すが、制御部18及び一時メモリ19に入出力するデータの流れの記載は省略してある。
<タグ装置20の構成>
図3は、第1の実施の形態におけるタグ装置20の機能構成を示したブロック図である。
図3に例示するように、タグ装置20は、メモリ21、通信情報生成部22、通信情報出力部23、更新部24、カウンタ25、入力部26、書き込み部27、カウント初期化部28、一時メモリ29及び制御部30を有している。ここで、メモリ21は、記憶部21a〜21dを有しており、記憶部21a,21bは、「生成権限情報記憶部」に相当する。また、メモリ21に格納されるデータについては後述する。
In addition, the management server device 10 executes each calculation process under the control of the control unit 18. Unless otherwise specified, each data is stored in the temporary memory 19 one by one as appropriate and used for each process. 2 indicate the flow of data, but the description of the flow of data input to and output from the control unit 18 and the temporary memory 19 is omitted.
<Configuration of Tag Device 20>
FIG. 3 is a block diagram illustrating a functional configuration of the tag device 20 according to the first embodiment.
As illustrated in FIG. 3, the tag device 20 includes a memory 21, a communication information generation unit 22, a communication information output unit 23, an update unit 24, a counter 25, an input unit 26, a writing unit 27, a count initialization unit 28, A memory 29 and a control unit 30 are included. Here, the memory 21 includes storage units 21a to 21d, and the storage units 21a and 21b correspond to “generation authority information storage units”. The data stored in the memory 21 will be described later.

なお、メモリ21及び一時メモリ29は、例えば、EEPROM(Electronically Erasable and Programmable Read Only Memory)、FeRAM(Ferroelectric Random Access Memory)、フラッシュメモリ、NV(Nonvolatile)RAM等の読書き可能なメモリである。また、通信情報生成部22、更新部24、カウンタ25、カウント初期化部28及び制御部30は、例えば、各処理を実行する集積回路又は所定のプログラムが読み込まれたCPUである。また、入力部26及び通信情報出力部23は、それぞれデータの入力及び出力を行うハードウェアである。例えば、入力部26及び通信情報出力部23は、NRZ符号やマンチェスター符号化やミラー符号や単極RZ符号化等によって符号化・復号化を行う符号化・復号化回路、ASK(Amplitude Shift Keying)やPSK(Phase Shift Keying)やFSK(Frequency Shift Keying)等によって変・復調を行う変・復調回路、ダイポールアンテナやマイクロストリップアンテナやループコイルやコア入りコイル等のアンテナを有し、ISM帯(Industry Science Medical band)の周波数等を用いて信号の送受信を行うハードウェアである。また、書き込み部27は、制御部30の制御のもとメモリ21に対してデータを読み書きするハードウェアである。   The memory 21 and the temporary memory 29 are readable / writable memories such as EEPROM (Electronically Erasable and Programmable Read Only Memory), FeRAM (Ferroelectric Random Access Memory), flash memory, NV (Nonvolatile) RAM, and the like. The communication information generation unit 22, the update unit 24, the counter 25, the count initialization unit 28, and the control unit 30 are, for example, an integrated circuit that executes each process or a CPU loaded with a predetermined program. The input unit 26 and the communication information output unit 23 are hardware for inputting and outputting data, respectively. For example, the input unit 26 and the communication information output unit 23 include an encoding / decoding circuit that performs encoding / decoding by NRZ code, Manchester encoding, mirror code, unipolar RZ encoding, etc., ASK (Amplitude Shift Keying) , PSK (Phase Shift Keying), FSK (Frequency Shift Keying), etc., modulation / demodulation circuits that perform modulation / demodulation, dipole antennas, microstrip antennas, loop coils, cored coils, etc. This is hardware that transmits and receives signals using the frequency of Science Medical band. The writing unit 27 is hardware that reads and writes data from and to the memory 21 under the control of the control unit 30.

また、タグ装置20は、制御部30の制御のもと各処理を実行する。また、明示しない限り、各データは、適宜、逐一一時メモリ29に格納され、各処理に利用される。また、図3における矢印はデータの流れを示すが、制御部30及び一時メモリ29に入出力するデータの流れの記載は省略してある。
<サーバ装置40の構成>
図4は、第1の実施の形態におけるサーバ装置40の機能構成を示したブロック図である。
In addition, the tag device 20 executes each process under the control of the control unit 30. Unless otherwise specified, each data is stored in the temporary memory 29 one by one as appropriate and used for each process. Also, the arrows in FIG. 3 indicate the flow of data, but the description of the flow of data input to and output from the control unit 30 and the temporary memory 29 is omitted.
<Configuration of Server Device 40>
FIG. 4 is a block diagram illustrating a functional configuration of the server device 40 according to the first embodiment.

図4に例示するように、サーバ装置40は、メモリ41、入力部42、書き込み部43、カウンタ44,45、探索値生成部46、比較部47、抽出部48、出力部49、制御部50及び一時メモリ51を有している。
なお、サーバ装置40は、例えば、CPU、RAM、ROM、ハードディスク等の外部記憶装置、LANカード等の通信装置をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。この場合、メモリ41及び一時メモリ51は、レジスタ、RAM、外部記憶装置等又はそれらが複合された記憶領域に相当する。これらのメモリ41及び一時メモリ51に格納されるデータについては後述する。また、カウンタ44,45、探索値生成部46、比較部47及び制御部50は、所定のプログラムが読み込まれたCPUに相当する。さらに、入力部42及び出力部49は、所定のプログラムが読み込まれたCPUの制御によって駆動する通信装置に相当する。また、書き込み部43及び抽出部48は、所定のプログラムが読み込まれたCPUの制御のもとメモリ41に対するデータの読書きを行うハードウェアに相当する。
As illustrated in FIG. 4, the server device 40 includes a memory 41, an input unit 42, a writing unit 43, counters 44 and 45, a search value generation unit 46, a comparison unit 47, an extraction unit 48, an output unit 49, and a control unit 50. And a temporary memory 51.
The server device 40 is configured, for example, by causing a known Neumann computer connected to an external storage device such as a CPU, RAM, ROM, and hard disk, or a communication device such as a LAN card by a bus to execute a predetermined program. . In this case, the memory 41 and the temporary memory 51 correspond to a register, a RAM, an external storage device or the like or a storage area in which these are combined. The data stored in these memory 41 and temporary memory 51 will be described later. Further, the counters 44 and 45, the search value generation unit 46, the comparison unit 47, and the control unit 50 correspond to a CPU into which a predetermined program has been read. Furthermore, the input unit 42 and the output unit 49 correspond to a communication device that is driven under the control of the CPU in which a predetermined program is read. The writing unit 43 and the extracting unit 48 correspond to hardware that reads / writes data from / to the memory 41 under the control of the CPU that has read a predetermined program.

また、サーバ装置40は、制御部50の制御のもと各処理を実行する。また、明示しない限り、各データは、適宜、逐一一時メモリ51に格納され、各処理に利用される。また、図4における矢印はデータの流れを示すが、制御部50及び一時メモリ51に入出力するデータの流れの記載は省略してある。
<リーダ装置60の構成>
リーダ装置60は、例えば、CPU、RAM、ROM、ハードディスク等の外部記憶装置、タグ装置20と信号の無線通信を行う通信装置、LANカード等の通信装置をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。
In addition, the server device 40 executes each process under the control of the control unit 50. Further, unless explicitly indicated, each data is stored in the temporary memory 51 one by one as appropriate and used for each process. Further, the arrows in FIG. 4 indicate the flow of data, but the description of the flow of data input to and output from the control unit 50 and the temporary memory 51 is omitted.
<Configuration of Reader Device 60>
The reader device 60 is, for example, an external storage device such as a CPU, RAM, ROM, and hard disk, a communication device that wirelessly communicates signals with the tag device 20, and a known Neumann computer that is connected to a communication device such as a LAN card via a bus. It is configured by executing a predetermined program.

<ライタ装置70の構成>
ライタ装置70は、例えば、CPU、RAM、ROM、ハードディスク等の外部記憶装置、タグ装置20と信号の無線通信を行う通信装置、LANカード等の通信装置をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。
<前処置>
次に、本形態のタグ通信システム1を作動させるための前処理について説明する。
<Configuration of Writer Device 70>
The writer device 70 is, for example, an external storage device such as a CPU, RAM, ROM, and hard disk, a communication device that wirelessly communicates signals with the tag device 20, and a known Neumann computer that is connected to a communication device such as a LAN card via a bus. It is configured by executing a predetermined program.
<Pretreatment>
Next, preprocessing for operating the tag communication system 1 of this embodiment will be described.

[管理サーバ装置10に対する前処理]
まず、各タグ装置20に対応する識別子id(m∈[0,k-1])を秘密値テーブル100のカラム101のデータとし、管理サーバ装置10のメモリ11の記憶部11aに格納する。なお、[0,k-1]は、0以上k−1以下の整数の集合を意味する。次に、管理サーバ装置10の乱数生成部12が、発生させた擬似乱数を用い、各mに対して秘密値schain,m(「第2秘密値」に相当)と秘密値ttree,m(「第1秘密値」に相当)とを生成し、それらをそれぞれ秘密値テーブル100のカラム102,103のデータとして識別子idに対応付け、管理サーバ装置10のメモリ11の記憶部11aに格納する。なお、秘密値schain,m,ttree,mは、2進数Lビットで表記される(schain,m,ttree,m∈{0,1}L)。
[Preprocessing for Management Server Device 10]
First, the identifier id m (mε [0, k−1]) corresponding to each tag device 20 is used as the data in the column 101 of the secret value table 100 and stored in the storage unit 11 a of the memory 11 of the management server device 10. [0, k-1] means a set of integers from 0 to k-1. Next, the random number generation unit 12 of the management server device 10 uses the generated pseudo-random number, and for each m, a secret value s chain, m (corresponding to a “second secret value”) and a secret value t tree, m (Corresponding to “first secret value”), and associating them with the identifier id m as data in the columns 102 and 103 of the secret value table 100, respectively, and storing them in the storage unit 11a of the memory 11 of the management server device 10 To do. The secret value s chain, m , t tree, m is expressed in binary L bits (s chain, m , t tree, m ε {0,1} L ).

また、一方向性関数である2つのハッシュ関数F,Fを管理サーバ装置10のメモリ11の記憶部11dに格納する。ハッシュ関数F,Fは、{0,1}→{0,1}の一方向性写像であり、例えば、SHA−1等を例示できる。
さらに、一方向性関数を特定するための情報をノードとし、兄弟ノードに対応する一方向性関数が相互に異なり、親ノードに対応する一方向性関数と所定の一方向性関数との合成写像が子ノードに対応する一方向性関数となる木構造データ110を、管理サーバ装置10のメモリ11の記憶部11bに格納する。このような木構造データ110の構成には制限はないが、本形態の例では、各ノードに以下のような文字列を対応させた深さdの二分木データを木構造データ110とする。
Further, the two hash functions F 0 and F 1 which are one-way functions are stored in the storage unit 11 d of the memory 11 of the management server device 10. The hash functions F 0 and F 1 are unidirectional mappings of {0, 1} L → {0, 1} L , and examples thereof include SHA-1.
Furthermore, the information for specifying the one-way function is a node, the one-way functions corresponding to the sibling nodes are different from each other, and the composite map of the one-way function corresponding to the parent node and the predetermined one-way function Is stored in the storage unit 11b of the memory 11 of the management server device 10 as a one-way function corresponding to the child node. The configuration of the tree structure data 110 is not limited, but in the example of this embodiment, the binary tree data having a depth d in which the following character strings are associated with each node is used as the tree structure data 110.

(a)ルートノードは、空の文字列φ∈{0,1}0である。
(b)深さd’(d'∈[1,d])のノードは、2進数d’ビットで表記される文字列ω∈{0,1}d'である。
(c)深さd’のノードが文字列ω∈{0,1}d'であるとき、その左の子ノードはω|0∈{0,1}d'+1であり、右の子ノードはω|1∈{0,1}d'+1である。なお、ω|0は、文字列ωと0とのビット結合を意味する。
(d)リーフノードの文字列ω∈{0,1}dが整数iに対応する。
(a) The root node is an empty character string φ∈ {0, 1} 0 .
(b) A node having a depth d ′ (d′ ∈ [1, d]) is a character string ω∈ {0,1} d ′ expressed in binary d ′ bits.
(c) When a node of depth d ′ is a character string ω∈ {0,1} d ′ , its left child node is ω | 0∈ {0,1} d ′ + 1 and the right child The node is ω | 1∈ {0,1} d ′ + 1 . Note that ω | 0 means bit combination of the character string ω and 0.
(d) The leaf node character string ωε {0,1} d corresponds to the integer i.

(e)各ノードの文字列ωにハッシュ関数Fωが対応する。なお、ハッシュ関数Fωは、2進表記された文字列ωの各ビットに対応するハッシュ関数F,F(ビット「0」にはハッシュ関数Fが対応し、ビット「1」にはハッシュ関数Fが対応する)の合成写像である。なお、この合成写像は、文字列ωの最上位ビットから最下位ビットに向かう順序で対応するハッシュ関数を作用させる写像である。例えば、ω=ab…z(a,b,…,z∈{0,1})である場合、ハッシュ関数Fωは、合成写像Fω=Fz…FbFaとなる。 (e) The hash function corresponds to the character string ω of each node. The hash function F ω is a hash function F 0 , F 1 corresponding to each bit of the character string ω expressed in binary (the hash function F 0 corresponds to the bit “0”, and the bit “1” corresponds to the bit “1”). the hash function F 1 is a composite map of the corresponding). Note that this composite mapping is a mapping in which corresponding hash functions are applied in the order from the most significant bit of the character string ω to the least significant bit. For example, ω = ab ... z if a (a, b, ..., z∈ {0,1}), the hash function F omega, the synthetic mapping F ω = F z ... F b F a.

図5は、このような木構造データ110を例示した図である。なお、図5は、d=3の場合の例である。図5の例の木構造データ110は、ノード112a〜112pで構成され、各ノード112a〜112pは、上述の(a)から(d)の条件を満たしている。また、図6は、図5に例示した木構造データ110の各ノード112a〜112pに対応するハッシュ関数Fωをノード122a〜122pとした木構造データである一方向性関数木データ120を示した図である。なお、各ノード122a〜122pは、上述の(e)の条件を満たしている。また、木構造データ110の記憶部11bへの実装方法にも特に制限はないが、本形態では、各ノードに子ノードのポインタのリストを対応付けたテーブルを木構造データ110とする。この場合、図2に例示するように、木構造データ110は、各ノードに対応するポインタ「p」を示すカラム111と、各ノードに対応する文字列「ω(又はφ)」を示すカラム112と、各ノードの子ノードに対応するポインタ「p」「p」をそれぞれ示すカラム113,114とからなるテーブルとなる。 FIG. 5 is a diagram illustrating such tree structure data 110. FIG. 5 shows an example when d = 3. The tree structure data 110 in the example of FIG. 5 includes nodes 112a to 112p, and each of the nodes 112a to 112p satisfies the above-described conditions (a) to (d). Also, FIG. 6 shows a one-way function tree data 120 is tree-structured data in which the hash function F omega and node 122a~122p for each node 112a~112p of the tree structure data 110 illustrated in FIG. 5 FIG. Each of the nodes 122a to 122p satisfies the above-described condition (e). Although there is no particular limitation on the method of mounting the tree structure data 110 in the storage unit 11b, in this embodiment, a table in which a list of pointers of child nodes is associated with each node is the tree structure data 110. In this case, as illustrated in FIG. 2, the tree structure data 110 includes a column 111 indicating a pointer “p” corresponding to each node and a column 112 indicating a character string “ω (or φ)” corresponding to each node. And columns 113 and 114 respectively indicating the pointers “p 1 ” and “p 2 ” corresponding to the child nodes of each node.

[タグ装置20に対する前処理]
タグ装置20に対する前処理として、各タグ装置20のメモリ21の記憶部21cに上述のハッシュ関数F,Fを格納しておく。また、通信情報生成部22及び更新部24が、それぞれ一方向性関数であるハッシュ関数H,Gを利用可能なようにしておく。そのために、例えば、通信情報生成部22及び更新部24を実現するプログラムにハッシュ関数H,Gを組み込んでおいてもよいし、メモリ21の図示していない領域にハッシュ関数H,Gを格納しておいてもよい。なお、ハッシュ関数H,Gは、{0,1}→{0,1}の一方向性写像であり、例えば、SHA−1等を例示できる。なお、{0,1}は任意のビット長の2進数ビットを示す。また、カウント初期化部28が、上述の木構造データ110の深さを示す値dを利用可能としておく。そのために、例えば、カウント初期化部28を実現するプログラムに値dを組み込んでおいてもよいし、メモリ21の図示していない領域に値dを格納しておいてもよい。
[Preprocessing for Tag Device 20]
As preprocessing for the tag device 20, the hash functions F 0 and F 1 described above are stored in the storage unit 21 c of the memory 21 of each tag device 20. Further, the communication information generation unit 22 and the update unit 24 make it possible to use hash functions H and G, which are one-way functions, respectively. For this purpose, for example, the hash functions H and G may be incorporated in a program that realizes the communication information generation unit 22 and the update unit 24, or the hash functions H and G are stored in an area not shown in the memory 21. You may keep it. Note that the hash functions H and G are unidirectional mappings of {0, 1} * → {0, 1} L , and examples thereof include SHA-1. Note that {0, 1} * indicates a binary bit having an arbitrary bit length. In addition, the count initialization unit 28 makes available the value d indicating the depth of the tree structure data 110 described above. For this purpose, for example, the value d may be incorporated into a program that implements the count initialization unit 28, or the value d may be stored in an area (not shown) of the memory 21.

[サーバ装置40に対する前処理]
サーバ装置40に対する前処理として、サーバ装置40のメモリ41の記憶部41bに上述のハッシュ関数F,Fを格納しておく。また、探索値生成部46が一方向性関数であるハッシュ関数H,Gを利用可能なようにしておく。また、カウンタ45が、上述の木構造データ110の深さを示す値dを利用可能としておく。
<権限付与処理>
次に、管理サーバ装置10が行う権限付与処理について説明する。本形態では、通信情報の生成権限を付与するための権限情報を各タグ装置20に与え、通信情報の探索権限を付与するための権限情報をサーバ装置40に与える。
[Pre-processing for server device 40]
As preprocessing for the server device 40, the hash functions F 0 and F 1 described above are stored in the storage unit 41b of the memory 41 of the server device 40. In addition, the search value generation unit 46 makes it possible to use hash functions H and G that are one-way functions. Further, the counter 45 makes available a value d indicating the depth of the tree structure data 110 described above.
<Authorization process>
Next, the authority grant process performed by the management server device 10 will be described. In this embodiment, authority information for granting communication information generation authority is given to each tag device 20, and authority information for giving communication information search authority is given to the server device 40.

[通信情報の生成権限付与処理]
図7は、第1の実施の形態における通信情報の生成権限付与処理を説明するためのフローチャートである。以下、この図を用いて本形態における通信情報の生成権限付与処理を説明する。
まず、ノード選択部13が、メモリ11の記憶部11bに格納された木構造データ110からノードω(「ω」と表記する)を選択し、これを記憶部11cに格納する(ステップS1)。なお、この選択は、例えば、入力値に基づいて行う。例えば、管理サーバ装置10の管理者が、通信情報の生成権限を付与しようとする範囲の整数iに対応するリーフノードの先祖ノードを特定し、このノードを特定するため情報を入力部(図示しない)から入力し、ノード選択部13が、この入力情報に対応するノードをノードωとして選択する。なお、別の形態として、このノードωの選択を予め決定されている順序に従って行うこととしてもよい。また、タグ装置20ごとにノードωが異なっていてもよい。
[Communication information generation authority assignment processing]
FIG. 7 is a flowchart for explaining communication information generation authority grant processing according to the first embodiment. Hereinafter, communication information generation authority grant processing according to this embodiment will be described with reference to FIG.
First, the node selection unit 13 selects a node ω (denoted as “ω T ”) from the tree structure data 110 stored in the storage unit 11b of the memory 11, and stores this in the storage unit 11c (step S1). . This selection is performed based on the input value, for example. For example, the administrator of the management server device 10 specifies an ancestor node of the leaf node corresponding to the integer i in the range to which the authority to generate communication information is to be granted, and inputs information for specifying this node (not shown) ) inputted from the node selection unit 13 selects a node corresponding to the input information as a node omega T. As another form, it may be performed in the order determined in advance to choose for this node omega T. Further, the node ω T may be different for each tag device 20.

次に、一方向性関数抽出部14が、記憶部11cから上述のノードωを読み込み、その値に基づき、記憶部11dからハッシュ関数F,Fを読み込み、読み込んだハッシュ関数F,Fを合成することにより、ノードωに対応するハッシュ関数FωT(「一方向性関数」に相当)を抽出する。なお、ハッシュ関数FωTの下付添え字のωTは、ωを意味する。なお、ハッシュ関数FωTの構成は、上述の(e)に示した通りであり、生成されたハッシュ関数FωTは、記憶部11eに格納される(ステップS2)。 Next, the one-way function extraction unit 14 reads the above-described node ω T from the storage unit 11c, reads the hash functions F 0 and F 1 from the storage unit 11d based on the value, and reads the hash functions F 0 , By synthesizing F 1 , a hash function F ωT (corresponding to “one-way function”) corresponding to the node ω T is extracted. It should be noted, ωT of the subscript of the hash function F ωT means ω T. Note that the configuration of the hash function F ωT is as shown in (e) above, and the generated hash function F ωT is stored in the storage unit 11e (step S2).

次に、制御部18が、変数mに0を代入し、この変数mを一時メモリ19に格納する(ステップS3)。次に、一方向性関数演算部15が、一時メモリ19から変数mを読み込み、記憶部11aの秘密値テーブル100から、秘密値ttree,mを読み込み、一方向性関数値tωT,m=FωT(ttree,m)を算出し、これを記憶部11fに格納する(ステップS4)。なお、FωT(Ttree,m)は、ハッシュ関数FωTの入力値をttree,mとし、ttree,mにハッシュ関数FωTを作用させ、その演算結果を求める処理を意味する。次に、権限情報生成部16が、一時メモリ19から変数mを読み込み、記憶部11aの秘密値テーブル100から秘密値schain,mを抽出し、記憶部11cからノードωを読み込み、記憶部11fから一方向性関数値tωT,mを読み込む。そして、権限情報生成部16は、秘密値s0,m=schain,mとして、生成権限情報kT,m=(s0,m,tωT,mT)を生成し、この生成権限情報kT,mを記憶部11gに格納する(ステップS5)。なお、(α,β,γ)は、αとβとγのビット列を具備するビット列を意味する。 Next, the control unit 18 substitutes 0 for the variable m, and stores the variable m in the temporary memory 19 (step S3). Next, the one-way function calculation unit 15 reads the variable m from the temporary memory 19, reads the secret value t tree, m from the secret value table 100 of the storage unit 11a, and sets the one-way function value t ωT, m = F ωT (t tree, m ) is calculated and stored in the storage unit 11f (step S4). Incidentally, F ωT (T tree, m ) is the input value of the hash function F .omega.T t tree, and m, t tree, by applying a hash function F .omega.T to m, means a process of obtaining the calculation result. Next, the authority information generation unit 16 reads the variable m from the temporary memory 19, extracts the secret value s chain, m from the secret value table 100 of the storage unit 11a, reads the node ω T from the storage unit 11c, and stores the storage unit A one-way function value tωT, m is read from 11f. Then, the authority information generation unit 16 generates the generation authority information k T, m = (s 0, m , t ωT, m , ω T ) as the secret value s 0, m = s chain, m and generates this The authority information kT , m is stored in the storage unit 11g (step S5). Note that (α, β, γ) means a bit string including bit strings of α, β, and γ.

その後、制御部18が、一時メモリ19に格納された変数mがm=k-1を満たすか否かを判断する(ステップS6)。ここで、m=k-1を満たさないと判断された場合、制御部18は、変数mの値に1を加算した値を新たな変数mの値とし、この変数mを一時メモリ19に格納し(ステップS7)、処理をステップS4に戻す。一方、m=k-1を満たすと判断された場合、権限情報出力部17は、記憶部11gに格納されている各生成権限情報kT,m(m∈[0,k-1])を、ネットワーク80を通じてライタ装置70に送信する。ライタ装置70は、各生成権限情報kT,mを各識別子idmに対応するタグ装置20に対して出力する。各タグ装置20は、入力部26において、自らの識別子idmに対応する生成権限情報kT,mを受信する。各タグ装置20の書き込み部27は、受信された生成権限情報kT,m=(s0,m,tωT,mT)の秘密値s0,mをメモリ21の記憶部21aに格納し、一方向性関数値tωT,m及びノードωを記憶部21bに格納する。また、カウント初期化部28は、記憶部21bに格納されたノードωを上位桁ビットとし、その下位桁ビットを0ビット(或いは0ビット列)とした合計dビットの初期のカウント値i=ω|0...0(2進表記)を生成し、この初期のカウント値iを記憶部21dに格納する。例えば、図5の木構造データ110において、ω=1である場合(ノード112j/d=3)、初期のカウント値iは、i=ω|0...0=100(2進表記)となり、10進表記ではi=4となる。また、更新部24は、記憶部21aに格納された秘密値s0,mにハッシュ関数Gをi回作用させた値を秘密値si,mとして記憶部21aに格納する(ステップS8)。 Thereafter, the control unit 18 determines whether or not the variable m stored in the temporary memory 19 satisfies m = k−1 (step S6). When it is determined that m = k−1 is not satisfied, the control unit 18 sets a value obtained by adding 1 to the value of the variable m as a new value of the variable m, and stores the variable m in the temporary memory 19. (Step S7), and the process returns to Step S4. On the other hand, when it is determined that m = k−1 is satisfied, the authority information output unit 17 stores each generation authority information k T, m (m∈ [0, k−1]) stored in the storage unit 11g. And transmitted to the writer device 70 through the network 80. The writer device 70 outputs each generation authority information k T, m to the tag device 20 corresponding to each identifier id m . Each tag device 20 receives the generation authority information k T, m corresponding to its own identifier id m at the input unit 26. The writing unit 27 of each tag device 20 stores the secret value s 0, m of the received generation authority information k T, m = (s 0, m , t ωT, m , ω T ) in the storage unit 21 a of the memory 21. store, stores one-way function value t .omega.T, m and node omega T in the storage unit 21b. In addition, the count initialization unit 28 sets the node ω T stored in the storage unit 21b as the upper digit bit and sets the lower digit bit as 0 bit (or 0 bit string), and the initial count value i = ω in total d bits. T | 0 ... 0 (binary notation) is generated, and the initial count value i is stored in the storage unit 21d. For example, in the tree structure data 110 of FIG. 5, when ω T = 1 (node 112j / d = 3), the initial count value i is i = ω T | 0 ... 0 = 100 (binary notation) ) And i = 4 in decimal notation. Further, the updating unit 24 stores a value obtained by applying the hash function G i times to the secret value s 0, m stored in the storage unit 21a as the secret value s i, m in the storage unit 21a (step S8).

[通信情報の探索権限付与処理]
図8は、第1の実施の形態における通信情報の探索権限付与処理を説明するためのフローチャートである。以下、この図を用いて本形態における通信情報の探索権限付与処理を説明する。
まず、ノード選択部13が、メモリ11の記憶部11bに格納された木構造データ110からノードω(「ω」と表記する)を選択し、これを記憶部11cに格納する(ステップS11)。なお、この選択は、例えば、入力値に基づいて行う。例えば、管理サーバ装置10の管理者が、通信情報の探索権限を付与しようとする範囲の整数iに対応するリーフノードの先祖ノードを特定し、このノードを特定するため情報を入力部(図示しない)から入力し、ノード選択部13が、この入力情報に対応するノードをノードωとして選択する。なお、別の形態として、このノードωの選択を予め決定されている順序に従って行うこととしてもよい。また、タグ装置20ごとにノードωが異なっていてもよい。
[Communication information search authority grant processing]
FIG. 8 is a flowchart for explaining the communication information search authority grant processing in the first embodiment. Hereinafter, communication information search authority grant processing according to this embodiment will be described with reference to FIG.
First, the node selection unit 13 selects a node ω (denoted as “ω S ”) from the tree structure data 110 stored in the storage unit 11b of the memory 11, and stores this in the storage unit 11c (step S11). . This selection is performed based on the input value, for example. For example, the administrator of the management server device 10 specifies an ancestor node of the leaf node corresponding to the integer i in the range to which the search authority for communication information is to be granted, and inputs information for specifying the node (not shown) The node selection unit 13 selects the node corresponding to the input information as the node ω S. As another form, the selection of the node ω S may be performed according to a predetermined order. The node ω S may be different for each tag device 20.

次に、一方向性関数抽出部14が、記憶部11cから上述のノードωを読み込み、その値に基づき、記憶部11dからハッシュ関数F,Fを読み込み、読み込んだハッシュ関数F,Fを合成することにより、ノードωに対応するハッシュ関数FωS(「一方向性関数」に相当)を抽出する。なお、ハッシュ関数FωSの下付添え字のωSは、ωを意味する。なお、ハッシュ関数FωSの構成は、上述の(e)に示した通りであり、生成されたハッシュ関数FωSは、記憶部11eに格納される(ステップS12)。 Next, the one-way function extraction unit 14 reads the above-described node ω S from the storage unit 11c, reads the hash functions F 0 and F 1 from the storage unit 11d based on the value, and reads the hash functions F 0 , A hash function F ωS (corresponding to “one-way function”) corresponding to the node ω S is extracted by synthesizing F 1 . It should be noted, ωS of the subscript of the hash function F ωS means ω S. The configuration of the hash function F ωS is as shown in (e) above, and the generated hash function F ωS is stored in the storage unit 11e (step S12).

次に、制御部18が、変数mに0を代入し、この変数mを一時メモリ19に格納する(ステップS13)。次に、一方向性関数演算部15が、一時メモリ19から変数mを読み込み、記憶部11aの秘密値テーブル100から、秘密値ttree,mを読み込み、一方向性関数値tωS,m=FωS(Ttree,m)を算出し、これを記憶部11fに格納する(ステップS14)。次に、権限情報生成部16が、一時メモリ19から変数mを読み込み、記憶部11aの秘密値テーブル100から識別子idと秘密値schain,mを抽出し、記憶部11cからノードωを読み込み、記憶部11fから一方向性関数値tωS,mを読み込む。そして、権限情報生成部16は、秘密値s0,m=schain,mとして、探索権限情報kS,m=(idm,s0,m,tωS,mS)を生成し、この探索権限情報kS,mを記憶部11gに格納する(ステップS15)。 Next, the control unit 18 substitutes 0 for the variable m, and stores the variable m in the temporary memory 19 (step S13). Next, the one-way function calculation unit 15 reads the variable m from the temporary memory 19, reads the secret value t tree, m from the secret value table 100 of the storage unit 11a, and sets the one-way function value t ωS, m = F ωS (T tree, m ) is calculated and stored in the storage unit 11f (step S14). Next, the authority information generation unit 16 reads the variable m from the temporary memory 19, extracts the identifier id m and the secret value s chain, m from the secret value table 100 of the storage unit 11a, and selects the node ω S from the storage unit 11c. Read and read the unidirectional function value tωS, m from the storage unit 11f. Then, the authority information generation unit 16 generates search authority information k S, m = (id m , s 0, m , t ωS, m , ω S ) as the secret value s 0, m = s chain, m. The search authority information k S, m is stored in the storage unit 11g (step S15).

その後、制御部18が、一時メモリ19に格納された変数mがm=k-1を満たすか否かを判断する(ステップS16)。ここで、m=k-1を満たさないと判断された場合、制御部18は、変数mの値に1を加算した値を新たな変数mの値とし、この変数mを一時メモリ19に格納し(ステップS17)、処理をステップS14に戻す。一方、m=k-1を満たすと判断された場合、権限情報出力部17は、記憶部11gに格納されている各探索権限情報kS,m(m∈[0,k-1])を、ネットワーク80を通じてサーバ装置40に送信する。サーバ装置40は、入力部42において、これらの各探索権限情報kS,mを受信する。サーバ装置40の書き込み部43は、受信された各探索権限情報kS,m=(idm,s0,m,tωS,mS)の識別子idをカラム201のデータとし、秘密値s0,mをカラム202のデータとし、一方向性関数値tωS,mをカラム203のデータとし、ノードωカラム204のデータとしたテーブルである権限情報200をメモリ41の記憶部41aに格納する(ステップS18)。 Thereafter, the control unit 18 determines whether or not the variable m stored in the temporary memory 19 satisfies m = k−1 (step S16). When it is determined that m = k−1 is not satisfied, the control unit 18 sets a value obtained by adding 1 to the value of the variable m as a new value of the variable m, and stores the variable m in the temporary memory 19. (Step S17), and the process returns to Step S14. On the other hand, when it is determined that m = k−1 is satisfied, the authority information output unit 17 stores each search authority information k S, m (m∈ [0, k−1]) stored in the storage unit 11g. And transmitted to the server device 40 through the network 80. The server device 40 receives the search authority information k S, m at the input unit 42. The writing unit 43 of the server apparatus 40 uses the identifier id m of each received search authority information k S, m = (id m , s 0, m , t ω S , m , ω S ) as data in the column 201, and The authority information 200 which is a table in which the value s 0, m is the data in the column 202, the one-way function value t ω S , m is the data in the column 203, and the data in the node ω S column 204 is the storage unit 41a of the memory 41. (Step S18).

<通信処理>
以上のような処理の後行われる通信処理について説明する。この処理では、タグ装置20が、上述の生成権限情報kT,mを用いて通信情報ai,mを生成・出力し、サーバ装置40が、受信した通信情報ai,mに対応する識別子idを探索する。なお、サーバ装置40は、受信した通信情報ai,mがどのタグ装置20から出力されたものなのかを知らない。
図9は、第1の実施の形態の通信処理を説明するためのフローチャートである。なお、図9における実線の矢印は、各装置内での処理の時間的な流れを示し、破線の矢印は装置間の処理の時間的な流れを示す。以下、この図を用いて、本形態の通信処理を説明する。
<Communication processing>
A communication process performed after the above process will be described. In this process, the tag device 20 generates and outputs the communication information a i, m using the generation authority information k T, m described above, and the server device 40 identifies the identifier corresponding to the received communication information a i, m. Search for id m . Note that the server device 40 does not know which tag device 20 the received communication information a i, m is output from.
FIG. 9 is a flowchart for explaining communication processing according to the first embodiment. Note that solid arrows in FIG. 9 indicate the temporal flow of processing in each apparatus, and broken arrows indicate the temporal flow of processing between apparatuses. Hereinafter, the communication processing of this embodiment will be described with reference to this figure.

[タグ装置20の処理]
タグ装置20の処理は、例えば、タグ装置20がリーダ装置60の通信圏内に入り、リーダ装置60から送信されたトリガ信号を受信することにより開始される。このようなトリガがあった場合、タグ装置20の通信情報生成部22は、メモリ21の記憶部21aから秘密値si,mを読み込み、記憶部21bから一方向性関数値tωT,m及びノードωを読み込み、記憶部21cからハッシュ関数F,Fを読み込み、記憶部21dからカウント値iを読み込む。そして、通信情報生成部22は、通信情報ai,m=H(si,m,Fω’(tωT,m))を生成する(ステップS21)。なお、ステップS21でのω’はi=ωT|ω’を満たす値である。すなわち、2進表記されたカウント値iの上位ビットωを除いたビットがω’である。そして、tωT,m=FωT(ttree,m)であるから、Fω’(tωT,m)はFω’(tωT,m)=Fω’(FωT(ttree,m))=Fi(ttree,m)を満たし、Fiは、木構造データ110のリーフノードに対応するハッシュ関数である。
[Processing of tag device 20]
The processing of the tag device 20 is started, for example, when the tag device 20 enters the communication area of the reader device 60 and receives a trigger signal transmitted from the reader device 60. When such a trigger occurs, the communication information generation unit 22 of the tag device 20 reads the secret value s i, m from the storage unit 21a of the memory 21 and the unidirectional function value t ωT, m from the storage unit 21b. The node ω T is read, the hash functions F 0 and F 1 are read from the storage unit 21c, and the count value i is read from the storage unit 21d. Then, the communication information generation unit 22 generates communication information a i, m = H (s i, m , F ω ′ (t ωT, m )) (step S21). Note that ω ′ in step S21 is a value that satisfies i = ω T | ω ′. That is, bits except the upper bits omega T binary notation count value i is omega '. And since t ωT, m = F ωT (t tree, m ), F ω ' (t ωT, m ) is F ω' (t ωT, m ) = F ω ' (F ωT (t tree, m) )) = F i (t tree, m ), where F i is a hash function corresponding to the leaf node of the tree structure data 110.

このように生成された通信情報ai,mは、通信情報出力部23から出力される(ステップS22)。
次に、タグ装置20の更新部24は、メモリ21の記憶部21aから秘密値si,mを読み込み、秘密値si,mにハッシュ関数Gを施した値G(si,m)を新たな秘密値si+1,mとし、これによって記憶部21aを上書きし、秘密値を更新する(ステップS23)。なお、ここでの上書きとは、記憶部21aに格納されていた秘密値を消去(復元困難なデータに変換することも含む)し、記憶部21aに新たな秘密値を格納することを意味する。そして、カウンタ25が、記憶部21dからカウント値iを読み込み、i+1を新たなカウント値iとし、この新たなカウント値iを記憶部21dに格納する(ステップS24)。これにより、記憶部21dに格納されたカウント値iが更新される。
その後、タグ装置20は、所定のトリガがあるたびに、上述のステップS21からS24の処理を実行する。
The communication information a i, m generated in this way is output from the communication information output unit 23 (step S22).
Next, the update unit 24 of the tag device 20, a secret value s i from the storage unit 21a of the memory 21, reads the m secret value s i, the value G (s i, m) subjected to a hash function G to m the A new secret value s i + 1, m is set, thereby overwriting the storage unit 21a and updating the secret value (step S23). Here, overwriting means that the secret value stored in the storage unit 21a is erased (including conversion to data that is difficult to restore), and a new secret value is stored in the storage unit 21a. . Then, the counter 25 reads the count value i from the storage unit 21d, sets i + 1 as the new count value i, and stores this new count value i in the storage unit 21d (step S24). Thereby, the count value i stored in the storage unit 21d is updated.
Thereafter, the tag device 20 executes the processes of steps S21 to S24 described above every time there is a predetermined trigger.

[リーダ装置60の処理]
リーダ装置60は、上述のようにタグ装置20から出力された通信情報ai,m(ステップS22)を受信し(ステップS25)、これを、ネットワーク80を通じてサーバ装置40に送信する(ステップS26)。
[Processing of Reader Device 60]
The reader device 60 receives the communication information a i, m (step S22) output from the tag device 20 as described above (step S25) and transmits it to the server device 40 via the network 80 (step S26). .

[サーバ装置40の処理]
サーバ装置40は、入力部42において、リーダ装置60から送信された通信情報ai,mを受信し、書き込み部43において、この通信情報ai,mを記憶部41cに格納する(ステップS27)。次に、カウンタ44は、カウント値pを0にし、このカウント値pを一時メモリ51に格納する(ステップS28)。また、カウンタ45は、記憶部41aの権限情報200のカラム204からノードωを抽出し、このノードωを上位桁ビットとし、その下位桁ビットを0ビット(或いは0ビット列)とした合計dビットの初期のカウント値j=ω|0...0(2進表記)を生成し、この初期のカウント値jを一時メモリ51に格納する(ステップS29)。次に、探索値生成部46は、一時メモリ51からカウント値p,jを読み込み、記憶部41aに格納された権限情報200のカラム201〜204から識別子idと秘密値s0,pと一方向性関数値tωS,pとノードωとをそれぞれ読み込み、記憶部41bからハッシュ関数F,Fを読み込む。そして、探索値生成部46は、探索値aj,p’=H(Gj(s0,p), Fω’’(tωS,p))を生成する(ステップS30)。なお、ステップS30でのω’’は、j=ωs|ω’’を満たす値である。すなわち、2進表記されたカウント値jの上位ビットωを除いたビットがω’’である。このように生成された探索値aj,p’は、一時メモリ51に格納される。
[Processing of Server Device 40]
The server device 40 receives the communication information a i, m transmitted from the reader device 60 at the input unit 42, and stores the communication information a i, m in the storage unit 41c at the writing unit 43 (step S27). . Next, the counter 44 sets the count value p to 0, and stores this count value p in the temporary memory 51 (step S28). Further, the counter 45 extracts the node ω S from the column 204 of the authority information 200 of the storage unit 41a, sets the node ω S as the upper digit bit, and sets the lower digit bit as 0 bit (or 0 bit string). Bit initial count value j = ω S | 0... 0 (binary notation) is generated, and this initial count value j is stored in temporary memory 51 (step S29). Next, the search value generation unit 46 reads the count values p and j from the temporary memory 51 and sets the identifier id p and the secret values s 0 and p one from the columns 201 to 204 of the authority information 200 stored in the storage unit 41a. Loading directional function value t .omega.S, p and node omega S and, respectively, read the hash function F 0, F 1 from the storage unit 41b. Then, the search value generation unit 46 generates a search value a j, p ′ = H (G j (s 0, p ), F ω ″ (t ωS, p )) (step S30). Note that ω ″ in step S30 is a value that satisfies j = ω s | ω ″. That is, the bit excluding the upper bit ω S of the count value j expressed in binary is ω ″. The search values a j, p ′ generated in this way are stored in the temporary memory 51.

次に、比較部47は、記憶部41から通信情報ai,mを読み込み、一時メモリ51から探索値aj,p’を読み込み、通信情報ai,mと探索値aj,p’とが等しいか否かを判断する(ステップS31)。ここで、ai,m=aj,p’であった場合、抽出部48は、一時メモリ51からカウント値pを読み込み、記憶部41aの権限情報200のカラム201から識別子id(=idである)を抽出し、これを出力部49から出力し(ステップS36)、処理を終了する。 Next, the comparison unit 47 reads the communication information a i, m from the storage unit 41, reads the search values a j, p ′ from the temporary memory 51, and sets the communication information a i, m and the search values a j, p ′. Are equal to each other (step S31). Here, if a i, m = a j, p ′, the extraction unit 48 reads the count value p from the temporary memory 51, and the identifier id p (= id) from the column 201 of the authority information 200 of the storage unit 41 a. m ) is extracted and output from the output unit 49 (step S36), and the process is terminated.

一方、ai,m=aj,p’でなかった場合、制御部50は、一時メモリ51に格納されているカウント値jがj=2d-1であるか否かを判断し(ステップS32)、j=2d-1でなければ、カウンタ45がカウント値jに1を加算した値を新たなカウント値jとし、このカウント値jを一時メモリ51に格納し、処理をステップS30に戻す(ステップS33)。一方、カウント値jがj=2d-1であれば、制御部50は、一時メモリ51に格納されているカウント値pがp=k-1であるか否かを判断する(ステップS34)。ここで、p=k-1でなければ、カウンタ44がカウント値pに1を加算した値を新たなカウント値pとし、このカウント値pを一時メモリ51に格納し、処理をステップS29に戻す(ステップS35)。一方、p=k-1であれば、出力部49が探索失敗を示すエラー出力を行い(ステップS37)、処理を終了する。 On the other hand, if a i, m = a j, p ′ is not satisfied, the control unit 50 determines whether or not the count value j stored in the temporary memory 51 is j = 2 d −1 (step S1). S32) If j = 2 d −1, the value obtained by adding 1 to the count value j by the counter 45 is set as a new count value j, the count value j is stored in the temporary memory 51, and the process goes to step S30. Return (step S33). On the other hand, if the count value j is j = 2 d −1, the control unit 50 determines whether or not the count value p stored in the temporary memory 51 is p = k−1 (step S34). . If p = k−1 is not satisfied, the counter 44 adds 1 to the count value p as a new count value p, stores the count value p in the temporary memory 51, and returns the process to step S29. (Step S35). On the other hand, if p = k−1, the output unit 49 outputs an error indicating a search failure (step S37), and the process ends.

<本形態の特徴>
以下に本形態の特徴を示す。
[通信情報の生成権限の制限]
上述したように、本形態のタグ装置20には、管理サーバ装置10から生成権限情報kT,m=(s0,m,tωT,mT)が付与され、タグ装置20は、これを用いて通信情報ai,m=H(si,m, Fω’(tωT,m))を生成する。
ここで、生成権限情報kT,mが具備するtωT,mは、tωT,m=FωT(ttree,m)を満たす一方向性関数値であり、通常、tωT,mから秘密値ttree,mを求めることは困難である。よって、生成権限情報kT,mが与えられたタグ装置20が生成できるFω’(tωT,m)=Fω’(FωT(ttree,m))は、秘密値ttree,mにハッシュ関数Fω’,FωTの合成写像を施した値のみとなる。図10は、このことを説明するための一方向性関数木データ120を示した図である。例えば、ハッシュ関数FωTがノード122jに対応するとする。この場合、ハッシュ関数Fω’,FωTの合成写像は、ノード122k〜122pに対応するハッシュ関数のみであり、タグ装置20は、秘密値ttree,mにノード122k〜122pに対応するハッシュ関数を施した値しか求めることができない。すなわち、この範囲に通信情報ai,mの生成権限を制限することができる。
<Features of this embodiment>
The features of this embodiment are shown below.
[Limitation of authority to generate communication information]
As described above, the generation authority information k T, m = (s 0, m , t ωT, m , ω T ) is given from the management server device 10 to the tag device 20 of the present embodiment. Using this information, communication information a i, m = H (s i, m , F ω ′ (t ωT, m )) is generated.
Here, t ωT, m included in the generation authority information k T, m is a unidirectional function value satisfying t ωT, m = F ωT (t tree, m ), and is usually secret from t ωT, m. It is difficult to obtain the value t tree, m . Therefore, F ω ′ (t ωT, m ) = F ω ′ (F ωT (t tree, m )) that can be generated by the tag device 20 to which the generation authority information k T, m is given is the secret value t tree, m. Is a value obtained by applying a composite mapping of the hash functions F ω ′ , F ωT to. FIG. 10 is a diagram showing one-way function tree data 120 for explaining this. For example, assume that the hash function FωT corresponds to the node 122j. In this case, the combined mapping of the hash functions F ω ′ and F ωT is only the hash function corresponding to the nodes 122 k to 122 p, and the tag device 20 has the hash function corresponding to the secret values t tree, m and the nodes 122 k to 122 p. Only the values given with can be obtained. That is, the authority to generate communication information a i, m can be restricted within this range.

そして、タグ装置20の所有者が、このタグ装置20に付与された生成権限情報kT,m=(s0,m,tωT,mT)を知ることができたとしても、その所有者が知り得る通信情報ai,mの範囲、すなわち追跡範囲は、この生成権限の範囲に制限される。そのため、タグ装置20の所有者が変更になった後に、旧所有者が追跡できる範囲もこの範囲に制限され、新所有者のプライバシを保護することが可能となる。
[通信情報の追跡権限の制限]
上述したように、本形態のサーバ装置40には、管理サーバ装置10から探索権限情報kS,m=(idm,s0,m,tωS,mS)が付与され、これを用いて探索値aj,p’=H(Gj(s0,p),Fω’’(tωS,p))を生成し、この探索値aj,p’と通信情報ai,mとを比較し、通信情報ai,mに対応する識別子idを探索する。
Even if the owner of the tag device 20 can know the generation authority information k T, m = (s 0, m , t ωT, m , ω T ) given to the tag device 20, The range of communication information a i, m that the owner can know, that is, the tracking range is limited to the range of the generation authority. Therefore, after the owner of the tag device 20 is changed, the range that the old owner can track is also limited to this range, and the privacy of the new owner can be protected.
[Limitation of communication information tracking authority]
As described above, search authority information k S, m = (id m , s 0, m , t ωS, m , ω S ) is given to the server device 40 of this embodiment from the management server device 10. To generate a search value a j, p '= H (G j (s 0, p ), F ω'' (t ωS, p )), and the search value a j, p ′ and communication information a i, comparing the m, communication information a i, to search for the identifier id m corresponding to m.

ここで、探索値aj,p’が具備するtωS,pは、tωS,p=FωS(ttree,p)を満たす一方向性関数値であり、通常、tωS,mから秘密値ttree,pを求めることは困難である。よって、探索権限情報kS,mが与えられたサーバ装置40が生成できるFω’’(tωS,p)=Fω’’(FωS(ttree,p))は、秘密値ttree,pにハッシュ関数Fω’',FωSの合成写像を施した値のみとなる。すなわち、この範囲で探索値aj,p’の生成権限、すなわち通信情報ai,mの探索権限を制限することができる。これを、図10を用いて説明する。例えば、ハッシュ関数FωSがノード122jに対応するとする。この場合、ハッシュ関数Fω’’,FωSの合成写像は、ノード122k〜122pに対応するハッシュ関数のみであり、サーバ装置40は、秘密値ttree,pにノード122k〜122pに対応するハッシュ関数を施した値しか求めることができない。そして、前述のように、通信情報ai,mの生成に用いられるFω’(tωT,m)は、秘密値ttree,mに木構造データ110のリーフノードに対応するハッシュ関数を作用させた値なのである。よって、実質的には、サーバ装置40には、ノード122l,122m,122o,122pのハッシュ関数を用いて生成された通信情報ai,mの探索権限のみが付与されることになる。 Here, t ωS, p included in the search value a j, p ′ is a unidirectional function value satisfying t ωS, p = F ωS (t tree, p ), and is usually secret from t ωS, m. It is difficult to obtain the value t tree, p . Therefore, F ω ″ (t ωS, p ) = F ω ″ (F ωS (t tree, p )) that can be generated by the server device 40 given the search authority information k S, m is the secret value t tree. , p are only values obtained by performing a composite mapping of the hash functions F ω ″ and F ωS . In other words, the generation authority of the search value a j, p ′, that is , the search authority of the communication information a i, m can be restricted within this range. This will be described with reference to FIG. For example, assume that the hash function FωS corresponds to the node 122j. In this case, the combined mapping of the hash functions F ω ″ and F ωS is only the hash function corresponding to the nodes 122k to 122p, and the server device 40 has the hash corresponding to the nodes 122k to 122p to the secret values t tree, p. Only the value with the function can be obtained. As described above, F ω ′ (t ωT, m ) used for generating the communication information a i, m applies a hash function corresponding to the leaf node of the tree structure data 110 to the secret value t tree, m. It is the value that was made to. Accordingly, the server device 40 is practically given only the search authority for the communication information a i, m generated using the hash function of the nodes 122l, 122m, 122o, 122p.

そして、サーバ装置40の管理者が、このサーバ装置40に付与された探索権限情報kS,m=(idm,s0,m,tωS,mS)を知ることができたとしても、その管理者が知り得る探索値aj,p’の範囲、すなわち追跡範囲は、この探索権限の範囲に制限される。そのため、サーバ装置40の管理者が変更になった後に、旧管理者が追跡できる範囲もこの範囲に制限され、管理者変更後におけるタグ装置20所有者のプライバシを保護することが可能となる。 Then, it is assumed that the administrator of the server device 40 can know the search authority information k S, m = (id m , s 0, m , t ωS, m , ω S ) given to the server device 40. However , the range of search values a j, p ′ that the administrator can know, ie, the tracking range, is limited to the range of search authority. Therefore, after the administrator of the server device 40 is changed, the range that can be traced by the old administrator is also limited to this range, and it becomes possible to protect the privacy of the owner of the tag device 20 after the administrator is changed.

[効率性]
タグ装置20の演算処理を、主にハッシュ関数演算のみによって実現できるため、タグ装置20に組み込む回路規模を小さくできる。これは、低価格が要求されるタグ装置20に適している。また、上述のような木構造のノードに対応付けたハッシュ関数を用いて通信情報ai,mを生成することとしたため、サーバ装置40の探索時、サーバ装置40が1つの探索値aj,p’=H(Gj(s0,p), Fω’’(tωS,p))のFω’’(tωS,p)を求めるために必要なハッシュ関数F,Fの回数はlog2(n)回のみであり、サーバ装置40の探索効率もよい。なお、ここでのnは、タグ装置20の最大応答回数である。
[Efficiency]
Since the arithmetic processing of the tag device 20 can be realized mainly only by the hash function operation, the circuit scale incorporated in the tag device 20 can be reduced. This is suitable for the tag device 20 that requires a low price. Further, since the communication information a i, m is generated using the hash function associated with the tree-structured node as described above, the server device 40 searches for one search value a j, p ′ = H (G j (s 0, p ), F ω ″ (t ωS, p )) F ω ″ (t ωS, p ) required for obtaining hash functions F 0 , F 1 The number of times is only log 2 (n) times, and the search efficiency of the server device 40 is also good. Here, n is the maximum number of responses of the tag device 20.

[第三者による追跡不可能性]
また、ハッシュ関数Hの識別不能性から、通信情報ai,mはランダムにみえる。よって、秘密情報であるid,si,m,tωT,mを知らずに、2つの通信情報ai,mが同じタグ装置20から出力されたかどうかを判定することはできない。
[フォワードセキュリティ]
さらに、ハッシュ関数Gの一方向性から、タグ装置20がタンパーされるなどして秘密情報であるsi,m等が漏洩しても、過去のsi−q,mが知られることはない。その結果、このような事態が生じても、過去の通信履歴を用い、タグ装置20の過去の振る舞いが追跡されることもない。
[Inability to trace by a third party]
Further, due to the indistinguishability of the hash function H, the communication information a i, m appears to be random. Therefore, it is impossible to determine whether the two pieces of communication information a i, m are output from the same tag device 20 without knowing the secret information id m , s i, m , t ωT, m .
[Forward security]
Furthermore, from the unidirectionality of the hash function G, even if the tag device 20 is tampered or the like and the secret information s i, m etc. is leaked, the past s i-q, m is not known. . As a result, even if such a situation occurs, the past behavior of the tag device 20 is not tracked using the past communication history.

〔第2の実施の形態〕
次に、本発明における第2の実施の形態を説明する。
本形態は、第1の実施の形態の変形例であり、第1の実施の形態と同様に制限された探索権限をサーバ装置に与え、制限のない通信情報の生成権限をタグ装置に与える形態である。以下、この詳細を説明する。なお、以下では、第1の実施の形態との相違点を中心に説明し、第1の実施の形態と共通する事項については説明を省略する。
<全体構成>
管理サーバ装置10が管理サーバ装置310に置換され、タグ装置20がタグ装置320に置換される以外は、第1の実施の形態と同様である。
[Second Embodiment]
Next, a second embodiment of the present invention will be described.
The present embodiment is a modification of the first embodiment, and in the same manner as in the first embodiment, a limited search authority is given to the server device, and an unlimited communication information generation right is given to the tag device. It is. The details will be described below. In the following description, differences from the first embodiment will be mainly described, and description of matters common to the first embodiment will be omitted.
<Overall configuration>
The management server device 10 is the same as the first embodiment except that the management server device 310 is replaced with the management server device 310 and the tag device 20 is replaced with the tag device 320.

<管理サーバ装置の構成>
図11は、第2の実施の形態における管理サーバ装置310の機能構成を示したブロック図である。なお、図11において第1の実施の形態と共通する部分については図2と同じ符号を付した。
図11に例示するように、管理サーバ装置310は、メモリ11、乱数生成部12、ノード選択部313、一方向性関数抽出部314、一方向性関数演算部315、権限情報生成部316、権限情報出力部17、制御部18及び一時メモリ19を有している。
なお、第1の実施の形態と同様、管理サーバ装置310も、例えば、CPU、RAM、ROM、ハードディスク等の外部記憶装置、LANカード等の通信装置をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。この場合、ノード選択部313、一方向性関数抽出部314、一方向性関数演算部315及び権限情報生成部316は、所定のプログラムが読み込まれたCPUに相当する。
<Configuration of management server device>
FIG. 11 is a block diagram illustrating a functional configuration of the management server device 310 according to the second embodiment. In FIG. 11, the same reference numerals as those in FIG. 2 are assigned to portions common to the first embodiment.
As illustrated in FIG. 11, the management server device 310 includes a memory 11, a random number generation unit 12, a node selection unit 313, a one-way function extraction unit 314, a one-way function calculation unit 315, an authority information generation unit 316, an authority. An information output unit 17, a control unit 18, and a temporary memory 19 are included.
As in the first embodiment, the management server device 310 is also connected to a known Neumann computer in which, for example, an external storage device such as a CPU, RAM, ROM, and hard disk, and a communication device such as a LAN card are connected by a bus. This is configured by executing the program. In this case, the node selection unit 313, the one-way function extraction unit 314, the one-way function calculation unit 315, and the authority information generation unit 316 correspond to a CPU loaded with a predetermined program.

また、管理サーバ装置310は、制御部18の制御のもと各演算処理を実行する。また、明示しない限り、各データは、適宜、逐一一時メモリ19に格納され、各処理に利用される。また、図11における矢印はデータの流れを示すが、制御部18及び一時メモリ19に入出力するデータの流れの記載は省略してある。
<タグ装置320の構成>
図12は、第2の実施の形態におけるタグ装置320の機能構成を示したブロック図である。なお、図12において第1の実施の形態と共通する部分については図3と同じ符号を付した。
In addition, the management server device 310 executes each calculation process under the control of the control unit 18. Unless otherwise specified, each data is stored in the temporary memory 19 one by one as appropriate and used for each process. Further, the arrows in FIG. 11 indicate the flow of data, but the description of the flow of data input to and output from the control unit 18 and the temporary memory 19 is omitted.
<Configuration of Tag Device 320>
FIG. 12 is a block diagram illustrating a functional configuration of the tag device 320 according to the second embodiment. In FIG. 12, the same reference numerals as those in FIG. 3 are assigned to portions common to the first embodiment.

図12に例示するように、タグ装置320は、メモリ21、通信情報生成部322、通信情報出力部23、更新部24、カウンタ25、入力部26、書き込み部327、一時メモリ29及び制御部30を有している。
なお、通信情報生成部322、例えば、各処理を実行する集積回路又は所定のプログラムが読み込まれたCPUである。また、書き込み部327は、制御部30の制御のもとメモリ21に対してデータを読み書きするハードウェアである。
また、タグ装置320は、制御部30の制御のもと各処理を実行する。また、明示しない限り、各データは、適宜、逐一一時メモリ29に格納され、各処理に利用される。また、図3における矢印はデータの流れを示すが、制御部30及び一時メモリ29に入出力するデータの流れの記載は省略してある。
As illustrated in FIG. 12, the tag device 320 includes a memory 21, a communication information generation unit 322, a communication information output unit 23, an update unit 24, a counter 25, an input unit 26, a writing unit 327, a temporary memory 29, and a control unit 30. have.
Note that the communication information generation unit 322 is, for example, an integrated circuit that executes each process or a CPU loaded with a predetermined program. The writing unit 327 is hardware that reads and writes data from and to the memory 21 under the control of the control unit 30.
In addition, the tag device 320 executes each process under the control of the control unit 30. Unless otherwise specified, each data is stored in the temporary memory 29 one by one as appropriate and used for each process. Also, the arrows in FIG. 3 indicate the flow of data, but the description of the flow of data input to and output from the control unit 30 and the temporary memory 29 is omitted.

<前処置>
次に、本形態のタグ通信システムを作動させるための前処理について説明する。
[管理サーバ装置310に対する前処理]
第1の実施の形態における管理サーバ装置10に対する前処理と同じである。
[タグ装置320に対する前処理]
タグ装置20に対する前処理として、各タグ装置20のメモリ21の記憶部21cに上述のハッシュ関数F,Fを格納しておく。また、通信情報生成部22及び更新部24が、それぞれ一方向性関数であるハッシュ関数H,Gを利用可能なようにしておく。
<Pretreatment>
Next, preprocessing for operating the tag communication system of this embodiment will be described.
[Preprocessing for Management Server Device 310]
This is the same as the pre-processing for the management server device 10 in the first embodiment.
[Preprocessing for Tag Device 320]
As preprocessing for the tag device 20, the hash functions F 0 and F 1 described above are stored in the storage unit 21 c of the memory 21 of each tag device 20. Further, the communication information generation unit 22 and the update unit 24 make it possible to use hash functions H and G, which are one-way functions, respectively.

[サーバ装置40に対する前処理]
第1の実施の形態と同じである。
<権限付与処理>
次に、管理サーバ装置310が行う権限付与処理について説明する。本形態では、通信情報の生成権限を付与するための制限のない権限情報を各タグ装置320に与え、通信情報の探索権限を付与するための権限情報をサーバ装置40に与える。
[通信情報の生成権限付与処理]
権限情報生成部316が、各m∈[0,k-1]について、メモリ11の記憶部11aの秘密値テーブル100から秘密値schain,m,ttree,mを抽出し、秘密値s0,m=schain,mとして、生成権限情報kT,m=(s0,m,ttree,m)を生成し、この生成権限情報kT,mを記憶部11gに格納する。
[Pre-processing for server device 40]
This is the same as in the first embodiment.
<Authorization process>
Next, the authority grant process performed by the management server apparatus 310 will be described. In this embodiment, unrestricted authority information for giving communication information generation authority is given to each tag device 320, and authority information for giving communication information search authority is given to the server device 40.
[Communication information generation authority assignment processing]
The authority information generation unit 316 extracts the secret value s chain, m , t tree, m from the secret value table 100 of the storage unit 11a of the memory 11 for each mε [0, k−1], and the secret value s 0. , m = s chain, m , generation authority information k T, m = (s 0, m , t tree, m ) is generated, and the generation authority information k T, m is stored in the storage unit 11g.

その後、権限情報出力部17は、記憶部11gに格納されている各生成権限情報kT,m
(m∈[0,k-1])を、ネットワーク80を通じてライタ装置70に送信する。ライタ装置70は、各生成権限情報kT,mを各識別子idmに対応するタグ装置320に対して出力する。各タグ装置320は、入力部26において、自らの識別子idmに対応する生成権限情報kT,mを受信する。各タグ装置320の書き込み部327は、受信された生成権限情報kT,m=s0,m,ttree,m)の秘密値s0,mをメモリ21の記憶部21aに格納し、秘密値ttree,mを記憶部21bに格納する。また、カウンタ25は、カウント値iを0とし、このカウント値iを記憶部21dに格納する。
After that, the authority information output unit 17 generates each generation authority information k T, m stored in the storage unit 11g.
(mε [0, k−1]) is transmitted to the writer device 70 through the network 80. The writer device 70 outputs each generation authority information k T, m to the tag device 320 corresponding to each identifier id m . Each tag device 320 receives the generation authority information k T, m corresponding to its own identifier id m at the input unit 26. The writing unit 327 of each tag device 320 stores the secret value s 0, m of the received generation authority information k T, m = s 0, m , t tree, m ) in the storage unit 21a of the memory 21, and the secret The value t tree, m is stored in the storage unit 21b. The counter 25 sets the count value i to 0, and stores the count value i in the storage unit 21d.

[通信情報の探索権限付与処理]
通信情報の探索権限付与処理は、ノード選択部13、一方向性関数抽出部14、一方向性関数演算部15及び権限情報生成部16の処理を、ノード選択部313、一方向性関数抽出部314、一方向性関数演算部315及び権限情報生成部316がそれぞれ実行する以外は、第1の実施の形態と同じである(図8)。
[Communication information search authority grant processing]
The communication information search authority granting process is the same as the node selecting part 313, the one-way function extracting part 14, the one-way function calculating part 15, and the right information generating part 16; 314, the one-way function calculation unit 315, and the authority information generation unit 316 are the same as those in the first embodiment except for execution (FIG. 8).

<通信処理>
以上のような処理の後行われる通信処理について説明する。
図13は、第2の実施の形態の通信処理を説明するためのフローチャートである。なお、図13における実線の矢印は、各装置内での処理の時間的な流れを示し、破線の矢印は装置間の処理の時間的な流れを示す。以下、この図を用いて、本形態の通信処理を説明する。なお、以下では、i回目にタグ装置320が通信情報を出力した際の処理を説明する。
<Communication processing>
A communication process performed after the above process will be described.
FIG. 13 is a flowchart for explaining communication processing according to the second embodiment. Note that solid arrows in FIG. 13 indicate the temporal flow of processing within each device, and broken arrows indicate the temporal flow of processing between devices. Hereinafter, the communication processing of this embodiment will be described with reference to this figure. In the following, processing when the tag device 320 outputs communication information for the i-th time will be described.

[タグ装置320の処理]
第1の実施の形態と同様なトリガがあった場合、タグ装置320の通信情報生成部322は、メモリ21の記憶部21aから秘密値si,mを読み込み、記憶部21bから秘密値ttree,mを読み込み、記憶部21cからハッシュ関数F,Fを読み込み、記憶部21dからカウント値iを読み込む。そして、通信情報生成部322は、通信情報ai,m=H(si,m, F(ttree,m))を生成する(ステップS41)。
このように生成された通信情報ai,mは、通信情報出力部23から出力される(ステップS42)。
[Processing of tag device 320]
When there is a trigger similar to that of the first embodiment, the communication information generation unit 322 of the tag device 320 reads the secret value s i, m from the storage unit 21a of the memory 21, and the secret value t tree from the storage unit 21b. , m , the hash functions F 0 and F 1 are read from the storage unit 21c, and the count value i is read from the storage unit 21d. Then, the communication information generation unit 322 generates communication information a i, m = H (s i, m , F i (t tree, m )) (step S41).
The communication information a i, m generated in this way is output from the communication information output unit 23 (step S42).

次に、タグ装置20の更新部24は、メモリ21の記憶部21aから秘密値si,mを読み込み、秘密値si,mにハッシュ関数Gを施した値G(si,m)を新たな秘密値si+1,mとし、これによって記憶部21aを上書きし、秘密値を更新する(ステップS43)。そして、カウンタ25が、記憶部21dからカウント値iを読み込み、i+1を新たなカウント値iとし、この新たなカウント値iを記憶部21dに格納する(ステップS44)。これにより、記憶部21dに格納されたカウント値iが更新される。 Next, the update unit 24 of the tag device 20, a secret value s i from the storage unit 21a of the memory 21, reads the m secret value s i, the value G (s i, m) subjected to a hash function G to m the A new secret value s i + 1, m is set, thereby overwriting the storage unit 21a and updating the secret value (step S43). Then, the counter 25 reads the count value i from the storage unit 21d, sets i + 1 as the new count value i, and stores this new count value i in the storage unit 21d (step S44). Thereby, the count value i stored in the storage unit 21d is updated.

その後、タグ装置20は、所定のトリガがあるたびに、上述のステップS41からS44の処理を実行する。
その後のリーダ装置・サーバ装置の処理(ステップS45〜S57)は、第1の実施の形態のステップS25〜S37と同じである。
<本形態の特徴>
第1の実施の形態と同様にサーバ装置40の管理者の追跡権限を制限でき、プライバシの保護を実現できる([通信情報の追跡権限の制限])。その他、第1の実施の形態と同様の[効率性][第三者による追跡不可能性][フォワードセキュリティ]を実現できる。
Thereafter, the tag device 20 executes the processes of steps S41 to S44 described above every time there is a predetermined trigger.
The subsequent processing (steps S45 to S57) of the reader device / server device is the same as steps S25 to S37 of the first embodiment.
<Features of this embodiment>
As in the first embodiment, the tracking authority of the administrator of the server device 40 can be limited, and privacy protection can be realized ([Limitation of communication information tracking authority]). In addition, [efficiency] [untrackability by a third party] [forward security] similar to the first embodiment can be realized.

〔第3の実施の形態〕
次に、本発明における第3の実施の形態を説明する。
本形態は、第1の実施の形態の変形例であり、第1の実施の形態と同様に制限された通信情報の生成権限をタグ装置に与え、制限のない探索権限をサーバ装置に与える形態である。以下、この詳細を説明する。なお、以下では、第1の実施の形態との相違点を中心に説明し、第1の実施の形態と共通する事項については説明を省略する。
<全体構成>
管理サーバ装置10が管理サーバ装置410に置換され、サーバ装置40がサーバ装置440に置換される以外は、第1の実施の形態と同様である。
[Third Embodiment]
Next, a third embodiment of the present invention will be described.
This embodiment is a modification of the first embodiment, and in the same manner as in the first embodiment, a limited authority for generating communication information is given to the tag device, and an unlimited search right is given to the server device. It is. The details will be described below. In the following description, differences from the first embodiment will be mainly described, and description of matters common to the first embodiment will be omitted.
<Overall configuration>
The management server device 10 is the same as the first embodiment except that the management server device 410 is replaced with the management server device 410 and the server device 40 is replaced with the server device 440.

<管理サーバ装置410の構成>
図14は、第3の実施の形態における管理サーバ装置410の機能構成を示したブロック図である。なお、図14において第1の実施の形態と共通する部分については図2と同じ符号を付した。
図14に例示するように、管理サーバ装置410は、メモリ11、乱数生成部12、ノード選択部413、一方向性関数抽出部414、一方向性関数演算部415、権限情報生成部416、権限情報出力部17、制御部18及び一時メモリ19を有している。
<Configuration of Management Server Device 410>
FIG. 14 is a block diagram illustrating a functional configuration of the management server device 410 according to the third embodiment. In FIG. 14, the same reference numerals as those in FIG. 2 are assigned to portions common to the first embodiment.
As illustrated in FIG. 14, the management server device 410 includes a memory 11, a random number generation unit 12, a node selection unit 413, a one-way function extraction unit 414, a one-way function calculation unit 415, an authority information generation unit 416, an authority. An information output unit 17, a control unit 18, and a temporary memory 19 are included.

なお、第1の実施の形態と同様、管理サーバ装置410も、例えば、CPU、RAM、ROM、ハードディスク等の外部記憶装置、LANカード等の通信装置をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。この場合、ノード選択部413、一方向性関数抽出部414、一方向性関数演算部415及び権限情報生成部416は、所定のプログラムが読み込まれたCPUに相当する。
また、管理サーバ装置410は、制御部18の制御のもと各演算処理を実行する。また、明示しない限り、各データは、適宜、逐一一時メモリ19に格納され、各処理に利用される。また、図11における矢印はデータの流れを示すが、制御部18及び一時メモリ19に入出力するデータの流れの記載は省略してある。
Similar to the first embodiment, the management server device 410 is also connected to a known Neumann computer in which a communication device such as an external storage device such as a CPU, RAM, ROM, and hard disk or a LAN card is connected by a bus. This is configured by executing the program. In this case, the node selection unit 413, the one-way function extraction unit 414, the one-way function calculation unit 415, and the authority information generation unit 416 correspond to a CPU into which a predetermined program has been read.
In addition, the management server device 410 executes each calculation process under the control of the control unit 18. Unless otherwise specified, each data is stored in the temporary memory 19 one by one as appropriate and used for each process. Further, the arrows in FIG. 11 indicate the flow of data, but the description of the flow of data input to and output from the control unit 18 and the temporary memory 19 is omitted.

<サーバ装置440の構成>
図15は、第3の実施の形態におけるサーバ装置440の機能構成を示したブロック図である。なお、図15において第1の実施の形態と共通する部分については図4と同じ符号を付した。
図15に例示するように、サーバ装置440は、メモリ41、入力部42、書き込み部443、カウンタ44,445、探索値生成部446、比較部47、抽出部48、出力部49、制御部50及び一時メモリ51を有している。
<Configuration of Server Device 440>
FIG. 15 is a block diagram illustrating a functional configuration of the server device 440 according to the third embodiment. In FIG. 15, the same reference numerals as those in FIG. 4 are given to portions common to the first embodiment.
As illustrated in FIG. 15, the server device 440 includes a memory 41, an input unit 42, a writing unit 443, counters 44 and 445, a search value generation unit 446, a comparison unit 47, an extraction unit 48, an output unit 49, and a control unit 50. And a temporary memory 51.

なお、サーバ装置440は、例えば、CPU、RAM、ROM、ハードディスク等の外部記憶装置、LANカード等の通信装置をバスで接続した公知のノイマン型コンピュータに所定のプログラムを実行させることにより構成される。この場合、書き込み部443は、所定のプログラムが読み込まれたCPUの制御のもとメモリ41に対するデータの読書きを行うハードウェアに相当し、カウンタ445及び探索値生成部446は、所定のプログラムが読み込まれたCPUに相当する。
また、サーバ装置440は、制御部50の制御のもと各処理を実行する。また、明示しない限り、各データは、適宜、逐一一時メモリ51に格納され、各処理に利用される。また、図15における矢印はデータの流れを示すが、制御部50及び一時メモリ51に入出力するデータの流れの記載は省略してある。
The server device 440 is configured, for example, by causing a known Neumann computer connected to an external storage device such as a CPU, RAM, ROM, and hard disk, or a communication device such as a LAN card by a bus to execute a predetermined program. . In this case, the writing unit 443 corresponds to hardware that reads / writes data to / from the memory 41 under the control of the CPU that has read the predetermined program. The counter 445 and the search value generation unit 446 It corresponds to the read CPU.
In addition, the server device 440 executes each process under the control of the control unit 50. Further, unless explicitly indicated, each data is stored in the temporary memory 51 one by one as appropriate and used for each process. In addition, arrows in FIG. 15 indicate the flow of data, but the description of the flow of data input to and output from the control unit 50 and the temporary memory 51 is omitted.

<前処置>
次に、本形態のタグ通信システムを作動させるための前処理について説明する。
[管理サーバ装置410に対する前処理]
第1の実施の形態における管理サーバ装置10に対する前処理と同じである。
[タグ装置20に対する前処理]
第1の実施の形態と同じである。
[サーバ装置440に対する前処理]
サーバ装置440に対する前処理として、サーバ装置440のメモリ41の記憶部41bに上述のハッシュ関数F,Fを格納しておく。また、探索値生成部446が一方向性関数であるハッシュ関数H,Gを利用可能なようにしておく。また、カウンタ445が、上述の木構造データ110の深さを示す値dを利用可能としておく。
<Pretreatment>
Next, preprocessing for operating the tag communication system of this embodiment will be described.
[Preprocessing for Management Server Device 410]
This is the same as the pre-processing for the management server device 10 in the first embodiment.
[Preprocessing for Tag Device 20]
This is the same as in the first embodiment.
[Preprocessing for server device 440]
As preprocessing for the server device 440, the hash functions F 0 and F 1 described above are stored in the storage unit 41b of the memory 41 of the server device 440. In addition, the search value generation unit 446 makes it possible to use hash functions H and G that are one-way functions. The counter 445 makes available a value d indicating the depth of the tree structure data 110 described above.

<権限付与処理>
次に、管理サーバ装置410が行う権限付与処理について説明する。本形態では、第1の実施の形態と同様に制限された通信情報の生成権限をタグ装置20に与え、制限のない探索権限をサーバ装置440に与える。
[通信情報の生成権限付与処理]
通信情報の探索権限付与処理は、ノード選択部13、一方向性関数抽出部14、一方向性関数演算部15及び権限情報生成部16の処理を、ノード選択部413、一方向性関数抽出部414、一方向性関数演算部415及び権限情報生成部416がそれぞれ実行する以外は、第1の実施の形態と同じである(図7)。
<Authorization process>
Next, the authority grant process performed by the management server device 410 will be described. In the present embodiment, as in the first embodiment, the communication information generation authority restricted is given to the tag device 20, and the search authority without restriction is given to the server device 440.
[Communication information generation authority assignment processing]
The communication information search authority granting process is the same as the node selecting part 413, the one-way function extracting part 14, the one-way function calculating part 15, and the right information generating part 16; 414, the one-way function calculation unit 415, and the authority information generation unit 416 are the same as those in the first embodiment except for execution (FIG. 7).

[通信情報の探索権限付与処理]
権限情報生成部416が、各m∈[0,k-1]について、メモリ11の記憶部11aの秘密値テーブル100から識別子idと秘密値schain,m,ttree,mを抽出し、秘密値s0,m=schain,mとして、探索権限情報kS,m=(idm,s0,m,ttree,m)を生成し、この探索権限情報kS,mを記憶部11gに格納する。
その後、権限情報出力部17は、記憶部11gに格納されている各探索権限情報kS,m(m∈[0,k-1])を、ネットワーク80を通じてサーバ装置440に送信する。サーバ装置440は、入力部42において、これらの各探索権限情報kS,mを受信する。サーバ装置40の書き込み部443は、受信された各探索権限情報kS,m=(idm,s0,m,ttree,m)の識別子idをカラム501のデータとし、秘密値s0,mをカラム502のデータとし、秘密値ttree,mをカラム503のデータとしたテーブルである権限情報500をメモリ41の記憶部41aに格納する。
[Communication information search authority grant processing]
The authority information generation unit 416 extracts the identifier id m and the secret value s chain, m , t tree, m from the secret value table 100 of the storage unit 11a of the memory 11 for each m∈ [0, k-1], Search authority information k S, m = (id m , s 0, m , t tree, m ) is generated as a secret value s 0, m = s chain, m , and the search authority information k S, m is stored in the storage unit 11g.
Thereafter, the authority information output unit 17 transmits the search authority information k S, m (mε [0, k−1]) stored in the storage unit 11 g to the server device 440 through the network 80. The server device 440 receives the search authority information k S, m at the input unit 42. The writing unit 443 of the server device 40 uses the identifier id m of each received search authority information k S, m = (id m , s 0, m , t tree, m ) as data in the column 501 and uses the secret value s 0. , M is data in the column 502, and authority information 500, which is a table in which the secret value t tree, m is data in the column 503, is stored in the storage unit 41a of the memory 41.

<通信処理>
以上のような処理の後行われる通信処理について説明する。
図16は、第3の実施の形態の通信処理を説明するためのフローチャートである。なお、図16における実線の矢印は、各装置内での処理の時間的な流れを示し、破線の矢印は装置間の処理の時間的な流れを示す。以下、この図を用いて、本形態の通信処理を説明する。
[タグ装置20・リーダ装置60の処理]
タグ装置20・リーダ装置60の処理(ステップS61〜S66)は、第1の実施の形態と同じである(ステップS21〜S26)。
<Communication processing>
A communication process performed after the above process will be described.
FIG. 16 is a flowchart for explaining communication processing according to the third embodiment. Note that solid arrows in FIG. 16 indicate the temporal flow of processing within each device, and broken arrows indicate the temporal flow of processing between devices. Hereinafter, the communication processing of this embodiment will be described with reference to this figure.
[Processing of Tag Device 20 / Reader Device 60]
The processing of the tag device 20 / reader device 60 (steps S61 to S66) is the same as that of the first embodiment (steps S21 to S26).

[サーバ装置440の処理]
サーバ装置40は、入力部42において、リーダ装置60から送信された通信情報ai,mを受信し、書き込み部43において、この通信情報ai,mを記憶部41cに格納する(ステップS67)。次に、カウンタ44は、カウント値pを0にし、このカウント値pを一時メモリ51に格納する(ステップS68)。また、カウンタ445は、カウント値jを0にし、このカウント値jを一時メモリ51に格納する(ステップS69)。次に、探索値生成部446は、一時メモリ51からカウント値p,jを読み込み、記憶部41aに格納された権限情報500のカラム501〜203から識別子idと秘密値s0,p,ttree,pとをそれぞれ読み込み、記憶部41bからハッシュ関数F,Fを読み込む。そして、探索値生成部446は、探索値aj,p’=H(Gj(s0,p), F(ttree,p))を生成する(ステップS70)。のように生成された探索値aj,p’は、一時メモリ51に格納される。
[Process of Server Device 440]
The server device 40 receives the communication information a i, m transmitted from the reader device 60 at the input unit 42, and stores the communication information a i, m in the storage unit 41c at the writing unit 43 (step S67). . Next, the counter 44 sets the count value p to 0, and stores this count value p in the temporary memory 51 (step S68). Further, the counter 445 sets the count value j to 0 and stores this count value j in the temporary memory 51 (step S69). Next, the search value generation unit 446 reads the count values p, j from the temporary memory 51, and the identifier id p and the secret value s 0, p , t from the columns 501 to 203 of the authority information 500 stored in the storage unit 41a. tree and p are read, and the hash functions F 0 and F 1 are read from the storage unit 41b. Then, the search value generation unit 446 generates a search value a j, p ′ = H (G j (s 0, p ), F j (t tree, p )) (step S70). The search values a j, p ′ generated as described above are stored in the temporary memory 51.

次に、比較部47は、記憶部41から通信情報ai,mを読み込み、一時メモリ51から探索値aj,p’を読み込み、通信情報ai,mと探索値aj,p’とが等しいか否かを判断する(ステップS71)。ここで、ai,m=aj,p’であった場合、抽出部48は、一時メモリ51からカウント値pを読み込み、記憶部41aの権限情報500のカラム501から識別子id(=idである)を抽出し、これを出力部49から出力し(ステップS76)、処理を終了する。 Next, the comparison unit 47 reads the communication information a i, m from the storage unit 41, reads the search values a j, p ′ from the temporary memory 51, and sets the communication information a i, m and the search values a j, p ′. Are equal to each other (step S71). Here, if a i, m = a j, p ′, the extraction unit 48 reads the count value p from the temporary memory 51, and the identifier id p (= id) from the column 501 of the authority information 500 of the storage unit 41 a. m ) is extracted and output from the output unit 49 (step S76), and the process is terminated.

一方、ai,m=aj,p’でなかった場合、制御部50は、一時メモリ51に格納されているカウント値jがj=2d-1であるか否かを判断し(ステップS72)、j=2d-1でなければ、カウンタ45がカウント値jに1を加算した値を新たなカウント値jとし、このカウント値jを一時メモリ51に格納し、処理をステップS70に戻す(ステップS73)。一方、カウント値jがj=2d-1であれば、制御部50は、一時メモリ51に格納されているカウント値pがp=k-1であるか否かを判断する(ステップS74)。ここで、p=k-1でなければ、カウンタ44がカウント値pに1を加算した値を新たなカウント値pとし、このカウント値pを一時メモリ51に格納し、処理をステップS69に戻す(ステップS75)。一方、p=k-1であれば、出力部49が探索失敗を示すエラー出力を行い(ステップS77)、処理を終了する。 On the other hand, if a i, m = a j, p ′ is not satisfied, the control unit 50 determines whether or not the count value j stored in the temporary memory 51 is j = 2 d −1 (step S1). S72) If j = 2 d -1 is not satisfied, the counter 45 adds 1 to the count value j as a new count value j, stores this count value j in the temporary memory 51, and proceeds to step S70. Return (step S73). On the other hand, if the count value j is j = 2 d −1, the control unit 50 determines whether or not the count value p stored in the temporary memory 51 is p = k−1 (step S74). . If p = k−1 is not satisfied, the counter 44 adds 1 to the count value p as a new count value p, stores the count value p in the temporary memory 51, and returns the process to step S69. (Step S75). On the other hand, if p = k−1, the output unit 49 outputs an error indicating a search failure (step S77), and the process ends.

<本形態の特徴>
第1の実施の形態と同様にサーバ装置20の通信情報の生成権限を制限でき、その旧所有者の追跡権限を制限できる。その結果、プライバシの保護を実現できる([通信情報の生成権限の制限])。その他、第1の実施の形態と同様の[効率性][第三者による追跡不可能性][フォワードセキュリティ]を実現できる。
<Features of this embodiment>
As in the first embodiment, the authority to generate communication information of the server device 20 can be restricted, and the tracing authority of the old owner can be restricted. As a result, privacy protection can be realized ([Limitation of communication information generation authority]). In addition, [efficiency] [untrackability by a third party] [forward security] similar to the first embodiment can be realized.

〔変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各形態では、リーダ装置を介してタグ装置とサーバ装置とが通信を行うこととしたが、リーダ装置がサーバ装置の機能を具備することとし、タグ装置とリーダ装置との間で通信処理を行う構成としてもよい。この場合、通信情報の探索権限は、サーバ装置ではなく、リーダ装置に付与されることになる。
[Modifications, etc.]
The present invention is not limited to the embodiment described above. For example, in each of the above-described embodiments, the tag device and the server device communicate with each other via the reader device. However, the reader device has a function of the server device, and the tag device and the reader device have a function. It is good also as a structure which performs a communication process. In this case, the communication information search authority is given not to the server device but to the reader device.

また、上述の各実施の形態では、一方向性関数としてハッシュ関数を用いる場合を説明した。しかし、一方向性関数として逆像を求めることが困難な他の関数を用いてもよい。このような関数としては、例えば、AESやCamellia等の共通鍵暗号関数を用いてもよい。この場合、一方向性関数の入力値に相当するのが平文となり、一方向性関数値に相当するのが暗号文となる。   Further, in each of the above-described embodiments, the case where the hash function is used as the one-way function has been described. However, another function that is difficult to obtain an inverse image as the one-way function may be used. As such a function, for example, a common key encryption function such as AES or Camellia may be used. In this case, the plaintext corresponds to the input value of the one-way function, and the ciphertext corresponds to the one-way function value.

また、上述の各実施の形態では、通信情報ai,mの生成に秘密値s0,mのハッシュチェイン値si,mを用いることとしたが、ハッシュチェイン値si,mを用いることなく通信情報ai,mを生成することとしてもよい。この場合、通信情報ai,mは、ai,m=H(Fω’(tωT,m)),ai,m=H(F(ttree,m))やai,m=Fω’(tωT,m),ai,m=F(ttree,m)等となり、探索値aj,p'は、aj,p'=H(Fω’’(tωT,m))=H(Fj(ttree,p))やaj,p'=Fω’’(tωT,p)=Fj(ttree,p)等となる。 Further, in each of the above-described embodiments, the hash chain value s i, m of the secret value s 0 , m is used to generate the communication information a i, m , but the hash chain value s i, m is used. Alternatively, the communication information a i, m may be generated. In this case, the communication information a i, m includes a i, m = H (F ω ′ (t ωT, m )), a i, m = H (F i (t tree, m )) and a i, m = F ω ′ (t ωT, m ), a i, m = F i (t tree, m ) etc., and the search values a j, p ′ are a j, p ′ = H (F ω ″ (t ωT, m )) = H (F j (t tree, p )), a j, p ′ = F ω ″ (t ωT, p ) = F j (t tree, p ), etc.

また、上述の各実施の形態では、秘密値s0,mのハッシュチェイン回数とttree,mに対するハッシュ関数F,Fの作用回数とが同じiであった。しかし、秘密値s0,mのハッシュチェイン回数とttree,mに対するハッシュ関数F,Fの作用回数とを異なる値にしてもよい。 In each of the above-described embodiments, the number i of the hash chain of the secret value s 0, m and the number of operations of the hash functions F 0 , F 1 on t tree, m are the same i. However, the number of hash chains of the secret value s 0, m may be different from the number of operations of the hash functions F 0 , F 1 on t tree, m .

また、一方向性関数を特定するための情報をノードとし、兄弟ノードに対応する一方向性関数が相互に異なり、親ノードに対応する一方向性関数と所定の一方向性関数との合成写像が子ノードに対応する一方向性関数となるのであれば、木構造データ110は、上述のものに限定されない。例えば、木構造データ110の少なくとも一部のノードの子ノードが左右入れ替わっていてもよい。また、木構造データ110を2分木データではなく、多分木データとしてもよい。例えば、木構造データ110をr分木データとした場合、木構造データ110の各ノードに対応する文字列はr進表記された数値となり、上述の実施の形態では2つのハッシュ関数F,Fを用いていたところを、r個のハッシュ関数F,…,Fr−1を用いることになる。この場合、木構造データ110に対応する一方向性関数木データ120の構成も変化する。 Also, the information for specifying the one-way function is a node, the one-way functions corresponding to the sibling nodes are different from each other, and the composite map of the one-way function corresponding to the parent node and the predetermined one-way function Is a one-way function corresponding to a child node, the tree structure data 110 is not limited to the above. For example, the child nodes of at least some of the nodes in the tree structure data 110 may be interchanged. Further, the tree structure data 110 may be multi-tree data instead of binary tree data. For example, when the tree structure data 110 is r-tree data, the character string corresponding to each node of the tree structure data 110 is a numerical value expressed in r-ary, and in the above-described embodiment, the two hash functions F 0 , F Where 1 is used, r hash functions F 0 ,..., F r−1 are used. In this case, the configuration of the unidirectional function tree data 120 corresponding to the tree structure data 110 also changes.

また、本形態では、前処理において、管理サーバ装置のメモリに木構造データ110を格納することとした。しかし、前処理で木構造データ110を生成するのではなく、木構造データ110の生成ルールのみをメモリに格納しておき、権限付与の際、この生成ルールに従って木構造データ110のノードを生成する構成としてもよい。その場合、必ずしも木構造データ110の全てのノードを生成する必要はない。   In this embodiment, the tree structure data 110 is stored in the memory of the management server device in the preprocessing. However, instead of generating the tree structure data 110 in the preprocessing, only the generation rules of the tree structure data 110 are stored in the memory, and when granting the authority, the nodes of the tree structure data 110 are generated according to the generation rules. It is good also as a structure. In that case, it is not always necessary to generate all the nodes of the tree structure data 110.

また、第1の実施の形態では、タグ装置20に生成権限情報kT,m=(s0,m,tωT,mT)が付与され、タグ装置20は、ノードωTを用いてカウント値iを初期設定し、初期設定されたカウント値iに対応する秘密値s0,mのハッシュチェイン値si,mを記憶部21aに初期設定する構成とした。しかし、ハッシュチェイン値si,mの生成を管理サーバ装置10で行い、生成権限情報をkT,m=(si,m,tωT,mT)とする構成としてもよい。この場合、タグ装置20でのハッシュチェイン値si,mの初期設定処理が不要となる。 In the first embodiment, the generation authority information k T, m = (s 0, m , t ωT, m , ω T ) is assigned to the tag device 20, and the tag device 20 uses the node ω T. The count value i is initially set, and the hash chain value s i, m of the secret value s 0, m corresponding to the initially set count value i is initially set in the storage unit 21a. However, the hash chain values s i, m may be generated by the management server device 10 and the generation authority information may be set as k T, m = (s i, m , t ωT, m , ω T ). In this case, the initial setting process of the hash chain value s i, m in the tag device 20 becomes unnecessary.

また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
In addition, the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Needless to say, other modifications are possible without departing from the spirit of the present invention.
Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、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)等を用いることができる。   The program describing the processing contents can be recorded on a computer-readable recording medium. The computer-readable recording medium may be any medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, or a semiconductor memory. Specifically, for example, the magnetic recording device may be a hard disk device or a flexible Discs, magnetic tapes, etc. as optical disks, DVD (Digital Versatile Disc), DVD-RAM (Random Access Memory), CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), etc. As the magneto-optical recording medium, MO (Magneto-Optical disc) or the like can be used, and as the semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory) or the like can be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

本発明の利用分野としては、例えば、RFID等のタグ認証システムや、ICカード等の個人認証システム等を例示できる。   As a field of use of the present invention, for example, a tag authentication system such as RFID, a personal authentication system such as an IC card, and the like can be exemplified.

図1は、第1の実施の形態のタグ通信システム1の全体構成を示した概念図である。FIG. 1 is a conceptual diagram showing an overall configuration of a tag communication system 1 according to the first embodiment. 図2は、第1の実施の形態における管理サーバ装置の機能構成を示したブロック図である。FIG. 2 is a block diagram illustrating a functional configuration of the management server device according to the first embodiment. 図3は、第1の実施の形態におけるタグ装置の機能構成を示したブロック図である。FIG. 3 is a block diagram illustrating a functional configuration of the tag device according to the first embodiment. 図4は、第1の実施の形態におけるサーバ装置の機能構成を示したブロック図である。FIG. 4 is a block diagram illustrating a functional configuration of the server device according to the first embodiment. 図5は、木構造データの構造を例示するための図である。FIG. 5 is a diagram for illustrating the structure of the tree structure data. 図6は、図5に例示した木構造データの各ノードに対応するハッシュ関数Fωをノードとした木構造データである一方向性関数木データを示した図である。FIG. 6 is a diagram illustrating one-way function tree data that is tree structure data having a hash function corresponding to each node of the tree structure data illustrated in FIG. 5 as a node. 図7は、第1の実施の形態における通信情報の生成権限付与処理を説明するためのフローチャートである。FIG. 7 is a flowchart for explaining communication information generation authority grant processing according to the first embodiment. 図8は、第1の実施の形態における通信情報の探索権限付与処理を説明するためのフローチャートである。FIG. 8 is a flowchart for explaining the communication information search authority grant processing in the first embodiment. 図9は、第1の実施の形態の通信処理を説明するためのフローチャートである。FIG. 9 is a flowchart for explaining communication processing according to the first embodiment. 図10は、一方向性関数木データを示した図である。FIG. 10 is a diagram showing unidirectional function tree data. 図11は、第2の実施の形態における管理サーバ装置の機能構成を示したブロック図である。FIG. 11 is a block diagram illustrating a functional configuration of the management server device according to the second embodiment. 図12は、第2の実施の形態におけるタグ装置の機能構成を示したブロック図である。FIG. 12 is a block diagram illustrating a functional configuration of the tag device according to the second embodiment. 図13は、第2の実施の形態の通信処理を説明するためのフローチャートである。FIG. 13 is a flowchart for explaining communication processing according to the second embodiment. 図14は、第3の実施の形態における管理サーバ装置の機能構成を示したブロック図である。FIG. 14 is a block diagram illustrating a functional configuration of the management server device according to the third embodiment. 図15は、第3の実施の形態におけるサーバ装置の機能構成を示したブロック図である。FIG. 15 is a block diagram illustrating a functional configuration of the server device according to the third embodiment. 図16は、第3の実施の形態の通信処理を説明するためのフローチャートである。FIG. 16 is a flowchart for explaining communication processing according to the third embodiment.

符号の説明Explanation of symbols

1 タグ通信システム
10,310,410 管理サーバ装置
20,320 タグ装置
40,440 サーバ装置
1 Tag communication system 10, 310, 410 Management server device 20, 320 Tag device 40, 440 Server device

Claims (15)

一方向性関数によって更新される通信情報の取扱い権限を付与する管理装置であって、
識別子と第1秘密値とを対応付けた秘密値テーブルを格納する秘密値テーブル記憶部と、
一方向性関数を特定するための情報をノードとし、兄弟ノードに対応する一方向性関数が相互に異なり、親ノードに対応する一方向性関数と所定の一方向性関数集合に属する何れかの一方向性関数との合成写像が子ノードに対応する一方向性関数となる木構造データから、ノードを選択するノード選択部と、
上記ノード選択部が選択したノードに対応する一方向性関数を抽出する一方向性関数抽出部と、
上記一方向性関数抽出部が抽出した上記一方向性関数を上記第1秘密値に作用させた一方向性関数値を生成する一方向性関数演算部と、
上記一方向性関数値を含む権限情報を生成する権限情報生成部と、
一方向性関数によって通信情報の更新を行う通信装置に対し、上記権限情報を出力する権限情報出力部と、を有し、
上記権限情報は、上記権限情報に含まれる上記一方向性関数値に前記一方向性関数集合から選択した一方向性関数を作用させて得られる値に対応する通信情報の生成権限を上記通信装置に付与するための情報であることを特徴とする管理装置。
A management device that grants the right to handle communication information updated by a one-way function,
A secret value table storage unit that stores a secret value table in which an identifier and a first secret value are associated with each other;
The information for specifying the one-way function is a node, and the one-way functions corresponding to the sibling nodes are different from each other, and the one-way function corresponding to the parent node and any one of the predetermined one-way function set from the tree structure data to be one-way function that synthesis mapping corresponding to the child node of the one-way function, and a node selector which selects nodes,
A one-way function extraction unit that extracts a one-way function corresponding to the node selected by the node selection unit;
A one-way function calculation unit that generates a one-way function value obtained by applying the one-way function extracted by the one-way function extraction unit to the first secret value;
An authority information generation unit that generates authority information including the one-way function value;
To the communication device to update the communication information by the one-way function, it has a, and authority information output unit for outputting the authority information,
The authority information, the communication device generates authority communication information corresponding to the value obtained by operating the one-way function selected from the one-way function set in the one-way function value contained in the authorization information management device, characterized in that information for granted.
請求項1管理装置であって、
上記権限情報生成部は、さらに、上記一方向性関数値とその生成に用いられた上記第1秘密値に対応する上記識別子とを含む第2権限情報を生成し、
上記権限情報出力部は、さらに、一方向性関数によって更新される通信情報に対応する識別子の探索を行う通信情報探索装置に対し、上記第2権限情報を出力し、
上記第2権限情報は、
上記ノード選択部が選択したノード又はその子孫ノードに対応する一方向性関数を上記第1秘密値に作用させて得られる値に対応する通信情報に対応する識別子を探索する権限を上記通信情報探索装置に付与するための情報である、
ことを特徴とする管理装置。
The management device according to claim 1,
The authority information generation unit further generates second authority information including the one-way function value and the identifier corresponding to the first secret value used for the generation,
The authority information output unit further outputs the second authority information to a communication information search apparatus that searches for an identifier corresponding to communication information updated by a one-way function.
The second authority information is
The communication information search authority for searching for an identifier corresponding to a communication information corresponding to a value obtained by applying a one-way function corresponding to the node selected by the node selection unit or its descendant node to the first secret value Information to be given to the device,
A management device characterized by that.
一方向性関数によって更新される通信情報の取扱い権限を付与する管理装置であって、
識別子と第1秘密値とを対応付けた秘密値テーブルを格納する秘密値テーブル記憶部と、
一方向性関数を特定するための情報をノードとし、兄弟ノードに対応する一方向性関数が相互に異なり、親ノードに対応する一方向性関数と所定の一方向性関数集合に属する何れかの一方向性関数との合成写像が子ノードに対応する一方向性関数となる木構造データから、ノードを選択するノード選択部と、
上記ノード選択部が選択したノードに対応する一方向性関数を抽出する一方向性関数抽出部と、
上記一方向性関数抽出部が抽出した上記一方向性関数を上記第1秘密値に作用させた一方向性関数値を生成する一方向性関数演算部と、
上記一方向性関数値とその生成に用いられた上記第1秘密値に対応する上記識別子とを含む権限情報を生成する権限情報生成部と、
一方向性関数によって更新される通信情報に対応する識別子の探索を行う通信情報探索装置に対し、上記権限情報を出力する権限情報出力部と、を有し、
上記権限情報は、
上記ノード選択部が選択したノード又はその子孫ノードに対応する一方向性関数を上記第1秘密値に作用させて得られる値に対応する通信情報に対応する識別子を探索する権限を上記通信情報探索装置に付与するための情報であ
ことを特徴とする管理装置。
A management device that grants the right to handle communication information updated by a one-way function,
A secret value table storage unit that stores a secret value table in which an identifier and a first secret value are associated with each other;
The information for specifying the one-way function is a node, and the one-way functions corresponding to the sibling nodes are different from each other, and the one-way function corresponding to the parent node and any one of the predetermined one-way function set from the tree structure data to be one-way function that synthesis mapping corresponding to the child node of the one-way function, and a node selector which selects nodes,
A one-way function extraction unit that extracts a one-way function corresponding to the node selected by the node selection unit;
A one-way function calculation unit that generates a one-way function value obtained by applying the one-way function extracted by the one-way function extraction unit to the first secret value;
An authority information generating unit that generates authority information including the one-way function value and the identifier corresponding to the first secret value used for the generation;
To the communication information search apparatus for performing searches for identifiers corresponding to the communication information to be updated by the one-way function, it has a, and authority information output unit for outputting the authority information,
The above authority information is
The communication information search authority for searching for an identifier corresponding to a communication information corresponding to a value obtained by applying a one-way function corresponding to the node selected by the node selection unit or its descendant node to the first secret value Ru information der for imparting to the apparatus,
A management device characterized by that.
請求項1からのいずれか管理装置であって、
上記秘密値テーブルは、
上記識別子と上記第1秘密値と第2秘密値とを対応付けたテーブルであり、
上記権限情報生成部は、
上記一方向性関数値と上記第2秘密値とを含む上記権限情報を生成する、
ことを特徴とする管理装置。
Be any of the management apparatus of claims 1 to 3,
The secret value table is
A table in which the identifier, the first secret value, and the second secret value are associated with each other;
The authority information generation unit
Generating the authorization information including the above one-way function value and the second private value,
A management device characterized by that.
一方向性関数によって更新される通信情報を出力する通信装置であって、
請求項又はに記載の管理装置から出力された一方向性関数値を含む権限情報を格納する生成権限情報記憶部と、
上記生成権限情報記憶部から読み込んだ上記一方向性関数値を含む情報に所定の一方向性関数集合から選択した一方向性関数を作用させ、それによって得られる値に対応する通信情報を生成する通信情報生成部と、
上記通信情報を出力する通信情報出力部と、
を有することを特徴とする通信装置。
A communication device that outputs communication information updated by a one-way function,
And generating authority information storage unit for storing the authorization information including a one-way function value output from the management apparatus according to claim 1 or 2,
A unidirectional function selected from a predetermined unidirectional function set is applied to information including the unidirectional function value read from the generation authority information storage unit, and communication information corresponding to the obtained value is generated. A communication information generation unit;
A communication information output unit for outputting the communication information;
A communication apparatus comprising:
一方向性関数によって更新される通信情報から、それに対応する識別子を特定する通信情報探索装置であって、
請求項の管理装置から出力された上記権限情報に含まれる一方向性関数値とその生成に用いられた第1秘密値に対応する識別子とを対応付けて格納する探索権限情報記憶部と、
通信情報の入力を受け付ける入力部と、
上記権限情報に含まれる上記一方向性関数値を含む情報に所定の一方向性関数集合から選択した一方向性関数を作用させ、それによって得られる値に対応する探索値を生成する探索値生成部と、
上記通信情報と上記探索値とが一致するか否かを判断する比較部と、
上記通信情報と一致した上記探索値に対応する上記一方向性関数値に対応付けられた上記識別子を上記探索権限情報記憶部から抽出する抽出部と、
を有することを特徴とする通信情報探索装置。
A communication information search device for identifying an identifier corresponding to communication information updated by a one-way function,
One-way function value contained in the authorization information output from the management apparatus according to claim 3 and the search authority information storage unit which stores in association with corresponding identifiers to the first secret value used in the generation,
An input unit for receiving input of communication information;
Search value generation for generating a search value corresponding to a value obtained by applying a one-way function selected from a predetermined one-way function set to information including the one-way function value included in the authority information And
A comparison unit that determines whether or not the communication information and the search value match;
The identifier associated with the one-way function value corresponding to the search value matched with the communication information, an extraction unit that extracts from the search authority information storage unit,
A communication information search apparatus comprising:
請求項の管理装置と、請求項の通信装置と、を有することを特徴とする通信システム。 Communication system, comprising a management apparatus according to claim 1, the communication apparatus according to claim 5. 請求項3の管理装置と、請求項の通信情報探索装置と、を有することを特徴とする通信システム。 Communication system, comprising a management apparatus according to claim 3, the communication information searching apparatus according to claim 6. 請求項の管理装置と、請求項の通信装置と、請求項の通信情報探索装置と、を有することを特徴とする通信システム。 A communication system comprising the management device according to claim 2 , the communication device according to claim 5 , and the communication information search device according to claim 6 . 一方向性関数によって更新される通信情報の取扱い権限を付与する管理方法であって、
請求項1から4の何れかの管理装置が有する秘密値テーブル記憶部とノード選択部と一方向性関数抽出部と一方向性関数演算部と権限情報生成部と権限情報出力部がそれぞれ実行する処理を行う管理方法。
A management method for granting a right to handle communication information updated by a one-way function,
The secret value table storage unit, the node selection unit, the one-way function extraction unit, the one-way function calculation unit, the authority information generation unit, and the authority information output unit included in the management device according to claim 1 respectively execute. Management method for processing .
一方向性関数によって更新される通信情報を出力する通信方法であって、
請求項5の通信装置が有する生成権限情報記憶部と通信情報生成部と通信情報出力部とがそれぞれ実行する処理を行う通信方法。
A communication method for outputting communication information updated by a one-way function,
The communication method which performs the process which the production | generation authority information storage part, the communication information production | generation part, and communication information output part which the communication apparatus of Claim 5 has respectively performs .
一方向性関数によって更新される通信情報から、それに対応する識別子を特定する通信情報探索方法であって、
請求項6の探索権限情報記憶部と入力部と探索値生成部と比較部と抽出部とがそれぞれ実行する処理を行う通信情報探索方法。
A communication information search method for identifying an identifier corresponding to communication information updated by a one-way function,
The communication information search method which performs the process which the search authority information storage part of Claim 6, an input part, a search value production | generation part, a comparison part, and an extraction part respectively perform .
請求項1から4の何れかの管理装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the management device according to claim 1. 請求項の通信装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the communication device according to claim 5 . 請求項の通信情報探索装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the communication information search apparatus according to claim 6 .
JP2006007643A 2006-01-16 2006-01-16 Management device, communication device, communication information search device, system thereof, method thereof and program thereof Active JP4576341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006007643A JP4576341B2 (en) 2006-01-16 2006-01-16 Management device, communication device, communication information search device, system thereof, method thereof and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006007643A JP4576341B2 (en) 2006-01-16 2006-01-16 Management device, communication device, communication information search device, system thereof, method thereof and program thereof

Publications (2)

Publication Number Publication Date
JP2007189618A JP2007189618A (en) 2007-07-26
JP4576341B2 true JP4576341B2 (en) 2010-11-04

Family

ID=38344465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006007643A Active JP4576341B2 (en) 2006-01-16 2006-01-16 Management device, communication device, communication information search device, system thereof, method thereof and program thereof

Country Status (1)

Country Link
JP (1) JP4576341B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004297778A (en) * 2003-03-07 2004-10-21 Canon Inc Image data encryption method and apparatus, computer program, and computer-readable storage medium
WO2005031579A1 (en) * 2003-09-26 2005-04-07 Nippon Telegraph And Telephone Corporation Tag privacy protecting method, tag device, backend device, updating device, update requesting device, programs for these devices, and recording medium storing these programs
JP2005539423A (en) * 2002-09-16 2005-12-22 サムスン エレクトロニクス カンパニー リミテッド Metadata encryption / decryption method, encrypted metadata management method and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005539423A (en) * 2002-09-16 2005-12-22 サムスン エレクトロニクス カンパニー リミテッド Metadata encryption / decryption method, encrypted metadata management method and system
JP2004297778A (en) * 2003-03-07 2004-10-21 Canon Inc Image data encryption method and apparatus, computer program, and computer-readable storage medium
WO2005031579A1 (en) * 2003-09-26 2005-04-07 Nippon Telegraph And Telephone Corporation Tag privacy protecting method, tag device, backend device, updating device, update requesting device, programs for these devices, and recording medium storing these programs

Also Published As

Publication number Publication date
JP2007189618A (en) 2007-07-26

Similar Documents

Publication Publication Date Title
KR102373685B1 (en) Operating system for blockchain IOT devices
US8429720B2 (en) Method and apparatus for camouflaging of data, information and functional transformations
TW201812638A (en) Storage design method of blockchain encrypted radio frequency chip
US20090096574A1 (en) Rfid tag using encrypted password protection
EP1374464B1 (en) Method and apparatus for camouflaging of data, information and functional transformations
JPWO2005031579A1 (en) Tag privacy protection method, tag device, back-end device, update device, update request device, program thereof, and recording medium storing these programs
JP4646050B2 (en) Method to issue IC card and perform encryption / decryption
WO2009052059A1 (en) Rfid tag using encrypted value
CN105320869A (en) Secret data matching device, secret data updating method, and recording medium
CN101256615A (en) Radio frequency recognizing privacy authentication method for dynamic cryptographic key update based on rarefaction tree
CN1322431C (en) Encryption retention and data retrieve based on symmetric cipher key
CN100541528C (en) Data revise the method for preventing and data are revised anti-locking system
WO2002078248A1 (en) Portable information storage medium and its authentification method
CN111310207B (en) Electronic commerce data processing method and device, electronic commerce system and server
US10749674B2 (en) Format preserving encryption utilizing a key version
CN111091381A (en) Hardware wallet and management method thereof
JP4388354B2 (en) ID automatic identification system, tag device, center device, ID automatic identification method, program, and recording medium
JP4582619B2 (en) IC card for encryption or decryption processing, and encryption communication system and encryption communication method using the same
CN1327356C (en) Computer-readable medium with microprocessor to control reading and computer arranged to communicate with such method
JP4445331B2 (en) Database apparatus, system and program
JP4576341B2 (en) Management device, communication device, communication information search device, system thereof, method thereof and program thereof
CN100568253C (en) Device, label apparatus are entrusted in tag privacy protecting method, updating device, renewal
CN104616039A (en) Card sending method and card sending device for RFID label
CN102224508A (en) Method of storing data in a memory device and a processing device for processing such data
CN101803273B (en) Method of executing a cryptographic calculation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100512

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4576341

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

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