Chine de toutes les connexions HTTPS utilisant le protocole TLS 1.3 et l'extension TLS ESNI (Encrypted Server Name Indication), qui assure le cryptage des données concernant l'hôte demandé. Le blocage s'effectue sur les routeurs de transit tant pour les connexions établies depuis la Chine vers l'extérieur que de l'extérieur vers la Chine.
Pour le blocage, un rejet des paquets du client au serveur est effectué, et non une substitution de paquets avec le drapeau RST, qui était précédemment utilisée lors du blocage sélectif basé sur le contenu SNI. Après le déclenchement du blocage d'un paquet avec ESNI, tous les paquets réseau correspondant à la paire de l'IP source, de l'IP cible et du numéro de port de destination sont également bloqués pendant une durée de 120 à 180 secondes. Les connexions HTTPS basées sur d'anciennes versions de TLS et TLS 1.3 sans ESNI passent normalement.
Rappelons que pour faire fonctionner plusieurs sites HTTPS sur une seule adresse IP, une extension SNI a été développée, permettant la transmission du nom d'hôte en clair dans le message ClientHello, envoyé avant l'établissement du canal de communication crypté. Cette caractéristique permet à l'opérateur internet de filtrer sélectivement le trafic HTTPS et d'analyser les sites que l'utilisateur ouvre, ce qui ne permet pas d'atteindre une confidentialité totale en utilisant HTTPS.
La nouvelle extension TLS ECH (anciennement ESNI), qui peut être utilisée avec TLS 1.3, élimine ce défaut et supprime complètement les fuites d'informations sur le site demandé lors de l'analyse des connexions HTTPS. En combinaison avec l'utilisation d'un réseau de distribution de contenu, l'application d'ECH/ESNI permet également de cacher à l'opérateur l'adresse IP de la ressource demandée. Les systèmes d'inspection du trafic ne verront que les requêtes vers le CDN et ne pourront pas appliquer de blocage sans substitution de la session TLS, dans ce cas, un message correspondant à la substitution du certificat sera affiché dans le navigateur de l'utilisateur. Un canal de fuite potentiel reste le DNS, mais pour cacher la requête DNS par le client, le DNS-over-HTTPS ou le DNS-over-TLS peut être utilisé.
Les chercheurs ont déjà Il existe plusieurs solutions de contournement pour échapper à la censure chinoise, tant du côté client que serveur, mais elles peuvent devenir obsolètes et ne doivent être considérées que comme des mesures temporaires. Par exemple, actuellement, seuls les paquets avec l'identifiant de l'extension ESNI 0xffce (encrypted_server_name) sont bloqués, qui était utilisé dans , mais les paquets avec l'identifiant actuel 0xff02 (encrypted_client_hello), proposé dans .
Une autre option de contournement consiste à utiliser un processus de négociation de connexion non standard ; par exemple, le blocage ne s'active pas lors de l'envoi d'un paquet SYN supplémentaire avec un numéro de séquence incorrect, de manipulations des drapeaux de fragmentation des paquets, de l'envoi d'un paquet avec les drapeaux FIN et SYN activés en même temps, de la substitution d'un paquet RST avec une somme de contrôle incorrecte ou de l'envoi d'un paquet avec les drapeaux SYN et ACK avant le début de la négociation de connexion. Les méthodes décrites ont déjà été mises en œuvre sous la forme d'un plugin pour l'outil , de contournement des méthodes de censure.
Source : opennet.ru
