• Aucun résultat trouvé

3.2 Contremesures

3.2.2 Une contremesure originale : le CMG

Basé sur le principe de diminuer le SNR, il a été conçu un circuit analogique capable de mas- quer la consommation réelle du circuit cryptographique. L’objectif principal de cet approche c’est d’augmenter la sécurité des dispositifs cryptographiques sans aucune modification de l’algorithme de cryptographie implanté. De plus, des nouvelles cellules standards ne sont pas requises, comme c’est le cas pour la logique à double-rail.

Cette technique-ci masque la consommation de puissance à travers la normalisation du courant consommé par le circuit cryptographique (CC). Cette tâche est accomplie par un circuit analogique appelé générateur de masquage de courant (CMG - Current Mask Generator), dont le rôle est de maintenir le courant total constant d’un point de vue externe au circuit. Pour projeter le CM G d’abord des mesures de consommation dans un circuit cryptographique conventionnel ont été prises, afin d’établir quel était le pic de consommation de courant de ce circuit. Une fois cette valeur détectée, l’intention est de rester au niveau de ce pic pendant tout le fonctionnement du CC, même quand il consomme moins.

Le CMG est composé fondamentalement d’un miroir de courant, d’un circuit suiveur, et d’une capacité. Comme peut être vu dans la Figure 3.9, le CMG agit à côté du CC, et cela souligne qu’aucun changement dans le circuit cryptographique est nécessaire. Il faut noter que le CMG et le CC, par un souci pédagogique, ne sont pas représentés à la même échelle. En effet, le CMG n’augment en moyenne que 30% la surface d’une implantation standard du algorithme DES, par exemple.

Dans la Figure 3.10, le miroir de courant agit en imposant un courant fixe (I2). Ce courant I2

est donné par le coefficient w des transistors P1 et P0, comme dans l’équation 3.2, et est égal au

pic de consommation du CC : I2 = F µ wP1 wP0 ¶ (3.2) Le circuit cryptographique consomme un courant Ic. Quand Ic = I2, cela signifie que le CC

consomme tout le courant fourni, et le CMG reste en mode d’attente. Autrement, quand le CC ne nécessite pas tout le courant I2, alors le circuit suiveur réalise une boucle de rétroaction afin de

consommer le courant restant IL, de façon que IL= I2− Ic.

Le suiveur joue le rôle d’un générateur de tension. L’amplificateur opérationnel reçoit une tension du miroir et la compare avec une tension de référence (par exemple Vext). Si le circuit

cryptographique consomme une quantité de courant plus petite que I2, la tension dans l’entrée de

l’amplificateur opérationnel est plus basse que la tension de référence. Donc la sortie de l’amplifica- teur opérationnel envoie 0 au transistor P4. Alors il consomme un courant IL, qui est la différence

entre I2 et Ic. Quand le CC consomme à son pic (i.e. I2 = Ic), l’amplificateur opérationnel envoie

un 1 vers le transistor P4, interrompant son fonctionnement, puisqu’il n’est plus nécessaire drainer

le courant. Finalement, la fonction de la capacité de 9, 5pF c’est de donner du temps à la boucle de rétroaction de réagir. La capacité sert aussi à lisser la tension, ce qui a un effet bénéfique au masquage de consommation.

84 Attaques et contremesures

CC

Courant

Circuit Suiveur

CMG

Sorties

Mirroir de

Entrées Vext Vint Capacité

Fig. 3.9: Schéma de principe du CMG.

circuit cryptographique (CC). Une simulation électrique (à l’aide de l’outil SPICE6

) de la S-box a été réalisée pour déterminer son pic de consommation dans le pire cas. La Figure 3.11 montre que cette consommation est de 6mA. Plusieurs simulations ont été faites pour différents scénarios de données. Comme peut être vue dans la Figure 3.12, le CMG fonctionne de manière efficace, masquant la consommation du CC, rendant la DPA plus difficile à réaliser. Le signal R8/P lus est le courant consommé par le CC, et le signal R4/P lus est le signal masqué.

La Figure 3.13 montre le courant masqué qui peut être sondé dans le Vdd ou dans le Gnd; le

courant consommé par le circuit cryptographique, et deux signaux d’entrée a0 et a1. Analysant la

consommation par rapport aux données d’entrée, la Figure 3.13 montre aussi que les commutations de zéro à un et vice-versa n’altèrent pas la consommation finale, c’est à dire, la consommation reste constante du point de vue d’un attaquant. Pour définir le degré de difficulté aux attaques d’analyse de courant apporté par le CMG, quelques paramètres doivent être considérés. Le premier c’est le rapport signal sur bruit. Au contraire des applications habituelles, tels que le multimedia, où les concepteurs essayent d’augmenter le SNR, l’approche CMG tente l’opposé : diminuer le plus

6

3.2. Contremesures 85 P4 Itotal = Iext B A Vext I0 I1 I0 + I1 P2 P0 Il Icap Ic Ic Vint Entrées Sorties C M G C C N1 N0 I1 + I2 Iext I2 I=0 I=0 P3 P1 − + − + + − − +

Fig.3.10: Vue d’ensemble du CMG.

possible le SNR.

Les Figures 3.12 et 3.13 montrent des glitches dans le signal masqué R4/P lus. Si un zoom suffisamment puissant peut être réalisé, la même forme du signal R8/P lus sera retrouvée. Cela signifie que le système n’est pas parfait. Mais, si les valeurs de chaque signal sont considérés (voir Figure 3.14), il est evident que le CMG atténue de façon non négligeable : le courant est réduit d’un facteur k ≈ 25.

Ce facteur k est obtenue en mesurant la différence entre le pic et le point le plus faible du signal R8/P lus (encore dans la Figure 3.14), ce qui donne une variation ∆CC. Ensuite, le procédé est répété pour le signal R4/P lus, d’où il est obtenu ∆CMG. Donc :

k = µ ∆CC ∆CM G ¶ (3.3) Afin de voir l’atténuation générée par le CMG, le SNR montré dans l’équation 3.1 doit être étendu vers l’équation 3.4 :

SN RCM G = 20 × log µ Ic k × N ¶ = 20 × logµ Ic N ¶ − 20 × log (k) = SN R − 20 × log (k) (3.4) A partir de l’équation 3.4 et en regardant la Figure 3.14, pour l’exemple donné, le courant visualisé par l’attaquant est atténué de ≈ 25db. Cela signifie que le signal est complètement noyé par le bruit, comme illustré par la Figure 3.15.

86 Attaques et contremesures

Fig. 3.11: La consommation de courant de la S-Box

Conclusion. Le CMG est une contremesure qui augmente la robustesse des circuits cryptogra- phiques contre attaques par analyse de puissance. C’est une solution bas niveau qui a pour atout le fait de ne pas modifier l’algorithme ni les données du système cryptographique. Cette méthode est simple à implanter, et n’est pas coûteuse du point de vue de la surface requise. Un implantation classique du DES prend environ 16mm2 (synthèse avec technologie CMOS0.35µ, pendant que le

CM G requiert seulement 5mm2, ce qui est un coût tout à fait acceptable quand les enjeux sont

la sécurité et la robustesse des systèmes de cryptographie.

Un autre coût évident de cet approche c’est l’augmentation de la consommation. Mais la mé- thode CMG reste intéressante pour des applications comme les cartes bancaires, set-top boxes, cartes téléphoniques, parmi d’autres, où la faible consommation n’est pas le principal sujet. Dans des opérations bancaires, comme la retraite d’argent dans des distributeurs automatiques, l’opé- ration de cryptographie ne dure que quelques secondes, et la sécurité est plus important, donc la faible consommation n’est pas forcément le premier problème à régler. Le plus important dans ce cas c’est la sécurité. L’atténuation occasionnée par le CMG garantit cette sécurité.

Finalement, cette atténuation peut être augmentée. En modifiant la boucle de rétroaction et en améliorant le miroir de courant, le SNR peut encore être diminué. Un approche possible c’est l’inclusion d’une inductance en série avec le miroir de courant. Dans les derniers expériences, des résultats préliminaires ont montré une atténuation plus importante que celle des versions antérieures du CMG. De plus, il reste à vérifier si l’usage d’une inductance peut diminuer les émissions électromagnétiques, ce qui implique que le CMG peut aussi être efficace contre les attaques du type EMA.

3.2. Contremesures 87

Fig. 3.12: La consommation de courant du circuit cryptographique (R8 Plus) et le courant généré par le CMG (R4 Plus)