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.
