RetroShare e la condivisione Friend-to-Friend

Creato il 28 novembre 2012 da Hnikarr
Oggi tornerò a parlare di condivisione files, dedicandomi a un programma dalla storia abbastanza curiosa: RetroShare. RetroShare è un programma open-source, disponibile per i principali sistemi operativi (Windows, Macintosh e diverse distribuzioni di Linux), che funziona come piattaforma decentralizzata per la comunicazione e lo scambio di files. Detta in altri termini, con RetroShare potete scambiare files, in modo simile a quanto avviene con eMule o Torrent, ma potete anche chattare con gli amici o costruire un forum di discussione. Il che non sarebbe niente di particolare, dato che si può fare in molti altri modi, anche più semplici; la particolarità sta nel fatto che tutte le comunicazioni sono criptate. Come si autodefinisce nel suo sito, RetroShare è progettato per offrire un Secure Social Network, cioè un ambiente in cui ciò che decidi di condividere coi tuoi amici sarà davvero condiviso soltanto coi tuoi amici e inaccessibile ad altri. Ma vediamo più in dettaglio. La condivisione di files, in un sistema peer-to-peer (P2P), avviene in forma uguale tra un numero imprecisato di sconosciuti: io inserisco un file in una rete P2P, come eMule, e chiunque potrà raggiungere quel file e scaricarlo. Inoltre, se sono presenti più copie di uno stesso file, sarà possibile scaricarne frammenti da ogni copia disponibile, così da velocizzare l’operazione. E fin qui niente di nuovo, perché chiunque abbia mai usato eMule (o Torrent) ne conosce anche, almeno in forma approssimativa, il funzionamento. Questo sistema introduce vari problemi di sicurezza, perché è relativamente facile localizzare chi stia scaricando cosa: ogni utente è collegato in modo diretto alla fonte da cui scarica e questo rende possibile localizzare l’indirizzo IP dell’utente in questione. RetroShare passa da un sistema peer-to-peer a un sistema friend-to-friend: i files non sono più condivisi indiscriminatamente con chiunque, ma solo con una ristretta cerchia di persone, ossia quelli che io ho scelto come “amici”. Nella sua forma più semplice, dunque, possono utilizzare RetroShare per creare una ristretta cerchia di amici e scambiare con loro il materiale che voglio, attraverso canali criptati: organizziamo la nostra piccola comunità, ci scambiamo files in modo sicuro e protetto e tanti saluti al resto del mondo. Esiste però anche una forma più “sociale”, basata sugli “amici di amici”, che porta RetroShare molto più vicino a eMule e Torrent, pur mantenendo un sistema friend-to-friend. Per spiegare meglio questa forma sociale, vediamo come funziona la ricerca di un file. Quando cerco un file, per prima cosa RetroShare guarderà tra i miei amici: se uno di loro lo possiede e lo ha messo in condivisione, allora lo riceverò da lui e la ricerca è finita. Se non lo possiede, RetroShare guarderà tra tutti gli amici di quell'amico  poi guarderà tra gli amici degli amici dell’amico, e così via, fino a che il file non è stato trovato o, in caso di risultati negativi, fino a che la ricerca non si fermerà per essersi spinta oltre una certa distanza. Una volta localizzato il file, non sarà trasferito direttamente a me, ma mi arriverà “saltellando” da un amico all'altro  seguendo la catena di amici che porta da me al file: in questo modo, il “distributore” del file non vedrà il destinatario, ma solo il suo amico più diretto. Esempio concreto. Pincopallino possiede il file che mi interessa, ma non è un mio amico diretto. Il file sarà quindi trasferito a Tizio, che è amico di Pincopallino; Tizio lo trasferirà al suo amico Caio; Caio lo trasferirà al suo amico Sempronio; Sempronio è un mio amico, così lo trasferirà direttamente a me. In tutto questo giro, io non vedrò mai Pincopallino e Pincopallino non vedrà mai me, proprio come non vedremo le varie tappe intermedie. Ogni scambio avverrà poi attraverso un tunnel criptato, che collega i due amici tra cui lo scambio si verifica. Come è facile da intuire, questo percorso è molto più lento rispetto al normale peer-to-peer, ma ha il vantaggio di essere molto più sicuro: sta dunque agli utenti decidere tra la velocità e la sicurezza. Gli amici sono persone di cui ti fidi e sono stabiliti attraverso uno scambio di “certificati di identità”. Quando utilizziamo RetroShare per la prima volta, ci sarà richiesto di generare una nostra identità, che si accompagna a due chiavi, utilizzate per gestire le connessioni criptate: l’aggiunta di un amico avviene mandandogli il mio certificato, per identificarmi, e lui potrà accettarla inviandomi a sua volta il suo certificato. In questo modo, entrambi potremo verificare l’identità dell’altro. Una cosa da tenere presente è che i miei amici sapranno sempre chi sono, per cui è opportuno che gli amici siano davvero amici, cioè persone fidate: l’essenza di RetroShare è questa, uno scambio protetto tra persone fidate. Quale sarebbe la curiosità della storia di RetroShare, cui accennavo all'inizio? RetroShare è in vita da diversi anni e finora è stato ignorato da tutti o quasi: il suo stesso sviluppo è ancora alla versione 0.5.4c, cioè ancora piuttosto lontano da una versione stabile e definitiva. Dall'inizio dell’anno in corso, però, pare che la gente si sia accorta della sua esistenza e il suo utilizzo è aumentato di parecchio nel giro di pochi mesi. Staremo a vedere i successivi sviluppi.

Rischi legali?

Come avviene per qualsiasi sistema di scambio protetto, anche RetroShare può essere utilizzato per scambiare materiale più o meno illegale. A questo proposito, è bene segnalare quanto avvenuto di recente ad Amburgo, dove una sentenza alquanto discutibile ha evidenziato i rischi legali che si possono correre, utilizzando questi programmi. Qui potete trovare la storia completa, coi link alle ingiunzioni del tribunale (in tedesco) e a dibattiti in merito alla legittimità dell’ingiunzione stessa (sempre in tedesco). Non essendo io un esperto di diritto, men che meno tedesco, lascerò ad altri il compito di valutare il tipo di impatto che potrà avere questa ingiunzione.