390 likes | 553 Views
BianFu: Providing Guaranteed Anonymity Using Token Ring Routing. Matt Spear David Evans. 信息論匿名 XìnXī Lùn NìMíng (Information Theoretical Anonymity). Provides a method that defines anonymity concretely using methods of entropy from IT. Defines Nodes as one of:
E N D
BianFu: Providing Guaranteed Anonymity Using Token Ring Routing. Matt Spear David Evans
信息論匿名XìnXī Lùn NìMíng(Information Theoretical Anonymity) • Provides a method that defines anonymity concretely using methods of entropy from IT. • Defines Nodes as one of: • Senders The nodes who send or have the ability to send messages • Receivers The nodes who receive the messages (passive or active (reply)) • Mixes Input a message and output a message so that the new message is uncorrelatable with the original message
信息論匿名XìnXī Lùn NìMíng(Information Theoretical Anonymity) • Defines Attackers as: • Internal/External The attacker, if internal, controls the actions of one or more nodes, external can only compromise communication channels • Passive/Active A passive attacker can only listen to messages and cannot modify, add, or remove them; otherwise he is active • Local/Global A global attacker has access to all channels of the network; local attackers have access to part of the network
信息論匿名XìnXī Lùn NìMíng(Information Theoretical Anonymity) • Degree Of Anonymity: • Let , i.e. the probability that nodei sent the message. • Define the entropy associated with the set. • Define the maximum anonymity as • The degree of anonymity is then Trivially for one user d 0, and for perfect anonymity d lg(N)
人群RénQún (Crowds) • System to give anonymity by being “a member of a crowd” • The message is forwarded through random nodes • On receiving a message, a node forwards it to the destination with probability (1 – pf) and to another node with probability pf • Attacker is assumed to be Internal/Passive/Local • Assume N nodes and C corrupt nodes (C < N - 2)
人群RénQún (Crowds) 0 7 1 6 2 5 3 4 • Node0 ((0)) sends a message to (blue):
人群RénQún (Crowds) 0 7 1 6 2 5 3 4 • Node0 ((0)) sends a message to (blue): • (0) chooses randomly a node to forward to (3).
人群RénQún (Crowds) 0 7 1 6 2 5 3 4 • Node0 ((0)) sends a message to (blue): • (0) chooses randomly a node to forward to (3). • (3) flips biased coin and forwards to (7)
人群RénQún (Crowds) 0 7 1 6 2 5 3 4 • Node0 ((0)) sends a message to (blue): • (0) chooses randomly a node to forward to (3). • (3) flips biased coin and forwards to (7) • (7) flips its biased coin and forwards to (5)
人群RénQún (Crowds) 0 7 1 6 2 5 3 4 • Node0 ((0)) sends a message to (blue): • (0) chooses randomly a node to forward to (3). • (3) flips biased coin and forwards to (7) • (7) flips its biased coin and forwards to (5) • (5) flips its biased coin and forwards to (blue)
人群RénQún (Crowds) • The maximum anonymity is: HM lg(N - C) • Probability assigned to predecessor of first node in C is: • Probability to other nodes not in C is: • Therefore H(X) is: • d maximally equals 1 iff the message passes through no nodes existing in C, otherwise depends on C, N and pf, see [2] for graphs.
進餐譯解密碼者JìnCān YìJiěMìMǎZhě(Dining Cryptographers) • A method to guarantee sender and receiver anonymity • Kind of like the Dining Philosophers; given N cryptographers sitting at a table one wishes to pay without revealing whom is paying against any attacker • Is impractical as the number of bits required to send a single bit anonymously grows linearly with N
進餐譯解密碼者JìnCān YìJiěMìMǎZhě(Dining Cryptographers) • 3 Player DC description: • Each node chooses a random bit and reveals it securely to his left neighbor (so that no others see the bit) • Each diner announces the XOR of their bits • The diner that is paying lies and announces the XNOR of the bits • Nobody can tell who is paying, only that one of the two others is paying
進餐譯解密碼者JìnCān YìJiěMìMǎZhě(Dining Cryptographers) • From FBI’s View: • FBI reveals 1 to Jefferson • FBI sees 1 from Washington 1 1
進餐譯解密碼者JìnCān YìJiěMìMǎZhě(Dining Cryptographers) • From FBI’s View: • FBI reveals 1 to Jefferson • FBI sees 1 from Washington • FBI cannot tell who is lying without seeing shared secret coin flip 1 0 1 1
進餐譯解密碼者JìnCān YìJiěMìMǎZhě(Dining Cryptographers) • From FBI’s View: • FBI reveals 1 to Jefferson • FBI sees 1 from Washington • FBI cannot tell who is lying without seeing shared secret coin flip 1 0 Payer 1 1 1
進餐譯解密碼者JìnCān YìJiěMìMǎZhě(Dining Cryptographers) • From FBI’s View: • FBI reveals 1 to Jefferson • FBI sees 1 from Washington • FBI cannot tell who is lying without seeing shared secret coin flip 1 0 Payer 0 1 1
進餐譯解密碼者JìnCān YìJiěMìMǎZhě(Dining Cryptographers) • Generalizable to N diners • Problems: • Requires pairwise secure channels between all users • Requires many messages to be exchanged • Requires secure RNG for the bits • The degree of anonymity is trivially 1 as long as C < N - 2
令牌环Lìng Pái Huán(Token Ring) 0 7 1 6 2 5 3 4 • r tokens exist on a ring • A node can add a message to a token iff it is empty • The tokens are passed from (0)…(7)(0) • Advantages: global attacker cannot tell initiator of message, all nodes do the same amount of work
单蝙蝠Dān BiānFú(Single BianFu) • Arrange nodes into a token ring such that each node has a symmetric key (SK) with its predecessor and successor and knows all other nodes’ public key (PK). • To send a message, a node encrypts the message with the receiver’s PK and adds it to the token. • Each node decrypts the token and determines if there is a message (if it is addressed to them) • As all messages are encrypted, and an encryption looks like a random string; no node can tell if there is a message unless it is addressed to them
单蝙蝠Dān BiānFú(Single BianFu) 0 7 1 6 2 5 3 4 Random • (0) Sends a message to (2): • (0) Creates message E2(M)
单蝙蝠Dān BiānFú(Single BianFu) 0 7 1 6 2 5 3 4 E2(M) • (0) Sends a message to (2): • (0) Creates message E2(M) • (0) Adds message E1(E2(M)) to token
单蝙蝠Dān BiānFú(Single BianFu) 0 7 1 6 2 5 3 4 • (0) Sends a message to (2): • (0) Creates message E2(M) • (0) Adds message E1(E2(M)) to token • (1) Sees E2(M) and has no messages so forwards the token (E2(E2(M))) E2(M)
单蝙蝠Dān BiānFú(Single BianFu) 0 7 1 6 2 5 3 4 • (0) Sends a message to (2): • (0) Creates message E2(M) • (0) Adds message E1(E2(M)) to token • (1) Sees E2(M) and has no messages so forwards the token (E2(E2(M))) • (2) Sees E2(M) and tries its PK and sees M but has no idea who sent it. M
单蝙蝠Dān BiānFú(Single BianFu) • A global passive eavesdropper has no knowledge of if there is a message and cannot therefore tell who initiated a message, i.e. d HM 1 • A local passive eavesdropper has no knowledge of who initiated a message as it is equally likely to have come from any node (pi 1/N), again d 1 • A global internal attacker has the same knowledge as a local passive eavesdropper. • Simple concept yielding perfect anonymity
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) • Problems with simple 单蝙蝠: • Collisions grow exponentially with N (1 - paddMsg)N/2 • Adding a mechanism to support replies requires either sacrificing Sender anonymity against the receiver or generating a random SK (latter is not a big problem) • Delay grows linearly with N (i.e. the average length is N/2 and for large N this is impractical)
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) • Keep the individual rings small by having multiple rings that are a small fixed size (X nodes/ring) • Disable collisions by reserving a bucket for each node in the token (sender-segregated), i.e. [(0),(1),…,(X)] • Arrange each node to belong to k of these rings • All nodes know the PK of all other nodes and know the shortest path to any nodes, SK with nodes in its ring • Each ring has r tokens • Connecting nodes relay messages between rings
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) • To send a message, a node encrypts with the SK the destination ring of the final node and the PK encrypted message, Ei(a,Ed(M)). • Nodes receiving a message containing a forward address, look up the path to the destination and forward the message encrypting it with SK, if needed • The receiver will have no knowledge of the sender if the path length (L) is greater than or equal to 2 • SK for small rings is preferable due to the high cost of PK operations
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) • To allow the receiver to reply to the sender, the sender simply includes a one time use SK, EDest(Rid,SKInit,Dest,M) • The sender must be sure to use the same ring id for each message to the receiver, otherwise it will decrease its entropy (anonymity)
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) 0 8 1 2 5 0 E4(B,E5(A,SK5,2,M)) 2 3 4 3 6 4 7 • (1) wishes to send a message to (5): • (1) Creates a message E4(B,E5(A,SK5,1,M)) • (1) Adds it to the token and forwards it A B
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) 0 8 1 2 5 6 3 0 E4(B,E5(A,SK5,2,M)) 2 3 4 7 4 • (1) wishes to send a message to (5): • (2) Receives the token and sees no messages for it, trying all with its PK and each with the SK it shares • (2) Forwards the token A B
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) 0 8 1 2 5 6 3 0 E4(B,E5(A,SK5,2,M)) 2 3 4 7 4 • (1) wishes to send a message to (5): • (3) Receives the token and sees no messages for it, trying all with its PK and each with the SK it shares • (3) Forwards the token A B
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) 0 8 1 2 5 6 3 0 E4(B,E5(A,SK5,2,M)) 2 3 4 7 4 • (1) wishes to send a message to (5): • (4) Sees there is a “route” message and forwards it to ring B (as B is destination (4) doesn’t encrypt with SK) A B
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) 0 8 1 2 5 E5(A,SK5,2,M) 5 6 7 8 3 6 7 4 • (1) wishes to send a message to (5): • (4) Adds the message to the token for B • (4) Forwards the token A B
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) 0 8 1 2 5 E5(A,SK5,2,M) 5 6 7 8 3 6 7 4 • (1) wishes to send a message to (5): • (5) Receives the token and checks for messages using its PK • (5) Receives M, the initiating ring id, and the SK it shares with (2) unknowing of who it shares it with A B
倍数蝙蝠BèiShù BiānFú (Multiple BianFu) • d 1 if C < k (X - 1), otherwise d 0 ! • Say (i) receives the token from (i-1) and (i) somehow knows there is a message (he can be in communication with the final recipient) but as (i-1) belongs to k rings (i-1) could be forwarding a message from any of the k rings that (i-1) belongs to; each node, as in 单蝙蝠, has a probability of 1/(N-C): as it is impossible for any node other than node (i-1) to know if (i-1) is forwarding a message or initiating his own
締結DìJié(Conclusion) • 蝙蝠 has the benefits of DC-Net (i.e. guaranteed perfect anonymity) with a much lower cost of operation • Has the same requirement as in Crowds that the “route” should be constant (i.e. the ring id the node uses for its messages should be constant) • Am working on a network simulator to provide some test data
问题吗 (Questions?)
References • Andrei Serjantov, George Danezis. Towards an Information Theoretic Metric for Anonymity. • Claudia Diaz, Stefaan Seys, Joris Claessens, and Bart Preneel. Towards measuring anonymity. • Michael K. Reiter and Aviel D. Rubin. Crowds: anonymity for Web transactions. • David Chaum. The Dining Cryptographers Problem: Unconditional Sender and Recipient Untraceability.