Випуск P2P-платформи GNUnet 0.17

Подано випуск фреймворку GNUnet 0.17, призначеного для побудови захищених децентралізованих P2P-мереж. Створювані за допомогою GNUnet мережі не мають єдиної точки відмови та здатні гарантувати недоторканність приватної інформації користувачів, у тому числі виключити можливі зловживання з боку спецслужб та адміністраторів, які мають доступ до вузлів мережі.

GNUnet підтримує створення P2P-мереж поверх TCP, UDP, HTTP/HTTPS, Bluetooth і WLAN, може працювати в режимі F2F (Friend-to-friend). Підтримується обхід NAT, у тому числі з використанням UPnP та ICMP. Для адресації розміщення даних можливе використання розподіленої хеш таблиці (DHT). Надаються засоби для розгортання mesh-мереж. Для вибіркового надання та відкликання прав доступу застосовується сервіс децентралізованого обміну атрибутами ідентифікації reclaimID, що використовує GNS (GNU Name System) та шифрування на основі атрибутів (Attribute-Based Encryption).

Система відрізняється низьким споживанням ресурсів та використанням багатопроцесної архітектури для забезпечення ізоляції між компонентами. Надаються гнучкі засоби для ведення логів та накопичення статистики. Для розробки кінцевих програм GNUnet надає API для мови Сі та біндинги для інших мов програмування. Для спрощення розробки замість потоків пропонується використовувати цикли обробки подій (event loop) та процеси. До складу входить тестова бібліотека для автоматичного розгортання експериментальних мереж, що охоплюють десятки тисяч бенкетів.

На базі технологій GNUnet розвивається кілька готових програм:

  • Система доменних імен GNS (GNU Name System), яка виступає як повністю децентралізована і недоступна для цензури заміни DNS. GNS може застосовуватися пліч-о-пліч з DNS і використовуватися в традиційних додатках, таких як web-браузери. На відміну від DNS у GNS замість деревоподібної ієрархії серверів застосовується спрямований граф. Перетворення імен подібно до DNS, але запити та відповіді виконуються зі збереженням конфіденційності - обробний запит вузол не знає кому віддається відповідь, а транзитні вузли та сторонні спостерігачі не можуть розшифрувати запити та відповіді. Цілісність і незмінність записів забезпечується рахунок використання криптографічних механізмів. DNS-зона GNS визначається за допомогою зв'язки з відкритого і закритого ключів ECDSA на основі еліптичних кривих Curve25519.
  • Сервіс для анонімного обміну файлами, що не дозволяє проаналізувати інформацію за рахунок передачі даних тільки в зашифрованому вигляді і не дає відстежити, хто розмістив, шукав і скачав файли завдяки використанню протоколу GAP.
  • Система VPN для створення прихованих сервісів у домені «.gnu» та прокидання тунелів IPv4 та IPv6 поверх P2P-мережі. Додатково підтримуються схеми трансляції IPv4-в-IPv6 і IPv6-в-IPv4, а також створення тунелів IPv4-поверх-IPv6 і IPv6-поверх-IPv4.
  • Сервіс GNUnet Conversation для здійснення голосових викликів поверх GNUnet. Для ідентифікації користувачів використовується GNS, вміст голосового трафіку передається у зашифрованому вигляді. Анонімність поки не надається - інші бенкети можуть відстежити з'єднання між двома користувачами та визначити їх IP-адреси.
  • Платформа для побудови децентралізованих соціальних мереж Secushare, що використовує протокол PSYC і підтримує розповсюдження повідомлень у режимі multicast із застосуванням end-to-end шифрування для того, щоб доступ до повідомлень, файлів, чатів та обговорень могли отримати лише авторизовані користувачі (ті, кому повідомлення не адресовані) , включаючи адміністраторів вузлів, не зможуть їх прочитати);
  • Система для організації шифрованої електронної пошти pretty Easy privacy, що застосовує GNUnet для захисту метаданих та підтримує різні криптографічні протоколи для верифікації ключів;
  • Платіжна система GNU Taler, що надає анонімність для покупців, але відстежує транзакції продавців для забезпечення прозорості та надання податкової звітності. Підтримується робота з різними існуючими валютами та електронними грошима, у тому числі з доларами, євро та біткоїнами.

У новій версії GNUnet внесено зміни, що порушують сумісність протоколу та призводять до можливих проблем при взаємодії вузлів на базі GNUnet 0.17 та старих випусків. Зокрема, порушено сумісність на рівні розподіленої хеш таблиці (DHT) – реалізація DHT оновлена ​​до нової версії специфікації, а визначення типів блоків перенесено до GANA (GNUnet Assigned Numbers Authority). Додано підтримку вирівняних та перегрупованих форматів повідомлень. З нового варіанта специфікації також перенесено несумісні зміни, що стосуються децентралізованої системи доменних імен GNS (GNU Name System). Для записів, що додаються в GNS, надано можливість налаштування часу життя запису.

Джерело: opennet.ru

Додати коментар або відгук