Cryptographie : on va tous mourir ! (encore)

End of the worldLa cryptographie, c’est la pierre angulaire de tout ce qui est plus ou moins sécurisé sur l’Internet numérique digital 2.0. C’est une science qui n’intéressait pourtant, jusqu’à récemment, qu’une poignée d’initiés à la pilosité faciale plus ou moins époustouflante. Depuis les révélations d’Edward Snowden, la vie privée, la confidentialité, la sécurité des communications jouissent d’une exposition médiatique grandissante.

L’ennui, c’est que lorsque des chercheurs ou spécialistes découvrent une faille d’importance, la matière étant complexe, ils ont de plus en plus besoin de faire le buzz pour être entendus au delà d’un public averti. Publier un papier académique au format PDF ne suffit plus : il faut faire du marketing, à grand renfort de « marques » (Shellshock, Poodle, Heartbleed, etc.), de logos sanguinolents ou de sites web (plutôt bien foutus, d’ailleurs).

Y a pas de fumée sans FUD

Or donc, courant mai, une équipe de chercheurs a publié un travail vraiment remarquable (no joke) sur une faille de sécurité et sur la manière dont la NSA en a très probablement tiré parti. Le papier a ensuite été complété en octobre, présenté dans une conférence et les auteurs ont obtenu une récompense bien méritée. Ça, c’est pour le côté positif.

Dans la foulée, on a vu fleurir des articles sensationnalistes aux titres clickbait, pleins de FUD, d’approximations, d’incompréhensions ou de contre-vérités qui nous annoncent la fin du monde, ou en tout cas son équivalent Internet (« HTTPS/VPN/SSH est tout cassé, on va tous mourir ! »). Je ne vous le cache pas, ça m’énerve. Parmi ces articles, mon préféré c’est celui-ci. Pour ne citer qu’un bout du chapeau :

la NSA serait parvenue à décrypter des milliers de milliards de données à travers le monde grâce à l’échange de clés Diffie-Hellman, une méthode de décryptage très complexe.

D’abord, on se demande bien ce que ça veut dire, « des milliers de milliards de données », et les chercheurs n’étaient pas deux, comme c’est mentionné dans l’article, mais quatorze. Sympa pour les autres. Dans la catégorie mékéskidi, « le piratage du décryptage des données » devrait finir la saison dans le haut du classement. Ensuite, l’échange de clés Diffie-Hellman (DH pour les intimes) n’est pas une méthode de chiffrement, et encore moins une méthode de décryptage. Enfin et surtout, DH est considéré comme sûr quand il est configuré correctement, ce que nombre d’auteurs oublient bien soigneusement de mentionner.

Diffie, Hellman… et Michel

Notre protagoniste, Michel, aime bien se tirer le portrait. Du coup, sa tante Brigitte lui a offert une magnifique perche à selfie télescopique. Et depuis, c’est le moins que l’on puisse dire, Michel est à fond dedans. Il s’auto-immortalise dès qu’il en a l’occasion, c’est devenu une passion. À tel point qu’il a fini par avoir sa petite notoriété dans le milieu de l’égoportait, le gredin.

Michel et POTUS
Michel et POTUS

Assez fier de lui, il a décidé de poster ses derniers chefs-d’oeuvre sur Facebook. Lorsque Michel va se connecter pour envoyer ses photos, le transport d’informations entre son smartphone et le serveur va être chiffré. Mais pour ce faire, il faut que Michel et Facebook trouvent un moyen de s’entendre, au préalable, sur une clé, un secret partagé qui servira au chiffrement de la session.

Facebook propose à Michel un paramètre public, un nombre qui peut être librement échangé sur les réseaux. Pour simplifier, nous allons utiliser l’analogie des couleurs (également utilisée par la page Wikipedia en anglais). Notre paramètre public est ici le violet (8388736 sous sa forme numérique). Chacun va ensuite choisir une couleur qu’il gardera secrète ; Michmich le jaune (16776960), Facebook le rouge (16711680). Puis ils mélangent leur couleur secrète à la couleur publique, le violet. Michel obtient du brun tout moche, Facebook une sorte de fuschia foncé du plus vilain effet. Chacun transmet via Internet son mélange à l’autre, qui le recombine alors avec sa couleur secrète. À la sortie, ils obtiennent tous deux la même couleur, un orange foncé (13980971), qu’ils vont pouvoir utiliser comme clé de chiffrement.

Échange de clés Diffie-Hellman
Échange de clés Diffie-Hellman

Les couleurs secrètes n’ont jamais circulé sur les réseaux, seuls les produits du mélange avec la couleur publique. Si un indiscret voulait s’emparer de la clé de chiffrement pour chiper les selfies de Michel, il lui faudrait donc deviner les couleurs secrètes à partir des teintes ayant circulé sur le réseau : le brun et le fuschia. Dans notre exemple, c’est très facile, car la fonction de mélange de couleurs est facilement réversible ; elle fonctionne à peu près de la même façon dans les deux sens. C’est pour cette raison que DH utilise une méthode mathématique qu’il est facile de jouer en marche avant, mais très difficile à dérouler en marche arrière. Les chercheurs estiment que pour réussir à casser un échange DH (1024 bits) en un an, le coût serait de quelques centaines de millions de dollars. Une broutille, hein ?

Alors, vous dites-vous, il est où le problème ?

La méthode utilisée pour casser DH se décompose en deux phases. La première, le précalcul, est la seule qui nécessite un temps de calcul et des investissements significatifs, la seule qui soit difficile et coûteuse pour une organisation du type NSA. Cette étape dépend principalement de l’originalité d’un très grand nombre premier, défini sur chaque serveur, le « groupe Diffie-Hellman ». La seconde phase, dite de « descente », est infiniment plus facile et rapide. Ainsi, si un grand nombre de serveurs utilisent le même nombre premier, le même « groupe », la NSA n’aura à faire le plus gros du boulot, c’est à dire le précalcul, qu’une seule fois. Elle pourra ensuite très facilement casser tous les échanges individuels quand l’envie lui en prend.

Et c’est tout bêtement là où le bât blesse : bon nombre de logiciels sont installés avec des groupes Diffie-Hellman « par défaut », identiques d’un serveur à l’autre. Les opérateurs de certains systèmes ont oublié de générer des groupes Diffie-Hellman originaux (et suffisamment larges), ou ignoraient qu’il était recommandé de le faire. L’opération prend quelques minutes, mais il semble qu’à ce jour un nombre significatif de serveurs soit encore vulnérable.

Errare humanum est, perseverare diabolicum

Dans ce type d’articles anxiogènes, comme celui que je cite en introduction, articles souvent truffés d’erreurs, on ne trouve aucune mention que des solutions existent (alors que c’est non seulement clairement mentionné par les chercheurs, mais qu’ils proposent de surcroît un guide pour les administrateurs système). On n’y fait que constater les problèmes, quand ils n’y sont pas amplifiés sans vergogne. Ce qu’on y lit, en creux, c’est la toute puissance de la NSA (ou d’organisations du même tonneau), et, par réciproque, l’impuissance de la cryptographie. Or, jusqu’à nouvel ordre, en réalité c’est tout le contraire. La force de la cryptographie moderne est la règle, sa faiblesse l’exception.

La sécurité, la vie privée, la confidentialité des échanges sont des sujets sérieux. Ce serait franchement une bonne idée d’arrêter d’écrire n’importe quoi, de repenser la manière de communiquer sur ces questions de sécurité informatique en général, et de crypto en particulier. D’arrêter de tomber dans le sensationnel et de faire preuve de pédagogie, de livrer une information précise et lisible sur les maux et les remèdes. Peut-être aussi serait-il intéressant de mettre à disposition des opérateurs de services, et de leurs utilisateurs, des informations et des outils qui leur permettent, au cas par cas, d’évaluer facilement le niveau de sécurité auquel ils peuvent s’attendre, ainsi que les risques auxquels ils s’exposent.

Et les selfies de Michel seront bien gardés.

Twitter Facebook Google Plus email

17 thoughts on “Cryptographie : on va tous mourir ! (encore)”

  1. Je constate que le grand n’importe quoi est partout et je pense que le déficit d’instruction est tel que la plupart des gens ont à peine besoin de lire ces articles pour nager dans l’incompétence technique et technologique. Dans tous les domaines que je suis amené à aborder au ici et là dans ma vie IRL qu’il s’agisse d’informatique, de sécurité informatique, de physique, de neurosciences, de psycho, de droit, etc., je constate une ignorance crasse et massivement partagée. Même chez des gens qui sont soit disant des professionnels de l’informatique, je constate une incompétence parfois presque dangereuse. Personnellement, je pense que l’école a sa part de responsabilité. Elle empêche la transmission des savoirs populaires, elle formate des esprits étriqués, elle pose des obstacles à l’instruction supérieure infranchissables pour certaines personnes souvent juste pour le principe et pour faire chier le monde, elle pousse à la spécialisation excessive, elle désavantage les élèves issus des classes laborieuses, etc.(Après je ne doute pas que la grande majorité des profs et des instits font tout ce qu’ils peuvent mais le constat est là) La culture et l’instruction coûtent tellement cher qu’une fois sortis du réseau de l’Éducation Nationale, la grande majorité des gens sont contraints à l’ignorance, sans compter que devant vendre leur force de travail pour vivre ou survivre, ils n’ont pas le temps de s’instruire.

    Bon mais le véritable danger ne vient pas de la cryptographie mais de Bluetouff qui va détruire le monde avec son VPN au Panama. ;) Ah ah ah !

      1. Je ne suis pas d’accord Jef, le problème n’est pas une question d’attitude, mais une question d’information ET SURTOUT de fric.
        L’argent est le nerf de la guerre en informatique, et si tu veux faire les choses « comme il faut, dans les règles » ça prend beaucoup de temps, le temps c’est de l’argent et c’est du temps qui coûte très cher. Le client n’en veut pas, il veut payer le moins possible et veut JUSTE ce qu’il demande: il veut « un truc qui marche », même si c’est boiteux et même si c’est mal configuré. Le client paye et il ne veut pas savoir, encore moins les tenants, les aboutissants, ou les pré-requis, il s’en branle complètement.

        Par ailleurs,tu as BEAUCOUP d’information sur internet, génial, tu te dis que toute la connaissance du monde est à portée de main, c’est pas faux.
        Mais est-ce que l’information est de qualité? Non parce que:
        * dans certains cas, « le savoir c’est le pouvoir » ou du « secret professionnel », l’information n’est pas diffusée
        * dans beaucoup de cas, les forum colportent tout et n’importe quoi, tu veux te renseigner sur point technique (ou dépanner un problème) tu vas lire tout et son contraire; et je te garantis que tu vas passer BEAUCOUP de temps à faire du tri; rajoute par dessus les moteurs de recherche qui affichent des résultats bidons sur les premières pages, et tu constateras que chercher une information est presque devenue un métier
        * les documentations constructeur / éditeurs sont soit trop simplifiées (ah ben oui mon bon monsieur, faut payer pour le support), soit tellement éclatées que là aussi le temps de récolte et de tri de l’information explose (MSDN + techNet + Forum support pour Microsoft, merci les mecs -_-)
        * et 4° cas: RTFM (merci les linuxiens -_-)

        Jef, ton article est le parfait contre exemple de ce que je viens de raconter:
        * l’information est ciblée, précise et le périmètre bien délimité.
        Mais….

        Mais il n’y a rien pour regrouper, formaliser et normaliser les bonnes pratiques, les cours sont « à la sauce » de l’enseignant, il y a la réalité du terrain (faut parfois aller contre les bonnes pratiques pour que ça marche)…
        Au final ? Ton article, quand bien même il est pertinent, va finir par se perdre, noyé sous la masse d’informations et ça reviendra réellement à chercher une aiguille dans une montagne de foin.

        C’est ainsi et c’est déplorable.

  2. rhoo put… je teste l’outil en question sur mes 2 serveurs, et là, du vert, du rouge, du gris et de l’orange, le florilège de couleurs, mais un petit 85% sur mon https
    Put… j’ai un mur de briques de connaissance en sécu info à me fader, mais bon, c’est le prix pour avoir mon serveur mail à moi sur mon serveur à moi sur les machines de mon FAI associatif.
    Youpi pour ce genre d’article pertinent qui a le mérite d’appuyer ou cela fait mal

  3. Effectivement les clés DHE de 2048 bits ou ECDHE offrent une parade au problème. Ce que malheureusement aucun article n’a indiqué jusqu’à présent est que parmi les serveurs concernés figurent des sites non négligeables comme par exemple le service des impôts français : cfspart.impots.gouv.fr et cfspro.impots.gouv.fr. C’est à ce demander à quoi sert l’ANSSI dans ce pays car la configuration du second serveur est vraiment en-dessous de tout : https://www.ssllabs.com/ssltest/analyze.html?d=cfspro.impots.gouv.fr

    1. Je vois plusieurs hypothèse 1/ incompétence crasse des reponsables SI (le certificat signé par GeoTrust se pose là) 2/ Inertie liée à la taille de la structure. 3/ C’est pour les 3 Michus qui sont encore sous Win 98 / IE5 et qui veulent déclarer leurs impôts en ligne. Pour tout autre site, je passerai ces Michus dans la colonne « Pertes & Profits », mais pour pas sûr que les Impôts puissent se le permettre.

      Sans parler de tous les serveurs SMTP configurés avec les pieds dès que ça touche à TLS. (d’ailleurs pas sûr que ça chiffre le SMTP sortant des Impôts)

      1. En fait si l’on regarde plus en détail le rapport de SSL Labs celui indique les suites cryptographiques réellement employées en fonction du navigateur et là on se rend compte que Chrome, Firefox, Safari récent, le navigateur par défaut d’Android (avant que celui-ce ne devienne Chrome) ont tous procédé à un échange de clé DHE de 1024 bits reposant sur un nombre premier commun (le cas dont parlait le présent article). Cela signifie que si la NSA a eu accès à ces communications (et c’est un gros si, l’adresse IP du serveur en question le positionne en région parisienne) il est vraisemblable qu’elle puisse en consulter le contenu.
        Il est parfaitement possible de configurer un serveur HTTPS pour qu’il communique de manière très sécurisée avec les navigateurs modernes tout en conservant une rétrocompatibilité importante avec les vieilles configurations, ce n’est pas du tout ce qui a été fait ici (les types qui ont configuré ce serveur sont soit d’une incompétence crasse -j’avais pourtant cru comprendre que l’ANSSI distillait de très bons conseils auprès des OIV et ministères- soit ils sont à la retraite depuis des années et personne ne les a remplacé, seul le certificat est correct et encore à minima).
        SSLv3 était déjà intégré dans Internet Explorer 4 et Netscape 4 en 1997, pourquoi diable avoir SSLv2 ou RC2 ? Pourquoi ne pas proposer TLS 1.2 avec un échange de clé reposant sur de l’ECDHE et un chiffrement AES-GCM pour les navigateurs modernes ?

        1. En l’occurrence c’est, comme d’habitude, IE6/8 sous XP qui nous casse les pieds. Malheureusement, pour la version « pro » des impôts, ça n’est pas totalement déconnant, même en 2015 :(.

          Rien de mieux que 3DES, SHA et TLS 1.0, de mémoire, pour ces configs. Cela étant dit, rien n’empêche d’avoir des params DH originaux, même avec cette configuration cible, et de prioriser correctement les cipher suites, comme tu le soulignes.

          1. Je n’ose imaginer la paperasse pour changer ne serait-ce qu’une seule ligne dans la conf des serveurs web.

  4. La question fondamentale en matière de crypto civile est :
    Qui est l’attaquant potentiel ? un concurrent, un cybercriminel, un état ? Et s’il s’agit d’un état pour une comm sécurisée opérée en France est-ce la France, les US ou un autre état ?
    Si la réponse est : ETAT + US, oubliez tout ce qu’il y a d’écrit dans ce bel article, la crypto asymétrique ne vous servira strictement à rien puisque l’interception aura lieu via des 0-day exploits dans les systèmes, assorties s’il le faut, d’un petit MITM avec certificat auto-signé par une CA publique.
    Si la réponse est : ETAT + France est que la cible rentre dans le périmètre de la loi relative au renseignement, ça sera globalement la même chose. La seule différence, c’est les US peuvent pratiquer les opérations worldwide et pas la France…
    Sur un point de vue scientifique, qui connait (en France) les possibilités effectives en matière de cryptanalyse RSA et DH de la NSA via leurs serveurs quantiques ? Réponse : Personne !

    “Know yourself, know the enemy. A thousand battles, a thousand victories”
    Sun Tzu – L’art de la guerre – VIe siècle av. J.-C

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *