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

leer en español

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

Почему старую защиту признали ненадёжной и что пришло ей на смену?

image

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

Tor представляет собой распределённую сеть из тысяч ретрансляторов, через которые трафик проходит по цепочке из трёх узлов — входного, промежуточного и выходного. Каждый переход добавляет собственный слой шифрования, за счёт чего получаются «луковые» цепочки. На этой модели строится и браузер Tor, созданный на базе Firefox и предназначенный для анонимного доступа к сайтам, обхода блокировок и сокрытия активности от провайдеров.

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

Дополнительно безопасность подрывает повторное использование одних и тех же ключей AES в течение всего времени жизни цепочки, что при компрометации ключей даёт шанс расшифровать накопленный трафик. Ещё один слабый элемент — короткая 4-байтная контрольная сумма на SHA-1, которая оставляет окно для маловероятной, но возможной подделки ячеек без обнаружения. При этом сами разработчики подчёркивают, что именно первая из перечисленных проблем рассматривается как наиболее серьёзная.

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

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

Механизм аутентификации усилен благодаря отказу от SHA-1 в этом контуре и перехода на 16-байтный проверочный код. Дополнительно сохраняется целостность цепочки: служебные параметры, вроде начального значения счётчика и зашифрованного тега, связаны между собой от ячейки к ячейке, поэтому любое вмешательство в поток легко обнаруживается.

Внедрение CGO уже ведётся как в классической реализации Tor на C, так и в написанном на Rust клиенте Arti. Функциональность помечена как экспериментальная: остаётся реализовать согласование настроек для onion-сервисов и провести оптимизацию производительности. Пользователям браузера Tor ничего включать вручную не придётся — переход на новый алгоритм произойдёт автоматически после завершения развёртывания. Конкретные сроки, когда CGO станет схемой по умолчанию, разработчики пока не называют.