Le tecnologie dietro l'angolo: manuale di orientamento per la e-privacy del futuro prossimo. di Emmanuel Goldstein ********************************************************************** Copyright (c) 2004 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. ********************************************************************** Beh, non ho parole; chi l'avrebbe mai detto che sarei finito a scrivere qui... e di cose tecniche poi. La sensazione di inadeguatezza che provo e` devastante... Quindi, subito un po di codice in C ! <-| pws/thetruth.c |-> /*** PWS docet ************************************************* * Paranoia, che altro ? * *********************************** Emmanuel Goldstein, 2004 ***/ #include main() { printf(" 1) La paranoia e` una virtu`\n"); printf(" 2) I paranoici sono ottimisti\n"); } <-X-> Bene, ora che magari vi ho strappato un sorriso (personalmente non distinguo il C dal B e dal D), veniamo a cio` che vi aspetta se continuerete a leggere questo articolo. Come Winnie vi ha gia` ampiamente descritto, il Progetto Winston Smith ha finalita` didattiche e di "inseminazione" tecnologica nel campo della e-privacy. Qui c`e` poco da inseminare (evitate i risolini, non mi riferisco alla cronica sproporzione dei sessi nel settore) perche` il livello di competenza tecnologica e` stratosferico. Vorrei pero` riuscire comunque a dare un contributo in termini di orientamento e di risparmio di tempo. Per questo motivo nel prosieguo di questa chiacchierata ci saranno alcuni distillati di quattro nuove tecnologie che sono convinto essere centrali per la difesa della e-privacy. Ciascuno dei quattro "capitoli" fornira` una descrizione breve della tecnologia, della sua importanza in positivo od in negativo per la e-privacy, dello stato dell'arte e degli sviluppi futuri. Nessuna pappa pronta, ma niente piu` che un servizio che faccia risparmiare tempo e faciliti le cose a chiunque abbia neuroni che scaricano a velocita` normale, che sia flippato della tecnologia e che consideri importante la e-privacy propria ed altrui. Se appartenete a tutte e tre queste categorie, spero che questo file vi interessera`, altrimenti poveri voi. Quindi di seguito parleremo di -- Tor - The New Generation Onion Routing -- Client Mixminion - puo' un client essere la "killer application" dei remailer? -- RFID - Radio Frequency Identification Devices -- Freenet Godetevi il resto di questo corposo file. Arrisentirci su http://lists.firenze.linux.it/mailman/listinfo/e-privacy SYNT. Emmanuel. ========== Tor - The New Generation Onion Routing =========== C`era una volta Crowds... ...od almeno c`era agli AT&T Labs... ma questa e` un`altra storia. Crowds, come il nome (folla) indica, e` l'applicazione del principio "piu` siamo, meglio stiamo" all'anonimato. La cosa, che gia` secondo il Manzoni nelle manifestazioni funzionava garantendo una buona impunita`, trova il suo parallelo nelle reti di proxy anonime (RPA), ma non con la stessa efficacia come vedremo piu` avanti. Crowds e` stato appunto la prima applicazione del principio delle RPA al browsing del web. Per farla *molto* breve, si trattava di un client proxy locale, che viene utilizzato come proxy dal nostro web browser. Il software, originariamente scritto in Perl, si comporta verso l'esterno come un`applicazione P2P, offrendo e chiedendo il servizio di proxying (meglio sarebbe parlare di relaying) dei pacchetti http; i pacchetti stessi venivano offuscati in modo da non essere riconoscibili. Restavano da risolvere i soliti tre problemi delle RPA 1) il problema del boot del singolo proxy, che doveva trustare uno degli altri nodi; 2) la possibilita` di attacco basato sul timing dei pacchetti entranti ed uscenti; 3) la robustezza della RPA stessa di fronte all'ingresso di una percentuale significativa di nodi rogue o cancer. Ora, ed il buon vecna che ne e` paladino mi perdonera` se sono cosi` duro, il concetto stesso di RPA e` IMHO viziato alla base, perche` le possibilita` di un attacco basato su una o piu` delle tre precedenti debolezze rimane ineliminabile ed intrinsecamente alto. In questo l'approccio di Freenet, che progetta un anonimato a livello di protocollo, e` di gran lunga piu` sicuro per quanto riguarda l'anonimato "duro". Pero` le architetture come Freenet, che non sono in realta` confrontabili con le RPA pure in quanto implementano anche il datastore distribuito, non sono utilizzabili quando e` necessaria una bassa latenza (la latenza di Freenet e` dell'ordine del minuto, se tutto va bene). Le RPA vanno invece a nozze proprio nelle condizioni di bassa latenza, in cui praticamente non hanno rivali; realizzando un livello di offuscamento del traffico cosi` elevato da rendere le tecniche di tracciamento normalmente usate oggi assolutamente inefficaci. Tor (il significato esatto dell'acronimo e` ignoto anche agli autori) viene identificato come The Next Generation Onion Routing (TNGOR abbreviato per gli amici?) ed e` una implementazione crittograficamente forte di Crowds, fatta a livello IP. Qualunque applicazione IP che necessiti di bassa latenza e sia socksified (o possa usare Privoxy) puo` essere utilizzata in maniera trasparente. Ma icchevordi` "Onion Rounting"? Beh, qualcuno deve essersi scocciato di parlare di imbustamento, e con questo termine piu` "appetibile" indica il fatto che i singoli pacchetti provenienti dalla sorgente vengono imbustati "a cipolla" uno nell'altro con crittografia a chiave simmetrica (Rijndael, od AES, se preferite chiamarlo cosi`). In questo modo e` possibile realizzare aggeggi come Tor, che sono servizi di anonimizzazione orientati alle connessioni. La sorgente dei pacchetti, che deve essere un proxy Tor, realizza un source routing dei pacchetti, negoziando cosi` un circuito virtuale atraverso la rete dei router Tor. Il concetto e` pari pari quello dei remailer di tipo Mixmaster, in cui ogni nodo conosce il suo predecessore ed in suo successore e stop, ed il routing nella rete viene deciso dal mittente (source routing). Esistono 3 livelli di nodi Tor; proxy, router, directory server. I nodi proxy sono il minimo necessario per usare una rete Tor senza parteciparvi attivamente. I router sono invece anche nodi attivi (alla Freenet), devono esere in qualche modo trustati esplicitamente dalla rete e poi si integrano completamente con essa in tempi molto brevi (da 10 minuti ad un`ora). Al top, e dovete convincere gli autori che siete superaffidabili, specialmente se abitate a Fort Meade, ci sono i directory server, che forniscono le informazioni sulla rete agli altri nodi, e sono come sempre il punto veramente critico delle RPA come di ogni altra rete anonima. Tor *e`* veloce; e` fatto apposta. Se volete pero` fare da router dovete avere banda bidirezionale da vendere. Una adsl piena basta appena, ed i picchi di traffico possono facilmente congestionare l'upstream. D`altra parte e` per una buona causa, e se un numero sufficentemente alto di noi non capisce che deve spendere banda/tempo/soldi per questo, presto saremo tutti in batteria come polli d`allevamento... Se ne volete sapere di piu`, leggete la lista dedicata a Tor http://archives.seul.org/tor/dev/ studiatevi il protocollo http://www.onion-router.net/ E comunque scrivete in lista e-privacy, dove dovremmo, a parer mio, concentrare gli sforzi per creare anche questa nuova risorsa. http://lists.firenze.linux.it/mailman/listinfo/e-privacy ========================= Mixminion ========================= Puo` un client essere la killer application dei remailer? Questa sezione del file e` solo una chiacchierata che termina con una TODO list; questo non vi esime (e spero di convincervi) ad installare e testare Mixminion sulla vostra linux box. Cos'e` Mixminion ? Mixminion rappresenta la nuova generazione dei remailer anonimi. Do per scontato che chi legge sappia che cos'e` un remailer anonimo; se non lo sapete andate a leggervi il documento sui remailer Mixmaster che trovate sul sito del Progetto Winston Smith. Do altrettanto per scontato che sappiate perche` e` importante usare i remailer, ed abbiate gia` provato almeno ad inviare messaggi di prova anche solo tramite l'interfaccia web di Antani. Se non lo sapete siete nelle mani del Grande Fratello; al solito, leggetevi il documento sulla e-privacy sul sito. Non sapete nemmeno cosa e` Antani??? Antani, come per due, supercazzola bitumata, ha lo scappellamento a destra. Scherzi a parte, usate Google od andate direttamente sul sito di Antani (https://remailer.firenze.linux.it/) o di Mixmaster.it (https://www.mixmaster.it). Per chi invece non e` fin qui cascato dal pero, cos'e` tecnicamente Mixminion? Mixminion e` il protocollo della nuova generazione dei remailer (detti di Tipo III), che aspira ad integrare in un'unica applicazione tutti i servizi di posta anonima (posta crittografata, remailing anonimo, server di pseudonimi, servizi di directory) fin qui realizzati, ed a sostituire completamente la rete dei remailer Mixmaster (Tipo II) Cypherpunk (Tipo I) e dei server di pseudonimi (tipo Alias.net). Si tratta di un sistema ancora in sviluppo, ma gia' utilizzabile con un livello di sicurezza paragonabile, se non maggiore, a quello della collaudata ma farraginosa rete dei remailer Mixmaster. Farraginosa? Purtroppo si'. Utilizzare bene la rete Mixmaster e` cosa alla portata solo di smanettoni, o di utenti normali ma dotati di grande pignoleria, pazienza e costanza. I remailer Mixmaster devono essere utilizzati direttamente da linea comandi, e solo su *nix, od attraverso applicazioni dedicate (Jack B. Nymble), disponibili anche per win****, ma ormai datate, non piu` mantenute, e la cui installazione e` fuori della portata di un utente medio (al solito, sul sito del PWS trovate documentazione sull'installazione e sull'uso di JBN). Chi ha scritto (anzi sta scrivendo) Mixminion (grazie Roger, grazie Nick) sono due tra i piu` quotati ricercatori universitari sul tema dell'anonimato in Rete; lo sviluppo e la documentazione di Mixminion sono quindi fatti in maniera impeccabile, a livello delle migliori applicazioni libere. Come Mixmaster, Mixminion realizza con lo stesso pacchetto sia la parte server che la parte client; e` chiaro che mentre l'installazione del client e` diretta e banale (poco piu` dei soliti due make), installare il server richiede passi aggiuntivi (ma nemmeno troppi), disporre di un server permanente, entrare in contatto con la comunita` degli amministratori di remailer (remops) e, last but not least, dedicare con costanza un minimo di tempo alla 'manutenzione (chi mette a disposizione qualcosa ne e` moralmente responsabile verso i suoi possibili utenti). L`uso del client Mixminion (anche lui Linux, ma pare funzioni anche con Cygwin, anche lui da linea comandi) e` un godere per chi si e` cimentato con la generazione precedente di remailer. E` tutto li` a portata di mano, si mandano messaggi anonimi od a risposta anonima lasciando al client l'onere di fare tutto in maniera automatica, dalla gestione della directory delle chiavi all'inoltro della posta fino alla decodifica dei messaggi in arrivo. Questa bellezza deriva da alcune decisioni radicali, prima tra tutti quella di aver rinunciato all'uso della posta elettronica come mezzo di trasporto... Come??? I remailer non useranno piu` la posta??? Ebbene si`; i remailer Mixminion comunicano tra loro su una classica porta TCP pubblica, utilizzando un loro protocollo per lo scambio dei messaggi. Perche` infatti dovrebbero, come i remailer Mixmaster, utilizzare un protocollo lento e non sempre affidabile come l'SMTP se poi comunicano prevalentemente solo tra loro? Niente paura comunque. Dove i cospicui vantaggi di questa decisione radicale non siano prevalenti, i remailer Mixminion possono essere interfacciati con semplicita` con la posta elettronica e/o con la rete dei remailer Mixmaster. Ma vi avevo preannunciato una chiacchierata breve e mi sto dilungando inutilmente, quindi chiudo venendo al punto centrale di questa parte del file, che ne costituisce il titolo. Pochi giorni fa George Danezis ha rilasciato alcuni script Python, che fanno parte del codice in sviluppo nel CVS di Mixminion, e che saranno distribuiti insieme alla prossima minor release. Questi script permettono di creare sulla macchina locale due processi server POP3 e SMTP che si interfacciano in maniera trasparente al client Mixminion locale. Capito il classico trucchetto? Una volta eseguito il setup di questi script, potete utilizzare Mixminion con qualunque client di posta elettronica, e pubblicando le porte su cui girano i due processi server potete anche mettere a disposizione questo servizio a tutta una rete locale od al limite a tutti (una bella jail e` in quest`ultimo caso consigliabile - http://www.wiredyne.com/software/chrootbuilder.html). Se non sono ancora riuscito a farvi venire l'appetito e` inutile che continui; gli esseri senzienti che invece hanno l'acquolina in bocca possono scrivere in lista e-privacy, o documentarsi direttamente sul sito http://www.mixminion.net e sugli archivi della maillist di sviluppo. Il Progetto Winston Smith intende aumentare l'impegno sul fronte Mixminion ed un po` d`aiuto da parte di new entry non guasterebbe, i pochi, vecchi, membri del PWS stanno letteralmente scoppiando. Nel caso, scrivetemi in lista. ======= RFID - Radio Frequency Identification Devices ======= (con annessa ASCII art per la gioia dei duri e puri) RFID e` acronimo per IDentificazione automatica a RadioFrequenza. Un sistema di RFID e` composto dai tag o transponder, microchip dotati di antenna, contenenti dati identificativi ed eventualmente dotati di modeste capacita` di calcolo, e da dispositivi di lettura, il cui compito e` quello di interrogare i tag, ricevere e decodificare i dati ed operare la successiva trasmissione ed elaborazione di questi [1] (figura 1). _____ _________ | | /\/\/\/\/\ | | Eth, USB, ... | Tag | R.F. | Lettore |--------- |_____| \/\/\/\/\/ |_________| Fig. 1: RFID: schema di base I tag, che nei sistemi piu` comunemente impiegati hanno la forma di etichette planari (smart tags), hanno dimensioni variabili a seconda della frequenza a cui operano: si va da superfici di alcuni centimetri quadrati per sistemi che lavorano nella banda dei 100-500 kHz a dimensioni dell'ordine del millimetro quadrato per sistemi che operano a 2.4 GHz [2]. Nell'etichetta e` generalmente inserito un circuito elettronico passivo, ovvero privo di sorgenti di energia, in grado di essere alimentato a radiofrequenza dal dispositivo lettore e quindi di scambiare dati con esso; al contrario, alcune applicazioni prevedono l'uso di tag attivi, ossia autoalimentati. Uno schema dei principali blocchi funzionali di un tag RFID passivo e` riportato in figura 2. _____ _____________________________________________ \ | / | ___________ ___________ _________ | \|/ | | Circ. di | | | | | | |_______| | Alimentaz.| | | | | | | |___________| | Logica di | | | | Antenna | ___________ | controllo | | Memoria | | | | | | | | | | | | Modem | | | | | | | |___________| |___________| |_________| | |_____________________________________________| Fig. 2: Principali blocchi funzionali di un tag RFID. La banda di frequenze a cui lavora il sistema determina le sue prestazioni: esistono dispositivi low-end, operanti a frequenze inferiori ai 100 MHz, in cui etichetta e lettore devono trovarsi a distanza ridotta (fino a pochi metri), come pure dispositivi high-end, operanti a frequenze piu` elevate e caratterizzati, oltre che da un raggio di funzionamento piu` ampio, dalla possibilita` di identificare rapidamente molti tag raggruppati insieme. Alcuni tag di nuova generazione permettono l'incorporazione di microsensori per la misurazione di grandezze fisiche quali temperature, pressioni o deformazioni, altri sono dotati di memoria riscrivibile e logica riprogrammabile, altri ancora sono in grado di realizzare funzionalita` crittografiche elementari. Le applicazioni --------------- I contesti di impiego, effettivi e potenziali, della tecnologia RFID sono molteplici [3]: numerose aziende che operano nel campo della vendita al dettaglio, della sicurezza, dei trasporti o della manifattura hanno allo studio o gia` in opera sofisticate applicazioni RFID che vanno dal monitoraggio dei sistemi di trasporto e stoccaggio delle merci, alla logistica di magazzino, fino al tracciamento dei singoli prodotti sugli scaffali dei negozi e nel carrello della spesa. Ulteriori applicazioni riguardano il controllo degli accessi ad edifici e mezzi di trasporto, i sistemi di pagamento automatico e l'identificazione di volumi nelle bibilioteche. In molti di questi contesti, la tecnologia RFID rappresenta la naturale evoluzione del codice a barre, presentando rispetto a questo due innovazioni fondamentali: 1) l'interazione a radiofrequenza permette l'identificazione "remota" dei tag, che non devono necessariamente essere in vista rispetto al lettore; 2) il tag e` in grado di memorizzare informazioni sufficienti a contraddistinguere univocamente il singolo esemplare di un prodotto, al contrario del codice a barre che riporta solo dati sulla tipologia e la provenienza; a questo scopo e` stato codificato lo standard EPC (Electronic Product Code) per l'assegnazione di identificativi univoci [4]. Altre potenziali applicazioni di questa tecnologia comprendono il tracciamento del bagaglio aereo, il monitoraggio di grandezze fisiche in ambienti critici e l'identificazione della carta moneta a scopo anticontraffazione e di tracciamento di denaro proveniente da attivita` illecite (Banca Centrale Europea). Il lato oscuro, ovvero quando gli oggetti parlano (troppo) ---------------------------------------------------------- Pensiamo a che cosa accadrebbe se gli oggetti inanimati potessero parlare di noi. L'impiego su vasta scala della tecnologia RFID offre di fatto la possibilita` che sotto certi punti di vista questo si realizzi, con un notevole impatto sulla privacy del consumatore e sulle liberta` civili del cittadino, cosi` come sui diritti alla riservatezza ed all'anonimato [6][7][8][9]. I potenziali rischi sociali derivanti dall'applicazione indiscriminata ed in assenza di opportuni accorgimenti della RFID sono dovuti alla combinazione di fattori strettamente connessi alla tecnologia con problematiche di respiro piu` ampio. Dal punto di vista tecnologico, tanto i tag quanto i dispositivi lettori possono essere resi difficilmente individuabili: le etichette si trovano spesso integrate nell'imballaggio delle merci o poste in luoghi inaccessibili all'interno dei prodotti, mentre i lettori possono essere comodamente nascosti all'interno delle mura degli edifici o lungo il tracciato di una strada. Pertanto, se non individuati e disattivati, i tag continuano a rendere identificabili gli oggetti, e quindi potenzialmente palesi i dati ad essi collegati, anche al di fuori dell'ambito in cui il sistema di identificazione e` supposto funzionare, ad esempio all'interno del centro di distribuzione. In ogni caso, indipendentemente dalla possibilita` di interpretare i dati in essa contenuti, l'etichetta non disattivata funziona da "faro", rendendo potenzialmente tracciabili l'oggetto ed il suo ignaro possessore da parte di dispositivi rogue. Tra i rischi non collegati in modo specifico alla tecnologia RFID gioca un ruolo fondamentale la possibilita` che i dati contenuti nei dispositivi, indipendentemente dal loro livello di dettaglio, vengano collegati all'identita` del consumatore, il che costituisce prassi per la grande distribuzione come per il commercio elettronico. L'identita` del consumatore puo` a sua volta essere utilizzata come indice in database di natura diversa: in questo modo la limitata informazione contenuta nel tag individua potenzialmente dati personali anche sensibili del cittadino; cio` avviene in modo univoco grazie all'adozione di standard quali lo EPC, che codificano l'identificazione dei prodotti su scala globale. A completamento di questo scenario, e` necessario tenere presente che la raccolta dei dati, condotta spesso in modo sistematico con la creazione di insiemi di informazioni commerciali aggregate e memorizzate in modo centralizzato, viene attuata al momento in assenza di una normativa chiara e convincente riguardo alle procedure di conservazione e soprattutto alle modalita` di cancellazione dei dati. E` quindi innanzitutto evidente il problema dell'incremento del livello di sorveglianza sul cittadino, che va dalla possibilita` di tracciamento degli spostamenti all'"information leak" relativo ad oggetti posseduti: si pensi alla soddisfazione di un borseggiatore in grado di contare il denaro in tasca ad ogni passante che non abbia usato la premura di avvolgere il proprio portafogli nella pellicola metallica. Probabilmente piu` grave, grazie alle potenzialita` degli identificativi univoci e dell'incrocio dei dati, e` il contributo che l'applicazione diffusa della tecnologia RFID puo` fornire all'affermazione di una societa` in cui gli individui siano fortemente profilati, ovvero piu` o meno pubblicamente etichettati ciascuno con le proprie abitudini, i propri gusti o il proprio stato di salute. Non e` difficile immaginare, ad esempio, che i dati identificativi RFID possano essere in futuro richiesti dal sistema giudiziario come elementi di prova in tribunale. Le soluzioni ------------ L'impatto della tecnologia RFID sulla sfera della riservatezza non e` stato ad oggi formalmente valutato da parte delle categorie interessate, ne` esistono normative precise che lo regolino. Appare tuttavia evidente come l'uso di questi dispositivi debba essere innanzitutto improntato a principi di assoluta trasparenza, a partire dall'impiego di specifiche tecniche e politiche di utilizzo aperte, alla limitazione della raccolta dei dati ed alla definizione di precise procedure e responsabilita` per quanto riguarda la loro conservazione e cancellazione. E` altresi` necessario definire in modo preciso le modalita` non ammissibili di utilizzo della tecnologia, quali ad esempio rendere difficile l'individuazione dei tag, impedire la loro disattivazione da parte del consumatore o impiegare la RFID in modo da ridurre il grado di anonimato nelle transazioni. Nel nostro Paese, l'ufficio del garante per la protezione dei dati personali si e` pronunciato in materia di RFID nella relazione annuale 2003. Sotto il profilo tecnologico, la ricerca e` attiva lungo numerose direzioni allo scopo di rendere la tecnologia RFID intrinsecamente privacy friendly. Al di la` della semplice funzionalita` di disattivazione a comando, gia` presente in gran parte dei dispositivi in uso, sono in fase di sperimentazione soluzioni di tipo eterogeneo: dalla realizzazione di funzioni di crittografia minimale all'interno dei tag, all'impiego di dispositivi bloccanti (blocker tags) [11] fino ad approcci di tipo elettromagnetico [13]. Bibliografia ------------ [1] K. Finkenzeller, The RFID Handbook, J. Wiley & Sons, 2003 [2] M. Reynolds, Physics of RFID, RFID Privacy Workshop @ MIT, Nov. 2003 [3] R. Want, RFID: a key to automating everything, Scientific American, Gen. 2004. [4] EPC Global, http://www.epcglobalinc.org [5] Auto-ID Labs, http://www.autoidlabs.org [6] Privacy Rights Clearinghouse, http://www.privacyrights.org [7] Consumers against supermarket privacy invasion and numbering (CASPIAN), http://www.spychips.com [8] Electronic Frontier Foundation, http://www.eff.org [9] K. Albrecht, RFID: Privacy and Societal Implications, RFID Privacy Workshop @ MIT, Nov. 2003 [10] Garante per la protezione dei dati personali, Relazione 2003, http://www.garanteprivacy.it [11] K. Zetter, Jamming Tags Block RFID Scanners, Wired, Marzo 2004 [12] A. Juels, RFID Tags: Privacy and Security without Cryptography, RFID Privacy Workshop @ MIT, Nov. 2003 [13] K. Fishkin, S. Roy, Enhancing RFID Privacy through Antenna Energy Analysis, RFID Privacy Workshop @ MIT, Nov. 2003 [14] RFID Privacy Workshop @ MIT, Nov. 2003 http://www.rfidprivacy.org ========================== Freenet ========================== Censura? No grazie... Quante volte vi siete posti, mentre vi accingete a vistare un qualsiasi sito web, oppure a pubblicare voi stessi qualcosa che desiderate rendere disponibile a chiunque, questa semplice domanda: "Qualcuno puo` essere interessato a sapere quel che sto facendo? Qualcuno potrebbe avere voglia di impedirmi di farlo?" La risposta, purtroppo, non e` sempre rassicurante; il mezzo ad oggi piu` potente di comunicazione, Internet, e` veramente diventato un "postaccio". Un tempo, quando agli albori era solamente un balocco per accademici e pochi altri, non esistevano molti problemi; l'avremmo potuto definire al pari dell'eden, il paradiso terrestre. Poi le cose sono cambiate, il balocco e` diventato interessante ed e` cresciuto insieme al numero di persone capaci di utilizzarne le risorse, sempre piu` vaste e disparate. Una notizia poteva fare il giro del mondo in qualche millesimo di secondo, una domanda poteva ottenere la risposta di tante persone che l'avevano gia` affrontata... eccezionale! Forse una delle cose piu` belle che potevano capitare a favore dell'umanita` e della sua voglia di sapere. Ma allo stesso tempo, come il nostro Winnie ci ha gia` detto, cominciarono le grane... gia`, perche` in molti luoghi, ed a molti individui questa liberta` sta scomoda. Ed ecco che si e` fatto strada un tecnocontrollo sempre piu` spinto, piu` o meno legalizzato e mascherato assai spesso da "nobili" propositi scelti tra quelli piu` influenti sulla morale delle persone... le stesse persone che cerchiamo di convincere ad aprire un pochino di piu` gli occhi su chi ha voglia di ficcare il naso e non solo nei loro affari in modo tanto discreto che e` molto difficile accorgersi di quel che sta facendo. Ma pensate a questo scenario: ogni angolo, di ogni via, di qualunque citta` ripreso da una videocamera; e potenzialmente capace di riconoscere e rintracciare chiunque passi o si fermi nel suo raggio di azione. In piu` metteteci che le registrazioni vengono archiviate per periodi sufficientemente lunghi da permettere di ricostruire tutti gli spostamenti fatti dall'ignaro passeggiatore in un certo lasso di tempo. Allucinante, vero? Proprio il Grande Fratello. Beh, su Internet e` realta`, e fa molto meno rumore di questa ipotetica circostanza. Do per scontato che chi legge sappia a grandi linee come funziona la rete delle reti, e allo stesso modo do per scontato che abbiate sentito almeno una volta di siti censurati ed eliminati, o di gente che e` stata chiusa in gattabuia (in galera) per aver visitato pagine ritenute da qualcun`altro pericolose per via dei loro contenuti. Episodi drammaticamente ricorrenti in quei paesi che hanno fatto della censura e della coercizione la principale arma della loro legislatura. Ma come fare allora? Siamo davvero indifesi davanti a tutto cio`? Fortunatamente no! Almeno per quanto riguarda il problema della censura e del libero accesso alle informazioni, esiste il progetto Freenet (http://www.freenetproject.org) che ha come obbiettivo principale proprio il combattere la censura ed il controllo dei contenuti. Qualcuno l'avra` sentita nominare, qualcun`altro magari non sa nemmeno da che parte si mangia... ma cos`e` Freenet? E come puo` rendere tanto difficile il lavoro degli "spioni" di cui abbiamo parlato poco sopra? In due parole possiamo definire Freenet come una rete dentro alla rete. Su Freenet non troveremo gli stessi siti che esistono su Internet, non e` una rete di semplici proxy anonimizzatori. E` paragonabile ad una rete p2p, alla stregua di molti altri sistemi tipo emule, kazaa, gnutella ed altri, ma molto piu` sofisticata, intelligente, anonima e lenta di questi ultimi. Per chi non lo sapesse (c`e` ancora qualcuno?) una rete p2p e` un insieme di computer collegati tra di loro, mediante Internet, che sono allo stesso tempo server e client di contenuti di ogni genere e che dialogano tra loro scambiandosi le informazioni. Freenet utilizza lo stesso principio, ma con una serie di "trucchetti" per rendere completamente anonimo l'inserimento, lo scambio ed il recupero del materiale che transita dentro di essa. Ma entriamo un po` in dettaglio nel funzionamento, senza avere la pretesa di cadere in una spiegazione dettagliata forse non adatta allo scopo di questo articolo (se siete gia` cosi` informati, perche` non avete ancora messo in linea un nodo Freenet????) e per cui trovate comunque materiale a iosa sul sito del Progetto Winston Smith. Intanto, l'architettura su cui si basa Freenet e` completamente decentralizzata, e basa la propria robustezza su tanti computer, sparsi in tutto il mondo, che mettono a disposizione spazio disco ed ovviamente banda di collegamento; viene da se che non essendoci nessun punto centrale e` praticamente impossibile "boicottare" la rete stessa con azioni di forza (del tipo entro nella stanza del server, stacco la spina e tutta la rete si abbuia), come e` pure impossibile effettuare un controllo sui contenuti, rendendo irrealizzabili azioni di censura. E come fa, vi chiedete? Perche` possiamo dire che Freenet ha "vita propria", un qualunque oggetto che sia stato inserito dentro il network, puo` diffondersi via via nodo per nodo e divenire sempre piu` diffuso, o "spegnersi" di morte naturale; non esiste in Freenet l'operatore "Delete". Altro punto di forza per garantire l'anonimato e la riservatezza nella diffusione delle informazioni e` il sistema usato dai nodi per comunicare tra di loro; il protocollo di comunicazione, chiamato FNP, ovvero Freenet Network Protocol, e` alla base del suo funzionamento... ogni richiesta viene inviata di nodo in nodo, con l'aggiunta di "rumore di fondo" in modo da rendere difficoltoso ogni tentativo di risalire all'origine, a "catena"... ogni anello della catena sapra` solo chi e` il precedente ed il successivo a cui passare la richiesta. Ma come fa un nodo appena nato, ad orientarsi ed a sapere con quali nodi colloquiare? Al momento del "boot", viene generata una coppia di chiavi, privata e pubblica, ed altre informazioni tra cui l'indirizzo (ip od hostname) e lo invia ad un altro nodo. E` chiaro che per cominciare a lavorare ha bisogno di almeno un riferimento ad almeno un altro server funzionante. Non esiste ancora una soluzione perfetta al problema del boot (come in altri sistemi per l'anonimato); sul sito principale del progetto esiste un elenco chiamato seednode, che contiene gli indirizzi e le chiavi di alcuni nodi "affidabili", che verranno contattati al momento del boot. Dopo questo, se il nostro nodo e` permanente, piano piano verra` conosciuto da tutti gli altri. Ma veniamo alla parte principale del funzionamento: come vengono gestiti i file e come possono essere recuperati? Abbiamo detto che Freenet disperde, crittografa e "trita" i contenuti in modo da rendere irriconoscibile la fonte di provenienza; ma come fa per ritrovarli? Freenet utilizza delle chiavi univoche associate ad ogni oggetto inserito al suo interno; tutte le volte che viene inserito un nuovo file, viene generata una chiave che viene inserita nella rete con un numero di HTL (hops to live) che determina la "profondita'" del suo inserimento, e quindi la sua diffusione e la sua probabilita` di recupero; in parole povere il numero di copie inserite in rete. A questo punto il nodo controlla prima che non esista una chiave identica ed inizia l'inserimento, il "viaggio" della chiave attraverso la rete Freenet. Dopo l'inserimento la chiave diventera` piu` o meno popolare e quindi potra` vivere od estinguersi, il tutto in modo indipendente da azioni esterne. Per recuperare un file, un nodo che riceva la richiesta controlla se nel proprio datastore esiste la chiave relativa al file; se questa e` presente la invia in risposta al nodo che ne ha fatto richiesta. Se invece non viene trovata nel datastore, il nodo passa la richiesta a quello vicino, fino all'esaurimento dell'HTL della ricerca. Se riceve una risposta positiva fa una copia della chiave nel proprio datastore per esaudire eventuali richieste future, altrimenti segnalera` il fallimento della ricerca al nodo che gli aveva passato la richiesta. Ed eccoci alle chiavi: l'algoritmo di cifratura usato e` il DSA, e si possono individuare diversi tipi di chiavi. La prima, e` la CHK (content hash key), creata dall'hash (SHA-1) del file corrispondente. E` la piu` importante, in quanto tutti gli oggetti inseriti dentro Freenet hanno (anzi sono) una chiave CHK. E` impossibile che due file, differenti tra di loro anche di un solo byte, abbiano la stessa chiave CHK. Al momento della pubblicazione di un file, quest`ultimo viene criptato con una chiave simmetrica generata casualmente che verra` pubblicata insieme alla chiave CHK. Lo svantaggio e` che il nome che viene fuori dalla creazione di una chiave CHK e` assolutamente poco "user friendly", una cosa tipo CHK@ghRcNljtpqtCZp, solo molto piu` lungo. Praticamente impossibile da ricordare!!! Viene in aiuto allora un altro tipo di chiave, la KSK (keyword signed key); questo tipo di chiave e` molto piu` semplice, in quanto per ottenere da Freenet, es. l'immagine cip_ciop.jpeg si potra` usare qualcosa di banale come KSK@cip_ciop. Quindi ci possiamo dimenticare delle chiavi CHK? No, perche` la KSK altro non e` che un "puntatore" ad una chiave CHK, creata sempre basandosi sull'hash del nostro file cip_ciop.jpeg. Per ultima, esiste la chiave SSK (signed subspace key), utilizzabile quando vogliamo un nostro spazio su Freenet, ed alterabile solo dal proprio creatore. Per maggiori dettagli sul funzionamento tecnico, vi consiglio di leggervi la presentazione che trovate negli atti del convegno e-privacy di quest`anno (http://e-privacy.firenze.linux.it/interventi.html). Due veloci note per terminare questa introduzione. Freenet e` scritto in java (e` l'applicazione piu` grande al mondo scritta in questo linguaggio) ed e` scritta al volo da un gruppo di una mezza dozzina di persone che non documentano niente ma modificano il codice in maniera evolutiva (ho sentito un "a casaccio"????). In effetti non c`e` un modo di testare un sistema come Freenet su un simulatore, e rilasciare le modifiche sul campo per testarle e` l'unica possibilita` se non si hanno i miliardi (a proposito, mandate qualche soldo al Progetto Freenet! C'e` una pagina apposita sul sito). Per questo sono state create due Freenet separate, non interoperanti: Freenet Stable e Freenet Unstable. La Unstable (version 6xxx) e` quella di sviluppo, mentre la stable (5xxx) viene aggiornata di rado (una volta ogni parecchie settimane) ed e` quella che gli "utenti" devono usare, specialmente all'inizio. Questa parte vi e` sembrata ingenua e poco tecnologica? Allora ve la siete proprio cercata! Come anteprima, ecco nel file successivo a questo la versione aggiornata ed ampliata del documento sull'installazione di un nodo Freenet, che sara` pubblicato sulla prossima edizione del freesite del Progetto Winston Smith.