Des chercheurs de l'UniversitĂ© de Californie Ă San Diego ont dĂ©veloppĂ© une technique d'attaque avancĂ©e contre l'algorithme RSA, permettant de falsifier des signatures numĂ©riques sans factoriser les nombres premiers Ă la base de RSA et sans avoir besoin de restituer la clĂ© privĂ©e. Les ressources nĂ©cessaires pour mener une attaque sur une clĂ© RSA de 1024 bits sont Ă©valuĂ©es Ă 1380 ans de calculs sur un seul cĆur de processeur, ce qui a permis, sur le cluster de l'universitĂ©, de dĂ©terminer les paramĂštres nĂ©cessaires Ă la formation de faux RSA-signatures en 5 mois (aucun accĂ©lĂ©rateur AI ni GPU n'ont Ă©tĂ© utilisĂ©s lors de l'expĂ©rience, et leur utilisation pourrait rĂ©duire considĂ©rablement le temps de calcul). En comparaison, la mĂ©thode classique de factorisation nĂ©cessite de 500 000 Ă un million d'annĂ©es de calculs sur un cĆur de processeur pour recrĂ©er la clĂ© privĂ©e RSA-1024.
Pour mener l'attaque, il est nĂ©cessaire d'avoir la possibilitĂ© d'envoyer plusieurs fois des requĂȘtes pour signer les donnĂ©es gĂ©nĂ©rĂ©es par l'attaquant, par exemple, en s'adressant Ă un service d'autorisation ou Ă un module HSM. Pour dĂ©terminer les paramĂštres RSA-1024, il suffit d'envoyer 232 requĂȘtes de ce type, tandis que pour l'attaque sur les clĂ©s RSA-2048 utilisĂ©es dans le protocole Privacy Pass, 243 requĂȘtes sont nĂ©cessaires. AprĂšs avoir obtenu un ensemble de donnĂ©es signĂ©es, un long processus de calcul des paramĂštres est lancĂ© (pour RSA-1024, environ 265 opĂ©rations sont nĂ©cessaires), aprĂšs quoi l'attaquant peut crĂ©er des signatures fausses pour n'importe quelles donnĂ©es, en consacrant environ 180 heures de calcul sur un seul cĆur pour chaque signature.
La mĂ©thode est applicable uniquement aux signatures RSA, oĂč aucun formatage ni ajout de remplissage n'est utilisĂ© avant le chiffrement (padding). Les mises en Ćuvre de la signature Ă l'aveugle, y compris celles utilisĂ©es dans le protocole Privacy Pass, sont vulnĂ©rables. La plupart des mises en Ćuvre de RSA courantes, y compris PKCS#1v1.5 et RSA-PSS (utilisĂ©es dans TLS et SSH), appliquent un remplissage complĂ©mentaire et ne sont pas vulnĂ©rables Ă cette attaque.
Ă la base du chiffrement RSA se trouve l'opĂ©ration d'exponentiation modulo un grand nombre. La clĂ© publique contient le module et l'exposant. Le module est formĂ© sur la base de deux grands nombres premiers alĂ©atoires, connus uniquement du propriĂ©taire de la clĂ© privĂ©e. La mĂ©thode proposĂ©e repose sur une Ă©tude publiĂ©e en 2007, qui a prouvĂ© que l'extraction de la racine Ă l'exposant indiquĂ© dans la clĂ© publique Ă partir d'un message chiffrĂ©, sans information sur les facteurs secrets, est une opĂ©ration moins gourmande en ressources que la factorisation des facteurs eux-mĂȘmes.
En utilisant une méthode spéciale de criblage des champs numériques (SNFS), les chercheurs ont réussi à réduire la complexité de la compromission des clés RSA-1024 à 265 opérations, permettant ainsi des attaques pratiques sur des clusters modernes. Pour des clés RSA de 2048 bits, la complexité de l'attaque est estimée à 290, ce qui est théoriquement réalisable par de grandes entreprises ou des agences gouvernementales. Pour des clés de 4096 bits, la complexité de l'attaque s'élÚve à 2119 opérations, ce qui est encore inaccessibile dans la pratique, mais en dessous du minimum de 2128 recommandé par la NSA, l'Institut national des normes et de la technologie et l'Agence européenne de cybersécurité.
Source : opennet.ru
