Доступний GNUnet 0.12, фреймворк для побудови захищених P2P-мереж

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

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 0.12:

  • У децентралізованій системі доменних імен GNS (GNU Name System) внесено зміни до протоколів формування ключа (для відповідності розвивається специфікації майбутнього стандарту). Імена доменів та мітки представлені в UTF-8, без застосування punycode-нотації IDNA. Для обробки нестандартних імен IDNA запропоновано NSS-плагін. Також доданий плагін для блокування запитів від root (GNUnet ніколи не має запускатися з правами root).
  • У GNS та NSE (Network Size Estimation) змінено алгоритм доказу виконання роботи (proof of work), що використовується при відкликанні доменної зони. Зміни пов'язані з ускладненням обчислень спеціалізованих ASIC.
  • Плагін з реалізацією транспорту поверх UDP переведений у категорію експериментальних через проблеми зі стабільністю;
  • Поліпшено та документований бінарний формат для відкритих ключів RSA;
  • Прибрано зайве хешування у цифрових підписах EdDSA;
  • Додано можливість встановлення скрипту gnunet-logread для проведення аудиту логів;
  • Реалізацію ECDH переведено на код TweetNaCl;
  • Вирішено багато проблем у складальній системі. З залежностей прибраний
    GLPK (GNU Linear Programming Kit). Додано коректний опис пакета для дистрибутивів на базі пакетного менеджера Гікс.

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

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

Джерело: opennet.ru

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