Analyse de consommation
En cryptanalyse de matériel cryptographique, l'analyse de consommation (en anglais, differential power analysis ou DPA) est l'étude des courants et tensions entrants et sortants d'un circuit dans le but de découvrir des informations secrètes comme la clé de chiffrement. Certaines opérations, plus coûteuses, augmentent la consommation électrique du circuit, notamment par l'utilisation de plus de composants (analogiques ou logiques). Cette analyse des variations et des pics permet de tirer des informations précieuses pour le cryptanalyste.
SPA: Simple power analysis - Analyse simple de la consommation
modifierLa sécurité est la caractéristique essentielle des cartes à puce, et à ce titre, le contournement de cette sécurité est devenu l'objectif de certains malfaiteurs, mais surtout de chercheurs, scientifiques et industriels soucieux de porter au plus haut degré cette sécurité.
L'analyse de consommation consiste (simplement) en la mesure du courant consommé par un circuit électronique pour en déduire les opérations effectuées. Chaque instruction réalisée par un microprocesseur met en œuvre un certain nombre de transistors. À chaque instant, la mesure du courant consommé peut refléter l'activité du microprocesseur. Bien entendu, les courants consommés sont très faibles, leurs variations infimes et extrêmement rapides. Néanmoins, les instruments de mesure aujourd'hui utilisés permettent des mesures extrêmement fines, avec des résolutions inférieures au micro ampère et des fréquences d’échantillonnage jusqu'au gigahertz. La sécurité des cartes à puce (ou de tout autre matériel électronique) repose essentiellement sur des algorithmes de cryptographie connus: DES, 3-DES, RSA et bien d'autres.
L'analyse fine de la consommation électrique pendant les opérations de calcul permet de distinguer des différences entre des clefs valides et invalides, et parfois, de retrouver la clef secrète dissimulée dans les entrailles du dispositif. Ceci connu, bien entendu, les contre-mesures ont été prises pour rendre ces différences de consommation indétectables, soit en réduisant les variations de courant, soit en modifiant le micro-code utilisé pour qu'il soit davantage opaque.
DPA: Differential Power Analysis - Analyse différentielle de la consommation
modifierEn 1998, Paul Kocher, Joshua Jaffe, et Benjamin Jun firent paraître un article sur l'analyse différentielle de consommation[1],[2]. Il s'agit cette fois ci de combiner l'analyse de consommation avec des méthodes statistiques portant sur des milliers d'opérations. Le papier publié est certes fort théorique et un peu complexe, mais prouve, mesures à l'appui, que malgré les contre-mesures prises, il est toujours possible d'extorquer aux dispositifs électroniques des informations sur les clefs secrètes. La clef présentée à l'algorithme cryptographique déclenchera toujours un comportement différent suivant qu'elle est fausse ou exacte, la consommation de courant, mesurée sur un grand nombre d'échantillons, sera toujours un indice sur la clef secrète.
Contre-mesures
modifierPour se protéger contre ce genre d'attaque, l'article de Paul Kochner suggère plusieurs pistes :
- La réduction du courant consommé, rendant les variations imperceptibles. Néanmoins, les performances des appareils de mesure ne faisant que croître, un attaquant disposant d'un grand nombre d'échantillons pourrait parvenir à ses fins.
- Le blindage électromagnétique, évitant la mesure elle-même. Cette solution est cependant coûteuse et grève le prix du composant
- Noyer le signal dans le bruit, y compris temporellement, rendant l'attaque si complexe et nécessitant un si grand nombre d'échantillons qu'elle en devient infaisable.
En 2011, les contre-mesures contre les attaques DPA sont largement répandues et font l'objet de certifications de sécurité. Le prix des composants résistants à ces attaques est néanmoins à la hauteur de la sécurité obtenue.
Références
modifier- P. Kocher, J. Jaffe, B. Jun, "Differential Power Analysis," technical report, 1998; later published in Advances in Cryptology - Crypto 99 Proceedings, Lecture Notes In Computer Science Vol. 1666, M. Wiener, ed., Springer-Verlag, 1999.
- Paul Kocher, Joshua Jaffe, Benjamin Jun, "Introduction to Differential Power Analysis and Related Attacks (1998)"