On sait comment la NSA peut casser des chiffrements “inviolables”

Le chiffrement ferait presque figure de faux problème pour la NSA. Les documents mis en ligne par le lanceur d’alerte Edward Snowden ont entre autres montré que la NSA était capable de casser les clés de chiffrements de millards de connexions. Des chercheurs ont montré que la NSA a affaibli certains algorithmes et placé une porte dérobée là où on ne l’attendait pas.

En 2014, et grâce à Edward Snowden, on a appris que la NSA pouvait casser la sécurité de milliards de connexions chiffrées en exploitant l’algorithme d’échange de clés dit de Diffie-Hellman. Cet algorithme est extrêmement répandu sur le web. C’est lui, par exemple,  qui permet de sécuriser votre connexion lorsque vous consultez des pages en HTTPs.

Le problème, c’est qu’ils sont très malins à la NSA. Et que même avec cette information, les meilleurs chercheurs en cyber-sécurité n’ont pu y aller que de leurs théories pour expliquer comment la NSA pouvait casser des chiffrements en un claquement de doigt. Alors qu’il faudrait dans le cas de clés de 1024 bits un an de calcul avec le plus puissant de nos super-calculateurs pour commettre un tel exploit.

Ça sentait la faille, la porte dérobée ou la manipulation à grande échelle. Dans un premier temps c’est d’ailleurs cette troisième option qui avait été retenue. L’échange de clé à la base de la sécurité des protocoles SSL, HTTPS, SMTPs, VPN IPsec, et SSH utilisent en effet des opérations mathématiques appelées problèmes logarithmiques discrets dans le cadre de leur système de chiffrement.

Ceux-ci sont basé sur la factorialisation et l’emploi de nombres premiers faits de plusieurs centaines de chiffres. Et étonnamment, 97% des sites américains répertoriés utilisant SSL utilisent des clés qui, à un moment donné de l’exécution ne débouchent toujours que sur quelques nombres premiers. Ce qui est une grosse anomalie.

La NSA affaiblit directement un sous-algorithme générateur de nombre premiers

Du coup, les chercheurs se sont demandé comment cela est possible. Premier suspect : l’algorithme Diffie-Hellman. Celui-ci serait étonnamment irréprochable. Mais en creusant un peu, ils ont trouvé une autre anomalie du côté de l’algorithme qui génère les nombres premiers nécessaires au Diffie-Hellman.

Du coup, les chercheurs se sont mis à réaliser qu’il y a une sorte de porte dérobée qui n’existe qu’à cause de la manière dont diverses applications génèrent les nombres premiers. Ce qui affaiblit l’algorithme de Diffie-Hellman en permettant de tester un nombre très restreint de nombres premiers.

Les clés de chiffrements 1024 bits sont encore la règle là où il faudrait 2048 bits minimum

L’autre découverte des chercheurs, c’est que les tailles des clés standard n’ont pas été choisies au hasard. Il est en effet très courant de rencontrer un chiffrement avec des clés pouvant aller jusqu’à 1024 bits. Au delà, c’est beaucoup plus rare. En fait, il reste facile de déchiffrer des communications en utilisant cette technique, et pourvu que la clé de chiffrement n’excède pas 1024 bits.

Avec leurs moyens à disposition, c’est à dire un modeste supercalculateur doté de 3000 CPU, ils ont pu calculer en deux mois des clés leur permettant par la suite de casser, en théorie, le chiffrement de plusieurs milliards de sites. Il leur suffisait pour cela de ne piocher que dans une liste restreinte de nombres premiers et de les tester un par un dans des échanges de clés.

C’est évidemment plus rapide avec des moyens plus importants (la NSA dispose d’un budget de 11 milliards de dollars par an). Évidemment,  lorsque l’on utilise des clés plus corsées, la complexité du déchiffrement, même avec cette technique, augmente de manière exponentielle. Ainsi, l’emploi de clés 2048 bits rend le déchiffrement 16 millions de fois plus complexe à réaliser.

Or, des clés d’au moins 2048 bits c’est ce que recommandent de nombreux organismes de standardisation depuis au moins 2010 – et pourtant une immense majorité s’en tient encore à des clés 1024 bits. Il serait donc grand temps d’améliorer cela. D’autant que ce n’est pas la première fois que la NSA est prise en flagrant délit d’affaiblissement d’algorithmes de cryptage.

Dans les documents révélés par Snowden, on a appris, entre autres, que la NSA aurait versé un pot de vin de 10 millions de dollars à RSA pour implémenter leur algorithme de chiffrement affaibli par défaut dans ses produits “sécurisés”.