Developpez.com

Le Club des Développeurs et IT Pro

Le chiffrement AES cracké

Par des chercheurs français, belges et de Microsoft : la méthode reste très complexe

Le 2011-08-22 13:30:32, par Hinault Romaric, Responsable .NET
Les chercheurs de Microsoft, de l’université belge de Leuven et de l’ENS de Paris ont découvert une faille dans l’algorithme de chiffrement AES.

Le chiffrement AES (Advanced Encryption Standard) est actuellement le moyen le plus utilisé et le plus sûr pour sécuriser les transactions en ligne, les communications sans fil ou encore le stockage des données sensibles.

Les travaux des chercheurs Dmitry Khovratovich de Microsoft Research, de Andrey Bogdanov de l’Université de Leuven et de Christian Rechberge de l’Ecole Nationale Suppérieure de Paris ont été faits dans le cadre d’un projet de "cryptanalyse".

Les chercheurs ont publié une méthode d’attaque permettant de récupérer la clé secrète utilisée pour un chiffrement AES et ce de manière cinq fois plus rapide que dans les estimations des experts en raccourcissant l’algorithme AES de deux bits.

L’attaque serait applicable à toutes les versions du chiffrement AES.

Cependant, malgré la rapidité de la méthode, elle reste trèscomplexe et difficilement réalisable en utilisant les technologies actuelles. « Avec un trillion de machines, chacune pouvant tester un milliard de clés par seconde, cela prendrait plus de deux milliards d'années pour récupérer une clé AES 128 bits », expliquent les chercheurs.

L’attaque n’aurait donc pas, pour l’instant, d'implication pratique sur la sécurité des données des utilisateurs. Mais elle met fin au mythe du chiffrement AES, considéré auparavant comme incassable.

Les créateurs de l’algorithme AES auraient par ailleurs reconnu la validité de cette attaque.

Source : Le document sur l'attaque (PDF)

Et vous ?

Qu'en pensez-vous ?
  Discussion forum
29 commentaires
  • Uther
    Expert éminent sénior
    En effet je me suis donné la peine de calculer ça car même si ça peut paraitre surprenant au premier coup d'oeil, la question de esion n'était pas idiote.
    La loi de Moore étant exponentielle on arrive en quelque dizaines d'années a des puissances qui paraissent pharaonique, un peu comme la célèbre légende du jeu d'échec.
    Ce n'est pas pour rien que la complexité des cryptages augmente régulièrement et elle aussi exponentiellement.

    A noter qu'il ne faut pas prendre les calculs que je donne de manière prophétique. Ils reposent sur quand même sur de grosses approximations:
    - comme je le précise la vitesse de calcul de l'ordinateur de base a été largement surestimée, vu que je n'ai aucune idée de la puissance de calcul qu'il faut pour tester une clé.
    - de plus, la loi de Moore si elle a finalement pas trop mal marché ces 30 dernière années, je doute qu'elle soit encore d'actualité dans 150 ans.
  • Emmanuel Deloget
    Expert confirmé
    @Grimly
    [joke] Ils utilisent la technique de la force brute ? [/joke]

    Et bien oui ; l'attaque en question consiste à faire diminuer d'un tout petit peu plus de 2 bits(*) la complexité d'une clef, ce qui reviens à tester 126 bits au lieu de 128 - en brute force, parce qu'à l'heure actuelle, on ne sait pas attaquer AES autrement.

    (*) ils annonce un facteur 5 ; 2 bits == facteur 4, 2 bits == facteur 8, donc ils ont du trouver un petit truc supplémentaire qui fait que, en moyenne 1 fois sur 4, ce sont 3 bits qui sont déjà fixés. Ou quelque chose comme ça.

    @kdmbella : rassure toi, on parle d'AES 128 bits. Si ça pose problème, on peut toujours passer à AES 256, ou AES 512.
  • Plorf
    Membre habitué
    En cryptographie, il y a plusieurs seuils qui font qu'un algorithme est considéré comme sécurisé.

    Il faut que les attaques connus les plus efficaces aient un certain nombre d'opérations à effectuer au minimum.

    En signature et authentification : 2^20 opérations
    En chiffrement : 2^80 opérations

    Si l'on arrive à faire descendre un algorithme de chiffrement en dessous de 2^80, il est considéré comme cassé.
    Mais concrètement, cela ne rends pas l'algorithme inutilisable tout de suite....
  • Uther
    Expert éminent sénior
    Envoyé par esion
    Et sinon ont-ils estimé le temps qu'il faudrait pour qu'une clé AES soit cassée en moins de 15min par un seul ordinateur personnel?
    2ans, 10ans ?
    Petit exercice de mathématique:
    "Combien de temps faudra-il avant de pouvoir casser une clé avec une seule machine en 15 minutes.
    Pour ce faire on approximera la loi de Moore en estimant que la puissance de calcul des nouveau ordinateurs, est multipliée par 2 tous les 18 mois.
    Ne connaissant pas la complexité d'une clé, nous supposerons également que les machines actuelles sont déjà capable de tester un milliard de clés par seconde (ce qui parait hautement improbable)."


    Réponse:
    "Pour descendre la durée de calcul de deux milliard d'années à 5 minutes il faut multiplier la vitesse par près de 70 080 milliards (2 x 10^9 x 365 x 24 x 4).
    Pour faire cela avec une seule machine il faut encore multiplier la puissance par 10^18 (une seule machine au lieu d'un trillard), ce qui donne une amélioration totale de facteur 7,0008 x 10^31

    Il faudra log2 (7,0008 x 10^31) paliers de de 18 mois d'évolution technique soit environ 1904 mois (plus de 158 ans)."

    Bref on est a l'abri pour encore quelque temps.
  • Nyark
    Membre régulier
    Envoyé par Willy_XIII
    Petite remarque sur le titre de la news...

    Peut-on vraiment dire que le chiffrement AES a été "cracké" ?

    La méthode est plus efficace, mais reste "peu pratique". En 2 milliards d'années, les infos concernées ont le temps de perdre de leurs valeurs ou d'être modifiées. Sans parler des gros aléas qui pourraient ralentir ou interrompre un processus de cette échelle.
    Je trouve également que le terme cracké est impropre.

    Je m'égare peut-être mais il me semble qu'AES aurait été cracké uniquement s'ils avaient réussi à casser le chiffrement.
    Or, il est question d'une méthode utilisant une faille dans l'algorithme permettant d’accélérer un traitement en force brut tout en le maintenant sécurisé au vu du temps nécessaire et des moyens à mettre en place pour le casser.
  • Shepard
    Membre expérimenté
    Envoyé par sevyc64
    Ben si c'est en moins de 15min, c'est en moins de 15min pas en 2 ans ou 10 ans

    On mettra ça sur le compte de la canicule. Le soleil ça tape
    À mon avis, il parlait du nombre d'années nécessaires avant que les ordinateurs soient suffisamment puissants pour arriver à casser le code en moins de 15 minutes, ce à quoi Uther a répondu

    D'ailleurs, par rapport à la réponse d'Uther, c'est finallement assez étonnant, 158 ans, ce n'est pas tant que ça ! Je ne pense pas qu'un seul d'entre tous les visiteurs de Developpez soit encore en vie dans 150 ans, mais quand même ... C'est autre chose que les deux milliards d'années :p
  • Emmanuel Deloget
    Expert confirmé
    Envoyé par Uther
    C'est pour ça que je précise bien que mes calculs ne sont pas d'une fiabilité a toute épreuve, car il dépendent sur une approximation de la loi de Moore elle même assez vague et qu'il est fort probable qu'elle soit remise en cause dans les années a venir, notamment peut-être par l'arrivée des processeurs quantiques.

    Pour les processeurs quantiques, ça fait partie ce ces technologie qu'on nous promet pour dans moins de dix ans depuis vingt ans. Je préfère ne pas trop faire de conjectures sur leur avenir.
    (apparté)

    Et des toute façon, leur fonctionnement même rends caduque le problème à priori NP-complet qui est à la base de nombre d'algorithmes de crypto moderne (y compris AES) : la factorisation des grands nombres premiers (trouver A et B premier lorsque A*B est un très, très, très grand nombre). Il est théoriquement possible d'effectuer cette opération en O(1) sur un ordinateur quantique (et en pratique, elle a été réalisé pour un nombre de quelques bits, si je ne m'abuse). Les systèmes basés sur des courbes elliptiques sont peut-être sauf, mais j'en doute (au passage, c'est quelque chose que j'aimerais bien coder ça).

    Du coup, dès que ceux-ci entreront dans la danse, il faudra de toute façon revoir toutes la crypto moderne.
  • Grimly_old
    Membre averti
    Cependant, malgré la rapidité de la méthode, elle reste trèscomplexe et difficilement réalisable en utilisant les technologies actuelles. « Avec un trillion de machines, chacune pouvant tester un milliard de clés par seconde, cela prendrait plus de deux milliards d'années pour récupérer une clé AES 128 bits », expliquent les chercheurs.
    Si mes calculs pas savant du tout sont bon, cela représente 6E37 tests différents soit approximativement 6 fois moins que le maximum (2^128)

    [joke] Ils utilisent la technique de la force brute ? [/joke]

    Cela reste très rassurant de voir que ce support de sécurité soit aussi difficile à casser.
  • patate_violente
    Membre régulier
    « Avec un trillion de machines, chacune pouvant tester un milliard de clés par seconde, cela prendrait plus de deux milliards d'années pour récupérer une clé AES 128 bits »
    Heureusement que l'énergie coûte chère, et que tant qu'il n'y aura pas de moyen de plusieurs milliers de trillions de fois plus rapide ce sera difficile de dire que le AES est de pratique réversible
  • Voyvode
    Membre émérite
    Petite remarque sur le titre de la news en considérant ce passage :
    Cependant, malgré la rapidité de la méthode […] « Avec un trillion de machines, chacune pouvant tester un milliard de clés par seconde, cela prendrait plus de deux milliards d'années pour récupérer une clé AES 128 bits »
    Peut-on vraiment dire que le chiffrement AES a été cracké ?

    La méthode est plus efficace, mais reste "peu pratique". En 2 milliards d'années, les infos concernées ont le temps de perdre de leurs valeurs ou d'être modifiées. Sans parler des gros aléas qui pourraient ralentir ou interrompre un processus de cette échelle.

    Et puis on vit qu'à peine un siècle pour l'instant.