Anonymous Communication

Published on Aug 15, 2016

Abstract

Anonymous communication is a necessary measure to protect the privacy of users, and protect computer systems against traffic analysis. Anonymity systems seeks to build an infrastructure running on top of the existing Internet protocols that allows people to communicate with each other without necessarily revealing their personal network identifiers.

The basic idea behind any anonymous system is to provide unlinkability between communicating parties by relaying traffic through a number of intermediate nodes. If the messages are delayed and buffered at these intermediate nodes then they can provide stronger anonymity.

Such message based systems are suitable for high latency anonymous applications such as anonymous email. Such sytems are called Mix based system. Circuit based randomized routing techniques like Onion Routing and TOR are used for providing low latency applications like anonymous web browsing or remote login. All these anonymous systems are used by are used by diverse group of users to protect their identities on the Internet

Introduction of CHAUM’S MIX

It is a concept introduced by David Chaum which is based on public key cryptography that allows an electronic mail system to hide whom a participant communicates with as well as the content of the communication . The basic building block of such a high latency anonymous communication systems is a mix. At a high level ,a mix is a process that accepts encrypted messages as input and groups several messages together into a batch , and then decrypts and
forwards some or all of the messages in the batch.

The principal idea is that messages to be anonymized are relayed through a mix. The mix has a well-known RSA public key, and messages are divided into blocks and encrypted using this key. Upon receiving a message, a mix decrypts all the blocks, strips out the first block that contains the address of the recipient, and appends a block of random bits (the junk) at the end of the message. The length of the junk is chosen to make messages size invariant. The most important property that the decryption and the padding aim to achieve is bitwise unlinkability.

An observer, or an active attacker, should not be able to find the link between the bit pattern of the encoded messages arriving at the mix and the decoded messages departing from the mix. More precisely, a mix first generates a public and private key pair and makes the public component known to clients who wish to relay messages through the mix .We let C = Ex (M) denote encryption of a message M with mix x’s publickey, and also let M = Dx(C) denote decryption of a cipher text C with mix x’s corresponding privatekey. Further ,we let Ax represent the identity or address of mix x (e.g., x’sIPaddress).

Consider a sender , Alice , who wants to anonymously send a message M to a recipient , Bob ,via a single mix x .Then , Alice would compute Ex (Rx , M, AB),where Rx is a string of random bits and AB is Bob’s address . She then sends the resulting cipher text to the mix, which can use its privatekey to retrieve M and AB. Rx is simply discarded, but is included in the encryption to help prevent an adversary from identifying two identical messages encrypted under the same asymmetric key . Also alice could first encrypt Message M using publickey of Bob so that even the mix couldn’t read it. This can be concisely represented as

Ex (Rx , M, AB) → M.

The mix collects messages into a batch until it has received “enough” ,and then forwards each to the destination address extracted from the decrypted input message

MIX NETWORKS

More level of anonymity can be achieved by using a series of mixes instead of a single mix.In mix networks senders can choose an ordered sequence of mixes through which to send their messages. The sequence of mixes through which a message is routed as that message’s path. There are two general path selection strategies typically considered: free routes and mix cascades. In free route topology the clients are able to choose any ordered sequence of mixes in the network for their message’s path. In a mix cascade topology, there are one or more
predefined routes through which all client traffic is relayed.

If Alice wants to anonymously send a message M to Bob via a path P = {x, y, z} , she would iteratively create a layer of encryption, in the same manner as above, for each mix starting with the last mix in the path and working back toward the first. Alice then sends the resulting multiply encrypted ciphertext to the first mix in the path. Each mix can remove a layer of encryption to extract the address of the next mix in the path and a ciphertext message to forward to that mix.As the message traverses the path P, it results in the following cryptographic transformations: