Сеть Tor переходит на новый алгоритм шифрования Counter Galois Onion (CGO), заменив старый алгоритм ретранслятора Tor1 ради повышения устойчивости сети к современным атакам перехвата трафика. Они могут поставить под угрозу безопасность данных и нарушить анонимность пользователей.

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

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

Как поясняет команда, алгоритм Tor1 был разработан в то время, когда криптография была гораздо менее развита, чем сегодня, и с тех пор стандарты значительно улучшились.

Одна из проблем архитектуры Tor1 заключается в том, что он использует шифрование AES-CTR без аутентификации на каждом этапе. Это означает, что злоумышленник может изменять трафик между контролируемыми им ретрансляторами и наблюдать предсказуемые изменения — провести атаку с тегированием, относящуюся к классу атак на внутренние скрытые каналы.

Другая проблема заключается в том, что Tor1 повторно использует одни и те же ключи AES на протяжении всего жизненного цикла цепочки, что позволяет расшифровать данные в случае их кражи.

Третья проблема состоит в том, что алгоритм использует 4-байтовый дайджест SHA-1 для аутентификации ячейки, что даёт злоумышленникам вероятность один к 4 миллиардам подделать её, не будучи обнаруженными.

CGO решает вышеуказанные проблемы. Он построен на основе конструкции Rugged Pseudorandom Permutation (RPRP) под названием UIV+, разработанной исследователями в области криптографии Жаном Полем Дегабриэлем, Алессандро Меллони, Жан-Пьером Мюнхом и Мартейном Стамом. Tor заявляет, что эта система проверена на соответствие определённым требованиям безопасности, включая защиту от «сопротивления тегам, немедленной пересылки, более длинных тегов аутентификации, ограниченной нагрузки на полосу пропускания, относительно эффективной работы и современной криптографии».

CGO использует широкоблочное шифрование и цепочку тегов, поэтому любое изменение делает невозможным восстановление всей ячейки и последующих, блокируя атаки с тегированием. Алгоритм обновляет ключи после каждой ячейки, поэтому прошлый трафик невозможно расшифровать, даже если текущие ключи раскрыты.

CGO использует 16-байтовый аутентификатор, объединяет T’ (зашифрованный тег) и N (начальный одноразовый код) между ячейками, поэтому каждая ячейка зависит от всех предыдущих, и это обеспечивает защиту от взлома.

Разработчики проекта сообщают, что добавление CGO в реализацию Tor на языке C и её клиент Arti на базе Rust находится в процессе разработки, а функция отмечена как экспериментальная. В планах — добавление согласования onion-сервисов и оптимизация производительности.

В конце октября состоялся выпуск браузера Tor Browser 15.0. В проекте осуществлён переход на ESR-ветку Firefox 140. Сборки Tor Browser вышли для Linux, Android, Windows и macOS.