Attaque par canal auxiliaire

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Dans le domaine de la sécurité informatique, une attaque par canal auxiliaire (en anglais : Side channel attack) désigne une attaque informatique qui, sans remettre en cause la robustesse théorique des méthodes et procédures de sécurité, recherche et exploite des failles dans leur 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 ».

Pour rappel, une attaque est considérée comme utile dès lors qu'elle présente des performances supérieures à une attaque par force brute. Les attaques par canal auxiliaire sont nombreuses et variées et portent sur différents paramètres. On en distingue deux grandes catégories :

  1. 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) ;
  2. Les attaques non-invasives qui se contentent de procéder à une observation extérieure du système :
    • 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 analyse du trafic
    • 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 ;
    • 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) ;

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[modifier | modifier le code]

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[modifier | modifier le code]

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.