Sintesi Tecnica: OmniSphinx: Reti Mix Attive
Definizione del Problema
Le reti mix sono uno strumento critico per la comunicazione anonima, proteggendo sia il contenuto dei messaggi che i metadati (ad esempio, le relazioni mittente-destinatario). Tuttavia, le attuali reti mix soffrono di rigidità: si affidano a formati di pacchetti specifici e fissi (ad esempio, Sphinx, PolySphinx, EROR). Questi formati sono incompatibili tra loro, richiedendo implementazioni di software e infrastrutture separate. Questa frammentazione costringe gli operatori a scegliere un singolo formato, limitando la funzionalità dell'utente (ad esempio, il traffico multicast) e impedendo alla rete di adattarsi a futuri formati senza aggiornamenti coordinati delle infrastrutture.
Sebbene siano stati proposti concetti di "networking attivo"—dove i nodi eseguono codice incorporato nei pacchetti—questi sono stati storicamente rifiutati a causa degli impatti sulle prestazioni e della mancanza di casi d'uso convincenti. Gli autori sostengono che le reti mix, che già incorrono in una latenza significativa dovuta alla cifratura e al rimescolamento (shuffling), rappresentino un caso d'uso praticabile dove l'overhead del processamento attivo potrebbe essere accettabile in cambio della capacità di emulare diversi formati all'interno di un'unica distribuzione.
Metodologia
Gli autori propongono OmniSphinx, un nuovo formato mix attivo che integra le idee del networking attivo nel protocollo stabilito di Sphinx.
Design Centrale
OmniSphense struttura i pacchetti in un'intestazione (header) e un carico utile (payload). A differenza dei formati tradizionali in cui la logica di elaborazione del pacchetto è codificata nell'hardware o nel protocollo, OmniSphinx incorpora un programma mix per ogni nodo nel percorso direttamente nell'intestazione del pacchetto.
- Set di Istruzioni: Il sistema utilizza un set di istruzioni personalizzato basato su registri, progettato su misura per le operazioni richieste dai formati mix esistenti (ad esempio, derivazione delle chiavi, cifratura/decifrazione, verifica MAC, padding e inoltro). Questo set bilancia flessibilità e overhead, evitando l'inefficienza del codice macchina a basso livello pur rimanendo più adattabile rispetto alle astrazioni ad alto livello.
- Elaborazione del Pacchetto: Al ricevimento di un pacchetto, un nodo mix esegue tre fasi:
- Pre-elaborazione: Deriva la chiave segreta tramite Diffie-Hellman e de-impacchetta la cifratura onion per rivelare il programma mix per lo step corrente.
- Esecuzione del Programma: Il nodo esegue le istruzioni incorporate. Il programma ha accesso all'intestazione, al carico utile e alla chiave segreta condivisa. Un'istruzione dedicata
Forward inserisce il pacchetto risultante in coda.
- Post-elaborazione: Il nodo assicura che il pacchetto in uscita soddisfi i requisiti di dimensione tramite un padding deterministico.
Analisi della Sicurezza e della Privacy
Gli autori affrontano tre sfide primarie: flessibilità, privacy e prestazioni.
- Garanzie di Privacy: L'articolo sostiene che per programmi mix arbitrari, le prove standard di privacy (Unlinkability a Livello di Istruzione - ILU e Tail Indistinguishability - ITI) non valgono automaticamente perché il comportamento del nodo non è più fisso. Per affrontare ciò, gli autori:
- Dimostrano che OmniSphinx soddisfa versioni adattate di Instruction Layer Unlinkability (ILU) e Instruction Tail Indistinguishability (ITI) utilizzando una semplice istruzione
Forward, facendo affidamento sull'assunto Gap Diffie-Hellman (GDH).
- Introducono l'Analisi del Flusso di Informazioni nel contesto della comunicazione anonima. Questo metodo classifica i dati come "benigni" o "maligni" e traccia le dipendenze attraverso il grafo delle istruzioni. Un programma mix è considerato sicuro se nessuna informazione maligna (ad esempio, la chiave segreta o i dati del pacchetto precedente) fluisce verso l'istruzione
Forward.
- Sicurezza del Nodo: Il set di istruzioni è ristretto per evitare che utenti malintenzionati possano estrarre segreti, controllare il nodo (ad esempio, partecipazione a botnet) o causare attacchi Denial-of-Service. Tempo di esecuzione e memoria sono limitati, e il set manca di accesso arbitrario alla rete.
Contributi Chiave
- Protocollo OmniSphinx: Un nuovo formato mix che consente ai mittenti di incorporare una logica di elaborazione personalizzata, permettendo a un'istanza di rete singola di emulare molteplici formati esistenti e futuri.
- Architettura del Set di Istruzioni: Un insieme definito di istruzioni capaci di emulare i formati mix rilevanti (specificamente dimostrato per Sphinx e PolySphinx) mantenendo l'efficienza.
- Analisi del Flusso di Informazioni: L'applicazione dell'analisi del flusso di informazioni per verificare la privacy di programmi mix arbitrari, garantendo che l'elaborazione dinamica non perda metadati.
- Valutazione Empirica: Un benchmark completo di overhead di banda e computazionale rispetto ai formati nativi.
Risultati
Gli autori hanno implementato OmniSphinx in Java ed hanno valutato le prestazioni contro Sphinx nativo, AE-Sphinx, EROR, MultiSphinx e PolySphinx.
- Overhead di Banda:
- L'emulazione di Sphinx (il formato più compatto) aumenta la dimensione dell'intestazione del 33% (da 205 B a 273 B).
- L'emulazione di altri formati comporta overhead relativi più elevati (ad esempio, +127% per AE-Sphinx, +139% per MultiSphinx) principalmente perché OmniSphinx deve includere il programma mix e un MAC aggiuntivo nell'intestazione, mentre i formati nativi spesso riutilizzano i MAC per l'integrità del carico utile.
- In uno scenario peggiore (emulando tutti i formati con un payload di 2 KiB), la dimensione del pacchetto aumenta di circa il 61%.
- Overhead Computazionale:
- Creazione del Pacchetto: Le prestazioni sono identiche allo Sphinx nativo (~1,12 ms), poiché questo processo è gestito da implementazioni Java native per entrambi.
- Elaborazione del Pacchetto: L'elaborazione di OmniSphinx è più lenta di circa 90 µs rispetto allo Sphinx nativo (283 µs rispetto a 198 µs per i nodi intermedi).
- Costi delle Istruzioni: Le semplici istruzioni di spostamento byte richiedono circa 1,5 µs. Le operazioni crittografiche (MAC, Hash, Cifra/Decifra) sono 2-3 volte più lunghe, mentre le operazioni a chiave pubblica (Esponente) sono le più lente (~153 µs).
- Capacità di Emulazione: Gli autori hanno dimostrato con successo che OmniSphinx può emulare la piena funzionalità di Sphinx e PolySphinx (inclusi replicazione e comunicazione di gruppo) utilizzando il set di istruzioni definito.
Significatività e Rivendicazioni
L'articolo afferma che OmniSphinx dimostra la fattibilità del networking attivo entro i vincoli specifici delle reti mix. Sebbene l'emulazione introduca un overhead misurabile sia nella banda che nella computazione, gli autori sostengono che tali costi siano ragionevoli per i tipici casi d'uso, come la comunicazione via email, dove la latenza di rete e i costi crittografici esistenti dominano già il tempo totale.
La principale significatività risiede nello spostamento da distribuzioni rigide a un formato singolo verso un infrastruttura flessibile e unificata. Ciò permette:
- Migliore Utilizzo delle Risorse: Una singola istanza di rete mix può servire clienti con requisiti diversi (ad esempio, unicast standard vs multicast) senza necessità di reti separate.
- Incremento degli Insiemi Anonimi: Gli utenti possono scegliere da un insieme di nodi e operatori più ampio e diversificato che supportano le loro specifiche esigenze di formato.
- Protezione dal Futuro (Future-Proofing): Nuovi formati mix possono essere implementati e distribuiti tramite aggiornamenti software del set di istruzioni o della logica del client, senza richiedere cambiamenti strutturali coordinati presso tutti gli operatori.
Gli autori concludono che, sebbene OmniSphinx non sia un sostituto diretto ("drop-in replacement") dei formati nativi a causa dell'overhead, offre un compromesso interessante per gli operatori e gli utenti che cercano flessibilità ed estensibilità nei sistemi di comunicazione anonima.