Pourquoi devrais-je payer pour un certificat SSL?
Pour la plupart des utilisations, il n'y a pas de bonne raison de les payer.
Voir tout en bas pour un résumé des exceptions.
Faisons un pas en arrière et expliquons ce que font les certificats et comment.
Ce que l’on appelle communément "certificats" est constitué de deux éléments liés:
- Le certificat proprement dit , qui contient une clé publique et une identification (telle qu'un nom de domaine).
- La clé privée , qui permet au titulaire (et uniquement au titulaire) de signer numériquement les messages de manière à ce qu'ils puissent être vérifiés à l'aide du certificat ci-dessus.
Si vous voulez un certificat pour yourdomain.com
, vous:
- Créez une paire de clés privée / publique et conservez la partie privée.
- Demandez à un tiers de confiance ("CrediCorp") de créer un certificat
yourdomain.com
avec votre clé publique.
- Prouvez d'une certaine manière à CrediCorp que vous contrôlez
yourdomain.com
.
- Placez la clé privée et le certificat obtenu sur votre serveur, puis configurez le serveur Web pour les utiliser.
Ensuite, si Alice visite yourdomain.com
, son navigateur obtient le certificat de votre serveur Web, ainsi qu'un message signé par votre clé privée. Ensuite, son navigateur vérifie trois choses:
- Que le message signé puisse être vérifié par votre certificat (en prouvant qu'il a été signé par la clé privée correspondante qui
yourdomain.com
devrait l'être).
- Que le domaine du certificat est le domaine que le navigateur tente de visiter (
yourdomain.com
).
- Que le certificat provient de CrediCorp.
La combinaison de ces trois éléments garantit à Alice avec qui elle parle yourdomain.com
, et non à un imposteur… À condition qu’elle fasse confiance à CrediCorp .
(Il y a également une danse crypto vaudou pour transformer cette authenticité en confidentialité.)
Comment ne faire confiance Alice Credicorp?
C'est le vrai noeud ici. En bref, CrediCorp a dit à un moment donné "Hé, nous allons faire des certificats". Après avoir déployé beaucoup d'efforts conformément à de nombreuses règles , ils ont réussi à convaincre certaines personnes que CrediCorp est digne de confiance et qu'elles n'émettront que des certificats correctement.
En particulier, ils ont réussi à convaincre les fabricants de, par exemple, Firefox. En conséquence, CrediCorp est inscrit dans la liste A de Firefox et ses certificats sont approuvés par Firefox par défaut. Alors vraiment, Alice fait confiance à Firefox, que Firefox fait confiance à CrediCorp et que CrediCorp vous a fait confiance (après avoir vérifié) lorsque vous avez affirmé que vous contrôliez yourdomain.com
. C'est presque comme une chaîne .
Mais Firefox ne fait pas seulement confiance à CrediCorp pour l’émission de certificats yourdomain.com
, il fait confiance aux certificats CrediCorp pour n’importe quel domaine. Et Firefox fait également confiance à ShabbyCorp, pour tous les domaines.
Cela a des conséquences. Si quelqu'un parvient à convaincre ShabbyCorp de contrôler yourdomain.com
(parce que ShabbyCorp n'est pas très complet), il peut alors obtenir un certificat ShabbyCorp yourdomain.com
avec la clé privée correspondante. Et avec ce certificat, ils pourraient emprunter l'identité de votre serveur Web. Après tout, ils ont un certificat (plus la clé) pour yourdomain.com
que cela soit approuvé par Firefox!
CrediCorp et ShabbyCorp sont ce qu'on appelle des autorités de certification , ou CA en abrégé. Dans la réalité, ComodoSSL et Let's Encrypt sont des exemples de CA. Mais il y en a beaucoup plus; à ce jour, Firefox fait confiance à 154 autorités de certification .
Whoa. Mais comment cela répond-il à ma question?
Je suis ehm, arriver à ça ...
Voici la chose. Les mécanismes que j'ai décrits ci-dessus s'appliquent à tous les certificats. Si vous avez un certificat correct et fiable pour votre site Web, cela fonctionnera. Il n'y a rien de spécial entre les certificats de marque A et les certificats de marque B; ils sont tous soumis aux mêmes exigences en matière de certification et aux mêmes méthodes cryptographiques.
Et même si vous aimez mieux CrediCorp - parce que vous savez, ils sonnent tellement plus digne de confiance - leur utilisation ne vous aidera pas vraiment. Si un attaquant parvient à convaincre ShabbyCorp de lui attribuer un certificat pour votre site, il peut utiliser ce certificat pour emprunter l'identité de votre site, où que vous vous trouviez.
Tant que Firefox fait confiance à ShabbyCorp, les visiteurs ne verront pas la différence. (Oui, les visiteurs pourraient obtenir le certificat et y creuser pour voir qui l'a délivré. Mais qui le fait?) En ce qui concerne la falsification de certificats, le système tout entier est aussi faible que le plus faible des plus de 150 CA. Pourquoi oui, c'est effrayant, et il est probablement le plus grand de gens critique ont de ce régime tout entier. Pourtant, c'est ce avec quoi nous sommes coincés.
Le fait est que si vous ne faites pas confiance à une autorité de certification pour la délivrance de "bons" certificats, obtenir vos certificats ailleurs ne vous aide pas beaucoup.
Gotcha, tout est également condamné. Aucune mise en garde?
Weeeelllll ...
Commençons par tuer ce que j'ai dit dans la dernière section. De nos jours, il est possible de verrouiller votre domaine uniquement sur les autorités de certification de votre choix à l' aide de DNS-CAA . Supposons que vous fassiez confiance à Comodo et à d’autres autorités de certification, il est possible de demander à toutes les autorités de certification autres que Comodo de ne pas émettre de certificats pour votre domaine. En théorie. (DNS-CAA n'étant pas vérifié par les navigateurs, uniquement par les autorités de certification émettrices. Une autorité de certification compromise peut donc ignorer cette protection.)
Si vous êtes prêt à traverser cette période difficile, la question devient alors: est-ce que Let's Encrypt est réellement moins fiable? Ou moins sécurisé? La fiabilité est difficile, comment le quantifiez-vous? Tout ce que je peux dire, c’est que, selon ma perception , Encrypt n’est pas moins fiable que les autres autorités de certification. En ce qui concerne la sécurité de leurs validations, elles sont très similaires à ce que font les autorités de certification commerciales (pour les certificats DV de toute façon). Voir aussi cette question .
Pour ce que cela vaut: le réseau StackExchange, dont ce site fait partie, utilise actuellement des certificats Let's Encrypt. La plupart des gens ne le remarqueraient jamais, et s'ils le faisaient, je doute sincèrement que cela aurait beaucoup de sens pour eux.
Pour qu'un certificat ait un sens, l'autorité de certification émettrice doit être approuvée par les éditeurs de logiciels , sinon le certificat est inutile. J'ai utilisé Firefox à titre d'exemple, mais vous souhaitez réellement que les versions actuelles et légèrement plus anciennes de Firefox, Chrome, Windows, Mac OS X, iOS et Android fassent confiance à l'autorité de certification. Et les dizaines de plus petits joueurs. Les CA qui valent la peine d'être prises en compte (qui incluent ComodoSSL et Let's Encrypt) sont approuvés par toutes ces entités.
Si une autorité de certification se comporte mal ou se révèle indigne de confiance, elle sera retirée des divers magasins de confiance suffisamment rapidement pour gâcher la journée des détenteurs de certificats. Je connais deux exemples notables: DigiNotar et StartCom / WoSign (consultez les articles, ils fournissent des informations intéressantes sur la dynamique de la confiance!). Donc, si vous pensez que Let's Encrypt va échouer, ou sera abandonné pour une autre raison, ne pas les utiliser vous évitera de vous faire prendre à cette éventualité.
Les certificats utilisent un peu de magie crypto mathématique ; la question est quelle crypto math magie ? Et si c'est de la magie faible? En réalité, il s’agit d’une préoccupation réelle, et les autorités de certification ont également montré qu’elles traînaient sur la modernisation. Heureusement, les éditeurs de navigateurs ont pris le relais en fixant des minimums pour que les certificats soient acceptés. Par exemple, les certificats utilisant RSA-1024 ou SHA-1 sont maintenant rejetés par la plupart des navigateurs. Par conséquent, aucun certificat fonctionnant dans la pratique n'utilise ces crypto primitives déconseillées. Le résultat est qu’il est très difficile pour une autorité de certification (Let's Encrypt incluse) de décevoir davantage sur cette partie.
Auparavant, j'ai plus ou moins dit que tous les certificats sont créés égaux. J'ai menti, ils ne sont pas. En particulier, ce que j'ai discuté jusqu'à présent sont les " certificats validés par le domaine ", qui sont utilisés par la grande majorité des sites Web. Ils fournissent une mesure de certitude que votre navigateur communique réellement avec le domaine indiqué dans la barre d'adresse. Il existe également des certificats "Organisation validée (OV)" et " Validation étendue (EV)", qui nécessitent des contrôles beaucoup plus élaborés de la part des autorités de certification. En particulier, vous ne devriez pouvoir obtenir un certificat EV pour somebank.com
/ SomeBank Inc., si vous pouvez réellement prouver que vous êtes SomeBank, Inc.
Les certificats EV sont beaucoup plus coûteux à obtenir (coût approximatif: des centaines d'EUR / USD par an), et peuvent être récompensés par une barre d'URL verte ou un cadenas dans le navigateur, affichant peut-être "SomeBank, Inc.". ainsi que. Contrairement aux certificats DV, ils permettent également de savoir à qui le site Web pourrait appartenir. L'avantage est qu'ils peuvent sembler plus légitimes. La déception est que les utilisateurs font rarement attention à eux, leur efficacité est donc limitée.
Un attaquant avec un certificat DV falsifié peut toujours emprunter l'identité du site, sans l'indicateur visuel supplémentaire qu'un certificat EV peut offrir, et les utilisateurs ne remarquent généralement pas la distinction. Inversement, il est possible d’ obtenir un certificat EV trompeur pour faciliter l’hameçonnage. En conséquence, Chrome et Firefox laisseront tomber leurs signes visuels aux certificats EV, et certaines personnes croient qu'elles disparaîtront complètement.
Si vous êtes une banque, vous voulez probablement toujours un certificat EV pour le moment. Sinon, pas tellement. Mais si vous avez besoin d' EV, le Crypter Let est pas pour vous parce qu'ils ne proposent pas seulement des certificats EV.
Les certificats ne sont valables que pour un temps limité . Les certificats d'un CA commercial typique ont tendance à être valides pour un an, mais j'ai vu quelque chose de trois mois à trois ans. Les certificats de Let's Encrypt sont valides pendant 90 jours , ce qui est un peu à côté de cette plage. Vous devrez donc les renouveler souvent. Pour les utilisateurs de Let's Encrypt, cette opération est généralement automatisée, de sorte que les certificats sont remplacés tous les 60 jours.
Pouvoir automatiser le renouvellement avec des logiciels largement disponibles est en réalité plus agréable que l'année dernière, mon certificat a expiré? Quelle est ma connexion à la CA? Comment ça marche encore? rituel auquel la plupart des petits sites semblent aboutir dans des CA commerciales.
Auparavant, j’appelais effrayant le fait qu’il y ait tant de CA auxquels nous devons tous faire confiance. Avoir plusieurs CA est également un avantage, en ce sens que le retrait d'un seul de nos magasins de clés de confiance a un impact limité sur les utilisateurs. En particulier, l’expulsion d’une seule autorité de certification n’affectera que les certificats émis par cette autorité de certification. Si tout le monde finit par utiliser une seule autorité de certification (ce que certaines personnes craignent avec Let's Encrypt ), nous y concentrons toute notre confiance et perdons les avantages de cette fragmentation.
Enfin, une autorité de certification payante peut offrir d’ autres avantages , tels que le support commercial ou une garantie SSL d’ un million de dollars . Je crois peu à ces deux aspects, mais ce sont des choses que Encrypt ne propose pas.
Ma tête me fait mal… j'avais une question, je pense?
Utilisez ce avec quoi vous êtes à l'aise! Pour les certificats DV, peu de choses différencient les différentes autorités de certification. J'utilise Let's Encrypt de manière professionnelle et privée, et j'en suis satisfait.
Il n'y a en réalité que quatre raisons potentielles à éviter Let's Encrypt:
- Si vous avez besoin de certificats EV (ou OV).
- Si vous ne pouvez pas ou ne voulez pas automatiser le renouvellement du certificat et que sa validité est inférieure à trois mois, elle est trop courte.
- Si vous ne faites pas confiance à Let's Encrypt (mais assurez-vous également de prendre en compte d'autres mesures telles que DNS-CAA, et vous devriez probablement ajouter Black Encryption à votre liste également).
- Si vous pensez que Let's Encrypt sera abandonné ou supprimé des navigateurs pour une raison quelconque.
Si rien ne vous concerne, n'hésitez pas à ne pas payer vos certificats.