DNS over HTTPS (DoH) : une sécurité renforcée sur Internet

Le Domain Name System (DNS) est une solution qui a fait ses preuves. Le principe est simple : l’utilisateur saisit dans la barre d’adresse de son navigateur une adresse Web unique, puis le système identifie l’adresse IP correspondante dans un délai très court. Pour ce faire, on fait appel à différents serveurs de noms où est enregistrée l’adresse numérique qui correspond à l’URL. Bien qu’il reste en théorie parfaitement fonctionnel, le DNS est devenu obsolète. Lorsque ce système a été développé, voilà déjà plusieurs décennies, la sécurité ne faisait pas partie des préoccupations majeures.

Aujourd’hui, la situation a bien changé et le niveau de sécurité offert par le DNS est tout sauf satisfaisant. En effet, il transmet les requêtes et réponses sans chiffrement, ce qui signifie qu’elles peuvent être lues par n’importe qui - un cybercriminel par exemple, qui pourrait sans difficulté les intercepter sur son propre serveur. Ce phénomène de DNS Hijacking entraîne les utilisateurs vers des sites infectés de malwares, utilisés pour de l’hameçonnage ou qui submergent le visiteur d’une quantité incroyable de publicités. C’est pourquoi le DNS over HTTPS (DoH) fait actuellement l’objet d’un débat entre experts du domaine. Cette approche permet-elle de rendre la navigation sur Internet plus sécurisée ?

Pourquoi a-t-on besoin du DNS over HTTPS ?

Le DoH permet d’atteindre simultanément plusieurs objectifs : Le fait d’exécuter le DNS sur le protocole sécurisé HTTPS vise en premier lieu à renforcer la sécurité et la confidentialité des utilisateurs. La connexion HTTPS est chiffrée, ce qui empêche à des tiers d’intervenir ou d’espionner la résolution du nom. Sans autorisation, il est impossible de savoir quelle est l’URL requise et par conséquent de modifier la réponse fournie.

Cela permet de contribuer à la lutte contre la cybercriminalité tout en rendant plus difficile à mettre en œuvre toute tentative de censure sur Internet. En effet, certains gouvernements utilisent le DNS pour bloquer l’accès à des sites Internet considérés comme indésirables. Il s’agit généralement soit d’une atteinte à la liberté d’expression, soit à l’application sur Internet de législations locales, par exemple les lois qui interdisent la pornographie.

Certains fournisseurs d’accès à Internet (FAI) utilisent également à leur propre avantage la technique qui sous-tend le détournement de DNS : lorsqu’un utilisateur saisit une adresse qui ne peut être résolue (par exemple à cause d’une faute de frappe), le serveur de nom renvoie en principe un message d’erreur. Certains FAI bloquent l’envoi de ce message et choisissent de rediriger l’utilisateur vers leur propre site Internet, afin d’assurer la publicité de leurs propres produits ou de ceux de tiers. Cette démarche n’est pas illégale et elle ne nuit pas directement à l’utilisateur ni à son équipement, mais cette redirection peut être perçue de façon négative.

Quoi qu’il en soit, il est intéressant d’améliorer les performances du DNS. Ce protocole n’est pas considéré comme étant fiable. L’utilisation du DoH entraînerait automatiquement l’intervention du protocole TCP, beaucoup plus prompt à réagir en cas de pertes de données en cours de transmission.

Note

Le DNS over HTTPS n'est pas encore un standard reconnu mondialement sur Internet. La majorité des connexions continuent à fonctionner via le DNS classique. À l’heure actuelle, Google et Mozilla sont les principaux acteurs du secteur à avoir franchi le pas. Ainsi, depuis la version 62 de Firefox, le DoH peut être activé en option. Google teste actuellement le système auprès d’utilisateurs sélectionnés. En outre, certaines applications pour appareils mobiles permettent aussi de surfer sur Internet en utilisant le DoH. De plus, Android Pie permet de cocher l’option d’utilisation du DNS over HTTPS dans ses paramètres réseau.

Le DNS over HTTPS, comment ça marche ?

Certaines résolutions de noms peuvent être exécutées directement dans la zone de saisie de l'utilisateur : les informations correspondantes sont ensuite stockées dans le cache du navigateur ou du routeur. Cependant, tout ce qui doit être envoyé via Internet passe généralement par une connexion UDP. Cela permet un échange d’informations très rapide, mais ce type de connexion n’est ni fiable, ni sécurisé. Il arrive régulièrement que des paquets de données se perdent lorsque ce protocole est utilisé, car il n’est pas assorti de mécanismes garantissant la transmission des données.

De son côté, DoH s’appuie sur HTTPS et donc aussi sur le TCP (protocole de contrôle des transmissions). Ce protocole est beaucoup plus souvent utilisé sur Internet. Les avantages sont doubles : d’une part, les connexions sont chiffrées et d’autre part, ce protocole garantit la transmission des données.

En outre, avec le DNS over HTTPS, la communication se fait toujours par le port 443. Étant donné que le trafic réel (par exemple l’accès aux sites Internet) passe également par-là, il devient impossible, pour un tiers, de faire la distinction entre une requête DNS et tout autre type de communication. Cela permet à l'utilisateur de bénéficier d'un niveau de confidentialité supplémentaire.

Remarque

Le DNS over HTTPS a été défini par la norme RFC 8484.

Avantages et inconvénients du DNS par rapport au HTTPS

Les avantages du nouveau système sont évidents : cette technologie assure davantage de sécurité et de confidentialité. Dans la mesure où le DNS classique ne fournit aucun chiffrement, le DoH est quoi qu’il arrive plus avantageux de ce point de vue. Il faut toutefois garder à l’esprit le fait que le DNS over HTTPS n’est ni complètement sécurisé ni complètement confidentiel. Sur les serveurs de noms, où s’effectue la résolution des noms, toutes les informations deviennent visibles, exactement avec le DNS classique. Dans la mesure où le DNS implique souvent plusieurs niveaux hiérarchiques, un nombre relativement important de serveurs apprennent également quelle requête est faite et de qui elle provient. Cela implique de faire confiance aux parties prenantes du DNS dans la nouvelle technologie.

La différence, c’est que le DNS over HTTPS déplace les responsabilités. Dans le schéma classique, les serveurs des fournisseurs d’accès à Internet prennent en charge une grande partie de la résolution des noms. Dans le cas du DoH, ce sont les développeurs du navigateur qui décident vers quels serveurs ils veulent que soient transmises les requêtes au DNS. Pour Chrome, cela se fera probablement en passant par le serveur DNS de Google. Mozilla Firefox dirige d’ores et déjà les requêtes vers le prestataire Cloudflare. Outre la question de savoir si ces entreprises sont plus dignes de confiance que le FAI, cette association entraîne d’autres inconvénients pour certaines entreprises.

Les critiques du DoH considèrent que cette technologie met en danger la neutralité d’Internet : en effet, il existe un risque que Google décide de répondre plus rapidement aux requêtes concernant ses propres services qu'aux requêtes de DNS vers d'autres sites Internet. La concentration sur quelques fournisseurs de serveurs DoH entraîne également un risque de sécurité : il serait ainsi beaucoup plus facile pour des hackers de paralyser l’ensemble du DNS.

DoH ou DoT

En plus du DNS over HTTPS, une autre technique de sécurisation du système de noms de domaine est actuellement à l'étude : le DNS over TLS (DoT). À première vue, les deux systèmes sont similaires, car DoH et DoT promettent tous deux aux utilisateurs une sécurité et une confidentialité accrues. Mais sur certains points, les techniques diffèrent. En principe, les deux solutions obéissent à des intérêts différents. Là où le DNS over HTTPS est principalement piloté par Mozilla, Google et les fournisseurs de serveurs DoH privés, le DoT est piloté par l'Internet Engineering Task Force (IETF).

Sur le plan technique, le DoT se distingue de ses concurrents en établissant un tunnel TLS, et non plus une connexion HTTPS. Il est également possible d’utiliser un port différent. Alors que DoH fonctionne sur le port standard 443, comme nous l’avons vu ci-dessus, le DNS over TLS communique sur le port séparé 853.