. Repères) CARTES À PUCE La carte à puce et les circuits

publicité
CARTES À
PUCE
. Repères)
La
et
carte
les
à
Mots clés
puce
circuits
Carte à puce,
Circuitsasynchrones,
asynchrones
Technologies
Dual Rail,
Analysesen courant
(DPA, CPA),
Analysesen rayonnements
électromagnétiques
(EMA),
Attaquespar injections
defautesDFA
Par Jacques FOURNIER,Simon W. MOORE
Security Technologies Department, Gemplus Computer Lab, University of Cambridge
de sécurité. Nous illustrerons ensuite nos propos en décrivant
l'architecture XAP asynchrone développée par l'Université
Introduction
Durant ces dix dernières années, la carte à puce a
connu une évolution étonnante, allant de la simple carte à
mémoire de nos légendaires cartes téléphoniques aux cartes
à micro-contrôleur
comme celles utilisées dans les SIM
(Subscriber
Identification
Module)
à clef privée (DES, AES) ou à clef
publique (RSA, courbes elliptiques). La carte à puce
d'aujourd'hui est un véritable ordinateur optimisé pour les
calculs de cryptographie avancée. Néanmoins, l'intégration de processeurs 32 bits au sein d'une carte à puce n'est
pas une fin en soi : cette technologie a devant elle d'autres
défis à relever, tant au niveau des performances qu'au
niveau de la sécurité. Car même si un processeur RISC
32 bits peut offrir des performances plus qu'acceptables,
les besoins en matière de consommation et de sécurité constituent un sérieux frein à la pleine exploitation de ce potentiel.
Dans cet article, nous nous intéresserons d'abord aux
défis auxquels la carte à puce doit faire face aujourd'hui
au niveau matériel. Ensuite nous passerons en revue les
caractéristiques des circuits asynchrones, où nous verrons
en quoi ces dernières présentent une alternative
si
attrayante pour la carte à puce, en particulier
en matière
ss
Les circuits asynchrones reviennent sur le devant de la scène,
notamment dans le domaine de la carte à puce, grâce à leurs
propriétés de basse consommation et leur potentiel en matière
de sécurité. Dans cet article nous étudions comment les circuits
asynchronespeuvent accroître la sécurité des cartes à puce. Pour
cela nous nous intéresserons aux résultats obtenus lors de
l'étude sécuritaire d'un circuit de test dont le processeur a été
implémenté en technologie asynchrone.
REE
W 6/7
Juin/Juillet
2004
regard sur le rôle de la technologie
marché de la carte à puce.
asynchrone
dans le
de nos téléphones
portables. La grande majorité de celles déployées aujourd'hui
est dotée de processeurs CISC de la famille des 8051. Les
dernières cartes à micro-contrôleur
ont des cceurs RISC
32 bits. Elles sont aussi dotées de co-processeurs dédiés
à la cryptographie
de Cambridge, et l'analyse sécuritaire effectuée à Gemplus
sur ce coeur [1]. Nous conclurons en portant un bref
2.
Défis
pour
les processeurs
Même si l'évolution
des technologies
a permis l'inté-
gration d'un calculateur aussi puissant qu'un RISC 32 bits
dans les 25 mm2 normés d'une carte à puce, nous sommes
encore loin d'utiliser tout le potentiel de telles architectures. Ces dernières apportent de la puissance de calcul.
Mais à cette notion de puissance (et de performance) est
liée celle de la consommation en courant. Même si ces
architectures sont capables d'être cadencées à plusieurs
centaines de MHz, la carte à puce, elle, est très limitée en
consommation (7 mA pour le GSM et 10 mA pour le 3G
si nous nous référons aux cartes SIM utilisées dans la
téléphonie mobile). Par conséquent les vitesses de tels
processeurs, une fois intégrés dans un système carte à
puce, sont limitées à quelques dizaines de MHz, et ce
pour les plus performantes d'entre elles. Ainsi, réduire la
consommation des cartes à micro-contrôleur
est l'un des
défis que doit relever l'industrie.
De plus,
qu'augmenter
la complexité
e
la difficulté d'y
de tels systèmes
distribuer
ne fait
une horloge de
SYNOPSIS
Asynchronous devices are back in the limelight, with low
consumption and security capabilities appearing especially
attractive for smart card applications.This article discusses how asynchronous devices can improve smartcardsecurity. Specifically, we
outline the results of a security study on a test circuit with asynchronous-technoiogyprocessor.
La carte à puce et les circuits
façon synchrone et non-biaisée. La logique requise pour
obtenir une distribution correcte de l'horloge est d'une
complexité croissante et, bien évidemment, devient très
vite gourmande en consommation d'énergie.
Finalement,
les besoins en sécurité sont plus présents
que jamais. L'une des principales difficultés liée à ce
besoin est de trouver un compromis entre ces besoins en
sécurité, les contraintes de consommation,
formance et les coûts de développement.
celles de per-
asynchrones
une espace mémoire non négligeable.
Elles ne touchent
cependant pas au fond du problème qui rend de telles
attaques possibles : les architectures et technologies
matérielles utilisées pour la fabrication de ces processeurs.
Ainsi naît le besoin de développer une architecture matérielle qui permettrait de faire face à de telles attaques.
Dans les paragraphes suivants, nous nous intéresserons
principalement à l'architecture du processeur, ce qui restreint notre espace d'attaques à celles qui sont semi-invasives et non-invasives.
2.1. Besoins en matière de sécurité
Au sein d'une architecture de sécurité, la carte à puce
est vue comme le module de confiance. C'est la gardienne
des clefs d'identité de son propriétaire, le coffre-fort dans
lequel sont exécutés les algorithmes de chiffrement et
d'authentification.
Ainsi, les contraintes de sécurité sur la
carte à puce sont d'une grande importance, d'autant que
récemment nous avons eu droit à une " épidémie " d'attaques potentielles
. Attaques
sur ces supports :
invasives : cette famille d'attaques com-
prend l'ouverture du module de la carte à puce afin
de mettre la puce à nu. Ensuite l'utilisation d'outils
tels qu'un FIE (Focussed Ion Beam) permet à un
attaquant de modifier l'architecture du processeur
et de ses périphériques, ou de faire du " reverseengineering " afin de découvrir
l'architecture
implémentée [2].
. Attaques se mi-invasives
: ces techniques incluent
les attaques par injection
de fautes. En variant
brusquement la tension d'alimentation, l'horloge du
processeur ou en illuminant ce dernier à l'aide d'un
faisceau laser, le comportement du processeur est
modifié de sorte que la faute injectée peut servir à
cryptanalyser
les algorithmes
cryptographiques
exécutés.
. Attaques
non-invasives
: ces attaques sont
menées en analysant les canaux cachés de la carte
à puce : en mesurant le courant consommé par la
puce [3] ou en récoltant son rayonnement électromagnétique EM [4], un attaquant est capable de
déterminer (en appliquant des techniques d'ana-
3.
Motivations
circuits
Magnetic Anal,sis) [5].
de l'utilisation
des
asynchrones
Cette quête d'une architecture matérielle résistante aux
attaques semi et non-invasives a mené plusieurs groupes
de chercheurs à s'intéresser aux circuits asynchrones. Alors
que la grande majorité des ordinateurs d'aujourd'hui sont
cadencés à l'aide d'une horloge qui régit l'exécution de
chaque opération, les processeurs asynchrones ont la
caractéristique première de fonctionner
sans horloge.
Ainsi chaque unité du processeur asynchrone n'attend pas
de coup d'horloge pour lancer une exécution ou acquisition/transmission de données. Elle est libre de fonctionner
à son rythme, et ce dès qu'elle reçoit une nouvelle donnée
ou qu'elle est prête à en transmettre une. Dans un circuit
synchrone, la communication entre deux entités est régie
par les fronts d'horloge qui servent aussi de garantie pour
déterminer la stabilité et la validité des données tranférées.
Par contre, dans un circuit sans horloge, la communication
entre des unités se fait via un protocole de " dialogue "
(handshake)
[6,7]. On distingue alors deux grandes
familles de réalisation de ce protocole de " handshake " :
a Encodage
en Il Bundled
Data " (BD)
: soit un
émetteur E qui veut transmettre une donnée de n bits à R.
L'encodage BD préconise le rajout de deux signaux de
communication : une requête Req de E vers R et une quittance Qui de R vers E. Un délai est rajouté sur le signal
Req pour garantir que les n bits de la donnée sont tous
valides lorsque Req arrive à R.
lyses dites différentielles) la valeur de la clef secrète
manipulée pendant ces mesures. Lorsqu'on attaque
via la mesure de courant on parle de DPA (Differetctial
Power Anal'ysis) ou de CPA (Correlation
Power
Analysis), et quand on s'intéresse au champ EM, on
se réfère alors à la DEMA (Differential Electro-
en faveur
Req >
Qui
<
EMETTEUR
RECEPTEUR
BRHM
Durant ces six dernières années, ces failles de sécurité
ont longuement occupé des équipes de recherche aussi
bien académiques qu'industrielles : une pléiade de contremesures a été développée, la grande majorité intervenant
principalement
au niveau logiciel. Ces contre-mesures
logicielles,
aussi efficaces soient-elles, dégradent énormément les performances des cartes à puces, et occupent
Figure I. Encodage en Bundled Data.
. Encodage insensible
aux délais (DI) : dans ce cas
un encodage redondant m-sur-p est utilisé pour la donnée.
L'encodage redondant permet de déterminer quand une
nouvelle donnée valide est transmise vers R. Ainsi, le
REE
W 6/7
JLiin/Juillet 2004
CARTES À PUCE
m Repères
1
signal Req disparaît, d'où le nom " insensible atix délais'.
L'encodage redondant le plus communément utilisé est la
Dual Rail (DR) où chaque bit de la donnée est représenté
par deux bits comme illustré par le tableau ci-après.
AO
/. A 1 Signitication
a a Neutre
a
Il - 1 - -- - - 0 - 1 logique
1
?
S!gn!f !j: ation
d'autre part, afin de fabriquer et tester le concept de la
carte à puce à microprocesseur asynchrone.
L'un des processeurs issus de ce projet est le processeur XAP de l'Université
de Cambridge.
Dans les cha-
pitres suivants nous allons illustrer comment l'analyse en
sécurité du XAP asynchrone nous permet d'apprécier
l'apport qu'auraient les circuits asynchrones en matière de
sécurité.
1 0 logique
1 Alarme
4. La puce
de test
Springbank
Qui
<i-
data [Oi
data [O] 1
.,. RECEPTEUR
EMETTEUR
.
&MN om
2n bits
ci ata [ii- 11
datafn-1 1 1
lem
M\W mm
Ulm
N'MI.6Lv
mm-n
1
Figure 2. Et2codage ert " Dual Rail ".
5P
. -_.'
.
..
i 4!
an'"sl$ I ,
49
La nature des circuits asynchrones permet alors de
construire l'argumentaire
suivant. L'absence d'horloge
permet non seulement de s'affranchir des complexités de
la distribution
de l'horloge, mais aussi de réduire la
consommation du processeur. Cette réduction en courant
se traduit par un lissage de la consommation, ce qui est de
bon augure pour parer aux attaques de type DPA ou CPA.
Par ailleurs les attaques par biais d'horloge ne sont plus
d'actualité. La nature auto-cadencée des circuits asynchrones leur confère aussi une forte tolérance aux fluctuations environnementales : ces circuits présentent une
grande tolérance aux variations en tension ou en température tout en préservant leur fonctionnalité. Finalement
les circuits asynchrones DI garantissent que :
.
Quelle que soit la valeur de la donnée manipulée,
.
poids de Hamming, c'est-à-dire toujours le même
nombre de " 1 ". L'énergie consommée par une donnée
est ainsi toujours la même quelle que soit sa valeur.
La représentation redondante d'une donnée garantit
sa représentation
m
!
sfr9'iP'
Figlire 3. La piice de test Springbatik.
La puce de test Springbank
est détaillée
par ses
concepteurs de l'Université
de Cambridge dans [8].
Elle a été fabriquée en technologie
UMC 0,18pm
CMOS avec six niveaux
de métal. L'architecture
utilisée est très proche de celles utilisées dans les
cartes à puce, c'est-à-dire
un microprocesseur
(coeur
16-bit XAP),
8KB de SRAM,
un multiplieur
de
Montgomery,
une unité de protection mémoire (UPM)
et un bloc d'entrées/sorties, à
la différence près que
cette puce comprend
même coeur XAP :
cinq
versions
différentes
du
machine aura toujours le même
aussi que certains états ne sont pas valides (comme
l'état " 11 " de l'exemple de la Dual Rail). Ces états
peuvent alors servir de détecteurs d'erreurs et ainsi
de contre-mesure contre les attaques par injections
de fautes.
. S-XAP
. BD-XAP
: une version synchrone du XAP
: une version du XAP en technologie
asynchrone BD
OF-XAP
: un XAP en technologie asynchrone DI
avec un encodage 1-sur-4
. DR-XAP
: un XAP asynchrone en technologie
Dual Rail (DR)
. SC-XAP
: un XAP asynchrone en technologie DR
où la génération de l'état d'alarme " 11" sert à détecter
une faute : le processeur est alors mis dans un état
3.1.
Le projet G3Card
bloqué.
C'est dans le but de vérifier ces attributs sécuritaires
des circuits asynchrones que la Commission européenne,
via le programme IST (Information Society Technologies),
a financé sur trois ans le projet G3Card. Ce dernier
regroupait
universitaires
et professionnels
puce d'une part, et ceux de la conception
REE
W 6/7
Juiii/Juillet 2t) 04
de la carte à
asynchrone
Avoir ces 5 processeurs sur une même puce permet de
faire abstraction de considérations " technologiques "' lors
des études comparatives. Dans l'analyse qui suit, nous
nous intéresserons plus particulièrement
à la sécurité du
SC-XAP.
La carte à puce et les circuits
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,
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 configuration où tout mécanisme de protection
niveau de l'UPM) a été désactivé.
5.
Analyse
en sécurité
du XAP
(notamment
différentes valeurs d'Opl, et pour chacune d'elles une
courbe de courant ou EM en fonction du temps d'exécution. 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 obtenons 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
qu'elle
n'est pas manipulée.
au
lors-
l'instant
où
Fuites en courant
La première
l'exécution
observation
faite sur le SC-XAP
d'un même programme
est que
est déterministe,
ce
qui donne des courbes en consommation
de courant
(appelées " courbes en courant " par abus de langage) synchrones, 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 données sur le S-XAP et sur le SC-XAP. Cependant :
asynchrone
. Le
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.
quasi nulle
Par contre, à
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.
les opérandes
asynchrones
de fuite
est moindre
dans le cas du
Ainsi, le SC-XAP en technologie asynchrone DR permet 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
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é
niveau
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.
sur le sujet dans le chapitre sur l'analyse des résultats.
à
chaque exécution de notre programme de test, et dans un
deuxième temps en mesurant le rayonnement électroma-
5.1.2.
Fuites en rayonnements électromagnétiques fFA
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
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-
est alors exécuté, et en même temps la mesure en courant
ou en champ EM est faite : la courbe obtenue est alors
chronisées d'une mesure à l'autre. Cependant, à l'aide de
méthodes de traitement du signal, les courbes en EM
sauvegardée. Nous lisons le triplet de données Op 1 -Op2Res. Cette manipulation est exécutée plusieurs centaines
de fois. Ainsi pour différentes valeurs de Op l et de Op2,
peuvent être parfaitement
nous avons les Res correspondants et les courbes en courant
ou en EM correspondantes.
Nous
appliquons
alors
(Correlation Power Analysis)
la technique
de la CPA
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
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
CARTES À PUCE
m Repères
mc,.,.,., : " rm
Il
Il1 i,,II
l'1;',1. 1 : 1 Il i
11
i I I ,
!,''
I I
I I i
`.
l ",1,,1Î III',
: ",'l'[..1'l'
1
l,
1,.I,i
1
il'1
1
,1,'l'l' "
1 l'
li
i
i
1 1 l'1 1
,,
Figure 4. Faitte eii teiisioii stii- le SC-XAP.
5.2.
Attaques par injections de fautes
Nous utilisons le même programme de test que dans
le cas des attaques par canaux cachés mais cette fois-ci,
à chaque exécution nous injectons une faute pour tenter
de modifier le comportement du processeur. Le but de
cette famille d'attaques est de tenter de corrompre l'exécution d'une instruction (d'où le besoin de synchronisation entre l'injecteur de faute et le programme exécuté)
afin de modifier
la valeur de la donnée manipulée.
lisées n'étaient pas en technologie Dual Rail pour des questions de réduction de taille et de temps de conception.
5.2.2.
Attaques par variations de tension
Cette fois, au lieu d'injecter
un faisceau laser sur la
puce, nous réduisons subitement la tension d'alimentation
(quelques millivolts) à l'instant où le XOR est exécuté, ou
bien lors d'une des opérations de chargement de données dans un registre.
La première
observation
faite est
Ces fautes permettent, par cryptanalyse,
de retrouver
des clefs secrètes par exemple [10]. Lors de nos mani-
qu'après de courtes interruptions
de l'alimentation
(de
l'ordre de la dizaine de ns), le processeur SC-XAP
pulations, nous gérons l'exécution
du programme en
observant les valeurs de Opl, Op2 et Res et en observant l'effet de la faute sur la courbe en consommation
en courant (qui, rappelons-le, est déterministe
même
reprend le cours normal de son programme, sans faute
apparente. Cependant, lorsque la durée d'interruption
est de l'ordre de la centaine de ns, nous observons des
pour le SC-XAP).
52. 1. Injections
de fautes par faisceau laser
Au moment de l'exécution
du XOR ou de l'une des
opérations de chargement de données, nous appliquons
un faisceau laser sur la surface du SC-XAP. D'une exécution à l'autre du même programme, nous modifions le
" lieu " d'injection de la faute jusqu'à ce qu'une faute soit
détectée sur le résultat du XOR. Pour la grande majorité
de la surface du SC-XAP, le faisceau met le processeur
dans un état bloqué, ce qui prouve que le mécanisme antifaute implémenté
fonctionne.
résultats erronés. Dans un des cas, l'injection
" glitch " de tension lors de l'opération
LDOpl
d'un
avait
comme effet de générer un Res qui était systématiquement l'inverse
logique
de l'Op2. Une étude plus
poussée a révélé que cette " longue " coupure de la tension d'alimentation
avait pour effet de toujours charger
la valeur OxFFFF dans le registre contenant Opl. La
figure 4 est la superposition
d'une courbe en courant
pour une exécution normale et d'une courbe en courant
pour une exécution avec variation de la tension d'alimentation.
Une resynchronisation
des deux courbes
(figure 5) permet de voir que l'effet de l'injection de
faute se manifeste précisément au moment de l'opération
LDOPI.
Cependant à des endroits bien précis, comme au dessus
de l'UAL (unité arithmétique et logique) ou du banc de
registres, nous évitons le blocage du processeur et générons des valeurs erronées. Par exemple, une faute injectée
au niveau de l'UAL pendant le XOR produit toujours
6.
Analyse
L'évaluation
et interprétation
des résultats
du processeur SC-XAP
démontre
des
comme résultat du XOR la valeur hexadécimale OXOOO 1et
propriétés très intéressantes en faveur des circuits asynchrones, notamment pour des applications de sécurité. La
ce, quelles que soient les données Opl et Op2. Une postétude avec l'équipe de conception a permis de révéler que
ces fautes sont restées indétectées, car les cellules registres uti-
technologie asynchrone en Dual Rail réduit la fuite d'information en consommation
en courant. Cependant la
fuite n'est pas totalement éliminée. Même si l'encodage
REE
No 6/7
Jiiin/Juillet 2004
La carte à puce et les circuits
asynchrones
Courbe
encourant
iivec g,tctl'en
tension
Courbe
encourant
pour
u!'eune
exeu
!exéunion
!0!i
normaie
Operation
XOR Opération
STROs
Opérabon
LDOpl
r : ", i' "
Figure 5. " Glitch " en tension peiidant LDOPI.
DR prévoit un parfait équilibre en poids de Hamming, la
fuite résiduelle viendrait du fait que le SC-XAP a été
implémenté à l'aide de librairies de cellules standards, et
que le placement routage (P&R) a été optimisé pour améliorer les performances, sans souci de l'équilibrage des
chemins de données. Par exemple si un bit est encodé sur
deux " fils " AO et A 1, l'outil automatique de P&R ne garantit pas que ces deux " fils " ont la même longueur. Une dif-
pouvons juger
ZD de l'efficacité des techniques d'analyses
utilisées, techniques qui ont permis de déceler de telles
tentatives de compromis.
Malgré toutes ces propriétés attrayantes, les circuits
asynchrones (sauf pour l'exemple qui sera cité dans le
paragraphe suivant) ont encore du chemin à faire avant
de s'affirmer dans le monde de la conception industriel-
férence de longueur entre AO et Al se traduit alors par une
différence en consommation entre un " 1" logique et un " 0 "
le, dû principalement
au manque d'outils adéquats.
Comme nous l'avons déjà vu, sans outil dédié, nous ne
logique, ce qui nous ramène au problème de la DPA/CPA.
pouvons pas tirer le maximum
Les mêmes raisons pourraient être évoquées pour justifier la fuite d'information
en rayonnement EM du SCXAP. Ajouté à cela, le processeur SC-XAP se trouve être
des propriétés des circuits
asynchrones. Certains groupes de recherche travaillent
activement
sur cet aspect de développement
d'outils
pour circuits asynchrones sécurisés, en sachant qu'il y
encore toute l'éducation préalable à faire, notamment
1,5 fois plus grand que le S-XAP, ce qui fait que, à opération similaire, le SC-AP a un plus grand nombre de
transistors actifs que le S-XAP et donc une plus grande
surface de rayonnement. L'absence de l'horloge contri-
auprès de ces milliers de concepteurs habitués à créer
des circuits qui fonctionnent
à l'aide d'horloges. Par
bue, selon nous, à rendre le rayonnement
synthèse de circuits asynchrones appelé BALSA [11].
Cet outil permet de générer soit des systèmes en tech-
EM du SC-XAP
plus significatif et encore mieux exploitable. Ces observations prouvent que pour accroître la sécurité de cette
technologie, d'autres techniques devront être développées, techniques pouvant aller de l'injection
de fines
variations aléatoires sur les différents blocs des circuits
asynchrones à la réalisation
bloquer le rayonnement EM.
de boucliers
dédiés pour
exemple, à l'Université de Manchester, le groupe APT
(Advanced Processor Technology)
développe un outil de
nologie
BD, soit des systèmes en technologie
DI. Plus
près de chez nous, le groupe CIS (Concurrent
Integrated Systems)
du TIMA travaille sur un outil propriétaire appelé TAST [12]. L'équipe CIS du TIMA
a
aussi le mérite d'avoir développé une carte à puce sans
contact basse consommation
appelée MICA [13] qui
intègre un cceur asynchrone.
Concernant la résistance aux fautes, nous avons
démontré une tolérance aux courtes variations en tension
d'alimentation et le blocage du circuit pour les parties où
la logique redondante était convenablement implémentée.
Cependant, les fautes injectées sur les bancs de registre
(notamment avec le faisceau laser) prouvent qu'aucune
partie d'un processeur dit sécurisé ne doit être laissée
pour compte, et que malheureusement aucun compromis
ne peut être trouvé. De plus, à travers ces résultats, nous
7.
Utilisation
les cartes
des circuits
asynchrones
dans
à puce
Jusqu'à présent, nous avons évoqué l'utilisation
des
circuits asynchrones dans les cartes à puce d'un point
de vue de la sécurité. Cependant les premières cartes
comportant des processeurs asynchrones ont tiré avantage
d'une autre propriété importante de ces circuits qui est
REE
W 6/7
Juin/Juillet
2004
CARTES À
.
PUCE
RePères)
leur
faible
sentent
autre
consommation.
un circuit
que de l'asynchrone
tel circuit
à puce
réduit
BD
est particulièrement
sans contact,
sont encore
[14],
pré-
pour
Un
de consommations
[9]
d'horloge
EM
[10]
P. Cunningham,
R. Mullins, and G.
Asynchronous Circuits and Systems ASYNC'02, vol. JEEE,
pp. 23--58, 2002.
E. Brier, C. Clavier, and F. Olivier, Optimal Statistical Povver
E. Biham and A. Shamir, Differential fault analysis
key cryptosystems,
Proceedings
Advances in Cryptology Conference
Conclusion
[11]
Le concept
R. Anderson,
Analysis, Cryptology ePnnt Archive, http//eprintiacr.org/,
vol Report 2003, no, 152, 2003
de cette
[151.
S. Moore,
Taylor, Improving smart card security using sef-t ! med circuits, Proceedings of Bth IEEE International Symposium
on
les cartes
et où l'absence
de rayonnement
181
qui n'est
basse consommation.
où les limites
en matière
les auteurs
TANGRAM,
attrayant
plus contraignantes,
le bruit
dernière
8.
Dans
en technologie
des circuits
asynchrones
est ne en même
of secret
17th International
- CRYPTO'97, vol.
LNCS, no. 1294, pp-51 3--525, 1997.
D. Edwards and A. Bardsley, Balsa : An asynchronous hardware synthesis language, The Computer Journal, voi. 45,
no. 1, pp. 12--18, ISSN 0010-4620.
temps que l'ère informatique,
mais il a très vite été mis de
côté au bénéfice
des circuits
à horloge
beaucoup
plus
[12]
TI MA-Concurrent Integrated
simples à implémenter
et à contrôler.
La " technique asynchrone " a survécu à travers des morceaux
de super ordi-
[13]
//tima.imag.fr/cis/
A. Abrial, J. Bouvier, M. Renaudin, P. Senn, and P. Vivet, A
new contactless smart-card ic using on-chip antenna and
nateurs
comme
plexité
croissante
ceux
due
d'horloge,
le besoin
basse consommation
technologie
ment pour
puce.
de chez
SUN.
Aujourd'hui
à la synchronisation
de circuits
performants,
sont des facteurs
qui
asynchrone
sur le devant
des applications
comme
C'est
en faisant
appel
la comdes arbres
de la scène, notamcelle de la carte à
à toutes
[14]
sûrs et de
ramènent
la
lips.com/markets/identification/products/smartmx
Remerciements
Les
[1]
J.-J.
Fournier, S. Moore,
H. Li, R. Mullins, and G. Taylor,
Security evaluation of asynchronous circuits, Proceedings
of CHES'2003, vol.
LNCS, no. 2779, pp. 137--151, 2003.
[2]
R. Anderson and M. Kuhn, Tamper résistance - a cautionary
note, Second USENIX Workshop on electronic commerce,
[3]
pp. 1 --Il, Nov. 1996.
P. Kocher, J. Jaffe, and B. Jun, Differential Power Analysis,
[4]
Proceedings
of the 19th International Advances in
Cryptology Conference CRYPTO'99, pp. 388--397, 1999
K. Gandolfi, C. Mourtel, and F. Olivier, Electromagnetic ana-
[51
[61
Iyis : Concrete results, Proceedings of the Workshop
on
Cryptographic Hardware
and Embedded Systmes (CHES
2001), vol. LNCS 2162, pp. 251--261, 2001.
J.-J. Quisquater and D. Samyde, Electromagnetic analysis
(EMAI : Measures and coutermeasures
for smart cards,
Smart Card Programming
and Security, vol. LNCS, no.
2140, pp. 200--210, 2001.
D. Muller and W. Bartky, A theory of asynchronous
Proceedings of an International Symposium
of Switching, vol. Harvard University Press,
(71
April 1959.
S. Piestrak
and T. Nanya, Towards
totally
circuits,
on the Theory
pp. 204--243,
self-checking
delay-insensitive systems, Twenty-fifth international symposium on fault-tolerant computlng,
pp. 228-237, June 1995.
REE
W 6/7
Jiiin/Juillet 2004
http
asynchronous
microcontroller, Journal of Solid-State
Circuits, vol. 36, pp. 11 01--l 107, 2001
J. Kessels, T. Kramer, G. den Besten, A. Peeters, and V.
Timm, Applying asynchronous circuits in contactless smart
cards, Proceedings of Sixth International Symposium
on
Advanced
Research in Asynchronous Circuits
and
XAP
Références
group,
Systems, pp. 36--44, April 2000.
[151 Philips Semlconductors,
http//www.semiconductorsphi-
les technologies
informatiques
diverses
et variées
que la carte à puce
illustre
son vaste champ d'applications.
Décidément,
la
" petite " carte à puce n'a pas fini de nous étonner.
Systems
travaux
ont
été
effectués
financés
dans le cadre du projet
tenons
à remercier
Technologies
par
asynchrone
la Commission
européenne
G3Card
(IST-1999-13515).
les chercheurs
de la Sécurité
Christophe
Mourtel.
conception
du Laboratoire
Group)
Mullins
sur le processeur
Nous
de Gemplus,
remercions
Et
e
u
l'équipe
de
(le Rainbow
notamment
r
des
en particulier
aussi
d'Informatique
de l'Université
de Cambridge,
et George Taylor.
EB
Nous
du Département
Robert
s
Jacques Fournier est ingénieur-chercheurchez Gemplus, leader
mondial de la carte à puce. Mr Fournier est expert en sécurité et
cryptographie, avec comme centre d'intérêt la conception de circuits intégrés sécurisés pour la cryptographie embarquée. Mr
Fournier prépare aussi un doctorat d'informatique à l'Université
de Cambridge.
Dr Simon Moore est maître de conférence à l'Université de
Cambridge. Il appartient au Laboratoire Informatique où il fait de
la recherche dans le domaine de la conception de processeurs
(circuits asynchrones, processeurs cryptographiques sécurlsés...I,
en particulier pour les applications embarquées.
Téléchargement