RFID tag device and method of recognizing the same

Provided is a radio frequency identification (RFID) tag device. The RFID tag device includes memory which stores ID information and a second count value, and a certification unit which performs a certification process according to a keyed hash value received from the outside and a result of a comparison between first and second count values received from the outside, and adjusts the second count value.

CROSS-REFERENCE TO RELATED APPLICATIONS

This U.S. non-provisional patent application claims priority under 35 U.S.C. §119 of Korean Patent Application No. 10-2010-0132275, filed on Dec. 22, 2010, the entire contents of which are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

The present invention disclosed herein relates to a radio frequency identification (RFID) system, and more particularly, to an RFID system including a verification device and RFID tag devices.

The RFID system relates to a technology for processing information on objects by using small semiconductor chips. The RFID system is a noncontact-type recognition system in which the verification device recognizes the RFID tag device, and processes information on an object to which the RFID tag device is attached by using a radio frequency. For protecting the information which is exchanged in the RFID system being included in the radio frequency, it is important to develop a security protocol.

It is needed to develop a technology for providing safety and reliability to a user and a developer from the design phase before implementing the security protocol. For instance, an unauthorized person may illegally acquire information, particularly private information, from the RFID tag.

It is a widely used method to update a certification key whenever the RFID tag device is searched for in order to improve safety of the search for the RFID tag device. For updating the certification key, information to be shared by the RFID tag device and the verification device is needed, and this information should be synchronized. In the case where the information shared by the RFID tag device and the verification device is different from each other, reliability of the RFID system is not guaranteed.

SUMMARY OF THE INVENTION

The present invention provides an RFID tag device capable of preventing leakage of communication information from an RFID system, and a method of recognizing the RFID tag device.

Embodiments of the present invention provide RFID tag devices including a reception unit configured to receive an input message including a keyed hash value and a first count value from the outside; a memory configured to store identification (ID) information and a second count value; a certification unit configured to perform a certification process according to the keyed hash value received from the outside and a result of a comparison between the first and second count values, and adjust the second count value; a keyed hash value generating unit configured to calculate a keyed hash value by using the adjusted second count value and the ID information; and a transmission unit configured to transmit a response message by outputting the calculated keyed hash value and the adjusted second count value.

In some embodiments, the reception unit may receive the first count value which increases whenever the input message is received, and the certification unit may certify the input message when the first count value is larger than the second count value.

In other embodiments, the certification unit may adjust the second count value by making the second count value equal to the first count value according to the result of the comparison.

In still other embodiments, the keyed hash value generating unit may calculate a response key value according to the adjusted second count value and the ID information, and calculate the keyed hash value by using the response key value.

In other embodiments of the present invention, methods for recognizing an RFID tag device include generating a keyed hash value by changing a first count value and then by using a call key value calculated according to the changed first count value, and outputting the keyed hash value generated by using the call key value and the changed first count value as a call message; certifying the call message according to the keyed hash value generated by using the call key value and a result of a comparison between the changed first count value and a second count value, and adjusting the second count value; calculating a response key value according to the adjusted second count value, generating a keyed hash value by using the response key value, and outputting the keyed hash value generated by using the response key value and the adjusted second count value as a response message; and recognizing the RFID tag device according to the response message.

In some embodiments, the outputting of the call message may include calculating the call key value according to the first count value after increasing the first count value, and outputting the keyed hash value generated by using the call key value and the increased count value.

In other embodiments, the adjusting of the second count value may include certifying the call message when the increased first count value is larger than the second count value.

In still other embodiments, the adjusting of the second count value may include making the second count value equal to the increased first count value when the call message is certified.

In even other embodiments, the recognizing of the RFID tag device may be accomplished when the keyed hash value generated by using the response key value and the keyed hash value generated by using the call key value match.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In the specification, when it is described that a certain part is “connected” to another part, it should be understood that the former may be “directly connected” to the latter, or “electrically connected” to the latter through an intervening part. In the specification, when it is described that a certain part “includes” certain elements, the former may further include other elements unless otherwise specified.

FIG. 1illustrates a radio frequency identification (RFID) system100according to an embodiment of the present invention. Referring toFIG. 1, the RFID system100includes a verifier110, a reader120, and a plurality of RFID tag devices130. The verifier110stores security values S1to Sn which respectively correspond to the RFID tag devices130, IDs ID1to IDn which respectively correspond to the RFID tag devices130, and a first count value C1. Exemplarily, the verifier110includes a database for storing the security values S1to Sn, the IDs ID1to IDn, and the count value C1. The verifier110may manage information relates to the RFID tag devices130, and search for the RFID tag devices130.

The reader120transmits information received from the verifier120to the RFID tag devices130. The reader120and the verifier110communicate with each other through a safe security channel. The reader120serves to read information of the RFID tag devices130, and may communicate with the RFID tag devices130and the verifier110. For instance, the reader120broadcasts a signal received from the verifier110to the RFID tag devices130.

Each of the RFID tag devices130stores a security value Si, an ID IDi, and a second count value C2(where, i is an integer). Each of the RFID tag devices130performs a certification process on a received message. That is, each of the RFID tag devices determines whether the received message is transmitted from the reader120, and calls each of the RFID tag devices. When the certification process is completed, the RFID tag devices130transmit response messages.

The security values S1to Sn are predetermined confidential information between the verifier110and the RFID tag devices130. First to nth security values S1to Sn are respectively stored in the RFID tag devices130, and the first to nth security values S1to Sn are stored in the verifier110. The security values S1to Sn are not published outside of the RFID system100.

The IDs ID1to IDn represent information on items to which RFID tag devices130are respectively attached. For instance, the IDs ID1to IDn may represent countries and companies in which the items were produced, and kinds of the items. Exemplarily, the IDs ID1to IDn are published to the outside.

FIG. 2is a block diagram illustrating the verifier110according to an embodiment of the present invention. Referring toFIG. 2, the verifier110includes a memory210, a counter220, a random number generating unit230, a keyed hash value generating unit240, a transmission unit250, a reception unit260, and a comparison unit270.

The memory210stores the security values S1to Sn (refer toFIG. 1) and IDs ID1to IDn (refer toFIG. 1). In addition, the memory210provides a security value Sm and an ID IDm to the keyed hash value generating unit240(where, m is an integer).

The counter220stores the first count value C1. In the case of searching for one of the RFID tag devices130(refer toFIG. 1), the counter220increases the first count value C1by 1. Then, the counter220provides the increased first counter value C1to the keyed hash value generating unit240, the transmission unit250, and the comparison unit270.

The random number generating unit230generates a random number RN. The random number generating unit230provides the generated random number RN to the keyed hash value generating unit240, the transmission unit250, and the comparison unit270.

The keyed hash value generating unit240receives the security value Sm and the ID IDm from the memory210, and receives the first count value C1from the counter220. The keyed hash value generating unit240calculates a call key value by using the security value Sm, the ID IDm, and the first count value C1. For instance, the keyed hash value generating unit240uses the security value Sm, the ID IDm, and the first count value C1as input values of a hash function to calculate the call key value. And, the keyed hash value generating unit240generates a keyed hash value (not illustrated) by using the call key value.

The hash function is a kind of an encryption function, and is used for generating an output value having a fixed data amount from an input value having a variable data amount.FIG. 3exemplarily illustrates the keyed hash value generating unit240. A first hash function calculating block241receives the security value Sm, the ID IDm, and the first count value C1, and outputs a call key value Km. Exemplarily, the security value Sm, the ID IDm, and the first count value C1are inputted as a string of data into the first hash function calculating block241. The call key value Km is used as input values of second and third hash function calculating blocks242and243.

The second and third hash function calculating blocks242and243generate the keyed hash value by using the call key value Km.FIG. 3exemplarily illustrates that a hash operation using the call key value Km is performed twice to generate the keyed hash value.

The second hash function calculating block242receives the ID IDm, the first count value C1, and the random number RN. The second hash function calculating block242receives the call key value Km from the first hash function calculating block241. The second hash function calculating block242uses the ID IDm, the first count value C1, the random number RN, and the call key value Km as input values of a hash function. The ID IDm, the first count value C1, the random number RN, and the call key value Km may be data constituting a single string. The third hash function calculating block243receives an output value of the second hash function calculating block242. And, the third hash function calculating block243receives the call key value Km. The third hash function calculating block243receives the output value of the second hash function calculating block242and the call key value Km, and performs a hash operation to generate a keyed hash value HKm.

The keyed hash value generating unit240may temporarily store the generated keyed hash value HKm. For instance, the third hash function calculating block243may include a temporary buffer (not illustrated) for storing the keyed hash value HKm. The temporarily stored keyed hash value HKmis provided to the comparison unit270.

The transmission unit250transmits the first count value C1, the keyed hash value HKm, and the random number RN to the reader120(refer toFIG. 1). The reader120transmits the received first count value C1, keyed hash value HKm, and random number RN to the RFID tag devices130. Exemplarily, the first count value C1and the keyed hash value HKmconstitute a call message.

The reception unit260receives the second count value C2, a keyed hash value HKi, and the random number RN. The reception unit260transfers the second count value C2, the keyed hash value HKi, and the random number RN to the comparison unit270. The second count value C2and the keyed hash value HKiconstitute a response message received from one of the RFID tag devices130.

The comparison unit270receives the first count value C1and the random number RN from the counter220and the random number generating unit230respectively. The comparison unit270receives the keyed hash value HKiand the second count value C2.

The comparison unit270compares the keyed hash values HKmand HKiwith each other. When the keyed hash values HKmand HKimatch, it is determined whether the random number RN received from the reception unit260and the random number RN received from the random number generating unit230match. When the random number RN received from the reception unit260and the random number RN received from the random number generating unit230match, the first and second count values C1and C2are compared with each other. When the first and second count values C1and C2match, the comparison unit270determines that the RFID tag device corresponding to the ID IDm has been found.

FIG. 4is a block diagram illustrating one of the RFID tag devices130(refer toFIG. 1) according to an embodiment of the present invention. Referring toFIG. 4, an RFID tag device300includes a reception unit310, a keyed hash value generating unit330, a memory320, a certification unit340, and a transmission unit350. The reception unit310receives the random number RN, the first count value C1, and the keyed hash value HKm. The random number RN, the first count value C1, and the keyed hash value HKmare transmitted from the reader120. The first count value C1and the keyed hash value HKmconstitute a call message.

The reception unit310transmits the random number RN to the keyed hash value generating unit330, transmits the first count value C1to the keyed hash value generating unit330and a count value comparator342, and transmits the keyed hash value HKmto a keyed hash value comparator341.

The memory320stores the security value Si, the ID IDi, and the second count value C2. The RFID tag devices130(refer toFIG. 10have different security values. Also, the RFID tag devices130(refer toFIG. 10) have different IDs.

The keyed hash value generating unit330receives the security value Si, the ID IDi, and the updated second count value C2from the memory320. The keyed hash value generating unit330receives the random number RN and the first count value C1from the reception unit310.

The keyed hash value generating unit330calculates a certification key value (not illustrated) by using the security value Si, the ID IDi, and the first count value C1. And, the keyed hash value generating unit330generates the keyed hash value HKiby using the certification key value. Exemplarily, the certification key value, the ID IDi, the first count value C1, and the random number RN are used as input values of a hash function to generate the keyed hash value HKi. The keyed hash value generating unit330generates the keyed hash value HKiin the same manner as the keyed hash value generating unit240described above with reference toFIG. 3.

The certification unit340receives the keyed hash value HKmand the first count value C1, and determines whether to transmit a response message. According to an embodiment of the present invention, the certification unit340includes the keyed hash value comparator341and the count value comparator342. The keyed hash value comparator341compares the keyed hash values HKmand HKi. When the keyed hash values HKmand HKiare the same, the keyed hash value comparator341transmits a control signal CTRL. When the keyed hash values HKmand HKiare different from each other, the keyed hash value comparator341does not transmit the control signal CTRL.

The count value comparator342receives the second count value C2and the keyed hash value HKmrespectively from the memory320and the reception unit310. The count value comparator342compares the first and second count values C1and C2in response to the control signal CTRL. When the first and second count values C1and C2are the same, the count value comparator342stores the second count value C2, which is adjusted to be equal to the first count value C1, in the memory320to update the second count value C2thereof. Also, the count value comparator342generates a certification signal CS to operate the keyed hash value generating unit330.

That is, in the case where not only the keyed hash values HKmand HKiare the same but also the first and second count values C1and C2are the same, the RFID tag device300recognizes that the call message transmitted through the reception unit310is for the RFID tag device300. The RFID tag device300certifies that the call message has been received from the reader120when the keyed hash values HKmand HKiare the same and the first and second count values C1and C2are the same.

In response to the certification signal CS, the keyed hash value generating unit330calculates a response key value (not illustrated) according to the security value Si, the ID IDi, and the adjusted second count value C2. And, the keyed hash value generating unit330generates the keyed hash value HKiby using the response key value. Exemplarily, the keyed hash value generating unit330may generate the keyed hash value HKiby using the response key value, the ID IDi, the random number RN, and the adjusted second count value C2. The generated keyed hash value HKiis transmitted to the reader120(refer toFIG. 1) through the transmission unit350. Also, the adjusted second count value C2is transmitted to the reader120through the transmission unit350.

As a result, when the response message is transmitted, the first count value C1received by the RFID tag device300is equal to the adjusted second count value C2outputted from the RFID tag device300. And, the keyed hash value HKmreceived by the RFID tag device300is equal to the keyed hash value HKioutputted from the RFID tag device300.

FIG. 5illustrates a process of recognizing one of the RFID tag devices130illustrated inFIG. 1. Referring toFIGS. 1 and 5, when a particular RFID tag device is searched for, the verifier110increases the first count value C1, generates the random number RN, and calculates the call key value Km. The call key value Km is calculated by using the security value Sm, the ID IDm, and the first count value C1as input values of a hash function. The verifier110generates the keyed hash value HKmby using the call key value Km, the ID IDm, the first count value C1, and the random number RN. And, the verifier110transmits the first count value C1, the random number RN, and the keyed hash value HKmto the reader120. Herein, the first count value C1, the random number RN, and the keyed hash value HKmare transmitted through a safe security channel not to be leaked to the outside.

The reader120transmits the first count value C1, the random number RN, and the keyed hash value HKmto the RFID tag devices130. The first count value C1, the random number RN, and the keyed hash value HKmconstitute the call message transmitted from the reader120.

Each of the RFID tag devices130calculates a certification key value Ki in response to the call message, and generates the keyed hash value HKiby using the certification key value Ki. The RFID tag device, which has generated the keyed hash value HKiequal to the keyed hash value HKm, compares the first and second count values C1and C2. The RFID tag device, which has generated the keyed hash value HKidifferent from the keyed hash value HKm, terminates a process of generating the response message.

The RFID tag device, which stores the second count value C2smaller than the first count value C1, makes the second count value C2equal to the first count value C1. The RFID tag device, which stores the second count value C2smaller than the first count value C1, terminates the process of generating the response message.

The RFID tag device, which has made the second count value C2equal to the first count value C1, generates the response message. That is, the RFID tag device, which has made the second count value C2equal to the first count value C1, calculates the response key value Ki by using the security value Si, the ID IDi, and the second count value C2. By using the response key value Ki, the RFID tag device generates the keyed hash value HKi. And, the RFID tag device transmits the second count value C2and the keyed hash value HKias the response message to the reader120.

The reader120transmits the second count value C2and the keyed hash value HKireceived from one of the RFID tag devices130to the verifier110. Also, the reader120transmits the random number RN to the verifier110. Exemplarily, the reader120may temporarily store the random number RN, which has been received from the verifier110and will be transmitted to the RFID tag devices130. And, the reader120may transmit the temporarily stored random number RN together with the second count value C2and the keyed hash value HKi.

The verifier110compares the keyed hash values HKiand HKmin response to the response message. When the keyed hash values HKiand HKmmatch, the first and second count values C1and C2are compared with each other. Exemplarily, the keyed hash value generating unit240(refer toFIG. 2) may calculate the keyed hash value HKiand temporarily store the keyed hash value HKiwhen the call message is generated. When the response message is received, the keyed hash value generating unit240provides the keyed hash value HKito the comparison unit270.

When the first and second count values C1and C2match, the verifier110determines that the RFID tag which corresponds to the security value Sm and ID IDm has been found.

To search for at least one of the RFID tag devices130, the verifier110generates the keyed hash value HKmafter increasing the first count value C1by 1. An initial value of the first count value C1is equal to or larger than that of the second count value C2. The first count value C1is always maintained to be equal to or larger than the second count value C2stored in an arbitrary RFID tag device. When a message is lost between the verifier110and the RFID tag devices130, or when the message is stolen by an attacker, it is not needed to synchronize the first and second count values C1and C2. Therefore, when the message is lost or stolen by an attacker, information leakage due to data synchronization between the verifier110and the RFID tag devices130does not occur.

FIG. 6is a flowchart illustrating a method of recognizing an RFID tag device. In operation S110, the verifier110increases the first count value C1, and generates the keyed hash value HKmby using the call key value Km calculated according to the first count value C1. For instance, the verifier110calculates the call key value Km by using the security value Sm, the ID IDm, and the first count value C1. And, the verifier110generates the keyed hash value HKmby using the call key value Km, the ID IDm, the first count value C1, and the random number RN.

The verifier110transmits the generated keyed hash value HKm, and the first count value C1to the reader120. The keyed hash value HKmand the first count value C1constitute the call message. Herein, a safe security channel is formed between the verifier110and the reader120. Exemplarily, for improving reliability of the call message, the random number RN may be additionally transmitted together with the keyed hash value HKmand the first count value C1.

In operation S120, the reader120outputs the keyed hash value HKmand the first count value C1.

In operation S130, each of the RFID tag devices130compares the first and second count values C1and C2, and determines whether to certify the call message. Each of the RFID tag devices130certifies that the received call message is for each of the RFID tag devices130when the first count value C1is larger than the second count value C2.

Exemplarily, each of the RFID tag devices130calculates the certification key value Ki by using the received first count value C1, security value Si, and ID IDi in response to the call message, and generates the keyed hash value HKiby using the certification key value Ki. Each of the RFID tag devices130determines whether the generated keyed hash value HKiand the received keyed hash value HKmmatch. When the keyed hash values HKiand HKmmatch, the first and second count values C1and C2are compared with each other. Exemplarily, the operation of comparing the keyed hash values HKiand HKm, and the operation of comparing the first and second count values C1and C2may be inversely performed.

In operation S140, the RFID tag device makes the second count value C2equal to the first count value C1.

In operation S150, the RFID tag device calculates the response key value Ki according to the second count value C2, and generates the keyed hash value HKiby using the response key value Ki. And, the RFID tag device transmits the generated keyed hash value HKiand the second count value C2to the reader120. The keyed hash value HKiand the second count value C2constitute the response message.

In operation S160, according to the keyed hash value HKiand the second count value C2, the verifier110recognizes the RFID tag device corresponding to the security value Sm or ID IDm. Exemplarily, the verifier110may further receive the random number RN from the reader120. When the keyed hash values HKiand HKmmatch and the first and second count values C1and C2match, the verifier110recognizes the RFID tag device corresponding to the security value Sm or ID IDm. Exemplarily, the verifier110may further perform a certification operation on the random number RN to recognize the RFID tag device corresponding to the security value Sm or ID IDm.

Whenever a search operation is performed on the RFID tag devices130, the verifier110and the RFID tag devices130generate key values, and perform cross-certification by using the generated key values. The first count value is changed whenever the search operation is performed. The generated key values are changed whenever the search operation is performed on the RFID tag devices130. Therefore, reliability of data exchanged between the verifier110and the RFID tag devices130is improved.

According to an embodiment of the present invention, it is not required to synchronize the first and second count values C1and C2which are respectively used when the call key value Km and the certification key value Ki are generated. The information leakage and deformation of the RFID system100, which occur due to an external attack during the data synchronization, are prevented.

According to an embodiment of the present invention, whenever the verifier performs a search operation on the RFID tag devices, the first count value is changed, and thus the call key value is changed. Since a new call key value is used whenever the verifier requests for a search for one of the RFID tag devices, leakage of call and response messages is prevented.