Secure Computation on Mobile Devices Peter Chapman CS 1120 December 2, 2011
Microsoft Research (Summer 2011) Web Side-Channel Leaks ( ) Secure Computation on Mobile Devices (2011-Present)
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!
Trust someone else? Alice Bob
The Dilemma Can we interact with others and control our data?
Secure Two-Party Computation Private Data: a Private Data: b Bob Alice Garbled Circuit Protocol Andrew Yao, 1982/1986
Yao’s Garbled Circuits InputsOutput abx AND a b x
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.
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 )
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!
Yao’s Garbled Circuits InputsOutput abx AND a b x
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.
We use 80-Bit Random Numbers ,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
Computing with Meaningless Values? InputsOutput abx a0a0 b0b0 x0x0 a0a0 b1b1 x0x0 a1a1 b0b0 x0x0 a1a1 b1b1 x1x1
Computing with Meaningless Values? InputsOutput abx 193b0b0 x0x0 b1b1 x0x0 a1a1 b0b0 x0x0 a1a1 b1b1 x1x1 Really 80-Bit Numbers
Computing with Meaningless Values? InputsOutput abx 193b0b0 x0x0 b1b1 x0x0 465b0b0 x0x0 b1b1 x1x1 Really 80-Bit Numbers
Computing with Meaningless Values? InputsOutput abx x0x0 193b1b1 x0x x0x0 465b1b1 x1x1 Really 80-Bit Numbers
Computing with Meaningless Values? InputsOutput abx x0x x0x x0x x1x1 Really 80-Bit Numbers
Computing with Meaningless Values? InputsOutput abx x1x1 Really 80-Bit Numbers
Computing with Meaningless Values? InputsOutput abx Really 80-Bit Numbers
Computing with Garbled Tables InputsOutput abx Enc 193;657 (844) Enc 193;255 (844) Enc 465;657 (844) Enc 465;255 (123) Bob can only decrypt one of these! Garbled And Gate Enc 193;255 (844) Enc 465;657 (123) Enc 465;657 (844) Enc 193;657 (844) Really 80-Bit Numbers
Garbled And Gate Enc 193;255 (844) Enc 465;657 (123) Enc 465;657 (844) Enc 193;657 (844) AliceBob Garbled And Gate Enc 193;255 (844) Enc 465;657 (123) Enc 465;657 (844) Enc 193;657 (844) a0a0 193
Oblivious Transfer AliceBob b0b0 657 b1b Garbled And Gate Enc 193;255 (844) Enc 465;657 (123) Enc 465;657 (844) Enc 193;657 (844)
Potential Applications Common Contacts Favorite Movies Hyper-Targeted Advertising Voting, Auctions & more! Collaborative Scheduling
Research Advice Don’t be afraid.
Attributions “iPhone” symbol from thenounproject.com collection. "Lock" symbol from thenounproject.com collection.