Главная » Анонимность » I2P: принцип работы
I2P

I2P: принцип работы

I2P — рожденная в Германии анонимная сеть предоставляет дополнительный слой для приложений, позволяющий им выходить в сеть инкогнито. Все данные вкрапляются в специальные пакеты, которые передаются по распределенным и динамически меняющимся маршрутам.

Хотя I2P строго ориентирован на определение пути передачи пакетов, благодаря библиотеке Streaming lib реализована также доставка пакетов в первоначально заданной последовательности без ошибок, потерь и дублирования.

В этой статье будет подробно рассмотрена технология I2P. В конце вы найдете ссылки на статьи касающиеся I2P, настройка использование и т.п.

I2P

Содержание

  • Предисловие
  • Основные задачи I2P
  • Принцип работы
  • Чесночная маршрутизация I2P

Сеть I2P (Invisible Internet Project, проект «Невидимый Интернет») представляет собой ответвление сети Freenet. Суть проекта I2P, созданного в 2003 году, — организовать свободную и доступную, сверхустойчивую, анонимную, оверлейную (т. е. создаваемую поверх другой сети), зашифрованную сеть и программное обеспечение, обеспечивающее веб-серфинг, анонимный хостинг (создание анонимных сайтов, форумов и чатов, файлообменных серверов и т. п.), работу систем обмена мгновенными сообщениями и ведения блогов, а также файлообмен (в том числе пиринговый), электронную почту, VoIP и многое другое.

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

Основные задачи I2P

  • скрывать местоположение 12Р-сайтов;
  • скрывать местоположение клиентов, подключающихся к 12Р-сайтам, в том числе и от самих сайтов;
  • сделать невозможным ограничение доступа к сайтам со стороны провайдеров и/или магистральных узлов.

Принцип работы I2P

Чтобы понимать, как работает сеть I2P, важно усвоить несколько ключевых понятий:

♦ во-первых, I2P строго разделяет программное обеспечение, участвующее в сети, — маршрутизаторы и анонимные концы (цели), связанные с отдельными приложениями. Конечные пользователи, как правило, имеют несколько локальных адресов на маршрутизаторе: например, один прокси для IRC-серверов, другой — для поддержки пользовательского анонимного веб-сервера (12Р-сайта, eepsite), еще один — для торрентов и т. д. При этом, когда используется I2P, информация о действиях пользователя, а также о том, что пользователь подключен к определенному маршрутизатору, скрывается;

♦ во-вторых, следует понять концепцию туннеля. Туннель — это ориентированный путь через явно выбранный список маршрутизаторов. Поскольку в сети I2P используется многоуровневое шифрование, каждый из маршрутизаторов может расшифровать только один слой. Расшифрованная информация слоя содержит IP-адрес следующего маршрутизатора, а также зашифрованную информацию, которая перенаправляется далее. Каждый туннель имеет начальную точку (первый маршрутизатор, также известный как шлюз) и конечную точку. Однако сообщения по туннелю могут быть отправлены только в одну сторону— чтобы получить обратное сообщение, требуется создать еще один туннель.

Соответственно, для работы сети создаются туннели двух типов:

  • исходящий, который отправляет сообщение от создателя туннеля
  • входящий, который передает сообщение обратно создателю туннеля

Процесс передачи данных в сети I2P проиллюстрирован на рисунке ниже, где отправитель (Катерина) создает исходящий туннель, а принимающая сторона (Михаил) устанавливает входящий туннель. Входящий шлюз принимающей стороны позволяет получать сообщения от других пользователей и пересылать их до конечной точки (в данном случае, это Михаил). При передаче сообщения исходящая конечная точка должна отправить сообщение на входящий шлюз принимающей стороны. Для этого отправитель (Катерина) добавляет в зашифрованное сообщение соответствующие инструкции. Как только исходящая конечная точка расшифрует сообщение, она получит инструкцию по пересылке сообщения на правильный входящий шлюз;

как настроить i2p
Передача данных в сети I2P

♦ в-третьих, следует упомянуть сетевую базу данных NetDB. Существует два типа метаданных, хранящихся в NetDB: routerInfo и leaseSet. Метаданные routerInfo содержат
информацию о маршрутизаторах, необходимых для обмена данными (их открытые ключи, адреса и т. д.), а leaseSet предоставляет маршрутизаторам информацию, необходимую для связи конкретных точек и создания из шлюзов туннеля, который позволяет достичь получателя. Маршрутизаторы пересылают свои данные routerInfo в NetDB напрямую, а данные leaseSet направляются через исходящий туннель для обеспечения анонимности, чтобы избежать корреляции маршрутизатора с его leaseSet.

Для создания собственных входящих и исходящих туннелей Катерина производит в NetDB поиск для сбора данных routerInfo и составляет списки пиров, которые может использовать в качестве транзитных участков в своих туннелях. Затем она отправляет сообщение в первый транзитный участок с запросом на создание туннеля и перенаправление запроса далее. Процедура выполняется до тех пор, пока туннель не будет построен.

настройка i2p
Запрос данных в сетевой БД (а) и построение туннеля (б)

Таким образом, если Катерина хочет послать сообщение Михаилу, она сначала выполняет поиск в NetDB, чтобы найти значение leaseSet Михаила и получить информацию о текущих входящих туннелях Михаила. Затем она выбирает один из своих исходящих туннелей и отправляет сообщение по нему с инструкциями для исходящей конечной точки, чтобы переслать сообщение на один из входящих шлюзов туннеля Михаила. Когда в исходящем туннеле конечная точка получает эти инструкции, она передает сообщение с запросом, и когда входящий шлюз туннеля Михаила получает запрос, он направляется вниз по туннелю к маршрутизатору Михаила.

Если Катерина хочет, чтобы Михаил ответил на сообщение, она должна передать инструкцию явно, как часть самого сообщения. Это может быть сделано путем создания более высокого слоя, осуществляемого в потоковой библиотеке. Опционально, Катерина может также сократить время отклика, вкладывая свое последнее значение leaseSet в сообщение, так что Михаилу, когда он решит ответить, не придется делать поиск в NetDB для обращения к Катерине.

Несмотря на то, что сами туннели при помощи многослойного шифрования защищены от несанкционированного доступа к участникам внутри сети («транспортный слой» зашифрован сам по себе), чтобы скрыть сообщение отправителя на пути от исходящей до конечной точки туннеля и входящего шлюза, необходимо добавить дополнительный слой шифрования. Это обеспечивается так называемым чесночным шифрованием, которое позволяет маршрутизатору Катерины обернуть несколько сообщений в одно «чесночное», зашифрованное открытым ключом, что не даст промежуточному участнику определить количество сообщений и их содержимое. Так, для установки связи между Катериной и Михаилом сообщение будет зашифровано открытым ключом, опубликованным в leaseSet Михаила, что позволит ему прочитать зашифрованное сообщение на маршрутизаторе Михаила.

В целом, такая технология называется чесночной маршрутизацией.

i2p
Процесс построения туннеля в сети I2P

Чесночная маршрутизация I2P

Чесночная маршрутизация — это технология анонимного зашифрованного обмена информацией через компьютерную сеть, используемая в анонимной сети I2P и являющаяся расширением луковой маршрутизации, на которой основан проект Тог.

Суть этой технологии в том, что при использовании многослойного шифрования единственное сообщение (так называемый чеснок) может содержать в себе множество зубчиков — полностью сформированных сообщений вместе с инструкциями по их доставке. В один «чеснок» в момент его формирования перед отправкой закладываются множество «зубчиков», являющихся зашифрованными сообщениями как нашего узла, так и чужими — транзитными. Является ли тот или иной «зубчик» в «чесноке» нашим сообщением или это чужое транзитное сообщение, которое просто проходит через нас, знает только создатель «чеснока», — никто иной узнать эту информацию не может. Чесночная технология применяется тогда, когда нужно отправить, зашифрованное сообщение через промежуточные узлы, у которых не должно быть доступа к этой информации.

Например, если некоторый маршрутизатор просит другой маршрутизатор поучаствовать в общем туннеле, он помещает этот запрос в «чеснок», шифрует его открытым алгоритмом и передает через туннель. Если же клиент хочет отправить сообщение в точку назначения, маршрутизатор отправителя обернет данные этого сообщения (вместе с другими сообщениями) в «чеснок», зашифрует этот «чеснок» открытым алгоритмом, опубликованным в leaseSet получателя, и передаст его через соответствующие туннели.

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

Установка I2P

I2P - рожденная в Германии анонимная сеть предоставляет дополнительный слой для приложений, позволяющий им выходить в сеть инкогнито. Все данные вкрапляются в специальные пакеты, которые передаются по распределенным и динамически меняющимся маршрутам. Хотя I2P строго ориентирован на определение пути передачи пакетов, благодаря библиотеке Streaming lib реализована также доставка пакетов в первоначально заданной последовательности без ошибок, потерь и дублирования. В этой статье будет подробно рассмотрена технология I2P. В конце вы найдете ссылки на статьи касающиеся I2P, настройка использование и т.п. I2P Содержание Предисловие Основные задачи I2P Принцип работы Чесночная маршрутизация I2P Сеть I2P (Invisible Internet Project, проект «Невидимый Интернет») представляет собой…

Оценка анонимной сети I2P

Наша оценка

Возможное применение программы I2P: анонимный веб-серфинг, анонимный обмен мгновенными сообщениями, анонимное ведение сетевого дневника (блоггинг), анонимный файлообмен. Наша оценка - хорошо!

Оценка пользователей: 4.87 ( 3 оценок)

3 комментария

  1. pvasili

    Вот а в чём счастье и отличие от обычных прокси, которые включаются и переключаются 1-м движением мыши?

    • Причём тут прокси, I2P это не прокси, это личная анонимная сеть.

  2. ололоша 1812

    pvasili: ты д—л)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *