Table of Contents
Fetching ...

Session: End-To-End Encrypted Conversations With Minimal Metadata Leakage

Kee Jefferys, Maxim Shishmarev, Simon Harman

TL;DR

Session addresses metadata leakage in secure messaging by combining end-to-end encryption with onion routing and decentralised storage. It replaces phone-number-based identities with pseudonymous Ed25519 public-private keys and uses a three-hop onion request path to obscure IP addresses, backed by a stake-based Session Node network on Arbitrum. The paper introduces the Session Protocol, a bespoke encryption protocol optimized for decentralised networks, supports one-on-one and group communications with mechanisms for key rotation and blinded identities in communities. The combination offers robust privacy with scalable group sizes while preserving essential features like multi-device sync, attachments, and offline delivery, though limitations such as $PFS$ in one-on-one and traffic analysis remain challenges.

Abstract

Session is an open-source, public-key-based secure messaging application which uses a set of decentralised storage servers and an onion routing protocol to send end-to-end encrypted messages with minimal exposure of user metadata. It does this while providing the common features expected of mainstream messaging applications, such as multi-device syncing, offline inboxes, and voice/video calling.

Session: End-To-End Encrypted Conversations With Minimal Metadata Leakage

TL;DR

Session addresses metadata leakage in secure messaging by combining end-to-end encryption with onion routing and decentralised storage. It replaces phone-number-based identities with pseudonymous Ed25519 public-private keys and uses a three-hop onion request path to obscure IP addresses, backed by a stake-based Session Node network on Arbitrum. The paper introduces the Session Protocol, a bespoke encryption protocol optimized for decentralised networks, supports one-on-one and group communications with mechanisms for key rotation and blinded identities in communities. The combination offers robust privacy with scalable group sizes while preserving essential features like multi-device sync, attachments, and offline delivery, though limitations such as in one-on-one and traffic analysis remain challenges.

Abstract

Session is an open-source, public-key-based secure messaging application which uses a set of decentralised storage servers and an onion routing protocol to send end-to-end encrypted messages with minimal exposure of user metadata. It does this while providing the common features expected of mainstream messaging applications, such as multi-device syncing, offline inboxes, and voice/video calling.

Paper Structure

This paper contains 69 sections, 7 figures.

Figures (7)

  • Figure 1: A client sends an onion request which hops via 3 Session Nodes to a destination, in this case, another Session Node
  • Figure 2: Alice uses an onion request to send a message to a Session Node within Bob’s swarm, the message is then propagated within the swarm. Bob later sends an onion request to retrieve said message.
  • Figure 3: Client sends message using client-side fanout: The sender (green computer) sends messages to other clients (solid red lines) but is unable to send to an offline device (yellow phone)
  • Figure 4: Client sends message using server-side fanout: The sender client (green computer) pushes the message to the server (solid red line) and the server distributes the messages to recipient clients (dotted red lines)
  • Figure 5: Example of a Session Community Server URL
  • ...and 2 more figures