Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task...

25
Revisiting Square Root ORAM Efficient Random Access in Multi-Party Computation Samee Zahur Jack Doerner David Evans Xiao Wang Jonathan Katz Mariana Raykova Adrià Gascón oblivc.org/sqoram

Transcript of Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task...

Page 1: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Revisiting Square Root ORAM Efficient Random Access in Multi-Party Computation

Samee ZahurJack DoernerDavid Evans

Xiao WangJonathan Katz

Mariana Raykova Adrià Gascón

oblivc.org/sqoram

Page 2: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Secure multi-party computation applications

Set intersection [FNP04]

Linear ridge-regression [NWIJBT13]

Median computation [AMP04]

Iris code matching [LCPLB12]

Matrix factorization for recommendations

[NIWJTB13]

Page 3: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Random Access

Page 4: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Hiding access pattern

Linear scan

Access every element

Per-access cost: Θ 𝑛

Oblivious RAM

Continually shuffle elements around

Per-access cost: Θ(log𝑝 𝑛)

Page 5: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Figure from: Wang, Chan, Shi. Circuit Oram. CCS’15

Linear scan

Page 6: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

6

(our work)

Page 7: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Approach: revisit old schemes

Classic “square root” scheme by Goldreich and Ostrovsky (1996).

Considered slow for MPC because of per-access hash evaluation.

Per-access amortized cost: Θ 𝑛 log 𝑛

Page 8: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Four-element ORAM Larger Sizes

Page 9: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

4-Block ORAM

Cost: 5𝐵 + 𝐵 +2𝐵 +3𝐵 + …

= 11𝐵 every 3 accesses

Page 10: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Comparison

Linear scan

Cost: 4𝐵 = 12𝐵/3

Our scheme

Cost: 11𝐵/3

Page 11: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Four-element ORAM Larger Sizes

Page 12: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Position map

3 0 2 1

0 1 2 3

1 3 0 2

0 1 2 3

Page 13: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Keeping position map updated

Position map

Page 14: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Keeping position map updated

Position map

Page 15: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Rinse and repeat

1. Shuffle elements

2. Recreate position map

3. Service 𝑇 = 𝑛 log 𝑛 accesses

Page 16: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Creating position map

Page 17: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Creating position map

Page 18: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Inverse permutation

𝜋𝐴

𝑝

𝜋𝐴 ⋅ 𝑝𝜋𝐵 = 𝜋𝐴 ⋅ 𝑝

Page 19: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Inverse permutation

𝜋𝐴

Bob computes𝜋𝐵

−1 = 𝑝−1 ⋅ 𝜋𝐴−1

𝜋𝐴

𝜋𝐵−1 ⋅ 𝜋𝐴

= 𝑝−1 ⋅ 𝜋𝐴−1 ⋅ 𝜋𝐴

= 𝑝−1

𝜋𝐵 = 𝜋𝐴 ⋅ 𝑝

𝜋𝐵

Page 20: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Rinse and repeat

1. Shuffle elements

2. Recreate position map

3. Service 𝑇 = 𝑛 log 𝑛 accesses

at Θ 𝑛 log 𝑛

Page 21: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Access time

Page 22: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Initialization cost

Page 23: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Benchmarks

Task Parameters Linear scanCircuit ORAM

Square-root ORAM

Binary search210 searches215 elements 1020 s 5041 s 825 s

Breadth-firstsearch

210 vertices213 edges 4570 s 3750 s 680 s

Stable matching 29 pairs - 189000 s 119000 s

scrypt hashing N = 214 ≈ 7 days 2850 s 1920 s

Page 24: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Conclusion

We revisited a well-known scheme and used it to

• Lower initialization cost

• Improve breakeven point

Shows that asymptotic costs are not the final word, concrete costs require more consideration.

Page 25: Revisiting Square Root ORAM - DIMACSdimacs.rutgers.edu/Workshops/RAM/Slides/zahur.pdfBenchmarks Task Parameters Linear scan Circuit ORAM Square-root ORAM Binary search 210 searches

Download

oblivc.org/sqoram

Contact for help:Samee Zahur <[email protected]>