Dans sa version 83, le navigateur Chrome introduit une nouveauté majeure, à savoir le « DNS sécurisé ». Cette fonction permet de chiffrer les requêtes DNS (Domain Name System) et elle est activée par défaut si le fournisseur d’accès Internet le propose. Après Firefox, c’est le deuxième grand navigateur à intégrer cette technologie. Étant donné ses parts de marché, il va probablement contribuer à un blindage généralisé de ce protocole qui est l’un des piliers du web.
En effet, le DNS, c’est un peu l’annuaire du web. Il permet d’obtenir l’adresse IP d’un serveur web à partir d’un nom de domaine. Le protocole utilisé est à la fois hiérarchique et récursif. Le navigateur va d’abord interroger le serveur DNS du fournisseur d’accès Internet. S’il ne trouve pas la réponse dans son cache, la requête est envoyée aux serveurs racine du DNS, puis transférée selon un principe de délégation aux registres concernés avant d’atterrir sur le serveur DNS du site en question.
Le problème, c’est que toutes ces requêtes DNS passent en clair sur Internet. Quelqu’un peut donc les intercepter et savoir quels sites on visite en temps réel. Cela ouvre donc la porte à une surveillance de masse. Ces requêtes peuvent également être modifiées à la volée. Un pirate peut alors aiguiller l’internaute sur un faux site vérolé et, par exemple, faire une tentative de phishing ou diffuser un malware.
En ajoutant une couche de chiffrement, non seulement les données DNS ne peuvent plus être lues ou modifiées, mais en plus on est certain d’être en relation avec le bon serveur DNS. « Le DNS est le dernier grand protocole du web qui ne soit pas encore chiffré et il faut qu’il le soit. C’est d’autant plus important que les requêtes DNS voyagent beaucoup plus que les requêtes HTTP par exemple, en raison des multiples serveurs DNS qui constituent ce système », nous explique Stéphane Bortzmeyer, ingénieur réseau.
Il existe deux standards de chiffrement du DNS approuvés officiellement par l’organisme IETF : DNS-over-HTTPS (DoH) et DNS-over-TLS (DoT). Dans les deux cas, les données DNS sont chiffrées entre le terminal et le résolveur au moyen du protocole TLS. Celui-ci assure la confidentialité, l’intégrité et l’authenticité des informations. La différence, c’est qu’avec DoH, les requêtes DNS chiffrées sont encapsulées dans des flux HTTP. D’un point de vue technique, DoT est plus clean et plus rapide, car les échanges se passent seulement au niveau de la couche réseau. Avec DoH, à l’inverse, on fait également intervenir la couche applicative du web. Les ingénieurs, qui détestent le superflu, préfèrent généralement la variante DoT.
Et pourtant, les navigateurs web tels que Firefox et Chrome ont choisi DoH. Pourquoi ? Car les échanges DoT utilisent un port spécifique, à savoir 853. Ils peuvent donc facilement être détectés et bloqués par un acteur malintentionné. Les échanges DoH, de leurs côtés, utilisent le port 443, comme tous les autres flux HTTPS. Noyés dans la masse, ils sont donc beaucoup plus difficiles à détecter et bloquer. « Le DoT est plus rationnel, car il ne dispose pas de la couche applicative. Mais le DoH est plus pragmatique, car il passe partout », résume Stéphane Bortzmeyer.
Fin de la surveillance de masse?
L’arrivée du DoH dans les navigateurs web n’est pas sans provoquer quelques remous. En 2019, une association de FAI britannique a traité Mozilla de « méchant », estimant que son implémentation allait empêcher la censure légale mise en œuvre par les opérateurs dans le domaine du terrorisme, de la pédopornographie ou du piratage audiovisuel. Le service de renseignement britannique GCHQ a également tiré à boulets rouges sur ce protocole, car il risquerait de freiner les enquêtes (source: ZDnet).
Ces craintes ne sont pas totalement infondées. En Europe, la censure légale s’appuie sur des listes noires DNS. Elles sont décidées par les juges et mises en œuvre par les FAI. Mais si l’internaute abandonne le service de résolution DNS de son FAI au profit d’un autre, situé à l’étranger par exemple, ce système de censure ne fonctionne plus. La surveillance, en revanche, reste possible, car il existe toujours des informations non chiffrées dans les échanges web qui permettent de savoir quels sites on visite.
C’est le cas par exemple du champ SNI (Server Name Indication) dans le protocole TLS, qui affiche le nom de domaine visité en clair tout au début de la phase de connexion. Certes, des travaux sont en cours pour chiffrer également cette donnée, mais si c’est le cas, votre opérateur connaîtra quand même l’adresse IP du site web visité. Et donc aussi l’agence de renseignement si elle lui demande. Bref, avec le chiffrement du DNS, la surveillance devient moins facile, mais elle reste toujours largement faisable. Les dissidents politiques dans les pays autocratiques devront donc continuer à utiliser d’autres outils tels que Tor ou les VPN pour se protéger.
Une autre critique qui a été formulée est celle de la centralisation. En choisissant Cloudflare comme service DoH par défaut dans Firefox, Mozilla favoriserait la création d’un monopole ou oligopole du DNS. « Il est absurde de mettre cela sur le dos de la technologie DoH. Il suffit de créer un choix suffisamment large pour éviter cela », estime Stéphane Bortzmeyer.
A noter, par ailleurs, qu’il n’y pas que les navigateurs qui intègrent le chiffrement du DNS. Les systèmes d’exploitation ont également pris ce train en marche. Android propose ainsi le DoT depuis la version 9. Le DoH, de son côté, a fait récemment son apparition dans la version expérimentale de Windows 10. Ainsi, toutes les applications qui tournent sur ces systèmes peuvent profiter de cette nouvelle protection, et pas seulement les navigateurs.
Enfin, soulignons que choisir un service DNS chiffré est tout aussi compliqué que de choisir un VPN. Ce n’est pas parce qu’on utilise le chiffrement que les réponses DNS envoyées par le prestataire sélectionné sont honnêtes et non manipulées. C’est avant tout une question de confiance. Vouloir échapper à la surveillance de son FAI est compréhensible, mais est-ce que l’herbe est vraiment plus verte chez Google et Cloudflare ? Vaste dilemme…