Dissent: Accountable Anonymous Group Messaging Henry Corrigan-Gibbs and Bryan Ford Department of Computer Science Yale University 17 th ACM Conference.

Slides:



Advertisements
Similar presentations
Hash Functions A hash function takes data of arbitrary size and returns a value in a fixed range. If you compute the hash of the same data at different.
Advertisements

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,
RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
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.
CMSC 414 Computer (and Network) Security Lecture 4 Jonathan Katz.
CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Netprog: Cryptgraphy1 Cryptography Reference: Network Security PRIVATE Communication in a PUBLIC World. by Kaufman, Perlman & Speciner.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
15-1 Last time Internet Application Security and Privacy Public-key encryption Integrity.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
CSE331: Introduction to Networks and Security Lecture 21 Fall 2002.
Cryptographic Technologies
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
ITIS 6200/8200. time-stamping services Difficult to verify the creation date and accurate contents of a digital file Required properties of time-stamping.
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.
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
1 CPSC156: The Internet Co-Evolution of Technology and Society Lectures 19,20, and 21: April 5, 10, and 12, 2007 Cryptographic Primitives.
1 Chap 1: Introduction Some background –The message is usually represented as M or P (plaintext), the encryption result is usually represented as C (ciphertext).
Public Key Algorithms 4/17/2017 M. Chatterjee.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
K-Anonymous Message Transmission Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University.
Chapter 13: Electronic Commerce and Information Security Invitation to Computer Science, C++ Version, Fourth Edition SP09: Contains security section (13.4)
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2. Review of Cryptographic Techniques.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Public Key Model 8. Cryptography part 2.
Practical Techniques for Searches on Encrypted Data Yongdae Kim Written by Song, Wagner, Perrig.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Pretty Good Privacy by Philip Zimmerman presented by: Chris Ward.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms David Chaum CACM Vol. 24 No. 2 February 1981 Presented by: Adam Lee 1/24/2006 David.
10/1/2015 9:38:06 AM1AIIS. OUTLINE Introduction Goals In Cryptography Secrete Key Cryptography Public Key Cryptograpgy Digital Signatures 2 10/1/2015.
An efficient secure distributed anonymous routing protocol for mobile and wireless ad hoc networks Authors: A. Boukerche, K. El-Khatib, L. Xu, L. Korba.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
Cryptography, Authentication and Digital Signatures
CSCD 218 : DATA COMMUNICATIONS AND NETWORKING 1
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Slide 1 Yao’s Protocol. slide Yao’s Protocol uCompute any function securely … in the semi-honest model uFirst, convert the function into a boolean.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
1 Cryptography NOTES. 2 Secret Key Cryptography Single key used to encrypt and decrypt. Key must be known by both parties. Assuming we live in a hostile.
CSCI 172/283 Fall 2010 Hash Functions, HMACs, and Digital Signatures.
Collusion-Resistant Anonymous Data Collection Method Mafruz Zaman Ashrafi See-Kiong Ng Institute for Infocomm Research Singapore.
Upper OSI Layers Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
Digital Signatures, Message Digest and Authentication Week-9.
Cryptographic Hash Functions and Protocol Analysis
Lecture 2: Introduction to Cryptography
Authentication Issues and Solutions CSCI 5857: Encoding and Encryption.
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
NEW DIRECTIONS IN CRYPTOGRAPHY Made Harta Dwijaksara, Yi Jae Park.
Chapter 40 Network Security (Access Control, Encryption, Firewalls)
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
Network Security Celia Li Computer Science and Engineering York University.
Wired Equivalent Privacy (WEP) Chris Overcash. Contents What is WEP? What is WEP? How is it implemented? How is it implemented? Why is it insecure? Why.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
Cryptography Hyunsung Kim, PhD University of Malawi, Chancellor College Kyungil University February, 2016.
Computer Security By Rubel Biswas. Introduction History Terms & Definitions Symmetric and Asymmetric Attacks on Cryptosystems Outline.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Dissent: Accountable, Anonymous Communication
Presentation transcript:

Dissent: Accountable Anonymous Group Messaging Henry Corrigan-Gibbs and Bryan Ford Department of Computer Science Yale University 17 th ACM Conference on Computer and Communications Security October 6, 2010

“Wikileaks” Problem Alice Chris Bob Eve Image courtesy NASA Johnson Space Center

Alice Chris Bob Eve

Alice Chris Bob Eve Has a 646 MB classified military video from Iraq

Alice Chris Bob Eve Is this video authentic?

Alice Chris Bob Eve Wants to: 1.Anonymously publish video to the group 2.Solicit anonymous comments

Alice Chris Bob Eve

Alice Chris Bob Eve Wants to: 1.Break anonymity 2.Stop initial video publication 3.Alter Alice and Bob’s reviews 4.Submit many bad reviews

The Question How can group members communicate efficiently and anonymously when: 1.all network communication is public, 2.Eve wants to block communication, and 3.group members’ messages are of vastly different lengths?

Limitations of Existing Schemes MethodWeakness Mix Nets, TorTraffic analysis attacks Group and Ring Signatures Traffic analysis attacks Voting ProtocolsShort, fixed-length messages DC NetsAnonymous DoS attacks Brickell-Shmatikov Shuffle Anonymous DoS attacks and fixed message length

Outline Introduction to Dissent How Dissent works – Overall protocol: Variable-length shuffle – Key component: Fixed-length shuffle Prototype and experimental results Goals for future work

Outline Introduction to Dissent How Dissent works – Overall protocol: Variable-length shuffle – Key component: Fixed-length shuffle Prototype and experimental results Goals for future work

Dissent Dissent is a protocol for latency-tolerant sender- anonymous broadcast within a pre-defined group of nodes: 1.Each group member secretly submits one message per protocol round 2.Group members run the protocol 3.The protocol reveals to all members a permutation of the message set 4.No group member knows the permutation We call this a shuffle protocol

Dissent guarantees… Integrity: Messages are received unmodified Anonymity: To identify the sender of a message, all other members must collude Accountability: Members interfering with message transmission will eventually be identified N.B.: These definitions are very informal. Please refer to our paper for precise definitions.

Our Contributions Dissent builds upon the Brickell-Shmatikov anonymous data collection protocol (KDD 2006), adding: 1.Accountability: Alice, Bob, and Chris can identify Eve if she tries to alter messages or block protocol progress 2.Communication efficiency with variable- length messages: Group members do not have to pad their messages to a fixed length

Outline Introduction to Dissent How Dissent works – Overall protocol: Variable-length shuffle – Key component: Fixed-length shuffle Prototype and experimental results Goals for future work

Conceptual Description Follows one group member (Chris) and his 646 MB video – Every other group member follows the same steps as Chris in parallel We assume: – Every member has a signature verification key for every other group member – Existence of a wrapper protocol handling group membership, liveness, protocol initiation, etc. (See paper for details on the wrapper.)

Issue 1: Traffic Analysis How can Chris broadcast his 646 MB video anonymously if attackers are listening in? Neither message structure nor length should identify Chris as the true sender Therefore: – All other group members must also broadcast a 646 MB message – Messages should look like random strings

Issue 1: Traffic Analysis zxmnco ak929j9 aksjdq9 wldk0w alkj38f8 2hlkd02 9sjlkjd0 981lkjlkj vmdnv mdnduu z093ufoi lkjksdlka 0988j4fk skjdcka8 3masjkjs dlkqwkd AliceBobChrisEve Publish

Issue 2: Recovery How can members recover Chris’ video from the 646 MB random-looking strings? Assume Alice, Bob, and Eve send pseudo- random strings known to Chris Then: – Chris sends the XOR of his video with Alice, Bob, and Eve’s pseudo-random strings – i.e., three serial one-time pad encryptions Reminiscent of Chaum’s DC net

Issue 2: Recovery zxmnco ak929j9 aksjdq9 wldk0w alkj38f8 2hlkd02 9sjlkjd0 981lkjlkj vmdnv mdnduu z093ufoi lkjksdlka 0988j4fk skjdcka8 3masjkjs dlkqwkd AliceBobChrisEve ⊕ ⊕ ⊕ The 646MB Video

Issue 3: Assignment How can Chris efficiently assign 646 MB strings to Alice, Bob, and Eve? Chris anonymously broadcasts (somehow) a table of assignments along with the length of his message Each assignment contains: – A PRF seed encrypted for each member – A cleartext hash of the string assigned to each member

Issue 3: Assignment AliceBobChrisEve

AliceBobChrisEve Issue 3: Assignment

AliceBobChrisEve Publish Issue 3: Assignment

BobChrisEve Issue 3: Assignment Alice

Bob Issue 3: Assignment ChrisEve

Issue 3: Assignment AliceBobChrisEve

Issue 3: Assignment Publish AliceBobChrisEve

Issue 4: Anonymity How can Chris transmit his assignment table anonymously? The assignment contains the length of Chris’ message, so it must not be traceable to him Dissent uses a modification of the Brickell- Shamikov data collection protocol to shuffle the fixed-length assignment tables Final ordering of tables determines ordering in which members broadcast their pseudo-random strings

Issue 4: Anonymity AliceBobChrisEve Fixed-length Shuffle

Putting it together… 1.Each group member generates a fixed-length assignment table 2.Members use fixed-length shuffle to anonymize these assignment tables 3.Members (except sender) use assigned PRF seeds to generate a psuedo-random string for each anonymous message 4.Strings corresponding to each message XOR to the sender’s message

Variable-length is better 33 Variable-lengthFixed-length A B C E Message Padding A B C E Message Assignment Tables NL max bitsL total + kN bits

Outline Introduction to Dissent How Dissent works – Overall protocol: Variable-length shuffle – Key component: Fixed-length shuffle Prototype and experimental results Goals for future work

Fixed-Length Shuffle A verifiable secret shuffle Adds accountability to Brickell-Shmatikov shuffle Two possible outcomes: 1.Shuffle succeeds, messages delivered, secret permutation unrecoverable 2.Shuffle fails, messages unrecoverable, at least one attacker exposed

Issue 1: Anonymity How do members anonymize their messages? We use onion routing / mix network to provide anonymity: 1.Members serially encrypt their message with the public key of each group member in a pre- determined order 2.Each group member sequentially decrypts, permutes, and forwards the message set

Message set under onion encryption {{{{A} E } C } B } A {{{{B} E } C } B } A {{{{C} E } C } B } A {{{{E} E } C } B } A

{{{{A}}}} {{{{B}}}} {{{{C}}}} {{{{E}}}} Message set under onion encryption {{{{A} E } C } B } A {{{{B} E } C } B } A {{{{C} E } C } B } A {{{{E} E } C } B } A

AliceBobChrisEve Decrypt, Permute {{{{A}}}} {{{{B}}}} {{{{C}}}} {{{{E}}}} {{{E}}} {{{B}}} {{{A}}} {{{C}}} {{C}} {{A}} {{E}} {{B}} {E}{C}{A}{B}{E}{C}{A}{B} BAECBAEC Permuted plaintext message set Message set under onion encryption

Issue 2: Integrity How do members ensure that their message is in the output message set? Group members submit a “Go” or “No-go” message after seeing the permuted message set to confirm that their message is in the set Members use a second layer of onion encryption so that Go/No-Go messages don’t break anonymity – One-time-use secondary keypair

Message set under primary and secondary onion encryption {{{{ α = [[[[A] E ] C ] B ] A } E } C } B } A {{{{ β = [[[[B] E ] C ] B ] A } E } C } B } A {{{{ γ = [[[[C] E ] C ] B ] A } E } C } B } A {{{{ ε = [[[[E] E ] C ] B ] A } E } C } B } A

Message set under primary and secondary onion encryption {{{{α} E } C } B } A {{{{β} E } C } B } A {{{{γ} E } C } B } A {{{{ε} E } C } B } A

{{{{α}}}} {{{{β}}}} {{{{γ}}}} {{{{ε}}}} Message set under primary and secondary onion encryption {{{{α} E } C } B } A {{{{β} E } C } B } A {{{{γ} E } C } B } A {{{{ε} E } C } B } A

AliceBobChrisEve Decrypt, Permute {{{{α}}}} {{{{β}}}} {{{{γ}}}} {{{{ε}}}} {{{ε}}} {{{β}}} {{{α}}} {{{γ}}} {{γ}} {{α}} {{ε}} {{β}} {ε}{γ}{α}{β}{ε}{γ}{α}{β} Permuted ciphertext set under secondary onion encryption Message set under primary and secondary onion encryption βαεγβαεγ

AliceBobChrisEve Decrypt, Permute {{{{α}}}} {{{{β}}}} {{{{γ}}}} {{{{ε}}}} {{{ε}}} {{{β}}} {{{α}}} {{{γ}}} {{γ}} {{α}} {{ε}} {{β}} {ε}{γ}{α}{β}{ε}{γ}{α}{β} [[[[B]]]] [[[[A]]]] [[[[E]]]] [[[[C]]]] Permuted ciphertext set under secondary onion encryption Message set under primary and secondary onion encryption

Issue 2: Integrity AliceBobChrisEve Permuted ciphertext set GoNo-GoGo [[[[E]]]][[[[A]]]][[[[E]]]][[[[C]]]]

Issue 2: Integrity If all group members report Go, then each member publishes her secondary private key All members can decrypt each ciphertext in the set, and the permutation is kept secret

Issue 3: Accountability How do group members expose an attacker? If any group member reports No-Go, then each member: 1.Destroys her secondary private key, rendering the messages unrecoverable, and 2.Publishes a proof of her correctness: signed intra-group transmissions and information necessary to replay anonymization process

Issue 3: Accountability Once group members destroy secondary private keys, they can safely reveal the secret permutation Bob Alice’s signed outgoing message set Bob’s signed outgoing message set + proof that Bob correctly decrypted and permuted Alice’s message set

Fixed-Length Shuffle Recap 1.Group members encrypt their message with two layers of onion encryption 2.Each group member permutes the set and decrypts a layer of primary key encryption 3.Members send a Go or No-Go message indicating whether or not to decrypt 4.Members publish either their secondary private keys OR proofs of their correctness

Outline Introduction to Dissent How Dissent works – Overall protocol: Variable-length shuffle – Key component: Fixed-length shuffle Prototype and experimental results Goals for future work

Prototype Implemented fixed-length and full Dissent (variable-length) protocols in Python Used Emulab, a network testbed, to run performance tests – 100ms node-to-node latency, 5Mbps link bandwidth – Up to 44 nodes Did not implement “blame” phases

Time (minutes) – log scale Total size of message set – log scale Variable-Length (Dissent) Fixed-Length Only Time required for transmission in a 16-node group – Balanced KB1MB 64KB16MB

Time (minutes) – log scale Total size of message set – log scale Time required for transmission in a 16-node group – One Sender KB1MB 64KB16MB Fixed-Length Only Variable-Length (Dissent)

Prototype Broadcasting a 16 MB file in a 16-node group took 3.6 times longer using Dissent than broadcasting file without encryption or anonymization Refer to paper for full results – Round time over message set size – Round time broken down by component – Round time over group size

Outline Introduction to Dissent How Dissent works – Overall protocol: Variable-length shuffle – Key component: Fixed-length shuffle Prototype and experimental results Goals for future work

Future Work Use a more efficient fixed-length shuffle – Brickell-Shmatikov shuffle requires serial interactivity Reduce size complexity of assignment tables Reuse one fixed-length shuffle for many message transfers Implement protocol on large scale

Wrap-Up Dissent is a sender-anonymous protocol for broadcast within a group Dissent contributes: – Accountability, the ability to identify group members who try to block message transmission – Communication efficiency, under variable message lengths Dissent has the potential to be a practical tool for anonymous latency-tolerant group messaging

Acknowledgements The anonymous CCS reviewers Vitaly Shmatikov, Michael Fischer, Bimal Viswanath, Animesh Nandi, Justin Brickell, Jacob Strauss, Chris Lesniewski-Laas, Pedro Fonseca, Philip Levis All of you for listening

Questions?

Time required to send varying message sizes in a 16-node group Time (minutes) Total size of message set – log scale Message Transfer Fixed- Length Shuffle

Time required to send 1MB of data (balanced) using Dissent Time (minutes) Number of Nodes Total Time Shuffle Time

Definitions Integrity: All honest group members have the messages of all other honest diners, or know that the shuffle failed Anonymity: No subset of members of size ≤ N – 2 can match another member to her message with probability better than random guessing Accountability: No honest group member has a proof that an honest member is faulty, and either (a) all honest members obtain the message of all other honest members, or (b) all honest members expose at least one faulty member

1.Shuffles assignment tables 2.Shuffles accusations Protocol Components Fixed-Length Shuffle Based on Brick-Shmat Generate Assignment Tables Transmission of Pseudo-Rand Strings Assigns pseudo-rand strings to group members Transmits pseudo-random strings and anonymized messages