Выпуск реализации анонимной сети I2P 2.1.0

Сообщения
122
Реакции
459
Баллы
64
Выпуск реализации анонимной сети I2P 2.1.0

Состоялся (https://geti2p.net/en/blog/post/2023/01/09/2.1.0-Release) релиз анонимной сети I2P 2.1.0 (https://geti2p.net/en/) и C++-клиента i2pd 2.45.0.

Напомню: I2P представляет собой многослойную анонимную распределенную сеть, работающую поверх обычного интернета, активно использующую сквозное (end-to-end) шифрование, гарантирующую анонимность и изолированность.

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

В новом выпуске:
1. Проведена работа над ошибками, всплывшими после внедрения транспортного протокола "SSU2", основанного на UDP и отличающегося повышением производительности и безопасности;
2. В настоящее время на SSU2 уже переведено 60% маршрутизаторов сети I2P. Переход на SSU2 позволит полностью обновить криптографический стек, избавиться от применения очень медленного алгоритма ElGamal и улучшить работу на мобильных устройствах;
3. Добавление на страницу /peers в консольном интерфейсе дополнительных вкладок с информацией о состоянии и заблокированных узлах;
4. В i2ptunnel обновлены настройки шифрования, добавлена поддержка torsocks и предоставлена возможность трансляции SOCKS-туннелей в HTTP-прокси, поддерживающие метод CONNECT;
5. Для маршрутизаторов обновлён код для определения и управления перегрузкой;
6. В транспорте SSU переработано определение симметричных NAT;

В общем, с точки зрения сети, это достаточно глобальное обновление, которому предшествовали определенные фаткоры:
  1. Медленная криптография. SSU использует старый алгоритм Diffie-Hellman, который требует много вычислительных мощностей, что влечет дополнительные задержки и нагрузку на процессор;
  2. Уязвимость для подмены адреса. Протокол UDP не подразумевает контроль сессий, вся входящая информация валится в один сетевой сокет и принимается без полноценной проверки валидности;
  3. Архитектурные недостатки. Навряд ли первый разработчик (jrandom) видел сразу всю картину протокола целиком, поэтому писал код как есть, уже тогда начав вставлять в SSU костыли по мере необходимости. Накопившиеся нагромождения не позволяют совершенствовать протокол и программировать работу с ним на современном уровне.
О том, как работает этот протокол, можете прочитать в статье pureacetone, пожалуй, самого известного автора статей на тему "Невидимого Интернета": https://habr.com/ru/post/710606/
 
Верх Низ