Перейти до вмісту

I2P

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.
I2P
I2P 0.9.8.1 Router Console
ТипОверлейна мережа, Peer-to-peer
АвторI2P Team
Перший випуск2003
Стабільний випуск2.7.0 (8 жовтня, 2024; 12 місяців тому (2024-10-08))
ПлатформаБагатоплатформність
Операційна система*nix (FreeBSD, OpenBSD, Linux), Microsoft Windows, Android, macOS
Мова програмуванняJava, C++
Стан розробкиактивний
Модель кодуВільне та відкрите програмне забезпечення
ЛіцензіяГромадське надбання, BSD, GPL, MIT, Artistic License(інші мови)
Репозиторійgithub.com/i2p/i2p.i2p
Вебсайтgeti2p.net

I2P (скор. від англ. «Invisible Internet Project», кириліз.АйТуПі, досл.«Проєкт Невидимий Інтернет») — відкрите програмне забезпечення для створення самоорганізованої, надстійкої, анонімної та повністю зашифрованої оверлейної мережі P2P. I2P використовує модифікований Kademlia DHT [1], але відрізняється тим, що зберігає в собі хешування адрес вузлів мережі, IP-адреси, зашифровані AES, а також публічні ключі шифрування; з'єднання з базою даних мережі також шифруються. Адреси сайтів мережі I2P мають вигляд: «http://адреса_сайту.i2p».

I2P повністю фінансується за рахунок пожертвувань, і багато хто з розробників є анонімними[2].

Огляд

[ред. | ред. код]

I2P надає застосункам простий транспортний механізм для анонімного і захищеного пересилання повідомлень один одному. Хоча мережа I2P орієнтована суто на визначення шляху передачі пакетів, завдяки бібліотеці Streaming lib реалізована також і їх доставка у первісно заданій послідовності без помилок, втрат і дублювання, що дає можливість використовувати у мережі I2P відеоконференції, VoIP, інтернет-радіо, IP-телебачення та інші потокові протоколи і сервіси.

Мережа забезпечує перегляд вебсторінок, анонімний хостинг (створення анонімних сайтів, форумів і чатів, файлообмінних серверів тощо), роботу систем обміну миттєвими повідомленнями, ведення блогів, а також для файлообмін (зокрема й піринговий), електронну пошту, IP-телефонію та багато іншого[3].

Всередині мережі I2P працює власний каталог сайтів[4], електронні бібліотеки, а також BitTorrent-трекери[5][6]. Крім того, існують мережеві шлюзи для доступу в мережу I2P безпосередньо з Інтернету[7] створені спеціально для користувачів, які з різних причин не можуть встановити на комп'ютер I2P.

Історія мережі I2P

[ред. | ред. код]

Проєкт I2P був початий в 2003 році для підтримки всіх, хто бере участь у створенні вільнішого суспільства і зацікавлений у новому нецензурованому, анонімному і безпечному засобі спілкування та поширення інформації. I2P — це спроба створити захищену децентралізовану анонімну мережу з малим часом відгуку і властивостями автономності, відмовостійкості і масштабованості. Кінцевим завданням є здатність функціонувати в жорстких умовах, навіть під тиском організацій, що володіють значними фінансовими чи політичними ресурсами. Всі аспекти мережі доступні у вигляді початкового коду і безплатні. Це дозволяє користувачам переконатися, що програмне забезпечення робить саме те, що заявлено, і полегшує стороннім розробникам можливість удосконалювати захист мережі від наполегливих спроб обмежити вільне спілкування. Команда розробників I2P — це відкрита група, чиїм учасником може стати будь-хто, хто зацікавлений в проєкті.

Багато людей з команди розробників I2P раніше брали участь у проєктах Invisible IRC Project/Proxy і Freenet. Але, на відміну від останніх, I2P — є анонімним одноранговим оверлейним комунікаційним середовищем, в якому можуть працювати як будь-які звичайні мережеві протоколи і служби, такі як E-Mail, IRC, HTTP, Telnet, так і розподілені застосунки, подібні до баз даних, Squid і DNS.

Починаючи з версії 0.7.2 (випущеної в травні 2009 року) релізи програми вважаються стабільними. До травня 2009 року автори проєкту всіма силами утримували користувачів від активної реклами I2P мережі, вказуючи на можливу нестабільність і beta-статус розробки.

У 2009 році було випущено дев'ять оновлень, а трафік мережі збільшився в 5 разів. Восени 2011 року в мережі було помічено стрибкоподібне зростання кількості одночасних нод в мережі за добу з ~ 6500 до ~ 9500 і реєстрованих нових нод в мережі за добу з ~ 300 до ~ 600.

З травня 2012-го останньою гілкою вважається 0.9.x, та налічує 34 релізи (станом на квітень 2018)[8].

Структура мережі

[ред. | ред. код]

I2P забезпечує прикладний рівень для сервісів, програм та управління мережею. Мережа також має власний унікальний DNS, що дозволяє самостійно розміщувати та дзеркалювати інтернет-контент, і має структуру, загалом схожу на структуру традиційного Інтернету, відрізняючись лише неможливістю цензури завдяки використанню механізмів шифрування і анонімізації. Тому для третіх осіб немає можливості дізнатися, які сайти відвідує користувач, яку інформацію він переглядає, що завантажує, яке його коло інтересів і знайомств тощо.

У I2P мережі немає ніяких центральних серверів і немає звичних DNS-серверів, також мережа абсолютно не залежить від зовнішніх DNS, що призводить до неможливості знищення, блокування та фільтрації мережі, яка буде існувати і функціонувати, поки на планеті залишаться хоча б два комп'ютери у мережі[9]. Також відсутність DNS-серверів і використання DHT Kademlia — механізму розподілу імен у мережі I2P — дає можливість створення будь-яким користувачем мережі I2P свого сайту, проєкту, BitTorrent-трекера і т. д. без необхідності десь реєструватися, оплачувати будь-кому доменне ім'я або чекати чийогось дозволу. Кожна людина вільна абсолютно безкоштовно і вільно створювати будь-які сайти, при цьому дізнатися місцезнаходження сервера і людини практично неможливо.

Кожен новий учасник, що приймає вхідні підключення від інших маршрутизаторів, збільшує надійність, анонімність і швидкість всієї мережі в цілому.

Щоб потрапити у мережу I2P, потрібно всього лише встановити на своєму комп'ютері програму-маршрутизатор, яка буде розшифровувати/зашифровувати весь трафік і перенаправляти його у мережу I2P. Для роботи з .i2p сайтами необхідно заздалегідь налаштувати браузер. При зверненні до сайту або іншого ресурсу у звичайному (зовнішньому) інтернеті програма-маршрутизатор автоматично, подібно Tor, прокладає «тунель» до одного з зовнішніх шлюзів і дає можливість відвідувати і використовувати зовнішні інтернет-ресурси приховуючи свою IP-адресу. Також внутрішні сайти у мережі I2P доступні з зовнішнього інтернету через спеціальні шлюзи[10].

На перший погляд може здатися, що робота I2P маршрутизатора, через постійну необхідність зашифровувати вихідні і розшифровувати вхідні пакети та застосування великої кількості алгоритмів шифрування з довгими ключами, повинна негативно позначатися на навантаженні процесора і пам'яті комп'ютера, насправді навантаження ніяк не позначається навіть на малопотужних офісних комп'ютерах і обчислюється одиницями відсотків. Однак при великій кількості транзитних тунелів завантаження процесора Pentium 4 може досягати 70-80 відсотків (core i7-2600 ~ 400KBps=7-8 %).

Шифрування у мережі I2P

[ред. | ред. код]

Мережа спочатку була спроєктована з урахуванням припущення, що всі проміжні вузли є скомпрометованими або зловмисними (захоплені зловмисником і збирають інформацію, що через них проходить), тому для протидії було введено ряд активних заходів.

Весь трафік у мережі шифрується від відправника до одержувача. У сумі при пересиланні повідомлення використовується чотири рівні шифрування (наскрізне[11], часникове, тунельне, а також шифрування транспортного рівня), перед шифруванням у кожен мережевий пакет автоматично додається невелика випадкова кількість випадкових байтів, щоб ще більше знеособити передану інформацію і ускладнити спроби аналізу вмісту та блокування переданих мережних пакетів. Як адреси мережі використовуються криптографічні ідентифікатори, що являють собою відкриті криптографічні ключі, які не мають ніякого логічного зв'язку з реальним комп'ютером, тому визначити справжню адресу якогось вузла у мережі не можливо. Кожен мережевий застосунок на комп'ютері будує для себе окремі шифровані, анонімні тунелі. Тунелі у основному одностороннього типу (вихідний трафік йде через одні тунелі, а вхідний — через інші) — напрямок, довжину, а також який саме застосунок або служба створили ці тунелі, з'ясувати практично неможливо. Всі передані IP-пакети мають властивість розходитися декількома різними тунелями, що робить безглуздим спроби прослухати і проаналізувати за допомогою сніфферу потік даних, що проходить. Також відбувається періодична зміна (приблизно кожні 10 хвилин) вже створених тунелів на нові, з новими цифровими підписами та ключами шифрування, причому цифрові підписи та ключі шифрування у кожного тунелю свої[12][13].

З цих причин нема потреби турбуватися про шифрування свого трафіку. Або, якщо існує недовіра до шифрування програм, що мають закритий початковий код (як, наприклад, Skype). Також, наприклад, існують програми IP-телефонії (такі, як Ekiga), що не вміють шифрувати свій трафік і передають його у відкритому вигляді. У будь-якому випадку мережа I2P здійснить чотирьохрівневе шифрування всіх пакетів та убезпечить передачу/прийом всіх даних.

У мережі I2P всі пакети зашифровуються на стороні відправника та розшифровуються тільки на стороні одержувача, при цьому, на відміну від Tor, ніхто з проміжних учасників обміну не має можливості перехопити розшифровані дані і ніхто з учасників не знає, хто насправді відправник і хто одержувач, оскільки вузол, передає пакети, може бути відправником, а може бути таким же проміжним вузлом, а наступний вузол, якому потрібно цей пакет відправити, може бути одержувачем, а може бути теж таким же проміжним вузлом, дізнатися кінцеві точки відправника та одержувача проміжний вузол ніяк не може, так само як не може дізнатися, що сталося з тільки що переданим наступному вузлу пакетом — обробив той його, або передав кудись далі, з'ясувати не можна.

У I2P мережі використовуються (для різних рівнів і протоколів) наступні системи і методи шифрування і підпису:

  1. 256 біт AES режим CBC з PKCS#5;
  2. 2048 біт Схема Ель-Гамаля;
  3. 2048 біт Алгоритм Діффі — Хеллмана;
  4. 1024 біт DSA;
  5. 256 біт HMAC — Алгоритм посилення криптостійкості інших криптоалгоритмів;
  6. 256 біт хешування SHA256.

iMule в мережі I2P

[ред. | ред. код]
Докладніше: iMule
iMule

Спеціально для мережі I2P було створено анонімний, захищений клієнт на базі aMule під назвою iMule(інші мови) (невидимий мул) — який являє собою вільний клієнт для файлообмінної мережі, що використовує анонімні з'єднання за допомогою стійкої оверлейної мережі I2P і повністю децентралізованої мережі Kad.

На відміну від мережі EDonkey2000, яка використовується у «класичних» клієнтах eMule і aMule, які підключаються до серверів і розкривають всю ідентифікаційну інформацію — IP-адреси і т. п . — iMule викачує і віддає файли без розкриття своєї IP-адреси і якої-небудь ідентифікаційної інформації та весь вхідний і вихідний трафік піддається чотирьохрівневому шифруванню у мережі I2P.

Починаючи з версії 1.2.3, програма постачається з I2P-маршрутизатором і початковим кодом, тому для підключення до I2P-мережі не потрібне додаткове програмне забезпечення. Якщо ж користувач хоче використовувати інші можливості мережі I2P (наприклад, BitTorrent, Gnutella, анонімну електронну пошту, анонімні вебсайти тощо), він повинен встановити повний пакет I2P-маршрутизатора.

iMule, як і його попередник aMule, є кросплатформним і використовує бібліотеку wxWidgets. Наразі клієнт підтримує різні BSD-подібні операційні системи, Linux, MacOS, Microsoft Windows і Solaris.

Основні застосунки, доступні для використання в мережі I2P

[ред. | ред. код]

Нижче наведено список[14]:

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Intro - I2P. geti2p.net.
  2. I2P: A scalable framework for anonymous communication - I2P. geti2p.net. Архів оригіналу за 3 квітня 2025. Процитовано 23 травня 2025.
  3. Ленко (28 березня 2013). Принцип работы анонимной сети I2P. SPY-SOFT.NET (рос.). Процитовано 25 травня 2025.
  4. Список сайтів I2P[недоступне посилання з червня 2019]
  5. While not Tor, I browse I2P websites from time to time. tracker2.postman.i2p is ... | Hacker News. news.ycombinator.com (англ.). Процитовано 6 лютого 2025.
  6. Как подключиться к сети I2P в Ubuntu. itshaman.ru (рос.). 2011. Процитовано 29 травня 2025.
  7. You came over my I2P router tunnel, you are anonymous or using some I2P Proxy (inproxy.tino.i2p). Архів оригіналу за 28 листопада 2009. Процитовано 05 лютого 2025. [Архівовано 2009-11-28 у Wayback Machine.]
  8. Архівована копія. Архів оригіналу за 10 травня 2017. Процитовано 12 квітня 2018.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  9. Общее введение в I2P. Хабр (рос.). 12 квітня 2021. Процитовано 25 травня 2025.
  10. i2p.to доступ до сайтів всередині I2P зі звичайного інтернету. Архів оригіналу за 27 грудня 2012. Процитовано 15 листопада 2012. [Архівовано 2012-12-27 у Wayback Machine.]
  11. What is I2P and how safe is it for private browsing? I NYM. nym.com (англ.). 7 червня 2025. Процитовано 25 травня 2025.
  12. Раскрываем секреты сети I2P (рос.). Архів оригіналу за 24 січня 2025. Процитовано 25 травня 2025.
  13. I2P в 2025-ом. Изучаем возможности I2P и настраиваем скрытую сеть (рос.). Архів оригіналу за 2 червня 2025. Процитовано 25 травня 2025.
  14. За межею невидимості: нові методи зберегти інгоніто в інеті. Архів оригіналу за 16 листопада 2012. Процитовано 15 листопада 2012. [Архівовано 2012-11-16 у Wayback Machine.]
  15. Путешествие по даркнету. Что интересного можно найти в анонимной сети I2P (рос.). Архів оригіналу за 27 грудня 2024. Процитовано 25 травня 2025.
  16. Дима (Kozhuh) (14 лютого 2019). Популярные ресурсы анонимной сети I2P. SPY-SOFT.NET (рос.). Процитовано 25 травня 2025.
  17. а б в Intro - I2P — software. geti2p.net. Процитовано 25 травня 2025.

Посилання

[ред. | ред. код]