Reusable Fuzzy Extractors for Low-Entropy Distributions

Slides:



Advertisements
Similar presentations
Linear-Degree Extractors and the Inapproximability of Max Clique and Chromatic Number David Zuckerman University of Texas at Austin.
Advertisements

Why Simple Hash Functions Work : Exploiting the Entropy in a Data Stream Michael Mitzenmacher Salil Vadhan And improvements with Kai-Min Chung.
Detection of Algebraic Manipulation with Applications to Robust Secret Sharing and Fuzzy Extractors Ronald Cramer, Yevgeniy Dodis, Serge Fehr, Carles Padro,
Quantum Money from Hidden Subspaces Scott Aaronson and Paul Christiano.
Computational Privacy. Overview Goal: Allow n-private computation of arbitrary funcs. –Impossible in information-theoretic setting Computational setting:
Strong Key Derivation from Biometrics
Analysis of Algorithms
Physical Unclonable Functions and Applications
Fuzzy Stuff Lecture 24, Outline Motivation: Biometric Architectures Motivation: Biometric Architectures New Tool (for us): Error Correcting.
NON-MALLEABLE EXTRACTORS AND SYMMETRIC KEY CRYPTOGRAPHY FROM WEAK SECRETS Yevgeniy Dodis and Daniel Wichs (NYU) STOC 2009.
Fuzzy extractor based on universal hashes
 Secure Authentication Using Biometric Data Karen Cui.
The Goldreich-Levin Theorem: List-decoding the Hadamard code
1 Analysis of the Linux Random Number Generator Zvi Gutterman, Benny Pinkas, and Tzachy Reinman.
Oded Regev Tel-Aviv University On Lattices, Learning with Errors, Learning with Errors, Random Linear Codes, Random Linear Codes, and Cryptography and.
Collecting Correlated Information from a Sensor Network Micah Adler University of Massachusetts, Amherst.
HumanAUT Secure Human Identification Protocols Adam Bender Avrim Blum Manuel Blum Nick Hopper The ALADDIN Center Carnegie Mellon University.
Foundations of Cryptography Lecture 2 Lecturer: Moni Naor.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Ragesh Jaiswal Indian Institute of Technology Delhi Threshold Direct Product Theorems: a survey.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
9th IMA Conference on Cryptography & Coding Dec 2003 More Detail for a Combined Timing and Power Attack against Implementations of RSA Werner Schindler.
1 UCR Hardware Security Primitives with focus on PUFs Slide credit: Srini Devedas and others.
Threshold Phenomena and Fountain Codes Amin Shokrollahi EPFL Joint work with M. Luby, R. Karp, O. Etesami.
Key Derivation from Noisy Sources with More Errors Than Entropy Benjamin Fuller Joint work with Ran Canetti, Omer Paneth, and Leonid Reyzin May 5, 2014.
Privacy-preserving rule mining. Outline  A brief introduction to association rule mining  Privacy preserving rule mining Single party  Perturbation.
Strong Key Derivation from Noisy Sources Benjamin Fuller December 12, 2014 Based on three works: Computational Fuzzy Extractors [FullerMengReyzin13] When.
Lattice-based cryptography and quantum Oded Regev Tel-Aviv University.
WISA 2007 Jeju Island, Korea, 27th – 29th Aug 2007 Longer Randomly Blinded RSA Keys may be Weaker than Shorter Ones Colin D. Walter
Presentation for CDA6938 Network Security, Spring 2006 Timing Analysis of Keystrokes and Timing Attacks on SSH Authors: Dawn Xiaodong Song, David Wagner,
1 Leonid Reyzin Boston University Adam Smith Weizmann  IPAM  Penn State Robust Fuzzy Extractors & Authenticated Key Agreement from Close Secrets Yevgeniy.
When is Key Derivation from Noisy Sources Possible?
Does Privacy Require True Randomness? Yevgeniy Dodis New York University Joint work with Carl Bosley.
Real-life cryptography Pfeiffer Alain.  Types of PRNG‘s  History  General Structure  User space  Entropy types  Initialization process  Building.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Line fitting.
Outline The basic authentication problem
Strong Key Derivation from Noisy Sources
Outline Properties of keys Key management Key servers Certificates.
Stochastic Streams: Sample Complexity vs. Space Complexity
Coexistence Among Cryptography and Noisy Data Theory and Applications
Computational Fuzzy Extractors
Cryptographic Hash Function
Topic 14: Random Oracle Model, Hashing Applications
Digital Signature Schemes and the Random Oracle Model
Cryptography Lecture 3.
Analyzing Key Distribution and Authentication Protocols
Cryptographic Hash Functions Part I
Background: Lattices and the Learning-with-Errors problem
Cryptography Lecture 4.
لجنة الهندسة الكهربائية
Cryptography Lecture 19.
Digital Signature Schemes and the Random Oracle Model
Randomized Algorithms CS648
When are Fuzzy Extractors Possible?
Cryptography Lecture 24.
The Curve Merger (Dvir & Widgerson, 2008)
Discrete Event Simulation - 4
Fundamentals of Data Representation
When are Fuzzy Extractors Possible?
Hashing Sections 10.2 – 10.3 Lecture 26 CS302 Data Structures
Cryptography Lecture 4.
Cryptography Lecture 5.
Physical Unclonable Functions and Applications
Investigating Provably Secure and Practical Software Protection
Cryptography Lecture 3.
Cryptography Lecture 9.
Cryptography Lecture 15.
Cryptography Lecture 18.
Presentation transcript:

Reusable Fuzzy Extractors for Low-Entropy Distributions Benjamin Fuller Joint work with Ran Canetti, Omer Paneth, Adam Smith, and Leonid Reyzin May 9, 2016 1 1

Key Derivation from Noisy Sources Physically Unclonable Functions (PUFs) [PappuRechtTaylorGershenfeld02] interference Gabor Hash Laser Hardware that implements random function Impossible to copy precisely Large challenge/response space On fixed challenge, responses close together http://sigma.octopart.com/14152599/image/Microchip-TC14433EPG.jpg http://www.drgaelriverz.com/images/Round_Eye.JPG

Key Derivation from Noisy Sources Biometric Data Physically Unclonable Functions (PUFs) Measure unique physical phenomenon Unique, collectable, permanent, universal Repeated readings exhibit significant noise Uniqueness/Noise vary widely Human iris believed to be “best” [Daugman04], [PrabhakarPankantiJain03] http://sigma.octopart.com/14152599/image/Microchip-TC14433EPG.jpg http://www.drgaelriverz.com/images/Round_Eye.JPG

Modeling Entropy Sources w0 Entropy w0 – create a new biometric or hardware device, take initial reading w1 w1 – take new reading from a fixed biometric or hardware device Noise Two readings may not be subject to same noise. Often less error in original reading

Key Derivation from Noisy Sources Biometric Data Physically Unclonable Functions (PUFs) High-entropy sources are often noisy Initial reading w0 ≠ later reading reading w1 Source w0 = a1,…, ak, each symbol ai over alphabet Z Assume a bound on distance: d(w0, w1) ≤ t d(w0, w1)=# of symbols in that differ http://sigma.octopart.com/14152599/image/Microchip-TC14433EPG.jpg http://www.drgaelriverz.com/images/Round_Eye.JPG d(w0, w1)=4 w0 A B C D E F G w1

Key Derivation from Noisy Sources Biometric Data Physically Unclonable Functions (PUFs) High-entropy sources are often noisy Initial reading w0 ≠ later reading reading w1 Source w0 = a1,…, ak, each symbol ai over alphabet Z Assume a bound on distance: d(w0, w1) ≤ t Goal: derive a stable cryptographically strong output Want w0, w1 to map to same output The output should look uniform to the adversary http://sigma.octopart.com/14152599/image/Microchip-TC14433EPG.jpg http://www.drgaelriverz.com/images/Round_Eye.JPG Challenge: Traditional approaches do not provide adequate security for many physical sources

Contribution Reusable key derivation from noise source with arbitrary correlation between repeated readings Biometrics cannot be refreshed Only previous construction [Boyen2004]: each reading must differ by fixed constants Key derivation for large classes of sources with limited entropy (only super-log) Previous approaches require linear entropy or strong assumption on distribution (for example, i.i.d. bits)

Outline Strong Authentication through Key Derivation Limitations of Traditional Approaches/Lessons New Constructions

Key Derivation from Noisy Sources Interactive Protocols [Wyner75] … [BennettBrassardRobert85,88] …lots of work… Problem: User must store initial reading w0 at server w0 w1 Want approach where w0 is not stored! Parties agree on cryptographic key

Fuzzy Extractors: Functionality [JuelsWattenberg99], …, [DodisOstrovskyReyzinSmith04] … Enrollment algorithm Gen: Take a measurement w0 from the source. Use it to “lock up” random r in a nonsecret value p. Subsequent algorithm Rep: give same output if d(w0, w1) < t Security: r looks uniform even given p, when the source is good enough Security can be information-theoretic [DORS04] or computational [FMR13] Gen r w0 Rep r p < t w1

Fuzzy Extractors: Goals Goal 1: handle as many sources as possible (typically, any source in which w0 is 2k-hard to guess) Goal 2: handle as much error as possible (typically, any w1 within distance t) Most previous approaches are analyzed in terms of k and t Traditional approaches do not support sources with limited entropy: where k < t (many practical sources) Gen r entropy k w0 Rep r p < t w1

Is it possible to handle “more errors than entropy”? Iris: 2249 possible values of initial Possible values of initial Lets consider a pictoral representation of possible initial values for the iris. This picture is simplified considerably as there are 2^249 possible values for initial

Is it possible to handle “more errors than entropy”? Iris: Entropy = log (2249 ) Possible values of initial Lets consider a pictoral representation of possible initial values for the iris. This picture is simplified considerably as there are 2^249 possible values for initial

Is it possible to handle “more errors than entropy”? Iris: Entropy = 249 Observed error rate (t) in iris between approximately 300 Possible values of initial t Lets consider a pictoral representation of possible initial values for the iris. This picture is simplified considerably as there are 2^249 possible values for initial final Recall: attacker can run Rep on any point

Is it possible to handle “more errors than entropy”? Iris: Entropy = 249 Observed error rate (t) in iris between approximately 300 Possible values of initial t Lets consider a pictoral representation of possible initial values for the iris. This picture is simplified considerably as there are 2^249 possible values for initial final Recall: attacker can run Rep on any point

Is it possible to handle “more errors than entropy”? Iris: Entropy = 249 Observed error rate (t) in iris between approximately 300 Possible values of initial t r key Rep Lets consider a pictoral representation of possible initial values for the iris. This picture is simplified considerably as there are 2^249 possible values for initial Attacker learns key by running Rep with final Recall: attacker can run Rep on any point

Is it possible to handle “more errors than entropy”? Iris: Entropy = 249 Observed error rate (t) in iris between approximately 300 Possible values of initial t r key Rep Lets consider a pictoral representation of possible initial values for the iris. This picture is simplified considerably as there are 2^249 possible values for initial Key derivation is not possible if this is structure of iris Recall: attacker can run Rep on any point

Is it possible to handle “more errors than entropy”? Iris: Entropy = 249 Observed error rate (t) in iris between approximately 300 Crucial fact: closest observed between distance two peoples irises is 680 Possible values of initial t r key Rep Lets consider a pictoral representation of possible initial values for the iris. This picture is simplified considerably as there are 2^249 possible values for initial Key derivation is not possible if this is structure of iris Recall: attacker can run Rep on any point

Is it possible to handle “more errors than entropy”? Iris: Entropy = 249 Observed error rate (t) in iris between approximately 300 Crucial fact: closest observed between distance two peoples irises is 680 Possible values of initial To secure iris need to use more than Entropy of initial and number of errors t Which corresponds to 249 bits of entropy. The observed error rate in iris measurement is around 300 bits between reading. Pictorally this means we need to accept any final in this radius. This seems like a lot of distance to accept, however, the closest known reading between two different people different in almost 700 bits. So if we set t=300 we should never confuse two people. So the iris has more errors than entropy. The reason we might hope to derive keys is that different people are far apart so even if we accept readings distance 300 apart we will never confused two people. However, traditional fuzzy extractors only consider the entropy and the number of errors (these were the only two parameters in the analysis). I’ll now show why this is a problem. t final Recall: attacker can run Rep on any point

Is it possible to handle low entropy k < t ? This distribution has 2k points Why might we hope to extract from this distribution? Points are far apart No need to deconflict original reading Support of w0 ADS: Bullet structure too simple here: these items don’t all belong in one list w1

Left and right have same number of points and error tolerance Is it possible to handle low entropy k < t ? Support of w0 Support of v0 r ADS: Bullet structure too simple here: these items don’t all belong in one list Since k < t there is a distribution v0 where all points lie in a single ball Left and right have same number of points and error tolerance

Is it possible to handle low entropy k < t ? Support of w0 Support of v0 t r r ? Rep t r r w1 Rep v1 r ADS: Bullet structure too simple here: these items don’t all belong in one list The likelihood of adversary picking a point w1 close enough to recover r is low For any construction adversary learns r by running with v1 Recall: adversary can run Rep on any point

Is it possible to handle low entropy k < t ? To distinguish between w0 and v0 must consider more than just t and k Support of w0 Support of v0 t r ? Rep t r r w1 Rep v1 r The likelihood of adversary picking a point w1 close enough to recover r is low For any construction adversary learns r by running with v1 Key derivation may be possible for w0, impossible for v0

Outline Strong Authentication through Key Derivation Limitations of Traditional Approaches/Lessons New Constructions Use additional properties of distribution beyond entropy

Idea: “encrypt” r using parts of w0 Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r r w0 = a1 a2 a3 a4 a5 a6 a7 a8 a9 Gen p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r r w0 = a1 a2 a3 a4 a5 a6 a7 a8 a9 Gen p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r r w0 = a1 a2 a3 a4 a5 a6 a7 a8 a9 Gen p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r - = locks + positions of symbols needed to unlock p r w0 = a1 a2 a3 a4 a5 a6 a7 a8 a9 Gen p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 - = locks + positions of symbols needed to unlock p Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r r w0 = a1 a2 a3 a4 a5 a6 a7 a8 a9 Gen p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 - = locks + positions of symbols needed to unlock p Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 - = locks + positions of symbols needed to unlock p Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r Rep: w1 = a1 a2 a3 a4 a5 a6 a7 a8 a9 r Rep p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 - = locks + positions of symbols needed to unlock p Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r Rep: w1 = a1 a2 a3 a4 a5 a6 a7 a8 a9 r Rep p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 - = locks + positions of symbols needed to unlock p Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r Rep: Use the symbols of w1 to open at least one lock w1 = a1 a2 a3 a4 a5 a6 a7 a8 a9 r Rep p a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 - = locks + positions of symbols needed to unlock p Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r Rep: Use the symbols of w1 to open at least one lock w1 = a1 a2 a3 a4 a5 a6 a7 a8 a9 r Rep p a1 a9 a2 r a3 a9 a5 r r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

Idea: “encrypt” r using parts of w0 - = locks + positions of symbols needed to unlock p Gen: - get random combinations of symbols in w0 - “lock” r using these combinations r Rep: Use the symbols of w1 to open at least one lock Error-tolerance: one combination must unlock with high probability Security: each combination must have enough entropy (sampling of symbols must preserve sufficient entropy) a1 a9 a2 r a3 a9 a5 r r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

How to implement locks? Ideally: Obfuscate this program A lock is the following program: If input = a1 a9 a2, output r Else output  One implementation (R.O. model): lock = r  H(a1 a9 a2) a1 a9 a2 r Ideally: Obfuscate this program Obfuscation: preserve functionality, hide the program Obfuscating this specific program called “digital locker” ADS: Say RO construction first? Then say point obfuscation?

Digital Lockers Digital Locker is obfuscation of a1 a9 a2 r Digital Locker is obfuscation of If input = a1 a9 a2, output r Else output  Equivalent to encryption of r that is secure even multiple times with correlated, weak keys [CanettiKalaiVariaWichs10] Digital lockers are practical (R.O. or DL-based) [CanettiDakdouk08], [BitanskyCanetti10] Hides r if input can’t be exhaustively searched (superlogarithmic entropy)

Digital Lockers Digital Locker is obfuscation of a1 a9 a2 r Digital Locker is obfuscation of If input = a1 a9 a2, output r Else output  Equivalent to encryption of r that is secure even multiple times with correlated and weak keys [CanettiKalaiVariaWichs10] Digital lockers are practical (R.O. or DL-based) [CanettiDakdouk08], [BitanskyCanetti10] Hides r if input can’t be exhaustively searched (superlogarithmic entropy) Q: if you are going to use obfuscation, why bother? Why not just obfuscate the following program for p If distance between w0 and the input is less than t, output r Else output  A: you can do that [BitanskyCanettiKalaiPaneth14], drawbacks: except it’s very impractical very strong assumption not known to be reusable

How good is this construction? Handles sources with t > k For correctness: t < constant fraction of symbols a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

How good is this construction? Handles low entropy sources works for super-log k For correctness: t < constant fraction of symbols Construction 2: Supports t = constant fraction but only for really large alphabets Construction 3: Similar parameters but info-theoretic security Constructions are secure for different types of sources ADS: too much text (break it up somehow?) a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

How good is this construction? Handles sources with t > k For correctness: t < constant fraction of symbols Construction 2: Supports t= constant fraction but only for really large alphabets Construction 3: Similar parameters but info-theoretic security Why did I tell you about computational construction? ADS: too much text (break it up somehow?) a1 a9 a2 r a3 a9 a5 r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r

How good is this construction? It is reusable! Same source can be enrolled multiple times with multiple independent services w0 r p Gen Secret even given p, p', p'', r, r'' w0' r' p' Gen w0'' r'' p'' Gen

How good is this construction? It is reusable! Same source can be enrolled multiple times with multiple independent services Follows from composability of obfuscation In the past: difficult to achieve, because typically new enrollments leak fresh information (our construction leaks no partial information w.h.p.) Only previous construction [Boyen2004]: all reading must differ by fixed constants (unrealistic) Our construction: each reading individually must satisfy our conditions

Conclusion Reusable fuzzy extractor from noisy sources with arbitrary correlation between repeated readings Three constructions of fuzzy extractors for sources with limited entropy (k < t) Exploit structure in source Questions? a1 a9 a2 r a3 a9 a5 r r a3 a4 a5 r a7 a5 a6 r a2 a8 a7 r a3 a5 a2 r