Technische Samenvatting: OmniSphinx: Actieve Mix-netwerken
Probleemstelling
Mix-netwerken zijn een cruciaal instrument voor anonieme communicatie, waarbij zowel de inhoud van berichten als metadata (bijv. zender-ontvangerrelaties) worden beschermd. Echter, bestaande mix-netwerken lijden aan rigiditeit: ze vertrouwen op specifieke, vaste pakketformaten (bijv. Sphinx, PolySphinx, EROR). Deze formaten zijn onderling incompatibel, wat vereist dat er aparte software en infrastructuur wordt uitgerold. Deze fragmentatie dwingt operators om één specifief formaat te kiezen, wat de functionaliteit voor gebruikers beperkt (bijv. multicast-verkeer) en voorkomt dat het netwerk kan adapteren aan toekomstige formaten zonder gecoördineerde updates van de infrastructuur.
Hoewel concepten voor "actieve netwerken"—waarbij knooppunten (nodes) code uitvoeren die in pakketten is ingebed—zijn voorgesteld om flexibiliteit toe te voegen, zijn deze historisch gezien afgewezen vanwege prestatieproblemen en een gebrek aan overtuigende use cases. De auteurs stellen dat mix-netwerken, die al aanzienlijke latentie veroorzaken door encryptie en shuffling, een levensvatbare use case vormen waarbij de overhead van actieve verwerking acceptabel kan zijn in ruil voor de mogelijkheid om diverse formaten binnen één enkele deployment te emuleren.
Methodologie
De auteurs stellen OmniSphinx voor, een nieuw actief mix-formaat dat ideeën uit actieve netwerken integreert in het gevestigde Sphinx-protocol.
Kernontwerp
OmniSphinx structureert pakketten in een header en een payload. In tegen tegenstelling tot traditionele formaten waar de pakketverwerkingslogica hard-coded in het protocol zit, bevat OmniSphinx direct in de pakketheader een mix-programma voor elk knooppunt in het pad.
- Instructieset: Het systeem maakt gebruik van een aangepaste, register-gebaseerde instructieset die is afgestemd op de operaties die nodig zijn voor bestaande mix-formaten (bijv. sleutelafleiding, encryptie/decryptie, MAC-verificatie, padding en forwarding). Deze set balanceert flexibiliteit met overhead, door de inefficiëntie van lage-niveau machinecode te vermijden terwijl het meer aanpasbaar blijft dan hoge-niveau abstracties.
- Pakketverwerking: Bij ontvangst van een pakket voert een mix-knooppunt drie stadia uit:
- Preprocessing: Leidt het gedeelde geheim af via Diffie-Hellman en ontpakt de onion-encryptie om het mix-programma voor de huidige hop te onthullen.
- Programma-executie: Het knooppunt voert de ingebedde instructies uit. Het programma heeft toegang tot de header, de payload en het gedeelde geheim. Een specifieke
Forward-instructie plaatst het resulterende pakket in de wachtrij.
- Postprocessing: Het knooppunt zorgt ervoor dat het uitgaande pakket voldoet aan de grootte-eisen via deterministische padding.
Beveiligings- en Privacyanalyse
De auteurs adresseren drie primaire uitdagingen: flexibiliteit, privacy en prestaties.
- Privacygaranties: Het artikel betoogt dat voor willekeurige mix-programma's standaard privacybewijzen (Layer Unlinkability en Tail Indistinguishability) niet automatisch standhouden omdat het gedrag van knooppunten niet langer vaststaat. Om dit op te lossen, doen de auteurs het volgende:
- Bewijzen dat OmniSphinx voldoet aan aangepaste versies van Instruction Layer Unlinkability (ILU) en Instruction Tail Indistinguishability (ITI) bij het gebruik van een eenvoudige
Forward-instructie, waarbij zij vertrouwen op de Gap Diffie-Hellman (GDH) aanname.
- Introduceren Information Flow Analysis in de context van anonieme communicatie. Deze methode classificeert data als "benigne" (onschadelijk) of "maligne" (kwaadaardig) en volgt afhankelijkheden via de instructie-grafiek. Een mix-programma wordt als veilig beschouwd als er geen kwaadaardige informatie (bijv. het gedeelde geheim of eerdere pakketdata) naar de
Forward-instructie stroomt.
- Knooppuntbeveiliging: De instructieset is beperkt om kwaadwillende gebruikers te voorkomen dat zij geheimen exfiltreren, het knoopppunt controleren (bijv. deelname aan een botnet) of Denial-of-Service veroorzaken. De uitvoeringstijd en het geheugen zijn begrensd, en de set mist willekeurige netwerktoegang.
Belangrijkste Bijdragen
- OmniSphinx Protocol: Een nieuw mix-formaat dat het mogelijk maakt voor verzenders om aangepaste verwerkingslogica in te bedden, waardoor één enkele netwerkinstantie meerdere bestaande en toekomstige mix-formaten kan emuleren.
- Instruction Set Architecture: Een gedefinieerde set instructies die in staat is om relevante mix-formaten te emuleren (specifiek gedemonstreerd voor Sphinx en PolySphinx) terwijl de efficiëntie behouden blijft.
- Information Flow Analysis: De toepassing van informatie-stroomanalyse om de privacy van willekeurige mix-programma's te verifiëren, wat garandeert dat dynamische verwerking geen metadata lekt.
- Empirische Evaluatie: Een uitgebreide benchmark van de bandbreedte- en computationele overhead vergeleken met native formaten.
Resultaten
De auteurs hebben OmniSphinx geïmplementeerd in Java en de prestaties geëvalueerd tegenover native Sphinx, AE-Sphinx, EROR, MultiSphinx en PolySphinx.
- Bandbreedte-overhead:
- Het emuleren van Sphinx (het meest compacte formaat) vergroot de headergrootte met 33% (van 205 B naar 273 B).
- Het emuleren van andere formaten brengt hogere relatieve overheads met zich mee (bijv. +127% voor AE-Sphinx, +139% voor MultiSphinx), voornamelijk omdat OmniSphinx het mix-programma en een extra MAC in de header moet opnemen, terwijl native formaten vaak MAC's hergebruiken voor payload-integriteit.
- In een worst-case scenario (emulatie van alle formaten met een 2 KiB payload) neemt de pakketgrootte met ongeveer 61% toe.
- Computationele Overhead:
- Pakketcreatie: De prestaties zijn identiek aan native Sphinx (~1.12 ms), aangezien dit voor beide door native Java-implementaties wordt afgehandeld.
- Pakketverwerking: OmniSphinx-verwerking is ongeveer 90 µs trager dan native Sphinx (283 µs versus 198 µs voor tussenliggende knooppunten).
- Instructiekosten: Eenvoudige byte-bewegingsinstructies kosten
1.5 µs. Cryptografische operaties (MAC, Hash, Encrypt/Decrypt) duren 2 tot 3 keer langer, terwijl publieke-sleutel-operaties (Exponent) de traagste zijn (153 µs).
- Emulatievermogen: De auteurs hebben succesvol gedemonstreerd dat OmniSphinx de volledige functionaliteit van Sphinx en PolySphinx (inclusclusief replicatie en groepscommunicatie) kan emuleren met de gedefinieerde instructieset.
Betekenis en Claims
Het artikel claimt dat OmniSphinx de levensvatbaarheid van actieve netwerken binnen de specifieke beperkingen van mix-netwerken aantoont. Hoewel emulatie meetbare overhead introduceert in zowel bandbreedte als berekening, stellen de auteurs dat deze kosten redelijk zijn voor typische use cases zoals e-mailcommunicatie, waarbij netwerklatentie en bestaande cryptografische kosten al dominant zijn.
De primaire betekenis ligt in de verschuiving van rigide, single-formaat deployments naar een flexibele, verenigde infrastructuur. Dit maakt het volgende mogelijk:
- Betere Benutting van Middelen: Een enkele mix-netwerkinstantie kan klanten met diverse vereisten bedienen (bijv. standaard unicast versus multicast) zonder dat er aparte netwerken nodig zijn.
- Verbeterde Anonymity Sets: Gebruikers kunnen kiezen uit een bredere, diversere set knooppunten en operators die hun specifieke formaatbehoeften ondersteunen.
- Toekomstbestendigheid: Nieuwe mix-formaten kunnen worden geïmplementeerd en uitgerold via software-updates van de instructieset of client-logica, zonder dat hiervoor gecoördineerde wijzigingen in de infrastructuur bij alle operators nodig zijn.
De auteurs concluderen dat hoewel OmniSphinx geen directe vervanging is voor native formaten vanwege de overhead, het een overtuigende afweging biedt voor operators en gebruikers die op zoek zijn naar flexibiliteit en uitbreidbaarheid in anonieme communicatiesystemen.