DNS sur TLS

Introduction

Les requêtes et réponses DNS traditionnelles sont envoyées via UDP ou TCP sans chiffrement. Cela est vulnérable aux écoutes et au spoofing (y compris le filtrage Internet basé sur DNS). Les réponses des résolveurs récursifs aux clients sont les plus vulnérables aux modifications indésirables ou malveillantes, tandis que les communications entre les résolveurs récursifs et les serveurs de noms faisant autorité intègrent souvent une protection supplémentaire.

Pour résoudre ces problèmes, Google DNS public offre une résolution DNS sur les connexions TCP chiffrées par TLS, comme spécifié par la RFC 7858. DNS-over-TLS améliore la confidentialité et la sécurité entre les clients et les résolveurs. Elle complète les fonctionnalités DNSSEC et protège les résultats validés par DNSSEC contre les modifications ou le spoofing en cours d'acheminement vers le client.

Fonctionnement

Un système client peut utiliser DNS-sur-TLS avec l'un des deux profils : confidentialité stricte ou opportuniste. Avec ce profil de confidentialité strict, l'utilisateur configure un nom de serveur DNS (le nom de domaine d'authentification dans la RFC 8310) pour le service DNS-TLS et le client doit pouvoir créer une connexion TLS sécurisée sur le port 853 vers le serveur DNS. L'échec de l'établissement d'une connexion sécurisée est une erreur stricte qui se traduit par l'absence de service DNS pour le client.

Avec le profil de confidentialité opportuniste, l'adresse IP du serveur DNS peut être configurée directement par l'utilisateur ou obtenue à partir du réseau local (via DHCP ou par un autre moyen). Le résolveur de client tente d'établir une connexion sécurisée avec le port 853 vers le serveur DNS spécifié. Si une connexion sécurisée est établie, les requêtes des utilisateurs observateurs passifs sur le chemin d'accès sont confidentielles. Étant donné que le client ne vérifie pas l'authenticité du serveur, il n'est pas protégé contre un pirate informatique actif. Si le client ne parvient pas à établir une connexion sécurisée sur le port 853, il revient à communiquer avec le serveur DNS sur le port DNS 53 standard via UDP ou TCP sans aucune sécurité ni confidentialité. L'utilisation de la protection de la vie privée dans le but de soutenir un déploiement incrémentiel d'une confidentialité accrue dans le but d'adopter un profil de confidentialité strict

Lorsque vous utilisez un profil de confidentialité strict, les résolveurs de bouchons établissent une connexion DNS sur TLS en procédant comme suit.

  1. Le résolveur de bouchon est configuré avec le nom du résolveur DNS-over-TLS dns.google.
  2. Le résolveur de bouchon obtient la ou les adresses IP de dns.google à l'aide du résolveur DNS local.
  3. Le résolveur de bouchons établit une connexion TCP au port 853 avec l'adresse IP de ce serveur.
  4. Le résolveur de bouchon initie un handshake TLS avec le résolveur DNS public de Google.
  5. Le serveur DNS public de Google renvoie son certificat TLS ainsi qu'une chaîne complète de certificats TLS jusqu'à un certificat racine de confiance.
  6. Le résolveur de bouchon vérifie l'identité du serveur en fonction des certificats présentés.
    • Si l'identité ne peut pas être validée, la résolution du nom DNS échoue et le résolveur de bouchons renvoie une erreur.
  7. Une fois la connexion TLS établie, le résolveur de bouchons dispose d'un chemin de communication sécurisé entre un serveur DNS public Google.
  8. Le résolveur de bouchon peut désormais envoyer des requêtes DNS et recevoir des réponses via la connexion.

Lors de l'utilisation d'un profil de confidentialité opportuniste, le client tente d'abord de créer une connexion TLS sécurisée au serveur. La procédure est semblable à celle ci-dessus, mais il existe une différence importante : aucune validation de certificat n'est effectuée par le client. Cela signifie que l'identité du serveur ne peut pas être approuvée. S'il est impossible d'établir une connexion TLS au serveur 853, le résolveur de souche utilise à nouveau le serveur DNS sur le port 53.

Confidentialité

Nos Règles de confidentialité s'appliquent au service DNS-over-TLS.

Le 27/06/2019, nous avons réactivé le sous-réseau client ECS pour le service DNS-over-TLS. ECS a été désactivé lors du lancement du service.

Assistance sur les normes

Le DNS public de Google implémente le DNS-over-TLS conformément à la RFC 7858. En outre, nous acceptons les recommandations suivantes pour fournir un service DNS de haute qualité et à faible latence.

Commencer à l'utiliser

Consultez les instructions pour le configurer sur un appareil équipé d'Android 9 (Pie) ou version ultérieure.

DNS-over-TLS est également compatible avec le service DNS64 public de Google. Notez que la configuration du DNS64 pour un appareil mobile qui sera connecté à plusieurs réseaux n'est pas recommandée, car DNS64 ne fonctionne que lorsque IPv6 est disponible.