The security of short-range communication systems such as NFC (Near Field Communication) and RFID (Radio Frequency Identification) systems are vulnerable to attacks such as relay attacks. In relay attacks, messages are relayed from the sender to a valid receiver of the message, often via an alternate communication channel. An illustration of a relay attack is shown in
Such a relay attack can be prevented if keycard reader 112 could get assurance that keycard 103 in the pocket of wife 102 is in the proximity of keycard reader 112. However, an existing stand-alone proximity check implemented in MIFARE PLUS operating in Security Level 3 violates ISO 14443 compliance because it uses a modified (incomplete) frame structure. Proximity checks that are ISO compliant are typically desired. Additionally, MIFARE PLUS uses a timing solution to determine proximity and is a one-way proximity check only. Only the reader checks for the proximity of the RFID card which means the RFID card has no independent way to verify the proximity of the reader. A two-way proximity check is typically more secure than a one-way proximity check.
In accordance with the invention a proximity check for two devices is disclosed that typically provides reliable proximity assurance using only local authentication. In accordance with the invention, the devices may be, for example, a smartcard, a smartphone, a card reader and/or a tablet computer. The proximity assurance is achieved by introducing additional sensors such as light and sound sensors and MEMS accelerometers. In accordance with the invention, short range communications such as RFID and NFC may be secured against attacks such as relay attacks.
An embodiment in accordance with the invention involves a two-way (symmetric) proximity check between two devices as shown in
In accordance with the invention, care needs to be taken that accelerometers 205 and 206 are sufficiently sensitive enough. For example, if device 201 has an effective mass that is significantly greater than the effective mass of device 202, accelerometer 205 will need to be more sensitive than accelerometer 206.
Each device 201 and 202 executes the steps shown in
In step 210, short range communication connection 200 is set up between devices 201 and 202 to allow a data exchange. Short range connection 200 may be an RFID or NFC connection. Devices 201 and 202 each keep a short accelerometer data history 207 and 208, of their accelerometers 205 and 206, respectively. Using this accelerometer data history, each device 201 and 202 can detect a bump (i.e. shock). Devices 201 and 202 each poll their respective accelerometers 205 and 206 and update their data history until a bump is detected.
In step 220, when either device 201 or 202 detects a “bump”, the accelerometer history is frozen in the respective device. Hash values 203 and 204 are then calculated over the accelerometer data histories 207 and 208 for devices 201 and 202, respectively, using a predetermined cryptographic hash function such as Message-Digest algorithm 5 (MD5) or one selected from the Secure Hash algorithm-2 (SHA-2) set, for example.
Then in step 225, device 201 sends hash value 203 to device 202 and device 202 sends hash value 204 to device 201 using short range communication connection 200. When device 202 has received hash value 203 and device 201 has received hash value 204 from device 202, device 201 proceeds with step 230.
In step 230, device 201 sends its accelerometer data history 207 to device 202 and receives accelerometer data history 208 from device 202 using short range communication connection 200.
In step 240, device 201 verifies accelerometer data history 208 using hash value 204 received from device 202 using short range communication connection 200 prior to the transmission of accelerator data history 207 by device 201 using short range communication connection 200. This allows device 201 to detect when device 202 is counterfeiting accelerometer data 208. For example, device 202 could receive accelerometer data history 207, add some noise to it and send it back to device 201 as accelerometer data 208. In this case, hash value 204 will not match accelerometer history 208 and device 201 will abort the proximity check and wait for the next bump by returning to step 220. Similarly, device 202 verifies accelerometer data history 207 using hash value 203 received from device 201 using short range communication connection 200 prior to the transmission of accelerator data history 208 by device 202 using short range communication connection 200. In the event of non-counterfeit accelerator data histories 207 and 208, devices 201 and 202 proceed to step 250, otherwise devices 201 and 202 return to step 220. Note that in the event of only a one-way verification, devices 201 and 202 return to step 220.
In step 250, device 201 matches accelerometer data history 207 to accelerometer data history 208. If devices 201 and 202 were actually bumped together, accelerometer data history 207 and accelerometer data history 208 will match as indicated by, for example, a sufficiently high correlation between accelerometer data history 207 and accelerometer data history 208. If the correlation is insufficiently high, indicating the lack of a match, device 201 aborts the proximity check and waits for the next bump by returning to step 220. Similarly, device 202 matches accelerometer data history 208 to accelerometer data history 207 and if the correlation is insufficiently high, indicating the lack of a match, device 202 aborts the proximity check and waits for the next bump by returning to step 220. Note that in the event of only a one-way match, devices 201 and 202 return to step 220.
If the two accelerometer data histories 207 and 208 mutually match, device 201 is assured that device 202 is in the proximity of device 201 and device 202 is assured that device 201 is in proximity of device 202. Connection setup then continues in step 260.
Because both devices 201 and 202 execute the steps shown in
The exchange of hash values 203 and 204 in step 225 is essential to providing the proximity assurance for each device 201 and 202. As noted above, for example, device 202 could compromise the security by receiving accelerometer data history 207 from device 201, then slightly modify the accelerometer data history 207 by, for example, adding some Gaussian noise, and then sending the modified accelerometer data history back to the device 201 as accelerometer data history 208. This makes it appear that the two accelerometer data histories come from two different accelerometers (because they are slightly different) but the two accelerometer data histories will still show a “bump-match” because only a small amount of noise has been added. The exchange of hash values prior to the exchange of the actual accelerometer data histories prevents this breach of security. Each of the devices 201 and 202 is able to test the integrity of the accelerometer data history afterward. Each device 201 and 202 use the same cryptographic hash function to calculate the hash value for the received accelerometer data history and check whether it matches the received hash value. A non-match indicates a (potential) attempt to breach security.
In an embodiment in accordance with the invention, not only proximity assurance but also authentication can be achieved. This may be accomplished by replacing the hash values with a message authentication code (MAC) which can be viewed as a keyed cryptographic hash function. The operation of a MAC is shown in
If sending device 310 has used either the wrong key K to calculate MAC 315 or if the accelerometer data history 308 has been manipulated afterwards, receiving device 320 can determine this because received MAC 316 will not match MAC 317 that receiving device 320 has calculated for received accelerometer data history 309. Receiving device 320 can also determine whether sending device 310 is attempting to execute a replay attack by matching received accelerometer data history 309 with its own accelerometer data history (not shown). This allows the receiving device to determine whether accelerometer data history 308 which sending device 310 has used to calculate MAC 315 is “new”. If accelerometer data history 308 is “new” this means MAC 315 is authentic and not a replay of a previous protocol run.
In an embodiment in accordance with the invention, instead of using a symmetric cryptography based MAC for authentication, a public-key cryptography based signature can be used for authentication as shown in
In an embodiment in accordance with the invention, a one-way (asymmetric) proximity check can be achieved using basic bump detectors. Assume, for example, device 401 is a reader and device 402 is a smartcard in an exemplary embodiment in accordance with the invention and each are each equipped with a basic bump detector 405 and 406, respectively, such as a one-dimensional accelerometer or other MEMS sensor that can detect shocks or vibrations (bumps) as shown in
A one-way proximity check can be performed as shown in
Note, the time interval between having registered the bump and the start of receiving the response consists of three components in the case of communication according to the ISO 14443 standard:
TmFDT: the minimal Frame Delay Time (FDT, e.g. 86.43 μs for the lowest bit rate at a frequency of 13.56 MHz). TmFDT is the time between the end of the last pause transmitted by reader 401 and the first modulation edge within the start bit transmitted by smartcard 402.
TRTT: the round-trip time (i.e. between reader 401 and smartcard 402 or between reader 401 and the attacker).
Tproc: the extra processing time (i.e. in addition to TmFDT) needed by smartcard 402. Typically this will be negligible compared to the TmFDT.
Hence, the predetermined threshold value typically will have to be set for a time that is larger than the total of these three values, but not appreciably larger. The larger the predetermined threshold value is, the larger the residual time window available to the attacker becomes. Any residual time can be used by an attacker to increase TRTT, i.e. to increase the available distance from smartcard 402 from which to mount an attack. The actual predetermined threshold value used will depend on the security level desired and the granularity of time measurement available at reader 401.
Note that reader 401 requests smartcard 402 to enter transmit mode in step 420 before the “bump” occurs in step 430. This allows the response to be sent from smartcard 402 almost immediately after the bump has occurred. The bump sensors in this embodiment do not need to be very accurate as the data of the bump detectors is not matched.
In an exemplary embodiment in accordance with the invention, a one-way (asymmetric) proximity check can be achieved using light source 505 and light sensor 506 which adds a second communication connection between device 501 (e.g. a reader) and device 502 (e.g. a smartcard) as shown in
With reference to
Additionally, in an embodiment in accordance with the invention, in step 540, device 501 (e.g. a reader) may modulate the light from light source 505 to send data to device 502 (e.g. a smartcard). This data may include a session ID such as a random number, for example. Then in step 550, device 502 (e.g. a smartcard) additionally echoes back the received session ID to device 501 (e.g. a reader) using short range communication connection 500. Thus, in step 560, device 501 (e.g. a reader) also determines if the received session ID matches the sent session ID. If it matches, the process proceeds to step 570, if not, device 501 (e.g. a reader) returns to step 530. The use of a session ID provides additional security because in general it makes replay attacks more difficult and in this case it also makes relay attacks more difficult as the light signal would need to be intercepted and relayed as well.
Alternatively, instead of using light source 505 and light sensor 506 in the embodiment in
The embodiments in accordance with the invention described above using light or sound asymmetric proximity checks can be extended to a two-way proximity check by adding a light/sound communication channel from device 502 (eg. a smartcard) to device 501 (e.g. a reader) in analogy to the embodiment described in
In accordance with the invention, a processing implementation for detecting correlated accelerometer measurements is described in the context of
areader(t)≈f(acard)=(sacard(t+td)+b) (1)
Other more complex and precise representations for f(acard) are also possible in accordance with the invention. The sum of the squared distances, SSD, between the approximated reader acceleration, f(acard), time series 610 and the measured reader acceleration, areader, time series 620 can be used to measure how similar or correlated time series 610 and time series 620 are:
SSD=Σt=t
Other similarity measurement functions may also be used, for example the sum of the absolute differences, signal cross correlation or normalized cross correlation. If Eq. (1) adequately describes the relationship between areader and acard, then SSD will be a relatively small value. If areader and acard are not related, than a relatively large value will be computed. If SSD is less than a threshold value, the time series 610 and 620 are related, indicating a bump between device 202 (e.g. a smartcard) and device 201 (e.g. a reader).
Initially, in order to determine the parts of time series 610 and 620 where the correlation is to be found, estimated contact starting points are detected. Assuming device 201 (e.g. a reader) is static in an embodiment in accordance with the invention (e.g. a reader that is attached to e.g., a door or wall), it is typically easier to detect estimated contact starting point {circumflex over (t)}start in device 201 (e.g. a reader). A value may be established and a bump is detected when the absolute value of areader of device 201 (e.g. a reader) is greater than the acceleration threshold. This provides an estimated starting point, {circumflex over (t)}start for device 201 (e.g. a reader). Similarly, the estimated starting point {acute over (t)}start for device 202 (e.g. a smartcard) is determined using a different acceleration threshold value. The difference:
td={circumflex over (t)}start−{acute over (t)}start (3)
provides an estimate of the time delay, td. If the estimated time delay, td, is greater than the predetermined threshold time delay value (see above) this can be used to determine that the accelerometer measurements are not related and a bump did not occur between device 201 (e.g. a reader) and device 202 (e.g. a smartcard).
Then it is assumed that the relationship between the measurements of accelerometer 205 and 206 is known (e.g. see Eq. (1)). In case of the linear model presented in Eq. (1), the scale factor s and bias b are known (e.g. by prior calibration). In place of estimating tcontact, a short time of contact,
=Σt={circumflex over (t)}
If is less than the threshold value, contact between device 201 (e.g. a reader) and device 202 (e.g. a smartcard) will have occurred. Typically, for better detection reliability, the time of contact needs to be as long as possible. One way to extend the time of contact is if device 201 (e.g. a reader) is not totally rigid but is able to move somewhat with device 202 (e.g. a smartcard) during contact. For example, device 201 (e.g. a reader) may be attached to a flexible material (e.g. rubber) or a spring. Furthermore, the accuracy and sampling rate of accelerometers 205 and 206 needs to be sufficiently high.
Because device 202 (e.g. a smartcard) can typically be bumped against device 201 (e.g. a reader) on more than one side, the measured acceleration, acard, can have opposite signs. Hence, the assumed linear relationship in Eq. (1) may be inverted and the estimated value may be high. One solution is to calculate the estimated also for the inverted measured acceleration, −acard, and use this if it results in a smaller value for . Another option is to rectify the accelerometer signals.
If the estimate of the time delay, {circumflex over (t)}d, using the two thresholds as described above is not sufficiently accurate and leads to high values for one solution is to calculate for several different time delay values around the estimated time delay, {circumflex over (t)}d. Then the minimum value obtained for can be used in accordance with the invention.
While the invention has been described in conjunction with specific embodiments, it is evident to those skilled in the art that many alternatives, modifications, and variations will be apparent in light of the foregoing description. Accordingly, the invention is intended to embrace all other such alternatives, modifications, and variations that fall within the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
8761809 | Faith et al. | Jun 2014 | B2 |
20060063511 | Shima et al. | Mar 2006 | A1 |
20080211622 | Rindtorff et al. | Sep 2008 | A1 |
20090167486 | Shah et al. | Jul 2009 | A1 |
Number | Date | Country |
---|---|---|
10 2009 030456 | Dec 2010 | DE |
2007043015 | Apr 2007 | WO |
2009144534 | Dec 2009 | WO |
Entry |
---|
“Mifare.net Contactless Smartcard Technology”, Mifare, 1 pg, Aug. 6, 2013 retrieved from the internet at: http://mifare.net/products/smartcardics/mifare—plus.asp (2010). |
Extended European Search Report for Patent Appln. No. 12190983.2 (May 7, 2012). |
“Bump Technologies”, bump technologies , inc., 5 pgs, retrieved from the Internet at: Nov. 4, 2011 http://bu.mp/faq. |
Hancke, G. “A Practical Relay Attack on ISO 14443 Proximity Cards”, Uni. of Cambridge, 13 pgs., retrieved from the Internet at: Nov. 4, 2011 http://www.rfidblog.org.uk/research.html, (Jan. 2005). |
Kfir, Z. et al. “Picking Virtual Pockets using Relay Attacks on Contactless Smartcard”, Security and Privacy for Emerging Areas in Communications Networks, pp. 47-58 (2005). |
M. Wieb “Performing Relay Attacks on ISO 14443 Contactless Smart Cards using NFC Mobile Equipment”, 89 pgs., retrieved from the Internet at: Nov. 4, 2011 http://www.sec.in.tum.de/assets/studentwork/finished/Weiss2010.pdf (May 17, 2010). |
Heydt-Benjamin, T. S. et al. “Vulnerabilities in First-Generation RFID-enabled Credit Cards”, 15 pgs., retrieved from the internet at: Nov. 7, 2011 citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.74...rep . . . —(2007). |
Avoine, G. et al. “A Formal Framework for Cryptanalyzing RFID Distance Bounding Protocols”, 1 pg. Cryptology ePrint Archive: Report 2009/543, retrieved from the internet at: Nov. 10, 2011 http://eprint.iacr.org/2009/543, (Feb. 16, 2010). |
Number | Date | Country | |
---|---|---|---|
20130116964 A1 | May 2013 | US |