Table of Contents
Fetching ...

Ariadne: a Privacy-Preserving Communication Protocol

Antoine Fressancourt, Luigi Iannone, Mael Kerichard

TL;DR

Ariadne tackles privacy in network-layer communications by combining source routing with low-latency onion routing. It introduces a fixed-size routing information vector with pseudo-random slot permutation and a per-hop key-referral mechanism based on encrypted patterns, enabling per-packet keys derived from master keys without explicit key references. The authors formalize path-session and session unlinkability, compare Ariadne to Sphinx, HORNET, and TARANET, and demonstrate improved path-tail indistinguishability while maintaining low latency. A Rust implementation shows feasible throughput (tens to hundreds of Gbps depending on role) and provides a concrete foundation for future deployment, tooling, and a privacy-preserving control plane.

Abstract

In this article, we present Ariadne, a privacy-preserving communication network layer protocol that uses a source routing approach to avoid relying on trusted third parties. In Ariadne, a source node willing to send anonymized network traffic to a destination uses a path consisting in nodes with which it has pre-shared symmetric keys. Temporary keys derived from those pre-shared keys to protect communication privacy using onion routing techniques, ensuring session unlinkability for packets following the same path. Ariadne enhances previous approaches to preserve communication privacy by introducing two novelties. First, the source route is encoded in a fixed size, sequentially encrypted vector of routing information elements, in which the elements' positions in the vector are pseudo-randomly permuted. Second, the temporary keys used to process the packets on the path are referenced using mutually known encrypted patterns. This avoids the use of an explicit key reference that could be used to de-anonymize the communications.

Ariadne: a Privacy-Preserving Communication Protocol

TL;DR

Ariadne tackles privacy in network-layer communications by combining source routing with low-latency onion routing. It introduces a fixed-size routing information vector with pseudo-random slot permutation and a per-hop key-referral mechanism based on encrypted patterns, enabling per-packet keys derived from master keys without explicit key references. The authors formalize path-session and session unlinkability, compare Ariadne to Sphinx, HORNET, and TARANET, and demonstrate improved path-tail indistinguishability while maintaining low latency. A Rust implementation shows feasible throughput (tens to hundreds of Gbps depending on role) and provides a concrete foundation for future deployment, tooling, and a privacy-preserving control plane.

Abstract

In this article, we present Ariadne, a privacy-preserving communication network layer protocol that uses a source routing approach to avoid relying on trusted third parties. In Ariadne, a source node willing to send anonymized network traffic to a destination uses a path consisting in nodes with which it has pre-shared symmetric keys. Temporary keys derived from those pre-shared keys to protect communication privacy using onion routing techniques, ensuring session unlinkability for packets following the same path. Ariadne enhances previous approaches to preserve communication privacy by introducing two novelties. First, the source route is encoded in a fixed size, sequentially encrypted vector of routing information elements, in which the elements' positions in the vector are pseudo-randomly permuted. Second, the temporary keys used to process the packets on the path are referenced using mutually known encrypted patterns. This avoids the use of an explicit key reference that could be used to de-anonymize the communications.
Paper Structure (28 sections, 2 theorems, 18 equations, 4 figures, 2 tables)

This paper contains 28 sections, 2 theorems, 18 equations, 4 figures, 2 tables.

Key Result

Theorem 1

Ariadne achieves session unlinkability against any PPT adversary $A$ belonging to the $\mathcal{A}_1$ attacker class.

Figures (4)

  • Figure 1: Referencing a shared key using an encrypted pattern
  • Figure 2: Packet creation procedure: steps performed for node $N_i$
  • Figure 3: Packet relaying procedure at node $N_i$
  • Figure 4: Packet creation and processing time depending on the number of path nodes

Theorems & Definitions (4)

  • Theorem 1
  • proof
  • Theorem 2
  • proof