Je n'arrive pas à comprendre pourquoi nous devons acheter des certificats SSL alors que nous pouvons les générer localement à l'aide d'openSSL. Quelle est la différence entre le certificat que j'achète et un certificat de test que je génère localement? Est-ce juste une grosse arnaque?
ssl
ssl-certificate
https
SK '
la source
la source
Réponses:
Un mot - confiance. Le certificat SSL d'un fournisseur approuvé par votre navigateur signifie qu'il a au moins effectué une vérification de base pour indiquer que vous êtes bien qui vous êtes.
Sinon, je pourrais créer mes propres certificats pour google.com ou yourbank.com et me faire passer pour eux.
Les certificats payés ne fournissent aucun niveau supplémentaire de cryptage par rapport à l'auto-signature (généralement). Mais un certificat auto-signé provoquera une erreur du navigateur.
Oui, certaines parties de SSL constituent une arnaque (un certificat de vérification et un géotrust où les vérifications sont jusqu'à 100 fois plus chères), mais pas toutes.
Si tout ceci est interne, alors un certificat payant n’est pas nécessaire, vous pouvez utiliser vos propres méthodes de confiance (par exemple, Ne rien faire, ou peut-être simplement une vérification des empreintes digitales).
la source
L'intérêt d'un certificat SSL est que le navigateur ait un degré de confiance raisonnable dans la clé publique du serveur pour les transactions HTTPS.
Premièrement, explorons ce qui se passerait si nous n’utilisions pas de certificats. Au lieu de cela, le serveur enverrait la clé publique en texte brut et le navigateur initierait une communication cryptée utilisant cette clé (la première chose à faire serait de crypter sa propre clé publique et de la renvoyer de manière sécurisée). Et si, moi et l'attaquant, je me calais au milieu? Je pourrais remplacer votre clé publique à la volée par la mienne, établir une connexion cryptée avec le navigateur, décrypter tout ce que je recevais, la chiffrer avec votre clé publique et l'envoyer (et inversement pour le trafic de type réponse). Aucune partie ne remarquerait la différence, car personne ne connaissait auparavant les clés publiques.
OK, nous avons donc établi que nous avions besoin d’un moyen permettant au navigateur de faire confiance à ma clé publique. Une solution consiste à stocker toutes les clés publiques enregistrées dans le navigateur. Bien sûr, cela nécessiterait une mise à jour à chaque fois que quelqu'un enregistre une clé publique, ce qui entraînerait une surcharge. On pourrait aussi garder les clés publiques entre les mains des serveurs DNS 1 , mais les serveurs DNS peuvent également être usurpés et le DNS n'est pas un protocole sécurisé.
La seule option qui reste est donc de "chaîner" la confiance via un mécanisme de signature. Le navigateur stocke les détails de quelques autorités de certification et votre certificat sera envoyé avec une chaîne d'autres certificats, chacun signant le suivant et remontant jusqu'à l'autorité de certification racine / approuvée / intégrée. L’autorité de certification a pour tâche de s’assurer que le domaine vous appartient avant de signer un certificat pour vous.
Étant donné qu’ils sont une entreprise, ils facturent ces frais. Certains plus que d'autres.
Si vous avez créé votre propre certificat, vous obtiendrez une erreur semblable à:
Il n'y a aucune valeur à un certificat non signé. C'est comme prendre un crayon et un livret, dessiner un passeport affirmant que vous êtes Barack Obama. Personne ne lui fera confiance.
1. Après tout, votre entrée DNS est créée lorsque vous enregistrez un domaine. L'utilisation d'un protocole plus robuste qui vous permet d'enregistrer simultanément des clés publiques serait un concept intéressant.
la source
La réponse à votre question dépend de votre public: Étant donné que tout le système de certificats est basé sur la "confiance", vos utilisateurs doivent avoir la possibilité de prouver leurs certificats eux-mêmes ou faire confiance à un tiers qui a effectué ce contrôle et en montre le succès en signant. votre certificat. Le terme "pour prouver vos certificats" que j'ai utilisé est un peu inexact: la version longue devrait être: "pour prouver que vous êtes le propriétaire du certificat et que vous êtes autorisé à l'utiliser".
Si tous vos utilisateurs vous connaissent personnellement et ont la capacité technique de prouver que votre certificat a été délivré par vous-même, vous n'avez pas besoin techniquement d'utiliser un certificat d'un fournisseur "certifié". Dans ce cas, le certificat auto-signé pourrait même être meilleur que celui d'un de ses fournisseurs.
Mais dans la plupart des cas, les utilisateurs n'ont pas la possibilité d'effectuer ce processus eux-mêmes. Ici, ces fournisseurs SSL entrent sur le marché. Ils offrent le service pour effectuer ces contrôles et expriment le résultat des contrôles en signant le certificat. Mais un fait important à garder à l'esprit est le suivant: en signant un certificat, un fournisseur SSL indique qu'il a vérifié l'identité des émetteurs de certificats conformément à sa propre politique de signature. L’utilisateur doit donc décider si cette politique est suffisamment précise et s’il peut faire confiance au fournisseur.
la source
Le point principal est que, si le certificat est auto-généré, les utilisateurs ordinaires n’ont aucun moyen de vérifier sa véracité. Pour un certificat acheté, ils supposent au moins vérifier que ce qui est imprimé à l'intérieur du certificat est correct. Idée: si vous mettez votre téléphone et votre adresse dans le certificat, l'autorité de certification suppose de le vérifier, mais c'est rarement le cas.
De plus, les certificats d'achat sont traçables, ce qui signifie qu'ils peuvent toujours retracer l'origine de la certification, alors qu'une certification auto-signée est uniquement une identité aléatoire.
Pour de nombreux systèmes, la "signature de code" était auparavant requise par une autorité de certification autorisée, qui est régie par des règles, mais comme les certificats auto-signés sont si nombreux, ils ne sont plus appliqués à 100% maintenant.
la source
Il n'y a pas de différence technique (vos propres ne sont pas moins sûrs), il s'agit simplement d'une différence d'organisation: le certificat de votre autorité de certification ne fait pas partie de l'installation standard des navigateurs. Cela rend difficile pour la plupart des gens de se connecter à votre certificat. Mais cela n’a aucun sens d’acheter un certificat pour un réseau interne.
la source
Cela revient à faire confiance. Un fournisseur SSL "certifié" est censé être réputé (bien que cela puisse être manipulé) par rapport à un certificat auto-signé du serveur lui-même.
Si votre organisation a sa propre signature de certificat, cela est parfaitement acceptable et ne devrait pas provoquer d'avertissement pour les utilisateurs (à condition qu'ils utilisent votre chaîne de clés de certification comme source de confiance), mais créera toujours un avertissement si vous essayez de l'utiliser en externe.
En résumé: pour un usage interne, c'est très bien, si vous le fournissez en externe à un client payant, ne pas avoir d'avertissements est une tranquillité d'esprit. Vous sentiriez-vous plus en sécurité si vos transactions financières passaient par une source agréée ou par un type debout dans la rue que vous ne connaissez pas vraiment?
la source
Récemment, LetsEncrypt a annoncé la disponibilité de ses outils de ligne de commande pour générer des certificats valides.
Pour ceux qui se demandent si ces certificats sont valables dans les principaux navigateurs, la réponse est oui:
Lien pour l'administrateur système et les développeurs: https://letsencrypt.org/getting-started/
À l'ère de la technologie de la blockchain et de l'élimination des systèmes de confiance par des tiers, il était temps que la délivrance de certificats onéreux par quelques autorités choisies commence à être remise en question.
Bien que Letsencrypt n’ait rien à voir avec la technologie des chaînes de blocs, c’est un début dans la bonne direction. La nécessité de payer chaque année des frais élevés à une autorité de certification onéreuse touche à sa fin logique.
la source
En termes simples, un certificat SSL auto-signé ne veut rien dire. Cela n'a aucune valeur pour le monde extérieur. C'est comme dire "je possède l'Espagne". Vous pensez peut-être honnêtement que vous faites, mais personne ne va reconnaître votre demande.
Une analogie similaire reviendrait à inventer quelque chose et à revendiquer ensuite que vous déteniez les droits sur l’invention, mais à moins de déposer un brevet auprès de l’office, il vous sera difficile de croire ce qu’il en est, maintenant?
L'intérêt d'un certificat est qu'il est signé par une autorité de confiance. Si un site Web possède un certificat SSL valide, cela signifie que le propriétaire a eu la peine de s’inscrire, de payer pour le certificat SSL et d’obtenir la certification officielle d’une autorité de certification du monde réel. Ce n’est donc probablement pas un site Web de phishing bon marché. D'autre part, si vous faites confiance à des certificats auto-signés, ledit site Web de phishing pourrait simplement générer son propre certificat contrefait (que vous accepterez avec joie) et le tour est joué.
Bien sûr, s’il s’agit d’un réseau interne sur un intranet privé, vous vous faites probablement déjà confiance. Dans ce cas, un certificat faisant autorité n’ajoute rien, vous pouvez donc ignorer en toute sécurité les lumières rouges vives que votre navigateur vous lancera. . Idem pour les petits sites Web sur lesquels vous souhaitez toujours chiffrer le trafic client-serveur mais votre modèle de menace ne garantit pas une authentification forte. Dans ce cas, vous pouvez vous en servir avec un certificat auto-signé et accepter le (négligeable selon votre modèle de menace). risque de MITM.
Ce qui est probablement satisfaisant compte tenu du coût élevé des certificats SSL de confiance.
En d'autres termes, un certificat auto-signé revient à dire "Je certifie que je suis qui je suis - faites-moi confiance !".
la source
Pour faire court et simple ... et démystifier un peu ce qui a été dit ...
Ce n'est pas le problème du cryptage, avec les outils appropriés, vous pouvez générer un certificat localement avec le type de cryptage souhaité ... et obtenir un certificat valide.
Le principal avantage de l'achat d'un certificat auprès d'une entité de certification est que, pendant la période de validité du certificat, les utilisateurs disposent sur leurs serveurs d'un mécanisme permettant de valider tout ce que vous avez signé avec votre certification en ligne ...
Il n'est pas nécessaire de connecter vos PC pour que vos produits numériques soient vérifiés et validés avec votre certificat ... vous devez rediriger la validation vers l'entité de certification.
la source
Désolé de participer si tard à la discussion. Je pensais que cela valait la peine de souligner qu’en utilisant openssl, il est possible de configurer une autorité de certification privée, avec son propre certificat racine, puis de créer des certificats de serveur signés par cette autorité de certification. À condition que le certificat racine de l'autorité de certification soit importé dans le navigateur et que le navigateur soit invité à l'accepter, le certificat de serveur sera accepté sans commentaire. (Évidemment, cette option n'est viable que si la communauté d'utilisateurs est petite et que tous les utilisateurs se connaissent personnellement.)
la source
Feriez-vous confiance à quelqu'un qui dit "Trust Me"? La confiance en l'authenticité ne peut être fournie que par une "autorité de confiance", à laquelle tout le monde a confiance. C'est pourquoi nous devons gagner beaucoup d'argent pour les concerts.
la source