SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
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       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/
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      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/
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       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/
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       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/
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     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/

Contenu connexe

En vedette

Presentacion 3_proyecto semerio
Presentacion  3_proyecto semerioPresentacion  3_proyecto semerio
Presentacion 3_proyecto semeriojorgejuarez91
 
Capitulo once apei
Capitulo once apeiCapitulo once apei
Capitulo once apeileinany01
 
ConféRence Doc Et Finances Vl
ConféRence Doc Et Finances VlConféRence Doc Et Finances Vl
ConféRence Doc Et Finances VlEric Wanscoor
 
La TV demain : 10 enjeux de Transformation
La TV demain : 10 enjeux de TransformationLa TV demain : 10 enjeux de Transformation
La TV demain : 10 enjeux de TransformationPhilippe KHATTOU
 
Evaluation des pratiques Web 2.0 des acteurs du sport français
Evaluation des pratiques Web 2.0 des acteurs du sport françaisEvaluation des pratiques Web 2.0 des acteurs du sport français
Evaluation des pratiques Web 2.0 des acteurs du sport françaisPhilippe KHATTOU
 
Expofiscalultima
ExpofiscalultimaExpofiscalultima
Expofiscalultimajessdattoli
 
Orgullo de ser católico
Orgullo de ser católicoOrgullo de ser católico
Orgullo de ser católicoVoxPress
 
L’Opendata, 
non ce n’est pas 
qu’une mode
L’Opendata, 
non ce n’est pas 
qu’une modeL’Opendata, 
non ce n’est pas 
qu’une mode
L’Opendata, 
non ce n’est pas 
qu’une modeSébastien Desbenoit
 
Atelier - Comment valoriser les agents de proximité auprès des habitants ? - ...
Atelier - Comment valoriser les agents de proximité auprès des habitants ? - ...Atelier - Comment valoriser les agents de proximité auprès des habitants ? - ...
Atelier - Comment valoriser les agents de proximité auprès des habitants ? - ...Cap'Com
 
Photos prises dans le lagon
Photos prises dans le lagonPhotos prises dans le lagon
Photos prises dans le lagonPUGLISI
 
Ead mitos y realidades
Ead mitos y realidadesEad mitos y realidades
Ead mitos y realidadesLuis Segura
 
"24h chrono" sans mon réseau - Les 5 fonctions vitales de votre Intranet
"24h chrono" sans mon réseau - Les 5 fonctions vitales de votre Intranet"24h chrono" sans mon réseau - Les 5 fonctions vitales de votre Intranet
"24h chrono" sans mon réseau - Les 5 fonctions vitales de votre IntranetKlee Interactive
 
La recomposition territoriale des intercommunalités, regard sur l'Ile-de-Fran...
La recomposition territoriale des intercommunalités, regard sur l'Ile-de-Fran...La recomposition territoriale des intercommunalités, regard sur l'Ile-de-Fran...
La recomposition territoriale des intercommunalités, regard sur l'Ile-de-Fran...Cap'Com
 
William gonzalez actividad1 2_mapac_pdf
William gonzalez actividad1 2_mapac_pdfWilliam gonzalez actividad1 2_mapac_pdf
William gonzalez actividad1 2_mapac_pdfCesar Corredor
 

En vedette (20)

Dos manos
Dos manosDos manos
Dos manos
 
La sombra
La sombraLa sombra
La sombra
 
Presentacion 3_proyecto semerio
Presentacion  3_proyecto semerioPresentacion  3_proyecto semerio
Presentacion 3_proyecto semerio
 
Capitulo once apei
Capitulo once apeiCapitulo once apei
Capitulo once apei
 
ConféRence Doc Et Finances Vl
ConféRence Doc Et Finances VlConféRence Doc Et Finances Vl
ConféRence Doc Et Finances Vl
 
La TV demain : 10 enjeux de Transformation
La TV demain : 10 enjeux de TransformationLa TV demain : 10 enjeux de Transformation
La TV demain : 10 enjeux de Transformation
 
Evaluation des pratiques Web 2.0 des acteurs du sport français
Evaluation des pratiques Web 2.0 des acteurs du sport françaisEvaluation des pratiques Web 2.0 des acteurs du sport français
Evaluation des pratiques Web 2.0 des acteurs du sport français
 
Expofiscalultima
ExpofiscalultimaExpofiscalultima
Expofiscalultima
 
Orgullo de ser católico
Orgullo de ser católicoOrgullo de ser católico
Orgullo de ser católico
 
L’Opendata, 
non ce n’est pas 
qu’une mode
L’Opendata, 
non ce n’est pas 
qu’une modeL’Opendata, 
non ce n’est pas 
qu’une mode
L’Opendata, 
non ce n’est pas 
qu’une mode
 
Tecnología educativa jesus maussa
Tecnología educativa jesus maussaTecnología educativa jesus maussa
Tecnología educativa jesus maussa
 
Japanquakefre
JapanquakefreJapanquakefre
Japanquakefre
 
Atelier - Comment valoriser les agents de proximité auprès des habitants ? - ...
Atelier - Comment valoriser les agents de proximité auprès des habitants ? - ...Atelier - Comment valoriser les agents de proximité auprès des habitants ? - ...
Atelier - Comment valoriser les agents de proximité auprès des habitants ? - ...
 
Photos prises dans le lagon
Photos prises dans le lagonPhotos prises dans le lagon
Photos prises dans le lagon
 
Usagestablettesenclasse canope-espe-dec15
Usagestablettesenclasse canope-espe-dec15Usagestablettesenclasse canope-espe-dec15
Usagestablettesenclasse canope-espe-dec15
 
Ead mitos y realidades
Ead mitos y realidadesEad mitos y realidades
Ead mitos y realidades
 
"24h chrono" sans mon réseau - Les 5 fonctions vitales de votre Intranet
"24h chrono" sans mon réseau - Les 5 fonctions vitales de votre Intranet"24h chrono" sans mon réseau - Les 5 fonctions vitales de votre Intranet
"24h chrono" sans mon réseau - Les 5 fonctions vitales de votre Intranet
 
Pres3
Pres3Pres3
Pres3
 
La recomposition territoriale des intercommunalités, regard sur l'Ile-de-Fran...
La recomposition territoriale des intercommunalités, regard sur l'Ile-de-Fran...La recomposition territoriale des intercommunalités, regard sur l'Ile-de-Fran...
La recomposition territoriale des intercommunalités, regard sur l'Ile-de-Fran...
 
William gonzalez actividad1 2_mapac_pdf
William gonzalez actividad1 2_mapac_pdfWilliam gonzalez actividad1 2_mapac_pdf
William gonzalez actividad1 2_mapac_pdf
 

La Securite Des Cartes A Microprocesseur

  • 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/