Anonymous remailer: principi di funzionamento e sicurezza

Questo documento tratto da un messaggio postato da Luc Pac nella mailing list cyber-right.

E' vero che alcuni anonynmous remailer sono stati installati da organizzazioni come la CIA per monitorare traffico di info "sospetto"...?

Queste sono *voci*, occhio a non farle passare per cose appurate. a me sembra solo una delle tantissime espressioni del 'cospirativismo' che gira in rete. Gli americani hanno un amore particolare per le cospirazioni e le dietrologie... detto questo, la voce puo' anche essere vera, per quanto ne sappiamo noi, e questa ipotesi e' stata certamente fatta piu' volte nei circoli cypherpunks (i cypherpunks sono persone particolarmente paranoiche, ma in modo molto razionale).
La risposta a questa voce e' semplice: la CIA puo' anche installare uno o piu' remailers, ma per garantire la mia riservatezza a me basta *UN* remailer sicuro e affidabile.

Dicevo, tempo fa, che l'uso corretto dei remailers prevede il loro utilizzo 'chained' (cioe' concatenati, cioe' in modo che un messaggio passi attraverso piu' di un remailer prima di giungere a destinazione). Se io concateno correttamente, diciamo, 5 remailers, la resistenza complessiva di questa catena non e' data, come avviene di solito, dal suo anello piu' debole, bensi' da quello *piu' forte*. se tra questi 5 remailers ce n'e' almeno uno sicuro (magari perche' lo gestisco io o conosco chi lo gestisce) la mia privacy e' assicurata. siccome credo che per molti questo non sia ancora chiaro, facciamo un esempio pratico.

Io, lucpac@freenet.hut.fi, voglio mandare un messaggio a ferryb@ecn.org in forma anonima. per farlo utilizzo 3 remailers concatenati, crittando in pgp per ogni remailer (probabilmente non e' chiara nemmeno questa tecnica, anche questa indispensabile. spero che lo diventi alla fine del messaggio).

Immaginiamo che di questi tre remailers, uno sia un ipotetico remailer gestito da noi su www.ecn.org (e quindi, si suppone, sicuro), che chiameremo ECN, e gli altri due siano gestiti dalla CIA, che chiameremo CIA1 e CIA2 immaginiamo una prima situazione in cui io concateno i remailers in questo modo:

luc --> CIA1 --> ECN --> CIA2 --> ferry

ogni remailer ha una propria chiave pubblica, e naturalmente accetta msg crittati con la propria chiave (che provvede a decrittare in modo automatico); addirittura certi remailers accettano *solo* messaggi crittati. La procedura per il concatenamento e' la seguente.

Io scrivo il msg (in chiaro) che voglio far pervenire a ferry. chiamiamo questo messaggio MSG 1. Sara' una cosa del genere:

=====================
to: ferryb@ecn.org
                                     ====>>> MSG 1
ciao ferry, indovina chi sono?
=====================

lo critto con la chiave di CIA2 (in questo modo la destinazione finale di questo msg, cioe' la riga to: ferryb@ecn.org, e' scritta solo all'interno del msg crittato, quindi puo' essere letta solo da CIA2. ipotizzando che CIA1 e CIA2 siano d'accordo, in questo momento la destinazione finale del msg puo' essere letta anche da CIA1. questa e' gia' una situazione di paranoia, si noti).

Il messaggio risultante, *gia' crittato*, che chiameremo MSG 1C, prima lo indirizzo a CIA2 in questo modo:

======================
to: CIA2@cia.gov

----- begin PGP message -----
jaksjdlkjsadlkjasld
jaksljdlaksjdlaksjd                   =====>>> MSG 1C
kjasldjlaksjdlkasjd
----- end PGP message -----
======================

il messaggio sopra, che chiamiamo MSG 2, viene crittato ulteriormente compresa la prima riga con l'intestazione to:) con la chiave di ECN, ottenendo il MSG 2C. Il risultato lo indirizzo a ECN:

======================                     ==================
to: ECN@www.ecn.org                        |
                                           |
----- begin PGP message -----              |
jkksdjluyueyuiyuiiu                        |==>>> MSG 3
lgklkfgkjlkjflgkjlf       ======>>> MSG 2C |
jlk54jkljl65kjl5lkl                        |
----- end PGP message -----                |
======================                     ==================

critto tutto questo messaggio (MSG 3) con la chiave di CIA1 (quest'ultima crittazione, per il primo remailer del chaining, si potrebbe evitare, ma e' meglio metterla comunque), ottenendo MSG 3C. A questo punto io ho un messaggio interamente crittato con la chiave pubblica di CIA1. Lo spedisco a CIA1 come fosse un normale messaggio.

CIA1 lo decritta, e vede che contiene MSG 3.

ATTENZIONE! CIA1 sa che il messaggio proviene da lucpac@freenet.hut.fi (perche' naturalmente lo vede nel campo from:) ma *non* sa piu' ne' cosa contiene il messaggio, ne' che il destinatario finale e' ferryb@ecn.org (perche' entrambe queste informazioni sono passate attraverso la crittazione per la chiave di ECN, che abbiamo ipotizzato sicuro).

Tutto cio' che CIA1 conosce (e che deve conoscere) e' lo stretto indispensabile, cioe' l'indirizzo a cui CIA1 deve rispedire MSG 3. In questo caso l'indirizzo e' ECN@www.ecn.org (confrontate MSG 3 riportato sopra). Analogamente, ECN riceve da CIA1 il messaggio MSG 2C. Si noti che ECN, pur essendo un remailer 'sicuro', ha gia' perso le informazioni relative al mittente originario. ECN non sa che il messaggio l'ha scritto lucpac@freenet.hut.fi, perche' MSG 2C e' arrivato a ECN tramite CIA1, senza altre informazioni.

ECN decritta MSG 2C e vede che contiene MSG 2 (vedere sopra). quindi ECN non sa nemmeno che il destinatario finale e' ferryb@ecn.org. tutto quello che sa e' che deve rispedire MSG 1C a CIA2.

CIA2 riceve MSG 1C da ECN. pur 'cospirando' con CIA1, CIA2 non puo' piu' nemmeno sapere che quel messaggio e' passato attraverso CIA1 (tantomeno puo' sapere che e' stato spedito originariamente da lucpac@freenet.hut.fi)

CIA2 decritta MSG 1C e ottiene MSG 1, che e' finalmente un messaggio in chiaro, quello dell'inizio. lo riporto qui per chiarezza:

=====================
to: ferryb@ecn.org
                                    ====>>> MSG 1
ciao ferry, indovina chi sono?
=====================

CIA2 spedisce questo messaggio a ferryb@ecn.org, che lo vedra' arrivare, naturalmente, da CIA2.

Riassumendo: CIA2 (remailer compromesso, della CIA) conosce il contenuto del messaggio (e tuttavia questo posso evitarlo crittando eventualmente anche per la chiave di ferryb) e il destinatario finale, ma sa solo che quel messaggio e' arrivato da ECN (remailer sicuro).

ECN non conosce il destinatario finale e non conosce il mittente originario. Sa solo che un tale messaggio, arrivato da CIA1, deve essere rispedito a CIA2.

CIA1 (altro remailer compromesso) sa che io, lucpac@freenet.hut.fi, ho scritto un certo messaggio. non ne conosce ne' il contenuto, ne' il destinatario finale. sa solo che deve rispedire il messaggio, crittato, a ECN.

In questi termini, diventa impossibile per chiunque sapere che quel messaggio, arrivato a Ferry, l'ho scritto io. E' impossibile per Ferry, ma anche per ognuno dei remailers che ho usato. e questo *INDIPENDENTEMENTE* dal fatto che due remailers su tre siano sicuri oppure gestiti dalla CIA. Se esiste anche solo *un* remailer ben funzionante nella catena la sicurezza e' garantita a prescindere dalla sicurezza (o dalla buona fede degli operatori) di tutti gli altri remailers usati.

ho fatto questo esempio ipotizzando la catena

luc --> CIA1 --> ECN --> CIA2 --> ferry

lascio agli interessati, come compito a casa :-), verificare cosa succede se questi tre remailers vengono concatenati in un ordine diverso, oppure se invece di tre ne utilizziamo 5 o 10. Si vedra' che sostanzialmente i risultati non cambiano.

La sicurezza dei remailers si basa anche su altre funzioni. Per esempio, se CIA1 vede che io ho spedito un messaggio alle 12:48 e CIA2 vede che a Ferry arriva un messaggio alle 12:49, CIA1 e CIA2 (essendo entrambi gestiti dalla CIA) potrebbero mettere insieme queste informazioni per ipotizzare che il messaggio che io ho spedito e il messaggio che Ferry ha ricevuto sono in realta' lo stesso messaggio, arrivando cosi' a congiungere mittente e destinatario. a questo genere di punti deboli esistono (e sono gia' funzionanti, visto che come ho detto i cypherpunks sono persone giustamente paranoiche) corrispondenti soluzioni tecniche. per esempio, ECN dovra' conservare nella sua memoria i messaggi in transito per un periodo di tempo random, in modo da falsare qualsiasi corrispondenza data/ora. tutti i remailers in circolazione svolgono anche questa funzione. oltre ad altre che non elenco per non appesantire troppo questo messaggio. Detto questo, torniamo alla questione iniziale: gira questa voce che alcuni remailers siano controllati dalla CIA.

Come ho detto non posso sapere se sia una voce vera o meno, posso ascoltarla e tenerla presente, ma in ogni caso e' una voce che non mi preoccupa piu' di tanto, ALMENO FINO A QUANDO POSSO FIDARMI DI ALMENO UN REMAILER DISPONIBILE SU INTERNET. Siccome conosco personalmente almeno un operatore di un remailer, per adesso sto relativamente tranquillo. starei ancora piu' tranquillo se la proposta remailer su www.ecn.org diventasse operativa, per motivi che adesso spero siano finalmente piu' chiari. Spero che sia piu' chiara anche l'importanza di attivare e sostenere in tempi brevi, ognuno come puo', un remailer su www.ecn.org.

Mi chiedo, piuttosto, se questa voce non possa essere fatta circolare proprio da chi i remailers non li vede di buon occhio (che sia la CIA, o che sia chi comunque pensa che i remailers, potendo per la loro stessa natura essere usati anche da fascisti e simili, vadano eliminati). Perche' l'effetto immediato di una voce come questa e' quello di instaurare ulteriori paranoie, di disincentivare l'uso dei remailers, e in definitiva di disincentivare l'uso della rete per discussioni in vario modo 'delicate' -- considerato che secondo questa voce e' facile pensare che la vita in rete e le discussioni digitali siano *comunque e totalmente* monitorate.

Mi spiace, ma io non la penso cosi': le mie discussioni in rete possono essere monitorate esattamente quanto le mie discussioni offline. La cosa importante e' tenerlo presente e sforzarsi di capire in quali modi e' possibile sfuggire, in rete e fuori, a questi controlli, e con quali probabilita' (visto che si parla sempre di sicurezze 'probabilistiche', mai di sicurezze assolute).

Concludo augurando a chi legge di non essersi fatto venire il mal di testa seguendo la procedura di concatenamento. A me e' venuto, e a un certo punto ho dovuto farmi anche uno schemino su carta perche' non ci capivo piu' niente... :-)

Per consolazione, tenete presente che:

1) la procedura e' abbastanza intuitiva e probabilmente piu' semplice di quello che sembra a prima vista;

2) esistono programmi, come Private Idaho, che semplificano enormemente il tutto, basta scegliere i remailers da concatenare spuntandoli da una lista. Come per le varie shell del pgp, pero', ho pensato che comunque per un uso corretto e consapevole e' indispensabile familiarizzare almeno una volta con la procedura 'manuale'.