PROJET AUTOBLOG


Reflets

Site original : Reflets

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Cryptographie : on va tous mourir ! (encore)

lundi 26 octobre 2015 à 15:45

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.

Error happened! 0 - Call to undefined function simplexml_load_string() In: /var/www/Projet-Autoblog/autoblogs/autoblog.php:364 http://www.couturat.fr/Projet-Autoblog/autoblogs/refletsinfo_1cad54e4a83836c98f56571ea82451cbd7d3d887/?Cryptographie-on-va-tous-mourir-(encore) #0 /var/www/Projet-Autoblog/autoblogs/autoblog.php(932): VroumVroum_Blog->update() #1 /var/www/Projet-Autoblog/autoblogs/refletsinfo_1cad54e4a83836c98f56571ea82451cbd7d3d887/index.php(1): require_once('/var/www/Projet...') #2 {main}