Dans un article précédent, je présentais les différents protocoles de chiffrement DNS : DNSSEC, DNS Over TLS ou HTTPS (DoT et DoH) et DNSCrypt.
Mais DNS-over-HTTPS (DoH) souffre d’un problème majeure. Lors de la négociation DNS, il est possible que le domaine du site visité fuite.
Cela permet éventuellement de pister les internautes, voire une manipulation malveillante par un attaquant (les attaques de l’homme du milieu – MITM, Monster-in-the-Middle).
En fait, ce problème est lié au protocole Transport Layer Security (TLS) utilisé dans DoH.
Anciennement, Encrypted SNI (ESNI), une nouvelle spécification ECH (Encrypted Client Hello) vise à corriger ce problème en chiffrant entièrement la négociation TLS.
Il permet donc d’améliorer considérablement la confidentialité du protocoles DNS et plus globalement d’internet.
Voici toutes les explications autour de ECH (Encrypted Client Hello).
Qu’est-ce que Encrypted Client Hello (ECH)
Encrypted Client Hello (ECH) est une extension du protocole de négociation TLS proposé par Cloudflare, Fastly et Mozilla.
Pour bien comprendre l’enjeu, il faut déjà comprendre comment fonctionne la négociation TLS.
Lorsque vous vous connectez à un site en HTTPS, le chiffrement s’effectue en utilisant le protocole TLS.
Différents pré-négociations (clés, algorithme de chiffrement, quelle protocole de couche application utiliser) s’effectuent avant que le canal chiffré ne s’établisse entre votre navigateur internet et le site sécurisé. On appelle cela la poignée de main.
Plus de détails : Les sites HTTPs : pourquoi sont-ils sécurisés ?
DNS-over-HTTPS (DoH) s’appuie sur ce même mécanisme.
Mais un problème de sécurité majeure existe dans le protocole TLS (y compris dans TLS 1.3).
Ces premières étapes de la négociation ne sont pas chiffrées et certaines métadonnées sont transmises en claire.
Notamment, on y trouve l’indication du nom du serveur ou Server Name Indication (SNI).
L’extension SNI est utilisée par le client pour indiquer au serveur quel site web il veut atteindre.
En clair donc, à l’heure actuel, le domaine internet du site visité est transmis en clair sur le réseau.
L’objectif d’ECH est de chiffrer l’intégralité du message ClientHello, afin que ces métadonnées restent secrètes.
Ainsi, le nom du serveur ne fuite plus en clair.
Pour cela, l’ECH utilise une clé publique récupérée via le système de noms de domaine (DNS) pour chiffrer le premier message entre un navigateur internet et un site web, protégeant ainsi le nom du site visité des regards indiscrets et améliorant considérablement la vie privée de l’utilisateur.
Enfin ECH vise aussi à améliorer et corriger des problèmes observés dans Encrypted SNI (ESNI) qui empêche un déploiement à l’échelle d’internet.
Comment sécuriser DNS avec ECH
Pour moment, cela n’est pas possible.
Cette mise à niveau du protocole TLS est encore en cours d’expérimentation et n’a pas été validée, ni déployée à grandes échelles sur internet.
Les serveurs WEB doivent la prendre en compte, ainsi que les boitiers réseaux intermédiaires.
Les navigateurs internet doivent aussi être mis à jour pour le prendre en compte.
Pour le moment, seul Mozilla Firefox est compatible ECH.
Le chemin est encore très long.
En attendant, vous pouvez protéger vos requêtes DNS avec ESNI même si ce dernier semble aussi abandonné petit à petit : FIREFOX ne prend plus en charge eSNI
L’utilisation d’un VPN peut aussi protéger la négociation DNS puisque celle-ci sera chiffrée à travers le VPN.
Comment tester les fuites et la sécurité DNS
Si le sujet de fuites DNS vous intéressent, vous pouvez tester votre configuration internet :
Liens
- DNS et serveurs de noms : comment ça marche
- Comment activer les DNS Over HTTPS (DoH) sur Firefox, Chrome, Edge, Brave ou Opera
- Choisir le meilleur DNS en 2023 : le comparatif
- Quel est le meilleur DNS pour les jeux et gaming ?
- Les meilleurs DNS : la liste COMPLETE
- Le protocole HTTP (Hypertext Transfer Protocol) : versions et fonctionnement
- Les sites HTTPs : pourquoi sont-ils sécurisés ?
- Comment vérifier la validité certificat SSL et connexion TLS d’un site HTTPS
- Désactiver une version TLS sur Windows, Chrome, Firefox ou Edge
- Le protocole TCP/IP : définition, architecture et couches
- Qu’est-ce qu’un protocole informatique (avec des exemples)
https://blog.mozilla.org/en/products/firefox/encrypted-hello/
L’article ECH (Encrypted Client Hello) : chiffrer la négociation TLS pour sécuriser DNS est apparu en premier sur malekal.com.
0 Commentaires