web-dev-qa-db-fra.com

Qu'est-ce qui rend Let's Encrypt sécurisé?

Let's Encrypt est une initiative de l'Electronic Frontier Foundation (EFF), Mozilla, Cisco, Akamai, IdenTrust et des chercheurs de l'Université du Michigan qui vise à fournir automatiquement à chaque propriétaire de domaine un certificat reconnu qui peut être utilisé pour TLS.

Afin de prouver que vous possédez un domaine, vous devez installer un fichier avec un contenu particulier (généré de manière aléatoire) à une URL particulière (générée de manière aléatoire) sur ce domaine. Le serveur Let's Encrypt vérifiera cela en accédant à l'URL, avant de signer le certificat.

Supposons maintenant que j'ai une attaque qui fera que le domaine awesomebank.example résoudre sur mon serveur. Supposons que je puisse également MITM les connexions de certains peuples à https://awesomebank.example/. TLS est destiné à m'empêcher de voir ou de modifier leurs communications avec le serveur sans être détecté.

Ce qui m'empêche d'utiliser cette attaque sur le serveur Let's Encrypt et d'obtenir un certificat pour awesomebank.example, puis l'utiliser pour les clients MITM d'AwesomeBank sans être détecté (car j'ai un certificat valide)? L'existence d'une autorité de certification entièrement automatisée ne rend-elle pas Internet moins sûr?

72
user253751

Même sécurité que les autres certificats DV

Qu'est-ce qui m'empêche d'utiliser cette attaque sur le serveur Let's Encrypt et d'obtenir un certificat pour awesomebank.example, puis de l'utiliser pour les clients MITM d'AwesomeBank sans être détecté (car j'ai un certificat valide)?

Rien. Si vous êtes propriétaire du réseau, alors vous êtes propriétaire du réseau. Et les certificats de type DV (voir ci-dessous) s'appuient sur le réseau pour prouver la propriété du domaine. Il n'y a généralement pas de contrôles hors bande. (Personne n'appellera votre téléphone, personne ne vérifiera votre pièce d'identité avec photo, personne ne vous rendra visite à l'endroit où la société est enregistrée, etc.)

L'existence d'une autorité de certification entièrement automatisée ne rend-elle pas Internet moins sécurisé?

Nan. Même niveau de sécurité que les certificats de type DV.

Il existe (actuellement) trois niveaux d'assurance pour les certificats x509:

  • DV, validation de domaine
  • OV, Validation d'organisation
  • EV, validation étendue

DV est le moins cher. Cela signifie essentiellement "Si quelqu'un peut répondre à un e-mail à [email protected], alors cette personne obtient un certificat pour example.com".

Il existe des contrôles supplémentaires pour OV, EV.

Plus d'informations sur les types de certificats: GlobalSign.com: Quels sont les différents types de certificats SSL? (Archivé ici .)

Lectures complémentaires

67
StackzOfZtuff

Oui, le protocole que vous décrivez garantit uniquement que "la personne qui décroche le téléphone à la banque géniale" lorsque vous les appelez est la même personne qui a décroché le téléphone à la banque géniale lorsque le serveur Let's Encrypt les a appelés. Si j'ai la capacité d'intercepter des appels vers une banque impressionnante à la fois de Let's Encrypt et de vous, alors je peux vous tromper.

Idéalement, ce que vous voudriez que TLS vous dise, c'est que "la personne qui décroche le téléphone dans une banque géniale" lorsque vous les appelez est en fait, un employé de la banque géniale. Mais cela est difficile à automatiser, car les ordinateurs ne peuvent pas simplement déterminer pour qui quelqu'un travaille, donc les certificats mieux validés coûtent plus cher. Let's Encrypt ne fait rien de moins sûr que les autres autorités de certification.

On espère que Let's Encrypt va essayer de rendre plus difficile l'interception de leurs appels vers une banque géniale, que ce n'est le cas pour les vôtres. Certains points d'accès à Internet sont plus faciles à manipuler que d'autres (les scores sans fil non sécurisés sont faibles), et jouer avec plusieurs points d'accès simultanément est plus difficile qu'un seul (alors peut-être Let's Encrypt confirmera-t-il qu'il reçoit le même fichier lorsqu'il le télécharge de nombreux différents endroits dans le monde, même si je n'ai pas cherché à savoir s'ils le jugent nécessaire). À l'exception d'organisations comme la NSA, le MITM attaque dans la pratique tendance à être localisé et temporaire.

Ainsi, il ne fournira une certaine mesure de sécurité que dans la mesure où il est plus difficile pour MITM Let's Encrypt que pour MITM vous. Nous supposons qu'il est plus facile de contrôler votre accès à Internet que de contrôler celui de Let's Encrypt ou celui de la banque géniale, et c'est pourquoi vous "faites confiance" à Let's Encrypt en tant qu'autorité de certification.

Naturellement, rien de tout cela n'est vraiment des appels téléphoniques, ce sont des connexions de socket entrantes.

14
Steve Jessop

Let's Encrypt est conçu pour aider contre une série d'attaques et pour pousser la généralisation de l'utilisation de TLS pour avoir un Internet globalement plus sûr et plus privé. Il vise plus précisément à supprimer les contraintes techniques et financières qui peuvent empêcher certains webmasters d'utiliser plus largement les certificats TLS.

Cependant, comme toute mesure de sécurité, ce ne sera pas un produit miracle résolvant tous les problèmes de valeurs mobilières possibles et vous permettant de marquer votre site Web comme "site Web 100% sécurisé!" (même si certains sites web n'hésitent pas à utiliser de tels tampons ...). La sécurité implique la combinaison de plusieurs couches, chacune conçue pour répondre à leur propre classe de menaces.

Si l'on parvient vraiment à s'approprier votre nom de domaine, la plupart des chances sont que le fait que la livraison du certificat Let'sEncrypt soit automatisée n'aura pas plus d'impact dans ce cas que dans une autre situation.

Pour rappel, tout ce dont vous avez besoin pour obtenir un certificat de CA classique est de posséder une adresse administrative comme "[email protected]" et de payer un peu d'argent. Si vous parvenez à obtenir la propriété du domaine, vous êtes libre de rediriger l'e-mail vers un serveur de messagerie de votre choix, ce qui vous permet également de posséder effectivement l'adresse e-mail de votre choix.

Ce n'est pas une menace théorique. Vous trouverez ici et un article écrit par quelqu'un dont le domaine a été volé afin de prendre possession de son e-mail. Dans ce cas précis, c'était pour accéder aux e-mails de réinitialisation de mot de passe envoyés par des sociétés tierces, mais dans sa position, l'attaquant aurait également pu générer de nouveaux certificats pour ce domaine et construire un site de phishing qui sera considéré comme sécurisé par les navigateurs.

8
WhiteWinterWolf

L'utilisation d'une vérification automatisée n'est pas propre à cette autorité de certification, mais est courante pour les certificats d'entrée de gamme. Comme indiqué dans d'autres réponses, 3 niveaux de certificats sont utilisés:

  • Doman Validation prouve uniquement que vous contrôliez le domaine au moment de l'émission du certificat. (Et que le certificat n'a pas été explicitement révoqué depuis lors.)
  • La validation de l'organisation implique une vérification supplémentaire de la validité du nom de l'entreprise indiqué dans le certificat.
  • La validation étendue comprend un audit beaucoup plus solide de la société qui demande le certificat.

Pour un certificat DV de base (et comme première étape dans les applications OV et EV), la plupart des autorités de certification utiliseront une certaine forme de "validation de contrôle de domaine" automatisée. Par exemple, Comodo propose 3 options :

  1. Un e-mail doit être reçu par l'une des listes d'adresses génériques du domaine, telles que "admin @", en supposant que seul le personnel autorisé aurait accès à ces boîtes aux lettres.
  2. Un enregistrement CNAME spécifique doit être ajouté dans la zone DNS du domaine, prouvant que le demandeur a le contrôle DNS.
  3. Une URL doit être ajoutée avec un contenu spécifique à la racine du HTTP du domaine, prouvant que le demandeur a le contrôle du serveur Web pointé par le domaine.

Le protocole ACME en cours d'élaboration dans le cadre de l'effort Lets Encrypt consiste à automatiser le côté client de cette vérification. Leur Technology Overview mentionne en fait les contrôles basés sur DNS et HTTP comme exemples qui pourraient être automatisés de cette manière.

L'idée est que le logiciel que vous installez peut déterminer automatiquement comment relever ces défis en fonction de la configuration à laquelle il a accès. S'il peut trouver et écrire dans la racine du document du domaine à valider, le défi basé sur HTTP est très facile à automatiser. La méthode de validation basée sur le courrier électronique plus traditionnelle serait plus difficile à automatiser, en raison de la complexité de la distribution du courrier, mais ne diffère pas réellement en termes de preuves.

7
IMSoP

La principale défense contre les attaques MITM pendant l'émission est d'effectuer la vérification de validation - en observant le serveur ou son DNS - à partir de nombreux emplacements géographiquement dispersés. C'est le nombre d'autorités de certification qui opèrent aujourd'hui pour des contrôles Web automatisés afin de détecter la contrefaçon et la fraude.

D'après ce que j'ai entendu dans la salle IRC, Let's Encrypt fera de même pour toutes les vérifications de validation.

5
J.C.