CHE COS'E' E DA DOVE NASCE IL "FILE-SHARING"?
- Breve storia
Il file sharing è la condivisione di file all'interno di una rete comune, che può avvenire tramite una rete con struttura client-server o peer-to-peer.
Attualmente sono disponibili diversi programmi di file sharing su reti differenti: la disponibilità dipende parzialmente dal sistema operativo, da differenti reti di comunicazioni aventi differenti caratteristiche (download a sorgente multipla, differenti tipi di ordinamento, differenti limiti nella ricerca, ecc).
Napster (creato dall'informatico statunitense Shawn Fanning) è stato il primo programma di file sharing peer-to-peer (in realtà non propriamente puro, in quanto utilizzava un sistema di server centrali di riferimento) ad aver catturato l'attenzione dei navigatori della rete, tra il 1999 e il 2000.
La struttura di Napster, per quanto tecnicamente vincente, lo rese però facilmente vulnerabile agli attacchi delle majors, infatti fu sufficiente individuare il server centrale per metterlo fuori uso: nel 2001 Napster fu chiuso per ripetuta violazione di copyright e condannato a pagare un indennizzo totale di circa 36 milioni di dollari, cifra che si tentò di pagare trasformando il programma da gratuito a pagamento, il cui prototipo del 2002 però non fu mai reso pubblicamente disponibile.
Dalla chiusura di Napster in poi, proprio a causa dei potenziali rischi giudiziari, gli sviluppatori di software di file sharing hanno iniziato a creare sistemi sempre più delocalizzati, così da evitare che la chiusura di un unico server potesse compromettere il funzionamento dell'intera rete: ecco nascere, quindi, reti ibride e completamente decentralizzate (esempio fondamentale di programmi su piattaforme Open Source), caratterizzate da diversi software client in continua evoluzione (WinMX, Kazaa, eMule, ecc).
La presenza di reti "senza testa" mise subito in luce l'impossibilità di bloccare i sistemi di file sharing, come era invece stato possibile con il precedessore Napster: come è possibile infatti, bloccare un sistema composto da centinaia di milioni di pc autonomi sparsi in tutto il mondo, che scambiano tra loro miliardi di files?
Crescono e si evolvono così tutti i programmi di file sharing, il cui fenomeno si estende in tutto il mondo: eMule per esempio, uno dei più famosi programmi di "scaricamento" utilizzati dagli utenti, conta oggi più di 300.000.000 di download.
Inoltre, in seguito abbiamo assistito ad un ulteriore sviluppo dei sistemi di file sharing nella direzione di software, oltre che delocalizzati, anche in grado di garantire privacy e anonimato.
Un ottimo esempio è Mute: software libero ideato da Jason Rohrer e distribuito nel Dicembre del 2003 con GNU (General Public License), permette il file sharing mantenendo l'anonimato degli utenti, in modo che non sia possibile capire chi condivide o scarica un determinato file. Questo è possibile utilizzando metodi di crittografia asimmetrica (tipo di crittografia che associa una coppia di chiavi per ogni utente: la chiave privata, personale e segreta, utilizzata per decodificare un documento criptato; la chiave pubblica, distribuita per criptare un documento destinato a chi possiede la relativa chiave privata) e il routing probabilistico (instradamento a livello di rete). Per proteggere l'identità di chi condivide i files, ad ogni nodo viene assegnato un indirizzo virtuale, in modo che non sia necessario svelarne il reale indirizzo IP (Internet protocol), il quale identificherebbe la macchina nella rete. In questo modo 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.

[Fonte: http://www.megalab.it/immagini/articoli/mute_file_sharing_p/mute.jpg]
È evidente che sistemi di questo tipo rendono l'individuazione degli utenti decisamente complicata ed estremamente onerosa (occorrono specialisti, strumenti tecnici di alto livello, risorse e tempo); in ogni caso, anche volendo ammettere che le task force governative di turno, riescano a compiere le suddette attività di controllo velocemente e a costo zero, il problema non sarebbe risolto.
Anzitutto anche individuando l'indirizzo IP di una macchina non c'è certezza di individuare l'utente, perché questo può corrispondere a decine o centinaia di utilizzatori (pensiamo ad esempio alle Università o agli Internet Cafè); l'intestatario del contratto può essere un soggetto diverso dall'utilizzatore (contratto intestato al padre, mentre l'utilizzatore è il figlio) e ancora l'indirizzo può essere usato abusivamente (ad esempio facendo war driving su una rete wireless: ovvero collegarsi abusivamente a una rete wireless intestata ad altri e usarla per i propri download).
In conclusione, i sistemi di file sharing si sono evoluti passando da una struttura trasparente e centralizzata ad una crittografata e decentralizzata: tale nuova struttura rende di fatto impossibile controllare, in modo facile ed economico, gli utenti e i relativi contenuti scambiati.
In ogni caso, anche qualora si riescano a decrittografare i contenuti e scoprire l'identità di chi scarica, in tempi rapidi e a costi contenuti, bisogna considerare che il numero degli utenti coinvolti è comunque altissimo (60 milioni solo negli Stati Uniti), in crescita (nel Marzo 2004, Kazaa, allora il più famoso software di file sharing, è stato scaricato da 2 milioni di utenti) e il rischio poi, ad esempio, di risalire a minori alla fine dell'indagine, è molto elevato.
[Fonti: "Dalla criminalizzazione alla legalizzazione del file sharing", studio di Marco Montemagno citato da www.p2pforum.it; www.wikipedia.org; www.sourceforge.net]
- Definizioni
Applicazioni "Client-server" e "Peer-to-peer"
Un'applicazione client-server (letteralmente cliente-servitore) è un tipo di applicazione di rete nel quale un computer client istanzia l'interfaccia utente di un'applicazione connettendosi ad una server application o ad un sistema di database.
Più semplicemente, i sistemi client-server sono un'evoluzione dei sistemi basati sulla condivisione semplice delle risorse.
La presenza di un server permette ad un certo numero di client di condividerne le risorse, lasciando che sia il server a gestire gli accessi alle risorse, per evitare conflitti tipici dei primi sistemi informatici.
D'altro canto, per peer-to-peer (o P2P) si intende una rete di computer o qualsiasi rete informatica che non possiede client o server fissi, ma un numero di nodi equivalenti (peer, appunto) che fungono sia da client che da server verso altri nodi della rete. Mediante questa configurazione qualsiasi nodo è in grado di avviare o completare una transazione.
L'immagine sottostante renderà più semplice la comprensione del funzionamento dei due sistemi.

[Fonte: http://www.ibiblio.org/team/intro/search/peer_to_peer1.gif]
Piattaforme "Open Source"
In informatica, open source (termine inglese che significa sorgente aperta) indica un software rilasciato con un tipo di licenza per la quale il codice sorgente è lasciato alla disponibilità di eventuali sviluppatori, in modo che con la collaborazione (in genere libera e spontanea) il prodotto finale possa raggiungere una complessità maggiore di quanto potrebbe ottenere un singolo gruppo di programmazione. L'Open Source ha ovviamente tratto grande beneficio da internet.
In tempi recenti, attualmente, l'Open Source tende ad assumere rilievo filosofico, consistendo in una nuova concezione della vita, aperta e refrattaria ad ogni oscurantismo, che l'Open Source si propone di superare mediante la condivisione della conoscenza.
[Fonti: www.repubblica.it; www.wikipedia.org]
Parte a cura di Moruzzi Matteo.

Nessun commento:
Posta un commento