Эта страница была обновлена Май 2018.

Вступление

Исследование сети I2P

Research plays a key role in both maintaining the security and integrity of the I2P network, as well as opening doors for more impactful future development.

Существует большое сообщество, занимающееся исследованием широкого спектра аспектов анонимности. Для ознакомления с текущим и исчерпывающим списком соответствующих материалов, загляните в Free Haven Anonymity Bibliography. I2P использует многие положительные результаты исследований Tor и луковой маршрутизации, однако сейчас интерес к исследованию непосредственно теории работы I2P, применяемым в I2P решениям и соглашениям довольно низкий. Это, в свою очередь, предоставляет уникальную возможность для проведения оригинальных исследовательских работ.

Список известных публикаций про I2P доступен здесь.

This page outlines the most needed fields of research, notes to potential researchers, general safety guidelines as well as an expanding list of open research questions.

Замечания для исследователей:

Оборонные исследования

While all research on the I2P network is beneficial and appreciated, there are certain areas that are more in need than others. Most research focuses on testing offensives against anonymous software, and this is further reinforced by the incentives in academic institutions. The project would appreciate research and testing that will support fortifying the I2P network.

Наступательное и аналитическое тестирование

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

Исследовательская этика & Тестирование сети

Общие методические рекомендации

  1. Рассмотрим преимущества и риски - есть ли сомнения, что исследования принесут больше пользы, чем вреда?
  2. Если исследование может быть сделано в тестовой сети, то это более предпочтительно
  3. Если необходимо работать в live-сети, самым безопасным методом является только сбор данных о себе
  4. Если вам нужны "bigger data", то рекомендуется решить, подойдут ли вам наборы данных из предыдущих экспериментов или из других сторонних источников
  5. Если необходимо собрать данные в live-сети, убедитесь, что они безопасны для публикации и собирайте как можно меньше
  6. После тестирования и перед публикацией просмотрите все данные, которые должны быть опубликованы, там не должно быть данных, обозначенных владельцем, как приватные

Использование тестовой сети для атаки на I2P

I2P может быть запущен как отдельная тестовая сеть, контролируя местоположения, которые новый роутер загружает так, что он будет находить только другие тестовые роутеры. Стандартный режим работы подразумевает одну JVM на экземпляр маршрутизатора; следовательно, запуск нескольких копий I2P на одной машине нецелесообразен, как из-за потенциальной утечки ресурсов, так и из-за определенных конфликтов портов. Чтобы облегчить настройку небольших тестовых сетей, I2P имеет режим multirouter, который позволяет запускать несколько различных маршрутизаторов в одной JVM. Multirouter можно запустить из базового каталога I2P, выполнив следующую команду.

env CLASSPATH=$(find lib/ -name *.jar | paste -s -d ':') java net.i2p.router.MultiRouter 25

Кроме того, I2P можно запустить в режиме виртуальной сети. Этот режим отключает все транспортные протоколы, позволяя маршрутизатору тестироваться изолированно без сетевого трафика. Чтобы включить этот режим, добавьте i2p.vmCommSystem=true в router.config перед запуском.

Тестирование в live-cети I2P

Как указано выше, в замечаниях исследователям, пожалуйста, свяжитесь с нами до начала тестирования. Хотя мы не препятствуем исследователям ответственно тестировать свои идеи в живой сети, но если атака становится очевидной, и у нас нет никакой линии связи, то мы в конечном итоге будем принимать контрмеры, которые могут помешать тесту.

Конфигурация семейства роутеров

Начиная с выпуска 0.9.25, I2P поддерживает конфигурацию семейства маршрутизаторов. Это предоставляет исследователям, которые запускают multiple роутеры, средства публично идентифицировать эти роутеры. В свою очередь, это помогает проекту I2P понять, что эти маршрутизаторы не атакуют сеть. Это также поможет другим роутерам избежать включения multiple роутеров семьи в единый туннель, что может привести к деанонимизации. Маршрутизаторы, которые объединяются, но не имеют объявленного семейства, могут считаться атакующими и могут быть заблокированы. Лучший способ обеспечить успех вашего исследовательского проекта - работать с нами напрямую.

Семейство маршрутизаторов совместно использует закрытый ключ, так что участие в семействе не может быть подделано. Чтобы настроить семейство маршрутизаторов, щелкните ссылку "Настройки I2P" в консоли маршрутизатора, а затем на вкладке "Семейство роутеров". Следуйте инструкциям, чтобы сгенерировать закрытый ключ для первого маршрутизатора в семействе. Затем экспортируйте ключ из этого маршрутизатора и импортируйте его другим членам семейства.