Pourquoi le certificat de clé publique d'un serveur Web doit-il être signé par une autorité de certification?

9

En d'autres termes, quel serait le risque pour la sécurité de ne pas signer les certificats de clé publique par les autorités de certification (du point de vue de l'utilisateur)? Je veux dire, les données sont toujours cryptées ... Que pourrait faire un homme du milieu avec un certificat non signé?

Olivier Lalonde
la source
Ils peuvent générer leur propre certificat avec exactement les mêmes informations. Comment l'utilisateur fait-il la différence?
pjc50 du
@ pjc50: en regardant le chemin du certificat. Un certificat non auto-signé aura un chemin de certificat. Si ce chemin mène à une racine approuvée, le certificat est approuvé, sinon il ne l'est pas. Vous pouvez bien sûr ajouter vous-même des racines de confiance supplémentaires (je l'ai fait pour ma propre autorité de certification afin que je puisse facilement créer des certificats pour une utilisation locale).
Richard

Réponses:

13

Le but de SSL lorsqu'il est utilisé avec HTTP n'est pas seulement de chiffrer le trafic, mais aussi d'authentifier qui est le propriétaire du site Web, et que quelqu'un a été prêt à investir du temps et de l'argent pour prouver l'authenticité et la propriété de son domaine.

C'est comme acheter une relation, pas seulement le cryptage, et la relation instille, ou suppose, un certain niveau de confiance.

Cela dit, j'ai posé une question similaire il y a quelques mois, et la réponse de base qui est revenue était "SSL est un peu une arnaque"

Mark Henderson
la source
Je pensais que les certificats SSL étaient émis pour les IP, pas pour les domaines. Pourquoi aviez-vous besoin de certificats différents pour les domaines hébergés sur la même IP? De plus, la page Wikipédia sur HTTPS mentionne qu'il est possible d'obtenir des certificats gratuitement ... L'entreprise CA sonne vraiment comme une arnaque.
Olivier Lalonde du
2
Des certificats sont émis pour les domaines. Rien ne vous empêche de générer un certificat auto-signé, il ne fera qu'émettre un avertissement effrayant (que les gens ne liront pas) car le navigateur ne fait pas confiance à l'autorité de certification émettrice. Le problème "plusieurs SSL sur une seule IP" a été discuté à plusieurs reprises ici. Voici un fil avec une bonne réponse serverfault.com/questions/73162/…
Zypher
Merci Zypher, vous avez pris les mots de ma bouche :) Et les certificats pour les domaines, pas les IP. Nous avons trois adresses IP pour trois serveurs qui desservent notre site Web le plus lourd, et ils ont tous le même certificat chargé.
Mark Henderson du
8

Imaginez une situation où vous devez remettre 1 000 000 $ à une personne nommée John Smith que vous n'avez jamais rencontrée ou avec laquelle vous avez communiqué. On vous dit que vous pouvez le rencontrer dans un lieu public bondé. Lorsque vous allez à sa rencontre, vous aurez besoin d'un moyen de vous assurer qu'il est bien la personne que vous recherchez, et non une autre personne au hasard prétendant être John Smith. Vous pourriez demander une pièce d'identité du gouvernement, une carte de visite. Vous pourriez demander à une personne en qui vous avez confiance d'avoir rencontré John Smith de l'aider à l'identifier.

Un certificat auto-signé identifie de manière unique un système, mais il ne fait rien pour prouver que le système est bien celui qu'il prétend être. Je peux facilement signer moi-même un certificat et prétendre être serverfault.com, google.com ou yourbank.com. Les autorités de certification agissent essentiellement comme un tiers auquel le client fait confiance pour vérifier qu'un certificat est réellement valide pour le nom que le site prétend posséder.

Zoredache
la source
2

L'entreprise SSL est en effet un peu une arnaque. Plus qu'un peu, en fait, lorsque vous payez environ 20p par octet pour certaines données intéressantes sur le plan cryptographique. Ce que vous payez, c'est pour l'autorité de certification que vous utilisez pour signer votre certificat avec l'une de leurs clés privées après s'être prouvé que vous avez bien le droit d'utiliser le nom de domaine / hôte auquel le certificat est destiné. Comme le dit Farseeker, il s'agit d'une relation de confiance - l'autorité de certification vous fait confiance (après vous avoir vérifié), les navigateurs Web du monde font confiance à l'autorité de certification (généralement), et donc les navigateurs Web du monde feront confiance à votre certificat. Et ne me lancez pas sur la validation étendue ...

RainyRat
la source