stadium
play

Stadium A Distributed Metadata-private Messaging System Nirvan - PowerPoint PPT Presentation

Stadium A Distributed Metadata-private Messaging System Nirvan Tyagi Yossi Gilad Derek Leung Matei Zaharia Nickolai Zeldovich SOSP 2017 Previous talk: Anonymous broadcast This talk: Private messaging Alice Bob Problem: Communication


  1. Stadium A Distributed Metadata-private Messaging System Nirvan Tyagi Yossi Gilad Derek Leung Matei Zaharia Nickolai Zeldovich SOSP 2017

  2. Previous talk: Anonymous broadcast

  3. This talk: Private messaging Alice Bob

  4. Problem: Communication metadata Alice Bob (oncologist)

  5. Goal: Hiding communication metadata Stadium Alice Bob (oncologist)

  6. Related work Metadata-private systems with cryptographic security limited in throughput. Dissent [OSDI’12] , Riposte [S&P’15] ~ 1.5 - 65 K messages / min Pung [OSDI’16] , Atom [SOSP’17]

  7. Related work Metadata-private systems with cryptographic security limited in throughput. Dissent [OSDI’12] , Riposte [S&P’15] ~ 1.5 - 65 K messages / min Pung [OSDI’16] , Atom [SOSP’17] Throughput increased by relaxing guarantees to differential privacy . ~ 2 M messages / min Vuvuzela [SOSP’15]

  8. Related work Metadata-private systems with cryptographic security limited in throughput. Dissent [OSDI’12] , Riposte [S&P’15] ~ 1.5 - 65 K messages / min Pung [OSDI’16] , Atom [SOSP’17] Throughput increased by relaxing guarantees to differential privacy . ~ 2 M messages / min Vuvuzela [SOSP’15] > 10 M messages / min Stadium [SOSP’17] First metadata-private messaging system to scale horizontally

  9. Vuvuzela: Differentially private messaging Dead-drops: virtually hosted addresses at which user messages are exchanged ● dead-drops

  10. Vuvuzela: Differentially private messaging Dead-drops: virtually hosted addresses at which user messages are exchanged ● Mixnet: servers re-randomize and permute messages ● mixnet

  11. Vuvuzela: Differentially private messaging Dead-drops: virtually hosted addresses at which user messages are exchanged ● Mixnet: servers re-randomize and permute messages ● Noise: servers add fake messages to obscure adversary observations ●

  12. Scaling limitations Every server handles all messages ● Running a server is expensive (e.g. 2M users / minute = 1.3 Gbps) ●

  13. Challenge: How to distribute workload across untrustworthy servers? 1. How to mix messages? 2. How to add noise?

  14. Stadium design Collaborative noise generation + verifiable parallel mixnet

  15. Stadium design Collaborative noise generation + verifiable parallel mixnet

  16. Stadium design Collaborative noise generation + verifiable parallel mixnet

  17. Contributions Stadium design ● Parallel mixnet ○ Collaborative noise generation ○ Verifiable processing including fast zero-knowledge proofs of shuffle ○ Multidimensional differential privacy analysis ● Implementation and evaluation of prototype ● 10 M messages/min with per-server costs of ~100 Mbps

  18. Parallel mixnets with cryptographic security of mixing have large depth. Iterated butterfly topology [ICALP ‘14] as used by Atom [SOSP ‘17] ● Large depth not good for low latency applications ● Repeat One butterfly iteration # of servers

  19. Stadium uses 2-layer mixnet with differential privacy analysis.

  20. Traffic analysis attacks take advantage of uneven routings. Trace messages by modeling likely paths through mixnet ( Borisov [PET ‘05] ) ●

  21. Traffic analysis attacks take advantage of uneven routings. Trace messages by modeling likely paths through mixnet ( Borisov [PET ‘05] ) ● Even if links are padded with dummy messages, adversary can incorporate ● adversary-known inputs and outputs to infer uneven routing

  22. Traffic analysis attacks take advantage of uneven routings. Trace messages by modeling likely paths through mixnet ( Borisov [PET ‘05] ) ● Even if links are padded with dummy messages, adversary can incorporate ● adversary-known inputs and outputs to infer uneven routing

  23. Traffic analysis attacks take advantage of uneven routings. Trace messages by modeling likely paths through mixnet ( Borisov [PET ‘05] ) ● Even if links are padded with dummy messages, adversary can incorporate ● adversary-known inputs and outputs to infer uneven routing

  24. Add noise messages to provide differential privacy for uneven routings. Adversary manipulates padding through known message injection ● Unlike padding, noise messages are independent of adversary action ●

  25. Noising internal links not helpful if messages aren’t mixed. Adversary learns path of all messages through compromised servers ●

  26. Noising internal links not helpful if messages aren’t mixed. Adversary learns path of all messages through compromised servers ●

  27. Ensure mixing by organizing providers into small groups of servers. Probability of compromise with random assignment falls exponentially with ● group size

  28. Problem: Scaling noise generation Vuvuzela server # of fake messages

  29. Problem: Distributed noise generation Stadium servers Aggregate # of fake messages

  30. Problem: Distributed noise generation Stadium servers probability Aggregate distribution # of fake messages

  31. Poisson distribution for distributed noise generation Additive Discrete Non-negative Noise mechanism Laplace Gaussian Poisson Poisson provides all properties nicely ●

  32. Multidimensional analysis for reducing noise requirements When a user changes communication pattern, only a few links are affected ● Reduce noise by a factor of where is probability link is affected ●

  33. Verifiable processing pipeline Ensure noise messages stay in system ● Utilize various cryptographic zero knowledge proofs of integrity ● Hybrid verification scheme ● Zero knowledge proof of shuffle is bottleneck processing cost ● Multicore Bayer-Groth verifiable shuffle on Curve25519 ○ ~ 20X performance speedup over state of the art ○ E.g. 100K ciphertext shuffle speedup from 128 seconds to ~7 seconds ○

  34. Implementation Prototype ● Control and networking logic in Go (2500 lines of code) ○ Verifiable processing protocols in C++ (9000 lines of code) ○ Highly optimized Bayer-Groth verifiable shuffle implementation ■ Available at github.com/nirvantyagi/stadium ○

  35. Evaluation Recall goal: horizontal scalability with inexpensive servers ● What is the cost of operating a Stadium server? ● Does Stadium horizontally scale? ●

  36. Evaluation methodology Deploy Stadium on up to 100 Amazon c4.8xlarge EC2 VMs ● 36 virtual cores, 60 GB memory ○ US East region ○ Message size: 144 B ○ Extrapolate scaling patterns to larger deployment sizes ●

  37. Operating costs of a Stadium server are relatively small 88 - 173 Mbps 6-13% of Vuvuzela’s 1.3Gbps Bandwidth is dominant cost ● Operating costs ~ $110 / month* ● Top 300 of relays in Tor offer > 140 Mbps ● *W. Norton. 2010. Internet Transit Prices - Historical and Projected. Technical Report. http://drpeering.net/white-papers/ Internet-Transit-Pricing-Historical-And-Projected.php

  38. Messages are effectively distributed across servers to reduce latency Stadium

  39. Conclusion Stadium: high-throughput, horizontally-scaling, metadata-private system ● Verifiable parallel mixnet resistant to traffic analysis ○ Fast zero-knowledge proofs of shuffle ○ Collaborative noise generation with Poisson distribution ○ Multidimensional differential privacy analysis ● Implementation and evaluation of prototype ● Prototype at github.com/nirvantyagi/stadium

  40. Reserve Slides

  41. Dead-drop message exchange d4cf2802a26e60e489a0b6949a8d881c d4cf2802a26e60e489a0b6949a8d881c e0784f9889a878fdb3c6c27d6a8318fb

  42. Dead-drop message exchange

  43. Dead-drop message exchange Easy to observe conversations

  44. Dead-drop message exchange d4cf2802a26e60e... e0784f9889a878f...

  45. Dead-drop message exchange

  46. Dead-drop message exchange 2 d4cf2802a26e60e... 0 1 e0784f9889a878f... 0 Dead-drop access counts reveal conversation

  47. Dead-drop message exchange 2 d4cf2802a26e60e... 0 1 e0784f9889a878f... 0 Dead-drop access counts reveal conversation Add “noise” to access counts with fake messages!

  48. Differential Privacy Pr[Alice talking to Bob] Pr[Alice not talking to Bob]

  49. Differential Privacy Pr[Alice talking to Bob] Pr[Alice not talking to Bob] probability no noise 1 0 # of 2-message dead-drops

  50. Differential Privacy Pr[Alice talking to Bob] Pr[Alice not talking to Bob] probability no noise with noise 1 0 ~1000 # of 2-message dead-drops

Recommend


More recommend