Let’s Encrypt est-il en train de passer de sauveur à single point of failure (SPOF) ?
Vers un FramaTLS ?
Le 23 avril 2018 à 15h50
5 min
Internet
Internet
Let's Encrypt continue de gagner en puissance et serait à l'origine de la moitié des certificats gérant les connexions chiffrées des sites que nous visitons chaque jour. Une évolution bienvenue et fulgurante, qui soulève néanmoins la question de la dépendance du web à cette autorité.
Ces dernières années, l'un des combats des acteurs du Net a été la généralisation de l'accès sécurisé aux sites (HTTPS). De quoi fiabiliser les échanges en ligne, mais aussi limiter la surveillance et l'interception des requêtes. Des éléments importants, notamment pour des pratiques comme la connexion à un site, l'échange de messages, etc.
Deux des principaux points de blocage étaient le coût et la difficulté de mise en place des certificats SSL/TLS, surtout pour les petits sites, associations ou particuliers. Les navigateurs pouvaient donc difficilement prendre des sanctions contre ceux n'ayant pas encore sauté le pas.
Ces dernières années, plusieurs initiatives sont nées pour tenter de réduire cette problématique, sans trop de succès. Jusqu'à Let's Encrypt qui a rapidement changé la donne.
HTTPS pour tous...
Fin 2014, l'Internet Security Research Group (ISRG) a été créé afin d'apporter une solution pérenne, connue sous le petit nom de Let's Encrypt. Regroupant l'EFF, Mozilla, Akamai, Cisco et bien d'autres acteurs, cette alliance voulait proposer des certificats gratuits, pour tous, simples à générer et à installer.
L'opération a demandé un peu plus d'un an avant que les premiers effets se ressentent et que les grands hébergeurs proposent une telle solution, notamment en France. Mais depuis, l'initiative est bien lancée. Gandi a proposé Let's Encrypt en janvier 2016, peu après Infomaniak. Des acteurs comme Synology, Free ou Wordpress ont suivi.
Courant 2016, le projet a gagné en maturité avec un changement de nom du client de l'EFF, le support de l'IPv6, la mise en place d'un certificat racine reconnu par Firefox, etc. Au début de l'année 2018, le protocole ACMEv2 a été publié, et les certificats wildcard (*.exemple.com) rendus disponibles, de quoi étendre encore un peu plus la portée de Let's Encrypt.
... mais de manière plus centralisée
Et au final, le but du projet a été atteint. Selon Google, la part du traffic HTTPS traité par Chrome est passé de 30/40% selon les plateformes à 70/80%. Tout ça en seulement deux ans.
Le géant du Net et les navigateurs n'y sont pas pour rien puisqu'ils n'ont pas hésité à mettre la pression aux éditeurs de sites : meilleure place dans les résultats pour ceux jouant le jeu et disposant d'un accès sécurisé, cadenas rouge et message d'alerte pour les autres.
Aujourd'hui, pas moins de 53,4 millions de certificats sont actifs, sur 25 millions de domaines. Chaque jour, environ 600 000 certificats sont créés ou renouvelés.
Selon des chiffres diffusés par NetTrack, Let's Encrypt a passé en avril la barre des 50 % des domaines gérés, parmi les presque 8 millions surveillés par le service. Comodo et Geotrust affichent un lourd recul de leur position depuis le début de l'année. C'est d'ailleurs GoDaddy qui occupe désormais la troisième place du classement.
Ainsi, commence à se poser la question de la dépendance de l'infrastructure du web à Let's Encrypt. Gérant une majorité des certificats utilisés, souvent de manière spécifique et automatisée, il devient un élément central d'une taille critique. Que se passera-t-il en cas de problème avec les services de Let's Encrypt ou d'attaque coordonnée ?
Ceux qui en dépendent ne pourront pas facilement trouver une solution de remplacement, même chez les concurrents. La bonne santé de l'autorité est donc devenue vitale.
« Avant, on avait un problème avec les autorités de certification (CA). Maintenant, on a toujours le problème des CA, et en plus un problème avec un SPOF énorme... », commentait non sans ironie Aeris il y a quelques jours. Le spécialiste de tout ce qui touche aux certificats, travaillant chez Cozy Cloud et proposant le service CryptCheck, frappe ici assez juste.
Des alternatives pour limiter le SPOF
Il serait ainsi temps de se demander comment s'assurer collectivement qu'Internet ne dépende pas tant du bon fonctionnement d'un seul acteur, et quelles peuvent être les alternatives possibles ou solutions de repli en cas de problème. Une réflexion qui devrait être menée en premier lieu par l'EFF et l'ISRG.
Travail avec les autres CA pour l'adoption du protocole ACMEv2 ou émergence d'un « concurrent » à Let's Encrypt peuvent être des solutions à envisager. Il faut en tout cas commencer à étudier sérieusement ces pistes. Car si rien n'est fait, on pourrait un jour s'apercevoir un peu trop tard que l'analyse était juste, à l'occasion d'une panne majeure qui laissera des millions de sites et d'internautes dans la panade.
Il faudra alors rendre des comptes, quand chacun s'étonnera de la situation, en premier lieu les États. La belle histoire de Let's Encrypt pourrait alors virer au cauchemar.
Let’s Encrypt est-il en train de passer de sauveur à single point of failure (SPOF) ?
-
HTTPS pour tous...
-
... mais de manière plus centralisée
-
Des alternatives pour limiter le SPOF
Commentaires (52)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 23/04/2018 à 16h40
+1 je ne comprends pas vraiment en quoi ça constitue un SPOF…
Par contre une position dominante oui ça va pas tarder " />
Le 23/04/2018 à 16h41
Pour CF on étudie des alternatives justement, après c’est la même chose que pour LE : trouver des solutions tierces et raisonnables ce n’est pas simple…
Le 23/04/2018 à 16h48
Le 23/04/2018 à 16h50
Si j’ai bien compris, Let’s encrypt compte sur IdenTrust comme autorité de certification en fallback dans un avenir plus ou moins proche.
Le 23/04/2018 à 16h51
Le 23/04/2018 à 16h53
Le 23/04/2018 à 16h57
Autant sur des sujets de sécurité qui touchent directement le grand public, je suis d’accord, le courtermisme n’a pas sa place. Mais là on parle d’une solution utilisée par des gens avertis, normalement prompts à réagir en cas de soucis.
Y a qu’à voir la faille Heartbleed: la majorité des serveurs ont été patchés en quelques jours.
Je n’ai aucun doute que si problème il y a avec Let’s encrypt un jour (que ce soit sur le serveur ou le client), la solution sera en place dans les jours qui suivent, et que tout continuera à tourner sans problème entretemps (sauf si un mec a attendu le dernier jour pour faire son renouvellement, mais bon ça c’est juste de la bêtise).
Sinon on peut considérer que l’hégémonie d’OpenSSL ou de NPM sont problématiques également (le hors-sujet est volontaire ;)
Le 23/04/2018 à 17h24
50 % ?Oo
Je ne m’y attendais vraiment pas…
Le 23/04/2018 à 17h29
Tout à fait d’accord. Je n’arrive pas à comprendre que cette techno soit inexistante aujourd’hui. Aucun navigateur ne la gère et il n’est pas question que cela soit le cas dans un avenir proche (on aura peut être même IPv6 avant, qui sait ?).
Le 23/04/2018 à 17h30
En fait il n’y a pas que les problèmes d’end of validity. Si les CRL sont inaccessibles, certificats toujours valides ou non, tu l’as dans le baba.
Le 23/04/2018 à 18h04
Effectivement, je n’ai pas pensé à la révocation, bien vu. Mais pour le coup, toutes les autorités de certification ont ce soucis.
Le 23/04/2018 à 20h59
Euh, scusez, mais, on est d’accord que si LE tombe (de manière totale et définitive, car une pannes de quelques heures/jours ça n’aura aucun impact), au pire les sites qui ont besoin d’un certificat reconnu ils en achètent un, et les autres ils font de l’auto-signé non ?
Le 23/04/2018 à 21h26
Le 23/04/2018 à 21h38
Le 24/04/2018 à 02h16
S’il y a un problème, et que les sponsors https://letsencrypt.org/sponsors/ ) ne suffisent pas, Google viendra certainement aider à faire repartir la machine en devenant sponsor. Pas d’inquiétude donc, mais ça serait plus rassurant que ce service dépende de Google pour assurer une fiabilité parfaite vu leurs moyens.
Le 24/04/2018 à 05h00
Le 24/04/2018 à 06h03
Le certificats servent aussi pour faire du machine to machine. SI par exemple tu as une appli embarquée sur un appareil que tu ne peux pas mettre à jour à distance pour X raisons, et que cet appareil vérifie explicitement ton certificat (par exemple en comparant la racine avec ce qu’il connaît), tu risques d’avoir d’un coup tout ton parc de machines qui ne fonctionne plus.
Le 24/04/2018 à 06h22
Le 24/04/2018 à 07h07
Le 24/04/2018 à 07h47
J’ai du mal à voir le soucis en vrai. SI LE tombe, il te reste 1 mois pour générer un nouveau certificat d’une manière ou d’une autre (un certificat LE est renouvelé un mois avant son expiration, donc à tout moment il reste au moins un mois de validité, justement pour se protégér en cas de problème avec LE), ce qui au pire te coutera quelques euros et voila.
Ce n’est pas un SPOF, ou en tous cas pas plus que n’importe quel fournisseur de certificats. Le fait que LE tombe en panne n’empêchera aucun site de fonctionner (juste les nouveaux d’être déployés mais c’est une autre histoire).
Si on veut vraiment parler de SPOF parlons de Cloudflare ou des services DNS, ou même de AWS/GCP/Azure.
Et de toutes facons si tu es un gros site très précieux qui doit s’inquiéter de ce genre de chose tu devrais avoir un certificat étendu bien cher pas du tout par LE donc bon …
Le 24/04/2018 à 08h14
Le 24/04/2018 à 08h17
Il faut une blockchain pour les certificats ! " />
Le 24/04/2018 à 08h35
Le 24/04/2018 à 08h44
Bah… oui :
“A single Node of failure”
“I’m harvesting credit card numbers and passwords from your site. Here’s how.”
Le 24/04/2018 à 08h49
Le 24/04/2018 à 08h59
Le 24/04/2018 à 09h00
Même avec une nuit qui porte conseil, je vois toujours pas le soucis de sécurité avec une disparition de LE. D’usage, oui, de sécurité, non. Du coup, y a pas de failure, donc pas de SPOF. Du coup pas d’article.
Réduire la failure à une disparition est réducteur. Que penses-tu du piratage ?
As-tu lu ce commentaire ?
Le 24/04/2018 à 09h53
Le 24/04/2018 à 10h22
Le fait que LE tombe n’entraine en rien la révocation des certificats.
Si on parle de révocation, la danger n’est pas LE mais Symantec/Identrust.
D’ailleurs Let’s Encrypt est déjà tombé plusieurs fois et les dégats ont été virtuellement invisibles.
La raison principale est que OCSP est fail-open donc si LE tombe, par défaut le certificat ne sera pas considéré révoqué.
Le 24/04/2018 à 10h30
je ne parle pas du DNS côté client mais côté serveur (voir Dyn par exemple:https://news.ycombinator.com/item?id=12759697) qui est bien plus compliqué à résoudre.
Et pour les fournisseurs cloud c’est bien joli la théorie mais va donc installer une base de donnée SQL partagée entre plusieurs fournisseurs et on en reparle. Ou le cache, ou n’importe quel système qui a besoin d’una ccès immmédiat à des données communes en temps réel. C’est déjà super compliqué d’avoir une BDD multi-régions en temps réel, mais alors entre fournisseurs différents ca relève de l’utopie.
Les instances évidemment que c’est facile de les repartir, mais si tu as une seule base de donnée ca ne sert á rien du tout, au final ta BDD tombe et ton site ne marche plus du tout.
Et encore je ne parle pas de tous les services qui sont exclusifs à chaque fournisseurs et qui sont donc par définission impossibles à répliquer dans un autre (genre Elasticbean, tous les trucs “serverless” etc.)
Le 24/04/2018 à 10h46
Le 24/04/2018 à 11h20
Elastic Beanhttps://aws.amazon.com/elasticbeanstalk/ n’a rien á voir avec Elastic Search https://www.elastic.co/)
Elastic Bean est un concurrent de GAE flexible Google
Et bien sur il est possible de faire une BDD multi machine mais dans ce cas tu dois la gérer toi même, ce qui est hyper lourd et ingérable pour une startup, sauf si c’est une startup de sysadmin bien sur. C’est bien pour ca que les BDD gérer par AWS/Google/Microsoft ou tu n’as pas d’accès à la machine sont si populaires.
Et Dyn était bien un SPOF pour beaucoup de sites, y compris des très gros. En étant honnête, combien d’entre nous ont plusieurs fournisseurs différent pour les DNS racine ? Même Github, Netflix et AirBNB étaient tombés à cause de ca, alors dire “A toi de pas être dépendant d’un seul lien” c’est cool mais à quel moment on se rend compte que c’est exagéré de demander ce genre de chose pour un site moyen ?
Le 24/04/2018 à 11h21
Pas tout à fait : tu ne peux pas renouveler un certificat Let’s Encrypt tant qu’il lui reste plus de 30 jours de validité. Tu ne peux le renouveler que pendant les 30 derniers jours. Autrement, certbot (le programme qui permet de récupérer un certificat) s’arrête avec un message “no certificate due for renewal”.
Le 24/04/2018 à 11h32
Le 24/04/2018 à 13h55
Bizarrement ça me rappelle quelque chose (de loin mais quand même) ah oui symantec…
Il y a deux problèmes dans LE actuellement :
- La sécurité des clés privés et du seul et unique certificat racine (parce que si le certificat racine de let’s encrypt saute ou comme pour symantec est hacké ben… ca va faire mal au net " />)
Le 24/04/2018 à 14h41
Le 23/04/2018 à 15h57
J’utilise très peu LE pour cette raison. Car je n’ai pas trouvé, ou pas su trouvé, la taille de l’infra sa sécurité, sa redondance, sa résilience… L’analyse est très juste et ça va poser un problème lors d’une attaque coordonnées, comme contre DYN.com. Mais DYN c’est gros et il y’a de l’argent pour agir et mettre en place des contres-mesures.
Pour LE, quels sont les moyens financiers pour s’organiser ?
Le 23/04/2018 à 16h00
Je sais pas trop comment ça marche mais une fois le certificat généré il est valide pendant 3 mois et pendant ces 3 mois que let’s encrypt soit vivant ou mort ça ne change rien non ?
Ça laisse quand même 1moi et demi en moyenne pour se retourner en cas de problème à long terme avec LE non ?
Le 23/04/2018 à 16h00
Il serait ainsi temps de se demander comment s’assurer collectivement qu’Internet ne dépende pas tant du bon fonctionnement d’un seul acteur
Facile: il suffit d’avoir des alternatives gratuites financées par la collecte de données personnelles.
" />
Le 23/04/2018 à 16h04
Hmm.
En soit, Let’s Encrypt n’est utile qu’au moment de la création ou du renouvellement d’un certificat. Entre les deux, il n’a aucune utilité, le certificat est installé localement bien au chaud. Du coup, un down du serveur let’s encrypt serait génant mais pas critique.
Le protocole ACME sur lequel est basé Let’s Encrypt est public.
Le serveur Let’s Encrypt peut être réimplémenté par qui-veux-bien, tout comme le client certbot qui est open source (il y a d’ailleurs un client alternatif, Boulder).
Je pense que c’est un faux problème, en cas de soucis on verrait apparaitre très vite des alternatives. Pour l’instant, il n’y a pas vraiment ce besoin étant donné que Let’s encrypt fonctionne très bien.
Le 23/04/2018 à 16h04
Le 23/04/2018 à 16h05
Un « rêve » serait DANE avec DNSSEC, mébon…
En attendant, c’est vrai que c’est un problème…
Le 23/04/2018 à 16h10
Entre le moment où l’alternative apparait et le moment où les navigateurs reconnaissent l’authenticité du certificat de ton site, tu as le temps de bouffer les pissenlits par la racine…
Le 23/04/2018 à 16h11
Ca aurait été bien que l’article nous explique plus clairement les risques si LE devient indisponible, et ce, pendant 5 minutes, 1 heures, définitivement…
Parce que oui, si LE disparait, les sites et services l’exploitant seront dans la merde… je crois qu’on avait compris ça merci.
Le 23/04/2018 à 16h13
Malgré le problème intéressant soulevé par cet article, je pense que lorsqu’on a besoin d’un certificat pour un petit site, même professionnel, LE est largement suffisant.
Quand on commence à gérer des données sensibles (identité des utilisateurs par exemple), cela commence à devenir tendancieux de se fier à un système (pour le moment) centralisé, cependant la solution reste libre, ce qu’il manque en réalité… Ce sont des alternatives amis de LE !
Sinon, en sachant le faire, à partir du moment où tu achète ton certificat (chez Gandi par exemple), il faudra quelques heures à peines pour pouvoir le mettre en place (et encore, c’est parce qu’il faut attendre Gandi). Quand vous avez accès au .crt et au .pem, c’est une question de minutes. Et ça coûtera autour de 20€.
Enfin, LE reste largement plus abordable financièrement que les solutions classiques, car si vous avez un site avec des sous domaines et que vous voulez un wildcard… Comptez autour de 100€, pour un étudiant (par exemple) ça pique. Et les certificats auto-signés, c’est moche en dehors d’un projet interne/privé.
Je continue à faire confiance à LE (que ce soit pour la pérennité ou la sécurité) mais il serait temps qu’un fork ou une solution concurrente apparaisse et gratte quelques parts de marchés.
Le 23/04/2018 à 16h15
5 minutes:le site dont le certificat expire dans cette heure ne peuvent pas le renouveler leur site est en rade.
1h : le gens dont le certificat expire dans cette heure ne peuvent pas le renouveler leur site est en rade.
en general on renouvelle le certificat un peu avant la date butoir…
Le 23/04/2018 à 16h20
Le SPOF résiderait dans la révocation du certificat racine de Let’s Encrypt dans les navigateurs, je pense (déjà arrivé à des grosses CA). Et le temps que le nouveau se propage via les mises à jour des bases de certifs, l’impact ne serait pas neutre.
A part ça, la livraison du certif est une opération que le site recommande une fois par mois, donc peu de risques de se retrouver avec un certificat expiré.
C’est le revers de la médaille d’avoir poussé le tout Saint Cadenas sans comprendre la totalité de l’enjeu. Il suffira de révoquer le certificat d’un site pour le faire disparaître, l’utilisateur ayant peu de chances de passer outre le message anxiogène des navigateurs dans ce cas.
Le 23/04/2018 à 16h20
Je vais sans doute faire faire la moue au lectorat, mais vous avez aussi des “solutions” de type cloudflare, où ils fournissent eux-mêmes et gratuitement le SSL aux sites web.
Juste puisqu’on parle de mentionner les alternatives.
Le 23/04/2018 à 16h21
On appelle ça le courtermisme, et en terme d’infrastructure, ça finit toujours par te péter à la gueule " />
Le 23/04/2018 à 16h21
Cloudflare, niveau SPOF, ça se pose là aussi " />
Le 23/04/2018 à 16h24
Malheureusement non: pour gérer la révocation ils doivent signer toutes les 2⁄3 semaines une preuve de validité du certificat (OCSP), et si le serveur n’utilise pas OCSP stapling, LE doit pouvoir fournir cette preuve sur demande pour tous les visiteurs.
(l’OCSP stapling permet donc d’être en sécurité 1⁄2 semaines en cas de coupure de Let’s Encrypt)
Le 23/04/2018 à 16h35