Le reti Tor e analoghe anonime funzionano riducendo o eliminando la correlazione tra l'indirizzo del richiedente, l'indirizzo del server e il contenuto. Quindi, nel caso di Tor, almeno, viene creata una catena di nodi crittografata in modo tale che ciascun nodo possa decodificare solo uno strato di crittografia.
- Il primo nodo conosce l'IP sorgente e il secondo nodo IP.
- Il secondo nodo conosce il primo IP del nodo e il terzo nodo (exit node) IP.
- Il terzo nodo (nodo di uscita) conosce il secondo nodo IP, l'IP del server di destinazione, e il contenuto .
- Il server di destinazione conosce il nodo di uscita IP e il contenuto.
Ci sono due modi per mitigare il problema del contenuto in chiaro. Il primo è fornire un server che funzioni interamente all'interno della rete, che in Tor è un servizio nascosto. Ciò consente al server di destinazione di essere anche un nodo Tor, in modo che tutto il contenuto sia crittografato durante il trasporto. Questo rende anche più difficili gli attacchi di correlazione delle rotte, dal momento che i nodi della catena non possono sapere se stanno parlando con un altro nodo proxy o con il vero bersaglio.
La seconda opzione è quella di utilizzare HTTPS sul server, in modo che tutto il traffico tra il nodo di uscita e il server di destinazione sia crittografato. Ciò fornisce sicurezza del contenuto simile alla normale navigazione sul Web, con i vantaggi di anonimato aggiunti. Lo svantaggio di questa tecnica è che un nodo di uscita compromesso potrebbe utilizzare uno strumento come sslstrip
o sslsniff
per man-in-the-middle della connessione e interferire con il contenuto. Ci sono molti modi per proteggersi da questo, ma uno dei migliori è usare HSTS insieme a un certificato SSL rilasciato dalla CA invece di uno autofirmato.