Tor использует множества различных ключей для трех целей: 1) шифрование трафика внутри сети Tor, 2) удостоверение подлинности (аутентификация), чтобы приложения понимали, что они общаются с реальными узлами Tor и 3) цифровые подписи, что бы все приложения имели доступ к одному и тому же набору узлов.

Шифрование: все соединения в сети Tor шифруются с помощью протокола TLS, поэтому атакующий не может расшифровать кому конкретно направляется трафик. Далее клиент Tor устанавливает эфемерный ключ шифрования с каждым узлом в цепи; эти дополнительные уровни шифрования означают, что только выходной узел может считывать ячейки. Обе стороны сбрасывают ключ цепи, когда цепь заканчивается, поэтому регистрация трафика, а затем взлом узла, чтобы обнаружить ключ, не будет работать.

Аутентификация: Каждый узел Tor имеет открытый ключ расшифровки, называемый "onion ключ". Каждый узел меняет свой onion-ключ раз в четыре недели. Когда клиент Tor устанавливает схемы, на каждом этапе он требует, чтобы узел Tor доказал знание своего onion-ключа. Таким образом, первый узел в пути не может просто подделать остальную часть пути. Поскольку клиент Tor выбирает путь, он может убедиться, что получает свойство Tor "распределенное доверие": ни один узел в пути не может знать как о клиенте, так и о том, что клиент делает.

Координация: Как клиенты узнают, что такие узлы существуют, и как они узнают, что у них есть правильные ключи для них? Каждый узел имеет долгосрочный открытый ключ подписи, называемый "идентифицирующий ключ". Каждый управляющий сервер дополнительно имеет "ключ подписи каталога". Управляющие серверы предоставляют действующий список всех известных узлов, в котором также присутствует набор сертификатов от каждого узла (подписанных их удостоверяющими ключами) с указанием ключа узла, его местоположением, политикой выхода и т. д. До тех пор пока злоумышленник не контролирует большинство управляющих серверов (по состоянию на 2021 год существует 10 управляющих серверов), он не может обмануть клиента Tor с целью использования других узлов Tor.

Как клиенты узнают о действующих управляющих серверах?

Программное обеспечение Tor поставляется со встроенным списком местоположения и открытым ключом для каждого управляющего сервера. Таким образом, единственный способ обмануть пользователей в использовании поддельной сети Tor - это дать им специально модифицированную версию программного обеспечения.

Как пользователи узнают, что у них есть необходимое программное обеспечение?

Когда мы распространяем исходный код или пакет, мы подписываем его цифровой подписью с помощью GNU Privacy Guard. См. инструкции по проверке подписи Tor Browser.

Чтобы быть уверенным, что он действительно подписан нами, вам нужно встретиться с нами лично и получить копию отпечатка нашего ключа GPG, или вам нужно знать кого-то, у кого он имеется. Если вы обеспокоены атакой такого уровня, мы рекомендуем вам связаться с сообществом безопасности и найти возможность личной встречи.