IETF (Internet Engineering Task Force), som udvikler internetprotokoller og arkitektur, har færdiggjort RFC for GNS (GNU Name System) domænenavnesystemet, udviklet af GNUnet-projektet som en fuldt decentraliseret og censursikker erstatning for DNS. Specifikationen, udgivet som RFC-9498, fik status som "Proposed Standard". En fuldt offentliggjort RFC-kompatibel implementering af GNS er inkluderet i GNUnet-platformen 0.20.0 og er desuden tilgængelig i GNUnet-Go-projektets kodebase.
GNS kan bruges sammen med DNS og i traditionelle applikationer såsom webbrowsere. Integriteten og uforanderligheden af poster sikres ved hjælp af kryptografiske mekanismer. I modsætning til DNS bruger GNS et træbaseret hierarki i stedet for et træbaseret hierarki. servere Der bruges en rettet graf. Navneopløsning svarer til DNS, men forespørgsler og svar håndteres fortroligt – den node, der behandler forespørgslen, ved ikke, hvem svaret returneres til, og transitnoder og tredjepartsobservatører kan ikke dekryptere forespørgsler og svar.
DNS-zonen i GNS bestemmes ved hjælp af en masse offentlige og private ECDSA-nøgler baseret på Curve25519 elliptiske kurver. Brugen af Curve25519 opfattes af nogle som et meget mærkeligt skridt, da andre typer elliptiske kurver bruges til ECDSA, og i kombination med Curve25519 bruger de som regel Ed25519 digital signaturalgoritmen, som er mere moderne, mere sikker og hurtigere end ECDSA . Ud fra et synspunkt af kryptografisk styrke er valget af nøglestørrelse også tvivlsomt - 32 bytes i stedet for 64 bytes, normalt brugt til Ed25519, samt brugen af kaskadedelt symmetrisk kryptering ved hjælp af AES- og TwoFish-algoritmerne i CFB-tilstand.
Denne tilgang forklares med behovet for at implementere hierarkiske nøgler, hvilket gør det muligt at bruge den offentlige rodnøgle til at udtrække en underordnet offentlig nøgle ved at udnytte linearitetsegenskaben i Curve25519. Denne funktion giver dig mulighed for at få underordnede offentlige nøgler uden at kende de private rodnøgler. Denne teknik bruges også i Bitcoin. Nøglestørrelsen på 32 byte blev valgt for at tillade nøglen at passe ind i én DNS-post.
Kilde: opennet.ru
