iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure...

38
ObliVM Task 1A Task 1B Set union Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan Huang and Elaine Shi University of Maryland, College Park Indiana University, Bloomington

Transcript of iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure...

Page 1: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

iDASH - Secure Genome AnalysisCompetition Using ObliVM

Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan Huangand Elaine Shi

University of Maryland, College ParkIndiana University, Bloomington

Page 2: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

ObliVM

Programming Framework for Secure

Computation

Ease-of-use: easy for non-specialist programmers to use

Efficiency: compiles programs to small circuits

Page 3: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

ObliVM

Programming Framework for Secure

Computation

Ease-of-use: easy for non-specialist programmers to use

Efficiency: compiles programs to small circuits

Page 4: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

ObliVM

Programming Framework for Secure

Computation

Ease-of-use: easy for non-specialist programmers to use

Efficiency: compiles programs to small circuits

Page 5: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Page 6: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

ObliVM

Programming Framework for Secure

Computation

Ease-of-use: easy for non-specialist programmers to use

Efficiency: compiles programs to small circuits

Formal Security: type system is being formalized

http://oblivm.com

Page 7: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Compute MAF

Compute minor allele frequencies

Alice Bob

CleartextSecure

AA AC AAf AliceA = 5, f AliceC = 1

AA AC CCf BobA = 3, f BobC = 3

Compute min(f AliceA + f BobA , f AliceC + f BobC )

Secure Computation: MAF = min(f AliceA + f BobA , f AliceC + f BobC )

Page 8: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Compute MAF

Compute minor allele frequencies

Alice Bob

CleartextSecure

AA AC AAf AliceA = 5, f AliceC = 1

AA AC CCf BobA = 3, f BobC = 3

Compute min(f AliceA + f BobA , f AliceC + f BobC )

Secure Computation: MAF = min(f AliceA + f BobA , f AliceC + f BobC )

Page 9: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Compute MAF

Compute minor allele frequencies

Alice Bob

CleartextSecure

AA AC AAf AliceA = 5, f AliceC = 1

AA AC CCf BobA = 3, f BobC = 3

Compute min(f AliceA + f BobA , f AliceC + f BobC )

Secure Computation: MAF = min(f AliceA + f BobA , f AliceC + f BobC )

Page 10: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Code in ObliVM-lang: Compute MAF

Page 11: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Problem Statement: Compute χ2

statistic

Task 1b: Computing χ2 statistic

AliceCase: AA AC AA

Control: AA CA CA

BobCase: AA AC CC

Control: CA AC CC

CleartextSecure

a, b: allele counts for case groupc , d : allele counts for control group(similar to Task 1A)

χ2 = n × (ad−bc)2

rsgkwhere r = a + b, s = c + d , g = a + c ,

k = b + d , n = r + s

Page 12: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Problem Statement: Compute χ2

statistic

Task 1b: Computing χ2 statistic

AliceCase: AA AC AA

Control: AA CA CA

BobCase: AA AC CC

Control: CA AC CC

CleartextSecure

a, b: allele counts for case groupc , d : allele counts for control group(similar to Task 1A)

χ2 = n × (ad−bc)2

rsgkwhere r = a + b, s = c + d , g = a + c ,

k = b + d , n = r + s

Page 13: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Problem Statement: Compute χ2

statistic

Task 1b: Computing χ2 statistic

AliceCase: AA AC AA

Control: AA CA CA

BobCase: AA AC CC

Control: CA AC CC

CleartextSecure

a, b: allele counts for case groupc , d : allele counts for control group(similar to Task 1A)

χ2 = n × (ad−bc)2

rsgkwhere r = a + b, s = c + d , g = a + c ,

k = b + d , n = r + s

Page 14: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Results: Compute χ2 statistic

Floating point computation

Absolute accuracy1.11× 10−4 with 7763 gates5.6× 10−8 with 14443 gates

Page 15: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Code in ObliVM-lang: Compute χ2

statistic

Page 16: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Building Block: Secure Set Union

AliceSA

{a, b, c}

BobSB

{b, d, e}

Cardinality of the union of the sets i.e. |SA ∪ SB ||SA ∪ SB | = 5

CleartextSecure

Strawman solution:

O(N log2N)

union(SA,SB)

1: Sort the combined array SA||SB obliviously2: Compute cardinality in a single pass

Page 17: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Building Block: Secure Set Union

AliceSA

{a, b, c}

BobSB

{b, d, e}

Cardinality of the union of the sets i.e. |SA ∪ SB ||SA ∪ SB | = 5

CleartextSecure

Strawman solution:

O(N log2N)

union(SA,SB)

1: Sort the combined array SA||SB obliviously2: Compute cardinality in a single pass

Page 18: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Building Block: Secure Set Union

AliceSA

{a, b, c}

BobSB

{b, d, e}

Cardinality of the union of the sets i.e. |SA ∪ SB ||SA ∪ SB | = 5

CleartextSecure

Strawman solution:

O(N log2N)

union(SA,SB)

1: Sort the combined array SA||SB obliviously

2: Compute cardinality in a single pass

Page 19: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Building Block: Secure Set Union

AliceSA

{a, b, c}

BobSB

{b, d, e}

Cardinality of the union of the sets i.e. |SA ∪ SB ||SA ∪ SB | = 5

CleartextSecure

Strawman solution:

O(N log2N)

union(SA,SB)

1: Sort the combined array SA||SB obliviously2: Compute cardinality in a single pass

Page 20: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Oblivious Merge

CleartextSecure

union(SA,SB)

1: Local sort of SA and SB

2: Oblivious merge of sorted lists3: Compute cardinality in a single pass

O(N logN)

Page 21: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Oblivious Merge

CleartextSecure

union(SA,SB)

1: Local sort of SA and SB

2: Oblivious merge of sorted lists

3: Compute cardinality in a single pass

O(N logN)

Page 22: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Oblivious Merge

CleartextSecure

union(SA,SB)

1: Local sort of SA and SB

2: Oblivious merge of sorted lists3: Compute cardinality in a single pass

O(N logN)

Page 23: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Code: Oblivious Merge

Page 24: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Bloom Filter

Common case: Check for existence of elements

Our case: Approximate the cardinality of a set S

Page 25: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Bloom Filter

Common case: Check for existence of elements

Our case: Approximate the cardinality of a set S

|S |MLE =ln(1−X

m )

k ln(1−1/m)

whereX : number of bits set,m: number of bits in the bloom filter,k : number of hash functions,|S |MLE : maximum likelihood estimate of |S |

Page 26: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Bloom Filter

CleartextSecure

union(SA,SB)

1: Compute bloom filters locally

2: In secure computation, compute bitwise OR and count num-ber of 1’s

3: Compute estimated |S | in cleartext

O(m) operations, m: number of bits used for bloom filterm = O(N), number of elements inserted in the bloom filter

Page 27: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Bloom Filter

CleartextSecure

union(SA,SB)

1: Compute bloom filters locally2: In secure computation, compute bitwise OR and count num-

ber of 1’s

3: Compute estimated |S | in cleartext

O(m) operations, m: number of bits used for bloom filterm = O(N), number of elements inserted in the bloom filter

Page 28: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Bloom Filter

CleartextSecure

union(SA,SB)

1: Compute bloom filters locally2: In secure computation, compute bitwise OR and count num-

ber of 1’s3: Compute estimated |S | in cleartext

O(m) operations, m: number of bits used for bloom filterm = O(N), number of elements inserted in the bloom filter

Page 29: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Set Union: Bloom Filter

CleartextSecure

union(SA,SB)

1: Compute bloom filters locally2: In secure computation, compute bitwise OR and count num-

ber of 1’s3: Compute estimated |S | in cleartext

O(m) operations, m: number of bits used for bloom filterm = O(N), number of elements inserted in the bloom filter

Page 30: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Code: CountOnes

Page 31: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Problem Statement: Hamming Distance

Alice and Bob maintain records of type (ref , svtype, alt) thatdiffer from the reference

d = 0;

for each record of type SNP or SUB

if ((x == null) || (y == null) || (x.ref ==

y.ref && x.alt != y.alt)

d += 1;

end for

Page 32: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Solution: Hamming Distance

Alice Bob

SA ={(1, T, SNP),(75, G, SNP)} SB ={(1, T, SNP),(18, A, SNP)}

We need all positions that have been modified, but notmodified to the same value

Hamming Distance = |SA ∪ SB | − |SA ∩ SB | =|{(75,G ,SNP), (18,A, SNP)}|

Page 33: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Problem Statement: Edit Distance

Alice and Bob maintain records of type (ref , svtype, alt) thatdiffer from the reference

Replacement: Calculate like hamming distance

Insertion/Deletion:

If one party modifies a position, add

len(alt) to edit distance

If both parties modify a position, add

len(max(alt1, alt2)) to edit distance

Page 34: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Solution: Edit Distance

Alice{(1, T, SNP),(10, TCG, INS),(75, G, SNP)}

Bob{(1, T, SNP),(10, CA, INS),(18, A, SNP)}

SA1 = {(1, 1), (10, 1), (10, 2), (10, 3), (75, 1)}

SA2 = {(1,T , 1), (10,T , 1), (10,C , 2), (10,G , 3), (75,G , 1)}

d1 = |SA1 ∪ SB

1 | = |{(1, 1), (10, 1), (10, 2), (10, 3), (75, 1), (18, 1)}|

d2 = |SA2 ∩ SB

2 | = |{(1,T , 1)}|

Compute d1− d2

Page 35: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Solution: Edit Distance

Alice{(1, T, SNP),(10, TCG, INS),(75, G, SNP)}

Bob{(1, T, SNP),(10, CA, INS),(18, A, SNP)}

SA1 = {(1, 1), (10, 1), (10, 2), (10, 3), (75, 1)}

SA2 = {(1,T , 1), (10,T , 1), (10,C , 2), (10,G , 3), (75,G , 1)}

d1 = |SA1 ∪ SB

1 | = |{(1, 1), (10, 1), (10, 2), (10, 3), (75, 1), (18, 1)}|

d2 = |SA2 ∩ SB

2 | = |{(1,T , 1)}|

Compute d1− d2

Page 36: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Solution: Edit Distance

Alice{(1, T, SNP),(10, TCG, INS),(75, G, SNP)}

Bob{(1, T, SNP),(10, CA, INS),(18, A, SNP)}

SA1 = {(1, 1), (10, 1), (10, 2), (10, 3), (75, 1)}

SA2 = {(1,T , 1), (10,T , 1), (10,C , 2), (10,G , 3), (75,G , 1)}

d1 = |SA1 ∪ SB

1 | = |{(1, 1), (10, 1), (10, 2), (10, 3), (75, 1), (18, 1)}|

d2 = |SA2 ∩ SB

2 | = |{(1,T , 1)}|

Compute d1− d2

Page 37: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Solution: Edit Distance

Alice{(1, T, SNP),(10, TCG, INS),(75, G, SNP)}

Bob{(1, T, SNP),(10, CA, INS),(18, A, SNP)}

SA1 = {(1, 1), (10, 1), (10, 2), (10, 3), (75, 1)}

SA2 = {(1,T , 1), (10,T , 1), (10,C , 2), (10,G , 3), (75,G , 1)}

d1 = |SA1 ∪ SB

1 | = |{(1, 1), (10, 1), (10, 2), (10, 3), (75, 1), (18, 1)}|

d2 = |SA2 ∩ SB

2 | = |{(1,T , 1)}|

Compute d1− d2

Page 38: iDASH - Secure Genome Analysis Competition Using ObliVM€¦ · Task 2A Task 2B iDASH - Secure Genome Analysis Competition Using ObliVM Xiao Shaun Wang, Chang Liu, Kartik Nayak, Yan

ObliVM

Task 1A

Task 1B

Set union

Task 2A

Task 2B

Thank You!http://oblivm.com/

[email protected]