I2P

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
I2P
I2P logo.svg
I2P 0.9.8.1.pngI2P 0.9.8.1 Router Console
Автор(и) I2P Team
Перший випуск 2003
Стабільний випуск 0.9.9 [2] (7 грудня 2013)
Операційна система Багатоплатформність
Стан розробки Активний розвиток
Тип Оверлейна мережа
Ліцензія Громадське надбання, BSD, GPL, MIT, en (англ.)[1]
Сайт i2p2.de

I2P (скор. від англ. «Invisible Internet Project», укр. «Проект Невидимий Інтернет», вимовляється «айтупі») — відкрите програмне забезпечення, створене для організації надстійкої анонімної, оверлейної, зашифрованої мережі і застосовуване для веб-серфінгу, анонімного хостингу (створення анонімних сайтів, форумів і чатів, файлообмінних серверів і т. д.), систем обміну миттєвими повідомленнями, ведення блогів, а також для файлообміну (у тому числі P2P — Torrent, eDonkey, Kad, Gnutella і т. д.), електронної пошти, VoIP і багато чого іншого. Адреси сайтів у мережі I2P мають вигляд: «http://адреса_сайта.i2p».

Огляд[ред.ред. код]

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

Усередині мережі I2P працює власний каталог сайтів[2], електронні бібліотеки, а також торрент-трекери[3]. Крім того, існують гейти для доступу у мережу I2P безпосередньо з Інтернету[4] створені спеціально для користувачів, які з різних причин не можуть встановити на комп'ютер програмне забезпечення «Проекту Невидимий Інтернет».

Структура мережі[ред.ред. код]

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

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

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

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

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

Шифрування у мережі I2P[ред.ред. код]

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

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

З цих причин немає необхідності турбуватися про шифрування свого трафіку. Або, якщо існує недовіра до шифрування програм, що мають закритий сирцевий код (як, наприклад, 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.

Історія мережі I2P[ред.ред. код]

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

Багато людей з команди розробників I2P раніше брали участь у проектах IIP(англ.)укр. (англ.) і Freenet. Але, на відміну від останніх, «Проект Невидимий Інтернет» — це анонімна однорангове розподілене комунікаційне середовище, в якому можуть працювати як будь-які традиційні мережеві служби і протоколи, такі як E-Mail, IRC, HTTP, Telnet, так і розподілені застосунка, подібне до баз даних, Squid і DNS.

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

У 2009 році було випущено дев'ять оновлень, а трафік мережі збільшився в 5 разів.

Восени 2011 року в мережі було помічено стрибкоподібне зростання кількості одночасних нод в мережі за добу з ~ 6500 до ~ 9500 і реєстрованих нових нод в мережі за добу з ~ 300 до ~ 600, також спостерігається зростання російського сегмента IP адрес, розробники це пов'язують з відкриттям деяких сайтів в мережі I2P таких як Rusleaks і Флібуста. графіки активності мережі I2P

Паралельно з ростом мережі була випущена нова версія і дві наступні версії в дуже короткий термін. Станом на червень 2012 року російський сегмент мережі один з найбільших. Остання версія 0.9.6 була випущена 28 травня 2013.

IMule в мережі I2P[ред.ред. код]

Докладніше: iMule
EMule mascot.png
iMule

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

IMule розроблено як анонімний клієнт файлообмінної мережі. З версії 1.2.3 в поставку програми входить I2P-маршрутизатор і сирцевий код, тому додаткового ПЗ для підключення до мережі I2P не потрібно. Якщо ж користувач хоче використовувати інші можливості мережі I2P (наприклад, BitTorrent, Gnutella, анонімну електронну пошту, анонімні веб-сайти і т. д.), він повинен встановити повний пакет маршрутизатора I2P. iMule як і попередник aMule, кросплатформовий з використанням бібліотеки wxWidgets. Зараз клієнт підтримує Linux, Mac OS X, різні BSD-подібні операційні системи, Windows і Solaris.

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

Нижче наведено список[7].

Див. також[ред.ред. код]

Примітки[ред.ред. код]

Посилання[ред.ред. код]