MUTE
# MUTE

MUTE è un programma di file sharing di tipo peer-to-peer progettato per essere anonimo; ne è l'ideatore principale Jason Rohrer.

La prima versione è stata distribuita il 18 dicembre 2003. Allo stato attuale la rete MUTE rende possibili trasmissioni a velocità molto basse (spesso sotto i 2kb).

MUTE è software libero distribuito con GNU General Public License e può funzionare su Microsoft Windows, GNU/Linux e macOS.

## Specifiche tecniche

Lo scopo principale di MUTE è permettere il file sharing mantenendo l'anonimato degli utenti, in modo che non sia possibile capire chi condivide o scarica un determinato file. Per renderlo possibile, vengono usati metodi di crittografia asimmetrica (RSA per scambiare chiavi segrete e AES per la trasmissione dei file) e il routing probabilistico.

Per proteggere l'identità di chi condivide i file, ad ogni nodo viene assegnato un indirizzo virtuale in modo che non sia necessario svelarne l'indirizzo IP, che identifica univocamente una macchina in Internet.

Tutti i messaggi e i download viaggiano sulla rete da nodo a nodo senza che vengano svelati gli indirizzi reali del mittente e del destinatario: ogni nodo svolge la funzione di client, server e router. Ogni nodo conosce soltanto l'identità di un numero limitato di nodi limitrofi (solitamente 5), ma non può sapere se i messaggi che gli arrivano da uno di questi provengano dal nodo stesso oppure da un suo nodo limitrofo. Quando un nodo deve inviare una richiesta, sua o di un nodo limitrofo, usa la tecnica del flooding. In questo modo è sicuro che il messaggio arriverà a destinazione anche se non sa quale sia la destinazione; un nodo che (dopo aver processato una richiesta) riceve il messaggio di risposta, lo invia al nodo limitrofo da cui aveva ricevuto la richiesta: in questo modo si costruisce il percorso mittente / destinatario senza che i nodi intermedi ne conoscano gli indirizzi reali (se non nel caso limite di un unico nodo intermedio).

L'unico modo per compromettere l'anonimato di un nodo è controllare fisicamente tutti i suoi nodi limitrofi, in modo da poter decifrare tutti i messaggi in uscita e controllare quelli in entrata. Se ad una richiesta in uscita non corrisponde una richiesta in entrata significa che il nodo ha generato la richiesta; se a una richiesta in entrata non corrisponde una richiesta in uscita significa che probabilmente il nodo possiede il file cercato (oppure la richiesta è scaduta). In ogni caso, la possibilità che associazioni come la RIAA o la SIAE riescano a controllare tutti i nodi limitrofi di un utente, è alquanto remota.

