IETF (Internet Engineering Task Force), der arbejder på udviklingen af internetprotokoller og arkitektur, har afsluttet udformningen af RFC for GNS (GNU Name System), der udvikles af projektet GNUnet som et fuldstændig decentraliseret og censurresistent alternativ til DNS. Specifikationen, offentliggjort som RFC-9498, har fået status som "Foreslået standard". Den fuldt RFC-kompatible implementering af GNS er en del af GNUnet platformen 0.20.0 og er yderligere tilgængelig i GNUnet-Go projektets kodebase.
GNS kan bruges side om side med DNS og i traditionelle applikationer som webbrowsere. Integriteten og uændretheden af poster sikres gennem brug af kryptografiske mekanismer. I modsætning til DNS anvender GNS i stedet for en træstruktur en rettet graf. servere Navneomdannelse ligner DNS, men forespørgsler og svar udføres med opretholdelse af fortrolighed — den node, der behandler forespørgsselen, ved ikke, hvem svaret gives til, og transit-noder samt eksterne observatører kan ikke dekryptere forespørgsler og svar.
DNS-zonen i GNS defineres ved hjælp af et par åbne og lukkede ECDSA-nøgler baseret på elliptiske kurver Curve25519. Nogle betragter brugen af Curve25519 som en temmelig mærkelig tilgang, da andre typer elliptiske kurver normalt anvendes til ECDSA, mens Ed25519, en nyere, mere sikker og hurtigere digital signatur algoritme, normalt anvendes sammen med Curve25519. Valget af nøglestørrelse rejser også spørgsmål om kryptografisk sikkerhed — 32 byte i stedet for 64 byte, som normalt bruges til Ed25519, samt brugen af kaskade symmetrisk kryptering ved anvendelse af algoritmerne AES og TwoFish i CFB-tilstand.
Denne metode forklares ved nødvendigheden af at implementere hierarkiske nøgler, der gør det muligt at bruge den rod-åbne nøgle til at udtrække den underordnede åbne nøgle, idet man udnytter lineariteten i Curve25519-kurven. Denne egenskab gør det muligt at generere underordnede nøgler uden at kende de lukkede rod-nøgler. Den nævnte teknik anvendes også i Bitcoin. Den 32-byte nøglestørrelse er valgt for at nøglen kan være indeholdt i én DNS-post.
Kilde: opennet.ru
