Излезе P2P платформата GNUnet 0.13. Напредък на GNS като интернет стандарт

Комитет IETF (Internet Engineering Task Force), който се занимава с развитието на протоколите и архитектурата на Интернет, започна процеса на стандартизация на системата за домейни GNS (GNU Name System), разработвана от проекта GNUnet като напълно децентрализирана и недостъпна за цензура замяна на DNS. В момента публикуван първата чернова на стандарта, след стабилизацията на който ще бъде оформен RFC, имащ статус на „Предложен стандарт“.

GNS може да се използва паралелно с DNS и в традиционни приложения, като уеб браузъри. Цялостта и неизменността на записите се осигурява чрез криптографски механизми. За разлика от DNS, в GNS вместо дървовидна йерархия на сървърите се използва ориентирован граф. Преобразуването на имената е подобно на DNS, но заявките и отговорите се извършват с запазване на конфиденциалността — узелът, обработващ заявката, не знае на кого се предоставя отговорът, а транзитните възли и външните наблюдатели не могат да декриптират заявките и отговорите.

DNS зоната в GNS се определя с помощта на двойка от публичен и частен ключ ECDSA на базата на елиптични криви Curve25519. Използването на Curve25519 се възприема от някои като доста странен ход, тъй като за ECDSA се използват други видове елиптични криви, а в комбинация с Curve25519 обикновено се използва алгоритъм за цифрови подписи Ed25519, по-модерен, по-безопасен и по-бърз от ECDSA. От гледна точка на криптостойката също поставя под съмнение избора на размера на ключа — 32 байта вместо 64 байта, обикновено използвани за Ed25519, както и използването на каскадно симетрично криптиране, използвайки алгоритмите AES и TwoFish в режим CFB.

Тази подходяща техника се обяснява с необходимостта от реализиране на йерархични ключове, които позволяват използването на коренния публичен ключ за извличане на дочерния публичен ключ, произтичайки от свойствата на линейността на Curve25519. Тази особеност позволява получаването на дочерни публични ключове без знание за частните коренни ключове. Указаната техника също се прилага в Bitcoin. Размерът на ключа от 32 байта е избран, за да може ключът да се побере в един DNS запис.

Допълнително може да бъде отбелязано ново издание фреймворк GNUnet 0.13, предназначен за изграждане на защитени децентрализирани P2P мрежи. Създадените с GNUnet мрежи нямат единна точка за отказ и могат да гарантират неприкосновеността на личната информация на потребителите, включително да изключат потенциалните злоупотреби от страна на специални служби и администратори, имащи достъп до възлите в мрежата. Пускането е отбелязано като съдържащо значителни изменения в протокола, нарушаващи обратната съвместимост с версиите 0.12.x.

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) и процеси. Включена е тестова библиотека за автоматично разгръщане на експериментални мрежи, обхващащи десетки хиляди пирa.

Освен GNS на база технологии GNUnet също се развиват няколко готови приложения:

  • Услуга за анонимен обмен на файлове, която не позволява анализ на информацията, тъй като данните се предават само в криптиран вид и не позволява проследяване на това, кой е поставил, търсил или свалил файловете благодарение на използването на протокол 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.13:

  • Въведен е регистър GANA (GNUnet Assigned Numbers Authority), отговорен за назначаването на имена и адреси за GNUnet.
  • Реализацията на децентрализирана система за домейни GNS е приведена в съответствие с спецификацията, предложена в IETF. Установена е работа на NSS-плагина „block“. Добавени са нови флагове SUPPLEMENTAL за записи, които явно не са публикувани под зададена етикета, но се връщат от резолвера. В утилитата gnunet-namestore е добавено извеждане на предупреждение при добавяне на записи TLSA или SRV извън записа BOX.
  • В механизма за отмяна на ключове (GNS/REVOCATION) функцията на доказателствата за извършена работа е преведена на използване на алгоритъма за хеширане Argon2.
  • В услугата за децентрализирана размяна на атрибути за идентификация (RECLAIM) размерът на билетата е увеличен до 256 бита.
  • Транспортният плъгин, използващ протокола UDP за предаване на данни, е преместен в категорията на експерименталните поради съществуващи проблеми със стабилността;
  • Форматът на файловете с ключове и методът на сериализация на закритите ключове ECDSA е унифициран с други библиотеки (старите ключове ще спрат да работят).
  • Като реализация на алгоритмите за криптиране, базирани на елиптични криви, е използвана библиотеката libsodium.
  • Добавена е възможността за компилиране на утилити с библиотеката cURL, независима от gnutls.
  • Възстановен е сървърът за непрекъсната интеграция. Buildbot.
  • В зависимостите за компилиране са включени библиотеките libmicrohttpd, libjansson и libsodium.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster