O Tor usa uma variedade de chaves diferentes, com três objetivos em mente: 1) criptografia para garantir a privacidade dos dados dentro da rede Tor, 2) autenticação para que os clientes saibam que estão falando com os retransmissores com os quais pretendem falar e 3) assinaturas para garantir que todos os clientes conheçam o mesmo conjunto de relés.
Criptografia: primeiro, todas as conexões no Tor usam criptografia de link TLS, para que os observadores não possam olhar para dentro para ver a qual circuito uma determinada célula se destina.
Além disso, o cliente Tor estabelece uma chave de criptografia efêmera com cada relé no circuito; essas camadas extras de criptografia significam que apenas o relé de saída pode ler as células.
Ambos os lados descartam a chave do circuito quando o circuito termina, portanto, registrar o tráfego e invadir o relé para descobrir a chave não funcionará.
Autenticação: Todo retransmissor do Tor possui uma chave de descriptografia pública chamada "chave onion".
Cada retransmissão gira sua chave de cebola a cada quatro semanas.
Quando o cliente Tor estabelece circuitos, a cada passo ele exige que o retransmissor Tor prove conhecimento de sua chave onion.
Dessa forma, o primeiro nó no caminho não pode simplesmente falsificar o resto do caminho.
Como o cliente Tor escolhe o caminho, ele pode garantir a propriedade de "confiança distribuída" do Tor: nenhuma retransmissão única no caminho pode saber sobre o cliente e o que o cliente está fazendo.
Coordenação: Como os clientes sabem quais são os relés e como sabem que têm as chaves certas para eles?
Cada relé tem uma chave de assinatura pública de longo prazo chamada "chave de identidade".
Cada autoridade de diretório possui adicionalmente uma "chave de assinatura de diretório".
As autoridades do diretório fornecem uma lista assinada de todos os retransmissores conhecidos e nessa lista há um conjunto de certificados de cada retransmissor (autoassinado por sua chave de identidade ) especificando suas chaves, locais, políticas de saída e assim por diante.
Portanto, a menos que o adversário possa controlar a maioria das autoridades do diretório (a partir de 2022, existem 8 autoridades do diretório), eles não podem induzir o cliente Tor a usar outros retransmissores do Tor.
Como os clientes sabem quais são as autoridades do diretório?
O software Tor vem com uma lista interna de localização e chave pública para cada autoridade de diretório.
Portanto, a única maneira de induzir os usuários a usar uma rede Tor falsa é fornecer a eles uma versão especialmente modificada do software.
Como os usuários sabem que têm o software certo?
Quando distribuímos o código-fonte ou um pacote, assinamo-lo digitalmente com GNU Privacy Guard.
Veja as instruções sobre como verificar a assinatura do Navegador Tor.
Para ter certeza de que foi realmente assinado por nós, você precisa nos encontrar pessoalmente e obter uma cópia da impressão digital de nossa chave GPG, ou precisa conhecer alguém que tenha.
Se você está preocupado com um ataque desse nível, recomendamos que se envolva com a comunidade de segurança e comece a conhecer pessoas.