What?????

Yeh before you think this is a journal entry, it’s actually about how we create Anonymous Communication, subscribing to the security principals.

How?

  • It works by taking a bunch of users’ requests, mixing them and then sending out batches of requests to the servers.
  • If you send a request, you need to include a “return address” encrypted with the mixer’s public key. That way, you send a request, the mixer batches it, sends it to the server, the server responds to the mixer and mixer returns to you.

The Different Types:

  • Time based: The mixer can send out the batches after a seconds of traffic. That way, every message the mixer received in the last gets released.
    • Problem: Anonymity is entirely relying on a busy server. If only 1 person accessed the mixer, then it’s obvious who’s request that was
  • Quota Based (Threshold): The mixer sends out batches after requests.
    • Problem: There’s no guarantee how quickly you’ll get it.
  • Quota and Time (Pool) Based: The mixer should have a minimum amount of messages () at all times. If that quota is matched, every seconds random fraction of gets released.
    • Problem: You need lots of memory for the queue to be held.
  • Client Delay (Continuous) based: Each client says “delay my message this long”. The Mixer only has to obey it. Decide it randomly.

How Could Sender Be Anonymous To The Server?

  • Craft a request envelope. It has an encrypted “original sender”.
    • The “original sender” field is encrypted with the “Response Mixer“‘s public key.
    • The entire envelope is encrypted with the “Forward Sending Mixer“‘s public key.
  • Send this to “Forward Sending Mixer”.
    • FSM decrypts the first
  • Mixer sends this to the server.
  • Server responds to a “Response Mixer”
  • Response Mixer decrypts the “Original Sender“‘s address.
  • Response Mixer then sends it back

Why Use 2 Mixers?

  • Single Point of Failure: A single mix could tie the user to the server. If it got compromised, security over.
  • Prevents Time Correlation Attacks.

Attacks on Mixed Communications:

  • Time Correlation Attacks:
    • Imagine you control the entry and exit node.
    • You observe the traffic’s timing and volume.
    • You try and pair the entry’s patterns to the exit’s patterns.
    • *Requires entry and exit node control. *
    • (Also applicable to Tor 🧅)
    • It can be defended by padding messages and buffering.
  • -1 Attack:
    • If a mixer has a capacity of , then what’s to stop the attacker sending messages with a known location?
    • When you send the final message, you’re easily linked to the recipient

Defences Against Attacks on Mixed Communications

  • It can be defended by padding messages and buffering.
  • Dummy messages: Prevents the attack. That way they can’t be linked back to you.