This application claims priority to European Patent Application No. 23218052.1 filed Dec. 19, 2023, the entire contents of which are incorporated herein by reference.
The present invention relates to a method for verifying the conformity of a NDEF message on the basis of a processing of a previous NDEF message sent by a same transponder to an electronic system.
Advances in technology have resulted in smaller and more powerful personal computing devices. Personal computing devices include wireless handheld devices such as smart phones and tablet devices.
Wireless handheld devices are configured to operate within wireless communication systems and are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, and broadcasts. Further, wireless handheld devices may be configured to communicate using a variety of frequencies and applicable coverage areas, such as cellular communications, wireless local area network (WLAN) communications, NFC (acronym for “Near Field Communication”), RFID (acronym for “Radio Frequency Identification”), etc. These communication methods are used to provided and share information to the operator and the multiple sources using the communication methods. The information may be process over a plurality of the sources.
NFC can operate in a short-range wireless technology, which typically requires a “near-field” separation (e.g., of 10 cm or less). NFC involves an initiator and a target, the initiator actively generates an RF field that can power a passive target. The target may then transmit one or more messages to the initiator using the power of the RF field. This enables NFC targets to take low-complexity form factors such as unpowered tags, stickers, or cards, etc.
There exists a need for further improvements in NFC technologies.
The invention relates to a method for verifying the conformity of a NDEF message on the basis of a processing of a previous NDEF message sent by a same transponder to an electronic system configured to process such messages, the method consisting of in:
In other embodiments:
The invention relates to a system for verifying the conformity of a NDEF message based on a processing of a previous NDEF message sent by a same transponder to an electronic system configured to process such messages the system implementing this method.
In other embodiments:
The present invention will be described subsequently in more detail with reference to the attached drawing, given by way of examples, but in no way limited thereto, in which:
The following description is intended to illustrate specific embodiments of the invention, and not to limit the invention. Thus, nothing in this detailed description is intended to imply that any particular feature, characteristic or component is essential to the invention. The invention is defined only by the claims.
Referring now to the
Such a transponder 2 may be associated with, attached to, or included in, an object or an article. It is understandable that in such a context, this object/article is part of this system 1. Such an object/article is for example: a garment, a label, a poster, a vehicle license plate, etc.
In the embodiments of the invention, these system 1 and method can verify the conformity of a NDEF message MC, MS based on a processing of a previous NDEF message MP sent by the same transponder 2. In this context, verifying the conformity of a NDEF message MC, MS consists of verifying only the validity of this NDEF message MC, MS in a non-connected mode, or verifying the validity and the authenticity of this NDEF message MC, MS in a connected mode. Moreover, this verification is carried out on the basis of a NDEF message MP, previously transmitted by the transponder 2. These non-connected and connected modes will be explained in more detail later.
It can be noted that, in this context, the previous NDEF message MP and the NDEF message referenced “MC” are consecutive messages and the previous NDEF message MP and the NDEF message referenced “MS” are successive messages. It may be noted that the previous NDEF message MP can be also called “first NDEF message” transmitted by the transponder 2, and the NDEF messages MC, MS, “a second NDEF message”.
Each of these NDEF message MP, MC and MS, is an NFC Forum Data Exchange Format message. The NDEF defines here an encapsulation format of information during information exchange, where the information is transmitted between the transponder reader 4 (or between an NFC terminal) and the transponder 2 (or an NFC tag). The NDEF is a lightweight binary message format, and it can be used to encapsulate information like one or more transponder-defined-data of any type and any size.
These transponder-defined data comprise at least one NDEF Record consisting in a NDEF Record Header and a NDEF Record Payload. This NDEF Record Payload comprises generic data GD and a token Ti, comprising token data. In this context, the generic data include for example:
In the embodiments of the invention, these generic data GD are all concatenated together with the data of the token Ti in order to form the transponder-defined-data. More specifically and for a better understanding of the embodiments of this invention, the previous NDEF message MP can be defined by this following formula:
MP=GD=∥Ti
In this previous NDEF message MP, the token Ti can be defined by the following formula:
T
i=CTi∥RNi∥Vi i>0
CTi=(RNi−1 xor Ci)
V
i
=H(RNi−1),
In these embodiments of this invention, the NDEF message MC generated by the transponder 2 consecutively to the previous NDEF message MP, can be defined by the following formula:
MC=GD∥Ti+1
In this consecutive NDEF message MC, the token Ti+1 can be defined by the following formula:
T
i+1=CTi+1∥RNi+1∥Vi+1 i>0
(RNi xor Ci+1)
V
i+1
=H(RNi),
In these embodiments of this invention, the NDEF message MS generated by the transponder 2 successively to the previous NDEF message MP, can be defined by the following formula:
MS=GD∥Ti+a
T
i+a=CTi+a∥RNi+a∥Vi+a i>0 and a>1
V
i+a
H(RNi+a−1),
It can be noted that, the token Ti, Ti+1, Ti+a of each NDEF message MP, MC, MS generated by the transponder 2 can also include additional data concatenated with those previously described. These additional data may concern information on at least one data included in the generated NDEF message MP, MC, MS that is to say at least one data comprised in the generic data GD or in this token Ti, Ti+1, Ti+a. Such additional data comprises for example a cyclic redundancy check value (also called by the acronym “CRC value”) consistent with at least one data of the generic data GD (for example: a SN, an URI, etc) and/or at least one data of the token Ti, Ti+1, Ti+a.
In the embodiments of this invention, the system 1 for verifying the conformity of a NDEF message MC, MS, includes the transponder 2 as well as an electronic system 3 configured to process the NDEF messages MP, MC, MS that it receives.
In this context, the electronic system 3 may consist solely of a transponder reader 4, or of a transponder reader 4 and a server 5.
In this electronic system 3, this transponder reader 4 can be for example an NFC terminal or an NFC device. The NFC terminal is a terminal having an NFC function, such as a mobile phone, a tablet computer, or a camera.
Such a transponder reader 4 integrates a control unit 7 including hardware and software resources in particular at least one processor cooperating with memory components. This control unit 7 is a logical entity responsible for transmitting data to a communication module 8 including a radio frequency interface, in this case an NFC radio frequency interface. In this context, this control unit 7 is configured to manage communications with the transponder 2, as well as with the server 5 when the electronic system 3 includes one, in order to process the NDEF messages MP, MC, MS received. Thus, the communication module 8 is configured to establish a connection and manage data exchanges with this transponder 2 as well as with the server 5 when the electronic system 3 includes one.
This transponder reader 4 also includes a broadcast module 9 configured to diffuse an informative message MI relating to the verification of the conformity of a NDEF message MC, MS received, i.e., whether or not this NDEF message MC, MS is valid, or valid and authentic. Such a broadcast module 9 is connected to the control unit 7 of the transponder reader 4, and comprises:
In this electronic system 3, the server 5 offers services accessible via a network and it can be hardware or software server 5. Such a server 5 comprises a controller 10 and a database 6, this database 6 being connected to this controller 10 and comprising data relating notably to NDEF messages MP, MC, MS received.
To a better understanding of the invention, the electronic system 3 includes a control module 11 which comprises:
Moreover, in this electronic system 3, the control module 11 comprises:
Furthermore, the database 6 of the server 5 can comprise in a non-limitative and non-exhaustive way: the local counter Ci and the random number RNi of the last NDEF message received and processed/controlled, in our embodiments this last NDEF message is the previous NDEF message MP.
In reference to
As already discussed, this method is implemented by the electronic system 3 comprising:
Such a method includes a step of transmission 20 of the NDEF message MC, MS by the transponder 2 to the electronic system 3. This NDEF message MC, MS is transmitted to the electronic system 3, consecutively (regarding MC) or successively (regarding MS) to the previous NDEF message MP, after this last one has also been generated and transmitted by this same transponder 2 to this electronic system 3.
Such a step 20 comprises a sub-step of establishing 21 a communication between the transponder 2 and the electronic system 3. More specifically, this communication is established between this transponder 2 and the transponder reader 4 of this electronic system 3, over a short distance. This short distance is configured to establish near-field communication between this transponder 2 and the transponder reader 4.
Then, this step 20 includes a sub-step for designing 22 this NDEF message MC, MS to be transmitted to the electronic system 3. This sub-step 22 is implemented by the transponder 2 and more particularly by its chip. Such a sub-step 22 comprises a phase of generating 23 transponder-defined data constituting this NDEF message MC, MS, this data comprising at least one NDEF Record consisting in generic data GD and the token Ti+1, Ti+a. It is understood that these generic data GD and/or the token Ti+1, Ti+a can be included in one or several records.
Thereafter, the method comprises a step for controlling 24 the regularity of the token Ti+1, Ti+a of this NDEF message MC, MS received. Indeed, in this method, if the token Ti+1, Ti+a is conformed/compliant then the validity in non-connected mode, or the validity and the authenticity in connected mode of the NDEF message MC, MS is verified. Such a step 24 is implemented by the electronic system 3. In this context, it can be noticed that this step for controlling 24 the regularity can be: a step for controlling 24 the validity only of the NDEF message MC, MS in the non-connected mode, and a step for controlling 24 the validity and the authenticity of the NDEF message MC, MS in connected mode.
When the data constituting this token Ti+1, Ti+a comprises additional data like for example a cyclic redundancy check value consistent with at least one data of the generic data GD and/or at least one data of that token Ti+1, Ti+a, this step 24 includes a sub step of verification 25 of the integrity of data of this token Ti+1, Ti+a and/or the generic data GD, based on this cyclic redundancy check value comprised in the data constituting the token Ti+1, Ti+a. During this sub-step 25, the control module 11 of the electronic system 3—for example the controller 10 and/or the control unit 7—can implement the CRC algorithm based on this CRC value in order to verify the integrity of the data of the token Ti+1, Ti+a and/or the generic data GD.
Once the integrity of the data has been verified, the step 24 comprises a sub-step for checking 26 that the random number RNi+1, RNi+a is different from the random number RNi included in the token Ti of the previous NDEF message MP. As discussed before, this random number RNi is already stored in the database 6 of the server 5 in the case the electronic system 3 comprises both the server 5 and the transponder reader 4. Otherwise, in the case the electronic system 3 consists solely of a transponder reader 4, the previous NDEF message MP is locally and temporarily stored in the memory elements of the control unit 7. In this context, if this random number RNi+1, RNi+a is different than the random number RNi, then proceed to the following check with the sub-step 27. A difference between these two random numbers RNi+1, RNi+a and RNi means that the two NDEF messages—the previous message MP and the NDEF message MC, MS received—are different, and that these two random numbers RNi+1. RNi+a and RNi evolve randomly.
The step 24 also comprises a further sub-step for checking 27 that the counter token CTi+1, CTi+a of the NDEF message MC, MS received, is different from the counter token CTi included in the token Ti of the previous NDEF message MP. In the same way as for the random number RNi and in the case the electronic system 3 comprises both the server 5 and the transponder reader 4, the local counter Ci comprised in this counter token CTi is also already stored in the database 6 of the server 5. Otherwise, in the case the electronic system 3 consists solely of a transponder reader 4, the previous NDEF message MP is locally and temporarily stored in the memory elements of the control unit 7. Thus, if this counter token CTi+1, CTi+a is different than the counter token CTi, then proceed to the following check with the sub-step 28. It should be noted that the difference between these two counters token CTi+1, CTi+a and CTi means that the two NDEF messages MP, MC, MS—the previous message MP and the NDEF message MC, MS received—are different, and that these two counters token CTi+1, CTi+a and CTi evolve randomly.
Furthermore, the step 24 comprises a sub-step for checking 28 that a one-way function value Vi+1, Vi+a included in the token Ti+1, Ti+a of this NDEF message MC, MS received, is equal to the one-way function value Vc computed by the electronic system 3, notably by the transponder reader 4 and/or the server 5. During this sub-step 28, the one-way function value Vc is computed from the random number RNi already stored in the database 6 of the server 5, and/or comprised in the previous NDEF message MP. As discussed before, the control module 11 of the electronic system 3—the control unit 7 of the transponder reader 4 and/or the controller 10 of the server 5—computes this one-way function value Vc by executing the following mathematical function:
V
c
=H(RNi)
In this context, if the one-way function value Vi+1 included in the NDEF message MC is equal to the one-way function value Vc computed, the two NDEF messages MP and MC—the previous message MP and the consecutive NDEF message MC received—are chained and consecutively linked together. At this stage, and following verifications performed during steps 25, 26, 27 and 28, the validity of the token Ti+1 of this NDEF message MC received is verified. Consequently, the validity of this NDEF message MC is also verified.
At this stage, following this sub-step 28, step 24 includes a sub-step for storing 29 in the database 6 of the server 5: the local counter value Ci+1 contained in the counter token CTi+1 and the random number RNi+1 extracted from the NDEF message MC.
During the sub-step for checking 28, if the one-way function value Vi+a is not equal to the computed one-way function value Vc, this means that the NDEF message received is not a consecutive NDEF message MC. In other words, the previous NDEF message MP and the NDEF message received MS are not consecutive NDEF messages. This particular situation happens when one or more NDEF messages may have been transmitted by the transponder 2 and not received by the electronic system 3, e.g., the server 5.
For memory, this successive NDEF message MS is defined by the formula:
In this case, when the NDEF message is a successive NDEF message MS of the previous NDEF message MP, that means not a consecutive one, the sub-step 28 comprises a phase for computing 30 the one-way function value Vc from an exclusive OR logic function applied between the token counter value CTi+a comprised in the token Ti+a of the received NDEF message MS and a local counter CL calculated by incrementing the local counter Ci of the previous NDEF message MP from a number “a” until said calculated one-way function value Vc is equal to said one-way function value Vi+a. This number a is, for example, an increment number a, with a>1, when the local counter values Ci and Ci+a are generated from incremental local counters.
Such a phase 30 contributes to extract the random number RNi+a−1 contained in the token counter value CTi+a in order to compute the one-way function value Vc. It must be notice here that the random number RNi+a−1 is the random number of the NDEF message never received by the electronic system 3 and from which the NDEF message MS received—the so-called successive NDEF message MS—is consecutive. Therefore, during this phase 30 the computed local counter CL is incremented from the increment number “a”, with a>1, until the computed one-way function value Vc is equal to the received one-way function value Vi+a, and therefore until this computed local counter CL is equal to the local counter Ci+a of the token counter value CTi+a.
In other words, the computed one-way function value Vc can be defined by the following mathematical formula:
Once the equality between these two one-way function values Vi+a, Vc has been verified, the step 24 includes a sub-step of storing 31 in the database 6 of the server 5, the computed local counter value CL (=Ci+a) and the random number RNi+a related to this successive NDEF message MS. Indeed, in this context, the computed local counter value CL (=Ci+a) and the random number RNi+a are considered to be respectively the local counter value and the random number included in this successive NDEF message MS.
In embodiments of the invention and regarding the phase for computing 30, the number “a” can be a random increment “a” when the local counter values Ci and Ci+a are generated from random local counters with this random number “a” which is comprised in a specific range of values and stored in the database 6 of the server 5.
In this context, the equality between these two one-way function values Vi+a and Vc means that the two NDEF messages MP and MS—the previous message MP and the successive NDEF message MS received—are chained and successively linked together. At this stage, and following verifications performed during steps 25, 26, 27, 28 and 30, the validity of the token Ti+a of this NDEF message MS received is verified. Consequently, the validity of this NDEF message MS is also verified.
This step for controlling 24 also includes a further sub-step for checking 32 that a local counter value Ci+1, Ci+a included in the token counter value CTi+1, CTi+a of the token Ti+1, Ti+a of the NDEF message MC, MS received, is equal to a local counter value Cp computed based on a local counter value Ci comprised in the token Ti of the previous NDEF message MP.
This sub-step 32 comprises a phase of extraction/determination 33 of the local counter value Ci+1, Ci+a from an exclusive OR logic function applied between the random number RNi comprised in the token Ti of the previous NDEF message MP and the token counter value CTi+1, CTi+a included in the token Ti+1, Ti+a of the NDEF message MC, MS received. During this sub-step 32, the control module 11 of this electronic system 3, e.g., the controller 10 of the server 5, executes this formula:
Note that in this formula is valid in the case of a successive NDEF message MC received. In the case of a consecutive NDEF message MC, the formula is the following one:
During this sub-step 32, when the local counter value Ci+1, Ci+a and the computed local counter value Cp, are values from incremental local counters with an increment number “a” with a>0, this sub-step 32 comprises a phase for computing 34 the local counter value Cp by incrementing the value of the local counter value Ci comprised in the token Ti of the previous NDEF message MP, with the increment number a. This local counter value Ci is already stored in the database 6 of the server 5.
Thus, if the local counter value Ci+1, Ci+a included in the NDEF message MC, MS is equal to the computed local counter value Cp the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS received is verified. Consequently, the authenticity of this NDEF message MC, MS is also verified. That can be verified by this formula:
Note that in this formula is valid in the case of a successive NDEF message MC received. In the case of a consecutive NDEF message MC, the formula is the following one:
In remarks, if the local counter value Ci+1, Ci+a, is less than the computed local counter value Cp, the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS received is not guaranteed. Consequently, the authenticity of this NDEF message MC, MS is also not guaranteed and that NDEF message MC, MS can be a replayed NDEF message. In addition, if the local counter value Ci+1, Ci+a is greater than the computed local counter value Cp, the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS received is also not guaranteed. Consequently, the authenticity of this NDEF message MC, MS is also not guaranteed and that NDEF message MC, MS can be malicious data.
During this sub-step 32, the increment number “a” can be replaced by a random number “a” when the local counter value Ci+1, Ci+a and the computed local counter value Cp, are values from random local counters. Such a random number “a” contributes to generate random number comprised in a predefined range of values stored in the database 6 of the server 5.
In this context, the sub-step 32 comprises a phase for computing 35 the local counter value Cp by adding the random number “a” to the local counter value Ci. The local counter value Ci which is included in the token Ti of the previous NDEF message MP, is already stored into the database 6 of this server 5.
This step for controlling 24 also includes a sub-step for checking 36 that the local counter value Ci+1, Ci+a is strictly:
In this context, if the local counter value Ci+1, Ci+a included into the NDEF message MC, MS received, is comprised between this local counter value Ci and that computed local counter value Cp incremented by the constant value equal to the number one, the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS received is guaranteed. Consequently, the authenticity of this NDEF message MS, MC is also guaranteed. That can be verified by this formula:
In remarks, if the local counter value Ci+1, Ci+a is less than or equal to local counter value Ci, the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS received is not guaranteed. Consequently, the authenticity of this NDEF message MC, MS is also not guaranteed. In this context, such a NDEF message MC, MS can be a replayed NDEF message. In addition, if the local counter value Ci+1, Ci+a is greater than or equal to the computed local counter value Cp incremented by the constant value equal to the number one, the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS received is also not guaranteed. Consequently, the authenticity of this NDEF message MC, MS is also not guaranteed and that NDEF message MC, MS can be malicious data.
It is understood here that the validity and the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS received is verified and guaranteed by executing the sub-steps 25, 26, 27, 28, 30, 32 and 36 successively, simultaneously or in any order. It can be noted here that these sub-steps for checking referenced 25, 26, 27, 28, 30, 32 and 36, can also be called first, second, third, fourth, fifth, sixth and seventh sub-steps for checking respectively.
In addition, it should be noted that this step for controlling 24 the validity and the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS comprising these sub-steps 25, 26, 27, 28, 30, 32 and 36 are implemented by the control module 11 of the electronic system 3. More specifically, this step 24 can be implemented by the transponder reader 4 (its control unit 7) and/or by the server 5 (its controller 10 and its database 6).
In some embodiments, the sub-step referenced 25, 26, 27 and 28 can be implemented by the control unit 7 of the transponder reader 4 without the need to be connected to a server 5. In other words, these sub-steps 25, 26, 27 and 28 can be implemented by the transponder reader 4 only. In this way, only the validity of the token Ti+1 of this NDEF message MC received can be verified here in the non-connected mode mentioned above.
Similarly, in some embodiments, the additional sub-steps referenced 29, 30, 31, 32 and 36 may be implemented by the server 5 that has received the NDEF message MC, MS from the transponder reader 4. In this way, the validity and the authenticity of the token Ti+1, Ti+a of this NDEF message MC, MS received can be verified and guaranteed here in the connected mode previously mentioned.
In other embodiments, this step for controlling 24 can also be implemented by the transponder 2 and server 5 together, for example by sharing the implementation of at least one of these sub-steps 25, 26, 27, 28, 29, 30, 31, 32 and 36.
Then the method comprises a step for broadcasting 37 an informative message MI related to the conformity of the NDEF message MC, MS that is to say the validity only or the validity and the authenticity of this NDEF message MC, MS. During this step 37, once the step for controlling 24 the validity of the token Ti+1, Ti+a of this NDEF message MC, MS is achieved, the controller 10 of the server 5 generates an informative message MI to the transponder reader 4 based on the result of this control. This result is a validation or a non-validation of the validity only or the validity and the authenticity of this NDEF message MC, MS. Such an informative message MI can be for example a visual message or an audio message. This informative message MI is broadcasted by the transponder reader 4 and can be generated by the transponder reader 4 in the non-connected mode or by the server 5 in the connected mode.
The foregoing is only illustrative of preferred embodiments of the present invention. The present invention is not limited to the above embodiments. It should be understood that further improvements and changes that are directly derived or conceived by those skilled in the art without departing from the basic concept of the present invention should be considered to be included in the protective scope of the present invention.
| Number | Date | Country | Kind |
|---|---|---|---|
| 23218052.1 | Dec 2023 | EP | regional |