SOMMARIO TITOLO: Da Pari A Pari 1 Cos`è Il Peer

Transcript

SOMMARIO TITOLO: Da Pari A Pari 1 Cos`è Il Peer
SOMMARIO
TITOLO: Da Pari A Pari
1 Cos'è Il Peer-To-Peer......................................................................................................................2
2 Vantaggi E Svantaggi......................................................................................................................3
3 Caratteristiche.................................................................................................................................3
4 Tipologie Di P2P............................................................................................................................4
- 4.1 Organizzazione Delle Directory................................................................................................5
5 Collegamenti Tra Peer....................................................................................................................6
- 5.1 Bootstrap...................................................................................................................................6
- 5.2 NAT e UPnP............................................................................................................................7
6 P2P Nel Passato..............................................................................................................................8
7 P2P Oggi.........................................................................................................................................8
8 Utilizzi............................................................................................................................................9
- 8.1 File Sharing...............................................................................................................................9
- 8.1.1 FTP.................................................................................................................................10
- 8.1.2 File Sharing Offline........................................................................................................12
- 8.1.3 Controversie Legali........................................................................................................13
- 8.2 Programmazione Distribuita – Osiris......................................................................................14
- 8.3 Comunicazione – Chat............................................................................................................15
9 Sicurezza Nel P2P........................................................................................................................15
10 Anonimato..................................................................................................................................16
- 10.1 Per la riservatezza...............................................................................................................17
- 10.2 Altri Motivi..........................................................................................................................18
- 10.3 Funzionamento....................................................................................................................18
11 Le Potenzialità Del P2P In Netsukuku.......................................................................................19
- 11.1 ANDNA...............................................................................................................................21
12 Fonti............................................................................................................................................22
1/22
1. Cos'è Il Peer-To-Peer
Se viene chiesto a un comune utente di internet di definire cosa sia un' applicazione Peer-To-Peer
(P2P), quasi sempre si riceverà come risposta che è un programma che permette la condivisione di
file.
In realtà non si tratta solo di questo.
Esistono due tipi di architetture che determinano il funzionamento dei software in generale :
Client/Server e Peer-To-Peer.
Le applicazioni Client/Server sono costituite da due moduli, uno server che si trova su una
macchina centrale e uno client per ogni utente del servizio.
Si chiamano anche applicazioni distribuite proprio per il fatto che le parti client vengono distribuite
tra i vari host che la utilizzano.
In questi programmi utte le attività passano e vengono coordinate dal server.
Nelle applicazioni Peer-to-Peer invece, il software è composto da una parte client e una parte
server che sono entrambe presenti sullo stesso host.
Non ci sarà più quindi bisogno di un server centrale perchè sarà la parte client a comunicare con la
parte server degli altri utenti, che vengono chiamati peer (pari).
Si posso infine distinguere altri programmi ibridi che funzionano come Peer-to-Peer ma
comprendono anche un server centrale utilizzato per offrire qualche servizio.
E' importante notare che nonostante ci sia la presenza di un server, la tecnologia continua ad
essere P2P, questo perché il server, dopo aver svolto la sua funzione, non interferisce e si
disinteressa della comunicazione tra i peers.
2/22
2. Vantaggi e svantaggi
Alcuni svantaggi e vantaggi della tecnologia P2P:
•
Non c'è bisogno di spese notevoli per l'acquisto, la manutenzione e l'amministrazione dei
server.
•
Non essendoci un' autorità centrale che controlla il traffico viene garantita la privacy.
•
Per lo stesso motivo possono verificarsi problemi con il copyright.
•
Ogni utente deve essere in grado di sostenere il carico di lavoro non solo proprio ma anche
degli utenti che cercano di accedere alle sue risorse.
•
Per ogni utente richiesto un certo livello di competenza per gestire le proprie risorse
localmente in modo da poter mantenere un certo grado di indipendenza.
•
Anche problemi relativi alla sicurezza devono essere gestiti localmente e spesso ciò
favorisce il diffondersi di dati malevoli e attacchi da parte di hacker.
Non è richiesto un server, neanche per gestire gli utenti, visto che se la rete è ben bilanciata si
auto-sostiene ed è indipendente dal numero di utenti.
Rispetto ai sistemi Client/Server, dove a un numero elevato di connessioni corrispondono velocità
trasmissive lente, quelle tra peer risultano in media più elevate, anzi aumentano di efficenza
coll'aumentare dei peer connessi.
3. Caratteristiche
Qualunque sia lo scopo per cui è stata creata un'applicazione P2P, essa comprende sempre tre fasi
fondamentali :
1.Fase di Boot : Riguarda la connessione dell'host alla rete di copertura (overlay network). Le
connessioni avvengono con collegamenti TCP e ad un singolo peer possono essere
connessi solo un'altra decina, che vengono chiamati vicini (neighbour).
2.Fase di LookUp : Permette al peer di reperire l'host che possiede una determinata risorsa.
3.Fase di Trasferimento : Riguarda il trasferimento di risorse tra due peer.
La fase di lookup ha bisogno di un indice o directory dove si trovano le corrispondenze tra i
contenuti e gli host che li mettono a disposizione.
In questo modo tutti gli host potranno aggiornare dinamicamente la directory per aggiungere
nuovi contenuti e consultarla per cercarne altri.
3/22
4. Tipologie Di P2P
Anche se l'idea del peer-to-peer è quella di non riconsocere il concetto client/server, in realtà le
applicazioni fatte in questo modo sono poche e si definiscono pure.
Si possono infatti distinguere tre tipologie di struttura:
1. Pura : non prevede alcuna parte client/server , esegue le ricerche con query flooding,
tutti i nodi svolgono la stessa funzione e hanno pari capacità.
2. Centralizzata : sfrutta una directory centralizzata , ad alcuni nodi viene assegnata la
funzione di supernodi e devono servire una data sottorete mantenendo un registro o
una cache.
3. Ibrida : sfrutta una directory semicentralizzata, alcuni nodi tengono traccia dei
collegamenti con gli host i quali devono collegarsi a uno di questi nodi che fungono da
server prima di poter svolgere le loro attività.
Una differente classificazione delle reti peer to peer è fatta per generazione.
1. I Generazione : Comprendono prime le reti con directory centralizzata che furono
perseguite dalle leggy contro la violazione del copyright.
2. II Generazione : Queste reti si concetrano su il grado di scalabilità inserendo il concetto di
supernodi, cioè per con più capacità rispetto agli altri che svolgono funzioni speciali per
migliroare il sostentamento della rete. In più hanno permesso la realizzazione di reti
decentralizzate.
3. III Generazione : Le reti P2P che hanno integrato tecnologie che garantiscono l'anonimato.
4/22
4.1 Organizzazione Delle Directory
Directory centralizzata
E' previsto un ISP che possieda un server in cui memorizzare la directory.
Saranno i peer che al momento dell'avvio contatteranno il server e lo informeranno con i propri IP
e le liste dei contenuti disponibili.
Queste informazioni saranno usate per aggiornare il database centralizzato.
Query flooding
Prevede una directory completamente distribuita nella rete di peer.
Ogni peer gestisce una lista delle sole risorse che rende disponibili alla condivisione.
Quando un peer vuole localizzare un certo contenuto, invia un messaggio di richeista a tutti i peer
a cui è connesso e ogni peer vicino inoltra a sua volta questa richiesta
verso i propri vicini finchè il messaggio arriva a tutti i peer connessi.
Ciascun peer che riceve un messaggio di richiesta, verifica nella sua directory l'eventuale presenza
della risorsa desiderata. Nel caso di query-hit, invia un messaggio di successo al richiedente,
usando il reverse-path trovato nel messaggio di richiesta.
Lo svantaggio di questa tecnica è l'elevato traffico di rete generato, tant'è che si chiama appunto
query flooding, cioè innondazione di richieste.
Di contro si ha il vantaggio di poter localizzare una risorsa su più peer e di poter decidere con
quale connettersi.
Copertura gerarchica
Questa tecnica è un misto tra directory centralizzata e query flooding, i peer che compongono la
rete non sono considerati tutti uguali, quelli con connettività più potente svolgono la funzione di
leader di gruppo (i supernodi).
Ogni leader controlla un gruppo di peer figli e si connette ad altri leader per formare l'overlay
network.
Quando un peer normale si connette ad un leader di gruppo, lo informa delle risorse che
condivide. Il leader di gruppo aggiorna una directory parziale contenente tutte le corrispondenze
peer/risorsa relative ai suoi figli.
Quando un peer cerca una corrispondenza, invia una richiesta al proprio leader di gruppo.Se si ha
query-hit,il leader di gruppo risponde con la corrispondenza richiesta, altrimenti avvia il query
flooding coi leader vicini.
Il vantaggio di questa tecnica rispetto al query flooding è che si raggiunge un' ampia copertura
limitando il traffico di rete.
5/22
5. Collegamenti Tra Peer
Per poter connettersi, gli host hanno bisogno di conoscere l'indirizzo pubblico della macchina con
cui vogliono comunicare, che solitamente indica anche la posizione geografica in cui è collocata.
Ogni host ha almeno un'interfaccia di rete e il protocollo IP si occupa di assegnare a ognuna di
essere un indirizzo di 32byte univoco di tipo gerarchico, composto da un prefisso che indica il
netId e un suffisso che indica l'hostId.
Questi indirizzi possono essere statici se rimangono fissi o dinamici se ogni volta che si connettono
alla rete vengono ricalcolati dal DHCP , il protocollo di boot che configura automaticamente un
host in rete assegnandogli, oltre all'indirizzo IP, la sua maschera, l'indirizzo del router di primo hop
(gateway) e l'indirizzo del server locale DNS (Domanin Name System, un sistema di database
distribuiti e server che risolve le associazioni tra gli indirizzi e i nomi di dominio).
Gli indirizzi statici sono utilizzati per dispositivi permanenti nella rete oppure per i server che
devono essere sempre raggiungibili e quindi avere un IP noto.
5.1 BOOTSTRAP
Con boostrap si intende la capacità di un peer di essere in grado di agganciarsi a una rete di
copertura.
Il peer può recuperare da qualche fonte un elenco di indirizzi IP di peer, tenendo conto che essi
sono dinamici, oppure contattare un server di tracker.
Una volta entrato in possesso degli indirizzi IP di alcuni peer, il nuovo peer tenta a
polling di connettersi ad uno di essi, ovvero tentando ciclicamente tutti i collegamenti.
Quando una connessione riesce, il nuovo peer invia al peer contattato un messaggio
ping. Questo messaggio viene inoltrato a tutti i vicini del peer contattato.
Ogni peer che riceve il messaggio ping, risponde con un messaggio pong con il proprio indirizzo IP.
In questo modo, il nuovo peer viene a conoscenza di un insieme di peer attivi con i
quali può tentare una connessione.
6/22
5.2 NAT e UPnP
Network Address Traslation è un sistema installato nei router locali che genera degli indirizzi da
assegnare agli host della LAN con validità solo interna (indirizzi privati) tramite un suo DHCP
interno.
Il router NAT fa da gateway e riceve un indirizzo IP pubblico dal DHCP dell' ISP.
La tabella di traduzione NAT poi consente di modificare i datagrammi in uscita e in entrata
sostituendo l'IP intranet con quella esterno e il numero di porta interno con uno univoco.
Questo sistema crea problemi alle applicazioni P2P perchè NAT impedisce alla parte server coperta
da esso di ricevere connessioni in entrata.
Si può configurare comunque l'accesso manualmente, sbloccando le porte per un certo IP(port
forwarding), ma ciò comporta l'accesso al router, che non è sempre permesso.
Il protocollo UPnp (Universal Plug and Play) consente ad un host che lo supporta di individuare e
configurare un router NAT in modo automatico, permettendo a un'applicazione richiede di ricevere
la corrispondenza NAT tra IPprivato/PortaPrivata e IPpubblico/PortaPubblica.
Se l'applicazione UPnP installata nel router accetta la richiesta, viene inserita la riga nella tabella
con le corrispondenze.
7/22
6. P2P Nel Passato
The Internet was meant to be a Peer-To-Peer system.
The first form of the internet was ARPANET, and it was created to allow scientific communities to
share ideas in the USA.
The goal was to distribute resources among different networks with a common architecture.
The first hosts of this network were some universities which were already able to compute with
their own power and they had been connected with a nonhierarchical relationship.
Before 1994 Internet had this kind of connectivity. Computers were assumed to be always
connected with a permanent IP and the DNS system followed this model. So when a computer
changed its IP for some reason, there were problems in indexing it.
Then, with the coming out of Mosaic, the web browser that made WWW famous, users begun to
connect to the Internet via dial-up modems and this way the network suddenly converted to
Client/Server architecture.
This made easier to manage IP dinamically and permitted users to leave or join the network as
they wished.
In addition data was prevented to be hosted locally and it started to be uploaded into capacious
servers.
7. P2P Oggi
Nel 2006, in concomitanza con i mondiali di calcio in Germania, non avendo la RAI acquisito i diritti
per trasmettere le partite, i programmi capaci di trasmettere video in tempo reale, appoggiandosi
a server di paesi esteri, hanno cominciato a guadagnare popolarità.
E' proprio in questo periodo che alcune società hanno colto l'occasione per sviluppare dei
programmi P2P che riuscissero a trasmettere un elevato flusso di dati nel minor tempo possibile
I flussi di dati venivano prelevati dai server da pochi utenti che a loro volta li ridistribuivano ad altri
utenti, sfruttando appieno le capacità trasmissive di ciascuno di essi, così da non sovraccaricare il
server.
Ciò richiedeva però che le banda sia di ricezione che di trasmissione degli utenti fossero elevate,
altrimenti si sarebbero verificati dei notevoli ritardi di coda.
La diffusione su larga scala di questa tecnologia risulta infatti ancora oggi rallentata e bisognerà
aspettare del tempo poiché sono ancora molto diffuse le linee asimmetriche dell' ADSL le quali
forniscono bassa banda di trasmissione e che quindi non permettono un corretto flusso del
traffico.
8/22
8. Utilizzi
Il Peer-to-Peer è adatto soprattutto al file sharing , ma viene usato anche in altri campi come nella
comunicazione, nelle collaborazioni di gruppo o nelle aziende, nel commercio,nei videogiochi o per
la programmazione distribuita.
8.1 File Sharing
Le applicazioni P2P più famose si occupano della distribuzione di un file da un singolo host server
ad un numero elevato di altri host.
Ciascun peer che esegue l'applicazione può partecipare alla distribuzione delle porzioni di file
ricevuto da peer-server agli altri peer-client, diminuendo così il lavoro del peer-server.
A regolare la distribuzione dei file sono i protocolli P2P, quello più usato è BitTorrent.
BitTorrent indica l'insieme di tutti i peer che partecipano alla distiribuzione di un dato file, il quale
viene detto Torrent.
Il torrent è diviso in chunk, che sono delle sottoparti del file completo che hanno tutti la stessa
dimensione (solitamente 256Kbyte).
Ogni torrent fa capo a un particolare nodo chiamato tracker, che si occupa di tenere traccia dei
peer del torrent e accogliere nuovi peer fornendogli una lista di alcuni dei peer facenti parte del
torrent.
Quando un peer vuole entrare a far parte di un torrent, cerca di stabilire connessioni TCP con tutti
i per segnalati dal tracker.
I peer vicini possono cambiare nel tempo perchè possono disconnettersi o connettersi a loro
picimento.
Ogni peer richiede periodicamente ai suoi vicini una lista dei chunck in loro possesso in modo da
poter richiedere i chunk che gli mancano.
BitTorrent implementa la politica del rarest first, che consiste nel fare in modo che i peer
richiedano prima i chunk posseduti da meno vicini ( i chunk più rari) così da rendere piu facile e piu
veloce la diffusione a chi ancora non li ha.
Questo protocollo ricalcola periodicamente le velocità medie di ricezione dei chunk verso un peer
di un torrent da parte di altri peer e tra i più veloci sceglie i primi quattro a cui assegnerà il titolo di
main uploader.
Il peer a cui sono associati i main uploader e un quinto peer casuale riceveranno chunk da parte
sua.
Questa politica serva a eliminare il problema tipico delle applicazioni P2P noto come free-riding
(sfruttamento), che vede un peer scaricare senza caricare.
Se non ci fossero soluzioni per il free-riding, il P2P non esisterebbe.
9/22
8.1.1 FTP
File Transfer Protocol è un protocollo utilizzato per il trasfeirmento file attraverso l'autenticazione
con ID e password.
Quando un utente vuole trasferire un file con FTP, interagisce con l'agente dell'utente di FTP al
quale fornisce il nome dell'host remoto con il quale interagire.
Si tratta di un protocollo fuori banda perchè prevede l'utilizzo di porte multiple.
Il client FTP apre connessione su server FTP sulla porta 21 di quest'ultimo.
Questa porta è detta di controllo, viene aperta una connessione persistente che mantiene
informazioni di stato riguardo l'account utente e le directory nel file system remoto e su essa
circolano i comandi.
I dati passano invece sulla porta dati 20, sulla quale viene aperta una connessione non persistente.
Il numero della porta dati può però cambiare a seconda del tipo di trasferimento.
Esso può infatti avvenire in modalità attiva o passiva.
Modalità attiva:
•
il client FTP apre connessione di controllo su porta 21 del server ftp.
•
il client manda richiesta di modalità attiva con numero maggior di 1024 per porta dati.
•
il server conferma inviando un ACK (Acknowledgment)
•
il server apre la porta 20 e apre una connessione dati col client FTP collegando porta 20 a
porta maggiore 1024
•
il server conferma avvenuta trasmissione con un ACK
10/22
Modalità passiva:
•
il client FTP apre connessione su porta 21 del server FTP.
•
il client manda richiesta di modalità passiva.
•
il server determina numero di porta maggiore 1024 che aprirà per la connessione dati, e
invia al client la richiesta di modalità attiva con quel numero.
•
il client apre la porta 20 e apre connessione dati e la connette a quella del server.
•
il server conferma avvenuta conessione inviando un ACK.
La modalità passiva viene usata per eludere il firewall, il quale blocca le connessioni proveniente
dall'esterno sulle porte maggiori di 1024, ma non quelle proveniente dall'interno.
11/22
8.1.2 File Sharing Offline
L'USB Dead Drop è un sistema di peer to peer file sharing offline anonimo, inventato nel 2013
dall'artista Aram Bartholl a New York.
Il nome viene dal Dead Drops, cioè il metodo con cui le spie si scambiavano documenti scottanti,
depositati in un luogo segreto concordato in precedenza.
Consiste nell'utilizzo di una chiave USB pubblica condivisa,la quale viene fissata in un muro di uno
spazio pubblico lasciando scoperto la parte terminale.
La posizione di alcune di queste chiavette è recensita online su alcuni siti e l'unico modo per
accedere ai contenuti di tali chiavette e recarsi sul posto, al momento se ne contano circa un
migliaio.
L'utilizzo, comprensivo di accesso,creazione,modifica e cancellazione dei contenuti è consentito a
chiunque.
Proprio la predisposizione alla completa condivisione di questo sistema ne fa il suo punto più
critico.
Il software e i suoi contenuti possono essere compromessi in qualunque modo possibile.
Può anche diventare un mezzo di condivisione di virus, oltre ad essere soggetto a deterioramento
fisico dato dall'esposizione agli agenti esterni o alla manomissione.
«L'idea di base è quella delle connessioni online e offline e il rapporto fra questi due differenti
contesti. Oggi il mondo che conosciamo è super-connesso ed è diventata una sorta di avventura
andare fisicamente nel mondo esterno. Invece con le Dead Drops tu devi per forza andare fuori e
connetterti a un edificio, senza sapere in anticipo che dati e informazioni troverai li dentro».
[Aram Bartholl]
Inoltre è da evidenziare il fatto che non sia possibile risalire a chi quei contenuti li ha creati, caricati
e quindi diffusi, proprio nell'era in cui ciascuno è rintracciabile in ogni istante.
12/22
8.1.3 Controversie Legali
Lo scambio di dati non è di per sé illegale, lo diventa quando i dati scambiati sono protetti da
copyright.
In realtà la domanda è quasi esclusivamente per questi ultimi e ne deriva che i produttori cerchino
un modo per contrastare il diffondersi di queste tencologie per salvare i propri interessi e
guadagni.
Tra le prime a bersagliare il P2P per vie legali furono grandi aziende che hanno potuto investire
grandi somme di denaro come la RIAA (Recording Industry Association of America) o la SIAE, le
software house e i governi.
L'uso diffuso del p2p portò prima gli USA nel 2003 a emanare la Legge Berman, con la quale i
detentori dei copyright hanno guadagnato i diritti legali per fermare i computer distribuenti
materiali protetti, e successivamente la Legge Urbani in Italia, che prevede delle sanzioni penali
anche per chi fa uso personale di tali materiali.
"La pirateria non è solo su BitTorrent e Pirate Bay, ma anche sui motori di ricerca legittimi. Una
piccola etichetta discografica,Blue Destiny Records, fa causa a Microsoft e Google a causa de i link
al P2p. I motori di ricerca dovranno rispondere in tribunale delle accuse di agevolazione della
pirateria via peer-to-peer.
La causa è stata depositata nel Nord Florida. E prende di mira i servizi di download ad alta velocità
di RapidShare. La controversia punta sul fatto che Google e Microsoft beneficiano dei ricavi
advertising dai risultati di ricerca."
[The Register]
Queste leggi non sono riuscite a fermare la rete P2P che al contrario si è espansa ancora di più,
adottando nuovi metodi per rendere anonime e difficilmente rintracciabili le risorse condivise.
Gli utenti cominciarono così a diventare l'obiettivo da punire per scoraggiare l'uso del file sharing e
del P2P in generale.
Tuttora in Italia chi condivide file coperti dal diritto d'autore commette un reato. La norma dice
infatti che è punito chiunque lo fa "senza averne diritto, a qualsiasi scopo e in qualsiasi forma".
Automaticamente rischia di ricaderci anche chi effettua semplicemente dei download, poiché la
maggior parte di questi programmi prevede dei protocolli che condividono automaticamente i file
durante il download.
Tutto ciò spinge i sistemi P2P più moderni a diventare non rintracciabili e anonimi e ad adoperare
protocolli sempre più complessi , focalizzati sulla decentralizzazione, frammentazione delle
informazioni e sulla crittografia.
13/22
8.2 Programmazione Distribuita - OSIRIS
OSIRIS Serverless Portal System è un programma che permette di creare portali web distribuiti
nella rete P2P, sviluppato concentrandosi sugli aspetti della sicurezza e della decentralizzazione del
sistema.
Tali portali vengono distribuiti tra i peer della rete senza un server centrale così da consentire l'
abbattimento dei costi e le condizioni d'utilizzo imposte dall' hosting. In più i contenuti sono
accessibili senza il bisogno che l'autore sia connesso.
I contenuti vengono a trovarsi quindi nella memoria di ogni host iscritto a un certo portale.
I contenuti possono essere visti in chiaro ed ogni utente è libero di scegliere di non voler ospitare
materiale che non ritiene opportuno.
L'aggettivo "free" che gli viene attribuito può essere visto secondo le sue due accezioni : sia
"gratuito", che"libero" da controlli esterni.
Durante la creazione si può scegliere tra due tipi di moderazione del un portale :
•
Anarchico : la moderazione è data dal voto di reputazione(positiva o negativa) espresso da
ogni utente su un altro utente, condiviso con gli altri iscritti al portale.
•
Monarchico : la moderazione tramite reputazioni è affidata solamente all'amministratore e
ai moderatori da lui reputati positivamente.
Con reputazioni si intende il sistema usato dal programma per generare più punti di vista di un
portale, cioè un filtro su quali contenuti andranno a formarlo.
Mentre solitamente è il server che decide i contenuti da mostrare in base agli account e ai
permessi degli utenti, Osiris usa un metodo differente che associa un certo punto di vista un
utente.
Ogni utente può essere valutato da altri utenti in base al suo contributo e il sistema elabora le
valutazioni per modificare i contenuti.
La rete di gestione si forma importando le valutazioni degli utenti valutati positivamente ed
eliminando i contenuti degli utenti valutati negativamente.
Questi dati vengono elaborati su ogni host, e il processo di creazione del punto di vista viene
chiamato stabilizzazione del portale.
I portali creati con OSIRIS non possono essere cercati con motori di ricerca o metodi simili, ma
vengono condivisi con un apposito link disponibile dalla creazione del portale stesso formato da
una serie di caratteri hash oppure può essere condiviso sotto forma di file in una rete di filesharing.
L'anonimato viene garantito dal fatto che anche se gli indirizzi IP e messaggi sono visibili a tutti,
non sono associabili univocamente un utente, poiché non esiste una distinzione tra chi pubblica e
chi distribuisce i contenuti.
14/22
Sicurezza In OSIRIS
•
•
•
•
•
Il sistema è anonimo poiché non è possibile risalire ai creatori dei contenuti.
L'autenticità dei contenuti è garantita da firme digitali e la riservatezza dei messaggi
criptati tra mittente e destinatario.
Le connessioni per l' allineamento, il trasferimento dei dati del portale, avviene su porte
casuali che vengono offuscate durante la fase di connessione e sono criptate punto-punto
per evitare che gli ISP possano intercettare il traffico.
I contenuti vengono duplicati per essere disponibili anche in caso di guasti o non
raggiungibilità di alcuni nodi.
Ai contenuti che sono salvati in locale si può accedere senza connessione Internet.
8.3 Comunicazione – Chat
Il codice allegato rappresenta un esempio di chat P2P che non utilizza il server come intermediario
per la comunicazione, infatti i messaggi sono recapitati direttamente all'host desiderato tramite
collegamenti in UDP, cioè non conservanti informazioni sulla connessione.
Il programma è stato scritto in java con gli oggetti grafici facenti parte della classe swing.
Per rintracciare gli utenti, visto che vengono utilizzati gli IP secondo il protocollo UDP, è stato
necessario creare un server che tiene traccia degli utenti online ricevendo dei messaggi di richiesta
connessione e di richiesta chiusura di connessione dagli stessi.
Ciò non interferisce con l'architettura P2P che rimane tale perché il server serve esclusivamente a
conoscere gli IP degli utenti online e ad altri servizi marginali, ma la comunicazione avviene
effettivamente senza intermediario.
9. Sicurezza Nel P2P
Nei sistemi P2P non c'è nessun intermediario che controlla i dati trasmessi da un host all'altro,
quindi specialmente quando si tratta ti trasferimenti di file, bisogna fare attenzione a ciò che si sta
ricevendo.
Essendo spesso necessario condividere dati, significa che chiunque può accedervi e ha libero
accesso su una porta aperta e i peer restano aperti a connessioni che potrebbero rivelarsi dannose.
E' necessario quindi proteggersi con antivirus, programmi di pulizia e firewall, cercando di evitare
di scaricare file sospetti.
Soprattutto bisogna evitare di condividere porzioni di memoria dove sono presenti dati che
riguardano informazioni personali e private.
In più si aggiunge che la privacy è minata dal fatto che diverse entità esterne, come i provider,
possano sapere ciò che stiamo facendo nella rete.
15/22
10. Anonimiato
Navigare restando anonimi significa che il nostro IP in uscita da internet è diverso da quello vero e
diverso ad ogni connessione.
Ci sono diversi modi per restare anonimi e può servire per non lasciare tracce di visita sui siti, per
usare servizi online oscurati o limitati, gratuitamente e senza dover fare abbonamenti, per visitare
siti che sono bloccati da proxy aziendali, che sono utilizzabili in modo limitato per singolo IP, per
usare servizi di paesi esteri riservati solo in alcuni territori e, cosa più importante, per mantenere la
privacy.
Di seguito sono elencati alcuni metodi illustrati da alcuni famosi siti internet per rendersi anonimi
in rete:
1. Il software migliore è il progetto TOR(The Onion Router). Con TOR si può cambiare identità
virtuale su internet ogni volta che lo si desidera .
2. AnonymoX è un'estensione per Firefox che basta installare sul browser per navigare con IP
straniero. Esso inoltre identifica gli IP Stealth che i siti web non riconoscono come generati
da proxy permettendo quindi di navigare su siti con restrizioni geografiche e non disponibili
in Italia come Hulu.com.
3. In generale il metodo più semplice per navigare anonimi è cercare su google una lista di
proxy aggiornata e impostarlo sul proprio browser (per IE Strumenti-->Opzioni->Connessioni-->Impostazioni LAN).
4. SafeIP serve a proteggere l'identità su internet e nascondere l'indirizzo IP reale per navigare
sul web in forma anonima. Gli utenti possono scegliere la posizione geografica dell'IP falso
velocemente, utile per poter accedere a siti con restrizioni geografiche.
5. Un modo per navigare anonimi con ip straniero diverso da quello di origine sono le VPN. In
un altro articolo sono segnalati i migliori servizi VPN gratuiti per navigare protetti e con
connessione anonima.
6. Un altro metodo per restare anonimi su internet senza quindi essere tracciati o, più
precisamente in questo caso, può essere semplicissimo usando Google o Yahoo. Proprio i
due siti più importanti del mondo, grazie al loro servizio di traduzione dei siti web, sono dei
portali a cui accedere per rimanere anonimi: Con Google: andare su google transalte
segnare il sito che si vuol visitare e scegliere la traduzione da Inglese a Italiano.
16/22
10.1 Per La Riservatezza
Una rete di peer anonimi viene resa possibile grazie all'uso di tecniche di instradamento che
nascondono la locazione reale di ogni nodo partecipante.
La ragione che per prima ha portato allo sviluppo di queste tecniche è stata quella di voler evitare
di essere multati a causa della condivisione di materiale coperto da copyright.
Più recenetemente invece molta gente si sta avvicinando all'anonimato per la volontà di non
essere sorvegliati durante la propria attività in rete.
E' infatti un fenomeno molto attuale quello della violazione della riservatezza navigando in rete.
Stanno iniziando a circolare voci riguardo a possibili supercomputer capaci di prevedere le azioni di
ogni singolo individuo.
Ciò verrebbe reso possibile dall'innumerevole quantità di informazioni che costantemente vengono
fornite daglio utenti sia volontariamente , come accade nei social network, che involontriamente,
tramite l'utilizzo di sofisticati algoritmi come quelli che su Youtube fanno in modo che ci si
presentino pubblicità che ci potrebbero potenzialmente interessare.
Esistono delle teorie che su queste basi sostengono l'esistenza di società che controllando tutte
queste informazioni hanno un potere inimmaginabile e che trattano da pari con stati e organismi
internazionali.
"Le tecnologie anti-sorveglianza aiutano ad uniformare i poteri tra i governi ed i loro popoli, il
quale è la ragione per cui si cerca di proibirle".
[Phil Zimmermann]
I governi sfrutterebbero queste possibilità per aumentare migliorare il grado di sicurezza urbana,
ma quello su cui bisogna riflettere è che ognuno perderebbe la propria riservatezza, che è un'
espressione di libertà.
Secondo il professore di legge Daniel Solove:
"Tutto ciò danneggia la società perché, tra le altre cose, le persone riducono la varietà di punti di
vista che possono esprimere ed il grado di libertà nella partecipazione ad attività politiche".
I sistemi P2P anonimi permettono una comunicazione che tende di più al mondo reale, invece che
al mondo delle comunicazioni virtuali.
Essi permettono infatti che una comunicazione rimanga anonima, se questa si rivela essere la
decisione degli interlocutori e non di una terza parte, senza dover fornire dati che, come spesso
accade, potrebbero essere archiviati.
17/22
10.2 Altri Motivi
I releaser , cioè gli editori , e i leecher, cioè i fruitori, di un certo materiale possono voler non
rendersi reperibili.
Queste decisione può avvenire per motivi personali ma anche perché alcuni paesi ne censurano la
pubblicazione oppure si tratta di materiali coperti da copyright.
Le leggi che tutelano questo tipo di contenuti sono difficili o impossibili da implementare nelle reti
P2P anonime.
Anche i governi si sono interessati alle teconologie P2P anonime, come nel caso della Marina
Militare degli USA che ha supportato il progetto Onion Routing su cui su basa la rete TOR per
proteggere le comunicazioni militari dalle intercettazioni.
L'anonimato viene prediletto anche per far valere il proprio diritto alla libertà di parola in quanto,
se non si fosse anonimi, si potrebbe essere oggetto di minacce o ricatti per aver espresso un punto
di vista impopolare. Informazioni controverse riguardanti enti pubblici che vengono tenute segrete
sono spesso rese pubbliche in questo modo.
Lavorare nell'anonimato è quello che fanno alcuni blogger a cui interessa parlare di un particolare
argomento pericoloso. Chi ha un blog non anonimo e sceglie di informare, rischia causare danni a
sè stesso, ai suoi cari e a chi gli sta attorno.
Inoltre questo sistema può essere utile al commercio con denaro anonimo, ovvero dove le attività
di una banca sono atte a mantenere il segreto bancario.
Con tali pratiche, su internet, potrebbe divenire possibile la realizzazione di mercati anonimi nel
quale una persona può comprare o vendere beni segretamente.
Nella rete TOR si è arrivati ad usare una moneta virtuale chiamata BitCoin con la quale si possono
ingaggiare assassini per omicidi su commissione.
10.3 Funzionamento Del P2P Anonimo
Esistono due tipi di rete definite P2P Anonime e sono:
•
•
Anonime: Sono anonime perché nessun nodo possiede un identificatore.
Pesudonime: I nodi, invece di essere identificati dal proprio indirizzo IP, sono identificati da
uno pseudonimo, come una chiave crittografata.
•
In entrambi i casi viene usato il termine anonimo perché comunque risulta difficile, se non
impossibile, determinare non solo chi ha inviato il messaggio, ma anche quando e se tale
messaggio è stato originato o solo inoltrato da un certo utente.
Ogni nodo si comporta infatti come mittente e destinatario universale, così che chi è il reale
destinatario si confonde tra tutti.
Queste reti sono però molto suscettibili agli attacchi DoS (Denial of Service) a causa della ridotta
banda. In più se solitamente si usano delle blacklist per bloccare gli spam , nelle reti anonime, visto
che non è possibile risalire all'ideatore dell'attacco, bisogna implementare soluzioni differenti.
18/22
11. NETSUKUKU
Netsukuku è un prototipo di rete ideato da Andrea Lo Pumo di FreakNet per costruire una rete
non necessariamente separata da internet e completamente P2P, anonima , senza il supporto di
alcuna autorità centrale con ISP o server.
«Netsukuku non vuol dire niente, in realtà: è la storpiatura della parola giapponese che significa
rete. Mi è piaciuta perché quando l'ho cercata non esisteva su Google: il suo potente motore non
riusciva a trovare neppure una pagina con quella parola.»
[Andrea Lo Pumo]
Questa rete essendo totalmente decentralizzata non può essere controllata o distrutta.
Senza ISP che di solito offrono connettività e servizio sotto pagamento, la connessione risulterebbe
gratuita e accessibile a tutti, ovunque e in qualsiasi momento.
Anche il metodo DNS prevede un sistema di guadagni (come la vendita dei domini) quindi è stato
deciso di sostituirlo con l'architettura ANDNA (A Netsukuku Domain Name Archietecture) , per
gestire gli indirizzi in modo distribuito e decentralizzato.
L'anonimato è fondamentale per questo tipo rete e si realizza facendo si che il tracciamento dei
nodi risulti essere di estrema difficoltà, essendo le rotte formate da innumerevoli nodi e gli IP
generati casualmente, anche se sempre in modo univoco.
Ogni nodo svolge la funzione di router e ,dovendo memorizzare le rotte minimizzando il consumo
della potenza di calcolo, utilizzando degli algoritmi che coinvolgono lo studio delle teorie del caos e
dei frattali. In tal modo si riesce a mantenere la mappatura dell'intera rete sotto i 2 kB.
Un frattale è una struttura matematica composta da parti uguali a sé stessa,
che per questo si può comprimere all'infinito.
Utilizzare i normali protocolli risulterebbe impossibile perché il peso dell'elaborazione dei dati è
scaricato tutto sugli host e si è stimato che sarebbe necessario che ognuno di essi dovrebbe avere
circa 100 GB per memorizzare la mappatura della rete.
E' stato allora ideato il protocollo di rete Npv7 HT per il routing dinamico, il quale utilizza un
algoritmo chiamato QSPN (Quantum Shortest Path Netsukuku) che calcola i percorsi che collegano i
19/22
nodi considerando la rete come un frattale, permettendo quindi una compressione infinitesimale e
sfruttando le teorie del caos e la casualità per ridurre le quantità di calcoli da eseguire.
Quando si collegano nuovi nodi la rete si assesta automaticamente e tutti i nodi vengono a
conoscenza dei percorsi più efficienti per comunicare con i nuovi aggiunti.
Come in ogni sistema P2P ideale, i nodi sono tutti considerati dei pari e contribuiscono in egual
modo all'efficienza della rete, aumentando le prestazioni in maniera direttamente proporzionale al
numero di host connessi.
Un possibile altro utilizzo di Netsukuku è stato ipotizzato essere quello di creare una rete di
cellulari priva di gestori telefonici, visto che le risorse necessarie ai calcoli sono molto ridotte e
quindi accessibili ai dispositivi mobili odierni.
Questo sistema non è ancora stato rilasciato nella sua versione definitiva, ma è disponibile solo in
versione beta open source con alcuni pesanti difetti e la sua efficacia non è ancora stata testata su
larga scala.
Il limite principale è l'inadeguatezza delle tecnologie correnti non adatte a velocità trasmissive
troppo elevate e al collegamento di numerosi nodi.
20/22
11.1 ANDNA
L'architettura ANDNA prevede un database situato su ciascun nodo della rete di occupazione
massima uguale a 355KByte dove sono contenute le associazioni con gli indirizzi e i nomi di
dominio associati.
Il protocollo gestisce le autenticazioni degli host per autorizzare gli accessi ai database tramite un
sistema a chiavi pubbliche/private.
Per registrare un indirizzo, il nodo che richiede la registrazione calcola l'hash del nome, cioè applica
una funzione che ricevuta in input una stringa di lunghezza variabile ne da una in output di
lunghezza predefinita, in questo caso riceve un indirizzo associato a un altro nodo della rete, che è
quello da contattare per richiedere la registrazione dell'hash all'indirizzo del richiedente. Infine il
nodo contattato memorizza la richiesta nel database e a ogni richiesta di risoluzione dell'hash
calcolato sull'indirizzo di partenza, risponderà con l'indirizzo del nodo richiedente.
Per risolvere un nome di dominio, invece, l'host applica una funzione hash che restituisce un
indirizzo che l'host contatta chiedendo di risolvere. Il nodo contattato ricerca nel database
l'indirizzo associato al nome e lo restituirà come risposta.
Nello schema illustrato da Wikipedia viene illustrato un esempio di richiesta di registrazione
dell'indirizzo "FreakNet.andna" da parte del Nodo X.
21/22
12. Fonti
Sitografia:
Wikipedia.it
navigaweb.net
osiris-sps.org
freaknet.org
stackoverflow.com
saggiamente.com
Bibliografia:
Reti di calcolatori e Internet Vol I e II- Alessandra Peroni
Totally Connected - Carla Matassi, Marzia Menchetti
22/22