Let's Encrypt

 · Temps de lecture: 3 mins

Let’s Encrypt

Let’s Encrypt est un projet de l’ISRG (Internet Security Research Group), une organisation américaine à but non lucratif (501)(3)(c) dont le but est de rendre le cryptage SSL/TLS universel, et donc d’offrir des certificats SSL/TLS gratuits à tous.

Comment ça marche ?

Comme une autorité de certification, Let’s Encrypt a besoin que vous prouviez votre contrôle du domaine que vous souhaitez sécuriser… Vous devez donc réussir les contrôles de validation qui sont automatisés.

Cette automatisation vous permet d’avoir des certificats SSL/TLS gratuits en un instant, mais vous n’obtiendrez qu’un certificat DV (Domain Validated), ce qui signifie que vous avez seulement prouvé votre contrôle du domaine. Vous ne pouvez pas obtenir de certificats OV ou EV en raison du processus d’audit manuel qui doit être effectué pour ce type de certificats, rendant l’émission automatisée impossible et donc payante.

Comment puis-je obtenir un certificat ?

Je veux que ce soit automatisé

Cela dépend de la façon dont vous souhaitez obtenir un certificat : voulez-vous le configurer une fois pour toutes et l’oublier, ou voulez-vous le renouveler manuellement afin d’avoir un meilleur contrôle ? Souhaitez-vous disposer d’un certificat wildcard ou les certificats multi-domaines sont-ils suffisants ?

Habituellement, lorsque vous voulez une automatisation ou lorsque vous n’avez pas besoin d’un joker, les gens choisissent un client ACME. ACME signifie Automatic Certificate Management Environment, l’infrastructure PKI pour les autorités de certification ouvertes. Les problèmes de validation et les messages entre l’AC et le serveur se font à travers ce protocole, une confusion technique entre HTTPS et JSON. La plupart des clients ACME sont gratuits, y compris Certbot qui est le plus utilisé. Certbot a été conçu par les créateurs de Let’s Encrypt pour presque tous les OS Unix (mais pas encore Windows) et pour tous les serveurs web dont Nginx et Apache.

Ce qui est bien avec ACME, c’est qu’il est devenu un standard pour les autorités de certification libres, qu’il est open-source et qu’il a été initialement conçu spécifiquement pour Let’s Encrypt (maintenant, plusieurs autres AC comme BuyPass utilisent ce protocole).

Je ne veux pas d’automatisation

Si vous ne voulez pas d’automatisation, le client ACME peut toujours émettre des certificats manuellement en appelant le client via le shell. Vous pouvez également utiliser un client basé sur un navigateur pour Let’s Encrypt comme SSLForFree qui utilise l’API WebCrypto, une interface de programmation d’application permettant la génération de certificats depuis le navigateur et non depuis le serveur.

Les certificats SSL obtenus manuellement ont l’avantage de supporter plusieurs types de certificats : les certificats wildcard. Puisqu’il est impossible de valider tous les sous-domaines qui peuvent exister, il est possible d’effectuer une validation de domaine via son DNS, en utilisant ce dernier comme méthode de vérification avec un enregistrement TXT.

Comment fonctionne la validation ?

Il y a 2 façons de valider votre contrôle d’un domaine :

  • La méthode DNS mentionnée plus haut
  • La méthode de vérification de fichier, où un fichier spécifique est demandé par l’AC pour validation que le client ACME a téléchargé sur le serveur, ou que le propriétaire du serveur lui-même a installé à la racine du document du site Web.

Combien de temps durent ces certificats ?

Les certificats de Let’s Encrypt durent 90 jours (~ 3 mois), ce qui est assez court pour :

  1. encourager l’automatisation
  2. l’expiration plus rapide du certificat si ce dernier est compromis (puisque Chrome ne reconnaît plus les listes de révocation des certificats)

Comment le projet a-t-il commencé ?

C’était une initiative de l’ISRG, qui était sponsorisée par la plupart des géants du web comme Google, Mozilla, Cisco, OVH….

Son budget annuel est de 3,6 millions de dollars US et il participe au forum CA/B qui est le principal forum de discussion pour les autorités de certification et les nouvelles entreprises qui souhaitent devenir CA.