• Non ci sono risultati.

The Onion Router

N/A
N/A
Protected

Academic year: 2021

Condividi "The Onion Router"

Copied!
19
0
0

Testo completo

(1)
(2)

The Onio n

Rout er

The Onio n

Rout er

Francesca Rosset Davide Toniolo

Stefano Dus

(3)

Servizio di comunicazione anonima a bassa latenza per applicazioni TCP basato su circuiti virtuali.

Offre:

Anonimato Servizi nascost

Tor - The Onion Router

(4)

inizia lo sviluppo dell’Onion Routing da parte della US Naval Research Laboratory

rilasciata la prima versione di Tor (Second Generation Onion Routing)

rilasciato sotto licenza open source

fondato Tor Project

Anni 90

2002

2004

2006

Un po’ di Storia

(5)

Client Tor

Directory server

Relay

Relay

Bridge Relay

Relay

La rete Tor

Rete Tor

Rete Internet Client di

Internet

(6)

Funzionamento Generale

Client

Middle relay Entry relay

Exit relay

HTTP link

TLS Encrypted Link Unencrypted Link Onion Proxy

Onion Router Symmetric Key

Server Directory server

1

Consensus

2

3

Con informazioni su: relay, chiavi pubbliche, exit policies

Creazione del circuito

Connessione

al servizio

Rete Tor

(7)

Funzionamento Generale

Client Entry relay Middle relay Exit relay

Server

TLS Encrypted Link Unencrypted Link Onion Proxy

Onion Router Symmetric Key OP crittografa il messaggio

più volte e lo spedisce

1

OP decrittografa più volte per ottenere la risposta

5

Ogni OR decrittografa con la sua chiave simmetrica

2

Ogni OR crittografa con la sua chiave simmetrica

4 Server riceve il messaggio e

invia la risposta

3

(8)

160bit SHA-1:

controllo messaggi 128bit AES:

dati

1024bit RSA:

instaurazione circuito Diffie-Hellman:

negoziazione chiave

Cifratura TLS:

connessioni

Crittografia

(9)

Comunicazione tramite celle di dimensione fissa di 512 byte imbustate in pacchetti TLS COMMAND CELL:

RELAY CELL:

HEADER PAYLOAD

Celle

CircID 2byte

Data 509byte CMD

1byte

RELAY HEADER RELAY PAYLOAD

Len 2byte Digest

6byte

Stream ID 2byte

Relay 1byte

Data 489byte CMD

1byte CircID

2byte

HEADER

In un circuito ci possono essere più

flussi TCP

Controllo integrità end-to-end

Lunghezza del relay payload

DATA BEGIN

END CONNECTED EXTEND / EXTENDED … PADDING

CREATE / CREATED DESTROY In una connessione

possono passare più circuiti

(10)

Cifrato con k1 (AES)

k1,k2

Chiavi simmetriche

Instaurazione Del Circuito

Onion

Proxy Onion

Router 1

Onion Router 2

Create

C1 RSA(gx1 ,OR1key)

C1 Relay OR2,RSA(gx2 ,OR2key) Extend

C2 Created gy2 ,H(k2) RSA(gx2 ,OR2key)

C2 Create

C1 Created gy1 ,H(k1)

Extended gy2 ,H(k2)

C1 Relay

(11)

Onion Proxy

Onion Router 1

Onion Router 2

Web site

Esempio: Connessione TCP

C2 Relay Connected

Connected C1 Relay

<website>:80

C1 Relay Begin

C2 Relay Begin <website>:80

«HTTP GET…»

C1 Relay Data

C2 Relay Data «HTTP GET…»

«HTTP GET…»

(risposta)

TCP handshake TCP handshake

Cifrato con k1 (AES)

Cifrato con k2 (AES)

(12)

Hidden Services

xyz = prima metà di hash(service public key)

Usano Tor per non essere rintracciabili:

l’indirizzo IP è nascosto

Raggiungibili solo da rete Tor con un indirizzo xyz.onion non risolvibile in IP

Il client che vi accede rimane

anonimo

(13)

Hidden Service XYZ.onion

Setup Servizio

Distributed Hash Table

XYZ IPs PK

… …

Tor Network

Introduction Point 1

Introduction Point 2

Introduction Point 3 Tor Circuit (2 hops)

Tor Circuit (3 hops) IPs Introduction Points PK Service Public Key RV Rendezvous Point

S One-time Secret

PK

PK PK

1

IPs PK

Signed Hidden Service

Description

2

PK

PK

PK

PKIPs

(14)

Client

Hidden Service XYZ.onion

Accesso al Servizio

Rendezvous Point

Distributed Hash Table

XYZ IPs PK

… …

1

2

Tor Network

3

Introduction Point 1

Introduction Point 2

Introduction Point 3

OP

XYZ.onion ?

IPs PK

encrypted to PK

RV S

4

encrypted to PK

RV S

5

S

6 7

notifica

S

Tor Circuit (2 hops) Tor Circuit (3 hops) IPs Introduction Points PK Service Public Key RV Rendezvous Point

S One-time Secret

PK S

IPs RV

S

PKIPs

PK

PK

PK

PK S

IPs RV

(15)

Fattori Che Influenzano La Velocità Della Rete

La connessione non è diretta, ma passa attraverso più nodi

Il circuito passa per relay localizzati in parti diverse

del mondo

Relay gestiti da volontari:

capacità e banda offerta variabile

Molti utenti rispetto ai nodi che compongono la

rete Tor

Uso improprio della rete aumenta il carico

(se usato per fare attacchi dDOS, P2P,...)

Crittografia

(16)

• Gli indirizzi IP di relay, che sono pubblici, sono bloccati

Filtraggio IP

• Relay non noti pubblicamente: un numero limitato di indirizzi è

ottenibile su richiesta

BRIDGE • Riconosciuto il traffico Tor e bloccato

Deep Packet Inspection

• Trasformano il traffico Tor tra client e bridge in modo che risulti difficile rilevarlo

PLUGGABLE TRANSPORTS

Blocco Accesso a Tor

Soluzione Soluzione

Allora

(17)

Exit node può vedere il contenuto dei messaggi

inviati dal client

• Usare protocolli sicuri e criptati (es. HTTPS)

Richieste DNS fatte con pacchetti UDP

(no tramite Tor)

• Usare protocollo SOCKS4a:

lavora con hostname

• Usare «Filtering http proxy» (es.

Privoxy): richieste DNS tramite rete Tor

Contenuti Java, Javascript, Flash, … sono eseguiti in

macchine virtuali e possono bypassare Tor

• Disabilitare quei contenuti

Il traffico risulta provenire dall’exit node, che può

avere problemi legali

• Exit policies

Non vengono nascosti i contenuti trasmessi al server (dati di login, …)

• Evitare di trasmettere

informazioni che permettano di risalire alla propria identità

Viene usato per fare attacchi informatici e non

essere rintracciabili

• Il traffico SMTP viene bloccato di default per evitare lo SPAM

• Alcuni siti bloccano l’accesso da Tor

I circuiti devono passare per nodi fidati

• Guard Entry Node

• Consensus

• Credenziali dei directory server scritte nel codice

Aspetti Critici e Contromisure

(18)

Correlazione temporale

• Porre più client dietro ad un router/firewall così da farli sembrare uno solo

• Evitare di scegliere nodo di entrata e nodo di uscita nella stessa sottorete

Correlazione sulla dimensione dei pacchetti

• Utilizzare campo Padding (non utilizzato per garantire

performance migliori)

• Nodi accorpano più flussi di informazioni nei circuiti

Compromissione delle chiavi

• Rapida rotazione delle chiavi TLS

Destroy directory server

• Se più della metà cade diventa necessario l’intervento

manuale dell’operatore

Compromissione directory server e Tricking

• Tor deve garantire sia

l’indipendenza sia la resistenza agli attacchi

• Definizione di una blacklist manuale

• Consensus

Non difende da avversari globali

Flooding verso i rendezvous point

• Token di autorizzazzione delle richieste

• Limitazione dei rate di richieste

Attacchi e Difese

(19)

Fonti

• www.torproject.org

• https://www.wikipedia.org/

• https://www.youtube.com/watch?v=uU2NoCGQBHc

Fonti

Riferimenti

Documenti correlati

Si ottiene componendo un’asola di nodo bulino semplice sul ramo di corda che fa ingresso nell’imbracatura, ripassando il capo di corda in uscita dall’imbracatura dapprima

8) Il “Nodo delle Guide Semplice”, quando si recuperano le corde dopo una discesa in corda doppia ed il nodo entra in tensione, ha la tendenza a ‘galleggiare’ sopra le roccie

 Per leggere dati da un file presente sul disco, Per leggere dati da un file presente sul disco, occorre dapprima costruire un oggetto di tipo occorre dapprima costruire un

z backup fisico: l'interfaccia di backup (ISDN) è logicamente collegata alle sorti di un'altra interfaccia fisica (ad esempio una seriale) ed entra in azione immediatamente non

La richiesta fatta dal client viene fatta all'indirizzo broadcast, poichè l'indirizzo IP del server è sconosciuto, la richiesta avrà quindi come mittente 0.0.0.0 (poichè l'IP non

La configurazione tramite la CLI di un router Cisco è sempre fatta nella modalità global configuration mode Altre modalità di configurazione (non globali) sono. accessibili a

Devono cioè essere ben chiare non solo le caratteristiche reologiche e fisco meccaniche del calcestruzzo oggetto della fornitura, ma anche altre proprietà che meglio identificano

Le più importanti cooperative di energia rinnovabile in Europa (per esempio la coop. belga Ecopower), che rappresentano un modello ed uno stimolo per le cooperative energetiche