Private Circuits A Modular Approach Yuval Amit Prabhanjan Ishai - - PowerPoint PPT Presentation

private circuits a modular approach
SMART_READER_LITE
LIVE PREVIEW

Private Circuits A Modular Approach Yuval Amit Prabhanjan Ishai - - PowerPoint PPT Presentation

Private Circuits A Modular Approach Yuval Amit Prabhanjan Ishai Sahai Ananth Surveillance Devices Credit card details SSN number Passwords PGP keys Surveillance Devices Credit card details SSN number Passwords PGP keys


slide-1
SLIDE 1

Private Circuits A Modular Approach

Prabhanjan Ananth Yuval Ishai Amit Sahai

slide-2
SLIDE 2

Surveillance Devices

Credit card details SSN number Passwords PGP keys …

slide-3
SLIDE 3

Surveillance Devices

Credit card details SSN number Passwords PGP keys …

Side Channel Attacks Adversary can obtain partial information (leakage) about the computation

slide-4
SLIDE 4

Leakage-Resilient Cryptography

GOAL

Protecting cryptographic schemes against side-channel attacks

slide-5
SLIDE 5

This Work: Leakage-Resilient Circuit Compilers [ISW03]

slide-6
SLIDE 6

Circuit Compilers

C

̂ C

Compile

slide-7
SLIDE 7

Circuit Compilers

C

x

̂ C

̂ x

Compile Encode

̂ C ( ̂ x)

Decode

C(x)

$$

slide-8
SLIDE 8
  • , contain NAND gates

C

̂ C

Remarks

slide-9
SLIDE 9
  • , contain NAND gates
  • other bases for : results can be adapted

C

̂ C

̂ C

Remarks

slide-10
SLIDE 10

Remarks

  • , contain NAND gates
  • other bases for : results can be adapted
  • Circuit compilation is deterministic

C

̂ C

̂ C

slide-11
SLIDE 11

Remarks

  • , contain NAND gates
  • other bases for : results can be adapted
  • Circuit compilation is deterministic
  • compiled circuit is reusable; no trapdoors

C

̂ C

̂ C

slide-12
SLIDE 12

Remarks

  • , contain NAND gates
  • other bases for : results can be adapted
  • Circuit compilation is deterministic
  • compiled circuit is reusable; no trapdoors
  • can contain random-bit gates

̂ C

C

̂ C

̂ C

slide-13
SLIDE 13

Leakage-Resilient Circuit Compilers

slide-14
SLIDE 14

Leakage-Resilient Circuit Compilers

NAND NAND NAND

. . . . . . 1 1 1 1 1

̂ C ( ̂ x)

slide-15
SLIDE 15

Leakage-Resilient Circuit Compilers

NAND NAND NAND

. . . . . . 1 1 1 1 1 Leak … …

Bounded Leakage

̂ C ( ̂ x)

Leakage on computation of on

̂ C

̂ x

slide-16
SLIDE 16
  • Global leakage: Leak is function of entire computation
  • low-complexity leakage classes [FRRTV11,Rot12]
  • Local leakage: adversary has partial view of computation
  • Wire-probing attacks [ISW03,…]
  • Split-state leakage-resilient compiler [GR12,…]

What is Leak?

slide-17
SLIDE 17
  • Global leakage: Leak is function of entire computation
  • low-complexity leakage classes [FRRTV11,Rot12]
  • Local leakage: adversary has partial view of computation
  • Wire-probing attacks [ISW03,…]
  • Split-state leakage-resilient compiler [GR12,…]

What is Leak?

slide-18
SLIDE 18
  • Global leakage: Leak is function of entire computation
  • low-complexity leakage classes [FRRTV11,Rot12]
  • Local leakage: adversary has partial view of computation
  • Wire-probing attacks [ISW03,…]
  • Split-state leakage-resilient compiler [MR03,DP08,GR12,…]

What is Leak?

slide-19
SLIDE 19
  • Global leakage: Leak is function of entire computation
  • low-complexity leakage classes [FRRTV11,Rot12]
  • Local leakage: adversary has partial view of computation
  • Wire-probing attacks [ISW03,…]
  • Split-state leakage-resilient compiler [MR03,DP08,GR12,…]

What is Leak?

This Work!

slide-20
SLIDE 20

NAND NAND NAND

. . . . . . ? ? 1 ? ? ?

NAND NAND NAND

. . . . . . 1 1 1 1 1 Leak … …

Wire-probing attacks [ISW03, …]

Subset of values in the computation leaked

slide-21
SLIDE 21

Worst Case Leakage: threshold t

  • Any t wires are leaked
  • Perfect simulation given t bits of input

Leakage-Resilience: Wire-probing attacks [ISW03,…]

slide-22
SLIDE 22

Worst Case Leakage: threshold t

Following [ISW03], several works study this setting…

[RP10,KHL11,GM11,CPR13,CGPQR12,…]

Leakage-Resilience: Wire-probing attacks [ISW03,…]

  • Any t wires are leaked
  • Perfect simulation given t bits of input

MPC on Silicon Applying MPC techniques to design secure hardware

slide-23
SLIDE 23

Worst Case Leakage: threshold t

Leakage-Resilience: Wire-probing attacks [ISW03,…]

  • Any t wires are leaked
  • Perfect simulation given t bits of input

Recent years: focus on randomness complexity

[IKLOPSZ13,BBPPTV16,BBPPTV17]

slide-24
SLIDE 24

Randomness Complexity

Randomness Complexity = # of random-bit gates

slide-25
SLIDE 25

Randomness Complexity

Randomness Complexity = # of random-bit gates How many random bit-gates are needed?

slide-26
SLIDE 26

Randomness Complexity

Randomness Complexity = # of random-bit gates How many random bit-gates are needed? [IKLOPSZ13] random bit-gates sufficient, for any

t3+ε

ε > 0

slide-27
SLIDE 27

Randomness Complexity

Randomness Complexity = # of random-bit gates How many random bit-gates are needed? [IKLOPSZ13] random bit-gates sufficient, for any

t3+ε

ε > 0

Q: Is tight?

t3+ε

slide-28
SLIDE 28

Randomness Complexity

Randomness Complexity = # of random-bit gates How many random bit-gates are needed? [IKLOPSZ13] random bit-gates sufficient, for any

t3+ε

ε > 0

Q: Is tight?

t3+ε

NO!

slide-29
SLIDE 29

Leakage resilient compilers for -sized circuits and threshold t

s

Results: Worst-Case Probing

slide-30
SLIDE 30

Leakage resilient compilers for -sized circuits and threshold

  • secure against -wire probing attacks

t

s

t

Results: Worst-Case Probing

slide-31
SLIDE 31

Leakage resilient compilers for -sized circuits and threshold

  • secure against -wire probing attacks
  • compiled circuit has size

t

s ⋅ poly(t)

s

t

Results: Worst-Case Probing

slide-32
SLIDE 32

Leakage resilient compilers for -sized circuits and threshold

  • secure against -wire probing attacks
  • compiled circuit has size
  • randomness complexity = , for any

t1+ε

t

ε > 0 s ⋅ poly(t)

s

t

Results: Worst-Case Probing

slide-33
SLIDE 33

Leakage-Resilience: Random Wire-probing attacks

[ISW03,Ajtai10,ADF16]

slide-34
SLIDE 34

Probabilistic Leakage: parameterized by (p,e)

Real World Ideal World

Every wire in leaked with probability p

≈e

Simulate leakage just given C

̂ C ( ̂ x)

Leakage-Resilience: Random Wire-probing attacks

[ISW03,Ajtai10,ADF16]

slide-35
SLIDE 35

Probabilistic Leakage: parameterized by (p,e)

Real World Ideal World

Every wire in leaked with probability p

≈e

Related to Noisy Leakage Model: [CJJR99,FRRTV10,DDF15,…]

Simulate leakage just given C

̂ C ( ̂ x)

Leakage-Resilience: Random Wire-probing attacks

[ISW03,Ajtai10,ADF16]

slide-36
SLIDE 36

Prior works: Random Wire-Probing Attacks

p = constant, e = negligible

slide-37
SLIDE 37

Prior works: Random Wire-Probing Attacks

p = constant, e = negligible

  • [Ajtai10]:
  • highly complex
slide-38
SLIDE 38

Prior works: Random Wire-Probing Attacks

p = constant, e = negligible

  • [Ajtai10]:
  • highly complex
  • [ADF16]:
  • simplifies Ajtai’s result
  • still uses heavy machinery (AG codes and expanders)
slide-39
SLIDE 39

Leakage-resilient circuit compiler against (p,e)-random probing attacks

  • for some 0 < p < 1
  • e negligible in circuit size

Results: Random-Wire Probing

slide-40
SLIDE 40

Leakage-resilient circuit compiler against (p,e)-random probing attacks

  • for some 0 < p < 1
  • e negligible in circuit size

Results: Random-Wire Probing

p = 0.000065

slide-41
SLIDE 41

Leakage-resilient circuit compiler against (p,e)-random probing attacks

  • for some 0 < p < 1
  • e negligible in circuit size
  • Simple composition-based approach; uses only elementary tools

Results: Random-Wire Probing

slide-42
SLIDE 42

Leakage-resilient circuit compiler against (p,e)-random probing attacks

  • for some 0 < p < 1
  • e negligible in circuit size

Large gates: construction with p close to 1

Results: Random-Wire Probing

slide-43
SLIDE 43

Leakage Tolerance

slide-44
SLIDE 44

Leakage Tolerance

̂ C ( ̂ x) = C(x)

̂ x = x

Input encoding and Output decoding algorithms are identity functions

slide-45
SLIDE 45

Leakage Tolerance

̂ C ( ̂ x) = C(x)

̂ x = x

Input encoding and Output decoding algorithms are identity functions

This implies leakage-resilience!

slide-46
SLIDE 46

Security Notions

A fraction of input and output will be leaked

  • Worst-case: parameterized by t
slide-47
SLIDE 47

Security Notions

A fraction of input and output will be leaked

  • Worst-case: parameterized by t

Leakage simulatable given

  • t bits of input
  • t bits of output
slide-48
SLIDE 48

Security Notions

A fraction of input and output will be leaked

  • Probabilistic: parameterized by (p,p’,e)

Leakage simulatable given

  • every bit of input x w/ probability p’
  • every bit of output C(x) w/ probability p’
slide-49
SLIDE 49

Results: Leakage Tolerance

Worst Case: t-wire probing attacks

  • construction: randomness complexity
  • lower bound: require at least t random-bit gates

t1+ε

slide-50
SLIDE 50

Results: Leakage Tolerance

Probabilistic Case: (p,p’,e)-random probing attacks

1

p

p > 0.8, any p’ > p Doesn’t exist p < 0.00006, any p’ > p Exists!

slide-51
SLIDE 51

Techniques

slide-52
SLIDE 52

Goal for this talk

  • Leakage-resilient circuit compiler
  • (p,e)-random probing attacks
slide-53
SLIDE 53

Starting Point:

t-out-n Secure MPC

… P1 P2 Pn x1 x2 xn … P1 P2 Pn x1 x2 xn

Π(C) ̂ C

slide-54
SLIDE 54

… P1 P1 Pn x1 x2 xn … P1 P2 Pn x1 x2 xn

Passive Corruption of P2 Leak State of P2

Π(C) ̂ C

Starting Point:

t-out-n Secure MPC

slide-55
SLIDE 55

Leakage-Resilient Circuit Compiler

̂ C = Π(C′)

C’

Input: shares of x Output: shares of C(x)

  • reconstruct x
  • compute C(x)
  • share C(x)
slide-56
SLIDE 56

Leakage-Resilient Circuit Compiler

Security?

slide-57
SLIDE 57

If at most t wires leaked then the leakage can be simulated

Leakage-Resilient Circuit Compiler

Security?

slide-58
SLIDE 58

If at most t wires leaked then the leakage can be simulated

Probability that more than t wires are leaked = Simulation error e

≤ exp(

−(1 + t)2 12poly(|C|) ⋅ p )

Simulation Error e (by Chernoff)

Leakage-Resilient Circuit Compiler

slide-59
SLIDE 59

If at most t wires leaked then the leakage can be simulated

Probability that more than t wires are leaked = Simulation error e

≤ exp(

−(1 + t)2 12poly(|C|) ⋅ p )

Simulation Error e (by Chernoff)

If p, |C|, t are constants then e is constant

Leakage-Resilient Circuit Compiler

slide-60
SLIDE 60

If at most t wires leaked then the leakage can be simulated

Probability that more than t wires are leaked = Simulation error e

≤ exp(

−(1 + t)2 12poly(|C|) ⋅ p )

Simulation Error e (by Chernoff)

If p, |C|, t are constants then e is constant

Leakage-Resilient Circuit Compiler

negligible??

slide-61
SLIDE 61

(p,e0)-Base Gadget G0

p = constant, e0 = constant Leakage-resilient circuit compiler with

slide-62
SLIDE 62

Reducing the Error

IDEA

  • Start with t-out-n secure MPC
  • Emulate every gate in t-out-n secure MPC

with (p,e0)-base gadget G0

Pi

NAND

Pi

G0

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

slide-63
SLIDE 63

Leakage simulatable as long as at most t base gadgets fail

Reducing the Error

Security?

slide-64
SLIDE 64

Probability that more than t base gadgets fail = Simulation error e1

Leakage simulatable as long as at most t base gadgets fail

Reducing the Error

Security?

slide-65
SLIDE 65

≤ exp(

−(1 + t)2 12poly(|C|) ⋅ e0)

Simulation Error e1 (by Chernoff)

Leakage simulatable as long as at most t base gadgets fail

Reducing the Error

Security?

Probability that more than t base gadgets fail = Simulation error e1

slide-66
SLIDE 66

Size?

slide-67
SLIDE 67

Size?

|Base Gadget| × |Π(C′)|

slide-68
SLIDE 68

IDEA

  • Start with t-out-n secure MPC
  • Emulate every gate in t-out-n secure MPC

with (p,ek-1)-gadget Gk-1

Pi

NAND

Pi

Gk-1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

After k steps

slide-69
SLIDE 69

After k steps: size?

Size of kth Gadget Gk

≤ |(k − 1)th Gadget| × |Π(C′)| ≤ |(k − 2)th Gadget| × |Π(C′)|

|Π(C′)|

×

. . .

≤ (|Π(C′)|)k

slide-70
SLIDE 70

After k steps: size?

Size of kth Gadget Gk

≤ |(k − 1)th Gadget| × |Π(C′)| ≤ |(k − 2)th Gadget| × |Π(C′)|

|Π(C′)|

×

. . .

(|Π(C′)|)k

When |C| is a constant…

= exp(O(k))

slide-71
SLIDE 71

After k steps: error

≤ exp(

−(1 + t)2 12poly(|C|) ⋅ ek−1 )

Simulation Error ek ≤ exp

−(1 + t)2 12poly(|C|) ⋅ exp(

−(1 + t)2 12poly(|C|) ⋅ ek−2 )

≤ exp

−(1 + t)2 12poly(|C|) ⋅ exp

−(1 + t)2 12poly(|C|) ⋅ exp( −(1 + t)2 12poly(|C|) ⋅ ek−3 )

≤ exp(−2O(k))

When |C| is a constant…

slide-72
SLIDE 72

When |C| is constant,

ek ≤ exp(−2O(k))

≤ exp (O(k))

k (Error)-1 Size

Size of kth Gadget Gk

slide-73
SLIDE 73

When |C| is constant,

ek

k (Error)-1 Size

Size of kth Gadget Gk

= negl(|C|) = poly(|C|) k = log(|C|)

≤ exp(−2O(k)) ≤ exp (O(k))

slide-74
SLIDE 74

When |C| is constant,

ek

k Size

C = NAND

Size of kth Gadget Gk

(Error)-1

= negl(|C|) = poly(|C|)

≤ exp(−2O(k)) ≤ exp (O(k))

slide-75
SLIDE 75

To compile a large circuit C,

NAND NAND NAND

. . . . . .

slide-76
SLIDE 76

To compile a large circuit C,

NAND NAND NAND

. . . . . .

Gk Gk Gk

. . . . . .

Stitch together the gadgets for every gate in the circuit

slide-77
SLIDE 77

To compile a large circuit C,

NAND NAND NAND

. . . . . .

Gk Gk Gk

. . . . . .

Compositional issues?

slide-78
SLIDE 78

Worst-Case Leakage: t-wire probing

  • Similar approach: analysis much simpler
slide-79
SLIDE 79
  • Similar approach: analysis much simpler
  • Randomness complexity:

Worst-Case Leakage: t-wire probing

slide-80
SLIDE 80
  • Similar approach: analysis much simpler
  • Randomness complexity:
  • G0 has constant randomness locality

Worst-Case Leakage: t-wire probing

slide-81
SLIDE 81
  • Similar approach: analysis much simpler
  • Randomness complexity:
  • G0 has constant randomness locality
  • Gk has randomness locality O(k)

Worst-Case Leakage: t-wire probing

slide-82
SLIDE 82
  • Similar approach: analysis much simpler
  • Randomness complexity:
  • G0 has constant randomness locality
  • Gk has randomness locality O(k)
  • k=O(log(t))

Worst-Case Leakage: t-wire probing

slide-83
SLIDE 83
  • Similar approach: analysis much simpler
  • Randomness complexity:
  • G0 has constant randomness locality
  • Gk has randomness locality O(k)
  • k=O(log(t))
  • [IKLOPSZ13] “small” randomness locality

implies “small” randomness complexity

Worst-Case Leakage: t-wire probing

slide-84
SLIDE 84

Conclusion

  • Worst-case wire-probing attacks:
  • Randomness complexity (optimal)
  • Prior to our work: randomness complexity
  • Random wire-probing attacks:
  • Simpler construction using elementary tools

t1+ε

t3+ε

slide-85
SLIDE 85

Thanks!