The invention relates to a method of establishing a shared secret between two or more parties, based on a physical token, in particular a Physical Uncloneable Function (PUF), for the purpose of identification, authorization, and cryptography in secure transactions. The invention further relates to a system for generating such a shared secret, comprising a proving apparatus and a verifying apparatus. The invention also relates to the proving apparatus and the verifying apparatus.
The use of physical tokens for the purpose of identification, authentication and generation of encryption/decryption keys is known in the art. A token can be embedded in e.g. a smart card and used in secure transactions. Before issuing such a card to a user, the token is enrolled in what is called the “enrolment phase”, in which it is subjected to one or more challenges. The challenges and the corresponding responses are stored together with information identifying the token, possibly along with other data, so as to form the “enrolment data”. When the smart card is used by the user, in what is called the “authentication phase”, the identity of the token is verified by challenging the token with one or more of the stored challenges corresponding to the information identifying the token. If the response or responses obtained are the same as the response or responses stored in the enrolment data, the identification is successful. In some protocols, this challenge-response procedure also results in a shared secret that is derived from the responses by means of some processing operation which converts the physical output of a token to a bit string. The shared secret can then be used as a session key for secure transactions between two parties.
There are many examples of physical tokens: planar fiber distributions (as e.g. referenced in the proceedings of the IEEE ISIT Conference 2004, p. 173), all biometrics and in particular Physical Uncloneable Functions (PUFs). A “physical token” is understood to be, in general, a physical object that is probed by means other than memory access, and the response depends on the physical structure of the object. The direct, unprocessed response of the physical token may be either analog or digital. The response can be processed to obtain a digital bit string. In contrast, a digital token consists of a digital memory having stored a response for a given set of challenges, e.g. a bit string that has been written into it at every address.
PUFs are also known as Physical Random Functions or Physical One-Way Functions. US Patent 2003/0,204,743 describes the use of devices with unique measurable characteristics together with a measurement module for authentication purposes. Another method of authentication based on 3D structures, probing, and comparison is described in U.S. Pat. No. 6,584,214. In general, PUFs are physical tokens that are extremely hard to clone, where “cloning” may be either (i) producing a physical copy, or (ii) creating a computer model that mimics the behavior. PUFs are complex physical systems comprising many randomly distributed components. When probed with suitable challenges, the complex physics governing the interaction between the PUF and the challenge, e.g. multiple scattering of waves in a disordered medium, lead to a random-looking output, or response, for each individual challenge. The complex small-scale structure of the PUF makes it hard to produce a physical copy, while the complexity of the physical interactions defies computer modeling. For example, an optical PUF may comprise an optical medium containing many randomly distributed scatterers. A challenge may be an incident beam, and the response is then the consequent speckle pattern detected on a detector. The pattern of bright and dark spots can be converted to a bit string.
The problem with all physical tokens, in contrast to digital tokens, is that the responses are susceptible to noise. The measurement noise can have many causes, e.g. token/detector misalignment, or environmental effects like temperature, moisture and vibrations. Due to the noise, the bit string that is extracted from a response may have errors. Most cryptographic protocols require the bit string obtained during the authentication phase to be exactly equal to the one obtained during the enrolment phase. For example, if the bit string is used as an encryption key, one bit flip in the key will yield an unrecognizable, useless result.
Two methods known in the art can be used to at least partially remedy the problems described above.
One method is the use of error-correcting codes, capable of detecting and correcting a number of bit errors equal to a certain percentage of the total bit string length. However, the use of such a code puts a burden on the process of bit string extraction, and grows with the number of errors that can be corrected.
Another method is the use of response reliability information, also known in the art as “helper data” or side information. In general, response reliability information consists of extra information, stored together with the corresponding challenge and response, by means of which the robustness of the bit string extraction process can be improved. For example, the response reliability information may consist of pointers to reliable portions of the response in its analog or digitized form, i.e. those portions that are unlikely to be affected by noise. During authentication, the response reliability information is used to select certain portions of the physical output as ingredients for the bit string extraction process, or to give more weight to some portions than to others, or to disregard non-reliable portions.
It is also possible to combine the response reliability information and error-correcting code methods.
A drawback of the response reliability information method is that the assignment of the predicate “reliability” only reflects the enrolment phase. At that moment, the properties of the noise that will occur during authentication are not known. In many applications, the response data is obtained on a different testing station during enrolment than during authentication. Each testing station has its own particular perturbations and misalignments. Furthermore, in many applications of tokens, such as smart cards, there is a multitude of testing stations to choose from during authentication, so that it is impossible to anticipate the characteristics of a testing station that the user is going to use. Finally, also the environmental effects as mentioned above give rise to noise, and therefore the reliability of the data may change from measurement to measurement, even on the same testing station. Hence, there is still a substantial probability that bits which are labeled as reliable during enrolment actually get flipped during authentication, resulting in a failure to generate a common shared secret between the two parties.
It is therefore an object of the invention to provide a more robust method of generating a shared secret between two parties.
It is a further object of the invention to provide a more robust system for generating such a shared secret, comprising a proving apparatus and a verifying apparatus, and to provide the proving apparatus and the verifying apparatus.
According to the invention, the first object is achieved by a method as defined in claim 1.
In this method, the prover-specific response reliability information is used in combination with the verifier-specific response reliability information in order to generate the shared secret from the prover-specific response and/or from the verifier-specific response, resulting in the fact that the probability of inconsistently generating the shared secret, i.e. failing to generate the shared secret, is significantly reduced.
In other words, according to the invention, a two-way use of helper data is adopted.
In an embodiment of the method according to the invention, both parties have access to the prover-specific response reliability information and the verifier-specific response reliability information, and both parties generate the shared secret. In an alternative embodiment, only one party has access to the prover-specific response, the prover-specific response reliability information and the verifier-specific response reliability information, and is therefore able to generate the shared secret. In this case, the party that generated the shared secret transmits shared secret-related information to the other party, so that also the other party can determine the shared secret.
The shared secret-related information may be a pointer to a portion of the response, marked as reliable by both the prover-specific response reliability information and the verifier-specific response reliability information upon which the key is generated.
The invention has the following advantages:
In an embodiment of the invention, the size of the shared secret may be flexible. After the two helper data have been combined, it may happen that the size of the shared secret is substantially different than was foreseen. The two parties can then negotiate the size of the key that is going to be used and together decide on a certain key length other than a preordained one. The owner of the smart card containing the physical token may even be involved, e.g. he is asked whether he can accept a somewhat shorter session key.
Furthermore, the error-correcting codes, if used, are less complex and yield a robust, yet simple scheme for error correction.
As the expected number of errors in the derivation of the bit string is reduced due to the invention, the computational effort of error correction by means of an error-correcting code is further reduced and has a more than linear computational advantage. Thus, the combination of the two-way helper data invention with an error-correcting code yields an advantage which is bigger than just the sum of the parts.
As a simple example of the difference in error probabilities, the measurements on a single, Gaussian-distributed variable with standard deviation σ can be considered. If the first measurement (enrolment) yields a value f, with an absolute value which is larger than some threshold T, the variable is deemed “robust”. Given such a robust variable, the probability that a bit flip will occur in the second measurement, according to the prior art method (one-way helper data), is equal to the probability that the second measurement yields a number F with a sign opposite from f. This probability is
ErrorProb(one-way)=½[1-Erf(f/2σ)].
However, if the two-way helper data method according to the invention is used, the probability of a bit flip is equal to the probability that F does not only have an opposite sign, but also an absolute value which is larger than the threshold T,
ErrorProb(two-way)=½[1-Erf((f+T)/2σ)].
It is logical to choose the threshold T to be larger than σ, as in the following examples. For T=1.5×σ and f just above the threshold, the one-way method has a bit error probability of 14%, whereas the two-way method has a bit error probability of only 2%. For T=2×σ, the percentages are 8% versus 0.2%. In both cases, the present invention results in a drastic reduction of the error probability.
Finally, the communication channel between the prover and the verifier is assumed to be a public channel. All information which is exchanged according to the invention can be sent back and forth on open public channels without any risk, as the amount and kind of information is insufficient for a third party to reveal any secrets or generate a copy of the secret bit string. Moreover, the amount of information revealed to the public (at most: the type of challenge along with the two sets of helper data) is just enough to let the two parties decide on a joint secret.
In different embodiments, the shared secret is to be used for either identification, for authorization or secure communication between said two parties.
The invention further relates to computer-readable media having instructions stored therein for causing processing units in a proving party and in a verifying party, respectively, to execute the methods above.
Various embodiments of the method according to the invention are defined in the dependent claims
According to the invention, the further object is achieved by a system as defined in claim 13, a proving apparatus as defined in claim 14 and a verifying apparatus as defined in claim 15.
The selection means may be located in either the proving apparatus or the verifying apparatus, or in a third party.
Independently of the selection means, the response reliability calculation means may be located in the proving apparatus or in a third party.
Independently of the selection means and the response reliability calculation means, the shared secret calculation means may be located in any one or both of the proving apparatus and the verifying apparatus, or in a third party. In an embodiment, the response reliability calculation means and the shared secret calculation means are integral, as part of the proving apparatus, or located in a third party.
Preferred embodiments of the invention will now be described with reference to the drawings, in which
Theoretically, a physical token can be challenged in a very large number of ways. However, in practice, the number of challenges a physical token is subjected to during enrolment is rather of the order of e.g. several hundreds for mainly two reasons, namely, first, to reduce the time spent on the physical measurements and, secondly, to keep the storage requirements at a reasonably low level. Therefore, only as many challenges as needed are made. Furthermore, the data on the smart card can always be renewed and a new set of challenges can be made on the physical token.
For each challenge C_i with which the physical token is challenged, the corresponding response R_i is detected and enrolment-specific side information S_i, also called helper data response reliability information, is derived. The enrolment-specific helper data S_i contains information about data that is reliable and data that is not reliable. The response and the helper data are specific for the testing station used. In the example with the testing being an illumination of a PUF, the response could then be a 2D speckle pattern filtered into a bit string, where each bit represents the light intensity at a specific location. The helper data then consists of a set of pointers to bits in the response containing reliable data, e.g. to bits corresponding to locations where the light intensity is either definitely low or definitely high. The helper data may also take the form of a mask of the response, i.e. an array of bits having the same number of bits as the bit string that represents the response, wherein a “1” indicates that the corresponding bit in the response is reliable, and a “0” indicates that it is not reliable.
Finally, the identity ID # of the physical token, the challenges C_i, the corresponding detected responses R_i, and side information S_i, all of which jointly form the enrolment data, are stored in a database server 103, where they are accessible by a verifying apparatus during a subsequent authentication phase. The data are stored in such a way that the challenges and the corresponding responses and helper data are linked to the identity ID # of the physical token, so that these data can later be pulled out from information on the token's identity alone.
In some applications, it is also possible that a central database does not exist. The challenge-response data may also be totally or partially stored on the smart card, in an encrypted form, if necessary. Alternatively, the challenge and response data is spread across many different data carriers.
In one embodiment of the invention, the key length may be flexible. When both parties know Sv, they can jointly decide to choose a certain key length other than a preordained one. After use, the key K is discarded and the challenge C is never used again on this specific physical token.
The use of the two-way helper data as described above may be combined with an error-correcting code of some sort to reduce the probability of bit errors in the shared secret even further.
In a broader sense, the invention does not only cover a terminal and a database server, but more generally a proving party with a physical token and a verifying party.
As also mentioned with reference to
Furthermore, the proving party or terminal does not have to send the new terminal-specific helper data in its literal form; he may e.g. send Sv or any function of ST that allows the verifier to derive ST or Sv.
According to the invention, it is also possible that the terminal or proving party has few computational resources. In this case, it can send more or less raw response data to the server, so that the server computes the second set of helper data and then tells the terminal about the result of ST or Sv. All of this can be done in a secure way if the proper encryptions are employed.
In the case mentioned above, the invention may involve preprocessing of the raw data so that the data sent to the server has a manageable size.
In yet another embodiment of the invention, the extraction of the helper data during authentication may depend on the helper data from enrolment. This may be any kind of functional dependence.
In a further embodiment of the invention, threshold values that were used for generating the verifier-specific helper data may be accessed by the proving party to help with the extraction of the prover-specific helper data.
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 sign placed between parentheses shall not be construed as limiting the claim. Use of the verb ‘comprise’ and its conjugations does not exclude the presence of elements or steps other than those stated in a claim. Use of the article “a” or “an” preceding an element or step does not exclude the presence of a plurality of such elements or steps. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means can be embodied by one and the same item of 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.
| Number | Date | Country | Kind |
|---|---|---|---|
| 04104842.2 | Oct 2004 | EP | regional |
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/IB05/53255 | 10/4/2005 | WO | 00 | 3/29/2007 |