Tor utilitza una varietat de claus diferents, amb tres objectius en ment: 1) xifratge per garantir la privadesa de les dades dins de la xarxa Tor, 2) autenticació perquè els clients sàpiguen que estan parlant amb els repetidors amb els quals volen parlar i 3) signatures per assegurar-se que tots els clients coneixen el mateix conjunt de repetidors.

Xifratge: primer, totes les connexions a Tor utilitzen el xifratge d'enllaç TLS, de manera que els observadors no poden mirar dins per veure a quin circuit està destinada una cèl·lula determinada. A més, el client de Tor estableix una clau de xifratge efímera amb cada repetidor del circuit; aquestes capes addicionals de xifratge signifiquen que només el repetidor de sortida pot llegir les cel·les. Ambdues parts descarten la clau del circuit quan el circuit s'acaba, de manera que registrar el trànsit i després entrar al repetidor per descobrir que la clau no funcionarà.

Autenticació: cada repetidor de Tor té una clau de desxifrat pública anomenada "clau onion". Cada repetidor fa girar la seva clau onion cada quatre setmanes. Quan el client de Tor estableix circuits, a cada pas demana que el repetidor de Tor demostri el coneixement de la seva clau onion. D'aquesta manera, el primer node del camí no només pot falsejar la resta del camí. Com que el client de Tor tria el camí, pot assegurar-se d'obtenir la propietat de "confiança distribuïda" de Tor: cap repetidors de la ruta pot saber tant el client com el que està fent.

Coordinació: com saben els clients què són els repetidors i com saben que tenen les claus adequades per a ells? Cada repetidor té una clau de signatura pública a llarg termini anomenada "clau d'identitat". Cada autoritat del directori té, a més, una "clau de signatura del directori". Les autoritats del directori proporcionen una llista signada de tots els repetidors coneguts, i en aquesta llista hi ha un conjunt de certificats de cada repetidor (auto-signat per la seva clau d'identitat) especificant les seves claus, ubicacions, polítiques de sortida, etc. Així, tret que l'adversari pugui controlar la majoria de les autoritats del directori (a partir del 2022 hi ha 8 autoritats del directori), no poden enganyar el client de Tor perquè utilitzi altres repetidors de Tor.

Com saben els clients quines són les autoritats del directori?

El programari de Tor inclou una llista integrada d'ubicacions i claus públiques per a cada autoritat de directori. Per tant, l'única manera d'enganyar els usuaris perquè utilitzin una xarxa Tor falsa és oferir-los una versió del programari especialment modificada.

Com saben els usuaris que tenen el programari adequat?

Quan distribuïm el codi font o un paquet, el signem digitalment amb GNU Privacy Guard. Consulteu les instruccions sobre com comprovar la signatura del Navegador Tor.

Per tal d'assegurar-vos que està signat realment per nosaltres, heu d'haver-nos conegut personalment i haver obtingut una còpia de l'empremta digital de la nostra clau GPG, o heu de conèixer algú que ho hagi fet. Si us preocupa un atac d'aquest nivell, us recomanem que us involucreu amb la comunitat de seguretat i comenceu a conèixer gent.