US20140082696A1
2014-03-20
13/984,804
2012-02-13
The method for communicating between a first device and a second device, the first and second devices being structured and configured for communicating via a communication channel by exchanging messages, comprises the steps of
Get notified when new applications in this technology area are published.
G06F21/31 » CPC main
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity; Authentication, i.e. establishing the identity or authorisation of security principals User authentication
The invention relates to the field of wireless communication, in particular to the field of wireless communication networks, more particularly to authentication and access control for or to authenticated ranging of devices controlled by wireless communication. It relates to methods and apparatuses according to the opening clauses of the claims.
Distance bounding, as a concept, was first proposed by Brands and Chaum in “Distance bounding protocols” by Stefan Brands and David Chaum, in EUROCRYPT '93, pages 344-359, Secaucus, N.J., USA, 1994, Springer-Verlag New York, Inc. They introduced techniques enabling a verifier to determine an upperbound on the physical distance to a prover. In addition, they considered the case where the verifier also authenticates the prover in addition to establishing the distance bound.
The invention allows to enable secure distance bounding and/or distance ranging. This involve two parties (devices), a verifier V or first device and a prover P or second device, usually equipped with analog and digital processing units.
The method for communicating according to the invention is described in the patent claims, as are corresponding devices and systems according to the invention. Yet, certain aspects of the invention are described in the following.
The method for communicating between a first device and a second device, the first and second devices being structured and configured for communicating via a communication channel by exchanging messages, comprises the steps of
In particular, it can be provided that said processing time is not time-dependent and in particular independent of the received challenge message. The processing time being not time-dependent (or independent of time) means that processing carried out at different times requires (with high precision) the same processing time.
The one device referred to as verifier, is structured and configured for communicating via a communication channel with the further device, referred to as prover, the verifier comprising a transceiver for sending and receiving messages via said communication channel, the verifier being structured and configured for
The other device, referred to as prover, is structured and configured for communicating via a communication channel with a further device, referred to as verifier, the prover comprising a transceiver for sending and receiving messages via said communication channel, the prover being structured and configured for
The distance bounding system according to the invention comprises a first device being a device according to the invention, referred to as verifier, and a second device being a device according to the invention, referred to as prover.
It can be provided that the processing is carried out in a processing unit of the prover.
It is to be noted that for carrying out the invention, it can be sufficient to transmit all messages via one and the same communication channel, in particular wherein that communication channel can be full duplex or possibly even a half duplex communication channel.
Further embodiments and advantages emerge from the dependent claims and the figure.
Below, the invention is described in more detail by means of the included drawing. The figure shows:
FIG. 1 a schematic diagram of the phases with associated message exchanges.
The method involves two parties, a verifier V and a prover P, equipped with analog and digital processing units, who carry out a usually three phase protocol. The phases are a setup phase, a measurement phase, and an optional validation phase, i.e., skipping the validation phase, the protocol may be a two phase protocol. There is a time-critical part to the protocol. The time-critical part of the protocol is the measurement phase, where, in an optimum case, the prover's computation must be predictable and have negligible variance (computation time variance). More generally: The processing applied by the prover P during the measurement phase should be known in advance with a high degree of accuracy and precision (repeatability). The validation phase need only be used when authentication is required.
Schematically the phases with associated message exchanges are depicted in FIG. 1 where “∥” denotes concatenation, and
A nonce is, as well known in the art, a number only used once.
The steps taken in the phases are as follows
Setup Phase:
Measurement Phase:
Validation Phase (Optional):
Based on (a) the time taken in the measurement phase, i.e. the measured time between the transmission of NV by verifier V and reception of NV (in the prover's response) and (b) the time estimated for the prover to produce its response (i.e. an estimated processing time), after completion of the measurement phase, the verifier V can compute an upper bound on its distance to the prover. This way, data from a prover located, according to the computed upper bound, farther away than a pre-determined distance, can be rejected or ignored. The precision of the (computed) bound depends on the accuracy of the estimation of (b). Therefore, the processing time needed by the prover to “reflect” (send back) the nonce NV should be constant, i.e. have a high reproducibility, i.e. a low variance. By using digital and analog processing with predictable time requirements, it is possible to estimate (b) accurately where the variance over multiple runs of the measurement phase is negligibly small.
The function F should be known to both, verifier V and prover P. This can be provided, e.g., already during manufacture of verifier V and prover P, or during setup (by transmitting one or more messages indicative of the Function F that will be used by the prover). Data used for the authentication are known to both, verifier and prover, which will be accomplished before the setup phase, usually during manufacture of verifier V and prover P. E.g., a shared key (as would be the case when using MAC), more particularly a shared symmetric key, or an asymmetric key (as would be the case when using a digital signature), can be initially provided in both, verifier and prover.
The provision and transmission of nonce NP (the prover's nonce) is generally optional. NP can be dispensed with. Including NP (as discussed above and shown in FIG. 1) can make possible to provide a session key or data identifying the current communication session between verifier and prover comprising NP and, more particularly also comprising NV.
An advantage of transmitting, in the measurement phase, not only NV but (soon) afterwards also F(NP,P) or, more generally, data comprising an identifier identifying P, is that this contributes to the security of the communication, namely in that a third party trying to pretend to be prover P would have to be very fast for being able to send corresponding data (such as a F(NP′,P′)) before prover P transmits F(NP,P). The computation of F(NP,P) in advance (during the setup phase already) allows the prover to transmit F(NP,P) (merely read out of the buffer) immediately after NV or at least sooner than if F(NP,P) had been computed only after the transmission or after the reception of NV.
As to the minimal computation/processing and the “negligible variance”: The amount of processing involved should deliberately be chosen to be very small, e.g., avoiding a demodulation of a challenge message, and the processing time variance should be so small that it can be neglected, e.g., with respect to the processing time itself E.g., carrying out the (same) processing several times will result in deviations of the respective processing times which are smaller than the processing time itself by at least a factor of 10, or rather by at least a factor of 100, or even by at least a factor of 1000. But generally spoken, the acceptable processing time variance (or negligible processing time variance) depends on the application in which the invention shall be used. In case the communication channel has a signal propagation speed of speed of light, acceptable processing time variances will typically be at most 100 ns or rather at most 10 ns or even at most 1 ns. As usually will be the case, access to or control of verifier V by prover P shall be allowed only if a value relating to the distance between verifier V and prover P as computed by verifier V is indicative of a distance smaller than a pre-defined maximum distance referred to as dmax. With c designating the signal propagation speed of the communication channel, the acceptable processing time variance, i.e. the processing time variance which would be considered negligible, would usually be at most 0.2 times dmax/c or rather at most 0.1 times dmax/c or even at most 0.05 times dmax/c.
The method's application areas include those systems controlling access to objects (e.g., vehicles or buildings) and services (e.g., for vehicles, medical devices, or computing devices). The method can be also used for localization of devices by computing their position based on multilateration schemes performing time-of-flight measurements with a set of base stations.
By means of the invention, it is possible to determine a distance between verifier and prover and thus to ensure that a prover is located within a given maximal distance from the verifier. Furthermore, malicious attacks trying to interfere are effectively impeded.
Aspects of the embodiments have been described in terms of functional units. As is readily understood, these functional units may be realized in virtually any number of hardware and/or software components adapted to performing the specified functions.
Furthermore, the following embodiments are disclosed, wherein each of them may be, as far as logically possible, be combined with the invention as described elsewhere in the present patent application.
Embodiment 1. A method for communicating between a first device and a second device, that is preferably a reader for reading data from the first device and optionally destined for controlling the first device, the method comprising the steps of
Embodiment 2. The method of embodiment 1, comprising the further step of
Embodiment 3. The method of embodiment 1 or embodiment 2, comprising the further steps of
Embodiment 4. The method of embodiment 3, comprising the further steps of
Embodiment 5. The method of one of the preceding embodiments, wherein all of the communication channels are based on RF communication.
Embodiment 6. The method of one of the preceding embodiments, wherein the step of controlling access of the second device to the first device, in addition to the distance, takes into account credential information, such as a device's identity.
Embodiment 7. The method of one of the preceding embodiments, wherein the first device comprises two or more levels of access, and the method comprises the further step of
Embodiment 8. A first device, configured to communicate with a further device, comprising
Embodiment 9. A second device, configured to communicate with a further device, comprising
Embodiment 10. A second device according to embodiment 9, where the buffer is filled computing a function of its own nonce and additional information such as its name, in particular using concatenation or bitwise exclusive-or.
Embodiment 11. A second device according to embodiment 9 or 10, where the unit capable of receiving the initial challenge is based on energy detection within a particular band.
Embodiment 12. A second device according to any of the embodiments 9-11, where the receiving unit is linked to the transmitting unit so that the challenge is reflected back without demodulation.
Embodiment 13. A second device according to any of the embodiments 9-12, where the transmitting unit concatenates the contents of the buffer immediately after reflecting back the received challenge.
1. A method for communicating between a first device and a second device, the first and second devices being structured and configured for communicating via a communication channel by exchanging messages, the method comprising the steps of:
a) the first device transmitting a challenge message to the second device;
b) the second device, in reaction to receiving the challenge message:
b1) carrying out a processing on the received challenge message;
b2) generating a response message, said response message being derived in dependence of said challenge message; and
b3) transmitting the response message to the first device;
c) the first device receiving the transmitted response message and determining a time elapsed between the transmitting of the challenge message and the reception of the response message;
d) the first device computing, in dependence of said determined time, of a value indicative of a travelling speed of the challenge and the response messages and of a value indicative of a processing time assumed to be required by the second device for carrying out said processing, a value relating to a distance between the first and the second device.
2. The method according to claim 1, wherein said processing time is not time-dependent.
3. The method according to claim 1, wherein said processing time has a negligible variance.
4. The method according to claim 1, wherein said response message is generated without demodulating the challenge message.
5. The method according to claim 1, comprising the step of:
g) the first device generating a nonce referred to as nonce NV;
wherein said challenge message comprises nonce NV; and
wherein said response comprises nonce NV.
6. The method according to claim 1, comprising the step of:
h) the second device computing, prior to receiving said challenge message, a data set and storing said data set in a memory buffer comprised in the second device.
7. The method according to claim 1, comprising the step of:
i) the first device transmitting, prior to transmitting said challenge message, an initial message comprising data identifying the first device.
8. The method according to claim 5, comprising the step of:
h) the second device computing, prior to receiving said challenge message, a data set and storing said data set in a memory buffer comprised in the second device;
wherein step h) is carried out after the reception in the second device of the initial message.
9. The method according to claim 6, wherein said response message comprises said data set.
10. The method according to claim 5, comprising the step of:
h) the second device computing, prior to receiving said challenge message, a data set and storing said data set in a memory buffer comprised in the second device;
wherein said response message comprises said data set; and
wherein said response message comprises nonce NV and concatenated thereto, said data set.
11. The method according to claim 6, wherein said data set is derived in dependence of data identifying the second device.
12. The method according to claim 1, comprising the steps of:
j) the second device authenticating data comprised in the response message;
k) the second device transmitting the authenticated data to the first device; and
l) the first device verifying the transmitted authenticated data.
13. The method according to claim 12, comprising enabling controlling said first device.
14. The method according to claim 1, enabling controlling said first device, allowing access to said first device, by said second device only provided that said value relating to the distance between the first and the second device is indicative of a distance smaller than a pre-defined maximum distance.
15. The method according to claim 1, wherein the second device is structured and configured for controlling the first device and/or is a reader for reading data from the first device.
16. The method of claim 1, wherein said communication channel is based on RF communication.
17. A device, referred to as verifier, structured and configured for communicating via a communication channel with a further device, referred to as prover, the verifier comprising a transceiver for sending and receiving messages via said communication channel, the verifier being structured and configured for:
exchanging messages with the prover via said communication channel;
transmitting a challenge message to the prover;
receiving a response message transmitted by the prover, the response message being obtained from the challenge messages by processing;
determining a time elapsed between the transmitting of the challenge message and the reception of the response message;
computing a value relating to a distance between the verifier and the prover, wherein said computing is carried out in dependence of said determined time, of a value indicative of a travelling speed of the challenge and the response messages and of a value indicative of a processing time assumed to be required by the prover for carrying out said processing;
depending on the computed value, to accept or not accept data from the prover; and
depending on the computed value, optionally to control access to the verifier.
18. The device according to claim 17, being furthermore structured and configured for generating a nonce;
wherein said nonce is comprised in said challenge message.
19. The device according to claim 17, being furthermore structured and configured for transmitting, prior to transmitting said challenge message, an initial message comprising data identifying the verifier.
20. The device according to one of claim 17, being furthermore structured and configured for:
receiving a message comprising authenticated data; and
verifying said authenticated data.
21. The device according to claim 20, being furthermore structured and configured for enabling a controlling of the verifier, allowing to access the verifier.
22. The device according to claim 17, being furthermore structured and configured for transmitting to said prover, prior to said transmitting said challenge message to the prover, an initial message.
23. A device, referred to as prover, structured and configured for communicating via a communication channel with a further device, referred to as verifier, the prover comprising a transceiver for sending and receiving messages via said communication channel, the prover being structured and configured for:
exchanging messages with the verifier via said communication channel;
receiving a challenge message transmitted by the verifier;
in reaction to receiving the challenge message,
carrying out a processing on the received challenge message;
generating a response message, said response message being derived in dependence of said challenge message; and
transmitting the response message to the verifier.
24. The device according to claim 23, wherein said processing time is not time-dependent.
25. The device according to claim 23, wherein said processing time has a negligible variance.
26. The device according to claim 23, wherein said processing is carried out without demodulating the challenge message.
27. The device according to claim 23, comprising a buffer memory and being furthermore structured and configured for:
receiving, prior to receiving the challenge message, an initial message, said initial message in particular identifying the verifier;
in reaction to receiving said initial message:
generating a nonce;
obtaining a data set by applying a function to said nonce and to data identifying the prover,;
storing said data set in said buffer memory.
28. The device according to claim 27, wherein said response message comprises data derived from the challenge message.
29. The device according to claim 27, being furthermore structured and configured for:
authenticating data comprising
said data identifying the prover;
said nonce; and
data derived from the challenge message; and
transmitting the authenticated data to the verifier.
30. A distance bounding system comprising a first device being a device according to claim 17, further comprising a second device, said second device referred to as prover, structured and configured for communicating via a communication channel with a further device, referred to as verifier, the prover comprising a transceiver for sending and receiving messages via said communication channel, the prover being structured and configured for:
exchanging messages with the verifier via said communication channel;
receiving a challenge message transmitted by the verifier;
in reaction to receiving the challenge message,
carrying out a processing on the received challenge message;
generating a response message, said response message being derived in dependence of said challenge message; and
transmitting the response message to the verifier.
31. The method according to claim 2, wherein said processing time is independent of the received challenge message.
32. The method according to claim 5, wherein said challenge message is substantially comprised of nonce NV.
33. The method of claim 8, wherein step h) is carried out in reaction to the reception of the initial message in the second device.
34. The method of claim 11, wherein said data set is derived in dependence of data identifying the second device and in dependence of a nonce generated by a second device, referred to as nonce NP.
35. The method of claim 11, wherein said data set is derived by applying a function to data identifying the second device and to a nonce generated by the second device, referred to as nonce NP.
36. The method according to claim 12, comprising enabling a accessing said first device, allowing access to said first device, by said second device only provided that a result of said verifying mentioned in step 1) is positive.
37. The device according to claim 22, wherein said initial message comprises data identifying the verifier.
38. The device according to claim 29, wherein said authenticating and said transmitting is carried out after transmitting said response message.