Dining Cryptographers R. Newman. Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide.

Slides:



Advertisements
Similar presentations
Polylogarithmic Private Approximations and Efficient Matching
Advertisements

Circuit and Communication Complexity. Karchmer – Wigderson Games Given The communication game G f : Alice getss.t. f(x)=1 Bob getss.t. f(y)=0 Goal: Find.
Secure Multiparty Computations on Bitcoin
Hash Function. What are hash functions? Just a method of compressing strings – E.g., H : {0,1}*  {0,1} 160 – Input is called “message”, output is “digest”
Polling With Physical Envelopes A Rigorous Analysis of a Human–Centric Protocol Tal Moran Joint work with Moni Naor.
ITIS 6200/ Secure multiparty computation – Alice has x, Bob has y, we want to calculate f(x, y) without disclosing the values – We can only do.
Some Graph Problems. LINIAL’S CONJECTURE Backgound: In a partially ordered set we have Dilworth’s Theorem; The largest size of an independent set (completely.
The Dining Cryptographer Problem Security Presentation Nitesh Patel 2005h425.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 3524 Course.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Eran Omri, Bar-Ilan University Joint work with Amos Beimel and Ilan Orlov, BGU Ilan Orlov…!??!!
Packet Leashes: Defense Against Wormhole Attacks Authors: Yih-Chun Hu (CMU), Adrian Perrig (CMU), David Johnson (Rice)
Probabilistic Methods in Concurrency Lecture 9 Other uses of randomization: a randomized protocol for anonymity Catuscia Palamidessi
Short course on quantum computing Andris Ambainis University of Latvia.
Explorations in Anonymous Communication Andrew Bortz with Luis von Ahn Nick Hopper Aladdin Center, Carnegie Mellon University, 8/19/2003.
Receipt-freeness and coercion-resistance: formal definitions and fault attacks Stéphanie Delaune / Steve Kremer / Mark D. Ryan.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
ITIS 6200/8200. time-stamping services Difficult to verify the creation date and accurate contents of a digital file Required properties of time-stamping.
Modelling and Analysing of Security Protocol: Lecture 9 Anonymous Protocols: Theory.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
DANSS Colloquium By Prof. Danny Dolev Presented by Rica Gonen
Orthogonality and Least Squares
MOHAMMAD IMRAN DEPARTMENT OF APPLIED SCIENCES JAHANGIRABAD EDUCATIONAL GROUP OF INSTITUTES.
Anonymous Communication Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University.
K-Anonymous Message Transmission Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University.
Information Theory and Security
Csci5233 Computer Security1 Bishop: Chapter 10 Key Management: Digital Signature.
Provable Unlinkability Against Traffic Analysis Amnon Ta-Shma Joint work with Ron Berman and Amos Fiat School of Computer Science, Tel-Aviv University.
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.
Chapter 4: Intermediate Protocols
Fall 2002CS 395: Computer Security1 Chapter 11: Message Authentication and Hash Functions.
Privacy Enhancing Technologies Spring What is Privacy? “The right to be let alone” Confidentiality Anonymity Access Control Most privacy technologies.
Channel Capacity.
Anonymity – Crowds R. Newman. Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide anonymity.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
R. Newman Anonymity - Background. Defining anonymity Defining anonymity Need for anonymity Need for anonymity Defining privacy Defining privacy Threats.
CSCI 172/283 Fall 2010 Hash Functions, HMACs, and Digital Signatures.
11.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Message Integrity and Message Authentication.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
Network Security – Special Topic on Skype Security.
Week 11 - Monday.  What did we talk about last time?  Binomial theorem and Pascal's triangle  Conditional probability  Bayes’ theorem.
Alternative Wide Block Encryption For Discussion Only.
CRYPTOGRAPHY. WHAT IS PUBLIC-KEY ENCRYPTION? Encryption is the key to information security The main idea- by using only public information, a sender can.
Probabilistic Anonymity Mohit Bhargava, IIT New Delhi Catuscia Palamidessi, INRIA Futurs & LIX.
Paris, 17 December 2007MPRI Course on Concurrency MPRI – Course on Concurrency Lecture 14 Application of probabilistic process calculi to security Catuscia.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Anonymity - Background R. Newman. Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Electronic Cash R. Newman. Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide anonymity.
Multi-Party Proofs and Computation Based in part on materials from Cornell class CS 4830.
CS 6204, Spring 2005 Dining Cryptographers, Glenn Fink1 Dining Cryptographers Paper by David Chaum (1988) Presentation by Glenn Fink.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
D EPARTMENT /S EMESTER (ECE – III SEM) NETWORK THEORY SECTION-D Manav Rachna University 1.
CSE 351 Number Representation. Number Bases Any numerical value can be represented as a linear combination of powers of n, where n is an integer greater.
Lecture 5 Page 1 CS 236 Online More on Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Matrices CHAPTER 8.9 ~ Ch _2 Contents  8.9 Power of Matrices 8.9 Power of Matrices  8.10 Orthogonal Matrices 8.10 Orthogonal Matrices 
Bit Commitment, Fair Coin Flips, and One-Way Accumulators Matt Ashoff 11/9/2004 Cryptographic Protocols.
Lower bounds for Unconditionally Secure MPC Ivan Damgård Jesper Buus Nielsen Antigoni Polychroniadou Aarhus University.
Firewalls and Tunneling Firewalls –Acts as a barrier against unwanted network traffic –Blocks many communication channels –Can change the design space.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Topic 36: Zero-Knowledge Proofs
Multi-Party Proofs and Computation
Malicious Participants
CS/ECE 418 Introduction to Network Security
Privacy Coins CS1952 L Spring 2019 Maurice Herlihy Brown University.
Diffie/Hellman Key Exchange
Presentation transcript:

Dining Cryptographers R. Newman

Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide anonymity Metrics for Anonymity Applications of anonymity technology

Three cryptographers go out for dinner They are told that the bill has been paid Benefactor wishes to remain anonymous Could be one of them, or a fourth party (e.g., NSA) Want to know if one of them paid Respect desire to remain anonymous But want to find this piece of information Dining Cryptographer Problem

Each pair of cryptographers flips a fair coin This is done in secret, so only the pair can see it Each cryptographer states XOR of coins States whether the pair of coins they saw were same If one paid, reports the opposite result Each computes answer Odd number of differences => a cryptographer paid Even number of difference => someone else paid Dining Cryptographer Protocol

Why does this work? Assuming all cryptographers are honest 1. First, consider case where NSA paid 1a. All heads or all tails => no differences Even number of differences, So conclude NSA paid Dining Cryptographer Protocol

Case 1a: NSA Paid, all same A C B heads All same All report same Zero (even) diffs “Same”

Why does this work? Assuming all cryptographers are honest 1. First, consider case where NSA paid 1a. All heads or all tails => no differences 1b. Two of one and one of the other => two differences Either way, even number of differences! Dining Cryptographer Protocol

Case 1b: NSA Paid, one different A C B heads tails heads One different All report same Two (even) diffs “Same” “Different”

Why does this work? Assuming all cryptographers are honest 2. Now what if one cryptographer inverts report? 2a. All same => two say same, one says different => one difference Dining Cryptographer Protocol

Case 2a: Alice Paid, all same A C B heads All same B and C report same Alice inverts report One (odd) diff “Same” “Different”

Why does this work? Assuming all cryptographers are honest 2. Now what if one cryptographer inverts report? 2a. All same => one difference 2b/c. Two of one, one of other: 2b. Payer sees equal pair => says different, and other two see different pairs, say different => 3 differences (odd) Dining Cryptographer Protocol

Case 2b: Alice Paid, sees same A C B heads tails One different Alice sees same B, C report different Alice reports different Three (odd) diffs “Different”

Why does this work? Assuming all cryptographers are honest 2. Now what if one cryptographer inverts report? 2a. All same => 1 difference 2b/c. Two of one, one of other: 2b. Payer sees equal pair => 3 differences 2c. Payer sees unequal pair => says same One of the others sees equal, one sees unequal Hence 1 difference reported Dining Cryptographer Protocol

Case 2c: Alice Paid, sees different A C B heads tails heads One different Alice sees different B reports same C reports different A reports same One (odd) diff “Same” “Different” “Same”

Why does this work? 1. No cryptographers invert report 1a. All heads or all tails => 0 differences 1b. Two of one and one of the other => 2 differences Either way, even number of differences! 2. One cryptographer inverts report 2a. All same => 1 difference 2b/c. Two of one, one of other: 2b. Payer sees equal pair => 3 differences 2c. Payer sees unequal pair => 1 difference Always odd number of differences reported Dining Cryptographer Protocol

How does it preserve anonymity? View of non-paying cryptographer: If even difference, there is nothing to discover If odd difference, two cases: Cryptographer sees equal values One of the others said ”same”, other said ”different” Hidden coin is same => one who said ”different” paid Hidden coin different => one who said ”same” paid Each is equally likely! (Fair coin) Dining Cryptographer Protocol

How does it preserve anonymity? View of non-paying cryptographer: If even difference, there is nothing to discover If odd difference, two cases: Cryptographer sees unequal values Both of the others said ”different” => payer closest to coin that is same as hidden coin Both of the others said ”same” => payer closest to coin different from hidden coin Each is equally likely! (Fair coin) Dining Cryptographer Protocol

OK – so what? Now can send one bit anonymously Extend protocol to anonymously transmission Repeat protocol in rounds Each round, act like non-payer unless you have msg When you have message, start sending bits Invert report when sending 1’s, not when 0’s What about collisions? Use collision detection, backoff protocol CSMA/CD with backoff – like Ethernet! Dining Cryptographer Protocol

OK – so what? Now can send one bit anonymously For three senders Extend protocol to multiple senders Complete graph for N senders Each edge represents a fair coin Report XOR of all coins (or invert it for 1) Note that with N=2, only non-participants don’t know the sender (not secret from participants) Dining Cryptographer Protocol

Why does this work? Each bit appears in two sums In sum of sums, these cancel each other out If one cryptographer inverts, then odd number of sum of reports is 1, otherwise it is 0 Replace coin flips with key bits Each participant shares a key with each other participant Same number of bits in key as rounds of protocol Use key bits as coin values in protocol Dining Cryptographer Protocol

Two kinds of secret per participant: Secret pairwise keys shared with other participants Message bits Consider collusion later.... Remaining information: Which pairs share a key (not required to be secret) What each participant outputs each round Compute sum of outputs Modeling DC Nets

Model with graph: Each participant is a node Each key is represented by an edge Edge is incident on participants sharing key Graph is connected, may not be complete Modeling DC Nets

A C B Tails 0 Heads 1 1 Originally coin flips Replace with random bit Which is “key bit”

Model with graph Anonymity Set seen by a set of keys AS = Set of vertices in a connected component remaining in graph after removing edges corresponding to keys in set Two participants connected by non-compromised keys are in same AS, and are indistinguishable – only parity of report can be determined Modeling DC Nets

Non-participant observer All participants in same CC are in same AS (Graph remains connected after removing 0 edges) Complete key compromise All edges are removed All nodes are singletons No anonymity: Sent bit = XOR of key bits with report Examples

Modeling DC Nets A C B Kab=010 Kac=110 Kbc=101 Distribute keys Alice has message Others report sums Alice inverts her sums E D Kce=111 Kde=101 Kbe=001 Msg_A = 001 Sums_B = 110 Sums_C = 100 Sums_E = 010 Sums_D = 100 Sums_A = 100 Report_A = 101 Sum of sums:

Modeling DC Nets A C B Kab=010 Kac=110 Kbc=101 B and C collude Alice has message All report as before B and C know what A should have sent E D Kce=111 Kde=101 Kbe=001 Msg_A = 001 Sums_B = 110 Sums_C = 100 Sums_E = 010 Sums_D = 100 Sums_A = 100 Report_A = 101 Sum of A keys: Kab=010 Kac= What A reported: 101 What A said:

Modeling DC Nets A C B Kab=010 Kac=110 Kbc=101 B and C collude Notice that B and C Do not have to share All keys (Kce or Kbe) To attack Alice E D Kce=111 Kde=101 Kbe=001 Msg_A = 001 Sums_B = 110 Sums_C = 100 Sums_E = 010 Sums_D = 100 Sums_A = 100 Report_A = 101

Modeling DC Nets A C B Kab=010 Kac=110 Kbc=101 B and C collude Ed has message All report B and C know that A reported honestly, So D or E sent msg E D Kce=111 Kde=101 Kbe=001 Msg_E = 100 Sums_B = 110 Sums_C = 100 Sums_E = 010 Sums_D = 100 Sums_A = 100 Report_E = 110

Modeling DC Nets A C B Kab=010 Kac=110 Kbc=101 Bob by himself Cannot reduce AS E D Kce=111 Kde=101 Kbe=001 Msg_E = 100 Sums_B = 110 Sums_C = 100 Sums_E = 010 Sums_D = 100 Sums_A = 100 Report_E = 110

Biconnected graph All pairs of participants are connected by at least two node-disjoint paths No single participant can reduce AS size of other participants by itself Requires collusion to learn anything! All collusion buys is parity of sum of inversions of each connected component Inversions hidden by one or more key bits Examples

Connected component C: m nodes and n edges m x n incidence matrix M nodes = rows and edges = columns Stochastic variable keys K over GF(2 n ) One per edge, uniform random Stochastic variable msg bits I over GF(2 m ) One per vertex, uniform random A = (MK) + I = reports of the vertices Parity(A) = parity(I) since columns of M have even parity Formal Model Nota bene!

Formal Model A C B K1=0 K2=1 K3=1 E D K5=1 K6=1 K4=0 Sum_A = 1 Sum_B = 1 Sum_C = 1 Info_C = 0 Report_C = 1 Sum_E = 0 Sum_D = 1 Info_A = 1 Report_A = A B C D E K S X = S11110S11110 I A = edges nodes keyssums Incidence Matrix M sums msg bits reports

Thm: Let a be in GF(2 n ). For each i in GF(2 n ), which is assumed by I with non-zero probability, and which has the same parity as a, Prob(A=a | I=i) = 2 1-m. hence Prob(I=i | A=a) = prob(I=i) a priori. Prf: Since every proper subset of rows of M is is linearly independent, the rank of M is m-1, and any zero parity vector in GF(2 n ) can be written as a linear combination of the columns of M. So the system of linear equalities MK+i = a is solvable, since MK = a+i has zero parity. The system has exactly 2 n-m+1 solutions. Since K and I are mutually independent and K is uniformly distributed, the theorem follows. Formal Model

Thm: Let a be in GF(2 n ). For each i in GF(2 n ), which is assumed by I with non-zero probability, and which has the same parity as a, Prob(A=a | I=i) = 2 1-m. hence Prob(I=i | A=a) = prob(I=i) a priori. Prf: Since the rank of M is m-1, The system has exactly 2 n-m+1 solutions. Since K and I are mutually independent and K is uniformly distributed, the theorem follows. Formal Model

Complete graphs do not scale Can use a ring But any two colluders can partition ring If colluders surround a target node It is compromised! Building Graphs

Ring A H B G C D E F Ring is binconnected – removal of any one node does not partition graph

Ring A H B G C D E F But any two nodes that collude can partition graph and possibly compromise a single participant (C)

”Trusted not to collude” clique – Subset of participants whom all believe will not collude Subset forms a clique All others share a key with each member of clique All members of clique must collude to compromise Building Graphs

Trusted not to Collude Clique A B C A, B, and C are mutually hostile Hence trusted not to collude They form a “root clique” All others nodes connect to each member of root clique DEFGH

Trusted not to Collude Clique A B C Size of clique = K Number of keys = K(K-1)/2 for clique Plus for N total nodes K(N-K) for others And the total is … K[(K-1)/2 + (N-K)] Example here: K=3 3[2/2 + (8-3)] = 18 Compared to N(N-1)/2 = 28 for complete graph DEFGH

Trusted not to Collude Clique A B C All members of root clique must collude to compromise any node Suppose B and C collude… DEFGH

Trusted not to Collude Clique A B C All members of root clique must collude to compromise any node Suppose B and C collude… Then A still connects all other nodes The AS is maximal! DEFGH

Well, can’t really prevent it... But can detect it and weed out disrupters Requires: Key-sharing graph is publically agreed on Each participant’s outputs are publically agreed on such that no participant can change their output for a round based on the other participant’s outputs for that round Some rounds contain inversions that would not compromise the untraceability of any non-disrupter Preventing Disruption

Key-sharing graph is publically agreed on Distributed consensus Participantd can’t change outputs Simultaneous broadcast channels Commitment protocols Contestable rounds that do not compromise the untraceability of any non-disrupter Slot reservation protocol Preventing Disruption

Messages sent in two blocks Reservation block with one bit per msg slot Message block with multiple message slots Sender reserves one or more slots Sets corresponding bit(s) in reservation block Sends message in corresponding slots For contestable rounds, all N participants must always make one reserveration each round Requires quadratic slots due to Birthday Paradox Disrupted reservation block likely to have Hamming weight unequal to N All bits of reserving block can be safely contested Slot Reservation Protocol

If it tells the truth about shared keys bits for contested bit, or lies about an even number of key bits, it implicates itself The sum of the claimed key bit values is not what it reported (apart from allowed inversion) If it lies about an odd number... Values it claims will differ from values claimed by those who share the keys it lies about Casting suspicion on itself and each of them But all disputed bits point to disrupter And falsely accused participants know disrupter And can refuse to share edge with disrupter in future Single Disrupter

At least one inversion revealed as illegit or at least one key bit disputed Since parity of outputs does not correspond to parity of legit inversions Result of each contested round Remove at least one edge, or Remove at least one vertex from agree graph If every disruption has non-zero probability of being contested Then bounded amount of disruption possible before disrupters excluded Removed (vertex) or Share no keys (edges) Multiple Disrupters

Deter antisocial use of network by... Allowing trace of any message by cooperation of most participants Example: court orders all participants to reveal their shared key bits for a round of the message Sender may try to spread blame by lying about and odd number of shared bits Digital signatures on shared bits can stop this Allow contested rounds to be fully resolved Allow accused senders to exonerate themselves Allow colluders to convince each other to trust them But allow sender self-incrimination: non-repudiation! Variant prevents self-incrimination Tracing by Consent

Variant prevents self-incrimination Each participant in a pair signs a differnt bit whose sum is the actual shared bit Sharers can tell if the signatures are good Others can’t tell what bit is if one is lying Helps resolve contested rounds Contester of a bit shows signature of other party Other party must reveal contester’s signature... or be considered a disrupter Split-bit Signatures

Mix-net relies on security of PKCS And maybe also symmetric crypto These are at best computationally secure DC-nets can offer unconditional security Underspecified system of equations Network load is an issue, though May not be able to handle traffic to root clique Mix-nets can also provide recipient untraceability And untraceable return addressing Compare to Mix-nets