Представяме изданието на фреймворка GNUnet 0.25, създаден за изграждане на защитени децентрализирани P2P мрежи. Мрежите, изградени с помощта на GNUnet, нямат единична точка на отказ и могат да гарантират неприкосновеността на личната информация на потребителите, включително да предотвратят възможни злоупотреби от страна на администратори, които имат достъп до възлите на мрежата.
GNUnet поддържа създаването на P2P мрежи върху TCP, UDP, HTTP/HTTPS, Bluetooth и WLAN, и може да работи в режим F2F (от приятел до приятел). Поддържа обход на NAT, включително с използване на UPnP и ICMP. За адресиране на разположението на данни е възможно да се използва разпределена хеш таблица (DHT). Предоставят се средства за разгръщане на mesh мрежи. За селективно предоставяне и отнемане на права за достъп се прилага услугата за децентрализирана размяна на атрибути за идентификация reclaimID, използваща GNS (GNU Name System) и криптиране на базата на атрибути (Attribute-Based Encryption).
Системата е с ниско потребление на ресурси и използва многопроцесна архитектура за осигуряване на изолация между компонентите. Предоставят се средства за водене на логове и натрупване на статистически данни. За разработка на крайни приложения, GNUnet предоставя основен API за езика C и обвивки за други програмни езици. За улесняване на разработката вместо потоци се предлага използването на цикли за обработка на събития (event loop) и процеси. Включена е тестова библиотека за автоматично разгръщане на експериментални мрежи, обхващащи десетки хиляди пирове.
На базата на технологиите на GNUnet се разработват няколко готови приложения:
- Системата за домейни GNS (GNU Name System) служи като напълно децентрализирана и неконтролируема алтернатива на DNS. GNS може да се използва заедно с DNS и в традиционни приложения, като уеб браузъри. За разлика от DNS, GNS прилага насочена граф структура вместо дървовидна йерархия на сървърите. Преобразуването на имена е подобно на това при DNS, но запитванията и отговорите се извършват с гарантирана конфиденциалност — узелът, който обработва запитването, не знае на кого отговаря, а транзитните узли и странични наблюдатели не могат да декодират запитванията и отговорите. Цялостта и неизменността на записите се осигурава чрез използване на криптографски механизми. DNS зоната в GNS се определя с помощта на двойка от публичен и частен ключ ECDSA, базиран на елиптичните криви Curve25519.
- Услуга за анонимен обмен на файлове, която предотвратява анализа на информацията, тъй като данните се предават само в криптиран вид и не позволява проследяване на това кой е качил, търсил и изтеглил файлове, благодарение на използването на протокола GAP.
- Система VPN за създаване на скрити услуги в домейна '.gnu' и пробиване на тунели IPv4 и IPv6 през P2P мрежа. Допълнително се поддържат схеми за трансформация от IPv4 в IPv6 и обратно, както и създаване на тунели IPv4 върху IPv6 и IPv6 върху IPv4.
- Услуга GNUnet Conversation за провеждане на гласови разговори през GNUnet. За идентификация на потребителите се използва GNS, съдържанието на гласовия трафик се предава в криптиран вид. Анонимността все още не е предоставена — другите потребители могат да проследят връзката между двама потребители и да определят техния. IP адреси.
- Платформа за изграждане на децентрализирани социални мрежи Secushare, която използва протокола PSYC и поддържа разпространение на уведомления в режим multicast с end-to-end криптиране, така че само упълномощени потребители да имат достъп до съобщения, файлове, чатове и обсъждания (потребители, до които не са адресирани съобщенията, включително администратори на узли, няма да могат да ги прочетат);
- Платежната система GNU Taler предоставя анонимност за потребителите, но проследява транзакциите на продавачите за осигуряване на прозрачност и предоставяне на данъчни отчети. Поддържа работа с различни съществуващи валути и електронни пари, включително долари, евро и биткойни.
- Сервизът GNUnet Messenger за създаване на защитени приложения за чат. За осигуряване на конфиденциалност и защита от прихващане на съобщения се използва протоколът CADET (Confidential Ad-hoc Decentralized End-to-End Transport), който позволява напълно децентрализирано взаимодействие между група потребители с използване на крайно шифроване на предаваните данни.
В новата версия:
- Преработената подсистема CORE осигурява маршрутизация и обмен на информация между възлите в децентрализирана мрежа. Предложена е нова реализация на защитени канали за комуникация, в които е внедрен вариант на протокола за съгласуване на шифровани връзки KEMTLS, използващ алгоритми X25519, XChaCha20 и Poly1305, както и много концепции от протокола DTLS 1.3.
- Добавен е сервиз PILS (Peer Identity Lifecycle) за идентификация на участниците в мрежата, който позволява генерирането на идентификатори на пирите в зависимост от текущия контекст на свързване. Например, при достъп от дома на участника ще бъде генериран един идентификатор, а при пътуване в чужбина — друг, което не позволява проследяване на местоположението на участника.
- Значително увеличена производителността на сервиза за предаване (AXFR/IXFR) на DNS зони в GNS. Добавени са нови утилити за огледало и импорт на DNS зони от файлове.
- В сборната система прекратена е поддръжката на AutoTools.
Източник: opennet.ru
