Dissent: Accountable, Anonymous Communication

Slides:



Advertisements
Similar presentations
The Diffie-Hellman Algorithm
Advertisements

Anonymity without Sacrificing Performance Enhanced Nymble System with Distributed Architecture CS 858 Project Presentation Omid Ardakanian * Nam Pham *
Secure Multiparty Computations on Bitcoin
Scalable Anonymous Group Communication in the Anytrust Model David Wolinsky 1, Henry Corrigan-Gibbs 1, Bryan Ford 1, and Aaron Johnson 2 1 Yale University,
Dissent in Numbers: Making Strong Anonymity Scale David Wolinsky 1, Henry Corrigan-Gibbs 1, Bryan Ford 1, and Aaron Johnson 2 1 Yale University, 2 US Naval.
1 Dissent: Accountable, Anonymous Communication Joan Feigenbaum Joint work with Bryan Ford, Henry Corrigan-Gibbs, Yixuan.
Efficient Public Key Infrastructure Implementation in Wireless Sensor Networks Wireless Communication and Sensor Computing, ICWCSC International.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
1 Analyzing Anonymity Protocols 1.Analyzing onion-routing security 1.Anonymity Analysis of Onion Routing in the Universally Composable Framework in Provable.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Dissent: Accountable Anonymous Group Messaging Henry Corrigan-Gibbs and Bryan Ford Department of Computer Science Yale University 17 th ACM Conference.
Crowds: Anonymity for Web Transactions Paper by: Michael K. Reiter and Aviel D. Rubin, Presented by Eric M. Busse Portions excerpt from Crowds: Anonymity.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
Introduction to Signcryption November 22, /11/2004 Signcryption Public Key (PK) Cryptography Discovering Public Key (PK) cryptography has made.
Modelling and Analysing of Security Protocol: Lecture 9 Anonymous Protocols: Theory.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
CRYPTOGRAPHY WHAT IS IT GOOD FOR? Andrej Bogdanov Chinese University of Hong Kong CMSC 5719 | 6 Feb 2012.
CMSC 414 Computer (and Network) Security Lecture 24 Jonathan Katz.
Hybrid Signcryption with Outsider Security
K-Anonymous Message Transmission Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University.
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Computer Science Public Key Management Lecture 5.
Cryptology Digital Signatures and Digital Certificates Prof. David Singer Dept. of Mathematics Case Western Reserve University.
Provable Unlinkability Against Traffic Analysis Amnon Ta-Shma Joint work with Ron Berman and Amos Fiat School of Computer Science, Tel-Aviv University.
Cryptography, Authentication and Digital Signatures
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Privacy Enhancing Technologies Spring What is Privacy? “The right to be let alone” Confidentiality Anonymity Access Control Most privacy technologies.
Collusion-Resistant Anonymous Data Collection Method Mafruz Zaman Ashrafi See-Kiong Ng Institute for Infocomm Research Singapore.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
Fall 2006CS 395: Computer Security1 Key Management.
PROJECT DOMAIN : NETWORK SECURITY Project Members : M.Ananda Vadivelan & E.Kalaivanan Department of Computer Science.
PRESENTATION ON SECURE SOCKET LAYER (SSL) BY: ARZOO THAKUR M.E. C.S.E (REGULAR) BATCH
1 Dissent: Accountable Anonymous Group Communication Bryan Ford Joan Feigenbaum, David Wolinsky, Henry Corrigan-Gibbs, Shu-Chun Weng, Ewa Syta Yale University.
Key management issues in PGP
Cryptography CS 555 Topic 34: SSL/TLS.
Basics of Cryptography
Password Management Limit login attempts Encrypt your passwords
CSE 4905 IPsec II.
Secure Sockets Layer (SSL)
Information Security message M one-way hash fingerprint f = H(M)
Tor Internals and Hidden Services
Cryptographic Hash Function
Anonymous Communication
What's the buzz about HORNET?
Public-key Cryptography
---On the ‘Vuvuzela’ Scheme
Basic Network Encryption
Information Security message M one-way hash fingerprint f = H(M)
Untraceable Electronic Mail, Return addresses, and Digital Pseudonyms
0x1A Great Papers in Computer Security
Mumtaz Ali Rajput +92 – INFORMATION SECURITY – WEEK 2 Mumtaz Ali Rajput +92 – 301-
Anupam Das , Nikita Borisov
Security through Encryption
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
Path key establishment using multiple secured paths in wireless sensor networks CoNEXT’05 Guanfeng Li  University of Pittsburgh, Pittsburgh, PA Hui Ling.
Information Security message M one-way hash fingerprint f = H(M)
Anonymous Communication
Consensus Algorithms.
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
Public-Key, Digital Signatures, Management, Security
Chapter 3 - Public-Key Cryptography & Authentication
Basic Network Encryption
Cryptography and Network Security
Anonymous Communication
Cryptography Lecture 26.
Digital Signatures Network Security.
Trust-based Privacy Preservation for Peer-to-peer Data Sharing
Announcement Sign up google sheet for in class lectures
Presentation transcript:

Dissent: Accountable, Anonymous Communication Joan Feigenbaum http://www.cs.yale.edu/homes/jf/ Joint work with Bryan Ford, Henry Corrigan-Gibbs, Yixuan Geng, Vitaly Shmatikov (UT Austin), and Shu-chun Weng Supported by DARPA

Problem Statement A group of N ≥ 2 parties wish to communicate anonymously, either with each other or with someone outside of the group. They have persistent, “real-world” identities and are known, by themselves and the recipients of their communications, to be a group. They want a protocol with four properties: Integrity Anonymity Accountability Efficiency

Accountability Group member i exposes group member j if i obtains proof, verifiable by a third party (not necessarily in the group), that j disrupted a protocol run. The protocol maintains accountability if no honest member is ever exposed, and, after every run, either: every honest member successfully receives every honest member’s message, or every honest member exposes at least one disruptive member.

Need for Anonymity (1) Communication in hostile environments From the BAA: “The goal of the program is to develop technology that will enable safe, resilient communications over the Internet, particularly in situations in which a third party is attempting to discover the identity or location of the end users or block the communication.”

Need for Anonymity (2) Cash transactions Twelve-step programs (pseudonymy) Law-enforcement “tip” hotlines Websites about sensitive topics, e.g., sexuality, politics, religion, or disease Voting . . .

Need for Accountability Authoritative, credentialed group, e.g.: Board of Directors of an organization Registered voters Parents Internal disagreement may be acknowledged but should not be exploited. Disruption is expected and must be combated. It’s not clear that “accountability” is the right word to use here (… and that’s part of a longer story).

Outline Prior work on anonymous communication Dissent, version 1 (ACM CCS 2010) Ongoing work on Dissent, version 2 Future work

Outline Prior work on anonymous communication Dissent, version 1 (ACM CCS 2010) Ongoing work on Dissent, version 2 Future work

Major Themes in Prior Work General-purpose anonymous-communication mechanisms MIX networks and Onion Routing (OR) Dining-Cryptographers networks (DC-nets) Special-purpose mechanisms, e.g.: Anonymous voting Anonymous authentication, e.g., group or ring signatures E-cash

Basic Operation of Onion Routing Client picks a few (e.g., three) anonymizing relays from a cloud of available relays. He then builds and uses an onion of cryptographic tunnels through the relays to his communication partner. Public Server Anonymous Client Anonymous Client Anonymizing Relays

Properties of Onion Routing Key advantages: Scalable to large groups of clients and relays Can be made interactive (e.g., Tor) Widely deployed (e.g., Tor) Key disadvantages: Many vulnerabilities to traffic analysis No accountability: Anonymous disruptors can Spam or DoS-attack relays or innocent nodes Compromise other users’ anonymity [Borisov et al. ’07]

Dining Cryptographers (DC-nets) Information-theoretic group anonymity Ex. 1: “Alice+Bob” sends a 1-bit secret to Charlie. Alice Alice’s Secret  1 1 Alice+Bob’s Shared Random Bit  Charlie Bob

Dining Cryptographers (DC-nets) Information-theoretic group anonymity Ex. 2: Homogeneous 3-member anonymity group 1 Alice+Bob's Random Bit Alice+Charlie's Bob+Charlie's Alice Alice’s Secret 1  1  =1 Charlie Bob

Properties of DC-nets Schemes Key advantages: Provable, information-theoretic anonymity Resistence to traffic analysis and collusion Key disadvantages: Not easy to scale up or implement efficiently Not widely deployed No accountability: Anonymous disruptors can Spam or DoS-attack the group without discovery Force group reformation without being eliminated

Outline Prior work on anonymous communication DISSENT, version 1 (ACM CCS 2010) Ongoing work on DISSENT, version 2 Future work

The protocol provably provides Starting Point: Verifiable, Anonymous Shuffling [Brickell and Shmatikov ’06] N parties with equal-length messages m1 , …, mN send mπ(1) , …, mπ(N) to a data collector. The protocol provably provides Integrity: {m1 , …, mN} = {mπ(1) , …, mπ(N)} Anonymity: π is random and not known by anyone. Resistance to traffic analysis and collusion Dissent v.1 adds accountability and the ability to handle variable-length messages efficiently.

Dissent, version 1: Overview Assumptions: Equal-length messages Each group member has a signature key pair; all messages are signed. Phase 1: Setup Each member chooses two encryption key pairs for this run. Phase 2: Onion encryption Each member encrypts his message with everyone’s encryption keys. Phase 3: Anonymization Each member applies a random permutation to the set of messages. Phase 4: Validation Each member i checks that (uncorrupted) mi is in the permuted set. Phase 5: Decryption or Blame If all phase-4 checks succeed, decrypt all of the messages. Else, honest members run a protocol that allows each of them to expose at least one disruptive member.

Phase 1: Setup Recall that Each group member i chooses: Members know each others' public verification keys. Members sign (and verify signatures on) all messages. Each group member i chooses: Secret message mi (and pads it if necessary) Outer encryption key pair (Oi, O'i) Inner encryption key pair (Ii, I'i) Each group member i broadcasts public encryption keys Oi, Ii

Phase 2: Onion Encryption Each group member i: Encrypts mi with inner keys IN,...,I1 to create m'i Encrypts m'i with outer keys ON,...,O1 to create m''i Example with N = 3: m''1 = { { { }O3 }O2 }O1 m''2 = { { { m''3 = { { { m'1 = { { { }I3 }I2 }I1 m'2 = { { { m'3 = { { { m1 m2 m3

Phase 3: Anonymization (1) Member 1 collects (m''I, …, m''N). For i ← 1 to N, member i Decrypts the ith layer of outer-key encryption Randomly permutes the resulting list (of partially decrypted messages) and (temporarily) saves the random permutation Forwards the permuted list to member i+1 (if i < N) Member N broadcasts the permuted m'i list.

Phase 3: Anonymization (2) }I3 }I2 }I1 }O3 }O2 }O1 Input to member 1: encrypted messages m''i Output from member n: partly decrypted messages m'i in random, secret order m1 {{{ }}} m2 m3 {{{ m2 }}} {{{ m1 }}} {{{ m3 }}} m3 {{{ }}} {{ }} m1 m2 m1 {{{ }}} { } m3 m2 Node 1: Decrypt, Permute Node 2: Decrypt, Permute Node 3: Decrypt, Permute

Phase 4: Validation After the anonymization phase, no member knows the final permutation, but every member i should see his own m'i in the list! Each member i looks for m'i in the permuted list. Present → member i broadcasts “GO”. Absent → member i broadcasts “NO-GO” and destroys his inner decryption key I'i .

Phase 5: Decryption or Blame Each member i collects all GO/NO-GO messages. GO messages from all nodes (including self): Each member i broadcasts his own inner decryption key I'i . All members use keys I'1,..., I'N to decrypt all the m'j, revealing all the cleartext messages mj. NO-GO message from any node: Each member i broadcasts the proof that he decrypted and permuted properly in Phase 3. All members use these proofs to expose disruptor(s).

How Dissent Provides Accountability Any NO-GO message obliges all members to “prove their innocence,” i.e., that they: correctly encrypted messages in Phase 2 correctly decrypted/permuted in Phase 3 correctly validated the final list in Phase 4 This process reveals the “secret” permutation but leaves the permuted cleartexts mj undecipherable: They are protected by all honest nodes' inner decryption keys, which have not been revealed.

Handling Variable-Length Messages Anonymous-shuffle protocols pad all messages to a common length in order to resist traffic analysis. What if the message load is unbalanced, e.g.: Member i wants to send an L=646MB video. Members j ≠ i have nothing to send in this run of the protocol. The group must shuffle the video and N-1 646MB padded cleartexts, resulting in O(NL) bits per node and O(N2L) bits total.

Dissent, v.1: “Bulk Send” variant Use the (slow) accountable-shuffle protocol to exchange randomly permuted metadata. Interpret the random permutation as a “schedule” for exchange of data, which is done using DC-nets. Accountability of the Dissent shuffle allows each group member to verify that all members transmitted the correct data in the proper DC-nets “timeslot.” Cost of the case in which just one member wants to send L=646MB drops to O(L) bits per node and O(NL) bits total.

Dissent, version 1: Bulk Send (1) Shuffle metadata describing the messages that the nodes want to send. Message Length L1 L2 L3 { – }1 {S2→1}1 {S3→1}1 PRNG Seeds {S1→2}2 { – }2 {S3→2}2 {S1→3}3 {S2→3}3 { – }3 Dissent Shuffle L1 { – }1 {S1→2}2 {S1→3}3 L2 {S2→1}1 { – }2 {S2→3}3 L3 {S3→1}1 {S3→2}2 { – }3 Permuted Message Descriptors

Dissent, version 1: Bulk Send (2) The shuffled message descriptors form a schedule for a DC-nets transmission. Node 1 → Node 2 → Node 3 → R(S3→1) R(S3→2) M3  R(S3→1)  ... M1  ... R(S1→2) R(S1→3) R(S2→1) M2  R(S2→1)  ... R(S2→3) L3 L1 L2 Permuted Message Descriptors {S3→1}1 { – }1 {S2→1}1 {S3→2}2 {S1→2}2 { – }2 { – }3 {S1→3}3 {S2→3}3

Outline Prior work on anonymous communication Dissent, version 1 (ACM CCS 2010) Ongoing work on Dissent, version 2 Future work

Ongoing work Reduce latency Increase scalability Increase availability Multiple bulk sends per shuffle Increase scalability Combine Dissent with OR More scalable shuffle protocols Increase availability Allow dynamic group membership but avoid intersection attacks

Dissent, Version 1 Shuffle Bulk send Shuffle Shuffle Bulk send Time There are very few bits to be sent in this bulk-send round, but a full shuffle round is still needed.

Proposal for Dissent, Version 2 Shuffle Bulk send Bulk send Shuffle Bulk send Time Reuse the permutation Challenges Integrity: check sum is not feasible Anonymity: same permutation

Combine Dissent with OR Basic idea: Replace a single-node relay in an OR network with a Dissent group. Combines the accountability of Dissent with the scalability of OR. Builds on earlier work (“Herbivore” and “CliqueNets”) that replaced single-node relays with DC-Nets (thus increasing the security of OR but not providing accountability).

Outline Prior work on anonymous communication Dissent, version 1 (ACM CCS 2010) Ongoing work on Dissent, version 2 Future work

Multi-year DARPA Project Mathematical rigor Formal definitions and proofs Carefully formulated assumptions Experimental rigor C++ implementation Larger-scale and more diverse experiments Generative traffic models for cases that don’t satisfy * Networking issues Integrate Dissent with standard network protocols (e.g., transport-layer protocols) Formulate an integrated notion of “traffic-indistinguishability”