Sécurité et durée de validité des certificats HTTPS

Actuellement, depuis mars 2018, les certificats SSL/TLS (plus communément aussi appelés certificats HTTPS) peuvent avoir une durée maximale de validité de 825 jours. 
Mais en mars 2020, Apple a annoncé qu’ils autoriseront pour Safari seulement les certificats SSL/TLS d’une durée maximale de 398 jours (13 mois). Et Google suivra cette voie (annoncé par le président émérite du CA/B Forum sur Twitter le 11 juin dernier).

En juillet, Mozilla a également confirmé réduire la durée des certificats.

Cela sera appliqué à partir du 1 septembre 2020, pour tous les certificats (DV, OV, EV). Les certificats émis avant cette date ne seront pas affectés et seront valides jusqu’à la fin de leur date de validité.

Tout site avec un certificat émis après le 1 septembre et avec une validité plus longue que 13 mois sera rejeté par Safari, Chrome et Mozilla, et un message d’avertissement de sécurité sera affiché aux utilisateurs.

A quoi sert un certificat SSL/TLS ?

HTTPS est un protocole de communication d’internet permettant une connexion chiffrée entre le navigateur et le site web, c’est-à-dire que les échanges ne sont pas en clair.

Cela permet 

  • la confidentialité des données : en cas d’écoute ou d’interception du trafic, les donnée échangées ne sont pas déchiffrables,
  • l’intégrité des données : les données ne peuvent pas être modifiées « en cours de route » entre l’envoi par le site web et l’affichage sur le navigateur de l’utilisateur,
  • et d’authentifier le site web, pour que l’utilisateur puisse vérifier qu’il se trouve sur le site sur lequel il voulait aller. 
Détails certificat https

Par exemple, si vous voulez vérifier que vous êtes bien sur le site www.vaadata.com, vous pouvez cliquer sur le cadenas dans la barre d’adresse, et des détails vont s’afficher sur le certificat SSL/TLS.

HTTPS protège donc des attaques où le trafic est intercepté, modifié (attaque de l’homme du milieu, interception de données sensibles…).

Pourquoi passer à une date de validité plus courte ?

Les certificats ayant une date de validité longue ont l’avantage d’être renouvelés moins souvent, cependant cela présente des risques :

  • En cas d’incident de sécurité, même si un certificat est révoqué, le navigateur peut ne pas prévenir de la non-validité du certificat, car les processus de vérification des certificats par les navigateurs ont des limites.
    • En effet, les navigateurs ont deux manières de vérifier qu’un certificat est révoqué : la consultation de listes de révocation de certificats (CRL) et le protocole de vérification de certificat en ligne (OCSP).
      Les fichiers CRL ont comme souci principal qu’ils ne sont pas mis à jour assez fréquemment, qu’ils peuvent devenir volumineux et que différentes sources doivent être consultées.
      Le protocole OCSP peut être relativement lent et les navigateurs abandonnent la requête de vérification en cas de réponse trop longue.

Pour aller plus loin sur les soucis liés à la révocation, nous vous recommandons cet article (EN).

  • Comme le renouvellement n’est pas fréquent, cela peut mener à des erreurs humaines (oubli de la date, difficultés ou erreurs dans le processus de renouvellement…)

Les certificats avec une durée courte de validité améliorent la sécurité générale car :

  • Ils réduisent la période d’exposition aux risques si la sécurité d’un certificat a été compromise
  • Ils permettent d’adopter plus rapidement les dernières normes cryptographiques pour la signature des certificats. Par exemple, si un algorithme est déclaré ne plus être assez sécurisé pour être utilisé (face aux évolutions des puissances de calculs, etc.), le renouvellement des certificats garantit que dans une courte période, plus personne n’utilisera cet algorithme
  • Ils encouragent l’automatisation du renouvellement des certificats, ce qui devrait conduire à une baisse des erreurs humaines

Ces dernières années, le CA/Browser Forum, le groupement des autorités délivrant les certificats et les éditeurs de navigateurs, a progressivement raccourci la durée de validité des certificats SSL/TLS, de 10 ans dans les années 2000 à 2 ans maintenant. 
En février 2017, une proposition avait été mise au vote pour réduire la durée de validité des certificats à 398 jours. Mais le vote a été contre la proposition.
Apple a annoncé seul en février dernier le passage à une validité plus courte. Google et Mozilla ont ensuite annoncé qu’ils feront de même.
Pour ne pas perdre d’utilisateurs, une majorité de sites va donc utiliser des certificats ayant une validité maximale de 13 mois.

Edit 31.08.2020 : Modifié pour inclure la décision de Mozilla de réduire la durée de validité également.