• Aucun résultat trouvé

Attaques sur les systèmes de chirement

Introduction à la cryptographie symétrique

1.3 Attaques sur les systèmes de chirement

Le chirement correspond certainement à l'aspect le plus visible de ce qui constitue la sécurité dans un environnement numérique. Il ne représente néanmoins qu'un maillon de la chaîne permettant d'assurer la sécurité d'informations condentielles. Si nous reprenons la métaphore du core-fort, le chirement se matérialiserait dans la serrure ; ainsi, la solidité des parois du core, par exemple, ne relève pas de notre propos. En d'autres termes, cela signie que de tout temps, une des meilleures façons d'obtenir des informations secrètes a été de soudoyer des personnes et d'exploiter l'erreur humaine. Nous ne traitons bien sûr pas de ces aspects dans ce document.

Un autre paramètre essentiel à prendre en compte pour la protection de données chirées est le temps. Ce paramètre est relatif aux questions concernant la durée d'utilisation envisagée pour un système, le temps de validité d'un message chiré, la fréquence d'envoi des messages ou, de la même manière, la quantité d'information chirée avec la même clé en un laps de temps donné. Les réponses à ces questions permettent d'évaluer le matériel chiré à la disposition de l'attaquant, l'avantage que lui confère un décryptement selon l'instant auquel il intervient et le danger que représente la détermination de la clé secrète utilisée à une date donnée.

Selon les données à la disposition du cryptanalyste, ce dernier peut être en mesure de retrouver diérentes informations, classées ici par ordre décroissant d'importance :

 la clé secrète. Dans ce cas le système est dit complètement cassé ;

 un algorithme globalement équivalent au chirement ou au déchirement, c'est-à-dire une application f = EK ou g = DK pour l'instance de K attaquée ;

 le clair correspondant à un chiré donné. Dans ce cas le système est dit partiellement cassé ;

 un distingueur. Cet algorithme permet, dans le cas des chirements à ot, de détermi-ner si la chaîne binaire est produite par une source réelle d'aléa ou par un chirement donné. Dans le cas des chirements par blocs, il s'agit en revanche de discriminer le

sous-ensemble des permutations déterminées par la clé secrète d'un sous-ensemble de permutations tirées aléatoirement. Dans tous les cas, il s'agit de trouver un moyen de re-connaître un ensemble déterminé par les clés de chirement possibles, d'un sous-ensemble de même cardinal tiré aléatoirement.

Les systèmes à clé secrète, systèmes dont l'existence est la plus ancienne, ne font que de-puis peu l'objet de preuves de sécurité (au sens de la théorie de l'information). En outre, ces résultats ne permettent que rarement de se prononcer sur les chirements existants. La seule preuve formelle de sécurité a été énoncée pour le masque jetable. Longtemps la seule consta-tation que le chirement n'avait pas été cassé a constitué la seule démonstration empirique de sa sécurité. À l'heure actuelle, la conception de systèmes à clé secrète sûrs repose essentielle-ment sur une démarche heuristique. Les attaques apparues durant les 20 dernières années ont permis de formaliser un certain nombre de critères qu'un chirement doit vérier an d'être réputé sûr. Malheureusement, si on sait démontrer qu'un algorithme résiste aux attaques clas-siques, on ne peut garantir sa résistance contre de nouveaux types d'attaques. Ainsi et assez paradoxalement, le niveau de sécurité supposé des systèmes de chirement repose pour une part non-négligeable sur la foi qu'on leur accorde et la réputation d'invulnérabilité que les chercheurs et les informaticiens leur reconnaissent.

1.3.1 Un système inconditionnellement sûr : le masque jetable

La théorie de l'information permet de démontrer qu'il existe un système de chirement inconditionnellement sûr : le masque jetable ou encore one time pad. On peut classer ce chirement dans la catégorie des chirements à ot, le message en clair est additionné par un OU-EXCLUSIF bit à bit à une suite aléatoire de même taille que lui, qui constitue la clé secrète. K Kn K3 K2 K1 mn m3 m2 m1 cn c3 c2 c1 m c

générateur d'aléa vrai

Fig. 1.2  Principe du masque jetable

Le caractère purement aléatoire de la suite chirante garantit que toutes les caractéristiques du texte clair sont noyées par la clé. L'entropie du chiré étant supérieure à celle du texte clair, on ne peut retrouver aucune information par la connaissance du chiré seul. Ce système séduisant par sa sécurité inconditionnelle présente néanmoins des désavantages majeurs :

 la clé doit être au moins aussi longue que le message en clair. Ainsi le chirement destiné à sécuriser la communication d'un message nécessite l'échange sécurisé d'un autre message

au moins aussi long que lui... Il est donc dicile dans ce cas-là de respecter la condition de Kerckhos : la clé doit pouvoir en être communiquée et retenue sans le secours de notes écrites et être changée et modiée au gré des correspondants ;

 la sécurité n'est garantie que si la clé n'est utilisée qu'une seule fois, d'où le nom de masque jetable. En eet, si on chire deux messages m1 et m2 avec la même clé K et que les chirés correspondants c1 et c2 sont interceptés, l'attaquant est alors en mesure de calculer c1+ c2 = (m1+ K) + (m2+ K) = m1+ m2. Les propriétés statistiques des messages en clair permettent alors une cryptanalyse aisée des données interceptées. Ces deux inconvénients sont inhérents à la propriété de sécurité inconditionnelle comme l'a démontré Shannon [Sha49]. Ce système n'est ainsi utilisé que pour des applications requérant un niveau de sécurité justiant de tels inconvénients, c'est-à-dire rarement. Nous nous inté-ressons ainsi à des systèmes utilisant des clés de taille raisonnable (actuellement autour de 128 bits).

1.3.2 Classication des attaques

Étant donné un système de chirement symétrique paramétré par une clé K, seul pa-ramètre secret, la classication des types d'attaques dépend du matériel additionnel à la disposition du cryptanalyste :

 attaque à chiré seul : le cryptanalyste ne dispose que de matériel chiré intercepté passivement ;

 attaque à clair connu : le cryptanalyste dispose à la fois du matériel chiré et des messages en clair correspondants. Cette conguration n'est pas si exceptionnelle qu'on pourrait le croire car il est rare qu'un cryptogramme ne laisse pas ltrer grâce à des indices extérieurs, taille du message, heure de transmission, événements précédents et suivants au moins quelques indices sur le contenu du message en clair ;

 attaque à clair choisi : le cryptanalyste dispose soit de la boîte noire que constitue EK

sans moyen d'extraire K, soit d'un moyen de faire chirer à l'insu de l'émetteur des messages dont il peut observer le transit sur le canal de communication qu'il espionne. Il se trouve ainsi en possession de couples clairs-chirés dont il a pu choisir les propriétés ;  attaque à clair choisi adaptative : elle correspond au cas précédent auquel on ajoute l'avantage pour le cryptanalyste de pouvoir faire évoluer les propriétés des clairs soumis au chirement selon les résultats obtenus sur les chirés observés ;

 attaque à chiré choisi (adaptative ou non) : le cryptanalyste est en possession d'un cer-tain nombre de couples clairs-chirés correspondant à des chirés de son choix (situation duale de l'attaque à clair choisi) ;

 attaque à clés liées : le cryptanalyste a accès à des chirés obtenus grâce à un ensemble de clés inconnues mais possédant des relations connues entre elles.

Lorsque le cryptanalyste parvient à retrouver soit les messages en clair soit la clé de dé-chirement de manière systématique et eective (sans soudoyer quelqu'un qui possède ses informations) on dit que le système est cassé.

Enn, les attaques se distinguent selon les aspects du système sur lequel elles portent. On peut attaquer le système en le considérant comme une boîte noire. Cette approche correspond au degré le plus faible de connaissances sur le système. Elle lui reste entièrement extérieure en ne considérant que ses sorties et éventuellement ses entrées. On classe la recherche exhaustive de clé dans cette catégorie. À l'inverse, l'étude détaillée des propriétés internes d'un chirement

permet de produire des attaques qui exploitent tous les aspects structurels de l'algorithme. Les cryptanalyses les plus connues et dont sont déduits des critères de conception appartiennent à cette catégorie. Nous nous intéressons à ce type d'attaques dans ce document. La classe des attaques par canaux secondaires s'intéresse aux implémentations des algorithmes. En eet, que ce soit sous forme logicielle ou matérielle, une implémentation d'un algorithme a des répercussions physiques mesurables telles que le temps d'exécution, la température d'un circuit ou son rayonnement magnétique. Si de telles grandeurs sont dépendantes de la clé, il est alors possible de retirer de l'information de leur mesure. De la même manière on peut aussi interagir avec le système par injection de fautes et déduire des informations de son comportement en réaction.

1.3.3 Recherche exhaustive de la clé

Un paramètre essentiel pour la sécurité d'un système à clé secrète est la taille de l'espace des clés, c'est-à-dire le nombre de clés possibles. En eet, il est toujours possible de mener sur un algorithme de chirement une attaque dite exhaustive pour retrouver la clé. L'attaque consiste simplement à énumérer l'ensemble des clés possibles et à les essayer successivement pour déchirer un message. Il sut ensuite de détecter le message en clair correspondant parmi les résultats du déchirement ce qui nécessite quelques couples clairs-chirés ou des informa-tions statistiques sur les clairs d'origine (format de codage des caractères, langue d'origine du document. . . ). Si on considère la clé d'un système de chirement symétrique comme un vecteur de k bits, le nombre moyen de clés à fournir à la fonction de déchirement pour mener à bien cette attaque est alors 2k−1. La faisabilité d'une telle attaque dépend évidemment de l'évolution de la technologie. On rappelle en eet que la loi de Moore est une constatation empirique qui arme que la puissance de calcul des processeurs double tous les 18 mois. On considère actuellement que l'espace des clés est susamment grand si la clé comporte au mini-mum 80 bits, c'est pourquoi les algorithmes actuels proposent en général au minimini-mum des clés de 128 bits. Ainsi, l'algorithme de chirement à clé secrète le plus utilisé jusqu'à récemment, le DES (Data Encryption Standard), est désormais vulnérable à une attaque exhaustive puisqu'il utilise une clé secrète de 56 bits. Une telle attaque, demandant en moyenne 255 chirements DES, a été réalisée en janvier 1998 en 39 jours sur 10 000 Pentium en parallèle, puis en 56 heures en juillet 1998 à l'aide d'une machine dédiée (EFF DES Cracker) comportant 1500 composants DES1. Le coût d'une telle machine était alors estimé à $ 210 000. C'est pourquoi le DES a été remplacé par un nouveau standard de chirement à clé secrète, l'AES (Advan-ced Encryption Standard)[FIP01]. L'AES a été choisi en octobre 2000 parmi les 15 systèmes proposés en réponse à l'appel d'ore lancé par le NIST (National Institute of Standards and Technology). Cet algorithme, initialement appelé Rijndael, a été conçu par deux chercheurs belges, V. Rijmen et J. Daemen [DR99]. Il opère sur des blocs de message de 128 bits et est disponible pour trois tailles de clé diérentes, 128, 192 et 256 bits, ce qui le met à l'abri des attaques exhaustives.

1.3.4 Complexité des attaques

Contrairement aux chirements asymétriques dont on mesure la sécurité par réduction à des problèmes mathématiques connus, la mesure de la sécurité des chirements symétriques couramment utilisés repose soit sur des arguments de théorie de l'information (ce qui conduit à

des preuves de sécurité dans diérents modèles) soit sur l'étude de la complexité des meilleures attaques connues à ce jour. Dans ce dernier cas, on en distingue naturellement plusieurs types :  la complexité en données mesure la quantité de données (nombre de couples clairs-chirés par exemple ou nombre de bits de suite chirante à observer) nécessaire à la réalisation d'une attaque ;

 la complexité en mémoire mesure la quantité de mémoire nécessaire au cours de l'at-taque ;

 la complexité en temps mesure le nombre d'unités de temps nécessaires pour mener à bien l'attaque. Dans la plupart des cas, l'unité de temps correspond à une opération de chirement ou à un cycle d'horloge.

La complexité d'une attaque correspond à la partie dominante des complexités ci-dessus. On considère qu'un chirement à clé secrète présente une bonne sécurité s'il n'existe pas d'attaque dont la complexité soit signicativement inférieure à la recherche exhaustive sur la clé ou la recherche exhaustive sur les textes. Une attaque générique cherchant à trouver un compromis entre ces diverses complexités est l'attaque par compromis temps-mémoire-données, originelle-ment compromis temps-mémoire de Hellman (time-memory tradeo) [Hel80]. Cette technique peut se décliner en plusieurs variantes suivant le type de système attaqué (cf. [HS05] pour un état de l'art récent sur le sujet).

Tout nouveau chirement qui veut être considéré comme une proposition sérieuse s'accom-pagne ainsi de garanties sur le fait que les attaques connues qui lui sont appliquées présentent une complexité proche de celle de la recherche exhaustive. Aussi, il est de plus en plus dicile de présenter une attaque eective sur des versions complètes des algorithmes de chirement actuellement en usage. Ainsi un autre moyen de mesurer la marge de sécurité qu'ore une système de chirement consiste à évaluer la complexité des attaques connues sur des versions simpliées (réduction du nombre de tours, cadencement régulier. . . ).

Nous allons maintenant présenter les deux grandes familles de chirements symétriques. Nous nous intéressons d'abord aux chirements à ot et aux familles d'attaques qui s'ap-pliquent à ces systèmes et dont sont issus les critères cryptographiques que nous étudions pour les fonctions booléennes objets des derniers chapitres de ce document. Nous présentons ensuite le chirement par blocs ainsi que rapidement les attaques dont il fait l'objet. Nous réservons au chapitre 2 la description détaillée de la modélisation des attaques sur le dernier tour ainsi que les critères déduits des attaques diérentielle et linéaire.