Qu'est-ce que HTTPS ?
HTTP protégé par TLS. Il chiffre les échanges, détecte les altérations et authentifie le serveur au moyen d'un certificat de serveur. Les URL commencent par https:// et le numéro de port par défaut est 443. Les requêtes et les réponses ont la même forme qu'en HTTP, avec une couche TLS en dessous.
Nom japonais: HTTPS
« HTTPS » apparaît dans 12 questions d'entraînement réparties sur 6 thèmes, dont Bases des réseaux informatiques, Bases des technologies web, Bases de la sécurité de l'information.
Domaine: Bases des technologies web
Comment une connexion s'établit
Le navigateur ouvre d'abord une connexion TCP avec le serveur (QUIC en HTTP/3), puis effectue une négociation TLS. Le navigateur envoie les suites cryptographiques qu'il prend en charge, une valeur d'échange de clés et le nom du serveur qu'il veut joindre (SNI), et le serveur renvoie son certificat et sa propre valeur d'échange de clés. Par un échange de clés comme ECDHE, les deux dérivent une nouvelle clé partagée pour chaque connexion, et le navigateur vérifie le certificat du serveur. Les requêtes et les réponses HTTP qui suivent sont chiffrées et protégées contre les altérations par un algorithme de cryptographie symétrique comme AES-GCM. Avec TLS 1.3, la négociation se fait en un aller-retour.
Vérifier le serveur grâce à son certificat
Un certificat de serveur associe un nom de domaine à une clé publique, garantis par une autorité de certification (AC) au moyen d'une signature numérique. Le navigateur vérifie que le certificat remonte, par une chaîne de signatures, jusqu'à une autorité de certification racine digne de confiance, qu'il est dans sa période de validité, qu'il correspond au nom d'hôte de l'URL et qu'il n'a pas été révoqué. Cela empêche les attaques de l'homme du milieu, dans lesquelles quelqu'un intercepte la connexion et se fait passer pour le vrai serveur. Si les vérifications échouent, le navigateur affiche un avertissement et interrompt la connexion.
Ce qu'il protège et ce qu'il ne protège pas
HTTPS protège le contenu des pages, le chemin et la requête de l'URL, les en-têtes et les cookies contre l'écoute et l'altération en chemin. L'adresse IP du serveur ainsi que le volume et la chronologie du trafic restent visibles, et le nom de domaine peut souvent être déduit des requêtes DNS ou du SNI. En outre, HTTPS ne protège que le canal ; il ne prouve pas que l'exploitant du site est digne de confiance, car les faux sites peuvent eux aussi obtenir des certificats et utiliser HTTPS. On l'utilise avec HSTS, qui empêche le retour à HTTP, et avec l'attribut Secure des cookies, qui ne les envoie que sur HTTPS.
Questions fréquentes
Quelle est la différence entre HTTP et HTTPS ?
HTTPS chiffre les échanges HTTP avec TLS et y ajoute la détection des altérations et l'authentification du serveur. Les requêtes et les réponses ont la même forme, et les ports par défaut sont 80 pour HTTP et 443 pour HTTPS. Avec HTTP seul, les équipements situés sur le chemin peuvent lire ou modifier le contenu.
Un site est-il sûr du seul fait qu'il utilise HTTPS ?
HTTPS garantit que le trafic n'est ni lu ni modifié en transit et que l'on est connecté à un serveur de ce nom de domaine. Il ne garantit pas que le site lui-même est authentique ou inoffensif. Les sites d'hameçonnage peuvent aussi utiliser HTTPS : il faut donc vérifier soigneusement le nom de domaine.
HTTPS utilise-t-il le chiffrement à clé publique ou le chiffrement symétrique ?
Les deux, pour des tâches différentes. La négociation utilise des techniques à clé publique pour l'échange de clés et l'authentification par certificat, et les données elles-mêmes sont chiffrées par un algorithme symétrique rapide avec les clés créées à cette occasion.