Journal Qui traite des autorités SSL WoSign, Startcom et du peu de professionnalisme qui a causé leur perte

Posté par  (site web personnel) . Licence CC By‑SA.
50
27
sept.
2016

Chers lectrices, lecteurs, auditrices et auditeurs pour les éventuel(le)s aveugles et autres malvoyant(e)s qui utilisent un lecteur d’écran,



Je souhaite aujourd’hui vous parler de ce que vient d’annoncer Mozilla (en anglais et avec JavaScript, cookies et tout le bataclan, disponible ici en PDF ou en PNG pour les réfractaires à l’overkill) au sujet de Starcom et WoSign.

***

Pour ceux qui ignoreraient l’identité de ces deux organismes, Startcom est une autorité de certification SSL, pendant longtemps elle a été la seule à délivrer des certificats gratuits. Malgré une interface assez absconse, voire imbitable, c’était bien pratique de pouvoir obtenir gratuitement des certificats SSL pour les projets perso.

WoSign est une autre autorité, plus récente, qui elle aussi propose des certificats gratuits, avec moins de restrictions puisqu’à une époque on pouvait demander des certificats avec une centaine de domaines et valides trois ans. En revanche, outre le fait qu’elle soit basée en Chine (ce qui peut faire peur à certains quand il s’agit de sécurité, mais en réalité lorsqu’on génère une CSR soi‐même, il n’y a pas de risque particulier), elle a commis un certain nombre d’erreurs ces derniers temps, en particulier la délivrance de certificats sans vérifier correctement le contrôle des domaines associés (ici, des certificats valides pour github.com délivrés gratuitement à n’importe quel particulier !).

Jusqu’à l’apparition récente de Let’s Encrypt, ces deux autorités étaient les seules proposant des certificats gratuits. Aujourd’hui encore (mais pas pour longtemps !), elles restent le seul moyen d’obtenir un certificat gratuit pour un nom de domaine contenant des accents (comme https://up.ÿ.fr).

***

Bref, toujours est-il que WoSign a fait une série de grossières erreurs, certainement en se croyant à l’abri de répercussions, ou par simple bêtise. En particulier :

  • à partir de janvier 2016, après que les certificats SHA-1 aient été dépréciés, WoSign a continué à délivrer des certificats SHA-1 antidatés pour que les navigateurs continuent à les accepter ;
  • en juin 2015, un utilisateur a pu obtenir des certificats SSL pour GitHub et même après avoir été mis au courant, WoSign n’a pas révoqué automatiquement tous les certificats délivrés à tort ;
  • fin 2015, WoSign a acheté Startcom, sans le rendre public et, pire, en le niant après que la question ait été posée ;
  • et tout un tas d’autres problèmes listés ici par Mozilla : https://wiki.mozilla.org/CA:WoSign_Issues .
  • la suggestion de WoSign a été de demander à Mozilla de continuer à faire confiance à ses certificats seulement en Chine (où WoSign a quelque chose comme 50 % de parts de marché)

***

La conclusion de Mozilla, qui sera vraisemblablement suivie aussi par Google et Microsoft, et, espérons‐le, par Apple est donc de ne plus accepter les certificats émis par WoSign et Startcom à partir d’une certaine date (pas tout de suite, mais dans le futur proche), tout en continuant à considérer valides les certificats déjà émis. Au minimum un an plus tard, WoSign serait autorisé à repasser le processus d’autorisation pour redevenir une autorité de confiance. À côté de ça, Mozilla ne considérera plus les audits de la branche Hong‐Kong de Ernst & Young comme valables (ce qui n’est pas anodin, Ernst & Young étant parmi les plus grosses boîtes d’audit du monde).

***

Somme toute, ça me semble être une solution plutôt intelligente, puisqu’elle ne pénalise que l’autorité véreuse elle‐même et non ses utilisateurs, qui sont innocents dans cette histoire.

Et pour finir, si jamais vous prévoyez de demander un certificat gratuit pour un nom de domaine avec des accents, je vous conseille de le faire immédiatement chez WoSign tant que Mozilla n’a pas encore mis sa décision en application. Même si WoSign n’est pas une autorité respectable pour beaucoup de raisons, un certificat délivré par eux a la même utilité et offre la même sécurité qu’un certificat délivré par n’importe quelle autre autorité (tant que vous générez votre CSR de votre côté). Sinon, il ne vous restera qu’à attendre que Let’s Encrypt les supporte : théoriquement avant novembre 2016, mais rien n’est garanti (d’autant plus qu’à ma connaissance, les détails d’implémentation n’ont toujours pas été définis).

En ce qui me concerne, j’attends aussi le support des certificats pour le .onion, les services cachés de Tor, mais j’ai bien peur que ça n’arrive nulle part prochainement.



~~~

  • # CSR

    Posté par  (site web personnel) . Évalué à 9.

    Au sujet des CSR, que j'ai abordé mais sans donner beaucoup de détails, je pense que je dois fournir une petite explication :

    La CSR (Certificate Signing Request) contient en fait les diverses informations de la demande de certificat (nom du demandeur, et surtout domaine sur lequel il sera valide) associées à la clé publique de la paire clé publique/privée qui sera utilisée par la suite pour chiffrer les communications avec le serveur.

    L'autorité qui délivre le certificat n'a besoin de valider que la CSR elle-même, qui n'est que la partie publique de la clé, sans accéder à la partie privée, ce qui signifie que l'autorité elle-même n'a aucun moyen de compromettre le certificat qu'elle vient de valider.

    Finalement, le certificat fourni par l'autorité est la CSR signée par le certificat de l'autorité, et c'est ce certificat qui est envoyé par le serveur aux navigateurs qui le visitent pour leur permettre de chiffrer leurs données d'une manière qui ne pourra être déchiffrée que par le serveur, qui est seul à posséder la clé privée.

    La clé privée n'est donc jamais passée par l'autorité de certification, elle ne quitte en principe jamais le serveur web, et il n'y a même pas besoin de faire confiance à l'autorité.

    Mais tout ceci n'est vrai que si l'on génère la CSR soi-même sur le serveur, sans utiliser les outils souvent proposés par les autorités de certification pour simplifier la demande, avec lesquels c'est l'autorité elle-même qui génère clé publique, privée, CSR, et qui vous renvoie le tout, auquel cas il faut lui faire confiance pour ne pas stocker la clé privée de son côté.

    • [^] # Re: CSR

      Posté par  . Évalué à 3.

      La CSR (Certificate Signing Request) contient en fait les diverses informations de la demande de certificat (nom du demandeur, et surtout domaine sur lequel il sera valide) associées à la clé publique de la paire clé publique/privée qui sera utilisée par la suite pour chiffrer les communications avec le serveur.

      Il est aussi autosigné, de mémoire, pour être sur que celui qui a demandé le certificat est bien celui qui a la clef privée et que le CSR est intègre.

      • [^] # Re: CSR

        Posté par  . Évalué à 1.

        Il est aussi autosigné, de mémoire, pour être sur que celui qui a demandé le certificat est bien celui qui a la clef privée et que le CSR est intègre.

        Oui, c'est bien le cas. En fait, une CSR a presque exactement le même format qu'un certificat autosigné.

  • # forgea une fois, forgera toujours

    Posté par  . Évalué à 10.

    à partir de janvier 2016, après que les certificats SHA-1 aient été dépréciés, WoSign a continué à délivrer des certificats SHA-1 antidatés pour que les navigateurs continuent à les accepter

    difficile de ne pas s'attendre à une répétition quand on lit

    a conclusion de Mozilla, (…) est donc de ne plus accepter les certificats émis par WoSign et Startcom à partir d'une certaine date tout en continuant à considérer valides les certificats déjà émis.

    • [^] # Re: forgea une fois, forgera toujours

      Posté par  (site web personnel) . Évalué à 6.

      Oui, et Mozilla en est bien sûr conscient :

      It is true that this date is chosen by the CA and therefore WoSign/StartCom could back-date certificates to get around this restriction. And there is, as we have explained, evidence that they have done this in the past. However, many eyes are on the Web PKI and if such additional back-dating is discovered (by any means), Mozilla will immediately and permanently revoke trust in all WoSign and StartCom roots.

      Si des certificats antidatés étaient à nouveau émis, ce serait détecté assez rapidement et dans ce cas tous les certificats WoSign/Startcom seraient purement et simplement révoqués.

      L'autre possibilité serait de n'admettre que les certificats connus à ce jour (puisque WoSign est censé les avoir tous publiés sur https://crt.sh) sans tenir compte des dates d'émission, ce qui éviterait de la même façon les risques d'antidatage.

  • # WoSign et la "gratuité"

    Posté par  . Évalué à 2.

    Mon certificat pour me connecter à mon compte StartSSL ne fonctionnant pas j'ai commandé l'an dernier quelques certificats chez WoSign pour remplacer un wildcard (pas l'intention de débourser entre 40 et 80€ à quelques mois de la sortie Let's Encrypt), bien que le site annonce "free certificates" partout j'ai pas trouvé comment activer l'offre et j'ai dû me délester au final de quelques 5€ pour un dizaine de sous-domaines, ce qui reste très correct, mais de gratuit point vu.

  • # certificat gratuit, quelques oublis dans ta liste

    Posté par  . Évalué à -2.

    perso je connaissais
    http://www.cacert.org/

    • [^] # Re: certificat gratuit, quelques oublis dans ta liste

      Posté par  (site web personnel) . Évalué à 5.

      Gratuits et acceptés par les navigateurs bien sûr. Pour ma part, un certificat signé par CACert n'a pas plus de valeur qu'un certificat autosigné.

    • [^] # Re: certificat gratuit, quelques oublis dans ta liste

      Posté par  (site web personnel) . Évalué à -1.

      http://www.cacert.org/

      Ca s'appelle de la nécrophilie avancée (aimer les choses avec plusieurs années d'âge).

      certificat gratuit, quelques oublis dans ta liste

      CACert n'est pas une autorité de certification à part pour eux-mêmes.
      Ça a le même niveau de certification qu'un certificat auto-signé (voir pire car tu ajoutes un risque dans ta chaine de certification).
      Non, ça ne doit pas être dans la liste vu que personne à part quelques intégristes n'a confiance en eux.


      Sérieux, ça fait des années que CACert ne fait plus rien pour même faire croire qu'ils sont vivants (encore moins essayer d'être accepté par même les libristes genre Debian ou Mozilla), c'est même viré de Debian, tu y crois encore au point d'en faire la pub en 2016 sans avoir honte?

      • [^] # Re: certificat gratuit, quelques oublis dans ta liste

        Posté par  (site web personnel) . Évalué à 10.

        (Ceux qui cherchent un commentaire en rapport de près ou de loin aux autorités de certification peuvent passer leur chemin).

        Ca s'appelle de la nécrophilie avancée (aimer les choses avec plusieurs années d'âge).

        Aimer ce qui est vieux s’appelle la gérontophilie, la nécrophilie c’est aimer ce qui est mort.

        (Vous pouvez reprendre la conversation)

        ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: certificat gratuit, quelques oublis dans ta liste

        Posté par  . Évalué à 1.

        CaCert est de nouveau dans debian je crois bien.

        *splash!*

        • [^] # Re: certificat gratuit, quelques oublis dans ta liste

          Posté par  (site web personnel) . Évalué à 6.

          Plutôt il existe un moyen de l'avoir via le paquet ca-cacert, dispo pour jessie-backports, stretch et sid. Cf https://packages.debian.org/sid/ca-cacert

          Sinon l'ambiance interne cacert était il y a peu pas mal tournée vers la gestion d'un clash interne (ça arrive relativement souvent dans les assos), et actuellement on y voit surtout passer les rapports de l'« arbitration activity », la résolution des litiges autour des certificats (archives). Ce qui n'empêche pas qu'il y ait eu un événement à Paris il y a quelques jours (je n'y étais pas).

          • [^] # Re: certificat gratuit, quelques oublis dans ta liste

            Posté par  (site web personnel) . Évalué à -1. Dernière modification le 28 septembre 2016 à 10:14.

            (archives).

            Troll : impossible de me connecter, Firefox me sort un "Les propriétaires de lists.cacert.org ont mal configuré leur site web. Pour éviter que vos données ne soient dérobées, Firefox ne s’est pas connecté à ce site web, SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED, Le certificat a été signé à l’aide d’un algorithme de signature qui est désactivé pour son manque de sûreté."
            (bon, pour être honnête je ne comprend pas la complainte vu que ça a l'air d'être du SHA-512 donc acceptable; toujours est-il que ton lien est mort même pour un navigateur libre et lié à une communauté libriste, c'est quand même gênant)

            événement à Paris

            Troll : j'aime le nombre de demandeurs dans la rétrospective :).

            clash interne (ça arrive relativement souvent dans les assos)

            Mouais, les clashs arrivent souvent quand l'asso prend de l'importance, les gens veulent le peu de pouvoir que ça offre… (souvenir des clashs du Parti Pirate allemand à partir du moment où il y a eu des élections qui ont marché, bon c'est du passé car ce parti est mort de ses dissensions internes, et pour troller il n'y pas eu que le parti qui est mort) Mais la, il n'y a rien à prendre, c'est grave d'avoir déjà des clashs avec cette taille.

            Bonne idée de départ, très mauvaise gestion qui fait que ça ne donne rien.

  • # allons encrypter

    Posté par  (site web personnel) . Évalué à 5.

    Et si letsencrypt commets des erreurs, est-ce que la mofo les retirera de firefox?

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: allons encrypter

      Posté par  (site web personnel) . Évalué à -1.

      Mozilla n'est qu'un sponsor parmi d'autres.
      Et vu la gueule des sponsors dans leur ensemble, je doute que letsencrypt fasse des bêtises de ce type (les employés fautifs se feraient virer illico), c'est donc une question rhétorique.

      • [^] # Re: allons encrypter

        Posté par  (site web personnel, Mastodon) . Évalué à -1.

        S'ils virent les employés mais qu'ils continuent à accepter les certificats, ça ne règle pas le problème. Surtout que je croyais que leur but c'était de tout automatiser? Comment ça peut être la faute des employés alors?

  • # WoSign VS autres autorités

    Posté par  . Évalué à 3.

    un certificat délivré par eux a la même utilité et offre la même sécurité qu'un certificat délivré par n'importe quelle autre autorité (tant que vous générez votre CSR de votre côté)

    Si on parle de la sécurité de la clef privée : oui c'est la même qu'avec une autre CA. Si on parle de la sécurité du service qui utilise le certificat : non la sécurité est plus faible qu'avec une autre CA. Il y a un risque non négligeable que du jour au lendemain WoSign ne soit plus reconnue comme CA de confiance :

    if such additional back-dating is discovered (by any means), Mozilla will immediately and permanently revoke trust in all WoSign and StartCom roots.

    Il y a donc un risque que le service devienne indisponible du jour au lendemain.

    De plus, est-ce que demander des certificats à une CA en laquelle on ne peut pas avoir confiance est vraiment une bonne idée ? Est-ce que ça ne donne pas du poids à cette CA pour dire "si vous nous retirez de la liste des CA reconnues, ça va causer beaucoup de problèmes. Donc ne le faites pas / donnez nous un plus long sursis !" ?

  • # Révocation des certificats frauduleux à la demande des fraudeurs

    Posté par  . Évalué à 10.

    en juin 2015, un utilisateur a pu obtenir des certificats SSL pour Github et même après avoir été mis au courant, WoSign n'a pas révoqué automatiquement tous les certificats délivrés à tort

    C’est même pire que ça. Ils ont bien pris la peine de chercher les certificats qu’ils avaient émis à tort, en ont trouvé (33 au total, après les ont-ils tous trouvé c’est une autre question), et ont consciemment décidé d’attendre que les titulaires de ces certificats leur demandent de les révoquer.

    Some certificates are revoked after getting report from subscriber, but some still valid, if any subscriber think it must be revoked and replaced new one, please contact us in the system, thanks.

    « Si vous avez profité d’une faille de notre système pour obtenir frauduleusement un certificat, merci de vous signaler à l’accueil pour demander sa révocation. Merci de votre coopération. »

    C’est à se demander s’ils savent à quoi est supposé servir une autorité de certification…

    Mozilla ne considérera plus les audits de la branche Hong Kong de Ernst & Young comme valables (ce qui n'est pas anodin, Ernst & Young étant parmi les plus grosses boîtes d'audit du monde).

    Ne pas se lancer dans une diatribe sur la merditude complète de ce système de CA pourries et de pseudo-audits remplis de phrases toutes faites qui ne prouvent rien… Surtout ne pas se lancer… ne pas se lancer…

    Pfiou, heureusement que c’est l’heure d’aller manger, sinon je me serais lancé.

  • # Network Solutions – SSL Security Solutions (sic)

    Posté par  (site web personnel, Mastodon) . Évalué à 5.

    Dans le genre, j'aime beaucoup le site de Network Solutions, découvert via ce rapport de bug.

    En résumé, leur "site seal" provoque une ERR_SSL_OBSOLETE_CIPHER in Chrome, mais elle ne sera pas corrigée car le site est de toutes façons trop pourri. Je crois que je garde mon baril de CAcert.

  • # 30/09/2016 : Let's Encrypt supporte désormais les IDNs

    Posté par  . Évalué à 2.

    Regardez-moi cette belle PR.
    C'est magique !!!

    Oui, depuis le 30/09/2016, grâce à la PR 2215, Boulder de Let's Encrypt se met à supporter les noms de domaines internationalisés.
    Reste plus qu'à attendre la merge. =)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.