Counter Galois Onion: технический разбор крупнейшего криптографического обновления в истории Tor
Проект Tor впервые за 20 лет меняет фундаментальный криптографический механизм, определяющий безопасность пользователей и устойчивость всей архитектуры анонимной маршрутизации. Новый алгоритм — Counter Galois Onion (CGO) — устраняет уязвимости старой схемы, вводит строгую аутентификацию данных, революционно меняет модель ключевого обмена и закрывает путь для класса атак, считавшихся одним из немногих практических способов deanonymization. В этой статье — глубокий технический разбор обновления.Зачем Tor меняет алгоритм спустя два десятилетия
Онion-шифрование, применяемое Tor с самого начала 2000-х, было передовой технологией своего времени, но эпоха криптографии изменилась. Когда проект стартовал, AES только вошёл в стандарты, а AEAD-конструкции (Authenticated Encryption with Associated Data) существовали скорее как академическая идея. Поначалу Tor вообще проектировался как сравнительно небольшой исследовательский прототип, а не миллиардная сеть анонимности.Основная проблема старой схемы — отсутствие строгой аутентификации данных и возможность атак, связанных с изменением зашифрованного содержимого без немедленного разрушения цепочки. На этом строится класс атак, известный как tagging-атаки: злоумышленник модифицирует данные на входе, а затем на выходе анализирует присутствие «метки». В условиях контроля входного и выходного узла такая атака крайне опасна, так как разрушает ключевой принцип Tor — unlinkability (невозможность связать отправителя и получателя).
Проблем добавляли и другие аспекты старого алгоритма:
- ключи оставались неизменными на протяжении всего соединения — захват ключа открывал доступ ко всей сессии;
- проверка целостности ограничивалась всего 4 байтами SHA-1, что сегодня считается серьёзной криптографической слабостью;
- механизм обработки ошибок позволял злоумышленнику анализировать реакцию узлов на повреждённые данные.
Сеть Tor пережила эти ограничения благодаря распределённости, разнообразию инфраструктуры и отсутствию глобального наблюдателя, но криптографическая основа оставалась уязвимой. Counter Galois Onion устраняет слабости фундаментально, не косметическим патчем, а решением класса проблем.
Как устроен новый алгоритм: архитектура Counter Galois Onion
CGO — это AEAD-конструкция, близкая по идее к GCM-подобным схемам, но адаптированная для onion-маршрутизации. В отличие от старого алгоритма, данные защищены одновременно шифрованием и аутентификацией. Это означает: любое изменение одного бита превращает весь пакет в криптографический мусор, полностью ломая попытки tagging-модификации.Алгоритм включает три ключевых элемента:
- Counter Encryption Layer — потоковое шифрование на основе счётчика, аналогичное AES-CTR, но оптимизированное для многослойных узлов;
- Galois Authentication Layer — аутентификатор размера 16 байт, формирующийся из GHASH-подобной операции;
- Per-Cell Key Updating — обновление ключей после каждой ячейки (512 байт), обеспечивающее forward secrecy на уровне отдельных пакетов.
Если старый механизм позволял узлу расшифровать данные, прежде чем проверить целостность, CGO делает проверку обязательной и предварительной. Тем самым исключается возможность «подглядывания» поведения узлов при повреждённых данных.
Математическая сущность: почему изменение одного бита разрушает пакет
Аутентификатор в CGO основан на умножении в поле Галуа GF(2^128), что критически важно. В таких схемах даже минимальное изменение входных данных приводит к непредсказуемому изменению выхода, поскольку каждый бит участвует в полиномиальном вычислении.Именно поэтому tagging-атака становится невозможной: невозможно изменить один бит и ожидать, что выходной узел «узнает» пометку. Он просто отвергнет пакет, не передавая его дальше.
Формально аутентификатор можно представить так:
Где:
- H — «хэш-ключ», производный от секрета узла;
- A — дополнительные данные onion-маршрутизации;
- C — шифрованная полезная нагрузка;
- E(K, nonce) — результат шифрования счетчика для маскировки тега.
Отсюда следует два критически важных свойства:
- пакет нельзя модифицировать без знания ключа;
- пакет нельзя «отметить» так, чтобы изменение было предсказуемо видно на выходе.
Как работает per-cell key rotation: революция в управлении секретами
Старая схема Tor полагалась на ключи, которые формировались в начале соединения и оставались неизменными. Это упрощало архитектуру, но создавало риск: компрометация одного ключа открывала доступ ко всей сессии.CGO вводит обновление ключей на каждый пакет. Логика выглядит так:
- отправлена одна ячейка → ключ обновлён;
- вторая ячейка → ключ обновлён снова;
- и так далее.
Функция обновления использует криптографическое преобразование, исключающее возможность предсказания следующего ключа даже при знании предыдущего. Это обеспечивает "strong forward secrecy" и "break-in recovery": даже если ключ случайно утёк, он действует ровно на один пакет.
Как CGO защищает от реальных атак: разбор threat-model Tor
Угроза deanonymization в Tor зависит от способности противника одновременно наблюдать вход и выход цепочки. Tagging-атаки были одним из инструментов раскрытия соответствия трафика. После внедрения CGO такое сопоставление становится криптографически невозможным, а поведение сети — строго предсказуемым.Рассмотрим ключевые угрозы и влияние CGO на них.
1. Tagging-атака
Злоумышленник модифицирует данные на входе, ожидая обнаружить метку на выходе. В новой модели:- любая модификация делает пакет недействительным;
- выходной узел отбрасывает повреждённый трафик;
- корреляционный канал исчезает полностью.
Итог: атака невозможна в принципе.
2. Компрометация ключей
Раньше компрометация давала злоумышленнику доступ к потоку данных целиком. Теперь— к одному пакету, и то неполностью.Итог: стоимость атаки многократно увеличивается.
3. Манипуляции длиной и структурой пакетов
Старый алгоритм давал косвенные признаки утечек через реакцию узлов на повреждения. CGO стандартизирует обработку ошибок, делая её одинаковой для всех случаев.Итог: устранение побочных каналов.
Производительность: где CGO ускоряет, а где замедляет
Согласно тестам разработчиков, промежуточные узлы (middle relays) работают медленнее на 20–50%. Это объясняется большим объёмом вычислений: AEAD дороже простого шифрования без аутентификации.Однако входные и выходные узлы ускоряются примерно в 3 раза. На них старый алгоритм был особенно неэффективным из-за архитектурных ограничений. Поскольку именно крайние узлы обычно нагружены сильнее всего, общее влияние на сеть оценивается как скорее положительное.
Реализация: C Tor и Arti идут разными путями
CGO реализован и в классическом C Tor, и в Arti — новой Rust-реализации. Однако поддержка onion-сервисов появится только в Arti. Причина — архитектурная.Onion-службы тесно связаны с внутренней структурой Tor: они требуют сложной логики скрытых маршрутов, descriptor-файлов и вводов/выводов, сильно интегрированных в старый код. Добавить туда новый AEAD-механизм — чрезвычайно дорого.
Rust-версия изначально строилась модульной. Поддержка CGO для onion-сервисов в ней появится первой, и это подтверждает стратегический курс проекта: через несколько лет Arti станет основой всей экосистемы Tor.
Что означает обновление для пользователей Tor
Несмотря на высокую техническую сложность, событие никак не затрагивает взаимодействие пользователя с Tor. Никаких настроек, переключателей или параметров менять не придётся. Все изменения происходят «под капотом».Самое главное — рост реального уровня анонимности. CGO делает невозможными целые классы атак, ранее считавшихся пусть и редкими, но теоретически осуществимыми. На уровне практической криптографии это крупнейшее усиление Tor с момента появления протокола.
Вывод: Tor завершает переход к криптографии XXI века
Counter Galois Onion — это не очередная оптимизация, а фундаментальная смена криптографического фундамента. Алгоритм устраняет пробелы, идущие из 2002 года, делает сеть устойчивой к современным методам анализа и создаёт архитектуру, в которой даже компрометация одного ключа не даёт злоумышленнику стратегического преимущества.Это обновление укрепляет Tor не только технически, но и концептуально: проект демонстрирует готовность переосмысливать свои основы и внедрять современные методы, сохраняя главный принцип — свободу и анонимность пользователей в условиях растущего давления со стороны государств и крупных корпораций.
Редакция PavRC
🔄 Bitcoin Mix — Анонимное смешивание BTC с 2017 года
🌐 Официальный сайт
🧅 TOR-зеркало
✉️ [email protected]
No logs • SegWit/bech32 • Мгновенные переводы • Динамическая комиссия
TOR-доступ рекомендуется для максимальной анонимности
🌐 Официальный сайт
🧅 TOR-зеркало
✉️ [email protected]
No logs • SegWit/bech32 • Мгновенные переводы • Динамическая комиссия
TOR-доступ рекомендуется для максимальной анонимности