Das IETF-Komitee (Internet Engineering Task Force), das sich mit der Entwicklung von Protokollen und der Architektur des Internets beschĂ€ftigt, hat die Bildung eines RFC fĂŒr das GNS (GNU Name System) abgeschlossen, das vom Projekt GNUnet als vollstĂ€ndig dezentralisierte und zensurresistente Alternative zu DNS entwickelt wird. Die als RFC-9498 veröffentlichte Spezifikation hat den Status "Vorgeschlagener Standard" erhalten. Eine vollstĂ€ndig konforme Implementierung von GNS, die den veröffentlichten RFC berĂŒcksichtigt, ist Teil der GNUnet-Plattform 0.20.0 und zusĂ€tzlich im Quellcode des Projekts GNUnet-Go verfĂŒgbar.
GNS kann parallel zu DNS eingesetzt werden und in traditionellen Anwendungen wie Webbrowsern verwendet werden. Die IntegritĂ€t und UnverĂ€nderbarkeit der EintrĂ€ge wird durch den Einsatz kryptografischer Mechanismen gewĂ€hrleistet. Im Gegensatz zu DNS verwendet GNS anstelle einer baumartigen Hierarchie Server einen gerichteten Graphen. Die Namensumwandlung Ă€hnelt der von DNS, jedoch werden Anfragen und Antworten unter Wahrung der PrivatsphĂ€re durchgefĂŒhrt â der anfragende Knoten weiĂ nicht, an wen die Antwort gegeben wird, und transitierende Knoten sowie Dritte können die Anfragen und Antworten nicht entschlĂŒsseln.
Eine DNS-Zone in GNS wird durch ein Paar aus einem öffentlichen und einem privaten ECDSA-SchlĂŒssel basierend auf der elliptischen Kurve Curve25519 definiert. Die Verwendung von Curve25519 wird von einigen als etwas seltsamer Schritt wahrgenommen, da fĂŒr ECDSA normalerweise andere Typen elliptischer Kurven verwendet werden, und im Zusammenhang mit Curve25519 wird in der Regel der moderne und sicherere Ed25519-Algorithmus fĂŒr digitale Signaturen verwendet, der schneller als ECDSA ist. Auch die Wahl der SchlĂŒssellĂ€nge â 32 Bytes im Gegensatz zu den ĂŒblicherweise fĂŒr Ed25519 verwendeten 64 Bytes â sowie die Anwendung einer kaskadierenden symmetrischen VerschlĂŒsselung unter Verwendung von AES- und TwoFish-Algorithmen im CFB-Modus werfen aus der Sicht der Krypto-Sicherheit Fragen auf.
Ein solcher Ansatz wird durch die Notwendigkeit gerechtfertigt, hierarchische SchlĂŒssel zu implementieren, die es ermöglichen, den Stammöffentlichen SchlĂŒssel zur Ableitung untergeordneter öffentlicher SchlĂŒssel zu verwenden, wobei die LinearitĂ€t der Curve25519 ausgenutzt wird. Diese Besonderheit ermöglicht es, untergeordnete öffentliche SchlĂŒssel ohne Kenntnis der privaten Stamm-Keys zu generieren. Diese Technik wird auch in Bitcoin verwendet. Die GröĂe des SchlĂŒssels von 32 Bytes wurde gewĂ€hlt, damit der SchlĂŒssel in einen DNS-Eintrag passt.
Quelle: opennet.ru
