Комитетът IETF (Internet Engineering Task Force), който се занимава с развитието на протоколи и архитектура на Интернет, стартира процес на стандартизация на системата за домейнни имена GNS (GNU Name System), разработвана от проекта като напълно децентрализирана и недостъпна за цензура алтернатива на DNS. В момента е наличен първият предварителен вариант на стандарта, след стабилизирането на който ще бъде създаден RFC, който ще получи статус на „Предложен стандарт“.
може да се използва успоредно с DNS и да се прилага в традиционни приложения, като уеб браузъри. Целостта и неизменността на записите се осигурява чрез криптографски механизми. За разлика от DNS, в GNS вместо дървовидна йерархия на сървъри се използва насочен граф. Преобразуването на имена е подобно на DNS, но запитванията и отговорите се извършват с запазване на конфиденциалността — възли, обработващи запитванията, не знаят на кого се дава отговор, а транзитните възли и трети наблюдатели не могат да дешифрират запитвания и отговори.
DNS зоната в GNS се определя чрез комбинация от отворен и затворен ключ на базата на елиптични криви . Използването на Curve25519 от някои като много странна стъпка, тъй като за ECDSA се използват други типове елиптични криви, а в комбинация с Curve25519 обикновено се използва алгоритъм за цифрови подписи , , по-безопасен и по-бърз от ECDSA. От гледна точка на криптоустойчивостта, също повдига съмнения изборът на размер на ключа — 32 байта вместо 64 байта, обикновено използвани за Ed25519, както и приложение на симетрично шифриране, използвайки алгоритми AES и TwoFish в режим CFB.
Такъв подход се обяснява с необходимостта от реализиране на йерархични ключове, позволяващи използването на кореновия публичен ключ за извличане на дъщерни публични ключове, възползвайки се от свойството за линейност на кривата Curve25519. Тази особеност позволява получаването на дъщерни публични ключове без познаване на затворените коренови ключове. Указаната техника също в Bitcoin. Размерът на ключа от 32 байта е избран, за да може ключът да се вмести в един DNS запис.
Допълнително може да се отбележи фреймворка , предназначено за изграждане на защитени декентрализирани P2P мрежи. Създадените с GNUnet мрежи нямат единна точка на отказ и могат да гарантират неприкосновеността на личната информация на потребителите, включително да изключат възможни злоупотреби от страна на специалните служби и администратори с достъп до възлите на мрежата. Изданието е отбелязано като съдържащо значителни промени в протокола, които нарушават обратната съвместимост с версиите 0.12.x.
GNUnet поддържа създаването на P2P мрежи върху TCP, UDP, HTTP/HTTPS, Bluetooth и WLAN, може да работи в режим F2F (Friend-to-friend). Поддържа обход на NAT, включително с използване на UPnP и ICMP. За адресиране на данни може да се използва разпределена хеш таблица (DHT). Осигурени са средства за разгръщане на mesh мрежи. За селективно предоставяне и отнемане на права за достъп се прилага услуга за децентрализирана разменя на атрибути за идентификация , GNS (GNU Name System) и криптиране на базата на атрибути ().
Системата се отличава с ниска консумация на ресурси и използване на многопроцесорна архитектура за осигуряване на изолираност между компонентите. Осигурени са гъвкави средства за водене на логове и събиране на статистика. За разработка на крайни приложения 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 адреси.
- Платформа за изграждане на децентрализирани социални мрежи , използваща протокола и поддържаща разпространение на известия в режим multicast с прилагане на end-to-end криптиране, за да имат достъп до съобщенията, файловете, чатове и дискусии само упълномощени потребители (тези, на които не са адресирани съобщенията, включително администраторите на възлите, няма да могат да ги прочетат);
- Система за организиране на криптирана електронна поща , прилагаща GNUnet за защита на метаданните и поддържаща различни за верификация на ключовете;
- Платежна система , предоставяща анонимност на купувачите, но проследяваща транзакциите на продавачите за осигуряване на прозрачност и предоставяне на данъчна отчетност. Поддържа работа с различни съществуващи валути и електронни пари, включително с долари, евро и биткойни.
Основни нововъведения в GNUnet 0.13:
- Въведен е в действие регистър (GNUnet Assigned Numbers Authority), отговорен за назначаването на имена и адреси за GNUnet.
- Реализацията на децентрализирана система за домейн имена GNS е приведена в съответствие с , предложена в IETF. Настроена е работата на NSS плъгина „block“. Добавени са нови флагове SUPPLEMENTAL за записи, които явно не са публикувани под зададена етикет, но се връщат от резолвера. В утилитата gnunet-namestore е добавено предупреждение при добавяне на записи TLSA или SRV извън записа .
- В механизма за отмяна на ключове (GNS/REVOCATION) функцията е прехвърлена на използване на алгоритъм за хеширане Argon2.
- В услугата за децентрализирано обменяне на атрибути за идентификация (RECLAIM) размерът на тикета е увеличен до 256 бита.
- Транспортният плъгин, използващ за предаване на данни протокол UDP, е преместен в категорията за експериментални заради наличието на проблеми с надеждността;
- Форматът на файла с ключове и методът за сериализация на частните ключове ECDSA са унифицирани с други библиотеки (старите ключове ще спрат да работят).
- В качеството на реализация на алгоритмите за криптиране на базата на елиптични криви е използвана библиотеката .
- Добавена е възможността за компилиране на утилити с библиотеката cURL, несвързана с gnutls.
- Възстановен е сървърът за непрекъсната интеграция .
- В зависимостите за сборка са включени библиотеките libmicrohttpd, libjansson и libsodium.
Източник: opennet.ru
