[e-privacy] tutorial mixminion
marcoc1 at dada.it
marcoc1 at dada.it
Thu Jul 29 14:37:06 CEST 2004
On Tue, 2004-07-27 at 14:52, putro wrote:
> Ciao,
>
> traduzione finita, tranne una frase che ho lasciato in inglese
> (e' verso la meta' del testo):
>
> (Since mix networks rely on other traffic to mix a message, they have
> have the property that performance actually improves with greater
> usage up to a point. In the future, performance will improve as
> message traffic increases.)
>
> ho capito il senso generale ma mi serve aiuto per una traduzione
> precisa.
>
>
> Per chi ha voglia di dargli una rilettura:
> http://www.autistici.org/putro/tutorial_it.txt
>
> ho lasciato alcune parole in inglese,
> pool, swap point, direct forward messages
> non sono sicuro che tradurli sia meglio che lasciarli come sono,
> forse meglio mettere una noticina da qualche parte,
> che ne pensate ?
Ci ho lavorato un po' sopra, traducendo ancora qualcosa e
mettendo un paio di note.
Cosa te ne pare ? Se poi decidessi di includerlo nel
PWS, basta che ne mandi comunicazione in lista.
Ciao e mille grazie. Marco
--
+ il Progetto Freenet - segui il coniglio bianco +
* the Freenet Project - follow the white rabbit *
* Marco A. Calamari marcoc at dada.it www.marcoc.it *
* PGP RSA: ED84 3839 6C4D 3FFE 389F 209E 3128 5698 *
+ DSS/DH: 8F3E 5BAE 906F B416 9242 1C10 8661 24A9 BFCE 822B +
-------------- next part --------------
Getting Started with Mixminion
Peter Hendrickson <pdh at wiredyne.com>
June 22, 2004
Licenza: Questo tutorial e' public domain.
0. Introduzione
1. Avvisi Importanti
2. Primi comandi
3. Due parole per chi usa da tempo la rete mixmaster
4. La Server List
5. Direct Forward Messages
6. Ricevere messaggi anonimamente
7. La coda
8. Altre sorgenti di informazioni
0. Introduzione
Mixminion (http://mixminion.net) e' un'applicazione per comunicare in
modo sicuro tramite messaggi in formato elettronico.
Il suo scopo e' di impedire a un avversario la possibilita' di
determinare chi sta comunicando con chi e quindi di fornire un
servizio di comunicazione anonima.
Questo viene fatto mandando messaggi attraverso una serie di server.
I messaggi che entrano ed escono da ogni server sono crittati. Ogni
server mantiene un pool di messaggi. Quando un messaggio arriva viene
messo nel pool. I messaggi in uscita dal pool sono difficilemte
correlabili con quelli in ingresso. Questo processo e' chiamato
"mixing".
Ogni server riduce l'abilita' dell'avversario di determinare l'origine
di un messaggio. La concatenazione dei server riduce ulteriormente
questa abilita' e limita i danni causati da server compromessi.
La catena di server viene scelta dal software mixminion che gira sulla
macchina dell'utente.
Una discussione completa del design del Mixminion con riferimenti etc.
si trova qui': [1].
Questo tutorial ha lo scopo di introdurre l'utente all'utilizzo di
Mixminion. Non e' una documentazione completa e non vengono descritte
tutte le funzioni.
Per usare questo tutorial, il lettore avra' bisogno di una macchina
che supporta connessioni SSL verso l'esterno, con Mixminion
installato e un indirizzo di posta elettronica per ricevere i messaggi
di prova.
E' richiesta anche una minima confidenza con l'interfaccia a linea di
comando.
1. Avvisi Importanti
Non mettete informazioni sensibili nel messaggi di prova. Alcuni
esempi usano un numero di server ridotto per aumentare le performance.
Questo rende piu' facile testare Mixminion, a discapito di una
diminuzione della sicurezza.
Al momento della scrittura di questo documento, Mixminion e' ancora
in uno stadio alpha (versione 0.0.7). Nuovi bug vengono trovati e il
codice viene attivamente modificato ed esteso. Il codice in versione
alpha contiene funzioni utili per il debugging che pero' rendono piu'
debole la sicurezza del sistema.
Alcuni server registrano il loro traffico. Di default, il codice alpha
utilizza un modo di mischiare i messaggi nel pool che e' utile per lo
sviluppo ma non e' sicuro come l'algoritmo di mixing che sara' usato
quando il codice sara' rilasciato in una versione stabile.
Il lettore e' quindi avvisato: non fate troppo affidamento sulla
sicurezza del sistema a questo stadio dello sviluppo.
Il futuro del Mixminion e' luminoso. Il design e' il culmine di piu'
di due decenni di ricerca nel campo della sicurezza. Ci sono
ancora molte questioni teoriche aperte, ma e' certo che Mixminion
sara' piu' sicuro di tutti i vecchi sistemi dello stesso tipo.
Tenendo questo avviso in mente, l'utente e' incoraggiato a testare il
sistema Mixminion. Altre persone sono necessarie per dare una sistemata ai
bugs che restano da risolvere.
Una base utenti ampia aumenta la sicurezza del sistema, percio' e'
auspicabile costruire una attiva comunita' Mixminion.
2. Primi comandi
Il programma Mixminion si chiama "mixminion". Ha molti sottocomandi.
Per esempio, questo serve per controllare la versione:
> $ mixminion version
> Mixminion version 0.0.7
> Copyright 2002-2004 Nick Mathewson. See LICENSE for licensing information.
> NOTE: This software is for testing only. The user set is too small
> to be anonymous, and the code is too alpha to be reliable.
La cosa successiva da fare e' di lanciare gli unit tests:
> $ mixminion unittests
>
........................................................................
.............................................
[Generating DH parameters (not caching)... done.].....
> ----------------------------------------------------------------------
> Ran 100 tests in 30.107s
>
> OK
>
> Waiting for shred processes to finish.
Non dovrebbero esserci errori se Mixminion e' stato installato
correttamente.
3. Due parole per chi usa da tempo la rete mixmaster
Altri sistemi di mixing usano l'SMTP standard come canale per
distribuire i messaggi ai server. Mixminion invece usa delle
connessioni SSL tra server e per accettare i messaggi dagli utenti.
Le connessioni SSL permettono una semplice autenticazione del server
destinatario, forniscono una perfetta segretezza della trasmissione
e impediscono ad un ascoltatore di identificare i messaggi che
vengono trasferiti.
Le connessioni dirette danno ai server la possibilita' di gestire le
proprie code, piuttosto che essere dipendenti da un sistema di posta
basato su SMTP che potrebbe non essere sotto il controllo
dell'operatore di Mixminion.
Connessioni dirette significa anche che l'accumulo di messaggi
interessera' solo la rete Mixminion e non sovraccarichera' la coda
di posta dell'SMTP.
Gli utenti di vecchia data della rete Mixmaster possono anche essere
abituati ad un certo livello di inaffidabilita'. Al momento,
Mixminion non distribuisce perfettamente tutti i messaggi.
Comunque, l'affidabilita' e' aumentata moltissimo in confronto
ai sistemi precedenti.
4. La Server List
Mixminion deve scaricare una lista dei server disponibili quotidianamente.
E' importante che tutti gli utenti usino la stessa lista.
Mixminion usa la lista dei server per decidere come instradare i
messaggi.
Se un avversario e' in grado di fornire adalcuni utenti una lista
e adaltri utenti una diversa, e' possibile indebolire la
sicurezza del sistema (N.d.T. - partitioning attack).
Mixminion scarica la lista dei server. Viene scaricata la prima
volta che viene utilizzato un comando che la richiede.
Il comando "list-servers" mostra la lista dei server conosciuti:
> $ mixminion list-servers
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> May 07 08:05:23.001 -0800 [INFO] Downloading directory from http://mixminion.net/directory/Directory.gz
> May 07 08:05:24.790 -0800 [INFO] Validating directory
> aarg:smtp relay (ok)
> almery:mbox relay (ok)
> anize:mbox relay (ok)
> antani:smtp relay (ok)
> cassandra:relay (not recommended)
> chicago:relay (ok)
> cside:mbox relay (ok)
> frell:mbox smtp relay frag (ok)
> frell2:relay (ok)
> futureworlds:relay (ok)
> grove:mbox relay frag (ok)
> gurski:mbox relay frag (ok)
> hermes:mbox relay frag (not recommended)
> Kisangani:relay (ok)
> lakshmi:relay (ok)
> liberty:smtp relay frag (not recommended)
> mercurio:mbox smtp relay (ok)
> metacolo:smtp relay (ok)
> moria:relay (ok)
> nixon:mbox relay (ok)
> noisebox:relay (ok)
> nowwhat:mbox relay (ok)
> peertech:relay (ok)
> POboxes:relay (ok)
> psycocat:mbox relay (ok)
> rot26:relay (ok)
> rufus:relay (ok)
> sgroi:relay (ok)
> snorky:relay (ok)
> squirrel:mbox smtp relay frag (ok)
> stalker:relay (not recommended)
> sushi:mbox relay frag (ok)
> Tonga:smtp relay (ok)
> totoro1:mbox smtp relay (ok)
> totoro2:smtp relay (ok)
> typhaon:smtp relay (ok)
Ogni linea mostra il nome di un server, seguito dalle funzioni che
quel server supporta. Per esempio, la funzione "relay" significa
che quel server accettera' messaggi e li mandera' ad altri server.
La funzione "smtp" significa che il server spedira' i messaggi usando
il tradizionale protocollo SMTP. L'ultimo campo di ogni linea indica
se il server puo' essere usato oppure no.
Il comando "list-servers" puo' mostrare piu' campi di quelli di
default visti prima. I comandi di Mixminion possono essere
modificati con ulteriori argomenti.
Per esempio, questo comando mostrera' l'host name, l'indirizzo email
per i contatti, e la versione del software usata da ogni server:
> $ mixminion list-servers -F hostname,contact,software
Un certo numero di altre funzioni puo' essere mostrato, ed esse sono
descritte nella man page del mixminion(1)[2] nella sezione
"Server Features". Il lettore e' incoraggiato a verificare la lista
di queste funzioni.
5. Direct Forward Messages
Un "direct forward message" e' un messaggio che viene spedito
attraverso il sistema Mixminion ad un indirizzo di posta elettronica.
Il mittente conosce dove andra' a finire il messaggio.
Il ricevente non sapra' da dove viene.
Questo tutorial usa l'indirizzo di prova "foo at bar.wiredyne.com".
Il lettore dovra' sostituirlo con un suo indirizzo.
Il comando "send" spedisce un messaggio. L'argomento "-t" specifica
dove deve essere indirizzato. Mixminion sceglie una serie di server
che verranno usati per trasmettere il messaggio.
Esempio:
> $ mixminion send -t foo at bar.wiredyne.com
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> Enter your message now. Type Ctrl-D when you are done.
> The world is all that is the case.
> May 07 08:15:32.093 -0800 [INFO] Generating payload(s)...
> May 07 08:15:32.278 -0800 [INFO] Selected path is rufus,nixon,grove,nowwhat:POboxes,moria,metacolo
> May 07 08:15:32.705 -0800 [INFO] Packet queued
> May 07 08:15:32.711 -0800 [INFO] Connecting...
> May 07 08:15:40.063 -0800 [INFO] ... 1 sent
Di default, Mixminion si aspetta che un messaggio sia digitato
direttamente e terminato con "Ctrl-D". In questo esempio, il
messaggio era "The world is all that is the case."
Questa e' la lista di server scelta per trasmettere il messaggio:
rufus,nixon,grove,nowwhat:POboxes,moria,metacolo
I due punti mostrano dove si trova lo "swap point" (punto di scambio)
Gli swap points sono una funzione fondamentale per il design del
sistema. Permettono agli utenti non solo di mandare messaggi
in modo sicuro e anonimamente, ma anche di riceverli.
Dentro i pacchetti crittati del Mixminion ci sono due campi di
intestazioni che vengono invertiti una volta durante il transito
attraverso la rete del Mixminion. Le ragioni dietro questo aspetto
sono complesse e spiegate nel dettaglio in [1].
Il messaggio che arriva dovrebbe assomigliare a questo:
> To: foo at bar.wiredyne.com
> From: incognita at mixminion.metacolo.com
> Subject: Type III Anonymous Message (relayed by metacolo)
> X-Anonymous: yes
> Message-Id: <20040507162653.79BAD218 at mixminion.metacolo.com>
> Date: Fri, 7 May 2004 16:26:53 +0000 (UTC)
>
> -----BEGIN TYPE III ANONYMOUS MESSAGE-----
> Message-type: plaintext
>
> The world is all that is the case.
> -----END TYPE III ANONYMOUS MESSAGE-----
I messaggi possono anche essere inviati tramite un pipe allo standard input:
> echo "The world is all that is the case." | mixminion send -t foo at bar.wiredyne.com
Mixminion puo' anche inviare un messaggio contenuto in un file
usando l'opzione "-i". Se il messaggio e' contenuto nel file
"world", puo' essere spedito cosi':
> $ mixminion send -t foo at bar.wiredyne.com -i world
Provate a spedire diversi messaggi di prova.
Al momento della scrittura di questo documento, ci vuole anche piu'
di un'ora per i messaggi spediti con la lunghezza della catena di
default per essere recapitati.
Se il messaggio non viene visto immediatamente non significa che il
sistema o il software Mixminion non stanno funzionando.
(Poiche' le reti di tipo mix utilizzano il traffico dei messaggi
per mescolarvi in messaggio da inviare, possiedono la proprieta'
che le loro prestazioni aumentano all'aumentare del traffico
stesso fino ad un valore massimo (N.d.T. - asintotico).
In futuro quindi, aumentando il traffico sulla rete Mixminion,
le prestazioni della rete setssa miglioreranno.)
L'opzione "-P" puo' essere usata per modificare il percorso dei
server.
Per esempio, "-P '*10'" scegliera' un percorso di dieci server scelti
casualmente.
(noi vogliamo un percorso piu' breve per avere tempi di risposta
piu' rapidi e una migliore affidabilita')
quindi provate a spedire qualche messaggio con una catena di 2 server.
(2 e' il numero minimo che puo' essere scelto.)
> $ mixminion send -t foo at bar.wiredyne.com -i world -P '*2'
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> May 07 08:27:58.829 -0800 [INFO] Generating payload(s)...
> May 07 08:27:58.910 -0800 [INFO] Selected path is metacolo:Tonga
> May 07 08:27:59.096 -0800 [INFO] Packet queued
> May 07 08:27:59.102 -0800 [INFO] Connecting...
> May 07 08:28:02.846 -0800 [INFO] ... 1 sent
Provate a spedire qualche messaggio di prova in questo modo.
Al momento, i messaggi spediti attraverso due server impiegheranno
circa 20 minuti per arrivare a destinazione, con una certa
variabilita'.
Per divertimento, provate a mandare qualche messaggio attraverso
una catena molto lunga. (Il messaggio e' stato cambiato cosi' da
poter riconoscere i messaggi spediti attraverso la catena lunga)
> $ echo "Long path." | mixminion send -t foo at bar.wiredyne.com -P '*28'
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> Enter your message now. Type Ctrl-D when you are done.
> May 07 08:35:32.976 -0800 [INFO] Generating payload(s)...
> May 07 08:35:33.429 -0800 [INFO] Selected path is
mercurio,lakshmi,typhaon,rufus,frell,Kisangani,frell,grove,aarg,POboxes,
psycocat,frell2,lakshmi,totoro2:nixon,rufus,typhaon,psycocat,metacolo,sushi,
cside,frell,metacolo,aarg,rufus,cside,frell2,frell
> May 07 08:35:34.456 -0800 [INFO] Packet queued
> May 07 08:35:34.461 -0800 [INFO] Connecting...
> May 07 08:35:43.515 -0800 [INFO] ... 1 sent
Al momento, i messaggi spediti attraverso una catena cosi' lunga
impiegheranno almeno un giorno per arrivare. Probabilmente vedrete
alcuni messaggi scomparire perche' basta che uno dei server della
catena non funzioni per far sparire il messaggio in un buco nero.
Speditevi un certo numero di questi messaggi per capire quanto spesso
questo succede con catene lunghe.
Gli argomenti della catena possono essere usati per scegliere
un percorso specifico attraverso la rete Mixinion, per scegliere
un persorso specifico con l'aggiunta di server inseriti
casualmente nella catena, o per scegliere tot server in modo
casuale.
La man page del mixminion(1)[2] documenta queste funzioni.
Le catene possono essere lunghe fino a 15 passaggi prima e dopo lo
swap point. Un "direct forward message" puo' arrivare fino a 30
passaggi. Ogni server si prende una quantita' di spazio diversa
per gli header, cosicche' la quantita' di spazio richiesta dipende
dal tipo di catena scelta. Lo spazio degli header e' limitato e non
tutte le catene con lo stesso numero di passaggi possono essere
usate.
E' anche possibile mandare "messaggi" senza nessun contenuto o
senza destinazione. Lo scopo di questo e' di creare traffico
fittizio, che molta gente ritiene aumenti la sicurezza del sistema.
Intuitivamente, sembrerebbe che questo sia vero, ma non e' stato
stabilito in modo certo.
Un messaggio fittizio viene mandato specificando come destinazione
"drop". Il messaggio sara' "scaricato" dall'ultimo server della
catena. Provate a spedire qualche messaggio fittizio:
> $ mixminion send -t drop -P '*28'
Alcuni messaggi sono troppo grossi per stare dentro un singolo
messaggio Mixminion. Quando questo capita, il messaggio viene
automaticamente spezzettato in frammenti che sono spediti
separatamente attraverso la rete Mixminion.
L'ultimo server della catena riassembla automaticamente i
frammenti e recapita il messaggio completo:
> $ mixminion send -t foo at bar.wiredyne.com -i bigfile
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> May 07 08:52:05.583 -0800 [INFO] Generating payload(s)...
> May 07 08:52:05.736 -0800 [INFO] Selected path is lakshmi:squirrel
> May 07 08:52:05.795 -0800 [INFO] Selected path is cside,grove:cside,squirrel
> May 07 08:52:05.883 -0800 [INFO] Selected path is almery,anize,mixiwoarsnet:typhaon,sushi,squirrel
> May 07 08:52:06.492 -0800 [INFO] Packet queued
> May 07 08:52:06.496 -0800 [INFO] Connecting...
> May 07 08:52:11.369 -0800 [INFO] ... 1 sent
> May 07 08:52:11.530 -0800 [INFO] Packet queued
> May 07 08:52:11.534 -0800 [INFO] Connecting...
> May 07 08:52:16.957 -0800 [INFO] ... 1 sent
> May 07 08:52:17.249 -0800 [INFO] Packet queued
> May 07 08:52:17.260 -0800 [INFO] Connecting...
> May 07 08:52:22.648 -0800 [INFO] ... 1 sent
Al momento, il recapito dei frammenti e' abbastanza inaffidabile.
6. Ricevere risposte Anonimamente.
Mixminion supporta anche la ricezione di risposte anonime.
Questo viene realizzato usando dei reply block a uso singolo,
"Single Use Reply Blocks" o "SURBs". Un SURB e' un blocco di
informazioni crittato che puo' essere decifrato dal primo server
specificato. Quel server vi trovera' un altro blocco
crittato che gli dira' a quale server dovra' spedire il messaggio.
L'ultimo blocco dira' all'ultimo server a chi recapitare il
messaggio.
(Vedere [2] per una descrizione completa del meccanismo..)
I SURBs possono essere usati solo una volta. Questa e' una misura
di sicurezza. Altrimenti, un SURB potrebbe essere usato
ripetutamente per rispedire messaggi al mittente.
Questo darebbe a un avversario degli indizi importanti
(N.d.T. reply attack).
Inoltre i SURBs scadono. Dopo che un SURB e' scaduto non e'
possibile utilizzarlo.
Di default, i surbs scadono in una settimana.
Per permettere a qualcuno di rispondere ai messaggi, e' necessario
generare un SURB e spedirglielo.
In questo momento, Mixminion e' necessario per rispondere.
In futuro, ci saranno dei gateway SMTP per la rete mixminion che
accetteranno SURBs e messaggi da chiunque.
Questo e' un esempio di SURB:
> -----BEGIN TYPE III REPLY BLOCK-----
> Version: 0.2
>
> U1VSQgABQKAXgOUzyhuwvWgSPS7yY3U2/fM2JwegyWpwqBT1NSt7ZfBOjBioRrZU
> t7e16lYxJVRHrZMtSmtpwPPbRECIukskQ9XqAjsQtNE7NC68rXhPiabnVjmOgUIs
> 2OOe29+io/Rkks5jqVHFEDaMaUzEZb8uxMS0KNKdhj6UF8K943pLp9UtOdM5tzM+
>
> ...
>
> p7HZAlW8U6ohkpDzJcaZghXLvL+hDMN8ff1ZknWstzVxck59cnr6pTkIMh21+RFB
> e2dJBTExRacpyiClJDh/YEmiJK5Apad9W1X1iE03AlTz9itEHjybnaxUABoAAg7f
> 7uUGsA1JRWy14Om6IonVknJgu+PJsdpHuI0uU97wnVKrXBO+Tbcrrw==
> -----END TYPE III REPLY BLOCK-----
Il comando "generate-surb" crea un nuovo SURB. (Se non ne avete
mai generato uno, vi sara' chiesto di inserire una passphrase che
sara' usata per il keyring. Se avete gia' creato la passphrase per
il keyring, vi verra' chiesto di inserirla).
Un esempio di questa procedura:
> $ mixminion generate-surb -t foo at bar.wiredyne.com
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> May 07 08:58:48.945 -0800 [INFO] Selected path is POboxes,nowwhat,Tonga,typhaon
> Enter passphrase for keyring:
> -----BEGIN TYPE III REPLY BLOCK-----
> Version: 0.2
>
> U1VSQgABQKK6gDXXo99CMwqLzjTuQXET49fvuYmayi7DLpxXKoFHw2hCqP1YhJQo
> 0TtILHqa16jmmVgegp3ZFFTqxuXklWnjs45uD4/R1iMD9zkqRwXRhGkedaIit1hm
> ...
Da notare che la catena scelta non contiene nessun ":" che indica lo
swap point. Il modo in cui funziona un SURB consiste nel fatto che chi
lo usa gira i messaggi a uno swap-point. Arrivato a questo punto, il
SURB entra in gioco e dirige il messaggio al suo destinatario anonimo.
La catena indicata nel SURB e' la sequenza di server attraverso cui il
messaggio transitera' dopo lo swap point.
Questo e' per fare in modo che un eventuale ascoltatore nascosto non possa
determinare a quale SURB sta rispondendo l'utente, o anche se l'utente
sta rispondendo a un SURB oppure no.
Tenete presente, comunque, che a seconda di come il SURB e' stato
ricevuto, l'utente puo' essere conosciuto dall'anonimo corrispondente.
I SURBs sono identificabili dal loro creatore.
L'optione "-o" specifica un file dove salvare il SURB:
> $ mixminion generate-surb -t foo at bar.wiredyne.com -o surb.txt
Normalmente il contenuto del file surb.txt andra' trasmesso a qualcun
altro. Ma assumiamo che il SURB contenuto in surb.txt ci sia stato
mandato da un corrispondente anonimo. Per rispondere usiamo il comando
"send", ma con l'opzione "-R" per specificare il file che contiene il
SURB piuttosto che l'opzione "-t" che definisce un destinatario.
> $ echo "SURB Test" | mixminion send -R surb.txt
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> Enter your message now. Type Ctrl-D when you are done.
> May 07 09:00:36.763 -0800 [INFO] Selected path is POboxes,totoro2,snorky,mercurio,POboxes,aarg,almery,cybervalley,cside
> May 07 09:00:36.769 -0800 [INFO] Generating packet...
> May 07 09:00:37.365 -0800 [INFO] Packet queued
> May 07 09:00:37.370 -0800 [INFO] Connecting...
> May 07 09:00:42.304 -0800 [INFO] ... 1 sent
Notate ancora l'assenza di uno swap point nella catena scelta.
Questa volta la catena si riferisce solo ai server fino allo
swap point.
Quando arriva, somigliera' a qualcosa come:
> Date: Fri, 7 May 2004 12:46:58 -0700
> Message-Id: <200405072046.i458Hqn9006802 at www.aarg.net>
> To: foo at bar.wiredyne.com
> From: nobody at aarg.net
> Subject: Type III Anonymous Message
> X-Anonymous: yes
>
> This message is not in plaintext. It's either 1) a reply; 2) a forward
> message encrypted to you; or 3) junk.
>
> -----BEGIN TYPE III ANONYMOUS MESSAGE-----
> Message-type: encrypted
> Decoding-handle: XsFGTVxuqYCGrR5GzM/21bMy3Lo=
>
> bMupOFEZfHKbjraLsDJ3+CS16HrATOnA7MwCkKENd3nd4tXBIJlMbqsINZA5IwjE
> 70JYX2wqHLpH5GlUcxr0jwNnNVIUk/HS3Xn9kWYVdU1S5FvDW/XS3ZiMRJCzHL3w
> DjIpyEkYX4716DmkdpOjFrwU+ouD0kSUeQvH4dMmNUKP0YNvBmRSSthgVzki7Ml6
>
> ....
>
> 8jcWJuDK3TH6tZR/1c0ve5lHRAFy9f2RJuhW6XIBkCsIWcEj1p6Z5pbyuEC9sYlm
> HdjcTTKx+riZkJFsdZMPJRfkl2hJhu0A6exRNzxMb7piy17OYvvlmXVzvH9cyM7c
> dkOFcNVvrNn0WtQItykXAB7j37e4K8Ww81ZP5KlVjMxn12UidL/ZeMADw9YjCK5s
> R/10M0pHp6pM/2F+hdEGCw==
> -----END TYPE III ANONYMOUS MESSAGE-----
Mettete il messaggio in un file chiamato "surb-reply.cipher".
Il comando del Mixminion "decode" lo decrittera'.
L'opzione "-i" specifica il file di input.
> $ mixminion decode -i surb-reply.cipher
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> Enter passphrase for keyring:
>
> The world is all that is the case.
L'opzione "-o" definisce il file di output:
> $ mixminion decode -i surb-reply.cipher -o surb-reply.txt
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> Enter passphrase for keyring:
> $ cat surb-reply.txt
>
> The world is all that is the case.
Un uso di Mixminion e' quello di comunicare con altre persone
in maniera bidirezionale ed anonimamente.
Ogni SURB puo' essere associato con una "identita'", che e'
semplicemente un nome usato per tenere diversi gruppi di SURB separati.
Quando arriva una risposta per un SURB associato con una identita'
particolare, il suo nome viene visualizzato.
L'opzione "--identity" associa un nome con un SURB quando questo
viene creato:
> $ mixminion generate-surb -t foo at bar.wiredyne.com --identity=Ludwig -o ludwig.0
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> May 07 09:05:34.386 -0800 [INFO] Selected path is grove,noisebox,lakshmi,totoro2
> Enter passphrase for keyring:
Manda un messaggio a quel SURB:
> $ echo "The world is all that is the case." | mixminion send -R ludwig.0
La risposta decrittata dovrebbe somigliare a questa:
> $ mixminion decode -i surb-reply-1.txt
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> Enter passphrase for keyring:
> May 07 09:08:14.776 -0800 [INFO] Decoded reply message to identity 'ludwig'
>
> The world is all that is the case.
La funzione "identity" dei SURB e' piu' che conveniente, e' una
necessita' per la sicurezza. Se l'utente non conoscesse l'identita'
a cui un messaggio e' indirizzato, sarebbe possibile essere
indotti a rispondere usando lo pseudonimo sbagliato.
Questo potrebbe essere usato per correlare identita' diverse.
Provate a rimandare il messaggio precedente a "Ludwig":
> $ echo "The world is all that is the case." | mixminion send -R ludwig.0
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> Enter your message now. Type Ctrl-D when you are done.
> May 07 09:14:08.806 -0800 [WARN] Skipping 1 used reply blocks
> May 07 09:14:08.833 -0800 [ERROR] Not enough usable reply blocks found; all were used or expired.
Dato che il SURB era gia' stato usato, Mixminion non permette di
utilizzarlo di nuovo.
Come per i direct forward messages, per i SURBs si puo' specificare
una catena:
> $ mixminion generate-surb -t foo at bar.wiredyne.com -o surb1.txt -P '*15'
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> May 07 09:35:59.761 -0800 [INFO] Selected path is
Kisangani,grove,Tonga,POboxes,snorky,Tonga,Kisangani,rufus,POboxes,sushi,
chicago,lakshmi,gurski,nowwhat,Tonga
> Enter passphrase for keyring:
Comunque, non piu' di circa 15 server possono essere specificati.
La ragione di cio' e' che non ci possono essere piu' di 15 server
prima o dopo lo swap point. Il SURB definisce solo i server dopo
lo swap point.
7. La coda
Nell'esempio visto sopra i messaggi spediti erano trasmessi
immediatamente.
Mixminion ha anche un meccanismo di "coda", dove poter conservare
i messaggi per poi spedirli successivamente.
Questo nasconde l'informazione su quando i messaggi sono stati
preparati. E significa anche che se un server non e' disponibile,
i messaggi destinati a quel server verranno tenuti nella coda e
Mixminion provera' a rispedirli piu' tardi.
Il comando "inspect-queue" mostra i messaggi presenti nella coda.
Non dovrebbero esserci messaggi nella cosa in questo momento:
> $ mixminion inspect-queue
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> (No packets in queue)
Il comando "--queue" dice al comando "send" di mettere i messaggi
in coda invece di trasmetterli subito.
> $ echo "Queued message." | mixminion send --queue -t foo at bar.wiredyne.com
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> Enter your message now. Type Ctrl-D when you are done.
> May 07 09:42:26.966 -0800 [INFO] Generating payload(s)...
> May 07 09:42:27.112 -0800 [INFO] Selected path is mixiwoarsnet,totoro2,typhaon:anize,aarg
> May 07 09:42:27.452 -0800 [INFO] Packet queued
Ora dovrebbe esserci un messaggio nella coda:
> $ mixminion inspect-queue
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> 1 packets for 'mixiwoarsnet' at mix.iwoars.net:48099 (oldest is <1 days old)
Mettere un'altra manciata di messaggi nella coda.
Ora dovrebbero essercene altri:
> $ mixminion inspect-queue
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> 1 packets for 'POboxes' at mixminion.poboxes.info:48099 (oldest is <1 days old)
> 1 packets for 'anize' at anize.org:48099 (oldest is <1 days old)
> 1 packets for 'mixiwoarsnet' at mix.iwoars.net:48099 (oldest is <1 days old)
> 1 packets for 'snorky' at minion.bananasplit.info:48099 (oldest is <1 days old)
> 1 packets for 'sushi' at dexter.gabuilders.com:48099 (oldest is <1 days old)
Il comando "flush" spedisce i messaggi presenti nella coda:
> $ mixminion flush
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> May 07 09:47:04.444 -0800 [INFO] Flushing packet queue
> May 07 09:47:04.617 -0800 [INFO] Found 5 pending packets
> May 07 09:47:04.657 -0800 [INFO] Sending 1 packets to server at dexter.gabuilders.com:48099...
> May 07 09:47:04.662 -0800 [INFO] Connecting...
> May 07 09:47:09.358 -0800 [INFO] ... 1 sent
> May 07 09:47:09.534 -0800 [INFO] Sending 1 packets to server at mixminion.poboxes.info:48099...
> ....
Se tutti i server sono attivi, non dovrebbero esserci piu'
messaggi nella coda:
> $ mixminion inspect-queue
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> (No packets in queue)
A volte i messaggi non possono essere recapitati e devono essere
rimossi dalla coda. Il comando "clean-queue" serve a questo.
Di default, cancella solo i messaggi vecchi, cosi' per cancellare
tutti i messaggi deve essere usata l'opzione "-d 0", che
significa "cancella tutti i messaggi ignorandone l'eta'."
Mettete in coda qualche messaggio e provate a rimuoverli:
> $ mixminion clean-queue -d 0
> Mixminion version 0.0.7
> This software is for testing purposes only. Anonymity is not guaranteed.
> May 07 09:54:52.015 -0800 [INFO] Removing 1 packets for server at privacy.outel.org:48099
> May 07 09:54:52.049 -0800 [INFO] Removing 1 packets for server at totoro.wangafu.net:48100
> May 07 09:54:52.115 -0800 [INFO] Removing 1 packets for server at typhaon.so36.net:48099
8. Altre sorgenti di informazioni:
[1] G. Danezis, R. Dingledine, and N. Mathewson "Mixminion: Design of
a Type III Anonymous Remailer Protocol" Available at
http://mixminion.net.
[2] The mixminion(1) man page is available with the tarball and at
http://mixminion.net.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 307 bytes
Desc: This is a digitally signed message part
URL: <http://lists.winstonsmith.org/pipermail/e-privacy/attachments/20040729/b6e4d452/attachment.pgp>
More information about the E-privacy
mailing list