computing cooperatively with people you don't trust

34
Computing Cooperative ly with People You Don't Trust David Evans University of Virginia http:// www.cs.virginia.edu/ University of Richmond 30 January 2012

Upload: david-evans

Post on 22-Jun-2015

10.539 views

Category:

Education


0 download

DESCRIPTION

David Evans, UVA Department of Computer ScienceTalk at University of Richmond, 30 January 2012Two-party secure computation allows two parties to compute a function that depends on inputs from both parties, but reveals nothing except the output of the function. A general solution to this problem have been known since Andrew Yao's pioneering work on garbled circuits in the 1980s, but only recently has it become conceivable to use this approach in real systems. This talk will provide an introduction to secure computation, and describe the work we are doing at UVa to make secure computation efficient and scalable enough to build real applications. The talk assumes no prior background in cryptography, and should be understandable all computing students.

TRANSCRIPT

Page 1: Computing Cooperatively with People You Don't Trust

Computing Cooperatively with People You Don't Trust

David EvansUniversity of Virginia

http://www.cs.virginia.edu/evanshttp://MightBeEvil.com

University of Richmond30 January 2012

Page 2: Computing Cooperatively with People You Don't Trust

2

“Genetic Dating”

AliceBob

Genome Compatibility Protocol

Your offspring will have good immune systems!

Your offspring will have good immune systems!

WARNING! Don’t Reproduce

WARNING!Don’t Reproduce

Page 3: Computing Cooperatively with People You Don't Trust

3

Page 4: Computing Cooperatively with People You Don't Trust

4

Genome Sequencing1990: Human Genome Project starts, estimate $3B to sequence one genome ($0.50/base)

2000: Human Genome Project declared complete, cost ~$300M

Whitehead Institute, MIT

Page 5: Computing Cooperatively with People You Don't Trust

5

Sep 2001

Feb 2002

Jul 2002

Dec 2002

May 2003

Oct 2003

Mar 2004

Aug 2004

Jan 2005

Jun 2005

Nov 2005

Apr 2006

Sep 2006

Feb 2007

Jul 2007

Dec 2007

May 2008

Oct 2008

Mar 2009

Aug 2009

Jan 2010

Jun 2010 $10,000

$100,000

$1,000,000

$10,000,000

$100,000,000 Cost to sequence human genome

Moore’s Law prediction(halve every 18 months)

Data from National Human Genome Research Institute: http://www.genome.gov/sequencingcosts

Page 6: Computing Cooperatively with People You Don't Trust

6

Sep 2001

Feb 2002

Jul 2002

Dec 2002

May 2003

Oct 2003

Mar 2004

Aug 2004

Jan 2005

Jun 2005

Nov 2005

Apr 2006

Sep 2006

Feb 2007

Jul 2007

Dec 2007

May 2008

Oct 2008

Mar 2009

Aug 2009

Jan 2010

Jun 2010 $10,000

$100,000

$1,000,000

$10,000,000

$100,000,000 Cost to sequence human genome

Moore’s Law prediction(halve every 18 months)

Data from National Human Genome Research Institute: http://www.genome.gov/sequencingcosts

Ion torrent Personal Genome Machine

Page 7: Computing Cooperatively with People You Don't Trust

Human Genome Sequencing Using Unchained Base Reads on Self-Assembling DNA Nanoarrays. Radoje Drmanac, Andrew B. Sparks, Matthew J. Callow, Aaron L. Halpern, Norman L. Burns, Bahram G. Kermani, Paolo Carnevali, Igor Nazarenko, Geoffrey B. Nilsen, George Yeung, Fredrik Dahl, Andres Fernandez, Bryan Staker, Krishna P. Pant, Jonathan Baccash, Adam P. Borcherding, Anushka Brownley, Ryan Cedeno, Linsu Chen, Dan Chernikoff, Alex Cheung, Razvan Chirita, Benjamin Curson, Jessica C. Ebert, Coleen R. Hacker, Robert Hartlage, Brian Hauser, Steve Huang, Yuan Jiang, Vitali Karpinchyk, Mark Koenig, Calvin Kong, Tom Landers, Catherine Le, Jia Liu, Celeste E. McBride, Matt Morenzoni, Robert E. Morey, Karl Mutch, Helena Perazich, Kimberly Perry, Brock A. Peters, Joe Peterson, Charit L. Pethiyagoda, Kaliprasad Pothuraju, Claudia Richter, Abraham M. Rosenbaum, Shaunak Roy, Jay Shafto, Uladzislau Sharanhovich, Karen W. Shannon, Conrad G. Sheppy, Michel Sun, Joseph V. Thakuria, Anne Tran, Dylan Vu, Alexander Wait Zaranek, Xiaodi Wu, Snezana Drmanac, Arnold R. Oliphant, William C. Banyai, Bruce Martin, Dennis G. Ballinger, George M. Church, Clifford A. Reid. Science, January 2010.

Page 8: Computing Cooperatively with People You Don't Trust

8

Dystopia

Personalized Medicine

Page 9: Computing Cooperatively with People You Don't Trust

9

Secure Two-Party Computation

AliceBob

Bob’s Genome: ACTG…Markers (~1000): [0,1, …, 0]

Alice’s Genome: ACTG…Markers (~1000): [0, 0, …, 1]

Can Alice and Bob compute a function of their private data, without exposing anything about their data besides the result?

Page 10: Computing Cooperatively with People You Don't Trust

Secure Function EvaluationAlice (circuit generator) Bob (circuit evaluator)

Garbled Circuit Protocol

Andrew Yao, 1982/1986

Page 11: Computing Cooperatively with People You Don't Trust

Regular LogicInputs Output

a b x0 0 00 1 01 0 01 1 1

AND

a b

x

Page 12: Computing Cooperatively with People You Don't Trust

Computing with Meaningless Values?Inputs Output

a b xa0 b0 x0

a0 b1 x0

a1 b0 x0

a1 b1 x1

AND

a0 or a1 b0 or b1

x0 or x1

ai, bi, xi are random values, chosen by the circuit generator but meaningless to the circuit evaluator.

Page 13: Computing Cooperatively with People You Don't Trust

13

Encryption

Encrypt

Page 14: Computing Cooperatively with People You Don't Trust

Logic with PrivacyInputs Output

a b x

a0 b0

a0 b1

a1 b0

a1 b1

Page 15: Computing Cooperatively with People You Don't Trust

Computing with Garbled TablesInputs Output

a b xa0 b0 Enca0,b0(x0)

a0 b1 Enca0,b1(x0)

a1 b0 Enca1,b0(x0)

a1 b1 Enca1,b1(x1)

AND

a0 or a1 b0 or b1

x0 or x1

Bob can only decrypt one of these!

Garbled And Gate

Enca0, b1(x0)

Enca1,b1(x1)

Enca1,b0(x0)

Enca0,b0(x0)

Random Permutation

Page 16: Computing Cooperatively with People You Don't Trust

Garbled Gate

Enca0, b1(x0)

Enca1,b1(x1)

Enca1,b0(x0)

Enca0,b0(x0)

Garbled Circuit ProtocolAlice (circuit generator)

Sends ai to Bob based on her input value

Bob (circuit evaluator)

How does the Bob learn his own input wires?

Page 17: Computing Cooperatively with People You Don't Trust

Primitive: Oblivious TransferAlice Bob

Oblivious Transfer Protocol

Oblivious: Alice doesn’t learn which secret Bob obtainsTransfer: Bob learns one of Alice’s secrets

Rabin, 1981; Even, Goldreich, and Lempel, 1985; many subsequent papers

Page 18: Computing Cooperatively with People You Don't Trust

18

Chaining Garbled Circuits

AND

a0 b0

x0

AND

a1 b1

x1

OR

x2

And Gate 1

Enca10, b11(x10)

Enca11,b11(x11)

Enca11,b10(x10)

Enca10,b10(x10)

Or Gate 2

Encx00, x11(x21)

Encx01,x11(x21)

Encx01,x10(x21)

Encx00,x10(x20) …

We can do any computation privately this way!

Page 19: Computing Cooperatively with People You Don't Trust

19

Building Computing SystemsEncx00, x11

(x21)

Encx01,x11(x21)

Encx01,x10(x21)

Encx00,x10(x20)

Digital Electronic Circuits Garbled Circuits

Operate on known data Operate on encrypted wire labels

One-bit logical operation requires moving a few electrons a few nanometers (hundreds of Billions per second)

One-bit logical operation requires performing (up to) 4 encryption operations: very slow execution

Reuse is great! Reuse is not allowed for privacy: huge circuits needed

Page 20: Computing Cooperatively with People You Don't Trust

20

Fairplay

Dahlia Malkhi, Noam Nisan, Benny Pinkas and Yaron Sella [USENIX Sec 2004]

SFDL Program

SFDL Compiler

Circuit (SHDL)

Alice Bob

Garbled Tables Generator

Garbled Tables Evaluator

SFDL Compiler

Page 21: Computing Cooperatively with People You Don't Trust

21

Encx00,

x11(x21)

Encx01,x11(x2

1)

Encx01,x10(x2

1)

Encx20,

x21(x30)

Encx21,x21(x3

0)

Encx21,x20(x3

1)

Encx20,

x31(x41)

Encx21,x31(x4

1)

Encx21,x30(x4

0)

Encx40,

x31(x51)

Encx41,x31(x5

0)

Encx41,x30(x5

0)

Encx40,

x51(x61)

Encx41,x51(x6

0)

Encx41,x50(x6

0)

Encx30,

x61(x71)

Encx31,x61(x7

0)

Encx31,x60(x7

1)

Faster Garbled CircuitsCircuit-Level Application

GC Framework(Evaluator)

GC Framework (Generator)

Circuit StructureCircuit Structure

x41

x21

x31

x60

x51

x71

Gates can be evaluated as they are generated: pipeliningGates can be evaluated in any topological sort order: parallelizing

Garbled evaluation can be combined with normal execution

Page 22: Computing Cooperatively with People You Don't Trust

Results: Performance

22

Our Results

TASTY

[PSSW09]

Fairplay

0 10 20 30 40 50 60 70 80 90 100

Binary gates per millisecond

100,000 gates per second

Page 23: Computing Cooperatively with People You Don't Trust

Results: Scalability

23

Our Re-

sults

TASTY

[PSSW09]

Fairplay

0 1,000,000,000

Largest circuit executed (non-free gates)

Page 24: Computing Cooperatively with People You Don't Trust

24

ApplicationsPrivacy-Preserving

Biometric Matching

Private Personal

Genomics

Private Set Intersection

Private AES Encryption

Page 25: Computing Cooperatively with People You Don't Trust

25

Heterozygous Recessive Risk

A aA AA Aaa aA aa

AliceBo

b

cystic fibrosis

carrier

Goal: find the intersection of A and B

Alice’s Heterozygous Recessive genes: { 5283423, 1425236, 839523, … } Bob’s Heterozygous Recessive genes: { 5823527, 839523, 169325, … }

Page 26: Computing Cooperatively with People You Don't Trust

26

Bit Vector IntersectionAlice’s Recessive genes:

{ 5283423, 1425236, 839523, … } Bob’s Recessive genes:

{ 5823527, 839523, 169325, … }

[ 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0] [ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0]

[ PAH, PKU, CF, … ]

ANDANDAND . . .Bitwise AND

. . .

Page 27: Computing Cooperatively with People You Don't Trust

Common Contacts

Page 28: Computing Cooperatively with People You Don't Trust

28

Sort-Compare-Shuffl

e

Sort: Take advantage of total order of elements

Compare adjacent elements

Shuffle to hide positions

Page 29: Computing Cooperatively with People You Don't Trust

SCS-WN Protocol Results

32-bit values

1

10

100Theoretical Projection

Experimental Observation

Set Size (each set)

Seco

nds

Page 30: Computing Cooperatively with People You Don't Trust

30

Page 31: Computing Cooperatively with People You Don't Trust

31

ProblemBest Previous

Result Our Result SpeedupPrivate Set Intersection (contact matching, common disease carrier)

Competitive with best custom protocols, scales to millions of 32-bit elements

Hamming Distance (Face Recognition)

213s [SCiFI, 2010]

0.051s 4176

Levenshtein Distance (genome, text comparison) – two 200-character inputs

534s [Jha+, 2008]

18.4s 29

Smith-Waterman (genome alignment) – two 60-nucleotide sequences

[Not Implementable]

447s -

AES Encryption 3.3s [Henecka, 2010]

0.2s 16.5

Fingerprint Matching (1024-entry database, 640x8bit vectors)

~83s [Barni, 2010]

18s 4.6NDSS 2011

USE

NIX

Sec

urity

201

1

NDSS 2012

Page 32: Computing Cooperatively with People You Don't Trust

32

Research Group and Alumni

Page 33: Computing Cooperatively with People You Don't Trust

33

Jonathan Katz(University of Maryland)

Yan Huang(UVa Computer Science

PhD Student)

Peter Chapman(UVa BACS 2012)

Funding: NSF, MURI (AFOSR), Google

Page 34: Computing Cooperatively with People You Don't Trust

34

MightBeEvil.com