• Aucun résultat trouvé

Attaque par observation des collisions ou Collision Attack

2.2 Les grandes classes d'attaques

2.2.3 Attaque par observation des collisions ou Collision Attack

L'analyse des collisions au sein d'un algorithme est un outil de cryptanalyse classique des fonctions de hachage. Pour des messages diérents et une même clé une collision totale ou partielle au sein d'un l'algorithme peut être observée et exploitée en comparant la fuite des deux opérations au travers d'un canal caché [105], [75]. Une collision dans le cadre de cette attaque signie qu'à un instant donné de l'algorithme, les traitements relatifs aux deux messages qui présentent une collision, sont identiques ou partiellement identiques. Cet eet remarquable peut alors être observé au travers du canal caché. L'attaque originale a été ré- cemment améliorée par Frédéric Valette dans [114] et ne nécessite que très peu de messages pour obtenir la clé.

2.2.4 Attaque par caractérisation du bruit ou Template At-

tack

L'attaque Template [31] constitue une approche radicalement diérente de l'at- taque diérentielle. En eet, elle poursuit le même but que l'attaque diérentielle : extraire une information corrélée à une quantité secrète à partir des échantillons d'un canal caché, mais contrairement à cette dernière, l'attaque Template cherche à exploiter les caractéristiques du bruit comme révélateur de l'information. Ainsi la présence de bruit ne constitue plus une gêne pour l'attaquant. Cependant, an de caractériser le bruit, elle nécessite que l'attaquant ait accès à un composant tel que celui qu'il va attaquer par la suite, mais pour lequel il peut choisir ou connaître toutes les entrées, y compris les données habituellement gardées secrètes. Une fois cette caractérisation établie, l'information relative aux secrets utilisés est extraite à partir d'un petit nombre d'échantillons sur le composant ciblé par l'attaquant. En fait, cette étape de caractérisation déjà présente dans plusieurs attaques IPA [46], DK-DPA [53] ... est grandement améliorée en tirant prot de résultats bien connus en traitement du signal selon lesquels l'approche optimale pour un atta- quant visant à valider une hypothèse à la vue d'un simple échantillon est de choisir de maximiser la probabilité d'observation du bruit.

2.2. LES GRANDES CLASSES D'ATTAQUES 31 Un aspect spectaculaire de l'attaque est que, contrairement à l'attaque dié- rentielle, l'attaquant peut se contenter d'un seul enregistrement du canal caché pour extraire l'information secrète d'un échantillon fortement bruité. Néanmoins, le bruit tel que considéré par les auteurs de cette attaque dans [31], est celui relatif à l'environnement de calcul qui s'ajoute à l'activité relative aux données traitées et non pas celui relatif à l'introduction de contre-mesures. En ce sens cette attaque, qui au premier abord apparaît comme particulièrement performante, s'avère en pratique et en présence des contre-mesures habituelles assez peu ecace. Il n'est cependant pas exclu qu'elle évolue vers une menace plus préoccupante comme semble l'indiquer ces récents développements. En eet, dans [2], l'attaque Tem- plate est améliorée pour permettre de tirer partie de la présence d'un faible biais dans le générateur aléatoire à la base d'une protection de type randomisation des données traitées, ou dans [76] où un soin particulier est apporté à la modélisation du signal du canal caché et de sa composante bruit. La caractérisation du bruit est une menace plus préoccupante pour les implémentations protégées.

2.2.5 Utilisation de messages choisis

Le fait de choisir le message traité par un algorithme est souvent un avantage que l'attaquant doit savoir mettre à prot. Dans le cadre des canaux cachés, des messages bien choisis peuvent permettre une meilleure exploitation du canal en réduisant le nombre d'échantillons nécessaires à l'attaquant. Une première appli- cation simple est de réduire le bruit lorsque la cible de l'attaquant est une étape eectuée en parallèle avec d'autres étapes génératrices de bruit. Une autre appli- cation courante est la localisation d'un élément caractéristique, ou encore l'opti- misation de la signature du canal. L'approche consiste à déterminer les données (ou les conditions de traitement) qui orent un maxima et/ou un minima de fuites sur le canal considéré. Cette approche est particulièrement payante lorsqu'elle est dictée par un modèle du canal observé et la connaissance de l'implémentation. Prenons l'exemple de l'algorithme classique Carré Multiplication où le carré et la multiplication sont réalisés par le même opérateur. L'attaquant peut choisir des messages particuliers comme M=1, M = 0x800..000, M =0xFF..FF... en fonction de l'implémentation du produit et obtenir des traces caractéristiques qui vont lui permettre de distinguer le carré du produit.

Fig. 2.16  Carré suivi d'un Produit extrait d'une exponentiation - Message choisi Aléatoirement

Bien utilisés, les messages choisis peuvent mettre en défaut des implémentations comportant des contre-mesures réputées ecaces. Une des meilleures illustrations

Fig. 2.17  Carré suivi d'un Produit extrait d'une exponentiation - Message A=1

Fig. 2.18  Carré suivi d'un Produit extrait d'une exponentiation - Message A=0x80

Fig. 2.19  Carré suivi d'un Produit extrait d'une exponentiation - Message A=0xFF

2.2. LES GRANDES CLASSES D'ATTAQUES 33 de l'importance des messages choisis est l'attaque sur les implémentations sécuri- sées découverte par Louis Goubin [52] dans le cadre des courbes elliptiques. Cette attaque part de la constatation que malgré les eorts déployés par les implémen- tations sécurisées de l'opération kP le traitement au sein de l'algorithme du point à l'inni entraîne une caractéristique identiable au travers d'un canal caché. Il sut alors d'opérer un bon choix de points P avant de lancer l'opération kP pour déterminer chaque bit du secret.

Très récemment, dans [40], les résultats de Louis Goubin sont étendus, et nous montrent que malgré l'utilisation de la contre-mesure de randomisation des coor- données projectives d'une courbe elliptique, le choix d'un corps de base particulier à des ns d'optimisation peut constituer une opportunité pour un choix particulier de points de la courbe et permettre une attaque avec très peu d'échantillons par bit de secret. Ce résultat est particulièrement important, car un tel choix de corps est préconisé par le NIST, et par de nombreux standards.