EP1832036A2 - Procede et dispositif de generation de cles et de verification d'authenticite - Google Patents

Procede et dispositif de generation de cles et de verification d'authenticite

Info

Publication number
EP1832036A2
EP1832036A2 EP05850888A EP05850888A EP1832036A2 EP 1832036 A2 EP1832036 A2 EP 1832036A2 EP 05850888 A EP05850888 A EP 05850888A EP 05850888 A EP05850888 A EP 05850888A EP 1832036 A2 EP1832036 A2 EP 1832036A2
Authority
EP
European Patent Office
Prior art keywords
node
random number
representative value
verification
measurement
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP05850888A
Other languages
German (de)
English (en)
Inventor
Geert J. Schrijen
Boris Skoric
Jasper Goseling
Pim T. Tuyls
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Priority to EP05850888A priority Critical patent/EP1832036A2/fr
Publication of EP1832036A2 publication Critical patent/EP1832036A2/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Definitions

  • the present invention relates to the generation of keys for use in security systems, and in particular relates to the generation of keys from, for example, biometric identifiers or physical uncloneable functions (PUFs).
  • biometric identifiers or physical uncloneable functions (PUFs).
  • PEFs physical uncloneable functions
  • biometric identifiers such as fingerprints, iris patterns, voice data and gait data. Since biometric identifiers cannot be lost or forgotten, in the way that computer passwords, for example, can be forgotten, biometrics have the potential to offer higher security and more convenience for users.
  • a PUF is a function that is realized by a physical system, such that the function is easy to evaluate but the physical system is hard to characterize.
  • the physical system is designed such that it interacts in a complicated way with stimuli, called challenges, and leads to unique but unpredictable responses.
  • an optical PUF consists of a physical structure comprising some randomly distributed scattering material.
  • the optical PUF produces a unique response, in the form of a speckle pattern.
  • One or more challenge-response pairs can then be used to identify the PUF.
  • Physical identifiers such as biometrics or optical PUFs can be used for the derivation of cryptographic keys.
  • the protocol used by the user and the verifier usually consists of two phases, an enrolment phase and an application phase.
  • the verifier measures the biometrics of the user (or alternatively obtains some challenge-response pairs from the user's PUF), derives a representative value to be used as a key from the measurement (or as challenge-response pairs for proving authenticity), and stores the representative value for use during the application phase.
  • the verifier also stores reference information that helps the user to derive the same representative value (and hence the same key) during the application phase.
  • a new (noisy) measurement of the biometrics is made (or the response of the PUF to certain challenges is detected), and the reference information of the verifier is used by the user to derive the same representative value from the noisy measurement of the biometric (or response).
  • the user and the verifier communicate over a public (authenticated) channel.
  • the convenience for the users comes from the fact that they are not required to remember passwords or store additional secret keys.
  • biometrics and PUFs are uncloneable, the derivation and use of the same key by the user (thereby allowing the verifier to decrypt data encrypted using the user's key) means that the verifier can be sure that the intended user (or the original PUF) is present during the application phase.
  • fuzzy key generation offers the advantages described above, there are some problems.
  • biometric identifiers can inadvertently be left in many places. For example, fingerprints can be left on any surface that is touched, or iris scans can be taken with a camera. This implies that an attacker can easily capture a noisy version of a biometric that is closely related to the template that will be measured at the sensor of the terminal. This information can be used by the attacker to compute an estimate of the key derived from the biometric of a specific user, and hence to decrypt traffic sent between the terminal and verifier.
  • the camera recording the speckle pattern is separated from the card.
  • the camera will contain an unencrypted digital representation of the speckle pattern. This means that an attacker might attack the camera to obtain information on the speckle pattern recorded and hence on the key derived from the speckle pattern.
  • the attacker may have complete access to the card containing the PUF for a limited period of time, for example he might steal the card from the user and later return it. In this situation the attacker will be able to measure some challenge-response pairs of the PUF.
  • a method of deriving a key for encrypting or authenticating data sent between a first node and a second node comprising determining a representative value from a measurement of a physical identifier of a user; generating a random number; and combining the representative value and the random number to provide an encryption key.
  • the present invention provides a way to use measurement information derived from a physical identifier for key generation meanwhile limiting the amount of information related to said physical identifier exposed to an attacker observing communications encrypted with said encryption key.
  • an encryption key unintentionally a small amount of information related to the actual encryption key leaks to an attacker.
  • an independent, easily renewable, value that is not derived from the encryption key the information related to the physical identifier is further obfuscated from the attacker.
  • an attacker might obtain information related to the encryption key by analyzing data encrypted with said encryption key, this encryption key is based on the combination of both the information from the physical identifier as well as the random number. Therefore an attacker can no longer simply isolate the information derived from the physical identifier. By renewing the random number often, security can be further improved.
  • the step of determining a representative value from a measurement of a physical identifier of a user comprises obtaining a measurement of a biometric identifier of the user.
  • the step of determining a representative value from a measurement of a physical identifier further comprises using a secret extraction code to extract the representative value from the measurement.
  • the key is derived at the first node, and the step of determining the representative value from the measurement of a physical identifier further comprises selecting the secret extraction code from a collection of secret extraction codes in response to secret extraction code identity data provided to the first node by the second node.
  • the secret extraction code identity data is derived and stored in the second node during a verification phase.
  • the step of determining a representative value from a measurement of a physical identifier of a user comprises challenging a physical uncloneable function of a user and measuring the response.
  • the step of determining a representative value from a measurement of a physical identifier further comprises deriving the representative value from the measured response and helper data provided to the first node by the second node.
  • the step of challenging the physical uncloneable function comprises applying at least one challenge selected from a set of challenges.
  • a method of deriving keys for encrypting or authenticating data sent between a first node and a second node, the second node having a second representative value determined from a measurement of a physical identifier of a user stored in a memory comprising: generating a common random number for the first and second nodes; in the first node: determining a first representative value from a measurement of a physical identifier of a user; combining the first representative value and the common random number to provide an encryption key; and in the second node: combining the second representative value stored in the memory of the second node and the common random number to provide an encryption key.
  • the step of generating the common random number for the first and second nodes comprises: generating the random number in the first node; and securely transmitting the generated random number from the first node to the second node.
  • the step of securely transmitting the generated random number from the first node to the second node comprises encrypting the random number in the first node, and, in the second node, decrypting the encrypted random number.
  • the first node has a public key for the second node stored in a memory thereof
  • the second node has a corresponding secret key stored in the memory of the second node
  • the step of securely transmitting the generated random number from the first node to the second node comprises encrypting the random number using the stored public key of the second node, and, in the second node, decrypting the encrypted random number using the stored secret key of the second node.
  • the step of generating a common random number for the first and second nodes comprises using a session key generation protocol.
  • the step of determining a first representative value from a measurement of a physical identifier of a user comprises obtaining a measurement of a biometric identifier of the user.
  • the step of determining a first representative value from a measurement of a physical identifier further comprises using a secret extraction code to extract the first representative value from the measurement.
  • the step of determining the first representative value from the measurement of a physical identifier further comprises selecting the secret extraction code from a collection of secret extraction codes in response to secret extraction code identity data provided to the first node by the second node.
  • the secret extraction code identity data is derived and stored in the second node during a verification phase.
  • the step of determining a first representative value from a measurement of a physical identifier of a user comprises challenging a physical uncloneable function of a user and measuring the response.
  • the step of determining a first representative value from a measurement of a physical identifier further comprises deriving the first representative value from the measured response and helper data provided to the first node by the second node.
  • the step of challenging the physical uncloneable function comprises applying at least one challenge selected from a set of challenges.
  • a node comprising means for obtaining a measurement of a physical identifier of a user of the node; means for determining a representative value from the measurement; means for generating a random number; and means for combining the representative value and the random number to provide an encryption key.
  • the means for obtaining a measurement of a physical identifier of a user comprises means for obtaining a measurement of a biometric identifier.
  • the node further comprises: a memory having a collection of secret extraction codes stored therein; and means for receiving secret extraction code identity data from the verification node; wherein the means for determining a representative value from the measurement is adapted to determine the representative value using one of the secret extraction codes stored in the memory and the measurement of the biometric identifier, wherein the selection of the secret extraction code is made on the basis of secret extraction code identity data received from the verification node.
  • the means for obtaining a measurement of a physical identifier of a user comprises means for challenging a physical uncloneable function of a user and measuring the response.
  • the node further comprises: a memory having a collection of challenges stored therein; and means for receiving challenge identity data from the verification node; wherein the means for obtaining a measurement of a physical identifier is adapted to challenge the physical uncloneable function of the user using at least one of the challenges stored in the memory, wherein the selection of the or each challenge is made on the basis of the challenge identity data received from the verification node.
  • the node further comprises: means for receiving helper data from the verification node; wherein the means for determining a representative value from the measurement is adapted to determine the representative value using the measured response and helper data received from the verification node.
  • the node further comprises: means for transmitting the generated random number from the node to a verification node.
  • the means for transmitting the generated random number from the node to the verification node is further adapted to encrypt the random number before transmission from the node to the verification node.
  • the node further comprises: a memory the memory having a public key for the verification node stored therein; wherein the means for transmitting the generated random number from the node to the verification node is further adapted to encrypt the random number using the stored public key of the verification node.
  • the means for generating a random number is adapted to generate the random number using a session key generation protocol.
  • a smart card for use with a reader, the smart card comprising a physical uncloneable function; and a processor chip; wherein the processor chip is adapted to receive a measurement of the physical uncloneable function from the reader; determine a representative value from the measurement; generate a random number; and combine the representative value and the random number to provide an encryption key.
  • the processor chip is adapted to determine a representative value from the measurement using helper data received from the verification node.
  • a verification node comprising a memory containing a plurality of representative values, each representative value being associated with a particular user; means for receiving a user identity from a user node; means for retrieving a representative value from the memory in response to the received user identity; processing means for combining the retrieved representative value with a random number to provide an encryption key.
  • the memory further contains secret extraction code identity data associated with each of the representative values; the means for retrieving being further adapted to retrieve the associated secret extraction code identity data from the memory; and the verification node further comprises means for transmitting the retrieved secret extraction code identity data to the user node.
  • the memory further contains challenge identity data associated with each of the representative values, wherein each user has a plurality of challenges and representative values associated therewith; the means for retrieving being further adapted to retrieve the associated challenge identity data from the memory; and the verification node further comprises means for transmitting the retrieved challenge identity data to the user node.
  • the memory further contains helper data associated with each of the representative values; the means for retrieving being further adapted to retrieve the associated helper data from the memory; and wherein the means for transmitting is further adapted to transmit the retrieved helper data to the user node.
  • the random number is received from the user node by the means for receiving.
  • the random number received from the user node is encrypted; and the means for receiving is further adapted to decrypt the encrypted random number.
  • the memory further contains a secret key for the verification node and the random number received from the user node is encrypted using a public key of the verification node; and the means for receiving is adapted to decrypt the encrypted random number using the secret key.
  • the processing means is adapted to generate the random number using a session key generation protocol.
  • a node for proving authenticity for use in an authentication system can prove that it is authentic by generating a particular encryption key based on a measured representative value and transmitting that to a verification node. The verification node can subsequently verify whether the generated encryption key corresponds to an encryption key generated using a particular representative value recorded during the enrolment process of the node and the random number.
  • the node comprising: means for obtaining a measurement of a physical identifier of the node; means for determining a representative value from the measurement; means for obtaining a random number; and means for combining the representative value and the random number to provide an encryption key.
  • the means for obtaining a measurement of a physical identifier of the node and the means for determining a representative value from the measurement are in accordance with their equivalents as discussed during the third aspect of the invention.
  • the means for obtaining a random number are configured to receive said random number from said accompanying verification node.
  • this random number is received from the verification node.
  • the random number will be used in the generation of an encryption key for use in authentication. It is possible to transmit the random number to the node in the clear this will provide an attacker with a plain text that could be used for attacking the system. For security reasons the random number could be encrypted e.g. using the public key of the node. In an encrypted form, allowing the node to decrypt said random number for further use by the node.
  • the random number could be sent by the verification node in an unencrypted format, thereby reducing security of the authentication process.
  • the verification node should also provide a challenge for said physical uncloneable function.
  • the node further comprises means for transmitting an identity, when a biometry is used this could be the identity of the user, alternatively in case of a physical uncloneable function this could be a unique identifier associated with said function.
  • proof of authenticity involving a node could proceed as follows.
  • a node fitted with a physical uncloneable function is brought in proximity of a verification node, using a wireless communication channel the verification node requests a unique node identifier from the node.
  • the verification node retrieves a challenge from a database associated with said node identifier.
  • the verification node generates a random number and transmits the random number and said challenge to the node, optionally this data is encrypted first.
  • the challenge and random number are received, and subsequently decrypted.
  • Various conventional methods of encryption can be envisaged ranging from usage of private and public keys to an earlier established session key between both nodes.
  • the node challenges the physical uncloneable function, measures its response and determines a representative value from the measurement.
  • an encryption key is generated at the node, for example by encrypting the random number with the representative value, or by cryptographically hashing both the random number and the representative value. In doing so the node enables the verification node to ascertain validity of said encryption key, whereas attackers do not obtain information with respect to the representative value.
  • a node according to the sixth aspect of the invention could be used advantageously for proving authenticity of a computer program.
  • This proof of authenticity can be used as a prerequisite for granting a party authorization for use of or installation of said program on a computing platform.
  • a biometric could be used instead. Such an embodiment would enable the use of biometric data for proving authenticity of a user, thereby allowing only an authorized user to generate the key for using or installing a computer program.
  • This invention could be used in an equally advantageous fashion for proving authenticity of physical objects such as CDs, DVDs, documents (e.g. a passport), badges, tags, and tokens. Based on said proof access is granted provided the correct biometric is presented to the verification node by the user.
  • a verification node that receives a generated encryption key generated by a node for verifying that the node is authentic.
  • Such a verification node can be used in conjunction with a node according to the sixth aspect of the invention to form a system for proving authentication.
  • a verification node according to the seventh aspect of the invention comprises: means for receiving an identity from a node; means for obtaining a random number; means for retrieving a representative value associated with said identity; means for receiving an encryption key from a node; processing means for verifying whether the encryption key as received from the node can also be generated using the retrieved representative value and the random; and authenticating the node based on the outcome of said verifying.
  • the random number should be chosen anew every time a device is authenticated, furthermore by selecting a new challenge and therefore a new response for each authentication security is further increased.
  • a verification node will receive the identity of the node that is being authenticated. Based on this identity the verification node will attempt to retrieve a challenge response pair from a database.
  • This database could be stored in memory of the verification node, or could be stored on a central file server comprising challenge response data for a plurality of nodes. In fact these challenge response pairs could even be provided by said node, provided that the verification node can establish authenticity of the challenge response pairs, e.g. by verifying a signature from a trusted third party.
  • the verification node selects a challenge response pair for said node.
  • the verification node will generate the random number, thereby allowing the verifier to control the random number generator, and facilitating low cost nodes that do not require an expensive secure random number generator.
  • the verification node will transmit said challenge and random number to the node, in certain embodiments the random number will be encrypted in other embodiments it can be unencrypted.
  • the node will subsequently generate an encryption key that is sent to the verification node.
  • the verification node will receive said encryption key generated at the node.
  • the processing means will use the retrieved representative value and the random value in order to verify whether the node that generated the received encryption key was authentic.
  • the verification process at the verification node applies the same procedure followed at the node that generated said received encryption key, in doing so the verification node will generate a further encryption key for example by encrypting the random number with the representative value available at the verification node. Subsequently both generated encryption keys could be compared.
  • the verification node could verify authenticity by decrypting rather than encrypting. In doing so the verification node could use the representative value available at the verification node to decrypt the received encryption key generated at the node, and subsequently match the resulting output with the random number available at the verification node.
  • Even more alternative solutions can be envisaged, such as the generation of an encryption key by employing a cryptographic hash function. For example by hashing both the random number and the representative value available at both the node and the verification node, and subsequently comparing these.
  • the verification process establishes whether the verification node could generate the same encryption key based on the retrieved representative value and the random number, thereby establishing whether the node is authenticated. The result of this verification can be used to grant authorization to a party.
  • a particularly advantageous verification node is a verification node that functions as a trusted platform module or TPM verifying authenticity of computer programs on a computing platform.
  • TPM Trusted Platform Module
  • the verification node is a trusted platform module (TPM).
  • TPM trusted platform module
  • the verification node will obtain the representative value from the computer program in an encrypted format. Using e.g. a device key of the verification node (TPM) the verification node can decrypt this representative value. The resulting representative value is then used as presented earlier for challenging e.g.
  • this seventh aspect effectively binds the content of a computer program to a representative value derived from the biometrics of a person, or the measurement of a physical uncloneable function. As the latter are substantially harder to copy, replicate, or forge, if possible at all, this effectively presents a valuable content protection mechanism.
  • an authentication system comprising a node as described above and a verification node as described above.
  • an authentication system comprising a smart card as described above and a verification node as described above.
  • Fig. 1 is a flow chart illustrating the steps in the method according to the invention
  • Fig. 2 is a flow chart showing a preferred method according to the invention in a system that uses biometric identifiers
  • Fig. 3 is a flow chart showing a preferred method according to the invention in a system that uses physical uncloneable functions
  • Fig. 4 is a schematic diagram of a system for performing the method of Fig. 2
  • Fig. 5 is a schematic diagram of a system for performing the method of Fig. 3;
  • Fig. 6 is a flow chart showing a preferred method according to the invention of authenticating a node by a verification node
  • Fig. 7 is a schematic diagram of a system for authentication of a node by a verification node according to the invention.
  • the same reference numeral refers to a similar element, or an element that performs a similar function.
  • the verifier derives "helper data" from the measurement of the physical identifier during the enrolment phase and sends this helper data to the user's terminal during the application phase.
  • helper data allows the terminal to determine the same key as the verifier from a noisy measurement of the physical identifier.
  • the invention will be described mainly in relation to a method of deriving a key for encrypting data, it will be appreciated that the invention also relates to a method of deriving a key for authenticating data. Consequently, although the derived key is referred to herein as an "encryption key", it will be appreciated that the encryption key is also suitable for use as an authentication key.
  • Figure 1 shows a method of deriving a key for encrypting or authenticating data sent between first and second nodes according to the invention.
  • a representative value is determined from a measurement of a physical identifier of a user.
  • the step comprises obtaining a measurement of the biometric identifier, for example by scanning the fingerprint or iris, and using a secret extraction code selected from a collection of codes to extract the representative value from the measurement.
  • Secret extraction codes allow representative values to be derived from biometric identifiers, and in particular allow the same representative value to be derived from slightly different measurements of the same biometric identifier.
  • Various different secret extraction codes are available, each extracting a different representative value from a particular biometric identifier.
  • the step comprises challenging the physical uncloneable function and measuring the response.
  • the representative value is derived (using a secret extraction code for the challenge or challenges used) from the measured response, which will be unique for that physical uncloneable function and the particular challenge or challenges used.
  • the second node In order for a first node to derive the same representative value from the measurement of the biometric identifier or response from the physical uncloneable function as that derived and stored at a second node during the enrolment phase, the second node provides the first node with helper data. Where secret extraction codes are used, the helper data allows the first node to select the appropriate secret extraction code.
  • the step of determining a representative value from a measurement of a physical identifier is performed both by the verifier (which may be the second node with which the first node communicates, or a separate entity designed to provide the derived representative value and helper data to the second node) during the enrolment phase, and by the first node during the application phase.
  • the verifier which may be the second node with which the first node communicates, or a separate entity designed to provide the derived representative value and helper data to the second node
  • the invention strengthens the key derivation protocol by generating a random number during the application phase and combining the generated random number with the representative value.
  • the random number is generated.
  • the first node generates the random number and provides it to the second node.
  • the second node may generate the random number and provide it to the first node.
  • the smart card may comprise a chip that is able to generate the random number.
  • the reader in the first node for the smart card may generate the random number.
  • a new random number may be generated each time that the first node initiates a new communication session with the second node (i.e. each time that the application phase is started), or alternatively a new random number may be generated periodically to further increase security during longer communication sessions.
  • the generated random number must be provided to the other node. This must be done securely otherwise an attacker can obtain the random number and hence determine the key being used during the communication session.
  • the random number is provided to the other node using a public key encryption protocol. That is, the node that generates the random number is provided with a public key for the other node, which is used to encrypt the random number for transmission to the other node. The other node is provided with a corresponding secret key, which is used to decrypt the encrypted random number.
  • the first and second node may run a session key generation protocol to determine a random session key.
  • a session key generation protocol could be used in which the first and second nodes share a public key g.
  • the first node chooses x at random and sends g x to the second node.
  • the second node chooses y at random and sends g y to the first node.
  • the session key generation protocol is performed in an authenticated way.
  • a public key encryption protocol can be used to authenticate transmissions between the nodes during the session key generation protocol.
  • step 105 an encryption key is derived by combining the representative value determined in step 101 with the generated random number. Step 105 is performed both by the first node on the representative value determined during the application phase and by the second node on the representative value determined by the second node (or separate verifier) during the enrolment phase.
  • the encryption keys derived by the first and second nodes will be the same, allowing communications encrypted using the key of one node and received by the other node to be decrypted and read.
  • Figure 2 shows a preferred implementation of the method according to the invention in a system that uses biometric identifiers.
  • the sensors in the first node are tamper resistant (i.e. it is not possible to eavesdrop on the events or readings inside the sensor), and that the sensor can detect artificially constructed biometrics.
  • the communication line between the sensor in the first node and the second node is susceptible to eavesdropping. Therefore, in this preferred implementation, a public key encryption protocol is used in which the first node has a public key pk of the second node, and the second node has a corresponding secret key sk.
  • the first node comprises a random number generator producing random numbers (in bit form).
  • the method starts at step 201 where a user identity, such as a user name, is entered into a first node by a user.
  • step 203 the user presents their biometric identifier to a sensor in the first node, and the sensor measures the biometric identifier.
  • step 205 the user identity is transmitted from the first node to the second node, preferably using the public key encryption protocol.
  • step 207 a database in the second node is accessed and the representative value and helper data associated with the received user identity is retrieved.
  • step 209 the retrieved helper data is transmitted to the first node.
  • the first node uses the received helper data to extract a representative value from the measurement of the biometric identifier.
  • the first node generates a random bit string.
  • the first node transmits the random bit string to the second node using the public key encryption protocol.
  • step 217 the first node combines the random bit string and the determined representative value to derive an encryption key.
  • step 219 the second node combines the random bit string, received from the first node in step 215, and the representative value, retrieved in step 207, to derive another encryption key.
  • both nodes will be able to decrypt and read data encrypted using the encryption key of the other node.
  • the encryption system used to provide the random bit string to the second node does not allow the attacker to find out any information about the random bit string (i.e. the encrypted random bit string does not leak any information about the random bit string itself).
  • the attacker can only guess the random bit string.
  • the attacker may have a noisy version of the biometric identifier and also the helper data that is sent from the second node to the first node. Even assuming that the noisy version of the biometric identifier is sufficiently close to the version used to derive the stored representative value so that the same representative value can be determined from the noisy version of the biometric identifier and the helper data, the probability of correctly guessing the encryption key (assuming that the representative value is random) is bounded by max ⁇ 1/ (]f i J , 2 ' ⁇ which becomes small if
  • Figure 3 shows a preferred implementation of the method according to the invention in a system that uses an optical physical uncloneable function in a smart card.
  • the camera in the reader first node
  • the camera in the reader is susceptible to eavesdropping.
  • the communication line between the reader and the second node is also susceptible to eavesdropping. Therefore, an encryption protocol is used which, in this preferred implementation, is a public key encryption protocol.
  • the chip in the smart card has a public key pk of the second node stored therein, and the second node has a corresponding secret key sk.
  • the chip also comprises a random number generator that produces random numbers (in bit form).
  • the method starts at step 301 where the smart card is inserted into the reader.
  • a user identity such as a username
  • stored on the smart card is transmitted to the second node.
  • a database in the second node is accessed using the received user identity and a representative value and helper data, both associated with a particular challenge and the user, are retrieved.
  • step 307 the helper data and the challenge associated with the helper data are sent to the reader and the smart card.
  • steps 309 and 311 the reader challenges the physical uncloneable function according to the received challenge and measures the response. This response is passed to the chip in the smart card.
  • step 313 a representative value is computed by the chip in the smart card using the measured response and the helper data.
  • step 315 the chip uses the random number generator to generate a random bit string.
  • step 317 the smart card, via the reader, transmits the random bit string to the second node using the public key encryption protocol.
  • step 319 the chip in the smart card combines the random bit string and the determined representative value to derive an encryption key.
  • step 321 the second node combines the random bit string and the retrieved representative value to derive another encryption key.
  • the second node sends a random message to the smart card via the reader.
  • the smart card encrypts the random message using the derived encryption key and sends it back to the second node.
  • the second node decrypts the encrypted message using the encryption key derived therein and checks whether the decrypted message is the same as the random message sent to the reader and smart card. If it is the same, the smart card is authenticated and the transaction may continue, but if it does not, the transaction is stopped.
  • the random bit string can be generated by the chip at the start of the method.
  • Figure 4 shows a system for performing the method shown in Figure 2.
  • the system 401 comprises a first node 403 and a second node 405.
  • the first node 401 comprises a means for obtaining a measurement of a physical identifier in the form of a sensor 407 for example such as a camera or a fingerprint reader, a random number generator 409, a memory 411 and a communication module 413, each connected to a processor 415.
  • a sensor 407 for example such as a camera or a fingerprint reader
  • a random number generator 409 for example such as a camera or a fingerprint reader
  • a memory 411 for example such as a camera or a fingerprint reader
  • a communication module 413 each connected to a processor 415.
  • the second node 405 comprises a memory 417 and means for receiving a user identity and a random number from the first node 403 in the form of a communication module 419 connected to a processor 421.
  • the sensor 407 obtains a measurement of a biometric identifier, Y, of a user and passes the measurement to the processor 415.
  • the processor 415 uses the measurement and helper data received via the communication module 413 from the second node 405 to determine a representative value.
  • the random number generator 409 generates a random number and the processor 415 combines the random number and the representative value to provide an encryption key.
  • the processor 415 is also adapted to transmit the random number, using the communication module 413, to the second node 405.
  • the memory 411 has a number of secret extraction codes stored therein and the processor 415 uses a secret extraction code indicated by the helper data received from the second node 405 to determine the representative value.
  • the memory 411 has a public key for the second node 405 stored therein, and this public key is used to encrypt the random number before transmission to the second node 405.
  • the processor 421 is adapted to retrieve a representative value stored in the memory 417 that is associated with a particular user and to combine the retrieved value with a random number received via the communication module 419 from the first node 403 to provide an encryption key.
  • the memory 417 also comprises a secret key for the second node 405 that is used in a public key encryption protocol.
  • FIG. 5 shows a system for performing the method of Figure 3.
  • the system 501 comprises a first node 503 and a second node 505.
  • the first node 503 comprises a smart card 507 inserted into a reader 509.
  • the smart card 507 comprises an optical physical uncloneable function 511 and a processor chip 513.
  • the reader 509 comprises a sensor 515 and a communication module 517 connected to a processor 519.
  • the second node 505 comprises a memory 521 and a communication module 523 connected to a processor 525.
  • the sensor 515 obtains a response from the optical physical uncloneable function 511 to a challenge set by the second node 505.
  • the sensor 515 passes the measured response to the processor chip 513 via the communication module 517.
  • the processor chip 513 uses the measured response and helper data received via the communication module 517 from the second node 505 to determine a representative value.
  • the processor chip 513 also comprises a random number generator 527 that generates a random number that is combined with the representative value by the processor chip 513 to provide an encryption key.
  • the processor chip 513 is also adapted to transmit the random number, via the communication module 517, to the second node 505.
  • the processor chip 513 has a public key for the second node 505 stored therein, and this public key is used to encrypt the random number before transmission to the second node 505.
  • the processor 525 is adapted to retrieve a representative value stored in the memory 521 that is associated with a particular user and to combine the retrieved value with a random number received via the communication module 523 from the reader 509 to provide an encryption key.
  • the memory 521 also comprises a secret key for the second node 505 that is used in a public key encryption protocol.
  • Figure 6 shows a preferred method for authentication of a node with an associated identity by a verification node. The method of authentication is based on the fact that both the node and the verification node can generate the same encryption key.
  • the verification node can challenge the node to generate a particular encryption key that the node with the associated identity can generate.
  • the verification node can verify whether the encryption key generated by that node is correct.
  • the verification node can compute an encryption key in an analogous fashion, or may analyze the encryption key received from said node using the retrieved representative value and the random number available at the verification node.
  • the verification node When a node is brought into proximity of a verification node, the verification node will, using a wireless communication channel obtain an identity of said node in step 601.
  • the received identity is used by the verification node to retrieve a representative value, a challenge, and helper data associated with the node with said identity in step 602.
  • helper data could be stored together with the challenge data, the helper data could also be stored locally on the node. When the helper data is stored on the node this will require storage on the node, however, there is no need for retrieving said helper data by the verification node.
  • the verification node further generates a random number in step 603.
  • the verification node now transmits the challenge, the helper data, and said random number to the node in step 604.
  • the challenge is presented to the physically uncloneable function in step 309, and the response to the challenge is measured in step 311. Subsequently a representative value is generated using the helper data and the response in step 313.
  • the verification node receives said encryption key in step 606, and verifies whether the encryption key generated by the node corresponds to the expected encryption key in step 607. By means of this verification the verification node establishes whether the node is authentic in step 608. Optionally the verification node could authorize a party based on the authentication in step 609.
  • the node will encrypt the random number with the measured representative value in order to generate an encryption key.
  • the verification node will encrypt the random number with the retrieved representative value and compare both encryption results, based on this comparison the verification node can authenticate the node.
  • the node will encrypt the random number with the measured representative value, but instead the verification node will decrypt the received encryption key generated by node using the retrieved representative value in order to obtain the random number encrypted at the node.
  • the decryption result can now be compared with the random value at the verification node, based on this comparison the verification node can authenticate the node.
  • the node will generate an encryption key by applying a cryptographic hash on at least the measured representative value and the random number.
  • the resulting encryption key is sent to the verification node.
  • the verification node will form a similar hash using the random number and the retrieved representative value.
  • FIG. 7 shows a system for authentication of a node.
  • the system comprises a verification node 720 that functions as a Trusted Platform Module or TPM.
  • TPM Trusted Platform Module
  • the system is used for proving authenticity of a computer program that is distributed on a data carrier 730.
  • a node 710 for proving authenticity of said computer program
  • this node could be a tag that is embedded in the manual of the computer program, or in the jewel case in which the data carrier is shipped.
  • the system comprises a node 710 and a verification node 720, and a data carrier 730.
  • This particular authentication system is based on the fact that both the node 710 and the verification node 720 can generate the same encryption key.
  • the verification node can challenge the node 710 to generate an encryption key that only the actual node 710 can generate by using said physical uncloneable function. In turn the verification node can verify whether the encryption key generated by the node 710 is correct.
  • the node 710 comprises a physical uncloneable function 711 and a sensor 713 and a communication module 712 connected to a processor 714.
  • the verification node 720 comprises a data carrier reader 723, a communication module 721, and a random number generator all connected to a processor 722.
  • the communication modules 712 and 721 are configured for communicating over a wireless channel.
  • a wireless communication channel could be based on RF, or IR receivers and transmitters.
  • Alternative implementations using wired communication channels could also be envisaged.
  • the verification node 720 is a TPM that can be used to authenticate the node 710.
  • the data carrier 730 comprises a representative value of the physically uncloneable function 711. This representative value could have been established during enrolment of said node 710.
  • the representative value is stored in an encrypted form on said data carrier.
  • the verification node 720 can retrieve the encrypted representative value from the data carrier by means of the data carrier reader 723.
  • the encrypted representative value can subsequently be decrypted e.g. using a device key of the verification node 720 (TPM) resulting in a retrieved representative value.
  • the data carrier may also comprise challenges and helper data related to said physically uncloneable function.
  • the verification node 710 When the node 710 is brought into proximity of the verification node 720, the verification node 710 will request an identity from the node 710. In turn the node 710 will provide the verification node with said identity. Based on this identity the verification node can subsequently retrieve a representative value, a challenge, and helper data from the data carrier 730.
  • the node 710 is provided with a challenge by the verification node 720.
  • the verification node provides the node 710 with a random number.
  • the processor 714 of the node 710 can use the public key for decrypting said random number.
  • the physical uncloneable function 711 is challenged and its response is measured by the sensor 713.
  • the sensor 713 passes the measured response to the processor 714.
  • the processor 714 uses the measured response and helper data received via the communication module 712 from the verification node 720 to determine a representative value.
  • the processor 714 further generates an encryption key by combining the representative value based on the measured physical identifier with the random number received from the verification node 720. Said encryption key can be subsequently communicated with the verification node 720.
  • the encryption key is used for data encryption in addition to authentication the encryption key shall be transmitted in a secure manner.
  • the encryption key is only used for authenticating the node 710 and each time a device is authenticated using a new random number no further encryption is needed for transmitting the encryption key to the verification node 720.
  • Security can be further improved selecting a new challenge (resulting in a new representative value) every time a node is authenticated.
  • the verification node 720 uses the retrieved representative value and the random number for verifying whether the node 710 indeed generated the requested encryption key.
  • the system in Figure 7 uses a physical uncloneable function a similar approach could be employed in a system based on biometrics.
  • a computer program to be linked to a measured representative value derived from the biometrics of a user, thereby allowing said user to install or use said computer program.
  • the present invention allows the distribution of a computer program on a carrier comprising a representative value for authentication of said computer program.
  • the computer program could be encrypted with a (further) key derived from said biometrics.
  • FIG. 7 depicts a data carrier 730 in the form of a disc
  • the present invention is not limited to computer programs distributed using such data carriers. Representative values could also be distributed on other media such as flash memories, or embedded in computer programs that are downloaded from e.g. the Internet or a file-server.

Abstract

L'invention concerne un procédé de dérivation d'une clé pour chiffrer ou authentifier des données envoyées entre des premier et second noeuds, qui consiste à déterminer une valeur représentative d'une mesure d'un identificateur physique d'un utilisateur ; à générer un nombre aléatoire ; et à combiner la valeur représentative et le nombre aléatoire pour produire une clé de chiffrement. L'invention porte également sur un noeud, sur un noeud de vérification ainsi que sur un système d'authentification d'un noeud par un noeud de vérification. Un système mettant en oeuvre la génération de clés de chiffrement selon l'invention est également décrit. L'invention se rapporte également à un produit-programme informatique comprenant une valeur représentative d'un noeud, à utiliser dans l'authentification dudit produit-programme informatique.
EP05850888A 2004-12-22 2005-12-20 Procede et dispositif de generation de cles et de verification d'authenticite Withdrawn EP1832036A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05850888A EP1832036A2 (fr) 2004-12-22 2005-12-20 Procede et dispositif de generation de cles et de verification d'authenticite

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP04106865 2004-12-22
EP05106189 2005-07-07
EP05850888A EP1832036A2 (fr) 2004-12-22 2005-12-20 Procede et dispositif de generation de cles et de verification d'authenticite
PCT/IB2005/054330 WO2006067739A2 (fr) 2004-12-22 2005-12-20 Procede et dispositif de generation de cles et de verification d'authenticite

Publications (1)

Publication Number Publication Date
EP1832036A2 true EP1832036A2 (fr) 2007-09-12

Family

ID=36498944

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05850888A Withdrawn EP1832036A2 (fr) 2004-12-22 2005-12-20 Procede et dispositif de generation de cles et de verification d'authenticite

Country Status (4)

Country Link
EP (1) EP1832036A2 (fr)
JP (1) JP2008526078A (fr)
KR (1) KR20070095908A (fr)
WO (1) WO2006067739A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017118520A1 (de) 2017-08-14 2019-02-14 Huf Hülsbeck & Fürst Gmbh & Co. Kg Reifenventil

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7564345B2 (en) 2004-11-12 2009-07-21 Verayo, Inc. Volatile device keys and applications thereof
DE602007013697D1 (fr) 2006-01-24 2011-05-19 Verayo Inc
JP2008085567A (ja) * 2006-09-27 2008-04-10 Ricoh Co Ltd 暗号化装置、暗号化方法、暗号化プログラム、復号装置、復号方法、復号プログラムおよび記録媒体
JP5291628B2 (ja) 2006-11-28 2013-09-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法
US8782396B2 (en) 2007-09-19 2014-07-15 Verayo, Inc. Authentication with physical unclonable functions
JP6220110B2 (ja) * 2008-09-26 2017-10-25 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. デバイス及びユーザの認証
JP5701855B2 (ja) * 2009-04-10 2015-04-15 コーニンクレッカ フィリップス エヌ ヴェ 装置とユーザ認証
US9342677B2 (en) 2010-08-04 2016-05-17 Blackberry Limited Method and apparatus to provide continuous authentication based on dynamic personal information
JP5770026B2 (ja) * 2011-06-20 2015-08-26 ルネサスエレクトロニクス株式会社 半導体装置
WO2013014778A1 (fr) 2011-07-27 2013-01-31 富士通株式会社 Appareil de traitement de chiffrement et procédé de certification
DE102011081421A1 (de) * 2011-08-23 2013-02-28 Siemens Ag System zur sicheren Übertragung von Daten und Verfahren
FR2988197B1 (fr) * 2012-03-19 2015-01-02 Morpho Procede de generation et de verification d'identite portant l'unicite d'un couple porteur-objet
GB2507988A (en) * 2012-11-15 2014-05-21 Univ Belfast Authentication method using physical unclonable functions
DE102013203436A1 (de) * 2013-02-28 2014-08-28 Siemens Aktiengesellschaft Generieren eines Schlüssels zum Bereitstellen von Berechtigungsinformationen
US9219722B2 (en) 2013-12-11 2015-12-22 Globalfoundries Inc. Unclonable ID based chip-to-chip communication
EP3207539B1 (fr) 2014-10-13 2021-03-17 Intrinsic ID B.V. Dispositif cryptographique comprenant une fonction physiquement non clonable
US10136310B2 (en) 2015-04-24 2018-11-20 Microsoft Technology Licensing, Llc Secure data transmission
JP6853934B2 (ja) * 2017-01-19 2021-04-07 ブリルニクスジャパン株式会社 固体撮像装置、固体撮像装置の駆動方法、および電子機器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU753951B2 (en) * 1999-03-11 2002-10-31 Tecsec, Incorporated Voice and data encryption method using a cryptographic key split combiner

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006067739A2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017118520A1 (de) 2017-08-14 2019-02-14 Huf Hülsbeck & Fürst Gmbh & Co. Kg Reifenventil

Also Published As

Publication number Publication date
JP2008526078A (ja) 2008-07-17
WO2006067739A3 (fr) 2007-03-15
WO2006067739A2 (fr) 2006-06-29
KR20070095908A (ko) 2007-10-01

Similar Documents

Publication Publication Date Title
WO2006067739A2 (fr) Procede et dispositif de generation de cles et de verification d'authenticite
AU2016353324B2 (en) Public/private key biometric authentication system
US10728027B2 (en) One-time passcodes with asymmetric keys
US9887989B2 (en) Protecting passwords and biometrics against back-end security breaches
US6185316B1 (en) Self-authentication apparatus and method
US8046589B2 (en) Renewable and private biometrics
Bhargav-Spantzel et al. Privacy preserving multi-factor authentication with biometrics
US8838990B2 (en) Bio-cryptography: secure cryptographic protocols with bipartite biotokens
US7623659B2 (en) Biometric non-repudiation network security systems and methods
US9384338B2 (en) Architectures for privacy protection of biometric templates
JPWO2007094165A1 (ja) 本人確認システムおよびプログラム、並びに、本人確認方法
JP2018521417A (ja) 生体特徴に基づく安全性検証方法、クライアント端末、及びサーバ
KR20080075956A (ko) 생체정보를 이용하는 사용자 인증방법
CN101124767A (zh) 密钥生成以及证明真实性的方法和设备
KR20190122655A (ko) 생체인식 데이터 템플레이트의 업데이트
US7272245B1 (en) Method of biometric authentication
CN117424709B (zh) 终端设备的登录方法、设备以及可读存储介质
Itakura et al. Proposal on a multifactor biometric authentication method based on cryptosystem keys containing biometric signatures
KR100986980B1 (ko) 생체 인증 방법, 클라이언트 및 서버
JP2006293473A (ja) 認証システム及び認証方法、端末装置及び認証装置
JP2009282945A (ja) 生体認証方法及びシステム
Ranganath Cloud Data Security through Hybrid Verification Technique Based on Cryptographic Hash Function
JP2004272551A (ja) 認証用証明書と端末装置
JP2003283492A (ja) 認証装置
KR100608579B1 (ko) 자동 소유권 인증이 가능한 홈 네트워크 장치, 홈 네트워크시스템 및 그 방법

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

17P Request for examination filed

Effective date: 20070917

RBV Designated contracting states (corrected)

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20071220