3.1.3. Шифрование информации в I2P

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

В качестве адресов сети применяются криптографические идентификаторы (открытые криптографические ключи), не имеющие никакой логической связи с реальным компьютером. В сети I2P нигде не используются IP-адреса, поэтому определить настоящий IP-адрес узла, и, следовательно, установить его местонахождение, невозможно.

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

Все пакеты, передаваемые по сети, могут расходиться по разным туннелям, что делает бессмысленной попытку перехвата (прослушки) данных. И в самом деле – поскольку данные передаются по разным туннелям, проанализировать поток данных даже с помощью сниффера[3] не получится. Каждые 10 минут происходит смена уже созданных туннелей на новые с новыми цифровыми подписями и ключами шифрования (у каждого туннеля свой ключ шифрования и своя цифровая подпись).

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

Шифрование и дешифрование пакетов осуществляются соответственно на стороне отправителя (шифрование) и на стороне получателя (расшифровка). В отличие от Tor, никто из промежуточных участников обмена не может перехватить зашифрованные данные, и никто из участников не знает, кто на самом деле является отправителем, а кто получателем, поскольку передающий пакеты узел может быть как отправителем, так и промежуточным узлом.

Промежуточный узел не может узнать конечные точки (кто отправил пакеты, и куда они следуют), так же он не может определить, что случилось с только что переданным следующему узлу пакетом: принял его себе (то есть следующий узел является получателем) или передал следующему узлу.

В I2P используются следующие методы (алгоритмы) шифрования:

✓ AES (256 битов);

✓ схема Эль-Гамаля (2048 битов);

✓ алгоритм Диффи – Хеллмана (2048 битов);

✓ DSA (1024 бита);

✓ HMAC (256 битов);

✓ SHA256 (256 битов).

3.1.4. Как работать с I2P?

Все очень и очень просто. Принцип работы I2P с точки зрения неискушенного пользователя такой же, как и в случае с Tor. Вы устанавливаете I2P на свой компьютер, изменяете, если сочтете нужным, настройки по умолчанию (хотя в 99 % случаев этого делать не придется, поскольку I2P – это программа, работающая "из коробки", то есть не требующая настройки) и настраиваете свои сетевые программы – в их настройках следует указать использование прокси-сервера с IP-адресом 127.0.0.1 (порт 4444). Аналогичные действия мы проделывали при настройке сетевых программ на использование прокси-сервера Tor (только номер порта был другим).