1. La s´curit´ des cartes ` microprocesseur e e a[Published in Revue de l’Electricit´ et de l’Electronique (REE), n◦ 5, pp. 60–65, ´ e ´ Mai 2001.] Christophe Bidan1 and Pierre Girard2 1 Sup´lec, Equipe SSIR e BP 28, 35511 Cesson-S´vign´ Cedex e e Christophe.Bidan@supelec.fr 2 Gemplus, Security Technology Department B.P. 100, 13881 G´menos Cedex, France e Pierre.Girard@gemplus.com R´sum´ La technologie des cartes a microprocesseur est de plus en plus e e ` utilis´e dans des applications qui exigent un haut niveau de s´curit´, et e e e est en phase de devenir l’outil indispensable pour “s´curiser” les ´changes e e Internet. Cependant, au vu des r´cents ´v´nements m´diatiques, il nous e e e e semble essentiel de faire une synth`se de la s´curit´ des cartes ` micro- e e e a processeur. Dans cet article, nous classifions les risques de s´curit´, puis e e nous pr´sentons les diff´rentes attaques pouvant ˆtre r´alis´es sur les e e e e e cartes ` microprocesseur, ainsi que les contre-mesures possibles. a1 Introduction L’utilisation des cartes ` microprocesseur s’est aujourd’hui tr`s largement a ed´mocratis´e, la carte ` microprocesseur devenant un objet commun et indispen- e e asable dans de nombreux pays et pour diverses applications. De mani`re g´n´rale, e e ela technologie des cartes ` microprocesseur peut ˆtre utilis´e d`s lors que l’appli- a e e ecation a des exigences en terme de s´curit´, ` l’image des applications bancaires e e aou encore de la t´l´phonie mobile (GSM). ee Paradoxalement, du point de vue de la s´curit´, la carte ` microprocesseur e e aest ` la fois consid´r´e comme le garant de la s´curit´ de l’application par les a e e e ed´veloppeurs, et comme son talon d’Achille par les attaquants du syst`me. La e eraison est que, g´n´ralement, les m´canismes garantissant la s´curit´ de l’ap- e e e e eplication s’appuient sur les fonctionnalit´s de la carte ` microprocesseur : une e afaille au niveau de la carte se traduit alors souvent par une faille au niveau del’application. Les d´veloppeurs, mais aussi les utilisateurs, sont ainsi en droit de ese poser la question de la r´elle s´curit´ des cartes a microprocesseur, d’autant e e e `que cette technologie a longtemps ´t´ pr´sent´e comme la seule pouvant assurer ee e eun haut niveau de s´curit´. e e L’objectif de cet article est de faire une synth`se de la s´curit´ des cartes e e ea` microprocesseur. Pour cela, nous commen¸ons par d´crire l’architecture des c ecartes ` microprocesseur. Nous introduisons ensuite les risques de s´curit´, en a e eexplicitant les motivations des attaquants potentiels, leur cible au niveau de http://krimo666.mylivepage.com/
2. 2 Christophe Bidan and Pierre Girardla carte, et les moyens qui peuvent ˆtre mis en œuvre pour y parvenir. Nous epr´sentons alors les di ´rentes attaques pouvant ˆtre e ectu´es sur les cartes ` e e e e amicroprocesseur, en distinguant celles d´truisant la carte, de celles pouvant se efaire a l’insu du porteur de la carte. Nous proposons ensuite des contre-mesures `a` ces attaques, en insistant en particulier sur le contexte d’utilisation des cartesa` microprocesseur. Finalement, nous concluons cet article en pr´cisant la r´elle e eport´e des attaques pr´c´dentes, et en discutant de l’avenir de la technologie des e e ecartes ` microprocesseur. a2 Cartes ` microprocesseur a Nous rappelons bri`vement l’architecture des cartes a microprocesseur. En- e `suite, nous pr´cisons les di ´rents acteurs engag´s dans la conception, le d´velop- e e e epement, et jusqu’` l’utilisation des cartes a microprocesseur. Finalement, chaque a `acteur pouvant ˆtre consid´r´ comme un potentiel attaquant, nous discutons e e ebri`vement des relations de confiance entre ces acteurs. e2.1 Architecture des cartes ` microprocesseur a Les cartes ` microprocesseur, comme leur nom l’indique, poss`dent un micro- a eprocesseur et un syst`me d’exploitation permettant d’ex´cuter des suites d’ins- e etructions. Plus pr´cis´ment, les cartes ` microprocesseur poss`dent toutes les e e a ecaract´ristiques des micro-ordinateurs, a savoir : e ` – un processeur, – de la m´moire ROM, RAM et EEPROM. e Ainsi, les cartes ` microprocesseur peuvent ˆtre programm´es afin d’ex´cuter a e e edes tˆches sp´cifiques ` une application donn´e. a e a e Jusque r´cemment, les cartes ` microprocesseur ´taient mono-applicatives, e a eet donc d´di´es ` un usage sp´cifi´ lors de leur d´veloppement. Les nouvelles e e a e e eg´n´rations de cartes sont multi-applicatives ou g´n´riques, et vont permettre ` e e e e aplusieurs applications de coexister au sein de la mˆme carte. e2.2 Acteurs de la vie des cartes ` microprocesseur a Les applications ` base de cartes ` microprocesseur ont en commun les entit´s a a eintervenant dans le cycle de vie des cartes a microprocesseur. Du point de vue `de la s´curit´, chacune de ces entit´s, ou acteurs, doit ˆtre consid´r´e comme un e e e e e e´ventuel attaquant.e Au cours de la vie d’une carte a microprocesseur, nous identifions les acteurs `suivants : – L’encarteur qui fabrique la carte et con¸oit le logiciel disponible en m´moi- c e re morte (ou ROM) sur le composant (syst`me d’exploitation, machine e virtuelle etc.). – L’´metteur qui propose des cartes aux utilisateurs. Il reste g´n´ralement e e e le propri´taire l´gal des cartes distribu´es. e e e http://krimo666.mylivepage.com/
3. La s´curit´ des cartes ` microprocesseur e e a 3 – Le fournisseur d’application qui n´gocie, avec l’´metteur, l’utilisation d’une e e partie de l’espace m´moire de ses cartes pour y loger une ou plusieurs e applications. – L’utilisateur qui re¸oit la carte et qui l’utilisera dans le cadre d’une ou c plusieurs applications. – L’op´rateur qui dialogue avec la carte et sert de m´diateur entre une ap- e e plication et un fournisseur d’application. Un acteur majeur n’a pas ´t´ cit´ pr´c´demment : il s’agit de l’attaquant. ee e e eDe mani`re g´n´rale, l’attaquant est une entit´ quelconque, y compris l’une des e e e eentit´s pr´c´dentes. e e e2.3 Relations de confiance entre les acteurs Chaque entit´ ayant des int´rˆts di ´rents, les acteurs ne se font pas syst´- e e e e ematiquement confiance. Ainsi, l’´metteur d’une carte a microprocesseur ne fait e `pas, a priori, confiance ` l’utilisateur et aux fournisseurs d’applications, ceux-ci apouvant avoir int´rˆt ` se montrer hostile envers lui. De mani`re similaire, un e e a efournisseur d’application ne fait pas confiance a l’utilisateur, et encore moins `aux autres fournisseurs d’applications avec lesquels il n’a pas de lien particulieret avec lesquels il peut ˆtre en concurrence. e A contrario, des relations de confiance entre certaines entit´s sont in´vitables. e eAinsi, l’´metteur doit faire confiance ` l’encarteur qui fournit les cartes ` micro- e a aprocesseur. Ou encore, un fournisseur d’application ne peut que faire confiancea` l’encarteur et ` l’´metteur car, une fois charg´e, il ne dispose d’aucun contrˆle a e e osur l’environnement de son application. Certaines des relations de confiance peuvent ˆtre consolid´es par l’interm´di- e e eaire de m´canismes logiques, physiques ou organisationnels. Par exemple, l’´met- e eteur peut exiger de valider le code des applications devant ˆtre charg´es, cette e evalidation prenant la forme d’une signature digitale v´rifi´e lors du chargement. e eOu encore, un ´metteur (resp. un fournisseur d’application) peut ´ventuellement e es’appuyer sur des audits ou des certifications (ITSEC, crit`res communs, etc.) epour fonder la confiance qu’il a en l’encarteur (resp. l’´metteur et l’encarteur). e3 Les risques De mani`re g´n´rale, la mise en place de m´canismes de s´curit´ doit ˆtre e e e e e e epr´c´d´e par une ´valuation des risques de s´curit´. En particulier, il est essentiel e e e e e ede savoir contre qui et contre quoi il faut se prot´ger. e Dans cette section, nous nous int´ressons aux risques de s´curit´ des cartes e e ea` microprocesseur. Nous commen¸ons par introduire les motivations guidant les cattaquants, puis nous pr´sentons les cibles vis´es. Enfin, nous proposons d’autres e ecrit`res pouvant ˆtre utilis´s pour classifier les risques de s´curit´ des cartes ` e e e e e amicroprocesseur. http://krimo666.mylivepage.com/
4. 4 Christophe Bidan and Pierre Girard3.1 Motivations Les risques de s´curit´ peuvent ˆtre class´s en fonction des motivations gui- e e e edant l’attaquant. De mani`re g´n´rale, les motivations d’un attaquant d’une e e ecarte ` microprocesseur sont du mˆme style que celles guidant un attaquant a ed’un syst`me informatique quelconque. Sch´matiquement, nous pouvons classer e eces motivations en cinq cat´gories : e – le gain financier, – l’obtention de donn´es, e – l’usurpation d’identit´,e – le vandalisme, – la notori´t´. ee Le gain financier peut ˆtre direct ou indirect. Par exemple, dans le cas d’un eporte-monnaie ´lectronique, l’attaquant va chercher a cr´diter ou a bloquer les e ` e `op´ration de d´bits sur son porte-monnaie (gain financier direct). En revanche, e edans le cas des cartes t´l´phoniques, des cartes de t´l´vision ` p´age ou des ee ee a ecartes d’acc`s ` un service en ligne de type WWW, il s’agit, pour l’attaquant, e ad’obtenir l’acc`s gratuit ` un service (gain financier indirect). e a L’objectif vis´ par l’obtention de donn´es est l’atteinte ` la vie priv´e ou e e a el’acc`s ` des informations sensibles de type commercial ou militaire. Ainsi, dans e ale cas d’une carte sant´, les informations m´dicales contenues dans la carte e epeuvent ˆtre utilis´es ` mauvais escient par l’attaquant (e.g., divulgation des e e ainformations). De mani`re g´n´rale, l’usurpation d’identit´ permet d’acc´der frauduleuse- e e e e ement a un emplacement physique ou a un syst`me. Au del` du simple acc`s, ` ` e a el’attaquant va ´galement pouvoir e ectuer toutes les op´rations que l’utilisateur e el´gitime est autoris´ ` faire. e ea L’objectif du vandalisme est de d´truire des ´l´ments du syst`me ou d’aboutir e ee ea` un d´ni de service. Accessoirement, le r´sultat attendu est souvent une contre- e epublicit´ pour le syst`me ou le service. e e Finalement, la motivation guidant les attaquants peut simplement ˆtre la ereconnaissance et/ou la m´diatisation. e3.2 Cible des attaques Nous nous concentrons maintenant sur les di ´rentes cibles d’une attaque evisant les cartes ` microprocesseur. Nous identifions les attaques suivantes : a – la lecture ou la modification du code ex´cutable ; e – la lecture ou la modification des donn´es ; e – la lecture ou la modification des secrets ; – la modification du comportement de la carte (par un autre moyen que la modification du code ex´cutable). e Notons que la distinction entre donn´es et secrets est arbitraire, mais permet ede souligner la di ´rence entre les informations applicatives (qui sont accessibles ehors de la carte sous certaines conditions) et les cl´s et codes secrets qui ne edoivent jamais ˆtre accessibles en dehors de la carte. e http://krimo666.mylivepage.com/
5. La s´curit´ des cartes ` microprocesseur e e a 5 La lecture du code permet d’obtenir certains algorithmes secrets. La modifi-cation de code est une cible fr´quente qui, si elle est atteinte permet de prendre ele contrˆle de la carte, de ses donn´es, de ses secrets et de son comportement. o e Le but de la lecture de donn´es ou de secrets est ´vident. Celui de la modi- e efication d’information aussi. La modification des secrets est moins courante, mais peut servir dans cer-taines attaques de type DFA (Di erential Fault Analysis, voir § 4.1.2.).3.3 Autres classifications Les risques de s´curit´ peuvent ´galement ˆtre di ´renci´es suivant la pr´pa- e e e e e e eration de l’attaque et son ex´cution, le temps et les moyens n´cessaires dans e echaque phase (moyens de calcul, kit de d´veloppement, cartes modifi´es, cartes e eclon´es . . .). Ainsi, une classification propos´e par IBM [1] prend en compte le e eniveau requis pour mettre en œuvre les attaques : attaquant sans ´quipement ni einformation particuli`re sur le syst`me vis´ (clever outsider ), attaquant ´quip´ e e e e eet inform´ (knowledgeable insider ) et enfin organisation disposant d’´quipes e esp´cialis´es, de moyens consid´rables et bien inform´e (funded organisations). e e e eNotons qu’une telle classification est proche de celle pr´conis´e par les Crit`res e e eCommuns. Plus g´n´ralement, il est possible de classer les attaques en fonction de l’ap- e eplication dans laquelle est utilis´e la carte ` microprocesseur (porte-monnaie e a´lectronique, carte bancaire, . . .), et en tenant compte du propri´taire des infor-e emations [6].4 Attaques sur les cartes ` microprocesseur a Nous pr´sentons maintenant les attaques pouvant ˆtre r´alis´es sur les cartes e e e ea` microprocesseur. Nous commen¸ons par nous int´resser aux attaques physiques c equi exploitent certaines caract´ristiques physiques des cartes ` microprocesseur, e apuis les attaques logiques qui s’appuient sur des failles logicielles.4.1 Les attaques physiques Les attaques physiques reposent sur l’observation ou la modification du sup-port d’ex´cution des programmes, c’est-`-dire sur le microprocesseur et ses cinq e aconnexions externes (masse, alimentation, horloge, port de communication s´rie eet remise ` z´ro). a eLes attaques invasives Les attaques invasives [4] supposent l’acc`s aux compo- esants ´l´mentaires et aux bus internes du microprocesseur afin de lire/´crire/e a- ee ecer des donn´es ou mˆme de modifier sa structure. Il en r´sulte que la carte ` e e e amicroprocesseur attaqu´e est g´n´ralement d´truite et inutilisable. e e e e Les attaques invasives supposent l’utilisation d’´quipements rares et coˆ teux, e utel qu’un FIB (Focus Ion Beam), et habituellement destin´s ` faire de la mise au e a http://krimo666.mylivepage.com/
6. 6 Christophe Bidan and Pierre Girardpoint ou du test de composants chez les fondeurs. Pr´cisons que l’utilisation de etels ´quipements requi`re un niveau de connaissance et de comp´tence/pratique e e e´lev´. De ce fait, le risque li´ aux attaques invasives est souvent consid´r´ commee e e e epeu ´lev´. e e N´anmoins, dans la mesure o` certains de ces ´quipements sont en libre e u eservice dans certaines universit´s, et o` leur prix exorbitant est a comparer avec e u `le gain engendr´, il est essentiel de tenir compte de ce type d’attaques afin de elimiter le risque encouru si une carte ` microprocesseur est attaqu´e. a eLes attaques non-invasives En opposition avec les attaques invasives, lesattaques non-invasives ne n´cessitent pas de d´truire la carte ` microprocesseur e e acible. Ainsi, certaines attaques non-invasives peuvent ˆtre r´alis´es au d´triment e e e edu porteur de la carte. De ce fait, les risques li´s aux attaques non-invasives sont eg´n´ralement consid´r´s comme r´els. e e e e e Parmi les attaques non-invasives, nous distinguons les attaques bas´es sur el’observation de l’environnement de la carte de celles bas´es sur sa perturbation. e L’observation consiste essentiellement a d´tecter et exploiter des canaux ` ecach´s pouvant laisser passer de l’information sur l’´tat interne de la carte, e eet en particulier, pour acqu´rir de l’information sur les secrets contenus dans ela carte. Actuellement, ce sont essentiellement les canaux cach´ temporels [3] eou l’analyse du signal de tension d’alimentation qui sont exploit´s (attaques de etype SPA (Simple Power Attack ) ou DPA (Di erential Power Attack ) [5]). Il est´galement fort probable que le rayonnement ´lectromagn´tique provoqu´ par lee e e efonctionnement du microprocesseur constitue une source d’information. La perturbation des entr´es/sorties o re de nombreuses possibilit´s d’at- e etaques. En appliquant des valeurs hors normes de fa¸on continue ou transitoire, cil est possible de perturber le microprocesseur et de modifier s´lectivement une epartie de la RAM, des registres ou bien de provoquer un d´codage erron´ d’une e einstruction. La plupart du temps, ce genre d’exp´rience n’aboutit a rien d’exploi- e `table, mais, en syst´matisant les essais, il est possible de d´couvrir des compor- e etements hautement int´ressants. Il peut s’agir, par exemple, de la transmission ede donn´es apr`s la limite du bu er d’entr´es/sorties (donc potentiellement de e e esecrets), ou de la modification en RAM de droits d’acc`s permettant ensuite ed’acc´der a des informations prot´g´es. e ` e e Enfin, les attaques de type DFA consistent ` induire des fautes lors de la amanipulation de secrets (par exemple, lors d’une signature RSA) et a compa- `rer les di ´rents r´sultats produits. Elles peuvent permettre de remonter, tr`s e e erapidement, aux secrets manipul´s [2]. Leur mise en pratique reste ` d´montrer e a eet pourrait s’appuyer sur des techniques du paragraphe pr´c´dent ou sur des e eirradiations (photons ou autres particules). Les attaques DFA, comme les pr´c´dentes, peuvent ˆtre e ectu´es dans un e e e ecadre invasif ou combin´es avec des attaques invasives, ce qui accroˆt alors leurs ecapacit´s. e4.2 Les attaques logiques Les attaques logiques visent le logiciel embarqu´ dans les cartes ` micropro- e acesseur. Ils s’agit souvent d’exploiter des erreurs de conception ou de codage qui http://krimo666.mylivepage.com/
7. La s´curit´ des cartes ` microprocesseur e e a 7permettent a l’attaquant de contourner certains m´canismes de protection, ou de ` ed´tourner l’utilisation de certaines fonctionnalit´s de la carte ` microprocesseur. e e aSignalons que les attaques logiques peuvent ´ventuellement ˆtre combin´es avec e e edes techniques d´crites dans les sections pr´c´dentes. e e eCartes mono-applicatives Dans le cas des cartes mono-applicatives, l’atta-quant est soit le d´veloppeur du logiciel embarqu´ (e.g., l’´metteur de la carte), e e esoit une entit´ ext´rieure qui va essayer d’exploiter les failles de s´curit´ existant e e e edans le logiciel embarqu´. e Dans le premier cas, l’attaquant a une parfaite connaissance du code, et amˆme eu le loisir d’int´grer volontairement une chausse-trappe (trapdoor ) dans e ele logiciel embarqu´. Bien que ce risque soit r´el, nous pouvons raisonnablement e econsid´rer ce type d’attaque comme marginale. En e et, la d´couverte d’une e etelle chausse-trappe aurait pour cons´quence de d´finitivement d´cr´dibiliser le e e e ed´veloppeur, et ainsi, l’empˆcher de nuire par la suite. e e Dans le second cas, l’attaquant n’a pas n´cessairement une bonne connais- esance du code, mais a pu, par utilisation ou reverse-engineering d´duire des einformations sur le comportement de la carte. Il va alors essayer d’exploiter lesinformations acquises afin de trouver une faille se traduisant soit par la possibilit´ede contourner les m´canismes de protection de la carte, soit par le d´tournement e ede l’utilisation de fonctionnalit´s de la carte. e A titre d’exemple, consid´rons une carte ` microprocesseur utilis´e comme e a eporte-monnaie ´lectronique. L’objectif d’un attaquant est soit d’inhiber l’op´ra- e etion de d´bit, soit de pouvoir cr´diter ill´galement son porte-monnaie. L’op´ra- e e e etion de d´bit peut ˆtre inhib´e si, par exemple, la carte renvoie un acquittement e e eavant d’e ectuer le d´bit au sein de la carte : en arrachant la carte au moment eopportun, le d´bit sera valid´ en externe, mais ne sera pas e ectu´ en v´rit´. e e e e e Un attaquant peut ˆtre a mˆme de cr´diter son porte-monnaie ´lectronique e ` e e esi, par exemple, l’op´ration de cr´dit peut ˆtre, d’une mani`re ou d’une autre, re- e e e ejou´e. C’est le cas lorsque les informations contenues dans le message de cr´dit ne e esont pas su santes pour garantir la fraˆcheur (freshness property) du message(pas de date, compteur pas assez large...).Cartes multi-applicatives Les cartes multi-applicatives se caract´risent par ela coexistence de plusieurs applications au sein des cartes, et par la possibilit´ de echarger de nouvelles applications tout au long du cycle de vie des cartes. Ainsi,les cartes multi-applicatives se rapprochent des ordinateurs traditionnels. A cetitre, elles sont sujettes aux mˆmes failles de s´curit´, en particulier, les chevaux e e ede Troie. Plus pr´cis´ment compte tenu des di ´rents acteurs, quatre types de failles e e ede s´curit´ peuvent ˆtre identifi´s pour les cartes multi-applicatives : e e e e – Les failles de s´curit´ externes aux cartes permettant ` l’attaquant de e e a charger du code malintentionn´ et/ou d’interagir sur du logiciel embarqu´. e e – Les failles de s´curit´ au niveau de la plate-forme : celles-ci recouvrent les e e probl`mes de cloisonnement des applications, de la correction de la plate- e http://krimo666.mylivepage.com/
8. 8 Christophe Bidan and Pierre Girard forme (ce qui peut ˆtre vu comme la s´curit´, au sens classique, du syst`me e e e e d’exploitation), ainsi que de la qualit´ des services de s´curit´ rendus par e e e la plate-forme (chi rement, r´sistance aux attaques physiques). e – Les failles de s´curit´ applicatives : celles-ci exploitent g´n´ralement des e e e e failles de s´curit´ au niveau de la plate-forme, et d´pendent principalement e e e de la bonne conception et du bon codage de l’application. – Les failles de s´curit´ li´es au partage des objets dans les cartes multi- e e e applicatives. Ainsi, outre la possibilit´ d’attaquer chaque application (vue comme du logi- eciel embarqu´), y compris le syst`me d’exploitation, l’attaquant a la possibilit´ e e ed’exploiter des failles de s´curit´ externes ` la carte, et d’interagir avec plusieurs e e aapplications simultan´ment, et ainsi contourner des m´canismes de s´curit´, ou e e e ed´tourner l’utilisation de fonctionnalit´s. e e En outre, contrairement aux cartes mono-applicatives, nous pensons quele risque qu’un fournisseur d’application int`gre volontairement une chausse- etrappe ou un cheval de Troie ne peut ˆtre n´glig´ dans le cas des cartes multi- e e eapplicatives. En e et, une fois le logiciel malicieux au sein d’une carte, il pourrar´aliser une attaque sans ˆtre d´tect´, ou sans ˆtre suspect´. e e e e e e A titre d’exemple, consid´rons une Java Card. Il est par exemple possible ed’exploiter des fautes dans le v´rificateur de bytecode (faille externe), dans l’in- eterpr´teur (faille au niveau de la plate-forme), dans la gestion de la m´moire e e(faille li´e au partage d’objets ou au cloisonnement des applets), etc. e5 Contre-mesures La section sur les attaques pourrait laisser penser que la s´curit´ des cartes ` e e amicroprocesseur est finalement tr`s faible. En fait, comme dans n’importe quel edomaine de la s´curit´, on assiste ` une course sans fin entre le d´veloppement e e a ede nouvelles attaques et des contre-mesures associ´es. e5.1 Attaques physiquesAttaques invasives Les composants sont constamment perfectionn´s en terme ede s´curit´, mais les contre-mesures les plus courantes sont les suivantes : e e – D´tecteur d’attaques invasives : ce type de capteur couvre toute la sur- e face du composant et sera n´cessairement endommag´ lors d’une attaque e e invasive. Lors de la mise sous-tension suivante, la carte d´tectera qu’une e attaque a eu lieu et se bloquera d´finitivement. e – Chi rement interne : toutes les m´moires du composant sont chi r´es. Les e e donn´es sont ´galement chi r´es dynamiquement lors de leur passage sur e e e les bus internes. – Brouillage de la conception : les m´moires, les bus, et d’autres ´l´ments e ee ne sont pas dispos´s suivant les r`gles de conception classique des circuits e e int´gr´s. Par exemple, les cellules m´moires d’adresses successives ne sont e e e pas physiquement voisines, mais dispers´es dans un ordre al´atoire. e e http://krimo666.mylivepage.com/
9. La s´curit´ des cartes ` microprocesseur e e a 9 – Technologie de fabrication avanc´e : les circuits sont r´alis´s avec une e e e int´gration tr`s pouss´e (taille des d´tails inf´rieure ` un micron et de e e e e e a nombreuses couches de m´tal). eAttaques non-invasives Les attaques de type SPA et DPA sont maintenantbien maˆtris´es par l’introduction d’impl´mentations sp´cifiques d’algorithmes de e e echi rement. En particulier, l’introduction d’al´as dans les donn´es en cours de e echi rement ainsi que dans les param`tres de l’algorithme (par exemple les S-box edu DES) permet de contrer e cacement ces attaques. Par ailleurs, l’introduc-tion de d´lais al´atoires permet de r´duire encore les possibilit´s de traitement e e e estatistique des signaux de consommation de courant. En ce qui concerne l’induction de fautes, la parade consiste essentiellement ` aintroduire des tests interm´diaires et des v´rifications d’int´grit´, afin de s’assurer e e e equ’une attaque n’est pas en train d’ˆtre men´e. e e5.2 Attaques logiquesCartes mono-applicatives Outre les contrˆles d’int´grit´ des donn´es et du o e e ecode, de nombreux m´canismes de s´curit´ sont fournis par le syst`me d’exploi- e e e etation. Ils d´pendent bien souvent de la carte et, plus g´n´ralement, de l’appli- e e ecation, mais l’on retrouve g´n´ralement les suivants : e e – Authentification : l’utilisateur peut ˆtre authentifi´ ` l’aide d’un code secret e ea ou d’un protocole de type challenge-response. – Contrˆle d’acc`s : le syst`me d’exploitation g`re g´n´ralement un syst`me o e e e e e e de fichiers et fait respecter les droits d’acc`s ` ces fichiers par les utilisateurs e a authentifi´s. e – Transaction : les op´rations critiques sont g´n´ralement e ectu´es sous le e e e e contrˆle d’un m´canisme de transaction qui permet de restaurer un ´tat o e e stable si la carte est interrompue au cours d’une op´ration (par exemple e suite ` l’arrachement de la carte du lecteur). a – Chi rement et int´grit´ des communications : les ´changes sur le lien s´rie e e e e de la carte peuvent ˆtre chi r´s ou sign´s, apr`s une phase d’authentifica- e e e e tion et de d´rivation de cl´ de session. On prot`ge ainsi la confidentialit´ e e e e et l’int´grit´ des donn´es, tout en ´vitant leur rejeu. e e e eCartes multi-applicatives Ces cartes disposent bien sˆ r, des mˆmes m´canis- u e emes de protection que les cartes mono-applicatives, mais n´cessitent des mesures esuppl´mentaires li´es ` leur aspect ouvert et multi-applicatif. e e a En ce qui concerne le chargement d’applications au cours de la vie de la carte,le standard OP de VISA [7] s’impose. Il permet de contrˆler la provenance et ol’int´grit´ des applets charg´es. Il int`gre aussi la notion de d´l´gation d’un droit e e e e eede chargement par l’´metteur de la carte ` un fournisseur d’application. e a Enfin, des cartes telles que les cartes Java int`grent un m´canisme (appel´ im- e e eproprement rewall ) qui op`re lors de chaque acc`s m´moire a l’ex´cution et qui e e e ` eimpose une stricte s´paration entre les espaces m´moire des di ´rentes applets e e e http://krimo666.mylivepage.com/
10. 10 Christophe Bidan and Pierre Girardpr´sentes sur la carte. Ce m´canisme permet d’´viter qu’une applet agressive e e eendommage le syst`me ou une autre applet. Il est en th´orie redondant avec le e ev´rificateur de bytecode par lequel toute applet doit passer, mais il procure une edeuxi`me ligne de d´fense si une applet ne passe pas par le v´rificateur. e e e6 Conclusion Dans cet article nous avons montr´ que, avec des motivations vari´es, de e enombreuses attaques peuvent menacer les cartes ` microprocesseur. Cependant ales m´canismes de s´curit´ embarqu´s sont de plus en plus efficaces et permettent e e e eactuellement de faire de la carte l’un des moyens de traitement de donn´es por- etables le plus s´curis´ actuellement disponible. e e Enfin, n’oublions pas que la s´curit´ d’une application a base de cartes ` e e ` amicroprocesseur ne repose pas exclusivement sur la carte, et il y a bien d’autresm´thodes pour attaquer une telle application, ces attaques ´tant en outre g´n´- e e e eralement bien plus faciles ` r´aliser que celles visant la carte. On peut citer par a eexemple les attaques au niveau d’un serveur, ou les multiples fraudes ne relevantpas du domaine de l’informatique (fausses adresses, etc.).R´f´rences ee1. D.G. Abraham, G.M. Dolan, G.P. Double, and J.V. Stevens. Transaction security systems. IBM Systems Journal, 30(2) :206-229, 1991.2. Eli Biham and Adi Shamir. How to break completely unknown cryptosystems. Draft, October 1996.3. J.-F. Dhem, F. Koeune, P.-A. Leroux, P. Mestre, J.-J. Quisquater, and J.-L. Willerns. A practical implementation of the timing attack. In Third Smart Card Re- search And Advanced Application Conference – CARDIS’98 Proceedings. Springer- Verlag, 1999.4. Oliver K¨mmerling and Markus G. Kuhn. Design principles for tamper-resistant o smart card processors. In USENIX Workshop on Smart Card Technology, pages 9-20. USENIX Press, May 1999.5. Paul Kocher, Joshua Jaff, and Benjamin Jun. Differential power analysis : Leaking secrets. In Advances in Cryptology – CRYPTO’99 Proceedings. Springer-Verlag, 1999.6. Bruce Schneier and Adam Shostack. Breaking up is hard to do : Modeling security threats for smart cards. In USENIX Workshop on Smart Card Technology, pages 175-185. USENIX Press, May 1999.7. Visa. Open Platform, Card Specification, April 1999. Version 2.0. http://krimo666.mylivepage.com/