Computa(onal Fuzzy Extractors Benjamin Fuller , Xianrui Meng, - - PowerPoint PPT Presentation

computa onal fuzzy extractors
SMART_READER_LITE
LIVE PREVIEW

Computa(onal Fuzzy Extractors Benjamin Fuller , Xianrui Meng, - - PowerPoint PPT Presentation

Computa(onal Fuzzy Extractors Benjamin Fuller , Xianrui Meng, and Leonid Reyzin December 2, 2013 Key Derivation from Noisy Sources High-entropy sources Physically


slide-1
SLIDE 1

Computa(onal ¡Fuzzy ¡Extractors ¡

Benjamin ¡Fuller, ¡Xianrui ¡Meng, ¡and ¡Leonid ¡Reyzin ¡

December ¡2, ¡2013 ¡

slide-2
SLIDE 2

Key Derivation from Noisy Sources

Physically ¡Unclonable ¡Func1ons ¡(PUFs) ¡

[PappuRechtTaylorGershenfeld02] ¡

Biometric ¡Data ¡

w0 w0

Goal ¡of ¡this ¡talk: ¡provide ¡meaningful ¡security ¡for ¡more ¡sources High-­‑entropy ¡sources ¡ ¡ are ¡oLen ¡noisy ¡ ¡

– Source ¡value ¡changes ¡over ¡(me, ¡ w0≠ w1 – Assume ¡a ¡bound ¡on ¡distance: ¡ d(w0, w1) ≤ dmax – Consider ¡Hamming ¡distance ¡today ¡

Want ¡to ¡derive ¡a ¡stable ¡key ¡ ¡ from ¡a ¡noisy ¡source ¡

– Want ¡w0, w1 ¡to ¡map ¡to ¡same ¡key ¡

Want ¡the ¡key ¡to ¡be ¡cryptographically ¡ strong ¡

– Appear ¡uniform ¡to ¡the ¡adversary ¡

slide-3
SLIDE 3

Fuzzy ¡Extractors ¡

Source ¡ Public ¡ Key ¡

  • Assume ¡source ¡has ¡min-­‑entropy ¡k ¡

(no ¡w ¡is ¡likelier ¡than ¡2−k) ¡

  • Lots ¡of ¡work ¡on ¡reliable ¡keys ¡from ¡noisy ¡data ¡[BenneYBrassardRobert85] ¡…

Our ¡formalism: ¡Fuzzy ¡Extractors ¡[DodisOstrovskyReyzinSmith04] ¡… ¡ ¡

  • Correctness: ¡Gen, Rep ¡give ¡same ¡key ¡if ¡d(w0, w1) < dmax ¡
  • Security: ¡(key , p) ≈ (U , p)

Gen Rep

key

w0 key

p

w1 ¡ key

slide-4
SLIDE 4

Fuzzy ¡Extractors ¡

Source ¡ Public Key ¡

  • Assume ¡source ¡has ¡min-­‑entropy ¡k ¡

(no ¡w ¡is ¡likelier ¡than ¡2−k) ¡

  • Lots ¡of ¡work ¡on ¡reliable ¡keys ¡from ¡noisy ¡data ¡[BenneYBrassardRobert85] ¡…

Our ¡formalism: ¡Fuzzy ¡Extractors ¡[DodisOstrovskyReyzinSmith04] ¡… ¡ ¡

  • Correctness: ¡Gen, Rep ¡give ¡same ¡key ¡if ¡d(w0, w1) < dmax ¡
  • Security: ¡(key , p) ≈ (U , p)
  • Typical ¡Construc(on: ¡ ¡-­‑ ¡derive ¡key using ¡a ¡randomness ¡extractor

Gen Rep w0 key

p

w1 ¡ key Ext Ext Converts ¡high ¡entropy ¡sources ¡to ¡uniform: ¡H∞(W0)≥ k ⇒ Ext (W0 ) ≈ U

slide-5
SLIDE 5

Fuzzy ¡Extractors ¡

Source ¡ Public Key ¡

  • Assume ¡source ¡has ¡min-­‑entropy ¡k ¡

(no ¡w ¡is ¡likelier ¡than ¡2−k) ¡

  • Lots ¡of ¡work ¡on ¡reliable ¡keys ¡from ¡noisy ¡data ¡[BenneYBrassardRobert85] ¡…

Our ¡formalism: ¡Fuzzy ¡Extractors ¡[DodisOstrovskyReyzinSmith04] ¡… ¡ ¡

  • Correctness: ¡Gen, Rep ¡give ¡same ¡key ¡if ¡d(w0, w1) < dmax ¡
  • Security: ¡(key , p) ≈ (U , p)
  • Typical ¡Construc(on: ¡ ¡-­‑ ¡derive ¡key using ¡a ¡randomness ¡extractor ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡-­‑ ¡correct ¡errors ¡using ¡a ¡secure ¡sketch Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡

slide-6
SLIDE 6

Secure ¡Sketches ¡

Code ¡Offset ¡ Sketch ¡ p =c ⊕ ¡w0 G generates ¡ a ¡code ¡that ¡ corrects ¡ ¡dmax errors c = Gx Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡

slide-7
SLIDE 7

p reveals ¡informa(on ¡about ¡w0

Secure ¡Sketches ¡

Code ¡Offset ¡ Sketch ¡ G generates ¡ a ¡code ¡that ¡ corrects ¡ ¡dmax errors c = Gx Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡ p ⊕ ¡w1 If ¡w0 ¡and ¡w1 ¡ are ¡close ¡ ¡ c’= c w0=c’ ⊕ ¡p c’=Dec(p ⊕ w1) Extract ¡from ¡ distribu1ons ¡of ¡ reduced ¡entropy ¡ Guarantee ¡a ¡bound ¡

  • n ¡entropy ¡reduc1on: ¡

≤ ¡redundancy ¡of ¡G p =c ⊕ ¡w0

slide-8
SLIDE 8

Entropy ¡Loss ¡From ¡Fuzzy ¡Extractors ¡

  • Entropy ¡is ¡at ¡a ¡premium ¡for ¡physical ¡sources ¡

– Iris ¡≈249 ¡[Daugman1996] ¡ – Fingerprint ¡≈82 [RathaConnellBolle2001] ¡ – Passwords ¡≈31 ¡[ShayKomanduri+2010] ¡ ¡

  • Above ¡construc(on ¡of ¡fuzzy ¡extractors, ¡with ¡standard ¡analysis: ¡

– Secure ¡sketch ¡loss ¡= ¡redundancy ¡of ¡code ¡≥ ¡error ¡correc(ng ¡capability ¡ Loss ¡necessary ¡for ¡informa(on-­‑theore(c ¡sketch: ¡[Smith07, ¡DORS08] ¡ – Randomness ¡extractor ¡loss ¡ ¡≥ 2log (1/ε) ¡

  • Can ¡we ¡improve ¡on ¡this? ¡
  • One ¡approach: ¡define ¡secure ¡sketches/fuzzy ¡extractors ¡

computa(onally ¡

– Give ¡up ¡on ¡security ¡against ¡all-­‑powerful ¡adversaries, ¡ ¡ consider ¡computa(onal ¡ones ¡

slide-9
SLIDE 9

Can ¡we ¡do ¡beYer ¡in ¡computa(onal ¡seing? ¡

Our ¡Results: ¡

¡

  • For ¡secure ¡sketches: ¡NO ¡

– We ¡show ¡that ¡defining ¡a ¡secure ¡sketch ¡in ¡computa(onal ¡ seing ¡does ¡not ¡improve ¡entropy ¡loss ¡

  • For ¡fuzzy ¡extractors: ¡YES ¡

– We ¡construct ¡a ¡lossless ¡computa(onal ¡Fuzzy ¡Extractor ¡ based ¡on ¡the ¡Learning ¡with ¡Errors ¡(LWE) ¡problem ¡ – Caveat: ¡this ¡result ¡shows ¡only ¡feasibility ¡of ¡a ¡different ¡ construc(on ¡and ¡analysis; ¡we ¡do ¡not ¡claim ¡to ¡have ¡a ¡ specific ¡set ¡of ¡parameters ¡for ¡bea(ng ¡the ¡tradi(onal ¡ construc(on ¡

slide-10
SLIDE 10

Computa(onal ¡Secure ¡Sketches ¡

  • Can ¡we ¡improve ¡on ¡this ¡computa(onally?
  • What ¡does ¡Hcomp( W0 | p) mean?
  • Most ¡natural ¡requirement: ¡ ¡ ¡

¡ ¡(W0 | p) is ¡indis(nguishable ¡from ¡(Y | p) ¡and H∞(Y | p) ≥ k

  • Known ¡as ¡HILL ¡entropy ¡[HåstadImpagliazzoLevinLuby99]

Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡ Information-theoretic goal: H∞( W0 | p) ¡

¡

slide-11
SLIDE 11

Computa(onal ¡Secure ¡Sketches ¡

  • Can ¡we ¡improve ¡on ¡this ¡computa(onally?
  • What ¡does ¡Hcomp( W0 | p) mean?
  • Most ¡natural ¡requirement: ¡ ¡ ¡

¡ ¡(W0 | p) is ¡indis(nguishable ¡from ¡(Y | p) ¡and H∞(Y | p) ≥ k

  • Known ¡as ¡HILL ¡entropy ¡[HåstadImpagliazzoLevinLuby99]

Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡ Computational goal: Hcomp( W0 | p) ¡

slide-12
SLIDE 12

Computa(onal ¡Secure ¡Sketches ¡

  • Can ¡we ¡improve ¡on ¡this ¡computa(onally?
  • What ¡does ¡Hcomp( W0 | p) mean?
  • Most ¡natural ¡requirement: ¡ ¡ ¡

¡ ¡(W0 | p) is ¡indis(nguishable ¡from ¡(Y | p) ¡and H∞(Y | p) ≥ k

  • Known ¡as ¡HILL ¡entropy ¡[HåstadImpagliazzoLevinLuby99]

Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡ Computational goal: HHILL( W0 | p) ¡ Good ¡News: ¡ Extractors ¡yield ¡ pseudorandom ¡keys ¡ from ¡HILL ¡entropy ¡

slide-13
SLIDE 13

HILL ¡Secure ¡Sketches ¡⇒ ¡Secure ¡Sketches ¡

Our ¡Theorem: ¡ ¡ If ¡HHILL(W0 | p) ≥ k, ¡then ¡ ¡

there ¡exists ¡an ¡error-­‑correc(ng ¡code ¡C with ¡2k−2 ¡points ¡ and ¡ ¡ Rec ¡corrects ¡dmax ¡random ¡errors ¡on ¡C

¡ ¡ Corollary: ¡(Using ¡secure ¡sketch ¡of ¡[Smith07]) ¡ If ¡there ¡exists ¡a ¡sketch ¡with ¡HILL ¡entropy ¡k, ¡ ¡ then ¡there ¡exists ¡a ¡sketch ¡with ¡true ¡entropy ¡k−2.

We ¡can ¡fix ¡a ¡p ¡value ¡where ¡Rec ¡func(ons ¡as ¡a ¡good ¡decoder ¡for ¡W0. ¡ Rec ¡must ¡also ¡decode ¡on ¡indis(nguishable ¡distribu(on ¡Y, ¡and ¡Y ¡is ¡large.

slide-14
SLIDE 14

Can ¡we ¡do ¡beYer ¡in ¡computa(onal ¡seing? ¡

  • For ¡secure ¡sketches: ¡NO ¡

– A ¡sketch ¡that ¡retains ¡HILL ¡entropy ¡implies ¡ ¡an ¡informa(on ¡theore(c ¡sketch ¡

  • For ¡fuzzy ¡extractors: ¡YES ¡

– Can’t ¡just ¡make ¡the ¡sketch ¡“computa(onal” ¡ – Other ¡approaches? ¡

slide-15
SLIDE 15

Building ¡a ¡Computa(onal ¡Fuzzy ¡Extractor ¡

Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡ Can’t ¡just ¡ ¡ work ¡with ¡sketch

slide-16
SLIDE 16

Building ¡a ¡Computa(onal ¡Fuzzy ¡Extractor ¡

Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡ What ¡about ¡an ¡extractor ¡ that ¡outputs ¡ pseudorandom ¡bits? Cext Cext

  • Computa(onal ¡extractors ¡convert ¡high-­‑entropy ¡sources ¡to ¡

pseudorandom ¡bits ¡[Krawczyk10] ¡

  • Natural ¡construc(on: ¡Cext(w0) = PRG(Ext(w0))
  • Extensions ¡[DachmanSoledGennaroKrawczykMalkin12DodisYu13DodisPietrzakWichs13] ¡
  • All ¡require ¡enough ¡residual ¡entropy ¡aLer ¡Sketch ¡to ¡run ¡crypto! ¡

– See ¡[DachmanSoledGennaroKrawczykMalkin12] ¡for ¡condi(ons ¡

slide-17
SLIDE 17

Building ¡a ¡Computa(onal ¡Fuzzy ¡Extractor ¡

Gen Rep w0 key

p

w1 ¡ key Ext Ext

Sketch

Rec w0 ¡

  • We’ll ¡try ¡to ¡combine ¡a ¡

sketch ¡and ¡an ¡extractor ¡

  • We’ll ¡base ¡our ¡construc(on ¡
  • n ¡the ¡code ¡offset ¡sketch ¡
  • Instan(ate ¡with ¡ ¡

random ¡linear ¡code ¡

  • Base ¡security ¡on ¡Learning ¡

with ¡Errors ¡(LWE) ¡ p=ec ⊕ ¡w0 ec = Gx

A ← F

q m×n

ec = Ax

slide-18
SLIDE 18

A

,

  • Recovering ¡x is ¡known ¡as ¡learning ¡with ¡errors ¡
  • [Regev05] ¡shows ¡solving ¡LWE ¡implies ¡approxima(ng ¡laice ¡problems ¡ ¡
  • LWE ¡Error ¡Distribu(on ¡= ¡Source ¡Distribu(on ¡W0

– Need error distribution where LWE is hard – Start from result of [DöYling&Müller-­‑Quade13] and make some progress ¡

m n

x A

+

b

=

Learning ¡with ¡Errors ¡

p=Ax ⊕ ¡w0

w0

A ← F

q m×n

ec = Ax

slide-19
SLIDE 19

A

,

  • Recovering ¡x is ¡known ¡as ¡learning ¡with ¡errors ¡
  • [Regev05] ¡shows ¡solving ¡LWE ¡implies ¡approxima(ng ¡laice ¡problems ¡ ¡
  • LWE ¡Error ¡Distribu(on ¡= ¡Source ¡Distribu(on ¡W0
  • [AkaviaGoldwasserVaiku…09] ¡show ¡if ¡LWE ¡is ¡secure ¡on ¡n/2 ¡variables, ¡ ¡

any ¡addi(onal ¡variables ¡are ¡hardcore ¡

m n

x A

+

b

=

Learning ¡with ¡Errors ¡

p=Ax ⊕ ¡w0 A ← F

q m×n

ec = Ax

w0

slide-20
SLIDE 20

, m

x A

+ w0

b

Learning ¡with ¡Errors ¡

n/2 n/2 n

A A1

A2

A1

A2

x1 x2

=

p=Ax ⊕ ¡w0 A ← F

q m×n

ec = Ax

  • Recovering ¡x is ¡known ¡as ¡learning ¡with ¡errors ¡
  • [Regev05] ¡shows ¡solving ¡LWE ¡implies ¡approxima(ng ¡laice ¡problems ¡ ¡
  • LWE ¡Error ¡Distribu(on ¡= ¡Source ¡Distribu(on ¡W0
  • [AkaviaGoldwasserVaiku…09] ¡show ¡if ¡LWE ¡is ¡secure ¡on ¡n/2 ¡variables, ¡ ¡

any ¡addi(onal ¡variables ¡are ¡hardcore ¡ x2 | A, b ¡is ¡pseudorandom ¡

slide-21
SLIDE 21

, m

x A

+

b

Our ¡Construc(on ¡

n/2 n/2

A A1

A2

A1

A2

x1 x2 w0

=

A w0 b x2 A A

p=Ax ⊕ ¡w0 A ← F

q m×n

ec = Ax

  • Recovering ¡x is ¡known ¡as ¡learning ¡with ¡errors ¡
  • [Regev05] ¡shows ¡solving ¡LWE ¡implies ¡approxima(ng ¡laice ¡problems ¡ ¡
  • LWE ¡Error ¡Distribu(on ¡= ¡Source ¡Distribu(on ¡W0
  • [AkaviaGoldwasserVaiku…09] ¡show ¡if ¡LWE ¡is ¡secure ¡on ¡n/2 ¡variables, ¡ ¡

any ¡addi(onal ¡variables ¡are ¡hardcore ¡ Public Key ¡ Source ¡ x2 | A, b ¡is ¡pseudorandom ¡

slide-22
SLIDE 22
  • Q: ¡How ¡are ¡we ¡avoiding ¡our ¡nega(ve ¡results? ¡
  • A ¡We ¡don’t ¡extract ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡from ¡ ¡(we ¡are ¡not ¡aware ¡of ¡any ¡no(on ¡

where ¡w0|A, b ¡has ¡high ¡entropy) ¡

  • Instead, ¡we ¡use ¡secret ¡randomness, ¡and ¡hide ¡it ¡using ¡ ¡ ¡

Gen Rep w0 key = x2 p = (A, b) w1 ¡ key

+ =

A

w

b

x1 x2

w0 key w0 w0 |(A, b) Public Key ¡ Source ¡

Our ¡Construc(on ¡

w0

slide-23
SLIDE 23

Gen Rep w0 key = x2 p = (A, b) w1 ¡ key

+ =

A

w

b

x1 x2

w0 Public Key ¡ Source ¡

Our ¡Construc(on ¡

? ¡

slide-24
SLIDE 24

Rep

  • Rep has ¡A ¡and ¡something ¡close ¡to ¡Ax
  • This ¡is ¡a ¡decoding ¡problem ¡(same ¡as ¡in ¡the ¡tradi(onal ¡construc(on) ¡
  • Decoding ¡random ¡codes ¡is ¡hard, ¡but ¡possible ¡for ¡small ¡distances. ¡
  • (We ¡can’t ¡use ¡LWE ¡trapdoor, ¡because ¡there ¡is ¡no ¡secret ¡storage) ¡

, ¡

x1

+

x2 w0 w1

− m n

A A b

slide-25
SLIDE 25

Rep

, ¡

x1

+

x2 w0 w1

− m n

A A

Example ¡algorithm ¡for ¡log ¡many ¡errors:

slide-26
SLIDE 26

A A

Example ¡algorithm ¡for ¡log ¡many ¡errors:

  • Select ¡n ¡random ¡samples ¡(hopefully, ¡they ¡have ¡no ¡errors) ¡
  • Solve ¡linear ¡system ¡for ¡x ¡on ¡these ¡samples ¡
  • Verify ¡correctness ¡of ¡x ¡using ¡other ¡samples ¡
  • Repeat ¡un(l ¡successful ¡

, ¡

x1

+

x2

m n

w0–w1

Rep

slide-27
SLIDE 27
  • Can ¡correct ¡as ¡many ¡errors ¡as ¡can ¡be ¡efficiently ¡decoded ¡ ¡

for ¡random ¡linear ¡code ¡(our ¡algorithm: ¡logarithmically ¡many) ¡

  • Each ¡dimension ¡of ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡can ¡be ¡sampled ¡with ¡a ¡frac(on ¡of ¡the ¡bits ¡

needed ¡for ¡each ¡dimension ¡of ¡ ¡x ¡ ¡ ¡ (i.e., ¡we ¡can ¡protect ¡x ¡using ¡fewer ¡than ¡|x| ¡bits) ¡

  • So ¡we ¡can ¡get ¡as ¡many ¡bits ¡in ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡as ¡in ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡−− ¡lossless! ¡
  • Key ¡length ¡doesn’t ¡depend ¡on ¡how ¡many ¡errors ¡are ¡being ¡corrected ¡
  • Intui(on: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡is ¡encrypted ¡by ¡ ¡ ¡ ¡ ¡ ¡ ¡and ¡decryp(on ¡tolerates ¡noise ¡

Gen Rep w0 key = x2 p = (A, b) w1 ¡

+ =

A

w

b

x1 x2

w0 key w0 Public Key ¡ Source ¡

Our ¡Construc(on ¡

+

A

x1 x2

A w0

w1 key = x2 , ¡ w0 key w0

slide-28
SLIDE 28

Conclusion ¡

  • Fuzzy ¡Extractors ¡and ¡Secure ¡Sketches ¡suffer ¡from ¡entropy ¡

losses ¡in ¡informa(on ¡theore(c ¡seing ¡ – May ¡keep ¡the ¡resul(ng ¡key ¡from ¡being ¡useful ¡

  • What ¡about ¡the ¡Computa(onal ¡Seing? ¡
  • Nega(ve ¡Result: ¡Entropy ¡loss ¡inherent ¡for ¡Secure ¡Sketches ¡

¡ ¡ ¡ ¡(Addi(onal ¡results ¡about ¡unpredictability ¡of ¡( W0 | p ) ) ¡

  • Posi(ve ¡Result: ¡ ¡

Construct ¡lossless ¡Computa;onal ¡Fuzzy ¡Extractor ¡using ¡the ¡ Learning ¡with ¡Errors ¡problem ¡ – For ¡Hamming ¡distance, ¡with ¡log ¡errors ¡and ¡restricted ¡ class ¡of ¡sources ¡(secure ¡LWE ¡error ¡distribu(ons) ¡

slide-29
SLIDE 29

Open ¡Problems ¡

  • Improve ¡error-­‑tolerance
  • Handle ¡addi(onal ¡source ¡distribu(ons ¡
  • Beat ¡informa(on-­‑theore(c ¡construc(ons ¡on ¡

prac(cal ¡parameter ¡sizes ¡

  • Other ¡computa(onal ¡assump(ons? ¡

Ques(ons? ¡