Next DNS : HTTPS ou Blockchain ?

Le DNS est une technologie qui, bien que fondamentale pour l’ensemble des systèmes d’informations, a peu évoluée depuis sa création en 1983, surtout sur le plan de la confidentialité et de l’intégrité des résultats. La preuve étant que les infrastructures DNS ont toujours été une cible privilégiée des gouvernements autoritaires et des méga-corporations américaines, à des fins de censures pour le 1er, pour monitorer les usages des internautes dans les deux cas.

Cela dit, deux évolutions majeures sont apparues aux cours des dernières années. D’un part, le DNS over HTTPS, une encapsulation du protocole DNS dans HTTPS, proposé par Mozilla et Blockchain DNS, une alternative ambitieuse exploitant la technologie Blockchain.

Les fondamentaux du DNS

Le Domain Name System, abrégé en DNS, qu’on peut traduire en « système de noms de domaine », est le service informatique distribué utilisé pour traduire les noms de domaine Internet en adresse IP ou autres enregistrements (définition Wikipedia). Le but de ce service est, selon la RFC1035, « de fournir un mécanisme de gestion des noms de tel façon que ces derniers sont utilisables par différents hôtes, réseaux, familles de protocoles, organisations administratives ainsi que sur Internet ».

En bref, DNS nous permet à nous, humains, de ne pas avoir à se souvenir des adresses IP des équipements ou services que nous souhaitons contacter, seulement de noms de domaines facilement mémorables.

Ceci étant dit, le protocole possède un problème de sécurité majeure, les paquets DNS ne sont pas chiffrés, ce qui entraîne deux problèmes. Premièrement, si le serveur DNS cible pourra évidement lire le contenu du paquet que vous lui envoyé, c’est aussi le cas de votre FAI, de votre éventuel réseau d’entreprise, voir même des personnes sur le même réseau wifi que vous ! De plus, dans le cas d’un FAI, une réécriture des paquets DNS, à des fins de censures étatiques, est tout à fait possible, c’est d’ailleurs couramment utilisé à travers le monde. Comment résoudre ces problématiques ?

DNS over HTTPS

DNS over HTTPS (DoH) est un protocole permettant d’effectuer une résolution DNS (Domain Name System) à distance via le protocole HTTPS. L’un des objectifs du protocole est d’accroître la confidentialité et la sécurité des utilisateurs en empêchant les écoutes clandestines et la manipulation des données DNS par des attaques de type man-in-the-middle.

Pour résumer, lorsque nous voulons faire une résolution de nom de domaine, une requête HTTPS sera envoyer au serveur DNS, et cette requête sera déchiffrable uniquement par ce serveur, tous les acteurs intermédiaires en étant incapable.

A première vue, on pourrait croire que le DoH résout tous les problèmes mentionnés mais tout n’est pas idéal. D’un part, l’implémentation du DoH dans les navigateurs reposent sur des partenaires tiers, Cloudfare pour Firefox et Google pour Chrome. Là où DNS offrait une infrastructure fédérale, DoH recentralise l’infrastructure DNS entre les mains des quelques gros acteurs, ce qui entraîne l’introduction d’un Single Point of Failure et, de fait, ne résout que partiellement le problème de confidentialité cité en introduction (Il est possible que cette situation évolue).

Enfin, cas plus limite mais possible, un attaquant ayant pris le contrôle d’un serveur et du certificat HTTPS associé pourrait déchiffrer et corrompre les requêtes DNS émises vers ce serveur.

Tout n’est donc pas à jeter mais il existe donc une autre possibilité d’évolution.

DNS on Blockchain

Le DNS on Blockchain (DoB) fonctionne de la manière suivante. La table DNS n’est plus centralisée sur des serveurs mais partagé à travers un réseau peer-to-peer de machines, ces dernières participant toutes à la validation de l’intégrité de la blockchain.

Le propriétaire d’un nom de domaine peut ainsi déposer sur la blockchain une association IP/domaine, qui sera ensuite accessible à tous, la confiance dans la blockchain étant garanti cryptographiquement.

Revenons sur les critiques du DoH, l’introduction d’un Single Point of Failure et la centralisation des services DoH, ainsi qu’une limite dans la validation des requêtes DNS reçues. La blockchain étant par définition partagée entre tous les participants du réseau, un SPoF est par définition impossible.

De plus, la falsification de la blockchain n’est possible qu’à condition qu’un acteur maîtrise plus de 50 % du réseau, ce qui est impossible dans un réseau largement déployé.

Mais encore une fois, tout n’est pas parfait car, en l’état actuel, le DoB est extrêmement sensible au name squatting car, s’il est cryptographiquement garanti que l’adresse IP liée au nom de domaine « google.com » n’a pas été modifié par un tiers, rien ne garantit que cet enregistrement a été effectué à la base par le propriétaire légitime du nom de domaine, en l’occurrence Google.

En l’état actuel, les concepteurs des différentes technologies de DoB prennent peu en compte ces problématiques car, la technologie étant loin d’être mature techniquement, ce n’est pas encore une priorité.

Demain et Après Demain ?

Si le DoB offrent sans aucun doute des perspectives intéressantes, la technologie n’est clairement à un niveau de maturité suffisant pour être utilisables à court terme, voir à moyen terme, tandis que le DoH, bien que présentant des limites voir des aspects inquiétants, a le mérite d’être robuste et quasiment déployé à l’échelle mondiale. Du coup, évolution durable ou technologie transitoire ?


Sources :

https://support.mozilla.org/fr/kb/dns-via-https-firefox

https://fr.wikipedia.org/wiki/Domain_Name_System

https://tools.ietf.org/html/rfc8484https://diode.io/distributed-infrastructure/Why-DNS-on-Blockchain-is-the-next-step-after-DNS-over-HTTPS-19231/

https://www.digitalshadows.com/blog-and-research/how-cybercriminals-are-using-blockchain-dns-from-the-market-to-the-bazar/

https://fr.wikipedia.org/wiki/DNS_over_HTTPShttps://www.bortzmeyer.org/8484.html

https://blockchain-dns.info/explorer/

https://hackernoon.com/everything-you-didnt-know-about-the-handshake-naming-system-how-this-blockchain-project-will-483464309f33

https://tools.ietf.org/html/rfc1035

https://www.technologyreview.com/s/613446/the-ambitious-plan-to-make-the-internets-phone-book-more-trustworthy/

https://www.namecoin.org/

https://coincentral.com/namecoin-nmc-beginners-guide/