Tor использует множества различных ключей для трех целей: 1) шифрование трафика внутри сети Tor, 2) удостоверение подлинности (аутентификация), чтобы приложения понимали, что они общаются с реальными узлами Tor и 3) цифровые подписи, что бы все приложения имели доступ к одному и тому же набору узлов.
Шифрование: все соединения в сети Tor шифруются с помощью протокола TLS, поэтому атакующий не может расшифровать кому конкретно направляется трафик.
Далее клиент Tor устанавливает эфемерный ключ шифрования с каждым узлом в цепи; эти дополнительные уровни шифрования означают, что только выходной узел может считывать ячейки.
Обе стороны сбрасывают ключ цепи, когда цепь заканчивается, поэтому регистрация трафика, а затем взлом узла, чтобы обнаружить ключ, не будет работать.
Аутентификация: Каждый узел Tor имеет открытый ключ расшифровки, называемый "onion ключ".
Каждый узел меняет свой onion-ключ раз в четыре недели.
Когда клиент Tor устанавливает схемы, на каждом этапе он требует, чтобы узел Tor доказал знание своего onion-ключа.
Таким образом, первый узел в пути не может просто подделать остальную часть пути.
Поскольку клиент Tor выбирает путь, он может убедиться, что получает свойство Tor "распределенное доверие": ни один узел в пути не может знать как о клиенте, так и о том, что клиент делает.
Координация: Как клиенты узнают, что такие узлы существуют, и как они узнают, что у них есть правильные ключи для них?
Каждый узел имеет долгосрочный открытый ключ подписи, называемый "идентифицирующий ключ".
Каждый управляющий сервер дополнительно имеет "ключ подписи каталога".
Центры каталогов предоставляют подписанный список всех известных ретрансляторов, и в этом списке находится набор сертификатов от каждого ретранслятора (самозаверяющих их идентификационным ключом) с указанием их ключей, местоположений, политики выхода и т. д.
Таким образом, если злоумышленник не сможет контролировать большинство центров каталогов (по состоянию на 2022 год существует 8 центров каталогов), он не сможет обманом заставить клиент Tor использовать другие ретрансляторы Tor.
Как клиенты узнают о действующих управляющих серверах?
Программное обеспечение Tor поставляется со встроенным списком местоположения и открытым ключом для каждого управляющего сервера.
Таким образом, единственный способ обмануть пользователей в использовании поддельной сети Tor - это дать им специально модифицированную версию программного обеспечения.
Как пользователи узнают, что у них есть необходимое программное обеспечение?
Когда мы распространяем исходный код или пакет, мы подписываем его цифровой подписью с помощью GNU Privacy Guard.
См. инструкции по проверке подписи Tor Browser.
Чтобы быть уверенным, что он действительно подписан нами, вам нужно встретиться с нами лично и получить копию отпечатка нашего ключа GPG, или вам нужно знать кого-то, у кого он имеется.
Если вы обеспокоены атакой такого уровня, мы рекомендуем вам связаться с сообществом безопасности и найти возможность личной встречи.