Разработчики Tor Project объявили о внедрении нового алгоритма шифрования трафика Counter Galois Onion (CGO), который заменит устаревший tor1. Главная цель апгрейда — повысить устойчивость сети к современным атакам на перехват данных и укрепить анонимность пользователей.
Как поясняет команда проекта, tor1 создавался в эпоху, когда криптография была менее развитой, и с тех пор стандарты шагнули вперед, а уязвимости старого алгоритма стали очевидными.
Основная проблема tor1 — использование шифрования AES-CTR без аутентификации между узлами. Это делает трафик уязвимым перед tagging-атаками, когда злоумышленник, контролирующий несколько узлов, может модифицировать данные и отслеживать предсказуемые изменения.
Еще одна уязвимость заключается в применении лишь частично прямой секретности (forward secrecy). Tor1 использует одни и те же ключи AES на протяжении всей жизни цепочки, что позволяет расшифровать весь трафик в случае кражи ключа. Кроме того, для аутентификации блоков применяется 4-байтный дайджест SHA-1, что дает атакующему один шанс из четырех миллиардов для подделки блока.
Новый алгоритм CGO построен на криптографической конструкции Rugged Pseudorandom Permutation (RPRP) под названием UIV+ и прошел проверку на соответствие современным требованиям безопасности. Он улучшает сразу ряд аспектов и предлагает:
- Защиту от тегирования. CGO использует широкоблочное шифрование (wide-block encryption) и цепочку тегов, и попытка модификации делает текущую и все последующие блоки невосстановимыми, полностью блокируя атаки.
- Немедленную прямую секретность. Ключи обновляются после каждого блока, так что даже при компрометации текущих ключей прошлый трафик останется зашифрованным.
- Усиленную аутентификацию. SHA-1 полностью исключен из relay-шифрования, вместо него CGO использует 16-байтный аутентификатор — стандарт, на который, по словам разработчиков, «полагаются разумные люди».
- CGO связывает зашифрованные теги (T') и начальные nonce (N) между блоками данных — каждый блок зависит от всех предыдущих, то есть незаметная подделка становится невозможной.
Разработчики отмечают, что CGO решает ключевые проблемы tor1 без серьезных потерь в пропускной способности. Это современная система, основанная на актуальных криптографических исследованиях.
Работа по интеграции CGO в C-реализацию Tor и Rust-клиент Arti уже ведется, но пока функция имеет статус экспериментальной. Разработчикам еще предстоит настройка согласования для onion-сервисов и оптимизация производительности. Переход на новый алгоритм произойдет автоматически после полного развертывания, однако точные сроки, когда CGO станет стандартом по умолчанию, пока не названы.
