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.