# Secure Computation on Mobile Devices Peter Chapman CS 1120 December 2, 2011.

## Presentation on theme: "Secure Computation on Mobile Devices Peter Chapman CS 1120 December 2, 2011."— Presentation transcript:

Secure Computation on Mobile Devices Peter Chapman http://www.cs.virginia.edu/~pmc8p CS 1120 December 2, 2011

Microsoft Research (Summer 2011) Web Side-Channel Leaks (2010-2011) 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 000 010 100 111 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 000 010 100 111 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 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

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 193657x0x0 193b1b1 x0x0 465657x0x0 465b1b1 x1x1 Really 80-Bit Numbers

Computing with Meaningless Values? InputsOutput abx 193657x0x0 193255x0x0 465657x0x0 465255x1x1 Really 80-Bit Numbers

Computing with Meaningless Values? InputsOutput abx 193657844 193255844 465657844 465255x1x1 Really 80-Bit Numbers

Computing with Meaningless Values? InputsOutput abx 193657844 193255844 465657844 465255123 Really 80-Bit Numbers

Computing with Garbled Tables InputsOutput abx 193657Enc 193;657 (844) 193255Enc 193;255 (844) 465657Enc 465;657 (844) 465255Enc 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 b1b1 255 657 Garbled And Gate Enc 193;255 (844) Enc 465;657 (123) Enc 465;657 (844) Enc 193;657 (844) 193 844 0

Potential Applications Common Contacts Favorite Movies Hyper-Targeted Advertising Voting, Auctions & more! Collaborative Scheduling

http://MightBeEvil.com/mobile/