За последнее время это крупнейшее обновление
Команда Tor официально признала: старый метод шифрования трафика tor1 больше не обеспечивает достаточную защиту.
Из-за накопившихся уязвимостей проект переходит на новый алгоритм — Counter Galois Onion (CGO). Он уже внедрен в Arti (реализацию Tor на Rust) и в классическую C-реализацию.
Почему tor1 небезопасен
Tor1 использует режим AES-CTR. Он достаточно быстрый, но одновременно с этим и уязвимый к ряду атак. Авторы выделяют три ключевые проблемы:
- Тегирование трафика (tagging attacks). Отсутствие hop-by-hop аутентификации делает поток ячеек изменяемым. Вмешавшись, атакующий может деанонимизировать пользователя.
- Нет мгновенной прямой секретности. Одни и те же ключи живут весь срок цепочки. Получив ключ, злоумышленник способен расшифровать все предыдущие данные.
- Слабая аутентификация. Подпись была всего 4 байта на SHA-1 — это 1 шанс из 4 млрд пройти незамеченным. Для криптографии — ничтожно мало.
Что меняет новый CGO
CGO решает проблемы комплексно. Алгоритм вводит две ключевых идеи:
- Irreversible Update. Ключи обновляются при каждом новом сообщении и старые версии невозможно восстановить. Это дает мгновенную «совершенную прямую секретность».
- Wide-block шифрование. Любая попытка изменить хотя бы байт приводит к полной порче расшифровки — атаки тегирования становятся бессмысленны.
Также MD4 заменен на полноценный 16-байтный аутентификатор.
Когда изменения доберутся до пользователей
Tor уже применил CGO в Arti и в реализации на C. Tor Browser, Tails и Orbot постепенно перейдут на новый метод автоматически — пользователю не надо ничего настраивать вручную.
Для большинства это будет тихое, но крайне важное обновление: впервые за долгие годы Tor получает серьезное усиление защиты на уровне базовой криптографии.
