[go: up one dir, main page]

HK1151910A - Decoupling of measuring the response time of a transponder and its authentication - Google Patents

Decoupling of measuring the response time of a transponder and its authentication Download PDF

Info

Publication number
HK1151910A
HK1151910A HK11105993.3A HK11105993A HK1151910A HK 1151910 A HK1151910 A HK 1151910A HK 11105993 A HK11105993 A HK 11105993A HK 1151910 A HK1151910 A HK 1151910A
Authority
HK
Hong Kong
Prior art keywords
transponder
reader
random number
random
command
Prior art date
Application number
HK11105993.3A
Other languages
Chinese (zh)
Inventor
彼得‧蒂林格
汉斯‧德容
布鲁斯‧默里
海克‧诺伊曼
保罗‧胡伯默尔
苏珊‧斯顿
Original Assignee
Nxp股份有限公司
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 Nxp股份有限公司 filed Critical Nxp股份有限公司
Publication of HK1151910A publication Critical patent/HK1151910A/en

Links

Description

Disconnection of measuring response time of transponder and authentication thereof
Technical Field
The invention relates to a reader for determining the validity of a connection to a transponder, said reader being designed to measure the response time of the transponder and to authenticate said transponder. Furthermore, the invention relates to a transponder for determining the validity of a connection to a reader, which transponder is designed to provide information for response time measurement to the reader and information for authentication to the reader. Furthermore, the invention relates to a method for a reader to determine the validity of a connection to a transponder and to a method for a transponder to determine the validity of a connection to a reader. The invention further relates to a program element. The invention further relates to a computer-readable medium.
Background
When transponders, in particular smart cards and RFID tags, are used, the so-called "relay" attack problem "arises. Usually, a reader in close proximity to the transponder reads the transponder (near field communication). The relay attack releases this local binding for criminal activity.
In the example, person a is in a bar and has parked his car in front of the bar. The vehicle is equipped with a key with less access features (that is to say with a transponder for accessing the vehicle, in particular a smart card). Person B reads the data from the transponder in pocket a and sends the data via the mobile phone to person C standing beside the car. In this way, C can open the car without giving a the opportunity to learn about the thief.
Since transmission via e.g. GSM takes a longer response time than near field communication, a measure of the response time can be measured to detect such a relay attack when the reader reads the transponder. If the response time exceeds a predetermined time window, access is denied. Due to the faster and faster transmission means, it is attempted to make the time window as small as possible.
However, time is required for encryption/decryption during authentication. As the algorithms for authentication become more complex, there are physical limitations to the time window.
Hancke, g.p., Kuhn, m.g., "An RFID Distance Bounding Protocol," First International Conference on Security and Privacy for authentication Areas in Communications Networks 2005, pp.67-73, discloses a radio frequency identification token such as a contactless smart card that is susceptible to a relay attack if used for proximity authentication. Attackers can try to avoid the limited range of the radio channel using transponders that forward the exchanged signals at greater distances. Encrypted distance bound protocols provide a possible countermeasure that accurately measures the round trip delay of a radio signal. The protocol derives the upper bound of the distance between the reader and the token from the fact that the information does not propagate faster than the speed of light. A distance boundary protocol based on ultra-wideband impulse communication is disclosed. For implementation in tokens using only simple, asynchronous, low-power hardware, the method is particularly suitable for passive low-consumption tokens, noisy environments, and high-speed applications.
Disclosure of Invention
It is therefore an object of the present invention to provide a reader and/or transponder that operates in a secure manner.
The object of the invention is achieved by a transponder, a reader, a method, a program element and a computer-readable medium according to the independent claims.
According to an exemplary embodiment, a reader (which may be communicatively connected to a transponder) is provided for determining the validity of a connection to the transponder (in particular an authorized transponder which may be communicatively connected to the reader), wherein a measurement of a response time of the transponder (in particular a response to a corresponding request of the reader, wherein the response time may be a time interval between a transmission of a request from the reader to the transponder and a reception of a response from the transponder in response) and an authentication of the transponder (in particular by a transmission of encrypted communication information from the transponder to the reader after a previous transmission of further unencrypted communication information for the response time measurement) is done in two separate steps (in particular by two separate communication messages transmitted with a time interval in between). During the measurement of the response time, the communication message transmitted between the reader and the transponder, in particular before the authentication, may comprise at least a part of the data for the (in particular subsequent) authentication.
According to another exemplary embodiment, a transponder for determining the validity of a connection to a reader is provided, wherein information for response time measurement and information for authentication are provided to the reader in two separate steps. During the measurement of the response time, the communication message transmitted between the reader and the transponder, in particular before the authentication, may comprise at least a part of the data for the (in particular subsequent) authentication.
According to another exemplary embodiment, a method for a reader (or performed by a reader) to determine the validity of a connection (of the reader) to a transponder is provided, the method comprising:
the reader sends a first command (such as a first communication message) and a second random number to the transponder (step 1);
the reader receives a first random number (in particular in plaintext form) from the transponder (step 2);
the reader receives from the transponder an encryption of the first random number and an encryption of the second random number (in particular in encrypted form) (step 3);
the reader decrypts the received numbers, in particular the encrypted first and second random numbers, with the same key as used by the transponder, or decrypts the first random number and the second random number with said key (step 4);
the reader checks whether the first random number and the second random number of step 2 are identical to the first random number and the second random number of step 3 (step 5);
the reader checks whether the first random number is received within a predetermined time window (step 6); and
if the result of the check in step 5 and the result of the check in step 6, in particular both, are true, the reader considers the connection to the transponder as valid (step 7).
According to another exemplary embodiment, a method for a transponder to determine the validity of a connection to a reader is provided, the method comprising:
the transponder receiving a first command and a second random number from the reader;
the transponder sending a first random number to the reader;
the transponder sends an encryption of the first random number and the second random number to the reader.
According to another exemplary embodiment (a detailed explanation and a corresponding description are provided in fig. 5), a method for a reader to determine the validity of a connection to a transponder is provided, the method comprising:
sending a first command and a second random number to the transponder;
receiving a first random number from the transponder;
transmitting a first Message Authentication Code (MAC) generated based on the first random number and the second random number to the transponder;
receiving a second Message Authentication Code (MAC) that may be generated based on the first random number and the second random number from the transponder;
checking whether a second Message Authentication Code (MAC) is valid;
checking whether a first random number is received within a predetermined time window; and
if the results of the checks are all true, the connection to the transponder is considered valid.
According to another exemplary embodiment (a detailed explanation and a corresponding description are provided in fig. 5), a method for a transponder to determine the validity of a connection to a reader is provided, the method comprising:
receiving a first command and a second random number from the reader;
sending a first random number to the reader (specifically, immediately in response to the received first command);
receiving a first Message Authentication Code (MAC) generated based on the first random number and the second random number from the reader;
checking whether a first Message Authentication Code (MAC) is valid;
when the first Message Authentication Code (MAC) is valid, a second Message Authentication Code (MAC) generated based on the first random number and the second random number is transmitted to the reader (when the first Message Authentication Code (MAC) is invalid, the transponder may transmit another Message Authentication Code (MAC) to the reader that is not generated based on the first random number and the second random number, for example, may be generated to indicate authentication failure).
According to another exemplary embodiment, a program element (e.g. source code or a software routine executing code, such as a downloadable program) is provided, which, when being executed by a processor, is adapted to control or carry out one of the methods having the above mentioned features.
According to another exemplary embodiment of the invention, a computer-readable medium (for example a CD, a DVD, a USB stick, a floppy disk or a hard disk) is provided, in which a computer program is stored which, when being executed by a processor, is adapted to control or carry out one of the methods having the above mentioned features.
The data processing that can be performed according to embodiments of the invention can be implemented by a computer program, i.e. by software, or by using one or more special electronic optimization circuits, i.e. in hardware, or in hybrid form, i.e. by means of software elements and hardware elements.
The term "transponder" may particularly denote an RFID tag or a (e.g. contactless) smart card. More specifically, the transponder may be a device (e.g. comprising a chip) that may automatically transmit specific (e.g. encoded) data when activated by a special signal from the challenger.
The term "reader" may particularly denote a base station adapted to transmit a beam of electromagnetic radiation for reading out a transponder and to detect reflected or transmitted signals. The reader device may be adapted as one of the group consisting of: reading and/or writing devices, RFID readers, contactless chip card readers, passive transponders and near field communication devices. However, communication may also be based on a wired interface.
One or more "applications" may be provided by a communication system formed by a reader and a transponder. Such an application may particularly represent a service within a communication system formed by a reader and a transponder, which transponder and/or may contribute to the service. The provision of such contributions may involve the ability of the transponder to provide stored or calculated data, to provide processing power, etc. Examples of such services are: the user of the transponder pays for the use of public transportation, the wireless payment system pays for the purchase price of the item, etc.
The term "message authentication code" (MAC) may particularly denote a short message used for authenticating a message. The MAC algorithm may accept as input a secret key and a message of arbitrary length to be authenticated, and may output a MAC. The MAC value may protect the data integrity of the message and its authenticity by allowing an authenticating party (also in possession of the secret key or corresponding public key).
The term "cyclic redundancy check" (CRC) may particularly denote the type of function (or its output) that takes a data stream of any length as input and produces as output a value of a certain space, for example an integer of a certain number of bits. The CRC may be used as a checksum to detect data changes during transmission.
Embodiments of the invention provide the following advantages: by separating the communication for response time measurement and the communication for security purposes in time, the connection between the reader and the transponder can be considered valid (this is to determine whether the connection is broken) with a high degree of certainty. In other words, this means that attacks, in particular relay attacks, can be detected with a high probability. This can be achieved by the time required to disconnect the cryptographic operation from the measurement of the response time of the transponder. Further, communication between the reader and the transponder during the time measurement portion may be cooperatively used to transmit a code that is subsequently used for authentication. This may allow a very efficient use of bandwidth and a fast initialization phase. Furthermore, by exchanging such codes, parallel generation of such codes in both entities can be prevented, thus reducing the computational burden on the system, since it is sufficient to generate such codes in only one of the two entities. For example, a first command from the transponder to the reader requesting the reader to respond immediately to a response time measurement may carry a random number as part of a code for subsequent cryptographic authentication.
Embodiments of the invention may also have the following advantages:
for example, such a system may be applied to mass transit, and may also be used for keyless entry systems in vehicles and a number of other applications.
For example, the corresponding communication system may be applied to DRM-protected content that is consumed only at a particular location.
For example, the corresponding communication system may be applied to prisoners who need to stay in a vacation at home.
Thus, embodiments of the present invention provide an appropriate solution for determining the validity of a connection between a reader and a transponder.
Hereinafter, another embodiment of the reader will be explained. However, these embodiments also apply for the transponder, for the method, for the program element and for the computer-readable medium.
According to an exemplary embodiment, the reader may be designed to measure the response time as a time interval between a first command sent from the reader to the transponder and the reception of a first random number from the transponder in response to the first command. In other words, the response time may indicate the time required for the transponder to send a response to a query of the reader. When the reader measures such a time interval, the time required for the transponder to transmit the first random number can be estimated. In case of a relay attack problem, which involves additional transmission paths due to the attack, this time will be longer than a predetermined threshold. When the first random number is not encrypted by the transponder before it is sent to the reader with the response time measurement (and therefore it is desirable to have no delay due to encryption), any additional delay other than the propagation of the message between the reader and the transponder is likely to cause a relay attack. The absence of such additional delay may allow the reader to deduce that communication with the transponder is valid. In particular, in the scenario where the reader receives the first random number (in response to the first request) in plain text or unencrypted form, the response time of the transponder is a suitable metric for determining whether a relay attack problem exists. For example, if the measured response time is less than a predetermined threshold, the connection between the transponder and the reader may be classified as valid.
With reference also to the above embodiments, the reader may be designed to authenticate the transponder based on the following evaluation: whether the encryption of the first random number received from the transponder after the first random number for measuring the response time has been received (which is the first random number sent in an encrypted manner from the transponder to the reader in response to the second request) coincides with the received first random number for measuring the response time. In other words, the first random number sent in response to the first command is compared with the first random number sent in response to the second command (the encrypted first random number that may be sent from the transponder to the reader after decryption). Thus, the response time measurement can be disconnected from the authentication verification, since the same random number without encryption is first sent only for response time measurement purposes, and the same random number is subsequently resent in an encrypted manner for authentication purposes.
In a preferred embodiment, the reader may be designed to measure the response time as a time interval between sending the first command and the second random number to the transponder and receiving the first random number from the transponder in response to the first command. In other words, together with sending the first request, the reader may simultaneously send a second random number to the transponder, which second random number may then be used for at least one of the following two purposes. One object is that the transponder can use the received second random number in order to derive a third random number, which the transponder can use in future sessions. The second purpose is that this second random number, which has been sent from the reader to the transponder, can also be used (in addition to the first random number) for authentication purposes, as will be explained below.
That is, the reader device may be designed to authenticate a transponder based on the following evaluation: after having received the first random number for measuring the response time, whether the encryption of the second random number and the encryption of the first random number received from the transponder coincide with the received first random number and second random number for measuring the response time. In this scenario, the reader may send a second random number to the transponder with a response time measurement. In a subsequent process, the transmitter may then encrypt the authentication message using both the first random number already stored in the transponder and the second random number received from the reader. The two random numbers can be encrypted together with a specific key (also known to the reader). This may allow to securely identify the transponder and at the same time ensure that only authorized transponders communicate with the reader, thus eliminating the relay attack problem with a high degree of security.
The reader is designed to consider a connection to a transponder as valid only if it is determined that there is simultaneous agreement between the response time interval AND the first random number (AND optionally the additional second random number) sent in encrypted form from the transponder to the reader within a predetermined time window (e.g. the predetermined time window is less than a predetermined threshold). Therefore, a logical AND combination between the two criteria is necessary to accept the connection between the transponder AND the reader as valid. The first criterion is that the time interval for the transponder to respond to the first command is shorter than a predetermined threshold. This can ensure the possibility of eliminating the relay attack problem. Since the transmission of the first response is performed without the transponder performing any processing load or task, the actual transmission time in the case of a relay attack problem is an appropriate measure for the length of the transmission path between the transponder and the reader and may vary significantly. The second criterion ensures that the same transponder as the response to the first command also provides an encrypted password, which may be formed by a combination of the first random number (stored in the transponder) and the second random number (transmitted by the reader together with the first command).
The reader is designed to exchange data for authentication and/or data for proximity verification with the reader, split into a plurality of communication messages. Thus, it is not necessary to include all authentication information or all proximity verification (e.g., by response time measurement) information in a single message exchanged between the reader and the transponder. Instead, the corresponding code may be divided into different parts, which may be transmitted by different communication messages sent from the reader to the transponder, or vice versa. For example, the proximity check may be divided into a plurality of segments to obtain accurate time information.
The reader is designed to send a first command (which may include a second random number) without a Cyclic Redundancy Check (CRC). This concept is a completely different approach compared to the ISO 14444-4 system, which relies on a CRC attached at the end of the data portion communicated from the reader to the tag. Embodiments of the present invention may attach a CRC to a response message transmitted from a tag to a reader for error correction. The CRC may include a first command (including the second random number) and a response (including the first random number) in order for the reader to determine that no distortion of the communication is present.
Next, another embodiment of the transponder will be explained. However, these embodiments also apply to the reader, to the method, to the program element and to the computer-readable medium.
The transponder is designed to send a first random number to the reader for a response time measurement in response to a first command received from the transponder. The first random number may be transmitted from the transponder to the reader in unencrypted (or clear) form. By taking this measure, the encryption process to be performed by the reader does not artificially delay the measurement of the time interval between the transmission of a command by the reader and the reception of a response from a transponder, since the execution of such an encryption process artificially increases the response time, so that it is not possible to distinguish between the regular response of an authorized transponder communicating with the reader and the presence of a relay attack problem. Therefore, transmitting the first random number in an unencrypted manner may increase the reliability of the decision on validity.
In particular, the transponder may be designed to send a first random number without delay to the reader for response time measurement. Thus, the transponder may be configured in such a way that the sending of the first random number in response to the first command occurs as fast as possible without adding any delay for additional processing or the like. This may allow to increase the probability of detecting in a reliable way that no relay attack problem exists.
The transponder is designed to send a first random number in response to a first command, the first command comprising a second random number. Thus, the first command may comprise a second random number, which is used as a trigger of the transponder for sending back a response comprising the first random number. For example, after having sent the first random number to the reader, the transponder may generate and store a third random number based on the second random number, in place of the first random number, for a future session (the session lasting as long as the card leaves the radio range of the reader again). For example, it is possible to store a second random number in the transponder, to which a specific algorithm is applied to calculate a third random number. All this is done after sending the first random number back to the reader, i.e. in the time interval where the transponder does not have processing power. This procedure may allow updating the first random number for another session for communication between the transponder and the reader device, thereby further increasing security due to changes in the random numbers between the transponder and the reader for response time measurement and authentication exchange.
The transponder is designed to send an encryption of the first random number after receiving a second command sent from the transponder after sending the first command. Thus, after the reader has received the first random number from the transponder in an unencrypted manner, the reader may send a second command.
However, when the transponder performs encryption of the first random number in combination with the second random number, this ensures to the reader that the transponder not only replies in a fast enough way to obviate the relay attack problem, but also authorizes the currently communicating transponder to be used for such communication, since this operation requires knowledge of the first and second random numbers and the encryption key.
The reader has two opportunities when receiving an encrypted communication message including the first and second random numbers for authentication. The first opportunity is to decrypt the encrypted communication message including the first and second random numbers obtained from the transponder and compare the decrypted first and second random numbers in plaintext with the first and second random numbers stored in the memory of the reader. That is, the reader has received the first random number from the transponder in the first reply form. Furthermore, since the reader has sent the second random number to the transponder together with the first command, the second random number is known to the reader. The second opportunity is for the reader to encrypt the known first and second random numbers with a known key that is also used by the transponder. The encrypted communication message generated by the reader is then compared with a second response obtained from the transponder.
The transponder is designed to analyze communication messages exchanged with the reader, thereby determining whether the transponder is located in the proximity of the reader, and to terminate the communication when it is determined that the transponder is not located in the proximity of the reader. Thus, the reader may not only analyze sufficient proximity between the reader and the transponder (e.g., the distance between the reader and the transponder is less than a threshold or the response time is less than a threshold), but may also perform a check as to whether to perform a predetermined criterion regarding sufficient proximity. Verifying Proximity Check (VPC) messages and responses may allow proximity determination (readers make time measurements and check what transponders receive and transmit, transponders check what they receive and what readers receive).
The transponder is designed to exchange data for authentication and/or data for proximity verification with the reader, which are split into a plurality of communication messages. Thus, it is not necessary to include all authentication information or all proximity verification information (e.g., via response time measurements) in a single message exchanged between the reader and the transponder. In contrast, the corresponding code may be divided into different parts, which may be transmitted by different communication messages sent from the reader to the transponder, or vice versa. For example, the proximity check may be divided into a plurality of segments to obtain accurate time information.
The transponder is designed to send a first random number and a Cyclic Redundancy Check (CRC) to the reader. Error recovery may be performed by applying CRC on the response including the command. The CRC may be calculated based on the RAC1 command, random number #1, and random number # 2.
The transponder is designed to send encryption and information indicating the timing, in particular the speed, of the communication between the transponder and the reader. Such information may indicate the speed of operation between the communication partners. The corresponding data portion may be included in communication messages exchanged between the reader and the transponder, and may be referred to as a PPSE data field. The reader may use this field to stop communication with the transponder.
The transponder is designed to detect and limit the frequency at which, when operating, communication with the reader is stopped once the frequency is outside the limit. This operation is performed so as not to increase the remaining relay attack window.
The response to the transponder command may include only a number of bytes other than RndR, optionally including a CRC. The responder command does not have a CRC. In another embodiment, changes may be made so that the portion RndR sent from the transponder in the transponder command (including the random number) is followed by a CRC, as if an extension of the portion RbdR was received. The previous reader has no possibility to detect and recover from communication errors, so that the proximity check may fail after a communication error and the transponder has to be out of the field or not selected. The CRC should not be performed on the responder command since it would widen the remaining relay attack window. In the latter embodiment, the reader can detect a communication error and restart the proximity check operation in this case (of course, new RndC and RndR are used).
Each random number may be a pseudo random number or a true random number. In contrast to pseudo random numbers, true random numbers are numbers that are generated independently of their generation criteria. For encryption, a number based on physical measurements may be considered random. The pseudo random number may be a number with as few detectable patterns as possible, rather than being truly random. The computer program can make pseudo random numbers because the computer program cannot make true random numbers. The random number generator may be part of the transponder/reader.
Any of the random number and the key may be any sequence of numeric characters, a sequence of letters, or any numeric code.
Implementations of the present invention relate to transponders, particularly smart cards and RFID tags. Although for a person of ordinary skill in the art embodiments of the present invention relate generally equally to RFID tags and transponders and to devices that communicate typically based on wired or wireless connections, for clarity the description will refer primarily to smart cards.
These and other aspects of the invention are apparent from and will be elucidated with reference to the embodiments described hereinafter.
Drawings
The invention will be described in more detail hereinafter, by way of non-limiting examples, with reference to the embodiments shown in the drawings, in which:
fig. 1 shows the principle of a relay attack.
Fig. 2 illustrates a message flow between a reader and a transponder according to an exemplary embodiment of the present invention.
FIG. 3 illustrates an exemplary field in which embodiments of the invention may be used.
Fig. 4 illustrates a communication system according to an exemplary embodiment of the present invention.
Fig. 5 illustrates a message flow between a reader and a transponder according to another exemplary embodiment of the present invention.
Detailed Description
The scene in the figure is shown. The same reference numbers are used in different drawings for similar or identical components.
Exemplary embodiments of the present invention allow for the prevention of relay attacks by transponder reader systems.
Hereinafter, what is a relay attack is explained with reference to fig. 1.
For this purpose, transactions using security components are considered, which are intended to be used for these transactions at a distance other than in close proximity.
Fig. 1 shows a first scenario 100 indicating normal operation, in which a transponder 120 and a genuine reader 140 are in close proximity. For example, the transponder 120 may be a smart card or an NFC (near field communication) phone.
Fig. 1 shows a second scenario 150 indicating the presence of a relay attack. In addition to the transponder 120 and the reader 140, a first communication device of the intruder 160 and a second communication device of the intruder 170 are introduced in the communication path of the transponder 120 and the reader 140. Although the presence of the additional communication device 160, 170 has the consequence of increasing the communication time between the transponder 120 and the reader 140, the communication device 160, 170 may typically operate the transponder or reader 120, 140 in an undesirable manner.
Even when these devices 160, 170 do not know any keys, relay attacks can still be made. A relay attack is particularly well able if a transaction can be made without user action (such as access to a large number of transmissions). For example, in a full bus or subway, an intruder can easily find someone who owns a transponder that will respond to the intrusion device 160, 170 like the reader 140. It is possible to communicate with some other person holding a telephone at the entrance of a subway station via a mobile phone 160 or 170. Such a person may be accessed and paid by a person in the bus. Such relay attacks are used, for example, for mass transmissions and also for keyless entry systems in vehicles.
However, the above system description is only one example of an embodiment of the present invention to prevent a successful relay attack. As an alternative to the scenario where an intruder tries to relay an attack, it is also possible to apply the exemplary embodiments of the present invention to a legitimate user who tries to use a service remotely in another system, while the service is intended to be used only in the vicinity. For example, DRM-protected content is only consumed at a particular location or needs to stay at the prisoner at home for a vacation. Thus, exemplary embodiments of the present invention may be applied in the context of different technologies.
It is a gist of an exemplary embodiment of the present invention that the response time of a transponder is measured. This will take some time when the relay attack is completed. When the reader detects that the time is longer than normal (out of tolerance), it can conclude that a relay attack has been installed. The transponder may perform the same operation.
However, this scenario may present problems: there is a window of time in which responses from non-attacking systems can be entered. If the window is large enough to accommodate large changes in system behavior (within one system or between systems), the fast system allows time to mount the attack. According to an exemplary embodiment of the invention, the solution is to generate a time window that is less than the amount of time that the fastest relay attack is added. Therefore, the relay attack window should be made as small as possible.
Fig. 2 illustrates a communication system in which an exemplary embodiment of the present invention is implemented. Referring also to fig. 4, reference numeral 420 denotes a reader, and reference numeral 440 denotes a transponder. Fig. 2 also distinguishes between the secure portion 205 of the transponder 440 and the modem chip or function of the transponder 440. The reader 420 is considered to be a combination of the reader chip portion 215 and the specific application 220. In the horizontal direction of fig. 2, events in the communication system formed by the transponder 440 and the reader 420 are shown. Along the vertical direction of fig. 2, time is plotted.
Fig. 2 shows in detail how an embodiment of the invention works.
In step 0, the reader 420 may select one transponder in radio range for further communication after an anti-collision procedure known per se. In the responder 440, when the command for the first part of the relay attack check RAC1 arrives, the first RANDOM number RANDOM #1 is stored in the write buffer ready.
In step 1, the application 220 (e.g. at a microcontroller connected to the reader chip 215) sends a command for a relay attack check RAC1 and a second RANDOM number RANDOM #2 to the reader chip 215. The reader chip 215 sends the data to the chip 210 of the transponder 440 without further processing.
In step 2, the card 440 immediately sends back the first RANDOM number RANDOM #1 to the reader 420, the first RANDOM number RANDOM #1 having been stored in the card chip in step 0.
In step 3, the second RANDOM number RANDOM #2 is sent to the crypto-processor 205 of the transponder 440, which transponder 440 uses this number as a basis for generating a third RANDOM number RANDOM # 3. This third RANDOM number RANDOM #3 is then stored for the next request by the reader 420 (then the first RANDOM number RANDOM #1 is overwritten).
In step 4, the application 220 sends a second partial RAC2 commanding a check for relay attacks. The command is transparently forwarded to cryptographic processor 205 of transponder 440.
In step 5, the crypto processor 205 encrypts the first RANDOM number RANDOM #1 and the second RANDOM number RANDOM #2 and sends the resulting MACs (RANDOM #1, RANDOM #2) back to the reader 420.
In step 6, the application 220 decrypts the received data with the same key as used by the transponder 440, or encrypts the first RANDOM number RANDOM #1 and the second RANDOM number RANDOM #2 again with the same key. It should be noted that embodiments of the present invention are not limited to symmetric key encryption. MAC may also be accomplished using a public key infrastructure or the like. The application 220 then checks whether the previously sent second RANDOM number RANDOM #2 and the previously received first RANDOM number RANDOM #1 are identical.
In step 7, a check is performed whether the first RANDOM number RANDOM #1 was received within the dedicated time window, and whether the transponder 440 was effectively authenticated. If the conditions are both true, the connection between the reader 420 and the transponder 440 is not broken for the following reasons:
a) receiving a first RANDOM number RANDOM #1 within a valid time frame; and
b) the first RANDOM number RANDOM #1 comes explicitly from the valid transponder 440.
Step 1 follows step 2 since no complex calculations are required. Furthermore, the response time does not suffer from significant jitter, which can occur if there is a complex encryption process. Thus, the effective time window can be made very small. The time consuming authentication process then runs "no incentive". Accordingly, the complete disconnect response time and the measurement of the authentication process.
In the following, further considerations will be explained.
Embodiments of the present invention are based on a challenge-response protocol, however, no time is required to compute a challenge-based response.
The timing can be accurately determined based on the transmitted message RAC1 and the received random number.
Only components with low jitter are present in the chain. Thus, there may be a very small residual relay attack window.
To detect the forgery of the message, RANDOM #1 and RANDOM #2 of the MAC are transmitted. The SAM or application 220 verifies the response.
The intruder cannot calculate the MAC.
In principle, the RAC2 command is excessive. RANDOM #1 and RANDOM #2 of the MAC can also be transmitted without request.
The protocol allows for multiple relay attack checks to be performed in a session, thus random number # 3. If re-verification is not required, the operation is omitted. But for other applications, such as where the legitimate owner of the device needs to stay in the vicinity when using the service, periodic re-checks may be performed.
For example, for a mobile phone or reader, an unforeseen clock is a valid assumption. However, this is a problem, for example, for contactless cards or when the mobile phone does not have an accurate clock available, for example because a function is also required when the battery is removed. In those cases, the card may be synchronized to the reader clock, and the reader may be a tampered repeater reader to run faster.
If the intruder lets the card run at, for example, double the speed, the card may send a response after considering ca.80 mus, but in practice 40 mus. The relay attack window is ca.80 μ s-40 μ s ═ 40 μ s. The solution for this scenario is to place a frequency sensor in the card to turn the card off if it is operating outside the frequency range.
Fig. 3 illustrates two different examples of a communication system.
In a first example, indicated by reference numeral 300, a card or mobile phone interacts with, for example, a mass transmission infrastructure.
In a second scenario, indicated by reference numeral 350, the card or mobile phone interacts with the mobile phone.
As shown in fig. 3, the nature of such a system is classified as wired and trusted; wireless and untrusted; as well as wired and trusted.
Hereinafter, referring to fig. 4, a communication system 400 according to an exemplary embodiment of the present invention will be explained.
The communication system 400 is similar to the scenario shown in fig. 2, and includes a reader 420 and a transponder 400.
The reader 420 includes a processor 422 (such as a microprocessor or central processing unit) communicatively connected to a transmitter antenna 424 and a receiver antenna 426. The transmitter unit 422 is capable of sending a communication message 428 to the transponder 440. The receiver 426 is capable of receiving a communication message 430 from the transponder 440. Although transmit antenna 424 and receive antenna 426 are illustrated in fig. 4 as two distinct antennas, alternative embodiments may also use a single shared transceiver antenna.
Antennas 424, 426 are electrically coupled to processor 422 so that data may be transmitted from processor 422 to transmit antenna 424 for transmission of communication message 428. Processor 422 may also analyze and process communication messages 430 received via receiver antenna 426.
A storage unit 432, such as a semiconductor memory, is coupled to processor 422 to allow storage of data accessible to processor 422. Further, an input/output unit 434 is shown which allows a user to operate the reader device 420. The input/output unit 434 may include input components such as buttons, a keypad, a joystick, or the like. Via such an input component, a user can input commands to the reader 420. Further, the input/output unit 434 may include a display unit such as a liquid crystal display, allowing the display result of the reading process of the reader device 420 to be visible to the user.
As also shown in FIG. 4, the transponder 440 includes a transmit and receiver antenna 436, a processor 422, such as a microprocessor, and a memory 438. In an embodiment, the memory 438 and the processor 442 may be integrated into one Integrated Circuit (IC) that is coupled to the antenna 436 and attached to a support 444, such as a one-piece structure.
Communication messages 428, 430 may be exchanged between the entities 420, 440 in a wireless manner.
To determine the validity of the connection between the reader 420 and the transponder 440 (i.e., to determine whether the connection between the reader 420 and the transponder 440 is valid), first the reader 420 may send a first command (indicated as RAC1 in fig. 2) along with a second RANDOM number (indicated as RANDOM #2 in fig. 2) to the transponder 440. Upon receiving the communication message, such as the communication message of fig. 4, the transponder 440 may immediately send back in clear text the communication message 430 including the first RANDOM number (indicated as RANDOM #1 in fig. 2). Thus, the responder 440 may reply in an undelayed and unencrypted manner to reduce the relay attack window. When communication message 428 further includes a second RANDOM number (indicated as RANDOM #2 in fig. 2), that number may be stored in memory 438 and may be used to derive a new first RANDOM number for a continuous communication session between transponder 440 and a reader device, such as reader device 420. The processor 422 of the reader device 420 may store the received first random number in the memory 432 for later use.
Subsequently, optionally, the reader 420 now sends a further second request in an encrypted manner to the transponder 440, asking the transponder 440 to send a further communication message. Alternatively, however, such another request is not necessary as the transponder 44 may be in motion to send a second communication message to the reader 420. The second communication message may include the first RANDOM number and the second RANDOM number (indicated as RANDOM #1 and RANDOM #2) in an encrypted or MAC manner. Decryption of the received number by processor 422 may allow the first random number and the second random number transmitted from transponder 440 to be compared to the first and second random numbers stored in memory 432. In the case of using a MAC, the processor 422 calculates a MAC for the same message and compares the result with the received MAC.
The communication between the reader 420 and the transponder 440 is accepted as valid only in a scenario where the response time to the first request is less than a predetermined threshold and there is a suitable match between the first and second random numbers sent by the transponder 440 based on the second response and the first and second random numbers stored in the memory 432.
It should be noted by a person skilled in the art that the transponder, the reader and the method according to the exemplary embodiments are not limited to contactless data communication but may also be applied to wired communication.
In an embodiment, proximity verification is performed by measuring the round trip time of a challenge-response interaction. Delays must be introduced if the attacker wishes to install a relay attack. Depending on the degree of delay, the delay may be detected. The accuracy of the time measurement and the remaining relay attack window depends on the implementation of the contactless front end (PCD-CLF) of the PCD (which is of the reader), which is part of the PCD that considers contactless communication, also the CLF of the PD (which is of the transponder). Through this implementation, relay attacks installed using mobile phones are countered. Although verification may be accomplished with a single command and a single response, the protocol uses at least three command-response pairs. The calculation of the actual pattern of random numbers and encryption at the PD side may take more time than the time when the response should be returned. Thus, three components are broken:
1. let the PD derive a pattern of random numbers and not send a response until it is completed.
2. Once the challenge random number arrives, a response random number is returned. The PCD may split this step into multiple challenge-response pairs.
3. Verification of the encryption is performed to ensure that the number has not been tampered with.
Fig. 5 illustrates a message flow 500 between a reader 420 and a transponder 440, according to an embodiment of the present invention.
Figure 5 gives an overview of the proximity check protocol and gives an example of the message exchange during the proximity check.
First, the PD sends a ready proximity check (PPC) command. This commands the PD to prepare a 7-byte random number. The PPC command consists of only a command code. E.g., the PD replies with a successful return code. After that, the PCD sends a Proximity Check (PC) command with a partial or full 7 byte random challenge. The PCD can immediately send a full 7 byte number, only one byte down at a time. In this command, the CRC, which is typically specified by ISO14443-4, may optionally be omitted. After the last bit is sent directly, it is recommended that the PCD start a timer. The PD must then respond with a fraction of the preliminary random response of equal length after the minimum frame delay time at an earliest accurate time earlier than allowed by ISO 14443-4. This response is sent without a return code. In this response, all fields specified by ISO14443-4 are also omitted.
When the first bit of the PCD response is received, the PCD directly stops the timer. The measured time is the time between sending the random number and receiving the response random number, i.e., the minimum Frame Delay Time (FDT) plus the round trip time (PTT).
The PCD repeats this process of sending a portion of the random number as a challenge-response pair until the full 7 bytes have been swapped. It is free to choose how large the random number is divided into, and how many proximity check commands the PCD uses as a result. In this embodiment, the maximum number of challenge-response pairs is seven. The received partial 7-byte random numbers are collected at the end and the order of the received commands is remembered.
It is recommended to start the timing after the last bit is sent and stop when the first bit is received, since the operations that may actually take place will be in accordance with the PCD-CLF. Different implementations of PCD-CLF allow for different time measurement techniques and thus different remaining relay attack windows. The following proposed way of working plus the fine granularity of the time measurement will result in a minimum residual relay attack window.
The measured time is compared to a predetermined threshold and the contactless infrastructure operator makes a selection depending on the granularity of time measurements and estimates of remaining risk that the PCD-CLF may use. After each proximity check command (or using a timeout timer when a threshold is exceeded), the PCD checks the measured time, or remembers the maximum time of the measurement, and checks only at the end. If the threshold is exceeded, the proximity check protocol fails.
Once a full n-byte (e.g., 7-byte) random challenge is processed with the proximity check command, the PCD sends a Verify Proximity Check (VPC) command. This command includes the MAC for the full 7 byte random number, as well as information about the speed of PD and PCD operation (stored in PPSE bytes), so the intruder cannot operate the card at the different (higher) speeds allowed by the ISO standard, and get time to install the attack (other checks on speed are also possible). The sequence of random numbers used for MAC input reflects the same partitioning as during the transmission of the proximity check command. The PD should verify the incoming MAC. If the MAC verification fails, the PD enters a state (no longer) where it does not accept other operations.
According to an exemplary embodiment of the present invention, the overall functionality of the reader and the transponder may be reversed, so that the protocol flow is in the other direction. This is an explicitly disclosed system equivalent solution and is within the scope of the claims.
Finally, it should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" and "comprises", and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. The singular reference of an element does not exclude the plural reference of such elements and vice-versa. In the device claim enumerating several means, several of these means may be embodied by one and the same item of software or hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

Claims (29)

1. A reader (420) for determining the validity of a connection to a transponder (440), wherein the reader (420) is designed to measure the response time of the transponder (440) and to authenticate the transponder (440) in two separate steps, wherein at least a part of the data used for authentication is comprised in a communication message transmitted between the reader (420) and the transponder (420) during the measurement of the response time.
2. The reader (420) according to claim 1, wherein the reader (420) is designed to measure the response time based on a time interval between sending a first command (RAC1) to the transponder (440) and receiving a first RANDOM number (RANDOM #1) from the transponder (440) in response to the first command (RAC 1).
3. The reader (420) according to claim 2, wherein the reader (420) is designed to authenticate the transponder (440) based on an evaluation of whether an encryption of the first RANDOM number (RANDOM #1) received from the transponder (440) after having received the first RANDOM number (RANDOM #1) for measuring the response time coincides with the received first RANDOM number (RANDOM #1) for measuring the response time.
4. The reader (420) according to claim 1, wherein the reader (420) is designed to measure the response time based on a time interval between sending a first command (RAC1) together with the second RANDOM number (RANDOM #2) to the transponder (440) and receiving the first RANDOM number (RANDOM #1) from the transponder (440) in response to the first command (RAC 1).
5. The reader (420) according to claim 4, wherein the reader (420) is designed to authenticate the transponder (440) based on an evaluation of whether the encryption of the second RANDOM number (RANDOM #2) and the encryption of the first RANDOM number (RANDOM #1) received from the transponder (440) after having received the first RANDOM number (RANDOM #1) for measuring the response time are consistent with the received first RANDOM number (RANDOM #1) and second RANDOM number (RANDOM #2) for measuring the response time.
6. The reader (420) according to claim 3 or 5, wherein the reader (420) is designed to consider the connection to the transponder (440) valid only if the determined time interval is within a predetermined time window and there is consistency and the communication speed at which the transponder (440) operates is the same as the communication speed at which the transponder (440) operates as considered by the reader (420).
7. The reader (420) according to claim 1, wherein the reader (420) is designed to exchange data for authentication and/or data for proximity verification with a transponder (440) split into a plurality of communication messages.
8. The reader (420) according to claim 4, wherein the reader (420) is designed to send the first command (RAC1) without cyclic redundancy check.
9. The reader (420) according to claim 1, wherein the reader (420) is designed to: receiving a communication message from the transponder (440) including a cyclic redundancy check, wherein the cyclic redundancy check is calculated from the message sent to the transponder (440) and the message received from the transponder (440); and deeming the message exchanged with the transponder (440) invalid when a communication error is detected in the communication message including the cyclic redundancy check.
10. The reader (420) according to claim 4, wherein the reader (420) is designed to receive a communication message from the transponder (440) comprising a cyclic redundancy check, wherein the cyclic redundancy check is generated by the transponder (440) based on a message (RAC1) received from the reader (420) concatenated with the first RANDOM number (RANDOM #1) and the second RANDOM number (RANDOM # 2).
11. A transponder (440) for determining the validity of a connection to a reader (420), wherein the transponder (440) is designed to provide information to the reader (420) for response time measurement and to provide information to the reader (420) for authentication in two separate steps, wherein at least part of the data for authentication is included in a communication message transmitted between the reader (420) and the transponder (440) during the measurement of the response time.
12. Transponder (440) according to claim 11, wherein the transponder (440) is designed to send a first RANDOM number (RANDOM #1) to the reader (420) for response time measurement in response to a first command (RAC1) received from the transponder (440).
13. Transponder (440) according to claim 12, wherein the transponder (440) is designed to send the unencrypted first RANDOM number (RANDOM #1) to the reader (420) for response time measurement.
14. Transponder (440) according to claim 12, wherein the transponder (440) is designed to transmit the first RANDOM number (RANDOM #1) in response to a first command (RAC1) comprising the second RANDOM number (RANDOM # 2).
15. Transponder (440) according to claim 14, wherein the transponder (440) is designed to generate and store a third RANDOM number (RANDOM #3) based on the second RANDOM number (RANDOM #2) instead of the first RANDOM number (RANDOM #1) for future sessions.
16. Transponder (440) according to claim 14, wherein the transponder (440) is designed to send the encryption of the first RANDOM number (RANDOM #1) and the encryption of the second RANDOM number (RANDOM #2) after receiving a second command (RAC2) sent from the transponder (440) after sending the first command (RAC 1).
17. Transponder (440) according to claim 11, wherein the transponder (440) is designed to analyze communication messages exchanged with the reader (420), thereby determining whether the transponder (440) is located in the proximity of the reader (420), and to terminate the communication upon determining that the transponder (440) is not located in the proximity of the reader (420).
18. Transponder (440) according to claim 11, wherein the transponder (440) is designed to exchange data for authentication and/or data for proximity verification with a reader (420) split into a plurality of communication messages.
19. Transponder (440) according to claim 12, wherein the transponder (440) is designed to send the first RANDOM number (RANDOM #1) together with a cyclic redundancy check to the reader (420).
20. Transponder (440) according to claim 11, wherein the transponder (440) is designed to send a communication message to the reader (420) together with information indicating the timing of the communication between the transponder (440) and the reader (420), the information being in particular indicative of the speed.
21. The transponder (440) of claim 11, wherein the transponder (440) is designed to detect and limit a frequency in order to limit a remaining relay attack window, wherein the frequency is a frequency: once the frequency is outside of limits, the transponder (440) operates to cease communication with the reader (420).
22. Transponder (440) according to claim 14, designed to generate a communication message comprising a cyclic redundancy check, wherein the cyclic redundancy check is generated based on a message (RAC1) received from the reader (420) concatenated with the first RANDOM number (RANDOM #1) and the second RANDOM number (RANDOM # 2).
23. A method for a reader (420) to determine validity of a connection to a transponder (440), the method comprising:
-sending a first command (RAC1) together with a second RANDOM number (RANDOM #2) to the transponder (440),
receiving a first RANDOM number (RANDOM #1) from the transponder (440),
-receiving from said transponder (440) an encryption of a first RANDOM number (RANDOM #1) and an encryption of a second RANDOM number (RANDOM #2),
decrypting the received number using the same key used by the transponder (440), or encrypting the first RANDOM number (RANDOM #1) and the second RANDOM number (RANDOM #2) using said key,
checking whether the first RANDOM number (RANDOM #1) and the second RANDOM number (RANDOM #2) received from said transponder (440) are identical to the first RANDOM number (RANDOM #1) and the second RANDOM number (RANDOM #2) received from the transponder (440) as encryption,
checking whether the first RANDOM number (RANDOM #1) is received within a predetermined time window, and
if the results of the checks are all true, the connection to the transponder (440) is considered valid.
24. The method of claim 23, further comprising:
receiving a first RANDOM number (RANDOM #1) from said transponder (440) in response to a first command (RAC1),
-sending a second command (RAC2) to the transponder (440) after sending the first command (RAC1),
receiving an encryption of the first RANDOM number (RANDOM #1) from the transponder (440) in response to the second command (RAC 2).
25. A method for a reader (420) to determine validity of a connection to a transponder (440), the method comprising:
-sending a first command together with a second random number to the transponder (440),
receiving a first random number from the transponder (440),
transmitting a first Message Authentication Code (MAC) generated based on the first random number and the second random number to the transponder (440),
receiving a second Message Authentication Code (MAC) generated based on the first random number and the second random number from the transponder (440),
checking whether a second Message Authentication Code (MAC) is valid,
checking whether the first random number is received within a predetermined time window, and
if the results of the checks are all true, the connection to the transponder (440) is considered valid.
26. A method for a transponder (440) to determine the validity of a connection to a reader (420), the method comprising:
receiving a first command (RAC1) together with a second RANDOM number (RANDOM #2) from the reader (420),
-sending a first RANDOM number (RANDOM #1) to the reader (420),
-sending to said reader (420) the encryption of the first RANDOM number (RANDOM #1) and the encryption of the second RANDOM number (RANDOM # 2).
27. A method for a transponder (440) to determine the validity of a connection to a reader (420), the method comprising:
receiving a first command and a second random number from the reader (420),
transmitting a first random number to the reader (420),
receiving a first Message Authentication Code (MAC) generated based on a first random number and a second random number from the reader (420),
checking whether a first Message Authentication Code (MAC) is valid,
when the first Message Authentication Code (MAC) is valid, a second Message Authentication Code (MAC) generated based on the first random number and the second random number is transmitted to the reader (420).
28. A computer-readable medium storing a computer program adapted to carry out or control a method according to claim 23 or 25 or 26 or 27 when the computer program is executed by a processor (422, 442).
29. A program element, which, when being executed by a processor (422, 442), is adapted to carry out or control a method according to claim 23 or 25 or 26 or 27.
HK11105993.3A 2008-05-26 2008-11-03 Decoupling of measuring the response time of a transponder and its authentication HK1151910A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP08104094.1 2008-05-26

Publications (1)

Publication Number Publication Date
HK1151910A true HK1151910A (en) 2012-02-10

Family

ID=

Similar Documents

Publication Publication Date Title
US10044512B2 (en) Decoupling of measuring the response time of a transponder and its authentication
EP2247024B1 (en) Determining the validity of a connection between a reader and a transponder
CA2554300C (en) System and method for encrypted smart card pin entry
US9985952B2 (en) Systems, methods and apparatuses for determining proximity of communication device
CN102027483A (en) Method for authenticating an RFID tag
KR20160074605A (en) Systems and methods for linking devices to user accounts
CN102754106A (en) Method of protection in a contactless radiofrequency communication
Avoine et al. From relay attacks to distance-bounding protocols
US20110081016A1 (en) Secure data communication using elliptic curve cryptology
US8812840B2 (en) Method for fast pre-authentication by distance recognition
CN111356136B (en) Method for security authentication of a transponder communicating with a server
HK1151910A (en) Decoupling of measuring the response time of a transponder and its authentication
Munilla et al. Security analysis of Tu and Piramuthu's protocol
HK40032481B (en) Method of securely authenticating a transponder in communication with a server
Xu et al. Novel implementation of defence strategy of relay attack based on cloud in RFID systems
HK40032481A (en) Method of securely authenticating a transponder in communication with a server
Hancke et al. 8 Secure Proximity
HK1097633A (en) System and method for encrypted smart card pin entry