@cozzaro
edit: ho editato il mio scorso post
se volgiono possono farlo.
Se invece usi Tor diventa per loro più difficile da fare.
Devi capire che la rete Internet, nel tratto fra te e il tuo ISP è praticamente uguale, sotto questo aspetto, ad una rete LAN.
Se usi software tipo tcpdump o wireshark puoi tranquillamente vedere (sniffare) il traffico della tua rete locale (ad esempio quello di altri computer collegati al tuo router/acces-point).
La criptografia di Tor (criptografia a cipolla) invece funziona così:
TU = tuo IP
IN= entry node alla rete Tor
RELAY= nodo intermediario alla rete Tor
EXIT = exit node della rete Tor
SITO = sito a cui vuoi collegarti
1)Tor si inventa un circuito, scegliendo fra i vari nodi di IN/RELAY/EXIT disponibili e ne recupera le chiavi pubbliche di cifratura consultando un server centrale.
2)Tor impacchetta il traffico destinato a EXIT (ad esempio la richiesta che EXIT dovrà fare a SITO. Inoltre includerà la chiave pubblica di TU in modo che il client Tor possa decriptare la risposta).
3)dopodichè cripterà il pacchetto usando la chiave pubblica di EXIT. In questo modo solo EXIT potrà decriptare il messaggio.
4)Tor cripta di nuovo il messaggio criptato per EXIT (ottenuto al punto 3 ) usando la chiave pubblica di RELAY. In questo modo solo RELAY potrà decritarlo e sapere che il messaggio va mandato a EXIT. Non potrà però, ovviamente, decriptare il contenuto del messaggio destinato a EXIT.
5)Tor cripta quello che ha ottenuto dal punto 4 usando la chiave pubblica di IN, in modo che solo IN possa decriptarlo. Ovviamente, anche qui, IN potrà solo fare una decriptatura (usando la sua chiave privata) per sapere a chi mandare il messaggio (cioè a RELAY), ma ovviamente non potrà nè decifrare il messaggio destinato a RELAY nè quello destinato a EXIT.
6)Tor invia il messaggio a IN.
7)man mano il messaggio viene decriptato di ogni strato, passando per IN , poi arrivando a RELAY, e infine a EXIT.
8)EXIT fa la richiesta a SITO, per conto di TU. Questo passaggio avviene in chiaro.
9)SITO risponde a EXIT, sempre in chiaro.
10)EXIT cripta il messaggio usando la chiave di TU, poi cripta ciò che ha ottenuto usando la chiave di IN, e poi lo ri-cripta usando la chiave di RELAY
11)EXIT invia il messaggio a RELAY
12)RELAY lo decripta e trova un messaggio criptato destinato a IN.
13)RELAY invia il messaggio a IN
14)IN lo decripta e lo invia a TU
15)TU riceve il messaggio da IN e lo decripta a sua volta (usando la sua chiave privata)
16)TU ha quindi ottenuto il messaggio di risposta, in chiaro.
Non ho riscritto "cripta usando la chieve pubblica di ..."
perchè è ovvio che perchè il messaggio sia decriptabile solo da un nodo preciso, si deve usare la chiave pubblica di quel nodo.
La trasmissione della risposta (dal punto 10 in poi), come si vede , non è altro che il processo inverso della trasmissione della richiesta fatta in precedenza.
ad esempio: nel punto 12 e 14 i nodi decriptano usando le proprie chiavi pubbliche.
per altre info puoi cercare in rete criptografia a chiave pubblica ...
--------------
Come avrai capito, si chiama "criptografia a cipolla" perchè a ogni passaggio si aggiunge uno "strato" criptando un messaggio già criptato (o viceversa si "sbuccia" uno strato "decriptando via" uno strato)
![]()