I2P, Invisible Internet Project — децентрализованная анонимная сеть, похожая на Tor. От Tor ее отличают несколько ключевых особенностей:
- Использование сквозного шифрования при передаче данных
- Полная децентрализация, отсутствие центральной базы данных о сети
- «Чесночное» шифрование в дополнение к «луковому»
- Отсутствие доступа из анонимной сети в «обычный» интернет без дополнительной настройки
В I2P пользователи не обращаются к корневому серверу для построения схемы сети, а сами превращают свои устройства в мини-ноды, называемые «роутерами» — для этого их владельцу достаточно иметь список хотя бы 25 других роутеров. Каждый роутер имеет зашифрованный ID и поддерживает несколько входящих и исходящих туннелей, при этом адреса всех сообщений зашифрованы, а туннели однонаправлены — то есть трафик по каждому туннелю идет только в одну сторону. И отправитель, и получатель сообщения для других участников сети неотличимы от роутера-посредника.
Термин «чесночное» шифрование в случае I2P означает, что при установке соединения используется зашифрованный блок информации, который включает в себя 4 или 8 «зубчиков» — по количеству хопов в туннеле. Каждый из роутеров в цепочке может «открыть» только предназначенный ему «зубчик», в котором содержатся инструкции по дальнейшей передаче данных. После того как туннель установлен, внутри используется луковое шифрование.
Все сообщения в I2P разделяются на фрагменты размером в один килобайт (именно столько занимает стандартный «чеснок» из четырех частей), что повышает устойчивость к анализу пакетов, превращая трафик в каждом туннеле в смесь случайных данных.
Как в случае сети Tor, пользователи I2P могут посещать анонимные сайты, так называемые «ипсайты» (eepsites). Такие сайты имеют домен *.i2p и их нельзя открыть извне I2P-сети. Для хостинга ипсайтов используется встроенное приложение IP2Tunnel. Среди других I2P приложений — мессенджер SAM (Simple Anonymous Messaging), почтовый клиент Susimail, торрент-клиент I2pSnark. Для работы приложений I2P использует зашифрованные аналоги стандартных транспортных протоколов: NTCP2 вместо TCP и SSU вместо UDP.