- Attaque par canal auxiliaire
-
Les attaques par canaux auxiliaires font partie d'une vaste famille de techniques cryptanalytiques qui exploitent des propriétés inattendues d'un algorithme de cryptographie lors de son implémentation logicielle ou matérielle. En effet, une sécurité « mathématique » ne garantit pas forcément une sécurité lors de l'utilisation en « pratique ». Dans ce domaine, les attaques sont nombreuses et portent sur différents paramètres, et on en distingue deux grandes catégories :
- Les attaques invasives qui endommagent le matériel (voire le détruisent totalement) :
- attaque par sondage : elle consiste à placer une sonde directement dans le circuit à étudier, afin d'observer son comportement (généralement utilisée dans le cas des bus chiffrés) ;
- …
- Les attaques non-invasives qui se contentent de procéder à une observation extérieure du système :
- attaque temporelle : étude du temps mis pour effectuer certaines opérations ;
- cryptanalyse acoustique : étude du bruit généré par un ordinateur ou une machine qui chiffre. En effet, le processeur émet du bruit qui varie en intensité et en nature selon sa consommation et les opérations effectuées (typiquement des condensateurs qui se chargent ou se déchargent émettent un claquement facilement mesurable) ;
- analyse d'émanations électromagnétiques : similaire à la cryptanalyse acoustique mais en utilisant le rayonnement électromagnétique (émission d'ondes, analyse d'une image thermique, lumière émise par un écran, etc.) ;
- analyse de consommation : une consommation accrue indique un calcul important et peut donner des renseignements sur la clé ;
- attaque par faute : introduction volontaire d'erreurs dans le système pour provoquer certains comportements révélateurs. Ce type d'attaque peut être considérée comme invasive dans certains cas (un laser peut abimer le matériel, etc.) ;
- attaque par prédiction de branches : l'étude des unités de prédiction de branches des nouvelles architectures des processeurs peut donner des informations intéressantes ;
- …
Ces attaques peuvent être combinées pour obtenir des informations secrètes comme la clé de chiffrement. Leur mise en œuvre est étroitement lié au matériel ou au logiciel attaqué.
Exemples d'attaques
Une attaque basée sur les temps de réponse a été menée par Serge Vaudenay sur TLS/SSL, ce qui a forcé les concepteurs du standard à faire une mise à jour critique. Adi Shamir a montré l'efficacité en pratique de la cryptanalyse acoustique du bruit d'un processeur. Une attaque temporelle sur le cache d'un processeur a été démontrée pour une implémentation d'AES.
Solutions
Les constructeurs de puces de chiffrement visent à aplanir la courbe de consommation électrique pour dissimuler les opérations sous-jacentes. Des protections et des blindages permettent de limiter le rayonnement en dehors du circuit. Il faut également tenir compte des états impossibles qui ne doivent pas se produire et doivent être traités correctement s'ils venaient à être détectés. Limiter les messages d'erreur et la communication d'informations diverses avec l'extérieur est aussi une solution mais elle pénalise les développeurs et les utilisateurs du système.
- Les attaques invasives qui endommagent le matériel (voire le détruisent totalement) :
Wikimedia Foundation. 2010.