Nothing Special   »   [go: up one dir, main page]

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

I2P

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.
I2P
I2P 0.9.8.1 Router Console
ТипОверлейна мережа
АвторI2P Team
Перший випуск2003
Стабільний випуск0.9.34 (10 квітня, 2018; 6 років тому (2018-04-10))
Платформавіртуальна машина Java і Android
Операційна системаБагатоплатформність
Мова програмуванняJava[1] і C++[2][3]
Стан розробкиАктивний розвиток
ЛіцензіяГромадське надбання, BSD, GPL, MIT, Artistic License[en]
Репозиторійhttps://github.com/i2p/i2p.i2p, cvs://cvs.i2p.net/cvsroot/, cvs://cvs.invisiblenet.net:/cvsroot/freeweb
Вебсайтgeti2p.net

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

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

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

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

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

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

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

На перший погляд може здатися, що робота 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 раніше брали участь у проєктах 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].

IMule в мережі I2P

[ред. | ред. код]
Докладніше: iMule
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

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

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

Див. також

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

Примітки

[ред. | ред. код]
  1. The i2p Open Source Project on Open Hub: Languages Page — 2006.
  2. GitHub — 2007.
  3. https://github.com/PurpleI2P/i2pd
  4. Список сайтів I2P[недоступне посилання з червня 2019]
  5. [1][недоступне посилання з червня 2019]
  6. http://inproxy.tino.i2p.tin0.de. Архів оригіналу за 28 листопада 2009. Процитовано 18 червня 2019. [Архівовано 2009-11-28 у Wayback Machine.]
  7. i2p.to доступ до сайтів всередині I2P зі звичайного інтернету. Архів оригіналу за 27 грудня 2012. Процитовано 15 листопада 2012. [Архівовано 2012-12-27 у Wayback Machine.]
  8. Архівована копія. Архів оригіналу за 10 травня 2017. Процитовано 12 квітня 2018.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  9. За межею невидимості: нові методи зберегти інгоніто в інеті. Архів оригіналу за 16 листопада 2012. Процитовано 15 листопада 2012. [Архівовано 2012-11-16 у Wayback Machine.]

Посилання

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