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

Подано випуск фреймворку GNUnet 0.16, призначеного для побудови захищених децентралізованих 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 0.16:

  • Оновлено специфікацію децентралізованої системи доменних імен GNS (GNU Name System). Запропоновано новий тип записів REDIRECT, який змінився записам CNAME. Додано новий прапор записів — CRITICAL, яким можуть позначатися особливо важливі записи, неможливість обробки яких має призводити до повернення помилки визначення імені. Операції установки VPN-тунелю винесені з резолвера до програм, такі як сервіс DNS2GNS.
  • У розподіленій хеш таблиці (DHT) реалізовано можливість засвідчення маршрутів цифровим підписом. Метрики про довжину маршруту переведені використання традиційної операції XOR. Оновлено специфікацію структур даних, криптографічних функцій та ресурсних записів DHT.
  • У сервіс децентралізованого обміну атрибутами ідентифікації (RECLAIM) додана підтримка децентралізованих ідентифікаторів (DID, Decentralized Identifier) ​​та облікових даних, що верифікуються (VC, Verifiable Credentials).
  • Для платіжної системи GNU Taler реалізовано підтримку сліпих цифрових підписів Клауса Шнорра (підписувач не може отримати доступ до вмісту).
  • У системі складання забезпечено генерацію актуальних заголовних файлів з GANA (GNUnet Assigned Numbers Authority). При збиранні з git тепер потрібна наявність recutils.

Джерело: opennet.ru

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