Издаване на 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 (Friend-to-friend). Поддържа обход на NAT, включително с използване на UPnP и ICMP. За адресиране на данни може да се използва разпределена хеш таблица (DHT). Осигурени са средства за разгръщане на mesh мрежи. За селективно предоставяне и отнемане на права за достъп се прилага услуга за децентрализирана разменя на атрибути за идентификация reclaimID, използващ GNS (GNU Name System) и криптиране на базата на атрибути (Attribute-Based Encryption).

Системата се отличава с ниска консумация на ресурси и използване на многопроцесорна архитектура за осигуряване на изолираност между компонентите. Осигурени са гъвкави средства за водене на логове и събиране на статистика. За разработка на крайни приложения GNUnet предоставя API за езика C и биндинги за други програмни езици. За улесняване на разработката вместо потоци се предлага използването на цикли за обработка на събития (event loop) и процеси. В състава има тестова библиотека за автоматично разгръщане на експериментални мрежи, обхващащи десетки хиляди пирове.

Освен 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