Sécurité web

TLS / SSL

Définition

TLS (Transport Layer Security) est le protocole qui chiffre les échanges entre un navigateur et un serveur, en garantit l’intégrité et authentifie le serveur grâce à son certificat. Il a remplacé SSL, aujourd’hui abandonné, et c’est lui qui fait le « S » de HTTPS. La version actuelle est TLS 1.3.

TLS / SSL, Sécurité web

Quand l’adresse d’un site commence par https://, c’est TLS qui travaille : HTTPS n’est rien d’autre que HTTP transporté dans une connexion TLS. Le même protocole protège aussi la messagerie (SMTP, IMAP), de nombreuses API et les connexions aux bases de données. Selon MDN, TLS apporte trois garanties : le chiffrement (un tiers ne peut pas lire les échanges), l’intégrité (il ne peut pas les modifier sans être détecté) et l’authentification (le serveur prouve son identité grâce à son certificat).

De SSL à TLS : les versions

SSL est l’ancêtre de TLS. Le nom est resté dans l’usage (on parle encore de « certificat SSL »), mais toutes ses versions sont abandonnées depuis longtemps :

VersionStatutTexte de référence
SSL 2.0InterditRFC 6176 (mars 2011)
SSL 3.0DépréciéRFC 7568 (juin 2015)
TLS 1.0 et 1.1DépréciésRFC 8996 (mars 2021)
TLS 1.2Encore utilisé, acceptable bien configuréRFC 5246
TLS 1.3Version actuelle et la plus répandueRFC 8446 (août 2018), révisée par la RFC 9846 (juillet 2026)

La RFC 9846 met à jour la spécification de TLS 1.3 sans changer de numéro de version : elle reste compatible avec les implémentations existantes.

Comment fonctionne une connexion TLS 1.3

Avant d’échanger la moindre page, le navigateur et le serveur mènent une « poignée de main » (handshake). Ils s’accordent sur la version et les algorithmes, échangent de quoi calculer une clé de session commune, et le serveur prouve qu’il détient la clé privée associée à son certificat.

Schéma en cinq étapes de la poignée de main TLS 1.3 : le navigateur envoie ClientHello avec une part d’échange de clés, le serveur répond ServerHello et la clé de session est calculée des deux côtés, le serveur envoie son certificat, sa signature et Finished déjà chiffrés, le navigateur vérifie la chaîne de certificats et termine, puis l’échange HTTP se fait chiffré
En TLS 1.3, tout ce qui suit le ServerHello est chiffré, certificat compris.

TLS 1.3 a fait le ménage. Les échanges de clés RSA et Diffie-Hellman statiques ont disparu : toutes les méthodes restantes assurent la confidentialité persistante (forward secrecy), si bien que le vol ultérieur de la clé privée du serveur ne permet pas de déchiffrer les sessions enregistrées. La compression et la renégociation ont aussi été retirées. Le mode 0-RTT permet à un client qui revient d’envoyer des données dès le premier message, au prix d’une protection plus faible contre le rejeu.

Vidéo : « Le protocole du SSL/TLS pour débutant (+ analyse avec wireshark) » (Hafnium - Sécurité informatique)

Pour WordPress

TLS se configure au niveau du serveur web ou du CDN, pas dans WordPress. Sur un hébergement mutualisé, l’hébergeur s’en charge, souvent avec un certificat Let’s Encrypt renouvelé automatiquement. Côté WordPress, il reste à :

  • passer l’adresse de WordPress et l’adresse du site en https:// dans Réglages, Général ;
  • ajouter define( 'FORCE_SSL_ADMIN', true ); dans wp-config.php pour imposer HTTPS à la connexion et à l’administration ;
  • derrière un proxy inverse, faire reconnaître l’en-tête X-Forwarded-Proto, faute de quoi une boucle de redirections peut apparaître ;
  • rediriger HTTP vers HTTPS (redirection 301), puis envisager HSTS.

Si vous gérez votre propre serveur, désactivez TLS 1.0 et 1.1 et appuyez-vous sur le générateur de configuration TLS de Mozilla, que recommande MDN. Notre guide HTTPS sur WordPress couvre la migration, le contenu mixte et les certificats ; l’article sur HTTPS, HSTS et Google précise l’effet de HTTPS sur le référencement.

Ce que TLS ne protège pas

Le cadenas garantit que la connexion est chiffrée et que le serveur détient un certificat valide pour ce nom de domaine. Il ne dit rien de l’honnêteté du site : une page de phishing peut très bien être servie en HTTPS. TLS ne protège pas non plus le site lui-même contre une extension vulnérable ou un mot de passe volé.

Pour aller plus loin

  • Article HTTPS, HSTS et en-têtes de sécurité : ce que Google prend vraiment en compte

Sources

  1. RFC 8446 : The Transport Layer Security (TLS) Protocol Version 1.3 (lien externe, nouvel onglet)
  2. RFC 8996 : Deprecating TLS 1.0 and TLS 1.1 (lien externe, nouvel onglet)
  3. MDN : Transport Layer Security (TLS) (lien externe, nouvel onglet)
  4. WordPress Advanced Administration : HTTPS (lien externe, nouvel onglet)

Toutes les définitions

La sécurité WordPress, sans le bruit

Un e-mail quand ça compte : nouvelles attaques observées, mises à jour de l’extension et guides pratiques. Pas de spam, désinscription en un clic.

Commencez gratuitement, passez à Pro quand vous êtes prêt

La version gratuite masque déjà WordPress et déplace la page de connexion. Pro ajoute alias, double authentification et surveillance.