System and device binding metadata with hardware intrinsic properties

Information

  • Patent Grant
  • 10013543
  • Patent Number
    10,013,543
  • Date Filed
    Monday, June 5, 2017
    7 years ago
  • Date Issued
    Tuesday, July 3, 2018
    6 years ago
Abstract
A system, device, and method for binding metadata, such as information derived from the output of a biometric sensor, to hardware intrinsic properties by obtaining authentication-related metadata and combining it with information pertaining to a root of trust, such as a physical unclonable function. The metadata may be derived from a sensor such as a biometric sensor, the root of trust may be a physical unclonable function, the combination of the metadata and root of trust information may employ a hash function, and output from such a hash process may he used as an input to the root of trust. The combined information can he used in interactive or non-interactive authentication.
Description
BACKGROUND OF THE INVENTION

Authentication protocols generally rely on private information held by entities in order to establish identity. In traditional systems, the private data may consist of a username and password pair, personal identification numbers (PINs) or cryptographic keys. Multi-factor authentication protocols generally require two or more kinds of identifying information such as information the entity knows (e.g., a username and password), something the entity has (e.g. a smart card or token), and information representing what the entity is (e.g., a fingerprint).


Metadata comprises auxiliary information relating to the identity or state of an entity involved in authentication. Examples of metadata include biometric data, sensor output, global positioning data, passwords or PINs and similar auxiliary information that may be used to construct a characterization of an entitys identity or state. Biometric data comprises measurements of physical characteristics of a user (e.g., fingerprints, retina, iris, voice and vein patterns) that are adequately unique to be used as a proof of identity.


Systems that rely on sensor output, however, may be vulnerable to forged sensor output; and while biometric systems utilize a potent property for authentication, they can face challenges relating to the exposure and/or loss of sensitive biometric data. Since a sensor transforms a measured physical characteristic into a binary string, which is stored (enrolled) by the computer system and then compared to the binary strings subsequently generated by the sensor upon authentication requests, without further measures the system cannot distinguish between a string returned from the sensor and a string supplied by an adversary without the sensor. Thus for example an adversary may attempt to observe the output of a biometric sensor for a particular user and “clone” the user by supplying the surreptitiously-obtained biometric data to the system; An adversary may similarly attempt to clone a user by reading biometric data stored in the system. Further, since the features utilized in biometric systems tend definition to be substantially immutable, the compromise of a user's biometric data cannot be remedied in the way that a lost user password can simply be changed.


Characteristics that are unique and intrinsic to individual hardware devices (e.g., wire resistance, initial memory state, CPU instruction timing) can also be extracted and used as part of authentication protocols. A leading example of this is the physical unclonable function (PUF). A PUF function ƒ(c) maps an in out domain (or challenges) c to an output range (or response) r, where the mapping is defined based on characteristics unique to the device computing ƒ(·). A circuit or hardware description of ƒ(·) may be identical across all devices, yet the mapping from the domain to the range will be unique based on the specific hardware device executing the circuit computing ƒ(·).


U.S. Pat. No. 8,577,091 to Ivanov et al. and U.S. Pat. No. 8,566,579 to Armstrong et al, describe authentication systems wherein intrinsic hardware characteristics (e.g., PUF output) as well as human biometrics are required to successfully complete an authentication, but neither provide a method for inexorably linking the PUF with the authentication or a method for handling non-sensitive sensor output.


Frikken et al. (“Robust Authentication using Physically Unclonable Functions,” Information Security, volume 5735 of Lecture Notes in Computer Science, pages 26.2-Springer, 2009each) a method for combining metadata (e.g., PIN) into the input of a PUF, but does not provide an extension to arbitrary metadata (e.g., biometrics) or non-sensitive metadata (e.g., temperature, pressure).


Rust (editor) in “D1.1 Report on use case and architecture requirements,” Holistic Approaches for Integrity of ICT-Systems (2013) mentions the idea of merging biometric features with a cell-based PULP but does not elaborate on a means for achieving this.


U.S. Patent Application Publication No. 20110002461 to Erhart et al, describes a method for authenticating sensor output by employing a PUF, which extracts unique characteristics of the physical sensor hardware. The method does not directly link the output of the sensor to the authentication of the hardware, however, and also requires that sensitive biometric sensor output leave the device.


SUMMARY OF THE INVENTION

An intrinsic identity of a device is constructed by generating an enrollment token or public key, which is based on intrinsic characteristics unique to the device such as a physical unclonable function (PUF). An authentication system utilizes the device's enrollment token or public key to verify the device's authenticity, preferably through a zero knowledge proof. Sensitive metadata is preferably also incorporated into the enrollment token or public key, which may be accomplished through an algorithmic means such as a hash function combining the metadata with hardware-intrinsic (e.g., PUF) data. The authentication may be interactive or non-interactive.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is an illustration of the identity metadata binding operational flow; and



FIG. 2 is an illustration of the zero knowledge proof generation for arbitrary sensor output.





DETAILED DESCRIPTION OF EMBODIMENTS

Although the invention applies to the output of arbitrary sensors, an exemplary embodiment utilizing biometric sensors is described. The present invention is also described with reference to the example of an embodiment utilizing elliptic curve cryptography (including the associated terminology and conventions), but the inventive concept and teachings herein apply equally to various other cryptographic schemes such as ones employing different problems like discrete logarithm or factoring, and the invention is not limited by the various additional features described herein that may be employed with or by virtue of the invention. Before setting forth details of the invention, basic handling of PUF output, modeling assumptions, and primitives for PUF-based cryptographic schemes and threshold cryptography applicable to the example embodiment are described.


PUF output is noisy in that it varies slightly despite evaluating the same input. This is generally addressed with fuzzy extraction, a method developed to eliminate noise in biometric measurements. (See Juels et al., “A Fuzzy Commitment Scheme,” Proceedings of the 6th ACM conference on Computer and Communications Security, CCS '99, pages 28-36, ACM, 1999). Fuzzy extraction may in part be employed within a device having a PUF such as within an auxilary control unit, such that the output is constant for a fixed input. Fuzzy extraction (or reverse fuzzy extraction) may for example employ a “secure sketch,” as described by Juels et al.


A secure sketch SS for in out string O, where ECC is a binary (n, k, 2t+1) error correcting code of length n capable of correcting t errors and V→{0, 1}k is a k-bit value, may be defined as SS(O; V=O ⊕ ECC(V). This definition can be used to build a Gen algorithm, which outputs a set custom characterV, Pcustom character, where V is the value to be reconstructed and P is a helper string (which may be public) that is used to recover V.












Algorithm 1 Gen Algorithm

















Input : A finite field custom charactern of order n; A challenge c



O ← PUF(c)



V ∈ custom charactern



P ← O ⊕ ECC(V)



return  custom character  V,P custom character










Correspondingly, a Rep algorithm can be defined such that, on input O″ within a maximum Hamming distance t of O, the original value V may be recovered. Rep(O″, P), where D is the decoding scheme for the binary (n, k, 2t+1) error-correcting code ECC and O′ is an input such that dist(O, O′)≤t, can be defined as:










Rep


(


O


,
P

)


=



D


(

P


O



)








=



D


(

O


ECC


(
V
)




O



)








=


V








This definition can then be used to build a Rep algorithm that allows a PUF output O′ that differs from the original output O by at most t to reproduce output V such that Rep(O′)=V using the helper string P=O ⊕ ECC(V):












Algorithm 2 Rep Algorithm

















Input : A challenge c, Helper string P



O′ ← PUF(c)



V ← D(P ⊕ O′)



return V











Gen and Rep algorithms such as these may be used in PUF-based protocols to ensure that the same value V is recovered so long as the PUF outputs O, O′ differ by at most t bits,


It is desirable that an adversary cannot predict a device's PUF response r for a challenge c with more than negligible probability (at least without physical access to the device), and that helper data does not reveal anything to an adversary about PUF responses. In assessing these security aspects, the following entities may be considered: a set of servers custom character, where each server si custom character controls authentication of devices on its system; a set of devices di custom character, each with an embedded PUF; and an adversary custom character that wishes to masquerade as a legitimate device di custom character to obtain resources stored on some subset of the servers custom character′ ⊆ custom character. It may be assumed that all entities are bound to probabilistic polynomial-time (PPT), i.e., can only perform computation requiring polynomially many operations with respect to a global security parameter λ (which refers to the number of bits in the relevant parameter). Computation requiring exponentially many operations with respect to λ is not efficient for the agents, and will succeed with only negligible probability.


Games can be employed to assess a PPT adversary s advantage in (1) predicting a PUF's output, and (2) distinguishing helper data from a truly random string. It is sufficient to require that an adversary's advantage in a game is negligible with respect to the security parameter of the protocol, where a function ƒ(x): custom charactercustom charactercustom character is negligible if for every positive polynomial p(·) and sufficiently large x, the absolute value of ƒ(x) is less than 1/p(x). Although we describe exemplary games for capturing properties (1) and (2), they may be substituted for other game formulations designed to capture the concepts.


The unpredictability of a PUF can be assessed through the following game between an adversary custom characterand a PUF device P: {0, 1}κ1custom character{0, 1}κ2 mapping input strings from the challenge space custom characterP of length κ1 to the response space custom characterP of length κ2 where λ is the security parameter for the protocol, given in unary as λ.












Protocol 1: PUF-PRED: PUF Prediciton Game














Adversary custom character

PUF Device P








(1)
ci ∈  custom characterP ⊂ custom characterP,







0 ≤ i ≤ poly(λ)









ri = P(ci) ∈  custom characterP
(2)







custom character
P ⊂ custom characterP,








0 ≤ i ≤ poly(λ)




(3)
Challenege c ∉  custom characterP






(4)
ci′ ∈  custom characterP′,







c ∉  custom characterP′,







0 ≤ i ≤ poly(λ)









ri′ = P(ci′) ∈ custom characterP
(5)







custom character
P′ ⊂ custom characterP,








0 ≤ i ≤ poly(λ)








(6)


embedded image














The game proceeds as follows:
    • 1. The adversary custom characterissues polynomially many (w.r.t. the security parameter λ) challenges ci custom characterP to the PUF device P, where the challenge setcustom characterP is a proper subset of the entire challenge space custom characterP.
    • 2. The PUF device P returns the responses {ri|ri←P(ci)} tocustom character.
    • 3. The adversary custom charactereventually outputs a challenge c that was not in the original set of challenge queries custom characterP, The adversary is not allowed to query the PUF device P on the committed challenge c.
    • 4. The adversary A may once again issue a new set of polynomially many challenges c′i custom characterP to the PUF device P. The adversary is not allowed to query the PUF device P on the committed challenge c.
    • 5. The PUF device P returns the responses {r′i|r′i←P(c′i)} to custom character.
    • 6. The adversary A eventually outputs a guess r′ for P's response to the committed challenge c.


      The probability of the adversary A guessing the correct response of the PUF P to the challenge c is thencustom character2):=Pr[r=r′]. That is, the adversary only wins the game when A's guess r′ is equal to P's actual response r←P(c) to A's committed challenge c. (Technically, the PUF's output is noisy and will vary slightly on any fixed input. Thus, the equality is taken with respect to the output of a fuzzy extractor (e.g., Dodis et al.).).


In the PUF indistinguishability game, an adversary A is asked to differentiate between the output r of the fuzzy extractor for a PUF P and a randomly chosen string s ∈ {0, 1}l of the same length l.












Protocol 2: PUF - IND: PUF Indistinguishability Game










Adversary custom character
PUF Device P

















(1)
ci ∈ custom character  ⊂ custom characterP,

(Ri, Hi) ←





0 ≤ i ≤ poly(λ)

Gen(ri = P(c))






Hi ∈ custom characterP ⊂ custom characterP,
(2)






0 ≤ i ≤ poly(λ)



(3)
ci ∈ custom character  ⊂ custom characterP,





0 ≤ i ≤ poly(λ)






Ri ∈ custom characterP ⊂ custom characterP,
(4)






0 ≤ i ≤ poly(λ)



(5)
Challenge c ∉ custom character

b ∈ {0, 1}






b(s ∈ {0, 1}l)+
(6)






(1 − b)(Ri),






Ri = Rep(P(c), Hi)



(7)
c′i ∈ custom character  ⊂ custom characterP,





c ≠ c′i,




0 ≤ i ≤ poly(λ)






R′i ∈ custom characterP ⊂ custom characterP,
(8)






0 ≤ i ≤ poly(λ)



(9)
Guess b′ custom character  b












This game proceeds as follows:
    • 1. Adversary custom character executes the enrollment phase on any challenge ci custom characterP.
    • 2. The PUT device returns the corresponding helper string Hi from the output of Gen. Denote this set of challenge-helper pairs (ci, Hi) as custom character.
    • 3. Adversary custom character now requests the PUF response ri=P(ci) for any ci custom character. Denote the set of requested challenges in this step custom character.
    • 4. For all requests ci custom character, the PUF device returns the set {ri|ri←P(ci)}.
    • 5. Adversary A selects a challenge c ∉ custom character, such that A has Hi but not Ri for c. The PUF device chooses a bit b ∈ {0, 1} uniformly at random.
    • 6. If b=0, A is given Ri=Rep(P(c)=ri, Hi). Otherwise, if b=1 then A is given a random string s ∈ {0, 1}l.
    • 7. Adversary A is allowed to query the PUF device for c′i custom character so long as no c′i=c.
    • 8. For all requests c′i≠c, the PUF device returns the set {r′i|r′i←P(c′i)}.
    • 9. The adversary outputs a guess bit b′, and succeeds when b′=b.


      Types of PUFs


Rührmair et al. (“Modeling Attacks on Physical Unclonable Functions,” Proceedings of the 17th ACM conference on Computer and communications security, CCS '10, pages 237-249, ACM, 2010) define three distinct classes of PUF devices:

    • 1. A Weak PUF is typically used only to derive a secret key. The challenge space may be limited, and the response space is assumed to never be revealed. Typical constructions include the SRAM (Holcomb et al., “Initial SHAM State as a Fingerprint and Source of True Random Numbers for MD Tags,” In Proceedings of the Conference on RFID Security, 2007), Butterfly (Kumar et al., “Extended abstract: The Butterfly PUF Protecting IP on Every FPGA,” IEEE International Workshop on Hardware-Oriented Security and Trust, pages 67-70, 2008), Arbiter (Lee et al., “A technique to build a secret key in integrated circuits for identification and authentication applications,” IEEE Symposium on VLSI Circuits: Digest of Technical Papers, pages 176-179, 2004), Ring Oscillator (Suh et al., “Physical Unclonable Functions for Device Authentication and Secret Key Generation,” Proceedings of the 44th, annual Design Automation Conference, DAC '07, pages 9-14. ACM, 2007), and Coating (Tuyls et al., “Read-Proof Hardware from Protective Coatings,” Proceedings of the 8th international conference on Cryptographic Hardware and Embedded Systems, CHES'06, pages 369 383, Springer, 2006) PUFs.
    • 2. A Strong PUF is assumed to be (i) physically impossible to clone, (ii) impossible to collect a complete set of challenge response pairs in a reasonable time (typically taken to be on the order of weeks), and (iii) difficult to predict the response to a random challenge. For example, the super-high information content (SHIC) PUF described by Rührmair (“Applications of High-Capacity Crossbar Memories in Cryptography,” IEEE Trans. Nanotechnol., volume 10, no. 3:489-492, 2011) may be considered a Strong PUF.
    • 3. A Controlled PUF satisfies all of the criteria for strong PUFs, and additionally implements an auxiliary control unit capable of computing more advanced functionalities to cryptographically augment protocols. A controlled PUF should ideally satisfy the five conditions below.


One definition for an ideal physical unclonable function Pd:{0, 1}κ1→{0, 1}κ2 bound to a device d that the function preferably exhibits the following properties:

    • 1. Unclonable: Ideally, Pr[dist(y, x)≤t|x←Uκ1, y←P(x), z←P′]≤ϵ1, the probability of duplicating PUF P with a clone PUF P′, such that their output distributions are t-statistically close is less than some sufficiently small ϵ1.
    • 2. Unpredictable: Ideally, custom character2):=Pr[r=r′], denoting the probability of the adversary custom characterguessing the correct response r of the PUF P to the challenge c, is negligible in κ2 for all probabilistic polynomial time (PPT) adversaries custom character. This refers to the decisional variant of the PUF unpredictability game described in Protocol 1.
    • 3. Robust: Ideally, Pr[dist(y, z)>t|x←Uκ1, y←P(x), z←P(x)]≤ϵ2, i.e., the probability of a fixed PUF P yielding, responses t:-distant on the same input x is less than some sufficiently small ϵ2. This property is satisfied by binding the PUF device d with a (m, l, t, ϵ3) fuzzy extractor (Gen, Rep).
    • 4. Fuzzy Extraction: Ideally, during the enrollment phase for a noisy PUF P, given a challenge c, the PUF computes (R, H)←Gen(r), where r←Pd(c) and outputs H. The helper string H allows for R to be recovered when the challenge r′ is t-close to the original challenge r.
    • 5. Indistinguishability ideally, the output of the PUF is computationally indistinguishable from a random string of the same length, such that the advantage of a PPT adversary custom characteris custom character(l)≤½+ϵ3, where ϵ3 is negligible. This requires that the adversary distinguishes between a random string, s, and the output of the fuzzy extractor, Ri, with probability at most negligibly more than ½. Thus, custom character−½≤ϵ3, where ϵ3 is negligible.


      However, alternate definitions (e.g., Mori et al., “Quantitative and Statistical Performance Evaluation of Arbiter Physical Unclonable Functions on FPGAs,” 2010 International Conference on Reconfigurable Computing and FPGAs (ReConFig), pages 298-303, 2010; Maiti, A Systematic Approach to Design an Efficient Physical Unclonable Function, dissertation, Virginia Tech 2012) for an ideal physical unclonable function may be substituted.


In the example of an embodiment employing elliptic curve cryptography, Algorithms 3 and 4 below can be used to allow a PUF-enabled device to locally store and retrieve a sensitive value without storing any sensitive information in non-volatile memory. Algorithm 3 illustrates the storing of a sensitive value custom character using a PUF, and Algorithm 4 illustrates the dynamic regeneration of custom character. The challenge ci and helper data helperi can be public, as neither reveals anything about the sensitive value custom character. While the present example uses encryption of custom character by exclusive-or, ⊕, custom character could also be used as a key to other encryption algorithms (e.g., AES) to enable storage and retrieval of arbitrarily sized values.












Algorithm 3 PUF-Store

















Goal: Store value custom characteri



for PUF Device d do



 Select finite field custom characterp of order p



 Select E, an elliptic curve over custom characterp



 Find G ∈ E/ custom characterp, a base point of order q



 Select challenge ci ∈  custom characterp



 x = H(ci,E,G,p,q)



 O = PUF(x)



 helperi = Pi = O ⊕ ECC( custom characteri)



 Write {ci,helperi} to non-volatile memory



end for




















Algorithm 4 PUF-Retrieve

















Goal: Retrieve value custom character



for PUF Device d do



 Read {ci,helperi} from non-volatile memory



 x ← H(ci,E,G,p,q)



 O′ = PUF(x)



  custom character  ← D((ECC( custom character  ) ⊕ O) ⊕ O′)



end for











Whenever O and O′ are l-close, the error correcting code ECC can be passed to a decoding algorithm D which will recover the sensitive value custom character.


Enrollment


In order to construct an intrinsic identity of a device, a public representation of the device's identity (referred to here as an enrollment token or public key) must be generated. In this process of device enrollment, a cryptographic enrollment token is collected from the device. An elliptic curve mathematical framework for enrollment and authentication may be used, but those skilled in the art will realize that other embodiments (e.g., discrete logarithm frameworks, in which regard U.S. Pat. No. 8,918,647 is incorporated. here by reference) will provide the same functionality. Using Algorithm 5, a local device can perform an enrollment protocol using the PUF.


This allows each PUF circuit to generate a local public key pipub, which is useful for bootstrapping more complex key setup algorithms. When the key setup algorithm is performed internal to the device (rather than externally among a set of distinct devices, this bootstrap process may not be necessary.












Algorithm 5 Enrollment Algorithm

















for Device d do



 ci ∈ custom characterp, a group element



 x = H(ci,E,G,p,q)



 O = PUF(x)



 helperi = O ⊕ ECC(pipriv mod q)



 pipub = Ai = pipriv · G mod p



 Store {pipub,ci,helperi}



end for











Zero Knowledge Roofs


A zero knowledge proof (ZKP) of knowledge is a method for proving that a given statement is true, while revealing nothing beyond this fact. The Z KP is an interaction between two parties: a prover custom character wishes to establish the validity of a statement, and a verifier custom character that must be convinced the statement is true. At the conclusion of the protocol, the verifier should be convinced with overwhelming probability that a true statement is indeed true. Correspondingly, an adversary should only succeed in convincing the verifier of a false statement with negligible probability. The proof is zero knowledge in the sense that the verifier could not use the messages from a previous proof to convince a new party of the statement's validity, and the messages reveal only a single bit of information: whether or not the prover custom character possesses the secret. There are two general classes of zero knowledge proofs: interactive ZKPs, where a series of messages are exchanged between the prover custom character and verifier custom character, and non-interactive ZKPs, where the prover custom character publishes a single message custom characterwithout interaction with custom character, yet custom characteris convinced that custom character possesses the secret.


The requirement for communication from the verifying server in an interactive zero knowledge proof is to obtain a nonce value specific to the current proof. This prevents an eavesdropping adversary from using previous proofs from a valid device to successfully complete an authentication protocol and masquerade as the device. A non-interactive zero knowledge proof removes this communication requirement, and allows the proof to be completed without interacting with the verifying end point.


Achieving a non-interactive construction requires the proving device to generate the nonce on behalf of the verifier in a manner that prevents the proving end device from manipulating the proof. One method for constructing a lion interactive zero knowledge proof is for the device to construct a nonce N as N←H(A∥τ), where A is the device's public key, H(·) is a cryptographic hash function, τ is a timestamp and x∥y denotes concatenation of x and y. The timestamp ensures that previous proofs constructed by the proving device cannot be replayed by an adversary in the future, while the hash function ensures that the proving device cannot manipulate the nonce in an adversarial manner. The reliance on timestamnps is substantially less onerous than reliance on globally synchronized clocks. That is, the timestamp need not match the current timestamp on arrival at the prover exactly, which eliminates the potential of network delay to affect the proof. Rather, the verifying end point checks that the timestamp is reasonably current (e.g., second granularity) and monotonically increasing to prevent replay attacks. An exemplary non-interactive zero knowledge proof for a PUF-enabled device is described in Algorithm 6.












Algorithm 6 Non-Interactive Authentication Algorithm

















for PUF Device d do



custom character  ← PUF-Retrieve(ci, hi)



 Ai = custom character  · G mod p



 r ← random ∈  custom character  , a random group element



 B ← r · G mod p



 N ← Hash(A∥τ) where τ is the current timestamp



 c ← Hash(G, B, A, N)



 m ← r + c · custom character  mod q



 Server s ← {B, m, τ}



end for



for Server s do



 Ai =  custom character  · G mod p (public key stored from device enrollment)



 Verify τ is reasonably current (e.g., τ = current time −ϵ)



 N ← Hash(A∥τ)



 c′ ← Hash(G, B, A, N)



 P ← m · G − c′ · A mod p







Deviced{accept:P=Bdeny:PB







end for










Hash Functions


In general, a hash function is defined as H(·):{0, 1}*custom character{0, 1}λ, where λ is a fixed constant. That is, a hash function H(·) (or written explicitly as Hash(·)) takes an input of arbitrary size, and maps to a finite output domain. For cryptographic settings, hash functions must satisfy additional properties. In the context of binding metadata in authentication protocols, the following are particularly relevant:

    • 1. One-Way: computationally infeasible to determine the input x when given the output H(x).
    • 2. Collision Resistant: computationally infeasible to find a pair {(z, y)|x≠y, H(x)=H(y)}.
    • 3. Avalanche Condition: each bit of H(x) is complemented from H(x) with probability ½, where x is any hash input and x is x with a single bit complemented.


      The one-way property ensures that the output H(x) does not reveal anything about the input x. The collision resistant property ensures that it is computationally infeasible to provide a different set of metadata y such that H(x)=H(y), where x is the proper metadata for a given entity. The avalanche condition ensures that the output H(x) changes substantially in response to a minor change to the input x, which allows any change to the metadata to be detected and force a failed authentication.


      Metadata Binding


Let metadata binding refer to the process of incorporating auxiliary metadata into the authentication process. Metadata is arbitrary auxiliary information upon which the authentication protocol should depend. That is, without the correct metadata, the authentication should fail. Metadata may be characterized as either sensitive or non-sensitive, where sensitive metadata should not leave the device (e.g., password, PIN, biometric) and non-sensitive metadata may leave the device (e.g., sensor output on temperature, pressure).


Sensitive metadata is incorporated into the public identity token created during enrollment. For example, when no sensitive metadata is provided, device enrollment outputs a public identity that characterizes only the device. However, when sensitive metadata is provided during enrollment (e.g., biometrics, PIN, etc.), the public identity characterizes both the device and the sensitive metadata. One embodiment of the invention never requires the sensitive metadata to leave the device, as the zero knowledge proof protocol is completed without the verifier having access to the sensitive metadata.


Non-sensitive metadata is not incorporated into the enrollment process. Thus, the public identity output from enrollment does not depend on non-sensitive metadata (e.g., sensor output for temperature, pressure, etc.). Rather, non-sensitive metadata is incorporated into the zero knowledge proof protocol, such that the proof of device and/or user authenticity is only valid if the corresponding non-sensitive metadata is also provided to the verifier. This allows the device and/or user to have a single public identity, and yet a verifier given access to the non-sensitive metadata can verify both the authenticity of the device and/or user as well as the origin of the metadata.



FIG. 1 illustrates the process flow of metadata binding. First, Enrollment Parameters 1 are retrieved and may be combined with Identity Metadata, 2 through a Cryptographic Hash Function 3. The output of the cryptographic hash function is used as input to the Physical Unclonable Function 4, which links the enrollment parameters and optional metadata to the hardware identity. Finally, an Enrollment Token 5 is returned as a function of the PUF output.


Due to the avalanche property of hash functions (where a single bit difference in the input results in each bit of the output flipping with approximately 50% probability), the metadata must be exactly the same in order for the authentication to succeed. However, the exemplary embodiment of biometric authentication frequently results in noise, where scans differ slightly despite observing the same characteristic (e.g., fingerprint, iris, etc.). Thus, means such as a fuzzy extractor may preferably be employed to ensure that the biometric reliably returns a constant value. For example, a constant value custom characteri for the metadata may be chosen and linked to an associated public helper data valuecustom character. A noisy biometric scancustom charactercan then be used to computecustom character←ECC(custom characteri) ⊕ custom character where ECC is an error correcting code, and given access to a new biometric scan custom characterthat is t-close to custom character the constant value custom characteri can be recovered by computing custom characteri←D(custom charactercustom character, where D is the corresponding error decoding algorithm.


Incorporating metadata into the construction requires re-defining the PUF-Store functionality described in Algorithm 3. Algorithm 7 provides an example of how metadata custom characteri may be hashed into the PUF input x, which is used to protect the committed value custom character.












Algorithm 7 PUF-Store-Metadata

















Goal: Store value custom character  requiring Sensitive Metadata custom characteri



for PUF Device d do



 Select finite field custom characterp of order p



 Select E, an elliptic curve over  custom characterp



 Find G ∈ E/ custom characterp, a base point of order q



 Select challenge ci ∈  custom characterp



 x = H(ci, custom characteri,E,G,p,q)



 O = PUF(x)



 helperi = Pi = O ⊕ ECC( custom character  )



 Write {ci,helperi} to non-volatile memory



end for










While in the present example the PUF in gut consists of a hash of a challenge value, a metadata value, the elliptic curve E, base point G, and moduli p and q, various other permutation of values (pertinent to the mathematical framework used) may be hashed to produce a PUF input incorporating metadata in other embodiments. Moreover, one or more values can be iteratively hashed and/or hashed values can be nested (e.g., H(H(cicustom characteri), E, G, p, q), etc.). Further, other methods for linking and/or combining the parameters (e.g., an all-or-nothing transformation) may be employed.


Similarly, the PUF-Retrieve functionality described in Algorithm 4 must be modified to require the sensitive metadata custom character in order to recover the committed value custom character. Algorithm 8 describes how metadatacustom characteri in combination with the PUF is used to recover the committed value custom character.












Algorithm 8 PUF-Retrieve-Metadata

















Goal: Retrieve value custom character



for PUF Device d do



 Read {ci,helperi} from non-volatile memory



 x ← H(ci, custom character  ,E,G,p,q)



 O′ = PUF(x)



  custom character  ← D((ECC( custom character  ) ⊕ O) ⊕ O′)



end for











Non-Interactive Zero Knowledge Proof Binding Metadata


Returning to the exemplary embodiment of biometric authentication (e.g., fingerprint scanner), FIG. 2 illustrates the process flow of constructing a zero knowledge proof demonstrating sensor integrity, user authentication, and sensor output verification. First, Enrollment Parameters 6 are retrieved and may be combined with Identity Metadata 7 through a Cryptographic Hash Function 8. The output of the cryptographic hash function is used as input to the Physical Unclonable Function 9, which links the enrollment parameters and identity metadata to the hardware identity. Next, the Proof Parameters 10 and Sensor Output 11 are linked through a Cryptographic Hash Function 12. The output of Physical Unclonable Function 9 and Cryptographic Hash Function 12 are synthesized to generate a Zero Knowledge Proof 13, which outputs a Proof Token 14 that will convince a verifier of the integrity of the sensor, authenticate the user, and validate the sensor output.


Algorithm 9 provides an example of how a fingerprint scan may be bound to the authentication protocol such that both the device and fingerprint must match those originally enrolled. Non-sensitive metadata (e.g., sensor output for temperature, pressure, etc.) custom characteripub may be incorporated into the non-interactive authentication algorithm by incorporating it into the construction of the nonce N, and providing custom characteripub to the verifier. Thus, the verifier is only able to construct the nonce N (and, consequently, the variable c′) if custom characteripub matches the output from the sensor.












Algorithm 9 Device & Fingerprint Authentication Algorithm

















for User do



 Scan Fingerprint



FP ← Scan



 Read Fingerprint Helper Data  custom character



custom character  ← ECC( custom character  ⊕ FP)



end for



for PUF Device d do



custom character  ← PUF-Retrieve(ci,  custom character  , hi)



 Ai = custom character  · G mod p



 r ← random ∈ custom character  , a random group element



 B ← r · G mod p



 N ← Hash(A∥ custom character  ∥τ) where τ is the current timestamp



 c ← Hash(G, B, A, N)



 m ← r + c · custom character  mod q



 Server s ← {B, m,  custom character  , τ}



end for



for Server s do



 Ai = custom character  · G mod p (public key stored from device enrollment)



 N ← Hash(A∥ custom character  ∥τ)



 c′ ← Hash(G, B, A, N)



 P ← m · G − c′ · A mod p







Deviced{accept:P=Bdeny:PB







end for










First, a user's fingerprint scan FP is used in combination with the helper data, hiM for the original fingerprint scan FP to recover the metadata value custom character. Next, the metadata value custom characteri is used as input to the PUF, such that the PUF output depends on the metadata. In order to bind non sensitive metadata custom characteripub to the proof, it is used to construct the nonce N, which depends on the public identity A as well as the current timestamp τ (which prevents replay attacks). The non-sensitive metadata custom characteripub is then provided to the verifier, as it is now necessary to verify the proof. (If the non-sensitive metadata should only be revealed to the verifier, it may be sent encrypted). Finally, the device constructs the non-interactive zero knowledge proof, which enables the server to verify if both the device and (sensitive and non-sensitive) metadata are correct.


A non-interactive zero knowledge proof may also be constructed by requiring the server to issue a nonce N to the device. This exemplary construction is illustrated in Algorithm 10.












Algorithm 10 Interactive Device & Fingerprint Authentication Algorithm















for Server s do


 Send nonce N ∈ {0, 1}λ to Device, where λ is the number of bits in


 the modulus p


 end for


for User do


 Scan Fingerprint


FP ← Scan


 Read Fingerprint Helper Data  custom character


custom character  ← ECC( custom character  ⊕ FP)


end for


for PUF Device d do


custom character  ← PUF-Retrieve(ci,  custom character  , hi)


 Ai = custom character  · G mod p


 r ← random ∈ custom character  , a random group element


 B ← r · G mod p


 c ← Hash(G, B, A, N)


 m ← r + c · custom character   mod q


 Server s ← {B, m,  custom character  }


end for


for Server s do


 Ai = custom character  · G mod p (public key stored from device enrollment)


 c′ ← Hash(G, B, A, N)


 P ← m · G − c′ · A mod p






Deviced{accept:P=Bdeny:PB






ends for









The addition of (sensitive and/or non-sensitive) metadata is optional in embodiments of the invention. That is, non-sensitive metadata may be included while sensitive metadata is excluded. This requires only that the public identity token did not incorporate the sensitive metadata. Similarly, sensitive metadata may be included while non-sensitive metadata is excluded. This requires only that the nonce is not constructed using non-sensitive metadata.


Extension to Role Based Access Control


As one embodiment of our invention relies on an elliptic curve mathematical framework, one skilled in the art will realize that it may be extended to support cryptographically-enforced role based access control (RBAC). That is, data access policies and device credentials may be specified mathematically, and the RBAC algorithm computes a function ƒ(custom character,custom character) custom character {0, 1} mapping policies custom characterand credentials custom character to an access decision in {0, 1}. This is typically accomplished by constructing a bilinear pairing (e.g., Weil or Tate pairing), and is a natural extension of our invention.


While the foregoing embodiments have been described with various features, one of ordinary skill in the art will recognize that, the authentication protocol need not be limited to zero knowledge, and could be based on other cryptographic constructions for establishing identity. For example, the device could use its hardware identity to digitally sign the contents of a packet, and include this signature in the packet header (e.g., TCP Options Header, where an example header would include {B=r·G mod p, m=r+Hash(G, B, A, N)·rand mod q, τ}) and the hardware identity may be applied to a variety of other cryptographic authentication techniques, and need not be limited by the zero knowledge aspect of the example provided.

Claims
  • 1. A multi-factor authentication device for binding metadata with hardware-intrinsic properties, the device comprising: a hardware root of trust constructed to generate a value characteristic to hardware-intrinsic properties of the hardware root of trust; andat least one processor connected to the hardware root of trust configured to: generate a binding value by combining device enrollment parameters associated with the device and first metadata associated with the device;communicate the binding value for input to the hardware root of trust and receive an output value from the hardware root of trust; andcommunicate, an authentication token for authentication, wherein the authentication token is generated as a function of the output value and incorporating second metadata.
  • 2. The device of claim 1, wherein the at least one processor is configured to create the authentication token and incorporate second metadata having at least some different metadata than the first metadata.
  • 3. The device of claim 1, wherein the at least one processor is further configured to perform a zero knowledge proof based on verifying a sensor or sensor output, in response to an authentication request from an external verifying entity.
  • 4. The device of claim 1, wherein the at least one processor is further configured to perform a zero knowledge proof based on the authentication token incorporating the second metadata.
  • 5. The device of claim 1, wherein the at least one processor is further configured to communicate the second metadata to a verifier configured to verify of an origin of the second metadata through the zero knowledge proof.
  • 6. The device of claim 1, wherein the hardware root of trust includes an SRAM physical unclonable function (PUF).
  • 7. The device of claim 1, wherein the at least one processor is further configured to access at least a portion of the first metadata or derive the at least a portion of the first metadata from a biometric sensor.
  • 8. The device of claim 1, wherein the at least one processor is further configured to access at least a portion of the second metadata or derive the at least a portion of the second metadata from one or more environmental sensors.
  • 9. A computer implemented method for binding metadata with hardware-intrinsic properties, the method comprising: generating, by a hardware root of trust, a value characteristic to hardware-intrinsic properties of the hardware root of trust;generating, by at least one processor, a binding value from device enrollment parameters associated with an authentication device and first metadata associated with the authentication device;communicating, by the at least one processor, the binding value for input to the hardware root of trust;receiving, by the at least one processor, an output value from the hardware root of trust; andcommunicating , by the at least one processor, an authentication token for authentication, generated as a function of the output value and incorporating second metadata.
  • 10. The method of claim 9, further comprising an act of creating the authentication token as a function of the output value and incorporating second metadata having at least some different metadata than the first metadata.
  • 11. The method of claim 9, wherein the method further comprises performing a zero knowledge proof based on verifying a sensor or sensor output, in response to an authentication request from an external verifying entity.
  • 12. The method of claim 9, wherein the method further comprises performing a zero knowledge proof based on the authentication token incorporating the second metadata.
  • 13. The method of claim 9, wherein the method further comprises communicating the second metadata to a verifier, and proving an origin of the second metadata through the zero knowledge proof.
  • 14. The method of claim 9, wherein the method further comprises accessing the second metadata from one or more sensors connected to the multi-factor authentication device.
  • 15. The method of claim 9, wherein the method further comprises accessing at least a portion of the first metadata or derive the at least a portion of the first metadata from a biometric sensor.
  • 16. The method of claim 9, wherein the method further comprises accessing or deriving at least a portion of the second metadata from one or more environment sensors.
  • 17. The method of claim 9, wherein the hardware root of trust includes a physical unclonable function (‘PUF’) circuit, and the method further comprising generating, by the PUF, an output value that is characteristic to the PUF.
  • 18. At least one non-transitory computer-readable storage medium containing processor-executable instructions that, when executed, perform a method for binding metadata with hardware-intrinsic properties, the method comprising: generating a value characteristic to hardware-intrinsic properties of a hardware root of trust;generating a binding value from device enrollment parameters associated with an authentication device and first metadata associated with the authentication device;communicating the binding value for input to the hardware root of trust;receiving an output value from the hardware root of trust; andcommunicate an authentication token for authentication, generated as a function of the output value and incorporating second metadata.
  • 19. The computer-readable storage medium of claim 18, wherein creating the authentication token as a function of the output value and incorporating second metadata includes incorporating second metadata having at least some different metadata than the first metadata.
  • 20. The computer-readable storage medium of claim 18, wherein the method further comprises performing a zero knowledge proof including the second metadata in response to an authentication request from an external verifying entity.
RELATED APPLICATIONS

This Application claims the benefit under 35 U.S.C. § 120 of U.S. application Serial No. 14/704,963, entitled “SYSTEM AND DEVICE BINDING METADATA WITH HARDWARE INTRINSIC PROPERTIES” filed on May 5, 2015. Application Ser. No. 14/704,963 claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Application Ser. No. 62/017,045, entitled “METADATA BINDING TO PHYSICALLY UNCLONABLE FUNCTIONS” filed on Jun. 25, 2014, which application is herein incorporated by reference in its entirety. Application Ser. No. 14/704,963 claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Application Ser. No. 61/988,848, entitled “AUTHENTICATION USING ELLIPTIC CURVES AND PHYSICALLY UNCLONABLE FUNCTIONS” filed on May 5, 2014, which application is herein incorporated by reference in its entirety.

US Referenced Citations (121)
Number Name Date Kind
6501390 Chainer et al. Dec 2002 B1
7564345 Devedas et al. Jul 2009 B2
7581248 Atkins et al. Aug 2009 B2
7653197 Van Dijk Jan 2010 B2
7702927 Devedas et al. Apr 2010 B2
7839278 Devedas et al. Nov 2010 B2
7926089 Tulshibagwale et al. Apr 2011 B2
7962516 Bahrs et al. Jun 2011 B2
8032760 Tuyls et al. Oct 2011 B2
8281127 Hayes Oct 2012 B2
8290150 Erhart et al. Oct 2012 B2
8346951 Hayes Jan 2013 B2
8379856 Potkonjak Feb 2013 B2
8386990 Trimberger et al. Feb 2013 B1
8418006 Trimberger et al. Apr 2013 B1
8446250 Kursawe et al. May 2013 B2
8458489 Beckmann et al. Jun 2013 B2
8463813 Siress et al. Jun 2013 B2
8468186 Yu Jun 2013 B2
8510608 Futa et al. Aug 2013 B2
8516269 Hamlet et al. Aug 2013 B1
8525169 Edelstein et al. Sep 2013 B1
8566579 Armstrong et al. Oct 2013 B2
8577091 Ivanov et al. Nov 2013 B2
8625788 Pendakur et al. Jan 2014 B2
8667265 Hamlet et al. Mar 2014 B1
8752155 Lauper Jun 2014 B2
8782396 Ziola et al. Jul 2014 B2
8844009 Walsh et al. Sep 2014 B2
8848905 Hamlet et al. Sep 2014 B1
8868923 Hamlet et al. Oct 2014 B1
8912817 Wang et al. Dec 2014 B2
8918647 Wallrabenstein Dec 2014 B1
8995660 Kobayashi et al. Mar 2015 B2
9018972 Gurrieri et al. Apr 2015 B1
9032476 Potkonjak May 2015 B2
9038133 Chellappa May 2015 B2
9158906 Guajardo Merchan et al. Oct 2015 B2
9225512 Trimberger Dec 2015 B1
9292692 Wallrabenstein Mar 2016 B2
9672342 Walsh Jun 2017 B2
9681302 Robinton Jun 2017 B2
9690927 Chellappa Jun 2017 B2
9705854 Khazan et al. Jul 2017 B2
9715590 Gardner et al. Jul 2017 B2
9806718 Wallrabenstein Oct 2017 B2
20030081785 Boneh May 2003 A1
20030204743 Devadas et al. Oct 2003 A1
20050149496 Mukherjee et al. Jul 2005 A1
20050222896 Rhyne et al. Oct 2005 A1
20060023887 Agrawal et al. Feb 2006 A1
20060045262 Orlando Mar 2006 A1
20060210082 Devedas et al. Sep 2006 A1
20070036353 Reznik et al. Feb 2007 A1
20070044139 Tuyls et al. Feb 2007 A1
20070206786 Chakraborty Sep 2007 A1
20080069341 Relyea Mar 2008 A1
20080133912 Yamamoto et al. Jun 2008 A1
20080181398 Pappu Jul 2008 A1
20080256549 Liu et al. Oct 2008 A1
20080256600 Schrijen et al. Oct 2008 A1
20090063860 Barnett et al. Mar 2009 A1
20090083833 Ziola et al. Mar 2009 A1
20100037056 Follis et al. Feb 2010 A1
20100122093 Tuyls May 2010 A1
20100127822 Devedas May 2010 A1
20100176920 Kursawe et al. Jul 2010 A1
20100272255 Devedas et al. Oct 2010 A1
20100293384 Potkonjak Nov 2010 A1
20100293612 Potkonjak Nov 2010 A1
20110002461 Erhart et al. Jan 2011 A1
20110033041 Yu et al. Feb 2011 A1
20110099117 Schepers et al. Apr 2011 A1
20110113392 Chakraborty et al. May 2011 A1
20110138475 Gordon et al. Jun 2011 A1
20110191837 Guajardo Merchan et al. Aug 2011 A1
20110215829 Guajardo Merchan et al. Sep 2011 A1
20110299678 Deas et al. Dec 2011 A1
20120072717 Hayes Mar 2012 A1
20120072737 Schrijen et al. Mar 2012 A1
20120124385 Klasen et al. May 2012 A1
20120131340 Teuwen et al. May 2012 A1
20120137137 Brickell et al. May 2012 A1
20120183135 Paral et al. Jul 2012 A1
20120233674 Gladstone et al. Sep 2012 A1
20120321077 Shiota et al. Dec 2012 A1
20130046990 Fahrny et al. Feb 2013 A1
20130051552 Handschuh et al. Feb 2013 A1
20130094649 Tomlinson et al. Apr 2013 A1
20130114810 Kobayashi et al. May 2013 A1
20130138710 Yamamoto et al. May 2013 A1
20130142329 Bell et al. Jun 2013 A1
20130198838 Schmidt et al. Aug 2013 A1
20130246809 Beckmann et al. Sep 2013 A1
20140047565 Baek Feb 2014 A1
20140093074 Gotze et al. Apr 2014 A1
20140108786 Kreft Apr 2014 A1
20140140513 Brightley et al. May 2014 A1
20140189890 Koeberl et al. Jul 2014 A1
20140205089 Irwin Jul 2014 A1
20140279532 Tremlet Sep 2014 A1
20150058928 Guo et al. Feb 2015 A1
20150071432 Zhu et al. Mar 2015 A1
20150095655 Sherman Apr 2015 A1
20150134966 Wallrabenstein May 2015 A1
20150143130 Ducharme et al. May 2015 A1
20150195088 Rostami et al. Jul 2015 A1
20150234751 Van der Sluis et al. Aug 2015 A1
20150242620 Newell Aug 2015 A1
20150278505 Lu et al. Oct 2015 A1
20150317480 Gardner et al. Nov 2015 A1
20150317481 Wallrabenstein Nov 2015 A1
20150318994 Walsh et al. Nov 2015 A1
20150341792 Wallrabenstein et al. Nov 2015 A1
20160021096 Wallrabenstein Jan 2016 A1
20160170907 Walsh et al. Jun 2016 A1
20160261409 French et al. Sep 2016 A1
20160269186 Wallrabenstein Sep 2016 A1
20160378983 Spurlock Dec 2016 A1
20170063559 Wallrabenstein et al. Mar 2017 A1
20170149572 Wallrabenstein May 2017 A1
Foreign Referenced Citations (6)
Number Date Country
2 320 344 Jul 2011 EP
20090104421 Oct 2009 KR
WO 2010105993 Sep 2010 WO
WO 2014037812 Mar 2014 WO
WO 2015200196 Dec 2015 WO
WO 2016141386 Sep 2016 WO
Non-Patent Literature Citations (123)
Entry
Duren et al, “Resilient Device Authentication System (RDAS) through SIOMETRICS”, Oct. 30-Nov. 1, 2012, Eighth Annual Cyber Security and Information Intelligence Workshop, ACM, p. 1-4.
Zhao et al, Providing Root of Trust for ARM TrustZone using On-Chip SRAM, Nov. 3, 2014, TrustED '14, ACM, p. 25-36.
Sadeghi et al, “Short Paper: Lightweight Remote Attestation using Physical Functions”, Jun. 14-17, 2011, WiSec '11, ACM, p. 109-114.
Eiroa, “Hardware authentication based on PUFs and SHA-3 2nd round candidates”, 2009 IEEE, p. 1-4.
Shpantzer, “Implementing Hardware Roots of Trust: The Trusted Platform Module Comes of Age”, Jun. 2013, A SANS Whitepaper, p. 1-17.
Frikken et al, “Robust Authentication Using Physically Unclonable Functions”, 2009, p. 1-16.
International Search Report and Written Opinion dated Sep. 16, 2015 for Application No. PCT/US2015/036937.
International Preliminary Report on Patentability dated Jun. 16, 2016 for Application No. PCT/US2015/036937.
International Search Report and Written Opinion dated Jun. 3, 2016 for Application No. PCT/US2016/021264.
International Search Report and Written Opinion dated Jun. 3, 2016 for Application No. PCT/US2016/021275.
[No Author Listed], D6.5: Publishable Summary. HINT. Seventh Framework Programme. Project 317930. Dec. 11, 2013. 5 pages.
Abe et al., Adaptively Secure Feldman VSS and Applications to Universally-Composable Threshold Cryptography. Advances in Cryptology. CRYPTO 2004. 2004;3152:317-34.
Abercrombie et al., Secure Cryptographic Key Management System (CKMS) Considerations for Smart Grid Devices. CSIIRW '11 Proceedings of the Seventh Annual Workshop on Cyber Security and Information Intelligence Research, Oak Ridge, TN. Article No. 59. Oct. 12-14, 2011. 4 pages.
Al Ibrahim et al., Cyber-Physical Security Using System-Level PUFs. 7th International IEEE Wireless Communications and Mobile Computing Conference (IWCMC). 2011. 5 pages.
Armknecht et al., A Formal Foundation for the Security Features of Physical Functions. Proceedings of the 2011 IEEE Symposium on Security and Privacy, SP '11. 2011;397-412.
Asaeda et al., Structuring Proactive Secret Sharing in Mobile Ad-hoc Networks. 2006 1st International Symposium on Wireless Pervasive Computing. Jan. 18, 2006. 6 pages.
Asim et al., Physical Unclonable Functions and Their Applications to Vehicle System Security. Vehicular Technology Conference, VTC Spring 2009. 10 pages.
Becker et al., Stealthy Dopant-Level Hardware Trojans. Crytographic Hardware and Embedded Systems, CHES 2013. 2013;8086:197-214. 18 pages.
Bilgin et al., A More Efficient AES Threshold Implementation. Cryptology ePrint Archive. Report 2013/967. 2013. 17 pages.
Blakley, Safeguarding cryptographic keys. Proceedingsof the 1979 AFIPS National Computer Conference. 1979;313-7.
Brzuska et al., Physically Uncloneable Functions in the Universal Composition Framework. Advances in Cryptology—CRYPTO 2011—31st Annual Cryptology Conference. 2011;6841:51-70.
Changgen et al., Threshold Signcryption Scheme Based on Elliptic Curve Cryptosystem and Verifiable Secret Sharing. International Conference on Wireless Communications, Networking and Mobile Computing. 2005;2:1136-9.
Chen et al., An efficient threshold group signature scheme. IEEE Region 10 Conference TENCON. 2004;2(B):13-6.
Coron, Resistance Against Differential Power Analysis for Elliptic Curve Cryptosystems. Crytpographic Hardware and Embedded Systems. 1999;1717:292-302.
Dodis et al., Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data. EUROCRYPT 2004. 2004;3027:523-40.
Duc et al., A survey on RFID security and provably secure grouping-proof protocols. Int J Internet Tech Secured Trans. 2010;2(3/4):222-249.
Dwoskin et al., Hardware-rooted Trust for Secure Key Management and Transient Trust. Proceedings of the 14th ACM Conference: Computer & Communications Security. Nov. 2, 2007;389-400.
Eichhorn et al., Logically Reconfigurable PUFs: Memory-based Secure Key Storage. Proceedings of the Sixth ACM Workshop on Scalable Trusted Computing, STC '11. Oct. 17, 2011;59-64. 6 pages.
Ertaul et al., ECC Based Threshold Cryptography for Secure Data Forwarding and Secure Key Exchange in MANET (I). Networking 2005, Networking Technologies, Services, and Protocols; Performance of Computer and Communication Networks; Mobile and Wireless Communications Systems. 2005;3462:102-13.
Feiri et al., Efficient and Secure Storage of Private Keys for Pseudonymous Vehicular Communication. ACM CyCAR '13. Nov. 4, 2013;9-18.
Feldman, A Practical Scheme for Non-interactive Verifiable Secret Sharing. Proceedings of the 28th Annual Symposium on Foundations of Computer Science, SFCS '87. 1987;427-37.
Frankel et al., Optimal-Resilience Proactive Public-Key Cryptosystems. 38th Annual Symposium on Foundations of Computer Science. 1997;384-93. 12 pages.
Frikken et al., Robust Authentication using Physically Unclonable Functions. Information Security, ISC. 2009;5735:262-77.
Garcia-Alfaro et al., Security Threat Mitigation Trends in Low-cost RFID Systems. Data Privacy Management and Autonomous Spontaneous Security. 2010. 15 pages.
Gardner et al., Toward Trusted Embedded Systems. 2nd Annual NSA Trusted Computing Conference and Exposition. Orlando, FL. Sep. 20, 2011. 25 pages.
Gassend et al., Silicon Physical Random Functions. Proceedings of the 9th ACM Conference on Computer and Communications Security, CCS '02. 2002;148-60.
Gennaro et al., Secure Applications of Pedersen's Distributed Key Generation Protocol. Topics in Cryptology. CT-RSA 2003. 2003;2612:373-90.
Gennaro et al., Secure Distributed Key Generation for Discrete-Log Based Cryptosystems. Advances in Cryptology. EUROCRYPT 99. 1999;1592:295-310. 15 pages.
Goldwasser et al., One-time programs, Proceedings of the 28th Annual conference on Cryptology: Advances in Cryptology. CRYPTO 2008. 2008;39-56.
Guajardo et al., FPGA intrinsic PUFs and Their Use for IP Protection. Proceedings of the 9th Cryptographic Hardware and Embedded Systems Workshop (CHES). 2007;4727. 22 pages.
Guajardo et al., Physical Unclonable Functions and Public-Key Crypto for FPGA IP Protection. International Conference on Field Programmable Logic and Applications. 2007. 8 pages.
Handschuh et al., Hardware Intrinsic Security from Physically Unclonable Functions. Towards Hardware-Intrinsic Security, Information Security and Cryptography. 2010;39-53.
Herzberg et al., Proactive Public Key and Signature Systems. Proceedings of the 4th ACM Conference on Computer and Communications Security. CCS '97. 1997;100-10. 11 pages.
Herzberg et al., Proactive Secret Sharing or: How to Cope With Perpetual Leakage. Advances in Cryptology. CRYPTO 95. 1995;963:339-52.
Holcomb et al., Initial SRAM State as a Fingerprint and Source of True Random Numbers for RFID Tags. Proceedings of the Conference on RFID Security. 2007. 12 pages.
Hori et al., Quantitative and Statistical Performance Evaluation of Arbiter Physical Unclonable Functions on FPGAs. 2010 International Conference on Reconfigurable Computing and FPGAs (ReCon-Fiq). 2010;298-303. 6 pages.
Horstmeyer et al., Physically secure and fully reconfigurable data storage using optical scattering. IEEE International Symposium on Hardware Oriented Security and Trust (HOST). 2015;157-62. 6 pages.
Huang et al., To verify embedded system software integrity with TCM and FPGA. IEEE. Aug. 2010;65-70.
Hua-Qun et al., Verifiable (t, n) Threshold Signature Scheme based on Elliptic Curve. Wuhan Univ J Nat Sci. 2005;10(1):165-8.
Ibrahim et al., A Robust Threshold Elliptic Curve Digital Signature Providing a New Verifiable Secret Sharing Scheme. IEEE 46th Midwest Symposium on Circuits and Systems. 2003;1:276-80. 5 pages.
Jarecki et al., Adaptively Secure Threshold Cryptography: Introducing Concurrency, Removing Erasures (Extended Abstract). Advances in Cryptology. EUROCRYPT 2000. 2000;1807:223-45.
Juels et al., A Fuzzy Commitment Scheme. Proceedings of the 6th ACM Conference on Computer and Communications Security, CCS '99. 1999;28-36. 9 pages.
Karakoyunlu et al., Differential template attacks on PUF enable cryptographic devices. IEEE International Workshop on Information Forensics and Security (WIFS). Dec. 12-15, 2010;1-6.
Katzenbeisser et al., PUFs: Myth, Fact or Busted? A Security Evaluation of Physically Unclonable Functions (PUFs) Cast in Silicon (Extended Version). Cryptographic Hardware and Embedded Systems—CHES '12. 2012;283-301. 18 pages.
Katzenbeisser et al., Recyclable PUFs: logically reconfigurable PUFs. J Cryto Eng. 2011;1(3):177-86. 15 pages.
Kerr et al., PEAR: A Hardware Based Protocol Authentication System. SPRINGL '10 Proceedings of the 3rd ACM 3IGSPATIAL International Workshop on Security and Privacy in GIS and LBS. 2010. 8 pages.
Kerr, Secure Physical System Design Leveraging PUF Technology. Purdue University. Thesis. May 2012. 87 pages.
Khandavilli, A Mobile Role Based Access Control System Using Identity Based Encryption With Non-Interactive zero Knowledge Proof of Authentication. Dalhousie University Repository, Faculty of Graduate Studies. Thesis. Apr. 5, 2012. 65 pages.
Khoshroo, Design and Evaluation of FPGA-Based Hybrid Physically Unclonable Functions. Thesis. Graduate Program in Electrical and Computer Engineering. Western University. London, Ontario, Canada. May 2013. 107 pages.
Kim et al., Threshold Signature Schemes for EIGamal Variants. Comp Stan Interf. 2011;33(4):432-7.
Kirkpatrick et al., Enforcing Physically Restricted Access Control for Remote Data. Proceedings of CODASPY. 2011. 10 pages.
Kirkpatrick et al., PUF ROKs: A Hardware Approach to Read-Once Keys. Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, ASIACCS '11. 2011;155-64.
Kirkpatrick et al., Software Techniques to Combat Drift in PUF-based Authentication Systems. Workshop on Secure Component and System Identification. 2010. 9 pages.
Kirkpatrick et at, Physically Restricted Authentication and Encryption for Cyber-physical Systems. DHS Workshop on Future Directions in Cyber-physical Systems Security. 2009. 5 pages.
Kish et al., Physical Uncloneable Function Hardware Keys Utilizing Kirchhoff-Law Johnson-Noise Secure Key Exchange and Noise-Based Logic. Fluctuation Noise Lett. 2013;12. 9 pages.
Kocher et al., Differential Power Analysis. Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology, CRYPTO '99. 1999;388:97. 10 pages.
Kocher et al., Introduction to Differential Power Analysis. J Cryptogr Eng. Mar. 3, 2011;1:5-27.
Krzywiecki et al., Coalition Resistant Anonymous Broadcast Encryption Scheme Based on PUF. TRUST 2011. 2011;6740:48-62.
Krzywiecki et al., Collusion Resistant Anonymous Broadcast Encryption Scheme Based on PUF. TRUST 2011. Jun. 22-24, 2011. 93 pages.
Kumar et al., Extended abstract: The Butterfly PUF Protecting IP on Every FPGA. IEEE International Workshop on Hardware-Oriented Security and Trust. 2008;67-70. 4 pages.
Kursawe et al., Reconfigurable Physical Unclonable Functions—Enabling Technology for Tamper-Resistant Storage. 2009 IEEE International Hardware-Oriented Security and Trust, HOST '09. 2009;22-9.
Langheinrich et al., Practical Minimalist Cryptography for RFID Privacy. IEEE Sys J. Dec. 2007;1(2). 19 pages.
Langheinrich et al., RFID Privacy Using Spatially Distributed Shared Secrets. International Symposium on Ubiquitous Computing Systems (UCS). 2007;1-16.
Lao et al., Reconfigurable architectures for silicon physical unclonable functions. IEEE International Conference on Electro/Information Technology (EIT). 2011;1-7.
Lee et al., A technique to build a secret key in integrated circuits for identification and authentication applications. IEEE Symposium on VLSI Circuits: Digest of Technical Papers. 2004;176-9. 4 pages.
Libert et al., Adaptively Secure Non-interactive Threshold Cryptosystems. Automata, Languages and Programming. 2011;588-600. 23 pages.
Maes et al., Intrinsic PUFs from flip-flops on reconfigurable devices. 3rd Benelux Workshop on Information and System Security (WISSec 2008). 2008. 17 pages.
Maiti et al., Physical Unclonable Function and True Random No. Generator: a Compact and Scalable implementation. GLSVLSI '09 Proceedings of the 19th ACM Great Lakes Symposium on VLSI. 2009. 4 pages.
Maiti et al., The Impact of Aging on an FPGA-Based Physical Unclonable Function. International Conference on Field Programmable Logic and Applications (FPL). 2011;151-6.
Maiti, A Systematic Approach to Design an Efficient Physical Unclonable Function. Virginia Polytechnic Institute and State University. Dissertation. Apr. 30, 2012. 166 pages.
Majzoobi et al., Techniques for Design and Implementation of Secure Reconfigurable PUFs. ACM Trans Reconfig Tech Sys. Mar. 2009;2(1):5.1-33.
Merli et al., Semi-invasive EM Attack on FPGA RO PUFs and Countermeasures. Proceedings of the Workshop on Embedded Systems Security, WESS '11. 2011;2.1-9.
Merli et al., Side-Channel Analysis of PUFs and Fuzzy Extractors. Trust and Trustworthy Computing. 2011;6740:33-47.
Moradi et al., Pushing the Limits: A Very Compact and a Threshold Implementation of AES. Advances in Cryptology. EUROCRYPT 2011. 2011;6632:69-88.
Nabeel et al., Authentication and key management for advanced metering infrastructures utilizing physically unclonable function. IEEE Third International Conference on Smart Grid Communications (SmartGridComm). 2012;324-9. 6 pages.
Nikova et al., Threshold Implementations Against Side-Channel Attacks and Glitches. Information and Communications Security. 2006;4307:529-45. 17 pages.
Owusu et al., OASIS: On Achieving a Sanctuary for Integrity and Secrecy on Untrusted Platforms. Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security. ACM. 2013;13-24. 12 pages.
Paral et al., Reliable and Efficient PUF-based Key Generation using Pattern Matching. IEEE International Symposium on Hardware-Oriented Security and Trust (HOST). 2011;128-33.
Pedersen, A Threshold Cryptosystem without a Trusted Party. Advances in Cryptology. EUROCRYPT 91. 1991;547:522-6.
Pedersen, Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing. Advances in Cryptology, CRYPTO 91. 1992;576:129-40.
Peeters et al., Towards More Secure and Reliable Access Control. Perv Comp. 2011;11(3). 8 pages.
Peeters, Security Architecture for Things That Think. Department of Electrical Engineering. Arenberg Doctoral School of Science, Engineering and Technology. Dissertation. Jun. 2012 150 pages.
Pfaffhauser, Protocols for MPC based on Unclonability. Department of Computer Science, ETH Zurich. Master Thesis. Apr. 12, 2011. 53 pages.
Potkonjak et al., Differential Public Physically Unclonable Functions: Architecture and Applications. DAC '11 Proceedings of the 48th Design Automation Conference. 2011. 7 pages.
Ravikanth, Physical one-way functions. Massachusetts Institute of Technology. Dissertation. 2001. 154 pages.
Rigaud, ed., D3.1: Report on Protocol choice and implementation. HINT. Project 317930. Aug. 4, 2014. 35 pages.
Ruan et al., Elliptic curve ElGamal Threshold-based Key Management Scheme against Compromise of Distributed RSUs for VANETs. J Info Proc. 2012;20(4). 8 pages.
Rührmair et al., Applications of High-Capacity Crossbar Memories in Cryptography. IEEE Trans Nanotechnol. May 2011;10(3):489-98.
Rührmair et al., Modeling Attacks on Physical Unclonable Functions. Proceedings of the 17th ACM Conference on Computer and Communications Security, CCS '10. 2010;237-49.
Rührmair et al., Power and Timing Side Channels for PUFs and their Efficient Exploitation. IACR Cryptology ePrint Archive 2013;851. 14 pages.
Rührmair et al., PUFs in Security Protocols: Attack Models and Security Evaluations. 2013 IEEE Symposium on Security and Privacy. 2013;286-300.
Rust, ed., D1.1: Report on use case and architecture requirements. Seventh Framework Programme. Holistic Approaches for Integrity of ICT-Systems. ICT-317930. Feb. 28, 2013. 50 pages.
Sadeghi et al., Short Paper: Lightweight Remote Attestation Using Physical Functions. ACM. Jun. 2011;109-14.
Sardar et al., Zero Knowledge Proof in Secret Sharing Scheme Using Elliptic Curve Cryptography. Global Trends in Computing and Communication Systems. 2012;269:220-6.
Schuster, Side-Channel Analysis of Physical Unclonable Functions (PUFs). Technische Universitat Munchen. Thesis. 2010. 57 pages.
Shamir, How to Share a Secret. Comm ACM. 1979;22(11):612-3.
Shao, Repairing Efficient Threshold Group Signature Scheme. Int J Netw Sec. Sep. 2008;7(2):218-22.
Suh et al., Aegis: A Single-Chip Secure Processor. IEEE Des Test Comp. 2007;570-80.
Suh et al., Physical Unclonable Functions for Device Authentication and Secret key Generation. Proceedings of the 44th annual Design Automation Conference, DAC '07. 2007;9-14.
Tang, ECDKG: A Distributed Key Generation Protocol Based on Elliptic Curve Discrete Logarithm. University of Southern California, Department of Computer Science. Technical Report 04-838. 2004. 20 pages.
Tuyls et al., Capacity and Examples of Template Protecting Biometric Authentication Systems. Biometric Authentication. 2004;3087:158-70. 13 pages.
Tuyls et al., Read-Proof Hardware from Protective Coatings. Proceedings of the 8th International Conference on Cryptographic Hardware and Embedded Systems. CHES '06. 2006;4249:369-83. 15 pages.
Van Dijk et al., Physical Unclonable Functions in Cryptographic Protocols: Security Proofs and Impossibility Results. Cryptolgoy ePrint Archive. Report 2012/228. Apr. 25, 2012. 36 pages.
Wu et al., On Foundation and Construction of Physical Unclonable Functions. IACR Cryptology ePrint Archive. 2010;171. 18 pages.
Yu et al., Lightweight and Secure PUF Key Storage Using Limits of Machine Learning. Proceedings of the 13th International Conference on Cryptographic Hardware and Embedded Systems, CHES '11. 2011;6917:358-73.
Yu et al., Recombination of Physical Unclonable Functions. GOMACTech. 2010. 4 pages.
Yu et al., Secure and robust error correction for physical unclonable functions. IEEE Des Test. Jan. 2010;27(1):48-65.
Zhang et al., Exploiting Process Variation and Programming Sensitivity of Phase Change Memory for Reconfigurable Physical Unclonable Functions. IEEE Trans Info Forensics Sec. 2014;9(6):921-32.
Zheng et al., How to Construct Efficient Signcryption Schemes on Elliptic Curves. Inf Proc Lett. 1998;68(5):227-33.
Zheng, Digital Signcryption or How to Achieve Cost(Signature & Encryption) « Cost(Signature) + Cost(Encryption). Advances in Cryptology. CRYPTO '97. 1997;1294:165-79.
U.S. Appl. No. 15/613,088, filed Jun. 2, 2017, Wallrabenstein et al.
U.S. Appl. No. 15/615,634, filed Jun. 6, 2017, Wallrabenstein et al.
U.S. Appl. No. 15/615,641, filed Jun. 6, 2017, Wallrabenstein et al.
Related Publications (1)
Number Date Country
20170270288 A1 Sep 2017 US
Provisional Applications (2)
Number Date Country
62017045 Jun 2014 US
61988848 May 2014 US
Continuations (1)
Number Date Country
Parent 14704963 May 2015 US
Child 15614367 US