Secure Computation on Mobile Devices Peter Chapman
http://www.cs.virginia.edu/~pmc8p CS 1120 December 2, 2011
Slide 2
Microsoft Research (Summer 2011) Web Side-Channel Leaks
(2010-2011) Secure Computation on Mobile Devices
(2011-Present)
Slide 3
Mutual Contact Discovery Alice Bob Sharing contact list with a
stranger is unacceptable Discover! Someone nearby also knows Alice
and 8 other contacts of yours!
Slide 4
Trust someone else? Alice Bob
Slide 5
The Dilemma Can we interact with others and control our
data?
Slide 6
Secure Two-Party Computation Private Data: a Private Data: b
Bob Alice Garbled Circuit Protocol Andrew Yao, 1982/1986
Slide 7
Yaos Garbled Circuits InputsOutput abx 000 010 100 111 AND a b
x
Slide 8
Computing with Meaningless Values? InputsOutput abx a0a0 b0b0
x0x0 a0a0 b1b1 x0x0 a1a1 b0b0 x0x0 a1a1 b1b1 x1x1 AND a 0 or a 1 b
0 or b 1 x 0 or x 1 a i, b i, x i are random values, chosen by the
circuit generator but meaningless to the circuit evaluator.
Slide 9
Computing with Garbled Tables InputsOutput abx a0a0 b0b0 Enc a
0,b 0 (x 0 ) a0a0 b1b1 Enc a 0,b 1 (x 0 ) a1a1 b0b0 Enc a 1,b 0 (x
0 ) a1a1 b1b1 Enc a 1,b 1 (x 1 ) AND a 0 or a 1 b 0 or b 1 x 0 or x
1 a i, b i, x i are random values, chosen by the circuit generator
but meaningless to the circuit evaluator. Bob can only decrypt one
of these! Garbled And Gate Enc a 0, b 1 (x 0 ) Enc a 1,b 1 (x 1 )
Enc a 1,b 0 (x 0 ) Enc a 0,b 0 (x 0 )
Slide 10
Chaining Garbled Circuits AND a0a0 b0b0 x0x0 a1 b1b1 x1x1 OR
x2x2 And Gate 1 Enc a1 0, b 1 1 (x1 0 ) Enc a1 1,b1 1 (x1 1 ) Enc
a1 1,b1 0 (x1 0 ) Enc a1 0,b1 0 (x1 0 ) Or Gate 2 Enc x0 0, x 1 1
(x2 1 ) Enc x0 1,x1 1 (x2 1 ) Enc x0 1,x1 0 (x2 1 ) Enc x0 0,x1 0
(x2 0 ) We can do any computation privately this way!
Slide 11
Slide 12
Yaos Garbled Circuits InputsOutput abx 000 010 100 111 AND a b
x
Slide 13
Computing with Meaningless Values? InputsOutput abx a0a0 b0b0
x0x0 a0a0 b1b1 x0x0 a1a1 b0b0 x0x0 a1a1 b1b1 x1x1 a i, b i, x i are
random values, chosen by the circuit generator but meaningless to
the circuit evaluator.
Slide 14
We use 80-Bit Random Numbers
11111111111111111111111111111111111111111110100001000000010001000011011000001000
1,208,925,819,614,527,173,703,176 1 septillion, 208 sextillion, 925
quintillion, 819 quadrillion, 614 trillion, 527 billion, 173
million, 703 thousand, and 176