PWS logo

Il Progetto Winston Smith

PWS logo

- scolleghiamo il Grande Fratello -

Navigazione
  
  Home page
  
  
  Chi siamo
  
  
  Partecipazione
  
  
  Documenti
  
  
  Sw Crypto
  
  
  Sw Freenet
  
  
  Mail List
  
  
  
  
  
  
  

Come realizzare un remailer tipo III (Mixminion)

(26/10/2003)

 

   Copyright (c) 2003 del Progetto Winston Smith.
   E' garantito il permesso di copiare,
    distribuire e/o modificare questo documento
    seguendo i termini della GNU General Public
    License, Versione 2.0, pubblicata
    dalla Free Software Foundation.

===  ATTENZIONE  === Come il software stesso non manchera' di ri-
cordarvi in continuazione, i remailer di tipo III sono ancora  in
fase  di sviluppo e non possono  garantire la stessa immunita' da
bachi ed attacchi che hanno per esempio i remailer di tipo II.

Devono essere quindi utilizzati  per  test,  ricerca  e  collabo-
razione  alle  attivita' di sviluppo; *NON* devono invece  essere
utilizzati nei casi in cui la difesa  della  privacy  sia  essen-
ziale.  ==================

Un  remailer  anonimo  è un programma che riceve posta opportuna-
mente crittografata tramite appositi programmi client, la decrit-
tografa  per la parte di sua competenza, e la inoltra ad un altro
remailer od al destinatario finale.

La storia dei remailer ha  vissuto  una  evoluzione  inizialmente
rapida,  volta  sia  ad aumentare il grado di anonimato che i re-
mailer offrono, sia a rendere piu' difficili i vari tipi  di  at-
tacchi che ad essi possono essere portati.

Si  e' quindi passati dai remailer pseudo-anonimi (anon.penet.fi)
ai remailer tipo I (cypherpunk) a quelli tipo II (mixmaster).

Per alcuni anni non ci sono state evoluzioni significative; i re-
mailer mixmaster si sono diffusi ed il software e' stato ritocca-
to per aumentarne la sicurezza, ma  le  caratteristiche  di  base
sono rimaste invariate.

Il  funzionamento della rete dei remailer (che ha attualmente di-
mensioni variabili dalle 30 alle 60 unita'), la  maggioranza  dei
quali di tipo II ma che includono anche il supporto tipo I, ne ha
rivelato i limiti.

I problemi principali risiedono nella  complessita'  di  gestione
della  rete,  che richiede l'utilizzo di sistemi ausiliari come i
pinger, che si poggia su un protollo di  trasporto  relativamente
lento  (posta elettronica) e che' e' suscettibile ad attacchi DoS
di vario tipo.

A questo si aggiunga che per poter realizzare un  flusso  anonimo
bidirezionale  di  informazioni  occorre  aggiungere un ulteriore
tipo di server, gli pseudonym server,  che  aumentano  ancora  la
complessita'  e  quindi l'inaffidabilita' (intesa come perdita di
messaggi, non come perdita di privacy) della attuale rete dei re-
mailer.

Per  superare questi problemi e' iniziato lo sviluppo di un nuovo
tipo di remailer, i remailer Mixminion (tipo III).

Non e' questa la  sede  adatta  per  illustrare  funzionamento  e
potenzialita'  di  questo  tipo  di remailer; per approfondimenti
dopo una lettura propedeutica della documentazione  del  Progetto
sui  remailer mixmaster e sui nym, si rimanda all'ottima documen-
tazione disponibile sul sito dedicato http://www.mixminion.net.

Ci limiteremo percio' ad illustrare le caratteristiche principali
del  protocollo mixminion che non sono gia' presenti nei remailer
mixmaster

- la comunicazione tra i remailer avviene direttamente via tcp/ip
con l'utilizzo di una porta dedicata, tipicamente la 48099, senza
necessita' di usare la posta elettronica come trasporto;

- il protocollo prevede un sistema di directory e di  statistiche
incorporato;

-  la posta elettronica puo' essere utilizzata come protocollo di
"uscita" dalla rete dei remailer

- il protocollo include tutte le funzionalita' di anonimizzazione
proprie dei remailer mixmaster, e quelle degli pseudonym server,


L'implementazione  di riferimento (attualmente la 0.0.5.1) e' re-
alizzata per sistemi *nix, e comprende, analogamente al  software
di  Mixmaster,  nello  stesso  pacchetto  sia le funzionalita' di
server che di client.

L'installazione richiede  una  macchina  Intel,PowerPC  od  altro
equivalente  ad almeno un 486, dotata di GNU/Linux od altre veri-
oni di *nix con almeno 32 mb ram (senza X) ed  almeno  50  mb  di
spazio su disco.

Il carico della cpu e la banda passante utilizzata per il traffi-
co dipendono fortemente da quanto il remailer sarà utilizzato, ma
saranno  tipicamente basse, essendo la rete in fase sperimentale;
con  un  collegamento  ADSL  il  traffico  dovrebbe  essere   im-
percettibile, comunque ben al di sotto dei 5 kb/sec.


L'installazione  richiede Python 2.0 o superiore, le relative li-
brerie bade di sviluppo ed OpenSSL versione 0.9.7beta3 o  superi-
ore; non e' comunque indispensabile aggiornare le OpenSSL se sono
piu' vecchie perche' l'installazione e' in grado di scaricare  ed
installare  una versione adeguata localmente all'utente sotto cui
girera' il processo.

Creiamo quindi un utente generico mixminion, che sia in grado  di
mettersi  in  ascolto  sulla  porta  48099/tcp  (od altra porta a
scelta), controlliamo  che il nostro eventuale firewall ne perme-
tta l'accesso dall'esterno, e scarichiamo il software dal sito

Supponiamo di installare la versione 0.0.5.1

scarichiamo il software

prompt>  wget http://www.mixminion.net/dist/Mixminion-0.0.5.1.tar.gz

scompattiamo il file nella home directory dell'utente mixminion

prompt> tar zxvf Mixminion-0.0.5.1.tar.gz

verra' creata una directory in cui entreremo

prompt> cd Mixminion-0.0.5.1

controlliamo la versione di OpenSSL

prompt> openssl version

se e' troppo vecchia, scarichiamo e compiliamo una  versione  lo-
cale

prompt> make download-openssl prompt> make build-openssl

compiliamo il pacchetto

prompt> make

eseguiamo i test di unita'

prompt> make test

- infine installiamo (eseguiremo una installazione locale)

prompt> make install PREFIX=~

A questo punto client e server sono installati

Proviamo  ad  utilizzare il client, che non necessita di configu-
razione.

prompt>  ~/bin/mixminion  send  -t  il@vostro.indirizzo.di.posta
 -i filechecontieneilmessaggio

il  client dovrebbe collegarsi automaticamente al directory serv-
er, scaricare e verificare la directory dei remailer tipo III  in
linea,  e poi inviare il messaggio attraverso una catena di 4 re-
mailer casuali.  Se dopo un paio d'ore non vi e' arrivato niente,
provate ad usare solo due remailer

prompt>  ~/bin/mixminion  send  -t  il@vostro.indirizzo.di.posta
 -i filechecontieneilmessaggio -H 2

ed inviate piu' messaggi, nel caso la rete non  fosse  in  questo
momento molto affidabile.

ovviamente  potete  omettere  l'indicazione del file e battere il
messaggio dallo standard input, od avere un help dando il comando

prompt> ~/bin/mixminion send help

Quando  un  messaggio  sara'  tornato, dimostrando che tutto fun-
ziona, potrete cimentarvi nella configurazione del server.

Copiate  il  template  del  file  di  configurazione  nella  home
dell'utente

prompt>   cp  ~/Mixminion-0.0.5.1/etc/mixminiond.conf
 ~/.mixminiond.conf

Editatelo, modificando la riga

  Nickname: <Insert nickname here>

ed aggiungendo (o scommentando e modificando) le righe

  LogFile: mixminionfiles/log
  Homedir: mixminionfiles
  StatsFile: mixminionfiles/stats

sostituite il nickname preferito, eliminando anche  le  parentesi
angolate

Modificate le permission della home dell'utente mixminion

prompt> cd prompt> chmod 0700 .

Mixminion  determina automaticamente l'IP del vostro host ed apre
la porta 48099 per le connessioni dall'esterno.  Se aveste  prob-
lemi  di  connettivita'  piu' complessa, ad esempio perche' avete
piu' schede di rete e/o connessioni PPP,  specificate  esplicita-
mente l'IP nell'apposita riga (ricordatevi di scommentarla).

Lanciate il server in background

prompt> ~/bin/mixminion server-start &

Per  motivi a me incomprensibili, il software si autoaccusera' di
essere obsoleto, e vi chiedera' di aggiornarlo; voi fatelo  senza
porvi domande (io l'ho gia' segnalato all'autore)

prompt>  ~/bin/mixminion  server-upgrade  prompt> ~/bin/mixminion
  server-start &

aggiornate la directory e listatela (vi e' chiaro che dovete  es-
sere connessi ad Internet ?)

prompt>  ~/bin/mixminion  update-servers  prompt> ~/bin/mixminion
  list-servers

Ora dovreste essere in grado di far passare una mail  dal  vostro
server

prompt>  ~/bin/mixminion  send  -t  il@vostro.indirizzo.di  posta
  -i filechecontieneilmessaggio
  -P "ilnicknamedelvostroserver,?"

e di vedere le statistiche, per ora quasi zero, del vostro server

prompt> ~/bin/mixminion server-stats

Se potete lasciare il server running per diversi giorni (e quindi
non dovete spegnere il vostro sistema), rendetelo pubblico

prompt> ~/bin/mixminion server-stop

editate il file di configurazione, e scommentate la riga

#Publish: yes

rilanciate il server

prompt> ~/bin/mixminion server-start  &  prompt>  ~/bin/mixminion
server-republish

dopo  circa  24-48  ore  dovreste apparire il vostro server nella
pagina delle statistiche del pinger mixminion che trovate su

http://www.mixminion.net/

Ricordate che l'atto di pubblicare un remailer in  rete  equivale
anche ad una presa di impegno nei confronti di coloro che usano e
sviluppano la rete stessa.

Non lo fate se non avete intenzione di contribuire  positivamente
allo sforzo, tenendo almeno attivo per un periodo il vostro serv-
er; tenendolo in piedi per poche ore fareste solo danni.

Per finire, con Mixminion si possono creare e  gestire  dinamica-
mente  pseudonimi, generando e trasmettendo reply block appositi,
che possono anche essere usa-e-getta o scadere dopo un certo tem-
po.  Per  questo  rimandiamo  alla  documentazione reperibile sul
sito.

Questo sito ed i suoi contenuti sono distribuiti sotto la Gnu General Public License 2.0