Anonymous, Private and Traffic Pattern Analysis resistant messaging platform


One night we had with group of techies a long long chat about privacy tools. Conclusion was similar to earlier discussions, there are very few or no-tools which try to defeat passive global traffic pattern analysis. Here's just quick sum up from very very long discussions, got any thoughts?

Here are the key points summed up:

  • Multiple physical servers

  • Anonymous payments (like Monero)

  • Anonymous introduction request

  • Mixnet running on relay servers, all servers of the network need to be compromised to gain access to the message identifying users

That's what I would do if I would be unemployed, just out of curiosity.

All connections encrypted between servers, all servers hold own private keys, generated on the server. Messages are chained through three servers which all mix the packets of the round. Entry / exit server verifies payments anonymously with payment server.

The server systems run in different countries, different data centers and by different authoritative administration and under different jurisdiction. -> All of the network members and servers have to be compromised.

For people whom aren't familiar with the core concepts, a few things are good to acknowledge:

  • Payments are for monthly mixnet slot between sender and recipient

  • Mixnet slots can be chosen from different interval rounds, as example daily, hourly and five minutes, with suitable block sizes. Like 1 GB, 10 MB, 64 kB. Example values are just reasonable examples out of hat.

  • For traffic pattern analysis, it's necessary that the client attends every round, if possible. Which means that the fixed size block will be sent and received for every round.

What the system knows about users:

  1. Anonymous payment is completed using Monero.

  2. Users IP address, when they connect the network.

  3. When they send and receive messages. Yet these are handled by different parties.

What a global passive observer sees:

  1. The IP addresses the users are connecting to the system

  2. That they're receiving / sending a specific stream (size / interval) - Do we need more than one?

  3. Nothing else, everything else is encrypted

Active attacker can:

  1. Block transmissions to the system

  2. Block transmissions from the system

In either case, the blocked client will lose messages and in case of transmission is blocked, the system will fill in the slots with decoy traffic. Preventing the attacker from identifying which receiver now lost packets, due to blocked transmissions.

Nothing needs to be logged or stored in long term. Each round starts clean. All data which needs to be maintained by the payment server as long as it's valid, is knowledge of number of slots being bought by the anonymous user. When the paid term expires, the data will be deleted. None of the servers know what is being transmitted and received, and to know who's sending to whom, needs compromise of all mixnet nodes. Finally because all packets are fixed by size, and sent with regular interval the traffic pattern is hidden. When someone sends / receives information and how much and when they're doing it, which isn't protected by any (?) of the so called private and or anonymous messengers.

Of course compromising the user devices might break security for a single user, yet their contacts would still remain completely anonymous. Unless of course the communications contain identifiable information.

This brings question if TCP can be used for secure communication, does it itself reveal too much information, as example TCP parameters can be identifiable? Should UDP packets be used instead?

This is a very quick and dirty concept draft and summary, but it would be interesting to hear, if there's anyone interested about such solutions out there.

Rules of the private anonymous chat community forbid quotes and logging, therefore this post is from my memory a few days later than the chats took place, so it can be considered obfuscated enough to be posted publicly.

Also see: Privacy preserving messenger application

2021-07-04

Update later related to this topic:
These project pretty much follows the concepts I were thinking about, including designs of Loopix and Panoramix. And not forgetting the latest development of Nym Project / Nym Network (@ nymtech.net ), which seems quite interesting.