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.