Onion routing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 131.175.147.2 (discussione), riportata alla versione precedente di Avemundi
Etichetta: Rollback
m Corretto il collegamento Nodo (disambigua) con Nodo (telecomunicazioni) (DisamAssist)
 
(2 versioni intermedie di 2 utenti non mostrate)
Riga 1:
{{F|crittografia|arg2=sicurezza informatica|agosto 2016|}}
'''Onion routing''' è una tecnica di [[anonimizzazione]] delle comunicazioni in una [[rete di telecomunicazioni]]. In una rete onion, i messaggi sono [[incapsulamento|incapsulati]] in "strati" di [[crittografia]] che vengono paragonati agli strati di una [[cipolla]], dato l'incapsulamento. Il dato criptato viene trasmesso attraverso una serie di [[Nodo (informaticatelecomunicazioni)|nodi]], chiamati ''onion router'', ognuno dei quali "sbuccia" via un singolo strato di crittografia, scoprendo così il prossimo nodo di destinazione del dato.
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]] online degli Stati Uniti online. È stato ulteriormente sviluppato dal [[DARPA]] (Defense Advanced Research Projects Agency) e brevettato dalla Marina degli Stati Uniti nel 1998.
 
Gli informatici [[Roger Dingledine]] e Nick Mathewson si incontrarono a Syverson nel 2002 per sviluppare quella che sarebbe diventata la più grande e nota implementazione dell'onion routing: The Onion Router o, in forma abbreviata, [[Tor (software)|TOR]].
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 ===
InNell'esempio questoin esempiofigura il nodo origine invia una onion al [[router]] A, ovvero un dato coperto da diversi strati di [[crittografia]], ilal [[router]] A, il quale 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 Be 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.
 
[[File:Onion_diagram.svg|thumb|In questo esempio, il mittente (Source) manda i dati al Router A, il quale rimuove lo strato di crittografia (strato blu) al fine di scoprire verso quale Router deve spedire il dato (N.B. il Router A non sa se chi gli ha inviato il dato onion è un Router mittente o un Router intermediario). Il Router A invia il dato “sbucciato” di uno strato al Router B, il quale decripta il suo strato (strato verde) e invia il dato privato di un’altra “buccia” al Router C. Quest’ultimo rimuove lo strato di crittografia finale (strato rosso) e trasmette il dato originale al server di destinazione finale (Destination).]]
 
Un dato onion è quindi una [[struttura dati]] formata da un messaggio che è stato "avvolto" da strati di crittografia, uno successivo all'altro, questi stratiche saranno decifrati (ovvero "sbucciati") da tanti nodi intermediari quanti sono gli strati di crittografia, prima di arrivare al nodo destinazione.
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 catenacui 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.
 
Si ipotizzi che Alice sia il [[PC]], con [[Tor (software)|Tor browser]] installato, la qualeche vuole mandare un messaggio utilizzando il protocollo Onion.
Il computer di Alice deve ovviamente avere una [[scheda di rete]] installata, un [[sistema operativo]] (non importa quale sia il tipo) e un [[browser]].
 
Quindi si supponga che il server di Destinazione attraverso il quale Alice sta tentando di accedere sia un semplice [[server web|web server]] senza [[Virtual Private Network|VPN]], [[proxy]], e senza nessuna infrastruttura di tipo Tor all'interno di esso;
 
Come si può notare, con una configurazione del genere, chiunque stia tentando di [[Sniffing|ascoltare il traffico]] in uscita dal computer di Alice può sapere a quale server Alice sta facendo la richiesta, chi ha fatto la richiesta, e a chi è rivolta la richiesta. Per questo motivo, al fine di nascondere il mittente della request (Alice), viene installato su Alice un [[Tor (software)|Tor browser]], o alternativamente un Tor [[proxy]] da agganciare al browser di Alice (per fare questo esistono diversi tool in rete).[[File:Tor-logo-2011-flat.svg|thumb|Il logo di Tor]]
 
Una delle caratteristiche del browser Tor è che, attraverso il suo utilizzo, si garantisce all'utente il completo anonimato. Ovviamente se l'utente comincia ad effettuare pagamenti su internet utilizzando la propria carta di credito, o se utilizza i propri dati personali (es. carta d'identità, patente di guida, [[codice fiscale]] etc.), il grado di anonimato si riduce drasticamente, allo stesso modo se ci si registra in qualche sito internet con le proprie [[Account|credenziali]].
 
Per prima cosa Alice, che è il nodo mittente, attraverso Tor browser, contatta i nodi Tor chiamati nodi di Directory. Questi nodi di Directory non sono altro che server ridondanti e di fiducia messi a punto da chi ha progettato il protocollo Onion, i quali forniscono la lista di tutti i nodi Tor presenti in rete.
Il browser Tor di Alice farà il [[download]] di questa informazione al fine di costruire una catena di nodi o circuito.
Di default Tor browser sceglie randomin modo casuale 3 nodi per costruire il circuito.
 
Nella terminologia di Tor, i nodi prendono un particolare nome a seconda della loro posizione nel circuito: il primo nodo si chiama Guard Node (nodo di guardia) o Entry Node (nodo di ingresso), il secondo Middleman Node (nodo intermediario) e il terzo Exit Node (nodo di uscita).
Si faccia attenzione poiché l'Entry Node, non è il nodo mittente (Alice), ma è il nodo immediatamente successivo, allo stesso modo l'Exit Node, non è il server di destinazione della request di Alice, ma è il nodo immediatamente precedente a tale server.
La scelta dei nodi di una catena viene effettuata dal browser Tor di Alice in base alle informazioni ricevute dal directory server: ogni nodo Tor quando si registra presso le directory invia il proprio indirizzo IP e una serie di caratteristiche.
Gli Exit Nodes sono i più importanti: i dati che escono da questi nodi potrebbero non essere protetti da crittografia (se ad esempio Alice non ha effettuato una chiamata in [[HTTPS]], o protetta da [[Transport Layer Security|SSL/TLS]], ma ha usato [[HTTP]], le info dall'Exit Node al server di destinazione viaggiano in chiaro).
Parimenti, i Guard Nodes vincono questo status quando hanno servito la rete Tor per un lungo periodo: sono nodi fidati a cui possiamo affidare il primo passo per entrare nella rete.
Tutti i rimanenti nodi sono considerati nodi intermediari. Il perché di queste scelte e di questa classificazione si può spiegare brevemente dicendoè che sonosolo il primo e l'ultimo nodo della catena rappresentano i punti deboli attraverso cui è possibile attaccare il protocollo.<ref name="carella"/>
[[File:Wat_is_Tor_(The_onion_routing)%3F.png|thumb]]