L'objectif d'un certificat SSL est de permettre au navigateur d'avoir un degré raisonnable de confiance dans la clé publique du serveur pour les transactions HTTPS.
Tout d'abord, voyons ce qui se passerait si nous n'utilisions pas de certificats. Au lieu de cela, le serveur enverrait la clé publique en clair et le navigateur initierait une communication cryptée en l'utilisant (la première chose qu'il ferait serait de crypter sa propre clé publique et de l'envoyer en toute sécurité). Et si moi, un attaquant, je me plaçais au milieu ? Je pourrais remplacer votre clé publique à la volée par la mienne, établir une connexion cryptée avec le navigateur, décrypter toutes les données que je reçois, les crypter avec votre clé publique et les envoyer (et vice versa pour le trafic de type réponse). Aucune partie ne remarquerait la différence, puisque personne ne connaît les clés publiques au préalable.
OK, donc nous avons établi que nous avons besoin d'un moyen pour le navigateur de faire confiance à ma clé publique. Une façon de le faire serait de 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 de travail. On pourrait également conserver les clés publiques dans 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 par un mécanisme de signature. Le navigateur stocke les coordonnées 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/de confiance/en construction. C'est le rôle de l'autorité de certification de s'assurer que le domaine vous appartient avant de signer un certificat pour vous.
Étant donné qu'être CA est une entreprise, ils facturent pour cela. Certains plus que d'autres.
Si vous avez créé votre propre certificat, vous obtiendrez une erreur similaire à celle-ci :
Un certificat non signé n'a aucune valeur. C'est comme prendre un crayon et un livret, et dessiner un passeport qui prétend que vous êtes Barack Obama. Personne ne le croira.
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.
17 votes
En ce qui concerne le Triade de la CIA pour la sécurité des informations, les certificats auto-signés fournissent confidentialité y intégrité (c'est-à-dire qu'elles permettent l'envoi de messages cryptés entre deux parties), mais seules les certitudes signées par une source de confiance fournissent des garanties de sécurité. authenticité (c'est-à-dire que l'autre partie de votre conversation cryptée est bien celle que vous pensez qu'elle est).
10 votes
Il faut espérer que, lorsque les DNSSEC entreront en jeu, les gens pourront créer leur propre certificat et le stocker dans un enregistrement DNS. La chaîne de confiance DNSSEC serait alors suffisante pour prouver que le certificat appartient au propriétaire du domaine. (Je ne pense pas qu'il s'agisse d'une spécification formalisée (pour l'instant), mais ce serait bien).
2 votes
Pour un usage interne, vous pouvez déployer le certificat en tant que certificat de confiance en utilisant la stratégie de groupe (sous Windows).
4 votes
Je me demande souvent pourquoi les gens n'acceptent pas ma propre monnaie imprimée ;)
1 votes
Remarque : Il existe gratuit fournisseur(s) de certificats de base. Ceux-ci peuvent répondre à 90 % des besoins des gens. Et certains CA ont des certificats à très bas prix, il n'y a aucune raison de se ruiner, quels que soient vos besoins. (à part une délégation bien sûr)