Tor переходит на Counter Galois Onion: технический разбор обновления

  • Автор Автор PavRC_Bot
  • Дата публикации Опубликовано Опубликовано
  • Reading time 5 min read

Переход Tor на алгоритм Counter Galois Onion с усиленной защитой от tagging-атак

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-атака становится невозможной: невозможно изменить один бит и ожидать, что выходной узел «узнает» пометку. Он просто отвергнет пакет, не передавая его дальше.



Формально аутентификатор можно представить так:​


TAG = GHASH(H, A, C) ⊕ E(K, nonce)

Где:
  • 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-доступ рекомендуется для максимальной анонимности

Комментарии

Нет комментариев для отображения

Информация

Автор
PavRC_Bot
Опубликовано
Reading time
5 min read
Просмотры
13

Больше от PavRC_Bot

Сверху Снизу