20100044441 | COLOR SENSING FOR A READER DEVICE AND THE LIKE | February, 2010 | Cohen et al. |
20040050930 | Smart card with onboard authentication facility | March, 2004 | Rowe |
20010015382 | Tamper-preventing, contact-type, smart cards | August, 2001 | Harry III |
20090272798 | Method of Membership Management | November, 2009 | Dedis et al. |
20060149640 | Integrating electronic and traditional retail | July, 2006 | Gordon et al. |
20100012714 | ENVIRONMENTALLY CONSCIOUS, SOCIALLY RESPONSIBLE GREETING CARD WITH INTEGRATED GIFT | January, 2010 | Weesner |
20040129778 | Cashless automatic vendor system and method, and automatic vendor | July, 2004 | Ota et al. |
20070246526 | Apparatus and Method for Production of Transaction Cards | October, 2007 | Elgar et al. |
20060289623 | Devices and methods for determining the amount of individual usage of a shared commodity | December, 2006 | Oldham et al. |
20070075128 | Access to distributed databases via pointer stored in RFID tag | April, 2007 | Hall et al. |
20030037965 | Scale system with frequent shopper display and related methods | February, 2003 | Bennard |
The present invention relates to RF (radio frequency) identification systems based on RF labels or RFID (Radio Frequency Identification) chips, and more particularly the protection of data exchanged in such identification systems.
FIG. 1 shows an RF identification system comprising an RF label reader 101 that can communicate by radio with a plurality of RF labels 102. An RF label generally consists of a paper or plastic support, an integrated circuit and an antenna. Such RF labels are activated on reception of an activation signal sent by the RF label reader Such RF identification systems can work with low-frequency signals or with high-frequency signals.
In such RF identification systems, an identifier that is unique in the system is associated with each RF label. The reader is then in a position to identify a label on the basis of information sent from said label and as a function of a list of identifiers of the RF labels 102 of the system.
For such an RF identification system to be reliable, each of the identifiers 102 of the RF system must be kept secret between the reader and the respective RF labels. Now, in such a system, the identifier of a label is exchanged between the label and the reader. The reliability of such identification systems then relies in particular on the means of protecting the respective identifiers of the RF labels during certain of these exchanges between the label reader and the RF labels.
Accordingly, to prevent another entity from being able to usurp the identifier associated with a label of the system and then defraud this kind of RF identification system, these exchanges of data may be encrypted.
After being activated by an activation RF signal, an RF label is able to communicate with the RF label reader in accordance with various communication protocols available to the person skilled in the art. For example, an HB (standing for ‘Hopper, Blum’) protocol enables such communication between a reader and an RF label. According to this protocol, a secret identifier x is known only by the reader and by the RF label. FIG. 2 shows communication between the reader and the RF label in accordance with the HB protocol.
Note that in the examples described hereinafter, the numbers a_{i }and x used are binary numbers of k bits, k being an integer.
According to the HB protocol, the reader identifies the label by repeating N times a step of encryption of the identifier of the label concerned. During an encryption step of this kind, step i, where i is an integer from 1 to N, the reader sends a message 103 to the RF label indicating a random number a_{i }in the set denoted {0, 1}^{k }of the binary numbers of k bits. The RF label then encrypts its secret identifier using the random number as sent by the reader
To carry out this kind of encryption, the label generates a random number v_{i }and obtains a value of the identifier encrypted in accordance with the following equation:
z_{i}=a_{i}.x⊕v_{i } (1)
wherein v_{i }is generated so that it is part of the set {0,1}, with a determined probability η that v_{i }is equal to 1.
Note that the symbol ‘⊕’ indicates an ‘exclusive-OR’ operation and that the symbol ″ indicates an ‘exclusive-OR’ operation on the various results of the ‘AND’ operations effected bit by bit on the two numbers a_{i }and x.
This step is therefore repeated N times. Consequently, the RF label reader receives N values z_{i }for each of which the values of the random number a_{i }and the random number v_{i }vary.
The RF label reader knows the determined probability value η characterizing the generation of the random number v_{i}. Consequently, from the N values z_{i }of the encrypted identifier received in the messages 104 and on the basis of the list of secret identifiers associated with the respective RF labels of the system and the N first and second random numbers, the RF label reader is in a position to determine the secret identifier x of the label concerned, on verifying that the equation (1) is false at most a number of times corresponding to η.N.
However, an active attack on this kind of HB protocol is able to determine the secret identifier x associated with the label concerned. In fact, if an entity inserts itself between the label reader and the RF label, so as to supply to the RF label the same number in place of the random numbers a_{i }supplied by the reader, that entity is in a position to determine the information on x.
A communication protocol denoted HB+ for an RF identification system offers protection against this kind of active attack by introducing an additional random value during the encryption of the secret identifier of the RF label FIG. 3 shows this kind of HB+ protocol, based on repetition of an encryption step, only one step i being represented.
According to this HB+ protocol, a secret identifier of the label concerned, known to the leader and to said label, is denoted (x, y), where x and y are binary numbers of k bits. In each of the steps i described above, the label sends the RF label leader a message 201 containing a first random number b_{i}. On reception of this first random number b_{i}, the RF label reader sends the label a message 202 containing a second random number a_{i}. Then, on the basis of the first and second random numbers, the RF label sends the label leader a message 203 that indicates a value of its encrypted secret identifier that satisfies the following equation:
z_{i}=a_{i}.x⊕b_{i}.y⊕v_{i } (2)
wherein v_{i }is in the set {0,1}, with a determined probability η that v_{i }is equal to 1, said probability η being known to the reader and to the RF label.
During the N repetitions of this encryption step, the label supplies to the label reader N values z_{i }of the encrypted secret identifier.
Communication under this kind of HB+ protocol is undoubtedly better protected against certain attacks than communication under the HB protocol. However, an active attack wherein an entity inserts itself between the reader and the RF label and, during sending of the message 201, sends a message 202 modified to replace the second random number a_{i}, generated by the reader, with a number a_{i}′ satisfying the following equation:
a_{i}′=a_{i}⊕δ (3)
wherein δ is a number on k bits, which has a constant value throughout the N repetitions of the encryption step, step i.
In this case, the message 203 transmits a number z_{i }satisfying the following equation:
z_{i}=a_{i}′.x⊕b_{i}.y⊕v_{i}=(a_{i}⊕δ).x⊕b_{i}.y⊕v_{i } (4)
In this kind of, context, if the reader is in a position to identify the label, it is deduced, with a high probability, that δx is equal to 0. In the contrary situation, it is deduced that δ.x is equal to 1. Accordingly, as a function of whether it is impossible or possible for the reader to identify the RF label, the information on the secret identifier x can be deduced. This kind of deductive method can then be transposed to the numbers b_{i }and y.
There is therefore an active attack that can discover the secret identifier (x,y) of the RF label during communication between the reader and the label under the HB+ protocol. This kind of attack is described in the document ‘An active attack against HB+’ by Henri Gilbert, Matthew Robshaw and Herveé Sibert.
The present invention aims to improve the protection of communication in an RF identification system against attacks seeking to discover the secret identifiers of the RF labels.
A first aspect of the present invention proposes a method of identifying an RF label in an RF label identification system comprising an RF label reader and a plurality of RF labels, a unique and secret identifier (x,y,x′,y′) being associated with each of said RF labels.
The method may comprise the following steps:
When the first and second random numbers are binary numbers of k bits, k being an integer, the determined function f is a permutation of the set of binary numbers of k bits that, for any pail of binary numbers δ, λ of k bits, where δ is non-zero, satisfies the following equation only for a number d of values that is less than a threshold value:
ƒ(d⊕δ)=ƒ(d)⊕λ
The determined function f preferably has a level of complexity lower than a level of complexity threshold value
When the identifier of the label comprises first, second, third and fourth binary numbers of k bits, in the step /c/, there then may be obtained a first portion z of the value of the encrypted identifier according to the following equation:
z=a.x⊕b.y⊕v
where b and a ate respectively the first and second random numbers in a binary form of k bits;
where x and y ate respectively the first and second binary numbers of the identifier; and
where v is the third random number;
and there may be obtained a second portion z′ of the value of the encrypted identifier according to the following equation:
z′=ƒ/(a).x′⊕ƒ(b).y′⊕v′
where x′ and y′ are respectively the third and fourth binary numbers of the identifier;
where f is the determined function and where f(b) and f(a) are respectively the first and second transformed numbers; and
where v′ is the fourth random number.
In the step /c/, the first portion z of the value of the encrypted identifier may be provided in a first message (403) and the second portion z′ of the value of the encrypted identifier may be provided in a second message (404).
The random number generation probabilistic rule may be defined so as to generate a determined number with a probability having a determined value.
A second aspect of the invention proposes an RF label in an RF label identification system comprising an RF label reader, a unique and secret identifier being associated with said RF label. The label may comprise:
The determined function f, on which the transformation entity is based (503), when the first and second random numbers are binary numbers of k bits, k being an integer, may be a permutation of the set of binary numbers of k bits that, for any pair of binary numbers δ, λ of k bits, where δ is non-zero, satisfies the following equation only for a number d of values that is less than a threshold value:
ƒ(d⊕δ)=ƒ(d)⊕λ
When the identifier of the label comprises first, second, third and fourth binary numbers of k bits, the encryption entity may supply on the one hand a first portion z of the value of the encrypted identifier in accordance with the following equation:
z=a.x⊕b.y⊕v
z′=ƒ(a).x′⊕ƒ(b).y′⊕v′
The interface management entity may send to the label leader the first portion of the value of the encrypted identifier in a first message and the second portion of the value of the encrypted identifier in a second message.
A third aspect of the invention proposes an RF label identification device in an RF label identification system comprising a plurality of RF labels, a unique and secret identifier being associated with each of said RF labels. The device may comprise:
The determined function f, when the first and second random numbers are binary numbers of k bits, k being an integer, may be a permutation of the set of binary numbers of k bits that, for any pair of binary numbers δ, λ of k bits, where δ is non-zero, satisfies the following equation only for a number d of values that is less than a threshold value:
ƒ(d⊕δ)=ƒ(d)⊕λ
The determined function f has a level of complexity lower than a level of complexity threshold value.
When the identifier of the label comprises first, second, third and fourth binary numbers of k bits, the value of the encrypted identifier may comprise a first portion z satisfying the following equation:
z=a.x⊕b.y⊕v
z′=ƒ(a).x′⊕ƒ(b).y′⊕v′
The interface management entity may receive the first portion z of the value of the encrypted identifier in a first message and the second portion z′ of the value of the encrypted identifier in a second message.
A fourth aspect of the present invention proposes an RF label identification system comprising a label identification device according to the third aspect of the present invention and a plurality of RF labels according to the second aspect of the present invention.
Other aspects, objects and advantages of the invention will become apparent on reading the description of one embodiment of the invention.
The invention will also be better understood with the help of the drawings, wherein:
FIG. 1 shows an architecture of a prior art RF label identification system;
FIG. 2 shows an exchange of messages in a prior art RF identification system;
FIG. 3 shows another exchange of messages in a prior art RF identification system;
FIG. 4 shows an exchange of messages in an RF identification system according to one embodiment of the present invention;
FIG. 5 shows an RF label architecture according to one embodiment of the present invention; and
FIG. 6 shows an RF label reader architecture according to one embodiment of the present invention.
In one embodiment of the present invention, each label 102 of the RF label identification system shown in FIG. 1 is associated with a secret identifier comprising four binary numbers x, y, x′ and y′ each consisting of k bits, k being an integer. FIG. 4 shows one embodiment of this kind. The label 102 is initially activated by a high-frequency or low-frequency activation signal sent by the RF label reader 101.
In an embodiment of this kind, a label is identified by repeating N times an encryption step as described hereinafter.
Accordingly, during an encryption step, step i, the label first sends a message 401 to the reader in order to send it a first random number b_{i }that is preferably generated by said label. In response to this message 401, the reader sends the label a message 402 indicating a second random number a_{i }that is preferably generated by said reader 101. The label then attempts to encrypt its identifier so as to protect its transmission to the reader 101.
The label preferably combines a first portion, x and y, of its identifier with the first and second random numbers, a_{i }and b_{i}, as well as with a third random number v_{i }generated by the label in accordance with a probabilistic rule. A combination of this kind supplies a first portion of the value of the encrypted identifier which may satisfy the following equation, for example:
z_{i}=a_{i}.x⊕b_{i}.y⊕v_{i } (5)
Moreover, a second portion, x′ and y′, of the identifier of the label is combined on the one hand with first and second transformed numbers resulting from a transformation of the first and second random numbers in accordance with a function f known to the RF label reader 101 and the RF label 102 and on the other hand with a fourth random number v′_{i }generated by the label in accordance with a probabilistic rule.
The second portion of the value of the encrypted identifier resulting from this combination preferably satisfies the following equation:
z_{i}′=ƒ(a_{i})x′⊕ƒ/(b_{i}).y′⊕v_{i}′ (5′)
Accordingly, in a message 403, the RF label sends the result of combining the first portion of the value of the encrypted identifier and, in a message 404, the RF label sends the result of combining the second portion of the value of the encrypted identifier of the RF label.
Other embodiments of the present invention are easily deduced from the foregoing description. Thus, for example, the results of combining the first and second portions of the identifier of the label may be sent in one and the same message. The present invention covers all the ways of sending the various values of the encrypted identifier to the label reader.
The step as described above therefore supplies a value of the encrypted identifier of the label. This step is repeated N times. Consequently, the RF label reader receives N values of the encrypted identifier, each resulting on the one hand from a first combination of the identifier with the first and second random numbers and the third random number and on the other hand from a second combination of the identifier with the first and second transformed numbers obtained by application of the function f to the first and second random numbers, and with the fourth random number.
Note that the third and fourth random numbers are preferably generated in accordance with a generation rule that applies a determined probabilistic rule known both to the label and to the reader. Thus, for example, this probabilistic rule may enable the generation of a determined binary number with a determined probability of value η. This probability value η is known to the reader and to the label.
The probabilistic rule used is therefore defined by the fact that the third and fourth random numbers generated correspond to the binary number 1 with a determined probability η. However, the invention is not limited to this kind of probabilistic rule.
The RF label reader therefore receives N values of the encrypted identifier of the RF label 102. In one embodiment of the present invention, a value of the encrypted identifier has two portions that may be treated differently by the reader. The first portion z_{i}, respectively the second portion z_{i}′, of the value of the encrypted identifier received by the reader results from the first combination, respectively from the second combination described above.
Regardless of the method used to send the two portions of the N values of the encrypted identifier from the label to the label leader, the reader is in a position to determine the first portion z and the second portion z′ of the same value of the encrypted identifier and to reconstitute the value of the encrypted identifier (z, z′).
In one embodiment of the present invention, to identify the first portion of the identifier of the label, the leader seeks to determine, for the N values of the encrypted identifier received, if the following equation is satisfied, taking account of the probabilistic rule:
z_{i}=a_{i}.x⊕b_{i}.y (6)
The reader determines a portion of the identifier of the label (x,y) if equation (6) is satisfied with a probability substantially equal to 1−η.
The reader then attempts to determine the second portion of the identifier of the label. It then considers the values of the encrypted identifier and determines if the following equation, relating to the second portion of the values z′_{i }of the encrypted identifier, is satisfied with a probability substantially equal to 1−η:
z_{i}′=ƒ(a_{i})x′⊕ƒ(b_{i}).y′ (7)
If this is the case, the second portion of the label has also been determined and the reader has therefore identified the RF label.
This kind of method of encrypting the identifier of the label (x,y,x′,y′) advantageously provides protection against active attacks if the transformation function used to transform the first and second random numbers satisfies certain specific characteristics.
To this end, this kind of transformation function f may be defined by specifying that f is a permutation of the set {0,1}^{k }and that, for any pair of binary numbers of k bits (δ, λ) where δ is non-zero, the maximum number M of values d of the set {0,1}^{k }for which the function f satisfies the following equation is relatively low:
ƒ(d⊕δ)=ƒ(d)⊕λ (8)
It can therefore be specified that the maximum number M is less than a threshold value such that it is possible to consider that the equation (8) is rarely satisfied in the set {0,1}^{k}, for a constant pair of values (δ, λ)
Accordingly, if the function f verifies this kind of probability characteristic, an active attack such as that described in the document ‘An active attack against HB+’ cited above, for example, proves to be in vain.
Under such conditions, if an active attack replaces the second random number a_{i }with a number a_{i}′ satisfying equation (3) wherein δ is a number of constant value during the repetitions of the encryption step, the reader receives values of the encrypted identifier having a second portion that satisfies the following equation:
z_{i}′=ƒ(a_{i}⊕δ).x′⊕ƒ(b_{i}).y′⊕v_{i}′ (9)
Under such conditions, whether the reader identifies the label or not, the attack cannot work its way back to the value of the identifier.
In fact, since the function f has the characteristic stated above, i.e. since there are relatively few values a_{i }which, for any pair (δ, λ), satisfy equation (8), an attack of this kind is not able to deduce a value of the identifier of the label as a function of the identification or the non-identification of the label by the reader.
As a result, in one embodiment of the present invention, the exchanges of messages between the reader and an RF label for the purpose of identifying the label are resistant to active attacks on the secrecy of the identifier of the RF label.
This kind of transformation function preferably also has a relatively low level of complexity. In fact, as RF labels generally do not have very significant computation capacities, it is necessary to limit the computation power required to encrypt the RF label identifiers.
Numerous transformation functions having the characteristic stated with reference to equation (8) and having a relatively low level of complexity may be constructed and used in an RF identification system according to one embodiment of the present invention.
Such functions can easily be constructed using various methods. One example of the construction of this kind of transformation function f is described hereinafter.
For a given number k, the function f is a permutation of the set {0,1}^{k}. Two numbers m and n ate determined such that the following equation is satisfied:
k=m.n (11)
It is then possible to construct the determined function f from an integer number n of functions g_{1 }to g_{n }each of which is defined in the set of binary numbers {0,1}^{m}. These n functions g_{1 }to g_{n }are permutations of low complexity. Moreover, these functions each have a low and limited maximum number G of values of p, for p element of the set {0,1}^{m}, for which the following equation is satisfied, for i from 1 to n:
g_{i}(p⊕δ)=g_{i}(p)⊕λ (12)
where δ is non-zero and δ, λ are elements of the set {0,1}^{m}.
In order for the determined function f to benefit from the characteristics of the functions g_{1 }to g_{n }stated in relation to equation (12) and in relation to the level of complexity, f may advantageously be constructed using the following equation:
ƒ(q)=(g_{1}(q_{0}, . . . , q_{m-1}),g_{2}(q_{m}, . . . , q_{2m-1}), . . . , g_{n}(q_{k-m}, . . . , q_{k-1})) (13)
where q=(q_{0}, . . . , q_{k-1}) in the set {0,1}^{k}.
In this kind of context, the values of the numbers m and n ate determined and the functions g_{1 }to g_{n }are determined as a function of the maximum number M and the level of complexity threshold value to be complied with for the determined function f.
For example, for an odd number m, it is possible to choose functions g_{i}, for i from 1 to n, such that they transform an element p into an element p^{3 }in the finite body L with 2^{m }elements, where L is in a one-to-one relationship with the set {0,1}^{m}. In a situation of this kind, there is obtained for each of the functions g_{i }a maximum number G of values p satisfying equation (12) that is equal to 2.
Consequently, there is obtained a maximum number M equal to 2^{k-m+1 }of values a_{i }from the set {0,1}^{k }satisfying equation (8).
FIG. 5 shows an RF label according to one embodiment of the present invention. It comprises a storage entity 505 adapted to store the identifier of the label. It further comprises a random generation entity 501 adapted to generate the first random number b_{i }sent to the reader in a message 401, this generation being effected in accordance with a uniform rule. This kind of entity is also adapted to generate third and fourth random numbers in accordance with a determined probabilistic rule. It further includes a transformation entity 503 adapted to transform a number in accordance with the determined function f and to supply a transformed number. This transformation entity therefore supplies the first and second transformed numbers that are then combined with the identifier of the label to obtain the second portion of the value of the encrypted identifier.
A label according to one embodiment of the present invention further comprises an encryption entity 504 adapted to encrypt the identifier of the RF label by combining that identifier with the first random number supplied by the random generation entity 501 and the second random number received from the label reader with the third and fourth random numbers and with the first and second random numbers transformed by the transformation entity 503.
This label 102 then comprises an interface management entity 506 for the interface with the RF label reader adapted to send the first random number b_{i }to the label reader, to receive the second random number a_{i }from the label reader and to send a value z_{i}, z_{i}′ of the encrypted identifier of the label.
FIG. 6 shows an RF label reader according to one embodiment of the present invention. This kind of reader 101 comprises an interface management entity 601 for communicating with the RF labels of the RF identification system. This kind of entity is adapted to receive the first random number b_{i }from an RF label 102, to send the second random number a_{i }to the RF label and to receive a value of the encrypted identifier resulting from combining the identifier of the label with the first and second random numbers and the first and second random numbers transformed by the determined function, and with the third and fourth random numbers generated in accordance with the probabilistic rule.
This kind of reader further comprises a storage entity 602 adapted to store the determined function f, the probabilistic generation rule and a list of identifiers associated with labels of the system. It also includes an identification entity 603 adapted to identify the RF label by determining the associated identifier as a function of the N values of the encrypted identifier received from the label to be identified, of the determined function f, of the probabilistic generation rule, of the N first and second random numbers and of the list of identifiers stored in the storage entity 602. It also comprises a random number generation entity.