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

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

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

Координация: Как клиенты узнают, что такие узлы существуют, и как они узнают, что у них есть правильные ключи для них? Каждый узел имеет долгосрочный открытый ключ подписи, называемый "идентифицирующий ключ". Каждый управляющий сервер дополнительно имеет "ключ подписи каталога". The directory authorities provide a signed list of all the known relays, and in that list are a set of certificates from each relay (self-signed by their identity key) specifying their keys, locations, exit policies, and so on. So unless the adversary can control a majority of the directory authorities (as of 2022 there are 8 directory authorities), they can't trick the Tor client into using other Tor relays.

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

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

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

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

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