Onion routing: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica Etichette: Modifica da mobile Modifica da web per mobile |
Nessun oggetto della modifica |
||
Riga 3:
Il mittente rimane anonimo perché ciascun intermediario conosce solo la posizione del nodo immediatamente precedente e di quello immediatamente successivo.
== Descrizione ==
=== Sviluppo e implementazione ===
L'Onion routing è stato sviluppato a metà degli anni ‘90 presso il Laboratorio di Ricerca Navale degli Stati Uniti ([[U.S. Naval Research Laboratory]]), da parte di [[Paul Syverson]], [[Michael G. Reed]] e [[David Goldschlag]], per proteggere l'[[United States Intelligence Community|intelligence]] degli Stati Uniti online. È stato ulteriormente sviluppato dal [[DARPA]] (Defense Advanced Research Projects Agency) e brevettato dalla Marina degli Stati Uniti nel 1998.
Riga 9 ⟶ 10:
Il Laboratorio Di Ricerca Navale degli Stati Uniti rilasciò il codice sorgente di TOR con licenza gratuita mentre Dingledine, Mathewson e altri cinque sviluppatori fondarono nel 2006 l'organizzazione no-profit chiamata "The Tor Project", con il sostegno finanziario della [[Electronic Frontier Foundation]] e altre diverse organizzazioni.
=== Struttura e dati ===
In questo esempio il nodo origine invia una onion al [[router]] A, ovvero un dato coperto da diversi strati di [[crittografia]], il router A rimuove uno strato di crittografia e scopre in questo modo qual è il nodo successivo a cui deve essere inviato il dato, e da quale nodo proveniva la cipolla. Il router A così invia la cipolla, privata di uno strato, al router B, il quale decripta (cioè "sbuccia") un altro strato di crittografia, quindi il router B a sua volta invia la cipolla, privata di un secondo strato, al router C. Il router C rimuove lo strato di crittografia finale e trasmette quindi il dato al nodo destinatario.
Riga 17 ⟶ 18:
Il messaggio originale rimane evidentemente nascosto per tutto il tragitto che fa attraverso i nodi intermediari, nessun nodo intermediario è a conoscenza né del nodo sorgente né del nodo destinazione. Ciò permette quindi al nodo mittente di rimanere anonimo.<ref name="carella">{{Cita web|url=http://carminecarella.altervista.org/material/sicurezza/report.pdf|titolo=TOR Una tecnologia per la comunicazione riservata e anonima in rete|accesso=luglio 2016|urlarchivio=https://web.archive.org/web/20160915142636/http://carminecarella.altervista.org/material/sicurezza/report.pdf|dataarchivio=15 settembre 2016|urlmorto=sì}}</ref><ref>{{Cita web|url=https://www.onion-router.net/Publications/tor-design.pdf |titolo=Tor: The Second-Generation Onion Router |accesso=26 febbraio 2011}}</ref>
==Funzionamento generale
Per creare e trasmettere un dato cipolla, il nodo mittente seleziona un insieme di nodi intermediari da una lista nodi che gli viene fornita da un nodo "Directory". I nodi intermediari selezionati, sono quindi disposti lungo un percorso, chiamato catena ("chain") o circuito ("circuit"), attraverso questa catena viene trasmesso il dato cipolla. Per conservare l'anonimato del nodo mittente, nessun nodo del circuito è in grado di dire se il nodo a lui precedente è anch'esso un nodo intermediario o se si tratta proprio del nodo mittente.
Analogamente, nessun nodo del circuito è in grado di dire attraverso quanti nodi il dato cipolla passerà prima di arrivare al nodo destinazione, chiamato anche Exit Node (nodo di uscita), inoltre nessun nodo del circuito è in grado di sapere quale posizione della catena occupa.
Riga 49 ⟶ 50:
[[File:Tor-onion-network.png|thumb]]
==Funzionamento in particolare
Ogni nodo che compone la rete prende il nome di ONION ROUTER (OR) mentre ogni [[Host]] che usufruisce di tale rete per veicolare anonimamente le proprie comunicazioni su internet prende il nome di ONION PROXY (OP). Riferendosi all'esempio precedente OP è Alice.
Riga 124 ⟶ 125:
Se la connessione TCP va a buon fine il nodo OR di uscita invia una cella RELAY_CONNECTED al client OP che lo informa dell'avvenuta connessione.<ref name="carella"/>
==Passi di funzionamento del protocollo
[[File:Passi di funzionamento.png|thumb]]
Riga 165 ⟶ 166:
Una volta che la connessione TCP viene stabilita i dati vengono veicolati sul circuito virtuale attraverso celle RELAY cifrate da OP con K1 e K2 e contenenti DATA con il tipo di richiesta (p.e. HTTP GET...).
==Debolezze del protocollo
===Timing analysis===
|