[go: up one dir, main page]

JP2007189643A - Method, system, device, and program for communication - Google Patents

Method, system, device, and program for communication Download PDF

Info

Publication number
JP2007189643A
JP2007189643A JP2006007888A JP2006007888A JP2007189643A JP 2007189643 A JP2007189643 A JP 2007189643A JP 2006007888 A JP2006007888 A JP 2006007888A JP 2006007888 A JP2006007888 A JP 2006007888A JP 2007189643 A JP2007189643 A JP 2007189643A
Authority
JP
Japan
Prior art keywords
value
tag
secret data
data
reader
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.)
Pending
Application number
JP2006007888A
Other languages
Japanese (ja)
Inventor
Tomoyuki Asano
智之 浅野
Shoshin Lee
尚信 李
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2006007888A priority Critical patent/JP2007189643A/en
Publication of JP2007189643A publication Critical patent/JP2007189643A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication method which can attain untraceability of a tag to be accessed through a reader with less processing volume than the conventional volume. <P>SOLUTION: A managing device 7 searches k' which satisfies a formula of ST8 from among items K and Klast of table data TD, and specifies an ID of the searched entry. When a predetermined value k' is searched from the item K in the search, the managing device 7 copies the value of the item K of the entry into the item Klast of the entry. A hash value of the k' is set to the item K. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、リーダを介してタグと管理装置との間の通信を、タグと管理装置との間でセキュアに行う通信方法、通信システム、通信装置およびプログラムに関する。   The present invention relates to a communication method, a communication system, a communication device, and a program for performing secure communication between a tag and a management device via a reader between the tag and the management device.

例えば、RFID(Radio Frequency Identification)は、マイクロチップ内に識別情報を格納させ、それを無線周波数で検出して、管理したオブジェクトに関する情報を自動的に検出するために用いられる。
RFID技術は、物理的あるいは視覚的なコンタクトをとることなく、無線周波数により多数のタグを瞬時に識別きるため、光学式バーコードよりも便利である。RFIDシステムは、自動化分野の多くに用いることができ、ユビキタスコンピュータ環境に有用である。
しかしながら、RFID技術は、便利であるという反面、セキュリティに関しての問題もある。例えば、RFIDがその情報を知りたい相手に発信するために、会社や個人の情報が漏れてしまうという問題がある。
例えば、あるユーザが持つタグがA地点でリーダ(リーダライタ)に反応して検出され、その後にB地点で検出されたとすると、当該ユーザがA地点からB地点に移動したことが攻撃者(盗聴者)に知られてしまい、当該ユーザのプライバシが侵害されてしまう。また、タグ内の秘密情報が漏れた場合でも、当該タグが関係した処理を追跡できないようにする必要がある。
このような問題を解決するために、タグとリーダとの通信を追跡できない、追跡不可能性を持つシステムが提案されている。当該システムは、攻撃者が物理的にタグを攻撃(タンパー)してメモリの秘密情報を入手したとしても、過去の多数のタグとリーダとの通信のなかで、このタグが関与したものを特定できない、Forward Securityの性質を持つ。これらの性質を持つシステムとして、下記非特許文献1に開示されたものがある。
Miyako Ohkubo, Koutarou Suzuki, and Shingo Kinoshita. “Cryptographic approach to privacy-friendly' tag.” In RFID Privacy Workshop, MIT, MA, USA, November 2003.
For example, RFID (Radio Frequency Identification) is used to store identification information in a microchip, detect it with a radio frequency, and automatically detect information about a managed object.
RFID technology is more convenient than optical bar codes because it can instantly identify a large number of tags by radio frequency without making physical or visual contact. RFID systems can be used in many automation fields and are useful in ubiquitous computer environments.
However, while RFID technology is convenient, it also has security problems. For example, there is a problem that information about a company or an individual leaks because an RFID transmits it to a party who wants to know the information.
For example, if a tag possessed by a certain user is detected in response to a reader (reader / writer) at point A and then detected at point B, then an attacker (wiretapping) indicates that the user has moved from point A to point B. And the privacy of the user is infringed. In addition, even when confidential information in a tag is leaked, it is necessary to make it impossible to trace the processing related to the tag.
In order to solve such a problem, a system with untraceability that cannot track communication between a tag and a reader has been proposed. Even if the attacker physically attacks (tampers) the tag and obtains the secret information of the memory, the system identifies the one with which this tag was involved in the communication between many past tags and readers. It cannot be forward security. A system having these properties is disclosed in Non-Patent Document 1 below.
Miyako Ohkubo, Koutarou Suzuki, and Shingo Kinoshita. “Cryptographic approach to privacy-friendly 'tag.” In RFID Privacy Workshop, MIT, MA, USA, November 2003.

上記非特許文献1のシステムでは、システム中のタグの総数をm、各タグに許されるリーダとの間のインタラクションの最大回数をnとして、1回のインタラクション毎にサーバがm*n回のハッシュ関数の演算を行う必要があり、処理負担が大きいという問題がある。   In the system of Non-Patent Document 1, the total number of tags in the system is m, and the maximum number of interactions with the reader allowed for each tag is n, and the server has a hash of m * n times for each interaction. There is a problem that it is necessary to perform calculation of a function and a processing load is large.

本発明は上述した従来技術に鑑みてなされたものであり、リーダを介してアクセスされるタグの非追跡可能性を、従来に比べて少ない処理量で達成できる通信方法、通信システム、通信装置およびプログラムを提供することを目的とする。   The present invention has been made in view of the above-described prior art, and a communication method, a communication system, a communication apparatus, and a communication method, which can achieve non-traceability of a tag accessed via a reader with a smaller processing amount than in the past. The purpose is to provide a program.

上述した従来技術の問題点を解決し、上述した目的を達成するため、第1の観点の発明の通信方法は、タグ、リーダおよび管理装置の間で行われる通信方法であって、前記リーダが、乱数sを前記タグに送信する第1の工程と、前記タグが、第1の秘密データrと第2の秘密データkとを引数として得たハッシュ値を第1の秘密データri+1として前記リーダを介して前記管理装置に送信する第2の工程と、前記タグが、前記第1の工程で受信した前記乱数sと、前記第2の工程で生成した前記第1の秘密データri+1とを基に、第1の秘密データri+2を生成し、これを前記リーダを介して管理装置に送信する第3の工程と、前記リーダが、乱数sと、前記第3の工程で受信した前記第1の秘密データri+2とを、前記管理装置に送信する第4の工程と、前記管理装置が、前記第2の工程で受信した前記第1の秘密データri+1と、前記第4の工程で受信した乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定する第5の工程と、前記管理装置が、複数のタグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを参照して、前記第5の工程で特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索する第6の工程と、前記管理装置が、所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する第7の工程と有する。 In order to solve the above-described problems of the prior art and achieve the above-described object, a communication method according to a first aspect of the present invention is a communication method performed between a tag, a reader, and a management device. , A first step of transmitting the random number s to the tag, and a hash value obtained by the tag using the first secret data r i and the second secret data k j as arguments, the first secret data r i + 1 As a second step to be transmitted to the management device via the reader, the random number s received by the tag in the first step, and the first secret data r generated in the second step. Based on i + 1 , the third step of generating the first secret data r i + 2 and transmitting it to the management device via the reader, the reader receiving the random number s and the third step It was the first secret data r i + 2, the tube A fourth step of transmitting device, the management device, the secret data r i + 1 received by the first in the second step, the random number s received in the fourth step, the predetermined value k ' And a fifth step of specifying the predetermined value k ′ that makes the hash value obtained on the basis of the first secret data r i + 2, and the management device identifies the identification data of a plurality of tags. Referring to the table data indicating the data, the first value K, and the second value Klast in association with each other, the predetermined value k ′ specified in the fifth step and the first value K or the second value A sixth step of searching for an entry having the same value Klast, and the management apparatus, when an entry having a predetermined value k ′ and the first value K is present in the table data, Copy the first value K to the second value Klast, the predetermined value It has a seventh step of setting the hash value of the value k 'to the first value K.

第2の観点の発明の通信システムは、タグ、リーダおよび管理装置を有する通信システムであって、前記リーダが、乱数sを前記タグに送信し、前記タグが、第1の秘密データrと第2の秘密データkとを引数として得たハッシュ値を第1の秘密データri+1として前記リーダを介して前記管理装置に送信し、前記タグが、前記受信した前記乱数sと、前記生成した前記第1の秘密データri+1とを基に、第1の秘密データri+2を生成し、これを前記リーダを介して管理装置に送信し、前記リーダが、乱数sと、前記受信した前記第1の秘密データri+2とを、前記管理装置に送信し、前記管理装置が、前記受信した前記第1の秘密データri+1と、前記受信した乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定し、前記管理装置が、複数のタグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを参照して、前記特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索し、前記管理装置が、所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する。 A communication system according to a second aspect of the invention is a communication system having a tag, a reader, and a management device, wherein the reader transmits a random number s to the tag, and the tag is connected to the first secret data r i . A hash value obtained using the second secret data k j as an argument is transmitted as first secret data r i + 1 to the management apparatus via the reader, and the tag receives the random number s received and the generation The first secret data r i + 1 is generated based on the first secret data r i + 1 and is transmitted to the management device via the reader, and the reader receives the random number s and the received the received secret data r i + 2 The first secret data r i + 2 is transmitted to the management device, and the management device is based on the received first secret data r i + 1 , the received random number s, and a predetermined value k ′. The hash value obtained Identifying the predetermined value k 'to be the first secret data r i + 2, the management device, corresponding to the relevant identification data and a first value K second value Klast the identification data of a plurality of tags With reference to the table data shown, the entry for which the specified predetermined value k ′ matches the first value K or the second value Klast is searched, and the management apparatus determines the predetermined value k ′. And the first value K match, the first value K is copied to the second value Klast, and the hash value of the predetermined value k ′ is stored in the table data. Set to the first value K.

第3の観点の発明の通信方法は、リーダを介してタグと通信を行う通信装置が実行する通信方法であって、第1の秘密データrと第2の秘密データkとを引数として前記タグが生成したハッシュ値である第1の秘密データri+1を前記タグから前記リーダを介して受信する第1の工程と、前記タグが前記リーダから受信した乱数sと前記第1の秘密データri+1とを基に生成した第1の秘密データri+2を前記タグから前記リーダを介して受信する第2の工程と、前記乱数sと前記第1の秘密データri+2とを前記リーダから受信する第3の工程と、前記第1の工程で受信した前記第1の秘密データri+1と、前記第3の工程で受信した乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定する第4の工程と、複数の前記タグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを参照して、前記第4の工程で特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索する第5の工程と、前記所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する第6の工程とを有する。 A communication method according to a third aspect of the invention is a communication method executed by a communication device that communicates with a tag via a reader, and uses the first secret data r i and the second secret data k j as arguments. A first step of receiving first secret data r i + 1 that is a hash value generated by the tag from the tag via the reader; a random number s received by the tag from the reader; and the first secret data. a second step of receiving first secret data r i + 2 generated based on r i + 1 from the tag via the reader; and receiving the random number s and the first secret data r i + 2 from the reader. A hash obtained based on the third step, the first secret data r i + 1 received in the first step, the random number s received in the third step, and a predetermined value k ′ the value is, the first secret data r i A fourth step of identifying the predetermined value k 'to be 2, the identification data of a plurality of the tags the identification data a first value K and table data shown in association with the second value Klast Referring to the fifth step of searching for an entry in which the predetermined value k ′ specified in the fourth step matches the first value K or the second value Klast, and the predetermined value k ′. And the first value K match, the first value K is copied to the second value Klast, and the hash value of the predetermined value k ′ is stored in the table data. And a sixth step of setting to the first value K.

第4の観点の発明の通信装置は、リーダを介してタグと通信を行う通信装置であって、第1の秘密データrと第2の秘密データkとを引数として前記タグが生成したハッシュ値である第1の秘密データri+1を前記タグから前記リーダを介して受信し、前記タグが前記リーダから受信した乱数sと前記第1の秘密データri+1とを基に生成した第1の秘密データri+2を前記タグから前記リーダを介して受信し、前記乱数sと前記第1の秘密データri+2とを前記リーダから受信するインターフェースと、複数の前記タグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを記憶するメモリと、前記インターフェースが受信した前記第1の秘密データri+1と、乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定し、前記テーブルデータを参照して、前記特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索し、前記所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する処理回路とを有する。 A communication device according to a fourth aspect of the invention is a communication device that communicates with a tag via a reader, and the tag is generated using the first secret data r i and the second secret data k j as arguments. First secret data r i + 1 that is a hash value is received from the tag via the reader, and the tag is generated based on the random number s received from the reader and the first secret data r i + 1. The secret data r i + 2 is received from the tag through the reader, the random number s and the first secret data r i + 2 are received from the reader, and the identification data of the identification data of the plurality of tags A memory for storing table data indicating the first value K and the second value Klast in association with each other; the first secret data r i + 1 received by the interface; The hash value obtained based on the number s and the predetermined value k ′ specifies the predetermined value k ′ that becomes the first secret data r i + 2, and refers to the table data to determine the specific An entry in which the predetermined value k ′ matches the first value K or the second value Klast is searched, and an entry in which the predetermined value k ′ matches the first value K is the table data. And a processing circuit that copies the first value K to the second value Klast and sets the hash value of the predetermined value k ′ to the first value K.

第5の観点の発明のプログラムは、リーダを介してタグと通信を行う通信装置が実行するプログラムであって、第1の秘密データrと第2の秘密データkとを引数として前記タグが生成したハッシュ値である第1の秘密データri+1を前記タグから前記リーダを介して受信する第1の手順と、前記タグが前記リーダから受信した乱数sと前記第1の秘密データri+1とを基に生成した第1の秘密データri+2を前記タグから前記リーダを介して受信する第2の手順と、前記乱数sと前記第1の秘密データri+2とを前記リーダから受信する第3の手順と、前記第1の手順で受信した前記第1の秘密データri+1と、前記第3の手順で受信した乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定する第4の手順と、複数の前記タグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを参照して、前記第4の手順で特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索する第5の手順と、前記所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する第6の手順とを前記通信装置に実行させる。 A program according to a fifth aspect of the invention is a program executed by a communication device that communicates with a tag via a reader, and the tag is used with the first secret data r i and the second secret data k j as arguments. The first procedure for receiving the first secret data r i + 1 that is the hash value generated from the tag via the reader, the random number s received by the tag from the reader, and the first secret data r i + 1 The second procedure for receiving the first secret data r i + 2 generated based on the tag from the tag via the reader, and the second procedure for receiving the random number s and the first secret data r i + 2 from the reader. And a hash value obtained based on the first secret data r i + 1 received in the first procedure, the random number s received in the third procedure, and a predetermined value k ′. , The first secret data a fourth step of identifying the i + 2 to become the predetermined value k ', the identification data of a plurality of the tags the identification data a first value K and table data shown in association with the second value Klast Referring to the fifth procedure for searching for an entry in which the predetermined value k ′ specified in the fourth procedure matches the first value K or the second value Klast, and the predetermined value k ′. And the first value K match, the first value K is copied to the second value Klast, and the hash value of the predetermined value k ′ is stored in the table data. The communication apparatus is caused to execute a sixth procedure for setting the first value K.

本発明によれば、リーダを介してアクセスされるタグの非追跡可能性を、従来に比べて少ない処理量で達成できる通信方法、通信システム、通信装置およびプログラムを提供することができる。   According to the present invention, it is possible to provide a communication method, a communication system, a communication apparatus, and a program that can achieve non-traceability of a tag accessed through a reader with a smaller processing amount than in the past.

以下、本発明の実施形態に係わる通信システムについて説明する。
〔本発明の構成との対応関係〕
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
RFタグ3が本発明のタグの一例であり、タグリーダ5が本発明のリーダの一例であり、管理装置7が本発明の管理装置および通信装置の一例である。
また、管理装置7が実行するプログラムPRG3が本発明のプログラムの一例である。
また、図3に示すテーブルデータTDが本発明のテーブルデータの一例である。
Hereinafter, a communication system according to an embodiment of the present invention will be described.
[Correspondence with Configuration of the Present Invention]
First, the correspondence between the components of the present embodiment and the components of the present invention will be described.
The RF tag 3 is an example of the tag of the present invention, the tag reader 5 is an example of the reader of the present invention, and the management device 7 is an example of the management device and the communication device of the present invention.
The program PRG3 executed by the management device 7 is an example of the program of the present invention.
The table data TD shown in FIG. 3 is an example of the table data of the present invention.

図1は、本発明の実施形態に係わる通信システム1の全体構成図である。
図1に示すように、通信システム1は、例えば、RFタグ3、タグリーダ5および管理装置7を有する。
FIG. 1 is an overall configuration diagram of a communication system 1 according to an embodiment of the present invention.
As illustrated in FIG. 1, the communication system 1 includes, for example, an RF tag 3, a tag reader 5, and a management device 7.

図1に示す通信システム1において、RFタグ3およびタグリーダ5は、実際には複数存在する。
RFタグ3とタグリーダ5との間の通信は非セキュアであり、タグリーダ5と管理装置7との間の通信はセキュアである。
In the communication system 1 shown in FIG. 1, there are actually a plurality of RF tags 3 and tag readers 5.
Communication between the RF tag 3 and the tag reader 5 is non-secure, and communication between the tag reader 5 and the management device 7 is secure.

通信システム1は、RFタグ3における演算量を小さいプロトコルを採用する。このプロトコルは、従来から提案されている様々なプロトコルで採用さているハッシュ関数に加えて、RFタグ3と管理装置7とで共用される2つの秘密データを用いる。また、管理装置7において後述するテーブルデータTDを使用する。これにより、管理装置7における計算量を削減できる。このように2つの秘密データとテーブルデータTDを用いることにより、管理装置7における計算の複雑さを少なくできると共に、リーダが取得した情報を基にしたタグの追跡を不可能にする追跡不可能性(untraceability)を完全に達成でき、タグからの情報が適切なものであるかを判断でき、且つ、タグの秘密情報が漏れた場合でも、当該タグが関係した処理を特定不可能にできる(detect forgery)。   The communication system 1 employs a protocol with a small calculation amount in the RF tag 3. This protocol uses two secret data shared by the RF tag 3 and the management device 7 in addition to the hash functions employed in various protocols proposed conventionally. The management device 7 uses table data TD, which will be described later. Thereby, the calculation amount in the management apparatus 7 can be reduced. By using the two secret data and the table data TD in this way, the calculation complexity in the management device 7 can be reduced, and the untrackability that makes it impossible to track the tag based on the information acquired by the reader. (untraceability) can be achieved completely, it can be judged whether the information from the tag is appropriate, and even if the secret information of the tag is leaked, the processing related to the tag can be made unidentifiable (detect forgery).

先ず、RFタグ3、タグリーダ5および管理装置7の構成について説明する。
図2は、図1に示すRFタグ3およびタグリーダ5の構成図である。
[RFタグ3]
図2に示すように、RFタグ3は、例えば、RF回路11、メモリ13および処理回路15を有する。
RF回路11は、タグリーダ5のRF回路21と所定の無線周波数により無線通信を行うアンテナコイルを含む回路である。
RF回路11は、RFタグ3がバッテリーを持たない受動型である場合には、タグリーダ5からの電波を受信し、共振作用により、起電力を発生する。RFタグ3の処理回路15は、当該起電力により動作する。
本実施形態において、メモリ13および処理回路15は対タンパ性の回路である。
First, the configuration of the RF tag 3, the tag reader 5, and the management device 7 will be described.
FIG. 2 is a configuration diagram of the RF tag 3 and the tag reader 5 shown in FIG.
[RF tag 3]
As shown in FIG. 2, the RF tag 3 includes, for example, an RF circuit 11, a memory 13, and a processing circuit 15.
The RF circuit 11 is a circuit including an antenna coil that performs radio communication with the RF circuit 21 of the tag reader 5 at a predetermined radio frequency.
When the RF tag 3 is a passive type that does not have a battery, the RF circuit 11 receives radio waves from the tag reader 5 and generates an electromotive force by a resonance action. The processing circuit 15 of the RF tag 3 operates by the electromotive force.
In the present embodiment, the memory 13 and the processing circuit 15 are tamper resistant circuits.

メモリ13は、例えば、処理回路15の処理を規定したプログラムPRG1、処理回路15の処理に用いられる各種のデータを記憶する。
メモリ13としては、EEPROMやFeRAMなどが用いられる。
The memory 13 stores, for example, a program PRG1 that defines the processing of the processing circuit 15 and various data used for the processing of the processing circuit 15.
As the memory 13, EEPROM, FeRAM, or the like is used.

処理回路15は、メモリ13から読み出したプログラムPRG1を実行し、タグリーダ5との間の通信処理、管理装置7との間の認証処理、並びに内部での秘密データr,kの更新処理等を行う。   The processing circuit 15 executes the program PRG1 read from the memory 13, and performs a communication process with the tag reader 5, an authentication process with the management apparatus 7, an internal secret data r, k update process, and the like. .

[タグリーダ5]
図2に示すように、タグリーダ5は、例えば、RF回路21、インタフェース23、メモリ25および処理回路27を有する。
RF回路21は、RFタグ3のRF回路11と所定の無線周波数により無線通信を行う。
[Tag reader 5]
As shown in FIG. 2, the tag reader 5 includes, for example, an RF circuit 21, an interface 23, a memory 25, and a processing circuit 27.
The RF circuit 21 performs radio communication with the RF circuit 11 of the RF tag 3 at a predetermined radio frequency.

インタフェース23は、セキュアなネットワークを介して管理装置7と通信を行う。
メモリ25は、例えば、処理回路27の処理を規定したプログラムPRG2、処理回路27の処理に用いられる各種のデータを記憶する。
処理回路27は、メモリ25から読み出したプログラムPRG2を実行し、RFタグ3および管理装置7の間の通信処理などを行う。
なお、処理回路27は、乱数発生機能を有している。
本実施形態においては、タグリーダ5は、RFタグ3からデータを読み出す機能の他、RFタグ3にデータを書き込む機能も有している。
The interface 23 communicates with the management device 7 via a secure network.
The memory 25 stores, for example, the program PRG2 that defines the processing of the processing circuit 27 and various data used for the processing of the processing circuit 27.
The processing circuit 27 executes the program PRG2 read from the memory 25, and performs communication processing between the RF tag 3 and the management device 7.
The processing circuit 27 has a random number generation function.
In the present embodiment, the tag reader 5 has a function of writing data to the RF tag 3 in addition to a function of reading data from the RF tag 3.

[管理装置7]
図3は、図1に示す管理装置7の構成図である。
図3に示すように、管理装置7は、例えば、インタフェース31、メモリ33および処理回路35を有する。
インタフェース31は、セキュアなネットワークを介してタグリーダ5と通信を行う。
メモリ33は、例えば、処理回路35の処理を規定したプログラムPRG3、処理回路35の処理に用いられる各種のデータを記憶する。
処理回路35は、メモリ33から読み出したプログラムPRG3を実行し、RFタグ3およびタグリーダ5との間の通信処理などを行う。
[Management device 7]
FIG. 3 is a configuration diagram of the management apparatus 7 shown in FIG.
As illustrated in FIG. 3, the management device 7 includes, for example, an interface 31, a memory 33, and a processing circuit 35.
The interface 31 communicates with the tag reader 5 via a secure network.
The memory 33 stores, for example, the program PRG3 that defines the processing of the processing circuit 35 and various data used for the processing of the processing circuit 35.
The processing circuit 35 executes the program PRG3 read from the memory 33, and performs communication processing between the RF tag 3 and the tag reader 5.

[全体動作例]
図4および図5は、図1に示す通信システム1の全体動作例を説明するためのフロー図である。
ステップST1:
図2に示すタグリーダ5の処理回路27は、乱数sを発生する。
[Example of overall operation]
4 and 5 are flowcharts for explaining an overall operation example of the communication system 1 shown in FIG.
Step ST1:
The processing circuit 27 of the tag reader 5 shown in FIG. 2 generates a random number s.

ステップST2:
処理回路27は、RF回路21を介してRFタグ3にステップST1で生成した乱数sを送信する。
Step ST2:
The processing circuit 27 transmits the random number s generated in step ST1 to the RF tag 3 via the RF circuit 21.

ステップST3:
RFタグ3の処理回路15は、下記式(1)に示すように、メモリ13から読み出した秘密データr,kを基にハッシュ値を生成し、これを秘密データri+1に設定する。本実施形態において、「XOR」は排他的論理和を示す。h()はハッシュ関数を示す。
本実施形態において、RFタグ3の処理回路15および管理装置7の処理回路35がハッシュ値の生成に用いるハッシュ関数Hは、「H:{0,1}→{0,1}」で定義される。
Step ST3:
The processing circuit 15 of the RF tag 3 generates a hash value based on the secret data r i , k j read from the memory 13 as shown in the following formula (1), and sets this as secret data r i + 1 . In the present embodiment, “XOR” indicates exclusive OR. h () represents a hash function.
In the present embodiment, the hash function H used by the processing circuit 15 of the RF tag 3 and the processing circuit 35 of the management device 7 for generating the hash value is “H: {0, 1} l → {0, 1} l ”. Defined.

[数1]
i+1←h(r XOR k
…(1)
[Equation 1]
r i + 1 ← h (r i XOR k j)
... (1)

ステップST4:
RFタグ3の処理回路15は、RF回路11を介して、ステップST3で生成した秘密データri+1を、タグリーダ5に送信する。
タグリーダ5の処理回路27は、RF回路21で受信した秘密データri+1を、インタフェース23を介して管理装置7に送信する。
処理回路27が用いる秘密データr,k(x=i,i+1,...)は、lビットのデータである。ここで、kxは、RFタグ3を識別するために用いられる複数のRFタグ3の各々において異なる値を示す。kの初期値は、複数のRFタグ3の各々において異なる値が割り当てられることを保証するために、予め計算した値を割り当てる。
通信システム1内のRFタグ3の数をmとし、各RFタグ3が認証を行う最高回数をnとした場合、不正な攻撃に対して十分な耐性を備える必要がある。そのため、通信システム1では、上記ハッシュ値を生成する場合に、以下に示すようにハッシュ・チェーン(hash chain)を構築する。
上記ハッシュ・チェーンは、秘密シードtから始まり、2番目のk2はh(t)であり、x番目のkはh(kx−1)である。ここで、「3≦x≦mn」である。本実施形態では、ハッシュ・チェーンを、mnより長くするように秘密シードtを選択する。各RFタグ3の秘密データkの初期値は、上記ハッシュ・チェーンのknp番目の要素から選択される。ここで、「1≦p≦m」が成り立つ。各秘密データkの値は、各RFタグ3のメモリ13に格納され、管理装置7のテーブルデータTDにおいて各RFタグ3の識別データIDRに対応付けられる。RFタグ3および管理装置7は、認証が成功すると、秘密データkを、ハッシュ・チェーンの次の値に更新する。
Step ST4:
The processing circuit 15 of the RF tag 3 transmits the secret data r i + 1 generated in step ST3 to the tag reader 5 via the RF circuit 11.
The processing circuit 27 of the tag reader 5 transmits the secret data r i + 1 received by the RF circuit 21 to the management device 7 via the interface 23.
The secret data r x , k x (x = i, i + 1,...) Used by the processing circuit 27 is l-bit data. Here, kx indicates a different value in each of the plurality of RF tags 3 used for identifying the RF tag 3. The initial value of k x is assigned a value calculated in advance in order to ensure that a different value is assigned to each of the plurality of RF tags 3.
When the number of RF tags 3 in the communication system 1 is m and the maximum number of times each RF tag 3 performs authentication is n, it is necessary to have sufficient resistance against unauthorized attacks. Therefore, in the communication system 1, when generating the hash value, a hash chain is constructed as shown below.
The hash chain, starting from the secret seed t, the second of k2 is h (t), the x-th k x is h (k x-1). Here, “3 ≦ x ≦ mn”. In this embodiment, the secret seed t is selected so that the hash chain is longer than mn. The initial value of the secret data k of each RF tag 3 is selected from the knp- th element of the hash chain. Here, “1 ≦ p ≦ m” holds. The value of each secret data k is stored in the memory 13 of each RF tag 3 and is associated with the identification data IDR of each RF tag 3 in the table data TD of the management device 7. When the authentication is successful, the RF tag 3 and the management device 7 update the secret data k to the next value in the hash chain.

ステップST5:
RFタグ3の処理回路15は、下記式(2)に示すように、ステップST3で生成した秘密データri+1と、メモリ13から読み出した秘密データkと、ステップST2で受信した乱数sとを基にハッシュ値を生成し、これを秘密データri+2とする。
Step ST5:
The processing circuit 15 of the RF tag 3 obtains the secret data r i + 1 generated in step ST3, the secret data k j read from the memory 13, and the random number s received in step ST2, as shown in the following formula (2). A hash value is generated based on this, and this is set as secret data r i + 2 .

[数2]
i+2←h(ri+1 XOR k XOR s)
…(2)
[Equation 2]
r i + 2 ← h (r i + 1 XOR k j XOR s)
... (2)

ステップST6:
RFタグ3の処理回路15は、RF回路11を介して、ステップST5で生成した秘密データri+2を、タグリーダ5に送信する。
タグリーダ5の処理回路27は、ステップST1で生成した乱数sと、RF回路21で受信した秘密データri+2とを、インタフェース23を介して管理装置7に送信する。
Step ST6:
The processing circuit 15 of the RF tag 3 transmits the secret data r i + 2 generated in step ST5 to the tag reader 5 via the RF circuit 11.
The processing circuit 27 of the tag reader 5 transmits the random number s generated in step ST1 and the secret data r i + 2 received by the RF circuit 21 to the management apparatus 7 via the interface 23.

ステップST7:
RFタグ3の処理回路15は、下記式(3)に示すように、ステップST5で生成した秘密データri+2と、メモリ13から読み出した秘密データkとを基にハッシュ値を生成し、これを秘密データri+3に設定する。
Step ST7:
The processing circuit 15 of the RF tag 3 generates a hash value based on the secret data r i + 2 generated in step ST5 and the secret data k j read from the memory 13, as shown in the following formula (3). Is set to secret data r i + 3 .

[数3]
i+3←h(ri+2 XOR k
…(3)
[Equation 3]
r i + 3 ← h (r i + 2 XOR k j )
... (3)

ステップST8:
管理装置7の処理回路35は、ステップST4で受信した秘密データri+1と、ステップST6で受信した乱数sおよび秘密データri+2とを基に、下記式(4)を満たす所定の値k’を、図3に示すテーブルデータTDの項目K,Klastのなかから検索する。
Step ST8:
Based on the secret data r i + 1 received in step ST4, the random number s and the secret data r i + 2 received in step ST6, the processing circuit 35 of the management device 7 sets a predetermined value k ′ that satisfies the following equation (4). The search is performed from the items K and Klast of the table data TD shown in FIG.

[数4]
h(ri+1 XOR k’ XOR s)= ri+2
…(4)
[Equation 4]
h (r i + 1 XOR k ′ XOR s) = r i + 2
... (4)

図3に示すように、テーブルデータTDの各エントリは、項目IDR,K,Klastを有し、それぞれRFタグ3のID、現在の秘密データk、前の秘密データk(現在の秘密データkに更新される前の値)を示している。テーブルデータTDでは、最初に項目IDR,Kにそれぞれ各RFタグ3の識別データIDと秘密データkの初期値とが設定され、項目Klastはnull値になっている。項目Klastは、非同期(desynchronization)問題を解決するために用いられる。管理装置7がRFタグ3の秘密データk(例えば、そのRFタグ3に対応する項目Kの値)を更新し、RFタグ3が攻撃あるいは通信エラーにより、その情報を管理装置7から受信しない場合でも、管理装置7はテーブルデータTDの項目Klastを参照することで、RFタグ3の以前の識別データIDを特定できる。   As shown in FIG. 3, each entry of the table data TD has items IDR, K, and Klast, and the ID of the RF tag 3, the current secret data k, the previous secret data k (the current secret data k) Value before being updated). In the table data TD, the identification data ID of each RF tag 3 and the initial value of the secret data k are first set in the items IDR and K, respectively, and the item Klast is a null value. The item Klast is used to solve the desynchronization problem. When the management device 7 updates the secret data k of the RF tag 3 (for example, the value of the item K corresponding to the RF tag 3), and the RF tag 3 does not receive the information from the management device 7 due to an attack or a communication error However, the management device 7 can specify the previous identification data ID of the RF tag 3 by referring to the item Klast of the table data TD.

ステップST9:
処理回路35は、上記検索で所定の値k’が、項目Kのなかから検索された場合には、下記式(5)に示すように、そのエントリの項目Kの値を、そのエントリの項目Klastにコピーする。また、処理回路35は、下記式(6)に示すように、k’のハッシュ値を項目Kに設定する。
Step ST9:
When the predetermined value k ′ is searched from the item K in the above search, the processing circuit 35 sets the value of the item K of the entry to the item of the entry as shown in the following equation (5). Copy to Klast. Further, the processing circuit 35 sets the hash value of k ′ in the item K as shown in the following formula (6).

[数5]
(検索されたエントリの項目Klastの値)←(検索されたエントリの項目Kの値)
…(5)
[Equation 5]
(Value of item Klast of searched entry) ← (value of item K of searched entry)
... (5)

[数6]
(検索されたエントリの項目Kの値)←h(k’)
…(6)
[Equation 6]
(Value of item K of retrieved entry) ← h (k ′)
(6)

処理回路35は、上記検索で所定の値k’が、項目Klastのなかから検索された場合には、テーブルデータTDの更新を行わない。
なお、処理回路35は、ステップST9における検索によって特定されたエントリの識別データIDRと、その検索に用いられたタグリーダ5の識別データなどから、RFタグ3の利用履歴などを追跡可能な情報を取得できる。このような情報は、処理回路35が生成してもよいし、処理回路35が取得した情報を基に、管理装置7以外のサーバ装置が行っても良い。
The processing circuit 35 does not update the table data TD when the predetermined value k ′ is searched from the item Klast in the above search.
The processing circuit 35 acquires information that can track the usage history of the RF tag 3 from the identification data IDR of the entry specified by the search in step ST9 and the identification data of the tag reader 5 used for the search. it can. Such information may be generated by the processing circuit 35 or may be performed by a server device other than the management device 7 based on the information acquired by the processing circuit 35.

ステップST10:
管理装置7の処理回路35は、下記式(7)に示すように、ステップST6で受信した秘密データri+2と、ステップST8で検索した所定の値k’とを基にハッシュ値を生成し、これを秘密データri+3’に設定する。
Step ST10:
As shown in the following formula (7), the processing circuit 35 of the management device 7 generates a hash value based on the secret data ri + 2 received in step ST6 and the predetermined value k ′ searched in step ST8. To secret data r i + 3 ′.

[数7]
i+3’←h(ri+2 XOR k’)
…(7)
[Equation 7]
r i + 3 '← h (r i + 2 XOR k')
... (7)

ステップST11:
管理装置7の処理回路35は、ステップST10で生成した秘密データri+3’をタグリーダ5を介してRFタグ3に送信する。
Step ST11:
The processing circuit 35 of the management device 7 transmits the secret data r i + 3 ′ generated in step ST10 to the RF tag 3 via the tag reader 5.

ステップST12:
RFタグ3の処理回路15は、ステップST11で受信した秘密データri+3’と、ステップST7で生成した秘密データri+3とを比較し、一致していればステップST13に進む。
Step ST12:
Processing circuit 15 of the RF tag 3 includes a secret data r i + 3 'received in step ST11, by comparing the secret data r i + 3 generated in step ST7, the process proceeds to step ST13 if the match.

ステップST13:
RFタグ3の処理回路15は、下記式(8)に示すように、ステップST7で生成した秘密データri+3と、秘密データkとを基にハッシュ値を生成し、これを秘密データri+4に設定する。
Step ST13:
As shown in the following formula (8), the processing circuit 15 of the RF tag 3 generates a hash value based on the secret data r i + 3 generated in step ST7 and the secret data k j, and uses this as secret data r i + 4. Set to.

[数8]
i+4←h(ri+3 XOR k
…(8)
[Equation 8]
r i + 4 ← h (r i + 3 XOR k j )
(8)

ステップST14:
RFタグ3の処理回路15は、下記式(9)に示すように、秘密データkのハッシュ値を生成し、これを秘密データkj+1に設定する。
Step ST14:
Processing circuit 15 of the RF tag 3, as shown in the following formula (9), to generate a hash value of the secret data k j, set it to the secret data k j + 1.

[数9]
j+1←h(k
…(9)
[Equation 9]
k j + 1 ← h (k j )
... (9)

[RFタグ3の動作例]
図6は、図1に示すRFタグ3の動作例を説明するためのフローチャートである。
ステップST21:
図2に示すRF回路11は、タグリーダ5のRF回路21と無線通信を行って、タグリーダ5が生成した乱数sを受信する。
[Operation example of RF tag 3]
FIG. 6 is a flowchart for explaining an operation example of the RF tag 3 shown in FIG.
Step ST21:
The RF circuit 11 shown in FIG. 2 performs wireless communication with the RF circuit 21 of the tag reader 5 and receives the random number s generated by the tag reader 5.

ステップST22:
RFタグ3の処理回路15は、上記式(1)に示すように、メモリ13から読み出した秘密データr,kを基にハッシュ値を生成し、これを秘密データri+1に設定する。
Step ST22:
The processing circuit 15 of the RF tag 3 generates a hash value based on the secret data r i , k j read from the memory 13 as shown in the above formula (1), and sets this as secret data r i + 1 .

ステップST23:
RFタグ3の処理回路15は、RF回路11を介して、ステップST22で生成した秘密データri+1を、タグリーダ5に送信する。
Step ST23:
The processing circuit 15 of the RF tag 3 transmits the secret data r i + 1 generated in step ST22 to the tag reader 5 via the RF circuit 11.

ステップST24:
RFタグ3の処理回路15は、上記式(2)に示すように、ステップST23で生成した秘密データri+1と、メモリ13から読み出した秘密データkと、ステップST21で受信した乱数sとを基にハッシュ値を生成し、これを秘密データri+2に設定する。
Step ST24:
The processing circuit 15 of the RF tag 3 receives the secret data r i + 1 generated in step ST23, the secret data k j read from the memory 13, and the random number s received in step ST21, as shown in the above equation (2). A hash value is generated based on this, and this is set as secret data r i + 2 .

ステップST25:
RFタグ3の処理回路15は、RF回路11を介して、ステップST24で生成した秘密データri+2を、タグリーダ5に送信する。
Step ST25:
The processing circuit 15 of the RF tag 3 transmits the secret data r i + 2 generated in step ST24 to the tag reader 5 via the RF circuit 11.

ステップST26:
RFタグ3の処理回路15は、上記式(3)に示すように、ステップST24で生成した秘密データri+2と、メモリ13から読み出した秘密データkとを基にハッシュ値を生成し、これを秘密データri+3に設定する。
Step ST26:
The processing circuit 15 of the RF tag 3 generates a hash value based on the secret data r i + 2 generated in step ST24 and the secret data k j read from the memory 13, as shown in the above equation (3). Is set to secret data r i + 3 .

ステップST27:
RFタグ3の処理回路15は、RF回路11が管理装置7からの応答を受信したか否かを判断し、受信したと判断した場合にステップST28に進み、そうでない場合にステップST21に戻る。
Step ST27:
The processing circuit 15 of the RF tag 3 determines whether or not the RF circuit 11 has received a response from the management device 7, and proceeds to step ST28 if it is determined that it has been received, and returns to step ST21 otherwise.

ステップST28:
RFタグ3の処理回路15は、RF回路11が上記受信した応答がRESET信号であるか否かを判断し、RESET信号であると判断した場合にはステップST21に戻り、そうでない場合にはステップST29に進む。
Step ST28:
The processing circuit 15 of the RF tag 3 determines whether or not the response received by the RF circuit 11 is a RESET signal. If it is determined that the response is a RESET signal, the processing returns to step ST21; Proceed to ST29.

ステップST29:
RFタグ3の処理回路15は、RF回路11が上記受信した応答がFIN信号であるか否かを判断し、FIN信号であると判断した場合には処理を終了し、そうでない場合にはステップST30に進む。
Step ST29:
The processing circuit 15 of the RF tag 3 determines whether or not the response received by the RF circuit 11 is a FIN signal. If it is determined that the response is a FIN signal, the processing is terminated. Proceed to ST30.

ステップST30:
RFタグ3の処理回路15は、RF回路11が上記受信した応答である秘密データri+3’と、ステップST26で生成した秘密データri+3とを比較し、一致していればステップST31に進み、そうでない場合には処理を終了する。
Step ST30:
Processing circuit 15 of the RF tag 3 includes a secret data r i + 3 'RF circuit 11 is a response received above, compares the secret data r i + 3 generated in step ST26, the flow advances to step ST31 if the match, If not, the process ends.

ステップST31:
RFタグ3の処理回路15は、上記式(8)に示すように、ステップST26で生成した秘密データri+3と、秘密データkとを基にハッシュ値を生成し、これを秘密データri+4に設定する。
Step ST31:
As shown in the above equation (8), the processing circuit 15 of the RF tag 3 generates a hash value based on the secret data r i + 3 generated in step ST26 and the secret data k j, and converts this into secret data ri + 4. Set.

ステップST32:
RFタグ3の処理回路15は、上記式(9)に示すように、秘密データkのハッシュ値を生成し、これを秘密データkj+1に設定する。
Step ST32:
The processing circuit 15 of the RF tag 3 generates a hash value of the secret data k j as shown in the above formula (9), and sets this as secret data k j + 1 .

RFタグ3の処理回路15は、図6に示す処理を、RF回路11がRF回路21からエネルギが提供されなくなったとき、強制的に終了する。   The processing circuit 15 of the RF tag 3 forcibly ends the processing shown in FIG. 6 when the RF circuit 11 no longer provides energy from the RF circuit 21.

[タグリーダ5の動作例]
図7は、図1に示すタグリーダ5の動作例を説明するためのフローチャートである。
ステップST41:
図2に示すタグリーダ5の処理回路27は、乱数sを発生する。
[Operation example of tag reader 5]
FIG. 7 is a flowchart for explaining an operation example of the tag reader 5 shown in FIG.
Step ST41:
The processing circuit 27 of the tag reader 5 shown in FIG. 2 generates a random number s.

ステップST42:
タグリーダ5の処理回路27は、RF回路21を介してRFタグ3にステップST1で生成した乱数sを送信する。
Step ST42:
The processing circuit 27 of the tag reader 5 transmits the random number s generated in step ST1 to the RF tag 3 via the RF circuit 21.

ステップST43:
タグリーダ5の処理回路27は、RFタグ3からの秘密データri+1,ri+2をRF回路21が受信するまで、例えば、予め決められた時間Tだけ待機する。
Step ST43:
The processing circuit 27 of the tag reader 5 waits for a predetermined time T, for example, until the RF circuit 21 receives the secret data r i + 1 and r i + 2 from the RF tag 3.

ステップST44:
タグリーダ5の処理回路27は、待機時間が上記時間Tを経過していないか否かを判断し、経過していないと判断するとステップST45に進み、そうでない場合にはステップST45に進む。
Step ST44:
The processing circuit 27 of the tag reader 5 determines whether or not the waiting time has passed the time T. If it is determined that the waiting time has not elapsed, the processing proceeds to step ST45. Otherwise, the processing proceeds to step ST45.

ステップST45:
タグリーダ5の処理回路27は、RF回路21を介してRFタグ3に、FIN信号を送信する。
Step ST45:
The processing circuit 27 of the tag reader 5 transmits a FIN signal to the RF tag 3 via the RF circuit 21.

ステップST46:
タグリーダ5の処理回路27は、RF回路21を介して管理装置7に、ステップST41で生成した乱数sと、RFタグ3から受信した秘密データri+1,ri+2とを送信する。
Step ST46:
The processing circuit 27 of the tag reader 5 transmits the random number s generated in step ST41 and the secret data r i + 1 and r i + 2 received from the RF tag 3 to the management apparatus 7 via the RF circuit 21.

ステップST47:
タグリーダ5の処理回路27は、管理装置7から応答を受信する。
Step ST47:
The processing circuit 27 of the tag reader 5 receives a response from the management device 7.

ステップST48:
タグリーダ5の処理回路27は、ステップST47で受信した応答が秘密データri+3’であるか否かを判断し、そうであると判断するとステップST49に進み、そうでないと判断するとステップST50に進む。
Step ST48:
The processing circuit 27 of the tag reader 5 determines whether or not the response received in step ST47 is the secret data r i + 3 ′. If so, the process proceeds to step ST49, and if not, the process proceeds to step ST50.

ステップST49:
タグリーダ5の処理回路27は、RF回路21を介してRFタグ3に、上記受信した秘密データri+3’を送信する。
Step ST49:
The processing circuit 27 of the tag reader 5 transmits the received secret data r i + 3 ′ to the RF tag 3 via the RF circuit 21.

ステップST50:
タグリーダ5の処理回路27は、ステップST47で受信した応答がCOLLISION信号であるか否かを判断し、そうであると判断するとステップST51に進み、そうでないと判断するとステップST52に進む。
Step ST50:
The processing circuit 27 of the tag reader 5 determines whether or not the response received in step ST47 is a COLLISION signal. If so, the process proceeds to step ST51. If not, the process proceeds to step ST52.

ステップST51:
タグリーダ5の処理回路27は、RF回路21を介してRFタグ3に、RESET信号を送信する。
Step ST51:
The processing circuit 27 of the tag reader 5 transmits a RESET signal to the RF tag 3 via the RF circuit 21.

ステップST52:
タグリーダ5の処理回路27は、RF回路21を介してRFタグ3に、FIN信号を送信する。
Step ST52:
The processing circuit 27 of the tag reader 5 transmits a FIN signal to the RF tag 3 via the RF circuit 21.

[管理装置7]
図8は、図3に示す管理装置7の動作例を説明するためのフローチャートである。
ステップST61:
管理装置7のインタフェース31は、タグリーダ5から、乱数s、秘密データri+1,ri+2を受信し、これらをメモリ33に書き込む。
[Management device 7]
FIG. 8 is a flowchart for explaining an operation example of the management apparatus 7 shown in FIG.
Step ST61:
The interface 31 of the management device 7 receives the random number s and the secret data r i + 1 and r i + 2 from the tag reader 5 and writes them in the memory 33.

ステップST62:
管理装置7の処理回路35は、メモリ33から読み出した乱数s、秘密データri+1,ri+2を基に、上記式(4)を満たす所定の値k’を、メモリ33から読み出した図3に示すテーブルデータTDの項目K,Klastのなかから検索する。
Step ST62:
The processing circuit 35 of the management device 7 reads a predetermined value k ′ satisfying the above equation (4) from the memory 33 based on the random number s and the secret data r i + 1 and r i + 2 read from the memory 33 in FIG. Search is made from items K and Klast of the indicated table data TD.

ステップST63:
管理装置7の処理回路35は、ステップST62の検索で、1個以上のk’が検索されたと判断するとステップST63に進み、そうでない場合にはステップST64に進む。
Step ST63:
If the processing circuit 35 of the management apparatus 7 determines that one or more k ′ has been searched in the search of step ST62, the process proceeds to step ST63, and if not, the process proceeds to step ST64.

ステップST64:
管理装置7の処理回路35は、インタフェース31を介してタグリーダ5にFAILURE信号を送信する。
Step ST64:
The processing circuit 35 of the management device 7 transmits a FAILURE signal to the tag reader 5 via the interface 31.

ステップST65:
管理装置7の処理回路35は、ステップST62の検索で、1個のk’が検索されたと判断するとステップST67に進み、そうでない場合にはステップST66に進む。
Step ST65:
If the processing circuit 35 of the management device 7 determines that one k ′ has been searched in the search in step ST62, the process proceeds to step ST67, and if not, the process proceeds to step ST66.

ステップST66:
管理装置7の処理回路35は、インタフェース31を介してタグリーダ5にCOLLISION信号を送信する。
Step ST66:
The processing circuit 35 of the management device 7 transmits a COLLISION signal to the tag reader 5 via the interface 31.

ステップST67:
管理装置7の処理回路35は、ステップST62の検索で所定の値k’が、項目Kのなかから検索されたと判断するとステップST68に進み、そうでない場合には処理を終了する。
Step ST67:
If the processing circuit 35 of the management device 7 determines that the predetermined value k ′ has been searched from among the items K in the search of step ST62, the process proceeds to step ST68, and if not, the processing ends.

ステップST68:
管理装置7の処理回路35は、上記式(5)に示すように、ステップST62で所定の値k’が検索されたエントリの項目Kの値を、そのエントリの項目Klastにコピーする。
また、処理回路35は、上記式(6)に示すように、k’のハッシュ値を当該エントリの項目Kに設定する。
なお、処理回路35は、上記検索で所定の値k’が、項目Klastのなかから検索された場合には、テーブルデータTDの更新を行わない。
Step ST68:
As shown in the above formula (5), the processing circuit 35 of the management device 7 copies the value of the item K of the entry for which the predetermined value k ′ has been searched in step ST62 to the item Klast of the entry.
Further, the processing circuit 35 sets the hash value of k ′ in the item K of the entry as shown in the above equation (6).
Note that the processing circuit 35 does not update the table data TD when the predetermined value k ′ is searched from the item Klast in the search.

ステップST69:
管理装置7の処理回路35は、上記式(7)に示すように、ステップST61で受信した秘密データri+2と、ステップST62で検索した所定の値k’とを基にハッシュ値を生成し、これを秘密データri+3’に設定する。
そして、処理回路35は、インタフェース31を介して、上記生成した秘密データri+3’をタグリーダ5に送信する。
Step ST69:
As shown in the above equation (7), the processing circuit 35 of the management device 7 generates a hash value based on the secret data r i + 2 received in step ST61 and the predetermined value k ′ searched in step ST62. This is set to the secret data r i + 3 ′.
Then, the processing circuit 35 transmits the generated secret data r i + 3 ′ to the tag reader 5 through the interface 31.

以上説明したように、通信システム1によれば、管理装置7において上述したようにテーブルデータTDを用いてRFタグ3のIDを特定することで、RFタグ3の総数をm、各タグに許されるタグリーダ5との間のインタラクションの最大回数をnとした場合に、ハッシュ関数の演算を2m回にでき、非特許文献1のシステムのm*n回に対して管理装置7の演算量を大幅に削減できる。
すなわち、非特許文献1のシステムでは、引数の初期値として各タグに予め割り当てられたシードを用い、各タグについて、前回のハッシュ値を引数としてハッシュ値を順に生成する。そして、各タグについて、各段階で生成されたハッシュ値とタグから入力した値とを基にIDを検索する。そのため、各タグのID検索に、n回のハッシュ演算を行う必要があり、m個のタグについては合計m*n回のハッシュ演算を行う必要がある。
これに対して、通信システム1では、上述したテーブルデータTDを用いることで、各タグについて、上記式(4)を基にk’を生成するためのハッシュ演算と、テーブルデータTDを構成するためのハッシュ演算との2回のみを行えばよい。そのため、RFタグ3の数がm(テーブルデータTDのエントリ数がm)の場合には、合計m*n回のハッシュ演算を行えばよく、管理装置7の演算量を大幅に削減できる。
As described above, according to the communication system 1, by specifying the ID of the RF tag 3 using the table data TD in the management device 7 as described above, the total number of RF tags 3 is allowed to m and each tag is allowed. When the maximum number of interactions with the tag reader 5 is n, the calculation of the hash function can be performed 2m times, and the calculation amount of the management device 7 is greatly increased compared to m * n times of the system of Non-Patent Document 1. Can be reduced.
That is, in the system of Non-Patent Document 1, a seed previously assigned to each tag is used as an initial value of an argument, and a hash value is sequentially generated for each tag using the previous hash value as an argument. For each tag, an ID is searched based on the hash value generated at each stage and the value input from the tag. Therefore, it is necessary to perform n hash operations for ID search of each tag, and it is necessary to perform a total of m * n hash operations for m tags.
On the other hand, in the communication system 1, by using the table data TD described above, for each tag, a hash operation for generating k ′ based on the above equation (4) and the table data TD are configured. It is only necessary to perform two times with the hash calculation. Therefore, when the number of RF tags 3 is m (the number of entries in the table data TD is m), it is only necessary to perform a total of m * n hash operations, and the calculation amount of the management device 7 can be greatly reduced.

また、通信システム1によれば、以下に示すように十分なセキュリティ性を持つことができる。
以下、上述した通信システム1のセキュリティ性について説明する。
ハッシュ値h()はランダムなオラクル(oracle)と仮定すると、通信システム1は、RFタグ3のメモリ13の不正変更を除いて全ての想定できる攻撃に対して安全である。また一方、メモリ13の情報をアップデートすることによって、この攻撃が成功する可能性は低くなる。下記は、各々の攻撃に対するセキュリティ分析である。
Moreover, according to the communication system 1, it can have sufficient security as shown below.
Hereinafter, the security of the communication system 1 described above will be described.
Assuming that the hash value h () is a random oracle, the communication system 1 is safe against all possible attacks except for unauthorized modification of the memory 13 of the RF tag 3. On the other hand, updating the information in the memory 13 reduces the possibility of this attack being successful. The following is a security analysis for each attack.

傍受による攻撃については、傍受によって、攻撃者は1つの認証プロセスの間に乱数sと3つの連続した秘密データrを集めることができる。sはランダムな値なので、RFタグ3を追跡することはできない。その結果、攻撃者は値rを利用しなければならない。その一方、もしhがランダムなオラクルと仮定すると、RFタグ3のkjを知らない攻撃者は、ランダムな値からRFタグ3の各々のアウトプットを区別できない。ランダムなオラクルのアウトプットから本物のランダムな値を区別する唯一の方法は、同じインプットでランダムなオラクルを再び生成し、同じ出力を得ることである。その一方、攻撃者はhのインプットを知ることができない。これは、攻撃者は、kがh()のパラメータのひとつであるということを知らないためである。その結果、攻撃者はRFタグ3のアウトプットをランダムな値のように考える。従って、RFタグ3からの値の全てが本物のランダムな値又は、攻撃者にはランダムな値として見られたため、攻撃者はRFタグ3を追跡できない。 For an attack by interception, the attacker can collect a random number s and three consecutive secret data r during one authentication process. Since s is a random value, the RF tag 3 cannot be tracked. As a result, the attacker must use the value r. On the other hand, if h is a random oracle, an attacker who does not know kj of the RF tag 3 cannot distinguish each output of the RF tag 3 from a random value. The only way to distinguish real random values from random oracle outputs is to regenerate random oracles with the same inputs to get the same output. On the other hand, the attacker cannot know the input of h. This is because the attacker does not know that k j is one of the parameters of h (). As a result, the attacker considers the output of the RF tag 3 as a random value. Therefore, the attacker cannot track the RF tag 3 because all the values from the RF tag 3 are seen as genuine random values or random values for the attacker.

偽造については、攻撃者はRFタグ3のkを知らないため、ri+1からri+2を生成できない攻撃者は反復攻撃を行う必要がある。その結果、攻撃者は2つのランダムな値を送ることができ、この攻撃が特殊なタグを偽造する可能性はl・2l−1である。なぜなら、KとKlastの項目に2つの値があり、上記式(4)の検証のために使われるためと、それがシステムの任意のタグを偽造する可能性はm/2l−1と無視できる程度になる。一方、攻撃者は正規の相互作用の偽造によって、反復攻撃することを試みる可能性がある。ここで、sは偽造によって使われ、タグリーダ5が送信したものとは違い、攻撃者の反復攻撃は成功しない。 Regarding forgery, since the attacker does not know k of the RF tag 3, the attacker who cannot generate r i + 2 from r i + 1 needs to perform repetitive attacks. As a result, the attacker can send two random values, and the probability that this attack forges a special tag is l · 2 l−1 . This is because there are two values in the items of K and Klast, which are used for the verification of the above equation (4), and that the possibility of forging an arbitrary tag of the system is m / 2 l-1 and ignored. It will be possible. On the other hand, attackers may try to attack repeatedly by forging regular interactions. Here, s is used by forgery, and unlike the one sent by the tag reader 5, the attacker's repeated attack is not successful.

乱数sを制御する攻撃については、攻撃者がRFタグ3の応答を生成すること試みるが、乱数sを制御することによって追跡しなければならないパターンは多数ある。攻撃者が乱数sを送る前にri+1を推測することが出来れば、攻撃者はデータの応答が継続的に値ri+1を乱数Sとして送ることによってデータの返答がいつも同じにできる。その場合、ri+2はいつも固定値h(k)で、攻撃者はタグを追跡できる。一方、秘密でータkは秘密の値のため、攻撃者はri+1を予測できず、この攻撃によりタグを追跡することはできない。 For an attack that controls the random number s, the attacker attempts to generate a response for the RF tag 3, but there are many patterns that must be tracked by controlling the random number s. If the attacker can guess r i + 1 before sending the random number s, the attacker can always make the data reply the same by sending the data response continuously with the value r i + 1 as the random number S. In that case, r i + 2 is always a fixed value h (k j ) and the attacker can track the tag. On the other hand, since the secret data k j is a secret value, the attacker cannot predict r i + 1 and cannot track the tag by this attack.

タグのアップデートによる攻撃については、攻撃者はタグ3の秘密キーをアップデートすることによって、非同期攻撃を試みる可能性がある。一方、管理装置7の助けなしで、攻撃者はri+3を知ることができない。なぜなら、攻撃者は現在のkjを知らないし、kはri+2からri+3の計算を必要とするためである。 For an attack by updating the tag, the attacker may attempt an asynchronous attack by updating the secret key of tag 3. On the other hand, without the help of the management device 7, the attacker cannot know ri + 3 . This is because the attacker do not know the current kj, k j is because it requires calculated from r i + 2 of r i + 3.

データベースのアップデートによる攻撃については、攻撃者は、管理装置7のデータベースとタグの間の非同期kを介入者攻撃することを試みる可能性がある。通信システム1は、タグ3がタグリーダ5から離れてることと、攻撃者が二つのコメントの間のデータを配信することが出来ると推測する。タグリーダ5が認証処理を開始した時、攻撃者はsをタグリーダ5からRFタグ3に移動し、その後、タグリーダ5にri+1とri+2を移動する。それから、管理装置7がkをアップデートする。その後、タグリーダ5がRFタグ3のkを更新したにも係わらず、サーバはri+3’を送信する。この時、攻撃者がそれをタグ3に配信しなければ、kはデータベースとタグの間で異なる。もし、管理装置7がIDを見つけるために最新のkのみを使用する場合、このタグ3は使用できなくなる。一方、管理装置7は、もう一つのkを記憶し、それはKlastの項目において、最新のkが設定される。これを利用して、管理装置7は、タグ3を識別する。タグ3がKlastの項目を使って識別してる時、管理装置7は、kをアップデートしないため、項目KとKlastの2つは、非同期攻撃からシステムを守るのに充分である。 As for the attack due to the database update, the attacker may attempt to perform an attacker attack on the asynchronous k between the database of the management device 7 and the tag. The communication system 1 estimates that the tag 3 is away from the tag reader 5 and that the attacker can deliver data between the two comments. When the tag reader 5 starts the authentication process, the attacker moves s from the tag reader 5 to the RF tag 3, and then moves r i + 1 and r i + 2 to the tag reader 5. Then, the management device 7 updates k. Thereafter, the server transmits r i + 3 ′ even though the tag reader 5 has updated k of the RF tag 3. At this time, if the attacker does not deliver it to tag 3, k will be different between the database and the tag. If the management device 7 uses only the latest k in order to find the ID, this tag 3 cannot be used. On the other hand, the management device 7 stores another k, and the latest k is set in the item of Klast. Using this, the management device 7 identifies the tag 3. When the tag 3 is identified using the Klast item, the management device 7 does not update k, so two items K and Klast are sufficient to protect the system from asynchronous attacks.

エネルギーの制御による攻撃については、タグ3のキャパシターが一度に全てのプロセスを操作するため充分なキャパシティを持たないと仮定し、それから、攻撃者が任務操作を除外したい時に、タグの処理をいつでも止めることが出来ると仮定する。この仮定では、他のスキームが弱くなる可能性がある。例えば、上記非特許文献1のシステムは、データを送り、メモリのコンテンツをアップデートします。攻撃者は、タグ3がメモリの内容を更新する直前に、タグの認証処理を停止させ、毎回同じ応答を取得する。しかしながら、通信システム1は、このような攻撃に十分な耐性がある。すなわち、通信システム1は、データを送信する前にそれを更新する。これは、このような攻撃に対してのタグ3の応答のバラツキを保証する。   For energy controlled attacks, it is assumed that the tag 3 capacitor does not have enough capacity to operate all processes at once, and then whenever the attacker wants to exclude mission operations, tag processing Assume that it can be stopped. This assumption may weaken other schemes. For example, the system of Non-Patent Document 1 sends data and updates the contents of the memory. The attacker stops the tag authentication process immediately before the tag 3 updates the contents of the memory, and acquires the same response every time. However, the communication system 1 is sufficiently resistant to such attacks. That is, the communication system 1 updates the data before transmitting it. This guarantees variations in the response of the tag 3 to such an attack.

ハッシュ・チェーンに基づく攻撃については、タグの認証処理の最大回数nは、メモリタンパーに基づく攻撃に対して耐えうるために十分に多くする必要がる。最初に攻撃者はタグのk,ktamperを不正に読み出す。その後、攻撃者は、以下に示すようにして、他のターゲットのタグのk、ktargetを取得する。ハッシュ・チェーン内のktamperより1つ前のktamperが幸運にも攻撃者が取得したとする。攻撃者は、乱数sを用いて管理装置に問い合わせを行い、ri+1,ri+2を取得する。攻撃者は、ktamperからスタートしたハッシュ・チェーンの全ての値であるk’との間で一致するか否かのテストを行って、ktamperを検索できる。これは、ハッシュ・チェーンの長さが2ではなく、2l/2と短いためである。このような問題は、通信システム1のみならず、ハッシュ・チェーンを用いる全てのシステムに存在する。 For an attack based on a hash chain, the maximum number n of tag authentication processes needs to be large enough to withstand an attack based on a memory tamper. First, the attacker illegally reads the k and ktamp of the tag. Thereafter, the attacker obtains k and ktarget of other target tags as shown below. Assume that an attacker is lucky enough to acquire a ktamper one before the ktamper in the hash chain. The attacker makes an inquiry to the management apparatus using the random number s, and obtains r i + 1 and r i + 2 . An attacker can search for ktamper by testing whether it matches with k ′, which is all values in the hash chain starting from ktamper. This is the length of the hash chain is not the 2 l, it is shorter and 2 l / 2. Such a problem exists not only in the communication system 1 but also in all systems using a hash chain.

メモリタンパーによる攻撃については、攻撃者がタグ3のメモリをタンパーすることによってkを取得すると共に、管理装置と様々なタグとの間の通信を傍受した場合に、攻撃者はタグの以前のイベントを追跡できる。攻撃者は、固定値kと、傍受により収集した情報とを用いて上記式(4)をテストする。そして、攻撃者は、傍受した情報のいずれかが当該テストに合格した場合に、その情報を特定する。しかしながら、このフォアワード・トレースは、kの最後の更新前に生成された情報が通信で使われる場合には適用できない。すなわち、攻撃者は、カレントのkを知り得た場合でも、kは一方向性関数hによって更新されているため、タグ3の以前のkを知りえない。従って、フォアワード・トレースは、短期間に限定され、連続して認証が行われるようなプロセスには用いることができない。   For an attack by a memory tamper, if the attacker obtains k by tampering with the memory of the tag 3 and intercepts communications between the management device and various tags, the attacker Can be tracked. The attacker tests the above equation (4) using the fixed value k and information collected by interception. Then, when any of the intercepted information passes the test, the attacker specifies the information. However, this forward trace is not applicable when information generated before the last update of k is used in communication. That is, even if the attacker knows the current k, k is updated by the one-way function h, and thus cannot know the previous k of the tag 3. Therefore, forward tracing is limited to a short time and cannot be used for processes where authentication continues.

本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
The present invention is not limited to the embodiment described above.
That is, those skilled in the art may make various modifications, combinations, subcombinations, and alternatives regarding the components of the above-described embodiments within the technical scope of the present invention or an equivalent scope thereof.

図1は、本発明の実施形態の通信システムの全体構成図である。FIG. 1 is an overall configuration diagram of a communication system according to an embodiment of the present invention. 図2は、図1に示すRFタグおよびタグリーダの構成図である。FIG. 2 is a configuration diagram of the RF tag and tag reader shown in FIG. 図3は、図1に示す管理装置の構成図である。FIG. 3 is a block diagram of the management apparatus shown in FIG. 図4は、図1に示す通信システムの全体動作例を説明するためのフロー図である。FIG. 4 is a flowchart for explaining an overall operation example of the communication system shown in FIG. 図5は、図1に示す通信システムの全体動作例を説明するための図4の続きのフロー図である。FIG. 5 is a flowchart subsequent to FIG. 4 for explaining an example of the overall operation of the communication system shown in FIG. 図6は、図1に示すRFタグの動作例を説明するためのフローチャートである。FIG. 6 is a flowchart for explaining an operation example of the RF tag shown in FIG. 図7は、図1に示すタグリーダの動作例を説明するためのフローチャートである。FIG. 7 is a flowchart for explaining an operation example of the tag reader shown in FIG. 図8は、図3に示す管理装置の動作例を説明するためのフローチャートである。FIG. 8 is a flowchart for explaining an operation example of the management apparatus shown in FIG.

符号の説明Explanation of symbols

1…通信システム、3…RFタグ、5…タグリーダ、7…管理装置、11…RF回路、13…メモリ、15…処理回路、21…RF回路、23…インタフェース、25…メモリ、27…処理回路、31…インタフェース、33…メモリ、35…処理回路、TD…テーブルデータ   DESCRIPTION OF SYMBOLS 1 ... Communication system, 3 ... RF tag, 5 ... Tag reader, 7 ... Management apparatus, 11 ... RF circuit, 13 ... Memory, 15 ... Processing circuit, 21 ... RF circuit, 23 ... Interface, 25 ... Memory, 27 ... Processing circuit 31 ... Interface, 33 ... Memory, 35 ... Processing circuit, TD ... Table data

Claims (6)

タグ、リーダおよび管理装置の間で行われる通信方法であって、
前記リーダが、乱数sを前記タグに送信する第1の工程と、
前記タグが、第1の秘密データrと第2の秘密データkとを引数として得たハッシュ値を第1の秘密データri+1として前記リーダを介して前記管理装置に送信する第2の工程と、
前記タグが、前記第1の工程で受信した前記乱数sと、前記第2の工程で生成した前記第1の秘密データri+1とを基に、第1の秘密データri+2を生成し、これを前記リーダを介して管理装置に送信する第3の工程と、
前記リーダが、乱数sと、前記第3の工程で受信した前記第1の秘密データri+2とを、前記管理装置に送信する第4の工程と、
前記管理装置が、前記第2の工程で受信した前記第1の秘密データri+1と、前記第4の工程で受信した乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定する第5の工程と、
前記管理装置が、複数のタグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを参照して、前記第5の工程で特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索する第6の工程と、
前記管理装置が、所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する第7の工程と
有する通信方法。
A communication method performed between a tag, a reader and a management device,
A first step in which the reader transmits a random number s to the tag;
The tag transmits a hash value obtained by using the first secret data r i and the second secret data k j as arguments to the management device via the reader as first secret data r i + 1 . Process,
The tag generates first secret data r i + 2 based on the random number s received in the first step and the first secret data r i + 1 generated in the second step, A third step of transmitting to the management device via the reader;
A fourth step in which the reader transmits the random number s and the first secret data r i + 2 received in the third step to the management device;
A hash value obtained by the management device based on the first secret data r i + 1 received in the second step, the random number s received in the fourth step, and a predetermined value k ′ is obtained. , A fifth step of identifying the predetermined value k ′ to be the first secret data r i + 2 ;
The management device refers to the table data indicating the identification data, the first value K, and the second value Klast in association with the identification data of a plurality of tags, and the predetermined data specified in the fifth step A sixth step of searching for an entry in which the value k ′ matches the first value K or the second value Klast;
The management device copies the first value K to the second value Klast when an entry having a predetermined value k ′ and the first value K is present in the table data, and A communication method comprising: a seventh step of setting a hash value of a predetermined value k ′ to the first value K.
前記管理装置が、前記第3の工程で受信した前記第1の秘密データri+2と、前記第5の工程で特定した前記所定の値k’とを基に第1ハッシュ値r’i+3を生成し、これを前記タグに送信する第8の工程と、
前記タグが、前記第3の工程で生成した前記第1の秘密データri+2と、前記第2の秘密データkとを基に、第2のハッシュ値ri+3を生成し、当該第2のハッシュ値ri+3と、前記第8の工程で受信した前記第1ハッシュ値r’i+3とが一致したことを条件に、前記第2の秘密データkのハッシュ値を、更新後の第2の秘密データkj+1として設定する第9の工程と
をさらに有する請求項1に記載の通信方法。
The management device generates a first hash value r ′ i + 3 based on the first secret data r i + 2 received in the third step and the predetermined value k ′ specified in the fifth step. And an eighth step of transmitting this to the tag;
The tag generates a second hash value r i + 3 based on the first secret data r i + 2 generated in the third step and the second secret data k j, and the second On the condition that the hash value r i + 3 matches the first hash value r ′ i + 3 received in the eighth step, the hash value of the second secret data k j is updated to the second value after the update. The communication method according to claim 1, further comprising: a ninth step of setting as secret data k j + 1 .
タグ、リーダおよび管理装置を有する通信システムであって、
前記リーダが、乱数sを前記タグに送信し、
前記タグが、第1の秘密データrと第2の秘密データkとを引数として得たハッシュ値を第1の秘密データri+1として前記リーダを介して前記管理装置に送信し、
前記タグが、前記受信した前記乱数sと、前記生成した前記第1の秘密データri+1とを基に、第1の秘密データri+2を生成し、これを前記リーダを介して管理装置に送信し、
前記リーダが、乱数sと、前記受信した前記第1の秘密データri+2とを、前記管理装置に送信し、
前記管理装置が、前記受信した前記第1の秘密データri+1と、前記受信した乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定し、
前記管理装置が、複数のタグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを参照して、前記特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索し、
前記管理装置が、所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する
通信システム。
A communication system having a tag, a reader and a management device,
The reader sends a random number s to the tag;
The tag transmits a hash value obtained by using the first secret data r i and the second secret data k j as arguments to the management device via the reader as first secret data r i + 1 ,
The tag generates first secret data r i + 2 based on the received random number s and the generated first secret data r i + 1, and transmits this to the management device via the reader And
The reader sends the random number s and the received first secret data r i + 2 to the management device;
A hash value obtained by the management device based on the received first secret data r i + 1 , the received random number s, and a predetermined value k ′ is the first secret data r i + 2 Identifying the predetermined value k ′
The management device refers to the table data indicating the identification data, the first value K, and the second value Klast in association with the identification data of a plurality of tags, and the specified predetermined value k ′ and the specified data Search for an entry that matches the first value K or the second value Klast;
The management device copies the first value K to the second value Klast when an entry having a predetermined value k ′ and the first value K is present in the table data, and A communication system that sets a hash value of a predetermined value k ′ to the first value K.
リーダを介してタグと通信を行う通信装置が実行する通信方法であって、
第1の秘密データrと第2の秘密データkとを引数として前記タグが生成したハッシュ値である第1の秘密データri+1を前記タグから前記リーダを介して受信する第1の工程と、
前記タグが前記リーダから受信した乱数sと前記第1の秘密データri+1とを基に生成した第1の秘密データri+2を前記タグから前記リーダを介して受信する第2の工程と、
前記乱数sと前記第1の秘密データri+2とを前記リーダから受信する第3の工程と、
前記第1の工程で受信した前記第1の秘密データri+1と、前記第3の工程で受信した乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定する第4の工程と、
複数の前記タグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを参照して、前記第4の工程で特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索する第5の工程と、
前記所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する第6の工程と
を有する通信方法。
A communication method executed by a communication device that communicates with a tag via a reader,
A first step of receiving from the tag via the reader the first secret data r i + 1 that is a hash value generated by the tag using the first secret data r i and the second secret data k j as arguments. When,
A second step of receiving, from the tag, the first secret data r i + 2 generated based on the random number s received by the tag from the reader and the first secret data r i + 1 ;
A third step of receiving the random number s and the first secret data r i + 2 from the reader;
A hash value obtained based on the first secret data r i + 1 received in the first step, the random number s received in the third step, and a predetermined value k ′ is the first secret data r i + 1. A fourth step of identifying the predetermined value k ′ to be the secret data r i + 2 ;
With reference to the table data indicating the identification data, the first value K, and the second value Klast in association with the identification data of the plurality of tags, the predetermined value k ′ identified in the fourth step A fifth step of searching for an entry that matches the first value K or the second value Klast;
When the entry in which the predetermined value k ′ and the first value K match is present in the table data, the first value K is copied to the second value Klast, and the predetermined value k And a sixth step of setting the hash value of 'to the first value K.
リーダを介してタグと通信を行う通信装置であって、
第1の秘密データrと第2の秘密データkとを引数として前記タグが生成したハッシュ値である第1の秘密データri+1を前記タグから前記リーダを介して受信し、前記タグが前記リーダから受信した乱数sと前記第1の秘密データri+1とを基に生成した第1の秘密データri+2を前記タグから前記リーダを介して受信し、前記乱数sと前記第1の秘密データri+2とを前記リーダから受信するインターフェースと、
複数の前記タグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを記憶するメモリと、
前記インターフェースが受信した前記第1の秘密データri+1と、乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定し、前記テーブルデータを参照して、前記特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索し、前記所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する処理回路と
を有する通信装置。
A communication device that communicates with a tag via a reader,
The first secret data r i + 1 , which is a hash value generated by the tag with the first secret data r i and the second secret data k j as arguments, is received from the tag via the reader, and the tag First secret data r i + 2 generated based on the random number s received from the reader and the first secret data r i + 1 is received from the tag via the reader, and the random number s and the first secret data are received. An interface for receiving data r i + 2 from the reader;
A memory for storing table data indicating the identification data, the first value K, and the second value Klast in association with the identification data of the plurality of tags;
The hash value obtained based on the first secret data r i + 1 received by the interface, the random number s, and the predetermined value k ′ is the predetermined value k that becomes the first secret data r i + 2. ′ Is identified, and the table data is referenced to search for an entry where the identified predetermined value k ′ matches the first value K or the second value Klast, and the predetermined value k ′ When an entry that matches the first value K exists in the table data, the first value K is copied to a second value Klast, and the hash value of the predetermined value k ′ is copied to the second value Klast. And a processing circuit that sets the value K to 1.
リーダを介してタグと通信を行う通信装置が実行するプログラムであって、
第1の秘密データrと第2の秘密データkとを引数として前記タグが生成したハッシュ値である第1の秘密データri+1を前記タグから前記リーダを介して受信する第1の手順と、
前記タグが前記リーダから受信した乱数sと前記第1の秘密データri+1とを基に生成した第1の秘密データri+2を前記タグから前記リーダを介して受信する第2の手順と、
前記乱数sと前記第1の秘密データri+2とを前記リーダから受信する第3の手順と、
前記第1の手順で受信した前記第1の秘密データri+1と、前記第3の手順で受信した乱数sと、所定の値k’とを基にして得たハッシュ値が、前記第1の秘密データri+2となる前記所定の値k’を特定する第4の手順と、
複数の前記タグの識別データについて当該識別データと第1の値Kと第2の値Klastとを対応付けて示すテーブルデータを参照して、前記第4の手順で特定した所定の値k’と前記第1の値Kあるいは前記第2の値Klastが一致するエントリを検索する第5の手順と、
前記所定の値k’と前記第1の値Kとが一致するエントリが前記テーブルデータ内に存在した場合に、前記第1の値Kを第2の値Klastにコピーし、前記所定の値k’のハッシュ値を前記第1の値Kに設定する第6の手順と
を前記通信装置に実行させるプログラム。
A program executed by a communication device that communicates with a tag via a reader,
A first procedure for receiving first secret data r i + 1 , which is a hash value generated by the tag, using the first secret data r i and the second secret data k j as arguments, via the reader. When,
A second procedure for receiving, from the tag, the first secret data r i + 2 generated based on the random number s received by the tag from the reader and the first secret data r i + 1 ;
A third procedure for receiving the random number s and the first secret data r i + 2 from the reader;
A hash value obtained on the basis of the first secret data r i + 1 received in the first procedure, the random number s received in the third procedure, and a predetermined value k ′ is the first secret data r i + 1. A fourth procedure for specifying the predetermined value k ′ to be secret data r i + 2 ;
With reference to the table data indicating the identification data, the first value K, and the second value Klast in association with the identification data of the plurality of tags, the predetermined value k ′ specified in the fourth procedure and A fifth procedure for searching for an entry that matches the first value K or the second value Klast;
When the entry in which the predetermined value k ′ and the first value K match is present in the table data, the first value K is copied to the second value Klast, and the predetermined value k A program for causing the communication apparatus to execute a sixth procedure for setting a hash value of 'to the first value K.
JP2006007888A 2006-01-16 2006-01-16 Method, system, device, and program for communication Pending JP2007189643A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006007888A JP2007189643A (en) 2006-01-16 2006-01-16 Method, system, device, and program for communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006007888A JP2007189643A (en) 2006-01-16 2006-01-16 Method, system, device, and program for communication

Publications (1)

Publication Number Publication Date
JP2007189643A true JP2007189643A (en) 2007-07-26

Family

ID=38344489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006007888A Pending JP2007189643A (en) 2006-01-16 2006-01-16 Method, system, device, and program for communication

Country Status (1)

Country Link
JP (1) JP2007189643A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008104169A (en) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> Method and system for providing inter-authentication for radio frequency identification (rfid) security, and storage medium with computer program stored thereon

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008104169A (en) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> Method and system for providing inter-authentication for radio frequency identification (rfid) security, and storage medium with computer program stored thereon

Similar Documents

Publication Publication Date Title
US8412638B2 (en) Method and system for validating a device that uses a dynamic identifier
Lee et al. RFID mutual authentication scheme based on synchronized secret information
Duc et al. Enhancing security of EPCglobal Gen-2 RFID tag against traceability and cloning
CN100405386C (en) A security authentication method in a radio frequency identification system
Lehtonen et al. Securing RFID systems by detecting tag cloning
Luo et al. A lightweight mutual authentication protocol for RFID networks
CN100565562C (en) Electronic label security authentication method
Dimitriou rfidDOT: RFID delegation and ownership transfer made simple
KR20080087917A (en) One-time password generation method, key issuance system and one-time password authentication system
EP2200218A1 (en) Dynamic identifier for use in identification of a device
CN116090489B (en) Bidirectional authentication method for RFID system and RFID system
CN101980241B (en) Method, system and device for authenticating radio frequency tag
JP2011520373A (en) Wireless tag authentication method using radio wave reader
Oswald et al. When reverse-engineering meets side-channel analysis–digital lockpicking in practice
Chen et al. Enhancement of the RFID security method with ownership transfer
Lim et al. A new hash-based RFID mutual authentication protocol providing enhanced user privacy protection
JP2009009427A (en) Authentication processing method, system therefor and terminal apparatus
CN107395354B (en) Lightweight mobile RFID system authentication method
KR100931213B1 (en) Low cost RFID authentication protocol method suitable for distributed environment
JP2007189643A (en) Method, system, device, and program for communication
US20210192023A1 (en) Authenticating an entity
Noman et al. Improving security and usability of low cost RFID tags
Krishna et al. UltraLightweight MAC protocol for RFID security using Permutation with double rotation
JP2007323116A (en) Card-less settlement terminal equipment, card-less settlement host, and card-less settlement system
Lee Mutual authentication of RFID system using synchronized secret information