
La carte à puce et les circuits asynchrones
4.1. Programme de test
L'analyse en sécurité du SC-XAP a été effectuée à
l'aide d'un programme très simple qui permet d'appécier
les forces et les faiblesses d'un processeur en matière de
sécurité. Le programme est chargé en SRAM. Au début
de ce programme nous activons le SC-XAP, ce qui en
même temps désactive les quatre autres déclinaisons de
l'architecture XAP. La partie du programme qui est testée
comprend les opérations suivantes :
. chargement de l'adresse mémoire du tableau de
données (LD@)
. chargement en registre de la première donnée Opi
(LDOpl)
. exécution d'un XOR entre Opi et Op2 dont le char-
gement est " inclus " dans le XOR (XOR)
'écriture du résultat Res en mémoire (STRes)
Pour chaque boucle du programme, les opérandes
Op 1 et Op2 sont transmis depuis un ordinateur via l'UART,
et en réponse nous lisons Opl, Op2 et Res qui sont écrits
dans un fichier. Les tests ont été effectués dans une confi-
guration où tout mécanisme de protection (notamment au
niveau de l'UPM) a été désactivé.
5. Analyse en sécurité du XAP asynchrone
Les deux grandes approches utilisées pour l'analyse
de sécurité du SC-XAP sont les mêmes que celles utilisées
sur une carte à puce. La première est l'étude de fuites
d'informations par canaux cachés, où l'on compare le
niveau de fuites entre le SC-XAP et le S-XAP. La deuxième
famille de tests traite de la résistance aux fautes (notamment
par faisceau laser et par variation en tension d'alimentation)
du SC-XAP.
5.1. Fuites par canaux cachés
L'étude de fuites par canaux cachés a été menée dans
un premier temps en mesurant le courant consommé à
chaque exécution de notre programme de test, et dans un
deuxième temps en mesurant le rayonnement électroma-
gnétique (EM) du SC-XAP lors de chaque exécution.
Pour chaque exécution, nous transmettons donc, à partir
d'un PC, les opérandes Opl et Op2. Le programme de test
est alors exécuté, et en même temps la mesure en courant
ou en champ EM est faite : la courbe obtenue est alors
sauvegardée. Nous lisons le triplet de données Op 1 -Op2-
Res. Cette manipulation est exécutée plusieurs centaines
de fois. Ainsi pour différentes valeurs de Op l et de Op2,
nous avons les Res correspondants et les courbes en courant
ou en EM correspondantes.
Nous appliquons alors la technique de la CPA
(Correlation Power Analysis) telle que décrite dans [9].
Supposons que l'on veuille faire une CPA sur Opl par
exemple. Pour rappel, les mesures faites pendant nos
manipulations nous ont permis d'avoir un fichier de
différentes valeurs d'Opl, et pour chacune d'elles une
courbe de courant ou EM en fonction du temps d'exécu-
tion. A chaque instant t, nous calculons la corrélation
entre le poids de Hamming de Opi et la variation de la
mesure faite en courant/EM à cet instant. Nous obte-
nons ainsi une courbe de corrélation qui permet de voir
comment, si fuite il y a, la manipulation de Opl évolue
en fonction du temps : car si la donnée Opi fuit en poids
de Hamming (c'est-à-dire que nous avons un modèle
valide) nous aurons une corrélation quasi nulle lors-
qu'elle n'est pas manipulée. Par contre, à l'instant où
Opi est utilisé, la corrélation est non-nulle. L'intensité
de cette corrélation instantanée révèle le niveau de
fuite à cet instant, permettant ainsi de quantifier cette
dernière.
5.1.1. Fuites en courant
La première observation faite sur le SC-XAP est que
l'exécution d'un même programme est déterministe, ce
qui donne des courbes en consommation de courant
(appelées " courbes en courant " par abus de langage) syn-
chrones, et ce malgré l'absence d'horloge. L'analyse en
CPA faite sur Op l, Op2 et Res respectivement démontre
la présence d'une fuite en poids de Hamming de ces don-
nées sur le S-XAP et sur le SC-XAP. Cependant :
. Le niveau de fuite est moindre dans le cas du
SC-XAP que dans celui du S-XAP.
. La différence se fait principalement pendant l'opé-
ration XOR, où une nette diminution d'environ 21 dB
de la fuite est obtenue dans le cas du SC-XAP.
Ainsi, le SC-XAP en technologie asynchrone DR per-
met de réduire la fuite en consommation en courant.
Cependant la fuite existe et est exploitable, et ce même si
la théorie de la Dual Rail ne doit pas permettre la fuite
d'information en poids en Hamming. Nous reviendrons
sur le sujet dans le chapitre sur l'analyse des résultats.
5.1.2. Fuites en rayonnements électromagnétiques fFA
La manipulation précédente est répétée mais cette fois
c'est le rayonnement électromagnétique qui est mesuré à
l'aide d'une bobine telle que décrite dans [4]. Cette fois,
avec le SC-XAP, les courbes mesurées sont très désyn-
chronisées d'une mesure à l'autre. Cependant, à l'aide de
méthodes de traitement du signal, les courbes en EM
peuvent être parfaitement synchronisées entre elles.
L'analyse CPA sur les mesures EM du SC-XAP nous
a réservé la surprise suivante : d'une part la fuite en poids
de Hamming des données est plus évidente que sur les
courbes en courant. D'autre part elle est plus importante
sur les courbes EM du SC-XAP que sur les courbes EM
du S-XAP. Des pics de CPA se voient clairement au niveau
du LDOpl, XOR et STRes. Les maxima de corrélation ne
sont pas très élevés (entre 20 % et 70 %), mais ils le sont
suffisamment pour être exploitables lors d'une attaque.
REE
No 6/7
luin/Juillet 2004