Cloudflare dit que ECH 'résoudra la vie privée à jamais', mais la réalité y correspond-elle ?
Une technologie de pointe qui "comble la lacune en matière de protection de la vie privée dans notre infrastructure de sécurité en ligne existante" et qui, si elle est largement adoptée, "pourrait même résoudre définitivement le problème de la protection de la vie privée" semble prometteuse, n'est-ce pas ? C'est ainsi que Mozilla et Cloudflare décrivent Encrypted Client Hello (ECH), un protocole qui crypte l'intégralité du message "hello" ou la première communication entre votre navigateur et le serveur d'un site web.
Nous pensons que le protocole ECH est un élément majeur de la protection de la vie privée sur Internet, et l'importance de son soutien par des acteurs majeurs tels que Mozilla, Chrome et Cloudflare ne peut être sous-estimée. Chez AdGuard, nous avons ajouté la prise en charge de l'ECH dans nos applications Windows, Mac et Android, car nous croyons au potentiel de cette technologie pour rendre la navigation plus privée. Le support ECH d'AdGuard fonctionne dans toutes les applications et tous les navigateurs filtrés par AdGuard. Mais l'ECH est-il la pièce manquante du puzzle qui résoudra le problème de la vie privée et vaincra la censure une fois pour toutes ? Même si nous aimerions qu'il en soit ainsi, c'est peu probable.
Avant de refroidir l'enthousiasme suscité par l'ECH et sa prétendue invincibilité face aux censeurs, aux autorités chargées des droits d'auteur, aux voyeurs et autres indiscrets, il convient de prendre un peu de recul et de rappeler quelques principes de base.
Qu'est-ce que l'ECH et pourquoi en avons-nous besoin ?
Imaginez que vous envoyez une lettre à votre ami. Vous scellez l'enveloppe et y inscrivez son nom et son adresse. Personne ne peut ouvrir l'enveloppe et lire votre lettre sans briser le sceau. Mais n'importe qui peut savoir à qui vous envoyez la lettre en regardant l'adresse.
C'est un peu comme cela que fonctionne le protocole HTTPS, un protocole par défaut utilisé par plus de 84 % des sites web. La première information communiquée par votre navigateur lors de l'établissement d'une connexion cryptée avec le site web s'appelle "Client Hello". Certaines informations contenues dans Client Hello, telles que SNI (Server Name Indication, qui est un moyen pour votre navigateur d'indiquer au serveur le site web auquel il souhaite se connecter), ne sont pas cryptées. Cela signifie que les opérateurs de réseau, y compris votre fournisseur d'accès, peuvent les voir. Après avoir reçu le message Client Hello, le serveur répond par des informations connues sous le nom de "Server Hello" pour compléter la "poignée de main" avec l'appareil.
Source: Cloudflare
Après cette première salutation, les données que votre navigateur échange avec le serveur sont cryptées, de sorte que seuls vous et le site web pouvez voir ce qu'elles contiennent. Mais à ce stade, votre fournisseur d'accès à l'internet connaît déjà le nom du site web que vous visitez. Par exemple, si vous vous rendez sur le site www.google.com, votre fournisseur d'accès ne peut pas savoir ce que vous cherchez, mais il peut voir que vous utilisez Google.
Ce que nous venons de décrire est le fonctionnement d'une poignée de main TLS. TLS est l'abréviation de Transport Layer Security (sécurité de la couche transport), un protocole cryptographique qui assure la sécurité de bout en bout des données envoyées sur l'internet. Pour être plus technique, le premier message "Client Hello" que votre navigateur envoie en clair aux serveurs du site web contient non seulement le SNI, mais aussi la version TLS et un algorithme de cryptage. Mais l'essentiel est qu'il n'est pas crypté, de sorte que quiconque peut voir le trafic réseau peut également voir le nom du site web demandé par votre navigateur.
La question est de savoir comment protéger ce premier élément de données qui n'est pas crypté et qui expose nos habitudes de navigation.
C'est là qu'intervient le protocole Encrypted Client Hello. En termes simples, ECH crypte le message Client Hello contenant le SNI, qui, comme nous l'avons déjà mentionné, indique le nom du site web que vous visitez. Au lieu d'afficher le véritable nom de domaine du site web, comme www.google.com, à tout observateur externe, votre navigateur n'affiche que le nom d'un serveur orienté client, derrière lequel se cachent plusieurs serveurs dorsaux avec leurs propres noms de domaine. Le serveur orienté client a un nom de domaine général : par exemple, Cloudflare utilise cloudflare-ech.com comme nom de serveur orienté client. Mais comment votre navigateur sait-il quelles informations lui envoyer pour se connecter à un site web spécifique ?
Le serveur orienté client agit comme un intermédiaire qui dispose d'une clé de décryptage spéciale lui permettant d'ouvrir votre lettre intérieure et de voir le nom de votre site web. Il transmet ensuite la demande au domaine réel et renvoie la réponse. Cela est possible parce que ECH divise Client Hello en deux parties : la partie extérieure contient des informations non sensibles comme le nom du serveur orienté client, et la partie intérieure contient le SNI interne indiquant le nom de domaine du serveur dorsal, c'est-à-dire le site web que vous voulez visiter. Pour reprendre l'analogie de la lettre, c'est comme si la même adresse était inscrite sur des lettres destinées à des destinataires différents et qu'il fallait utiliser une baguette magique pour briser le sceau pour voir la lettre intérieure contenant une adresse réelle.
Source: Cloudflare
Quelle est la situation concernant l'adoption de l'ECH ?
Au cours des derniers mois, de plus en plus d'acteurs du secteur ont commencé à s'intéresser à l'ECH. Google a commencé à livrer la fonctionnalité dans Chrome 117, tandis que Chrome 118 est devenu la première version stable du navigateur de Google avec la prise en charge de l'ECH. Dans Firefox, ECH est activé par défaut à partir de Firefox 118, mais ne fonctionne que si vous avez activé DNS-over-HTTPS. Edge teste ECH, mais ne l'a pas encore mis en place dans une version stable.
Par contre, la prise en charge du protocole ECH par le navigateur ne signifie pas grand-chose si elle n'est pas réciproque du côté serveur. Cela veut seulement dire qu'un navigateur peut envoyer des messages ECH cryptés aux serveurs qui supportent ce protocole. La décision de Cloudflare, le fournisseur de CDN le plus populaire sur le marché, de prendre également en charge le protocole a donc fait une grande différence dans l'adoption de l'ECH. Cloudflare, qui traite environ 20 % de l'ensemble du trafic sur l'internet, a annoncé qu'il commençait à prendre en charge le protocole ECH pour tous les clients des plans gratuits à la fin du mois de septembre, et a encouragé les clients payants à demander à bénéficier de cette fonctionnalité.
Toutefois, le protocole a encore un long chemin à parcourir avant d'être largement accepté. À l'heure actuelle, de nombreux domaines gratuits de Cloudflare ne disposent pas d'informations sur l'ECH dans leurs enregistrements DNS, de sorte que Chrome ne peut pas utiliser l'ECH pour ces sites web. Mais comme le déploiement de l'ECH n'en est qu'à ses débuts, ce problème sera probablement résolu au fil du temps.
La question de la vie privée est-elle donc réglée ?
Même si nous aimerions que cela se produise, déclarer que la question de la protection de la vie privée est résolue est un vœu pieux.
D'une part, l'adoption universelle de la CED, si elle a lieu, rendra inutiles certaines des techniques de blocage éprouvées employées par les autorités Internet du monde entier pour lutter contre le piratage en ligne, mettre en place un système de géo-clôture et imposer la censure. D'une part, les autorités chargées de l'application de la loi auront plus de mal à cibler des sites web spécifiques sur la base de leur nom, car ils seront masqués par la CEP.
Toutefois, cela ne signifie pas que les censeurs ne seront pas en mesure de surmonter cet obstacle. Ils devront peut-être procéder à quelques ajustements, mais le blocage restera possible.
Les points faibles de l'ECH ou les méthodes de blocage potentielles
Nous allons maintenant nous faire l'avocat du diable et vous donner quelques moyens concrets par lesquels les censeurs peuvent essayer de bloquer des sites web malgré la mise en œuvre de l'ECH.
-
L'un des moyens consiste à "couper" l'ECH des enregistrements DNS. Pour établir une connexion ECH avec un serveur, votre navigateur a besoin d'un enregistrement DNS spécial de ce serveur. Cet enregistrement indique à votre navigateur le nom de domaine et la clé de décryptage à utiliser dans les parties externe et interne de l'ECH. Cependant, si votre trafic DNS n'est pas crypté, ce qui est le cas pour la plupart des utilisateurs, quiconque peut voir vos requêtes DNS, comme votre fournisseur d'accès à Internet ou un censeur, peut également voir l'enregistrement ECH. Ils peuvent utiliser cet enregistrement pour identifier et bloquer votre connexion ECH. Bien entendu, si les utilisateurs ont crypté leur trafic DNS, cette méthode ne fonctionnera pas.
-
Une méthode plus rudimentaire, mais assez efficace, consiste à bloquer tous les serveurs connus orientés vers le client, tels que clouflare-ech.com. En réalité, ces serveurs ne devraient pas être nombreux, de sorte qu'il ne devrait pas être difficile pour les censeurs de les identifier et de les bloquer tous. Mais cette méthode est très risquée car elle pourrait interrompre l'accès à l'internet pour de nombreux utilisateurs. Si les censeurs bloquent tous les serveurs qui prennent en charge l'ECH, les navigateurs ne seront pas en mesure d'établir une connexion avec les sites web qui ont activé l'ECH. Cela pourrait inciter Cloudflare à désactiver l'ECH pour les pays où la censure Internet est stricte. Il reste à voir comment Cloudflare réagira si son serveur orienté client est bloqué par des censeurs dans des pays comme la Chine ou la Russie. Le choix sera certainement difficile. Un autre écueil qui attend ceux qui misent sur l'ECH comme solution ultime à tous les problèmes liés à la vie privée est le risque que les propriétaires de sites web refusent tout simplement de l'adopter ou se retirent du protocole pour cette même raison. Si les censeurs ciblent l'ECH et rendent inaccessibles les sites web qui l'activent, les propriétaires de sites web pourraient vouloir désactiver la prise en charge de l'ECH plutôt que de perdre leurs visiteurs.
C'est incontestable que l'ECH est une technologie passionnante et très prometteuse qui vise à rendre l'internet plus privé. Cependant, elle n'est pas infaillible et ne doit pas être considérée comme une panacée contre la surveillance. En outre, son adoption généralisée favorise l'utilisation de certains services CDN, tels que celui proposé par Cloudflare. Si ces services ne posent pas de problème en soi, leur promotion en tant qu'effet secondaire de l'adoption de l'ECH risque de rendre l'internet encore plus centralisé qu'auparavant. Seul l'avenir nous dira si c'est pour le meilleur ou pour le pire.