Home

Plus loin avec les cartes à puce

image

Contents

1. lt 00 01 00 00 00 03 gt 9000 SW1 SW2 Use foo gt 15 44 EF c pes lt 00 09 00 00 06 02 Keyl Challenge data JO2 OB OC OD OE OF lt OA 0B OC OD OE OF C Key2 gt 9000 SW1 SW2 Certificate 94 FF Authenticate gt 94 FF El MAD marer 7 CardEasy BIEN 11 27 E HET EST lel xj View Help Memory Card ACOS1 Commands About Chip ID rea Card ID Area 29 D6 9D 41 OD Counter 4096 a Counter 512 Keys Verification x Counter 64 Counter 8 Key name Transport Code 3 bytes Counter 1 AB CD EF Control Area E Value z Aux Data Area i Authentication Ce Heg f Asci dnthentir a T New value 7 SIMS JE Change to the new value 94 FF 00 01 00 08 00 0l 9000 SW1 SW2Z 00 00 01 00 00 00 03 9000 SW1 SW2 15 44 EF 00 01 00 03 00 05 3000 SW1 SW2 29 D6 9D 41 0D VAT ANA v AD maner f CardEasy EA Paint Shop Pro BIEN 11 29 72 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES W CardEasy lelxi View Help Update xi Memory Card ACOS1 Commands About l l a l l m Memory area to be updated i a i Start oo 08 Length oi Read Again 1E Manufacturer A Issuer Area Counter 4096 Counter 512 Read Write options
2. Voici un exemple de rapport produit par ce logiciel en l occur rence partir d une carte bancaire BO ATR Analyser Developed by Advanced Card Systems Ltd ATR TS TO TB1 TC1 3F 65 25 08 36 04 6C 90 00 3F Inverse convention 65 TB1 1C1 5 bytes historical bytes follow 25 11 1 P1 5 08 N 8 F 372 D 1 I 50 P 5 volts N 8 etu default TOI T02 T03 TO4 T05 36 The meaning of these historical bytes are proprietary 04 6C 90 00 End of Report 39 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUL PLUS LOIN AVEC LES CARTES A PUCE Le plus important est de remarquer que cette carte protocole T 0 fonctionne en convention inverse et galement qu elle se contente des param tres de communication par d faut utilis s pour la transmission de son ATR Certaines cartes en effet peuvent proposer au lecteur de n gocier une vitesse plus lev e ce qui explique certains ph nom nes qui apparaissent parfois lorsque l on tente d observer la suite du dialogue Les caract res historiques pour leur part ont ici une signifi cation propri taire c est dire d finie par une sp cification propre l metteur de la carte En pr sence d une carte dont les caract res historiques ont une signification normalis e ANALYSER EXE proc derait bien vi demment l
3. DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ PLUS LOIN AVEC LES CARTES A PUCE responsabilit sur les fabricants des t l phones et ceux ci sur la carte SIM Premier exemple une m me carte SIM donne correctement acc s aux informations m t o par SMS sur un t l phone de marque A mais pas du tout sur un appareil de marque B Le d pouillement des enregistrements effectu s avec notre espion met en lumi re des diff rences au niveau de la com mande Terminal response envoy e la carte suite la s lec tion de la rubrique m t o N 13h du menu SMS infos AO 14 00 00 OF 81 03 01 24 00 82 02 82 81 03 01 00 10 01 13 succ s AO 14 00 00 OF 81 03 01 24 00 82 02 82 81 83 01 02 90 01 13 chec Certaines sont parfaitement l gitimes car elles correspondent des variantes autoris es par la norme 03h au lieu de 83h ou 10h au lieu de 90h En revanche l octet 02h au lieu de 00h signifiant missing information au lieu de success on peut excuser la carte de refuser de lancer l application bien qu elle dispose en r alit de toutes les informations n cessaires Le t l phone est donc le principal coupable ma s la carte pour rait tout de m me faire preuve d un peu plus de souplesse Second exemple l application m t o tant enfin ouverte la carte demande l utilisateur d entrer le num ro du d parteme
4. Les choses sont un peu plus compliqu es en ce qui concerne les valeurs possibles de INS car il va falloir op rer une recherche syst matique pour chaque classe reconnue par la carte et c est l que l on risque de d couvrir des diff rences suggestives Le programme INST EXE obtenu par compilation de INST BAS commence donc par demander quelle classe il va devoir tester partir de cette valeur il va construire un fichier INS BAS qu il faudra encore compiler en INS EXE l ex cutable fourni titre d exemple op re avec CLA 00h Lors de son ex cution il s affichera petit petit la liste compl te des codes op ratoires INS que la carte reconna t dans la classe consid r e Cette fois ci chaque code op ratoire possible est essay dans une commande affubl e de param tres aussi invraisemblables que possible P1 et P2 FFh Le FFh toujours en vertu du prin cipe de pr caution titre d illustration voici les r sultats obtenus avec une carte bancaire classe BCh p rim e depuis 2002 et donc non encore compatible EMV 41 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE PLUS LOIN AVEC LES CARTES A PUCE 2 5 DES LOGICIELS G N RALISTES Dans le dossier PCSC nous avons ajout quelques logiciels utiles aimablement offerts par les partenaires qui nous ont bien aid s dans la pr paration de cet ouvrage ACS et ZeitControl SCARD EXE ou
5. afficher 1 alphanum rique 2 hexad cimal 4 num rique 8 num rique avec signe e 3 octet nombre de positions afficher 00h tout afficher notons qu en format num rique les z ros inutiles seront supprim s automatiquement e 4 octet position du point d cimal 00h s il n y en a pas e 5 octet dur e d affichage 1 254 intervalles de 0 2 s ou 0 pour un affichage jusqu au retrait de la carte e 6 octet 1 si d autres donn es attendent de pouvoir tre affi ch es 0 s il n y en a plus e 7e au 16 octet donn es afficher Le cas le plus simple correspond l affichage d un seul bloc de donn es 6 octet 00h qui se fera d s que la carte aura r pondu la commande re ue du lecteur Il en sera ainsi par exemple si l on se contente de lire le nombre de points que contient une carte de fid lit ou encore le solde d un PME Mais dans la plupart des cas l application carte sera plus bavarde si elle indique au lecteur en mettant le 6 octet 01h qu elle a encore quelque chose afficher alors le lecteur enverra une nouvelle commande dont le premier octet sera incr ment d une unit d s que la dur e d affichage requise aura expir La carte r pondra alors cette commande en surchargeant de nouveau s lectivement le bloc de donn es re u et le lecteur mettra son affichage jour 154 DUNOD 2004 Plus loin avec les cartes puce
6. allonger quelque peu la plaquette afin qu en toutes circonstances l embase HE 10 reste l ext rieur du lecteur POSITION ISO oO Nooo gt NE gt Le trac de la figure 2 5 a t dessin dans cette optique sa longueur de 106 mm ayant t optimis e pour que la d coupe Figure 2 5 Trac du circuit imprim d une plaque pr sensibilis e de 100 x 160 mm d gage des chutes de la fausse carte de dimensions encore utilisables 59 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES PUCE Le cas ch ant la partie d bordant du format carte de cr dit pourrait tre r duite sa plus simple expression par rognage partir des amorces pr vues cet effet Cela pourrait faciliter l insertion dans certains lecteurs particuli rement contra riants Des fausses cartes SIM Micro Le format SIM Micro est apparu avec la miniaturisation des t l phones portables mais ce serait une erreur de penser qu il se limite ce domaine particulier Les modules de s curit SAM qui quipent de plus en plus de lecteurs investis de responsabilit s s curitaires l pousent aussi tr s volontiers Et n oublions pas toutes les applications rendues possibles par ces lecteurs de cartes SIM Micro qui se pr sentent sous la forme si commode d une fiche USB Il est donc au mo
7. bloquer leur carte Vitale en lui envoyant plusieurs commandes BC 40 00 00 00 ratification d un code PIN non pr sent et donc consid r comme erron puis se la faire d bloquer par les soins de leur caisse qui a par cons quent d ores et d j acc s aux outils n cessaires Notons qu en revanche un code PIN est tout de m me indispen sable et c est la moindre des choses pour l utilisation des cartes de professionnel de sant 132 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit gt gt gt gt gt gt gt CHAPITRE AUTOUR DES CARTES SANT Il n est donc pas interdit d imaginer qu une s curisation suppl mentaire par code porteur pourrait tre instaur e si le besoin devait s en faire sentir un jour Toujours dans le cas d ADMAX 2188h on trouvera les poin teurs des diff rentes zones dans le second octet des mots de 32 bits dont voici les adresses calcul es par simple soustraction r cursive de la valeur 08h 168h 158h 150h 148h 140h 138h 130h En prime on trouvera le num ro de s rie de la carte sur 25 bits l adresse 2178h un certain nombre de param tres techniques aux adresses 2180h et 2170h et le type d application sur 14 bits en 2160h Nous avons ainsi fait le tour complet de ce qu il est convenu d appeler la z
8. celle de la carte pr sen t e par l utilisateur une variante en somme du module de s curit dont sont quip es les applications les plus pointues offerte sur un plateau par notre banque habituelle 6 5 VERS LES CARTES EMV Dans un communiqu diffus en mai 2002 les organisateurs du salon CARTES citaient une d claration d un administrateur du GIE Cartes Bancaires Les banques fran aises vont investir environ 1 milliard d euros sur 7 8 ans pour assurer le passage des cartes et des terminaux la norme EMV 150 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES DE PAIEMENT Cela alors que les cartes et les terminaux supportant cette nou velle technologie existaient d ores et d j puisqu une transaction EMV avait t r ussie d s le 7 f vrier 2002 chez un commer ant fran ais Avec une carte bancaire anglaise cependant 30 millions de cartes EMV circulant d j cette poque outre Manche En fait le d lai annonc avoisine le temps jug n cessaire pour achever le programme de migration au niveau mondial et en par ticulier aux tats Unis o pas moins de 800 millions de cartes pistes magn tiques sont concern es En France il faut s attendre rencontrer des cartes technologie mixte B0 EMV pendant une p riode transitoire qui
9. des fins inavouables UTHENTI FI C AT I ON 55 54 48 45 4E 54 49 46 49 43 41 54 49 4F 4E 4E 54 49 46 49 43 41 54 49 4F 4E Au lieu d appliquer au bloc de 16 octets qui lui est soumis l algorithme A3A8 au demeurant secret que renferment les vraies cartes SIM la n tre retourne b tement les 12 derniers Si l on osait enregistrer l identifiant IMSI d une carte valide dans la BasicSIM donc un processus d inscription pourrait effective ment tre initi sur tel ou tel r seau fran ais ou tranger mais toute demande d authentification chouerait forc ment n est ce pas Pas question par cons quent de t l phoner gratuitement avec ce genre de carte que l on ne peut donc en aucune fa on assimi ler un clone Cela m ritait nous semble t il d tre fermement pr cis Bien entendu le m me programme pourra tre essay avec de v ritables cartes SIM valides ou non afin d examiner le genre de r ponse que l on obtient quitte faire varier quelque peu les donn es envoy es De quoi proc der d difiantes comparaisons avec les autres cartes auxquelles nous allons nous int resser dans les prochains chapitres 127 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE PAGE AUTOUR DES CARTES SANTE 5 1 La carte Vitale une carte SCO
10. CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES DE PAIEMENT Ce processus peut se r p ter l infini avec ou sans changement de format d affichage d une commande l autre Bien que notre application PRSPY BAS tienne en quelques lignes de ZCBasic il convient de ne pas sous estimer ses talents voir dossier POCKET de notre c d rom Charg e apr s compilation dans une ZC 3 9 PRSPY39 IMG ou une ZC 3 3 PRSPY33 IMG elle transforme celle ci en un redoutable outil d investigation Ins r e dans n importe quel terminal acceptant les cartes puce T 1 par exemple Mon o nous y voila la carte enregistre l en t te CLA INS P1 P2 Lc ou Le de toutes les commandes qu elle en re oit Cela concurrence de 100 commandes mais la capacit EEPROM disponible permettrait de faire bien davantage si n cessaire Il est en effet navrant de constater combien d applications d ve lopp es professionnellement peuvent encha ner en aveugle jusqu des dizaines de commandes sans se formaliser le moins du monde des r ponses m me aberrantes qu elles peuvent recevoir Il faut dire que notre carte retourne syst matiquement un compte rendu de bonne ex cution SW1SW2 9000h par d faut et un bloc de donn es vide Les choses seraient tout de m me diff rentes si l on faisait en sorte que la carte r ponde classe
11. Suit un l ment qui commence par un tag 85h nature alpha ID et qui contient 09h octets de donn es en l occurrence le texte Proactive qui n est autre que l intitul du menu ins rer Les rubriques de ce menu suivront enfin annonc es chacune par un tag 8Fh nature service item un octet de longueur et un num ro de rubrique 8F 0E 01 pour une rubrique N 1 baptis e Term profile 8F 0A 02 pour une rubrique N 2 intitul e BasicCard etc 108 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM Bien entendu le t l phone rend compte la carte de la bonne ex cution ou non de cet ordre ce qui se fait par une com mande Terminal Response CLA AQh INS 14h partir du moment o le nouveau menu est install l utilisateur peut en s lectionner une option tout moment D s que cela se produit le t l phone pr vient la carte en lui en voyant une commande Menu Selection Envelope INS C2h Dans notre cas ce pourrait tre AO C2 00 00 09 D3 07 82 02 01 81 90 01 02 Le dernier octet stipule ainsi que c est la rubrique N 2 Basic Card qui a t s lectionn e On remarque juste apr s les cinq octets d en t te de la com mande un tag D3h pr cisant que ce qui suit se compose encore d l ments TLV dont la long
12. en parall le puisqu en plus de l horloge de l alimenta tion et de la masse certaines cartes peuvent g rer jusqu quatre contacts du micromodule et notamment les REU ISO 4 et ISO 8 Le sch ma de la figure 3 8 r sout ce probl me au moyen d une m moire Zeropower 48208 capable de stocker 8 192 mots de 8 bits ce sera amplement suffisant Elle est associ e un classique compteur 4040 mais de fa on plut t inhabituelle puisque celui ci ne pilote que ses lignes d adresse A1 A12 La ligne d adresse de poids faible A0 pour sa part est directe ment attaqu e par le signal d horloge de la carte Il en r sulte que les tats des contacts ISO 2 4 7 et 8 seront m moris s dans les deux tats possibles du contact d horloge 91 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE PLUS LOIN AVEC LES CARTES PUCE en parall le sur la carte 6 8 KQ 6 8 KQ 3 4 4011 I H CHE 2 2 nF Figure 3 8 id T il Sch ma de l espion 7 2 2 nF de cartes synchrones ISO 3 dans les adresses paires quand ISO 3 est 0 et dans les adresses impaires quand il est 1 C est absolument indispensable car avec une m me carte il peut se passer des choses tr s diff rentes lors d un front avant ou arri re du signal d horloge Le compteur d adresses tant attaqu par ce m me signal d horloge un artifice
13. puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES La quatri me ligne applique l algorithme SHA 1 la cha ne E ainsi construite op ration rendue possible par l inclusion pr a lable de la biblioth que Sha 1 def Remarquons que la variable de cha ne P ayant elle aussi t d clar e public son contenu pourra tre exploit par n im porte quelle autre commande en l occurrence RESP une com mande sortante cette fois ci Le 0 indiquant qu il n y a pas de donn es entrantes Pourrait on imaginer plus simple que ces douze lignes de ZCBasic qui suffisent pour mettre en uvre les fonctions de base de ce dongle Aussi avons nous un peu cors les choses en imaginant une option Il suffirait de retirer les mots REM du fichier DONGLE BAS pour mettre en service huit lignes suppl mentaires lesquelles fixent une limite de dix sollicitations du dongle correspondant par exemple la p riode d essai gratuit d un logiciel Les quatre derni res lignes galement facultatives d finissent une commande ISO A0 90 00 00 00 permettant de remettre le compteur z ro autrement dit d autoriser dix nouvelles ex cu tions Bien entendu il serait possible de perfectionner cette commande en introduisant un mot de passe mais ce n est l qu une sugges tion que nous soumettons l imagination de nos lecteurs c est a
14. reset On trouvera ADMAX dans les troi si me poids fort et quatri me poids faible octets du mot re u en r ponse Ses deux derniers octets dits TA et PZT2 renseignent respectivement sur le type d algorithme cryptographique sup port par la carte et sur les modalit s de protection de la zone de travail N 2 Une carte Vitale typique pourra ainsi r pondre ADMAX 2188h TA 0Eh et PZT2 08h En clair cela signifie qu elle contient un peu plus de 8000 quartets la premi re adresse accessible tant invariablement 0200h soit environ 4000 octets que la carte supporte le DES un algorithme pas franchement moderne et que la zone de travail N 2 est libre en lecture mais prot g e en criture tout comme la zone de travail N 1 5 2 DES MYST RES DISSIPER Les remarques suivantes s imposent tout naturellement un explorateur averti La capacit m moire est largement sup rieure celle d une carte bancaire tout juste 1 024 octets et pourrait donc poten tiellement h berger un volume significatif de donn es confi dentielles L int gralit des donn es crypt es ou non que contiennent les zones de travail est librement accessible en lecture par n importe quel d tenteur l gitime ou non de la carte e Aucun code PIN code porteur n est remis au titulaire bien que le m canisme correspondant existe dans les cartes SCOT d intr pides exp rimentateurs sont d ailleurs parvenus
15. CT Compile for Terminal default C1 1 Compile for Compact BasicCard ZC1 1 C3 x Compile for Enhanced BasicCard 2C3 x CFconfig file Compile for card in config file ZCF Dsymbol val Define symbol default val 1 ECexe file Win32 Console application EXE Ipath Search path for Include files 0D debug file Debug file DBG 0Elerror file Error file ERR OI image file Image file IMG OLCTist file List file LST OM map file Map file MAP Sstack size Set size of P Code stack Sstate Set card state L oad P ers T est R un Prenons ainsi pour exemple le court programme que voici dont le code source porte dans le dossier PCSC de notre c d rom le nom de GETHIST BAS Include CARDUTIL DEF Include COMMERR DEF ComPort 101 Call WaitForCard ResetCard P Call CheckSWISW2 36 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES ASYNCHRONES CLS Print Caract Historiques de 1 ATR FOR F 1 TO Len P M ASC MID P F 1 M HEX M IF Len M 1 Then M 0 M PRINT M NEXT F Print Print Call WaitForNoCard En supposant le kit logiciel de la BasicCard convenablement install et ce code source copi dans le dossier C BasicCardPro il suffira de taper dans une fen tre MS DOS ouverte sur ce m me r pertoire la commande ZCMBasic CT E GETHIST BAS p
16. Counter 64 Normal Counter 8 wis Cl Eras Gts Counter 1 Hex C Asci gen FE SI F 442 LA ya Start 8 C iite ple foo 10 Ce paectte MEME l 80 C Write carry the memory I Backup bit enabled 00 01 00 08 00 01 9000 SWL SW2Z LE VAN ANA 00 01 00 08 00 O1 9000 SW1 SW2Z 1E 00 01 00 08 00 01 9000 SW1 SW2 lE AD marer 8 CardEasy R Paint Shop Pro 4O 11 40 type boulier voir nos ouvrages Cartes puce Initiation et applications et PC et cartes puce Chacun des compteurs huit bits qui les quipent est affect d un poids huit fois sup rieur celui du compteur qui le suit dans l espace m moire Chaque unit consomm e est mat rialis e par la mise z ro cri ture d un bit qui tait encore un dans le compteur par un Lorsque les huit bits de celui ci se retrouvent z ro la mise z ro d un seul bit dans le compteur de poids imm diatement sup rieur donc par huit autorise la remise un effacement en bloc de tous ses bits et ainsi de suite criture dite avec retenue Dans les cartes les plus simples de cette famille quarante bits sont r partis en cinq compteurs par 1 par 8 par 64 par 512 et par 4 096 ce qui permet d j de compter jusqu plus de trente mille unit s Parmi les variantes disponibles on peut citer un compteur suppl mentaire des zones utilisateur reprogrammables apr s e
17. Professional en carte SIM permet tant de bricoler librement avec la majorit des t l phones portables m me verrouill s par un op rateur Comme on pouvait s y attendre les versions de cartes se sont succ d es un rythme effr n et la ZC 4 1 employ e l poque est d j compl tement d pass e par la ZC 5 4 et que dire de la toute r cente ZC 5 5 Nous avons profit du portage de notre application Basic SIM sur ces nouvelles plates formes mat rielles pour en exploiter les possibilit s accrues Le dossier SIM du c d rom accompagnant cet ouvrage contient ainsi un fichier BasicSIM IMG qui attend avec impatience d tre charg dans une ZC 5 4 Rev A distribu e en France par http www hitechtools com Un sous dossier est consacr la ZC5 5 Rev B une toute nouvelle version offrant une capacit m moire encore sup rieure Diff rents fichiers batch facilitent au maximum l op ration selon le mod le de lecteur de cartes install sur le PC Tous trois mettent contribution l utilitaire BCLOAD EXE extrait du kit BasicCard ayant servi la compilation de notre code source Gr ce la nouvelle puce dont est quip e la carte il est dor na vant possible de l utiliser dans certains t l phones technologie 3 volts autoris s interrompre le signal d horloge de la SIM lorsqu ils passent en mode faible consommation ce qui plantait
18. ULEG x Memory Card ACOS1 Commands About emo area to be updated Authentication a2 13 10 91 FF FF Stat CTI Length 20 Read Again Authentication FF FF FF FF FF FF SLE 4404 FF FF FF FF FF DZ A2 13 10 91 FF FF 81 15 ISLE 4418 00 04 00 FF FF FF FF FF FF FF FF FF FF FF ISLE 4428 FF FF FF FF FF D2 76 00 ISLE 4442 Read Write options Protected Mem 5 Normal p write f Main Memory Hex C Asci ui E rates ss gt FF FF FF FF FF FF FF FF FF FF FF 1 FF FF FF FF FF FF FF FF lt 00 01 00 00 00 Z4 gt 3000 SW1 SW2 gt A2 13 10 91 FF FF 81 15 FF FF FF 00 04 00 FF FF FF FF FF 30 FF 1F F8 lt 00 01 00 00 00 24 gt 9000 SWL1 SW2 gt A2 13 10 91 FF FF 81 15 FF FF FF FF FF FF FF FF FF FF FF FF FF D2 76 00 00 04 00 FF FF FF FF FF 30 FF 1F F8 AD maner 7 CardEasy S Paint Shop Pro BITES 11 36 Proches des cartes protocole 3 fils les cartes de cette famille utilisent un mode de communication diff rent rappelant un peu l I2C et n offrent qu une capacit de 256 octets soit 2 048 bits Les m canismes s curitaires sont galement assez voisins le code confidentiel du SLE4442 ou PCB2042 tenant toutefois sur trois octets Ces cartes se pr tent bien des applications de fid lisation et ont notamment t adopt es par les magasins Boots en Grande Bretagne Pr cisons d ailleurs que la carte ELEA 500 qui a t
19. aient en France l id e de ces porte clefs testeurs de t l cartes qui ont v ritablement fait un malheur dans les milieux concern s En pratique des applications aussi fondamentalement diff rentes peuvent mettre contribution si elle est bien con ue une seule et m me plate forme mat rielle Il suffit en effet de d velopper le logiciel appropri puis de le charger dans la m moire Flash du lecteur quitte passer une version ROM si les volumes devaient le justifier 1 4 DES TERMINAUX AUTONOMES mi chemin entre les lecteurs de poche et les applications tournant sur un PC il y a place pour toute une vari t d appa reils dot s de fonctions carte puce plus ou moins labor es cent lieues des incontournables terminaux de paiement les copieurs de cartes SIM sont un bon exemple de machines relativement simples dot es pourtant de deux lecteurs de cartes puce En effet face au probl me que pose le transfert des donn es personnelles annuaires messages etc lors du renouvellement de la carte SIM d un t l phone portable ou en cas de change ment d op rateur il a bien fallu imaginer de petits appareils capables d automatiser l op ration Alors m me que les op rateurs voient toujours d un tr s mauvais il que leurs clients bricolent leurs cartes SIM certains fabri cants semblent compter sur eux pour leur offrir un copieur en m me temps que
20. alisation Les programmes pour microcontr leurs PIC ont t d velopp s en Basic l aide de versions gratuites 7 00 et 7 10 du compila teur LET BASIC que l on pourra installer en ouvrant respective ment Setup700 exe ou Setup710 exe Le manuel de ce puissant outil dont les versions compl tes sont distribu es par Selectronic est galement offert sous la forme d un fichier PDF ouvrir avec Acrobat Reader R pertoire Vitale Il y a l tout le n cessaire pour faire plus ample connaissance avec les cartes Scot en g n ral et avec la carte Vitale en parti culier selon la d marche sugg r e au chapitre 5 Dans le sous dossier Auth on trouvera le programme code source ZCBasic et ex cutable n cessaire pour proc der aux exp riences d authentification propos es 162 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE LE C D ROM DU LIVRE Quel ordinateur utiliser Le kit BasicCard et les programmes pour lecteurs PC SC ne peuvent fonctionner que sous Windows 95 ou sup rieur le maxi mum de confort tant obtenu en ne d passant pas Windows 98 ou la rigueur Me XP d conseill C est dire qu un PC quip d un processeur 486 DX 100 MHz ou davantage peut suffire m me si un Pentium cadenc au moins 166 MHz est pr f rable Quelques applications de ce livre fonctionnent exclusivement sous MS DOS 3 30 ou sup rieur On
21. asynchrones Ce sera un peu plus compliqu qu en T 0 mais tous les d tails du protocole T 1 figurent dans le manuel du kit BasicCard dont notre c d rom contient une version PDF 156 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE AUTOUR DES CARTES DE PAIEMENT En attendant voyons un peu ce qu enregistre notre carte dans un lecteur de GeldKarte pour PC de technologie 100 allemande pas moins de quinze commandes cette fois commencer par 00 A4 00 OC 00 00 A4 04 OC 09 00 A4 00 OC 00 00 A4 02 OC 02 00 B2 01 04 08 Il y a tout le moins une certaine similitude Mais le plus tonnant c est qu aucun moment le logiciel ne se rend compte qu il n est pas en pr sence d une carte authentique il affiche des crans entiers qui en disent long sur tout ce que doit contenir et sans doute retransmettre qui de droit ce genre de PME De quoi comprendre un peu mieux l extr me r ticence qui accom pagne la mise en place d un tel gadget bancaire qui semble aller tr s exactement contre courant des attentes de ses utilisa teurs potentiels 157 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LE C D ROM DU LIVRE Le c d rom accompagnant cet ouvrage rassemble tous les logi ciels d velopp s par l auteur les trac s des
22. contient certainement pas de donn es purement m dicales telles qu un quivalent de l in narrable carnet de sant Il semblerait plut t qu elle rassemble un certain nombre de fiches avec pour chacune d elles un num ro de s curit sociale et une date de mise jour format ann e mois jour Une premi re fiche identifierait le titulaire de la carte chef de famille les suivantes correspondant sans doute chacune l un de ses ayants droit D apr s ce que parviennent lire les bornes de consultation et les lecteurs de poche il est clair que chaque fiche contient aussi des informations plus confidentielles tat civil nom pr noms 134 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SANT date de naissance validit des droits caisse de rattachement etc Rien de plus en somme que ce qui tait imprim sur les cartes papier Compte tenu du faible nombre d octets de chaque fiche il se confirme qu un semblant de codage doit tre appliqu op rant au passage une certaine forme de compression Il est toutefois int ressant de remarquer que tous les lecteurs savent proc der au d codage correspondant vraisemblablement pas bien compliqu m me s ils fonctionnent ind pendamment de la carte de professionnel de sant CPS Le r le de cel
23. d ploy e dans de nombreuses applications extr mement vari es n tait autre qu une carte de cette famille pr personnalis e de fa on particuli rement astucieuse par ELEA CardWare 77 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES PUCE lelxi E CardE asy View Help Memory Card ACOS1 Commands About Authentication 2 Authentication SLE 4428 SLE 4432 SLE 4442 Read Protected Mem Main Memory ma Hex C Asci v 2 13 10 91 FF FF 81 15 FF FF FF FF FF FF FF FF FF FF FF FF FF D2 76 00 00 04 00 FF FF FF FF FF Keys Verification x Start 0 E E Key name Security Code 3 bytes X Vale 12 34 56 Fori Hex C Ascii New value I Change to the new value NewWalue foo oo 00 lt 00 0l 00 00 00 24 gt 9000 SW1 SW2 gt 2 13 10 91 FF FF 81 15 FF FF FF FF FF F 00 04 00 FF FF FF FF FF 30 FF 1F F8 Cancel A D marer 7 CardEasy R Paint Shop Pro Cartes protocole 12C code famille 02h e AT24C01 AT24C02 AT24C04 AT24C08 AT24C16 Atmel D2000 D4000 D8000 E CardE asy View Help Memory Card ACOS1 Commands About a E Er ST14C02C E ST14C04C Er ST1333 C Hex Asci s iront yg fis gt 43 41 52 54 45 53 39 38 FF FF FF FF FF FF FF FF FF FF FF lt 00 01 00 00 00 20 gt 9000 SW1 SW2 gt 43 41 52 54 45 53 39 38 FF FF FF FF
24. en faut pas davantage pour s int resser de tr s pr s toutes sortes de cartes asynchrones existantes et m me pour produire ses propres cartes 2 1 D VELOPPER EN PC SC L initiative PC SC n aurait sans doute jamais vu le jour si Micro soft n avait pas r v excusez du peu de s approprier la carte puce En fait la grande aventure Windows for smart cards a tourn court et ce sont des syst mes d exploitation concurrents que l on rencontre d sormais dans les cartes Cela ne retire rien tout au contraire l int r t de PC SC car il faut bien faire la distinction entre les deux domaines certes com pl mentaires que sont les applications destin es aux cartes et celles qui pilotent les lecteurs Le d veloppement d applications embarqu es dans les cartes est une sp cialit part enti re apparent e de la programmation de microcontr leurs tandis qu il devient courant d int grer des fonctionnalit s carte puce dans des logiciels destin s tourner sur PC PC SC est une opportunit exceptionnelle pour les d veloppeurs d applications Windows qui peuvent d sormais cr er des logi ciels supportant les cartes puce sans devoir encha ner l utilisa teur final tel ou tel mod le de lecteur bien sp cifique et pas forc ment r utilisable pour d autres usages Que ce soit d origine ou par mise niveau installation des Microsoft Smart Card Base Components il faut mai
25. gt B3 THEN GOTO False NEXT BO OUTB 6 STOP False OUTB 0 B4 255 GOTO Led Led FOR BO 0 TO 10 HIGH B 1 DELAYMS B4 LOW B 1 DELAYMS B4 NEXT BO END En plus des autres composants c bler selon la figure 1 8 il fau dra ajouter un connecteur pour cartes puce et un cordon d inter connexion le tout r alis selon les plans fournis au chapitre 2 Des outils connectiques Sans entrer de nouveau dans tous les d tails pr cisons que cette serrure fonctionne par apprentissage Le cavalier de commutation tant plac en position court circuit toute t l carte ins r e dans le connecteur sera lue et son contenu m moris dans la m moire non volatile EEPROM du PIC Le cavalier tant retir toute carte ins r e par la suite sera compa r e cette image de r f rence et le relais ne collera que si la carte originale ou une carte strictement identique est reconnue Mais nous allons maintenant montrer qu il est possible de suivre une voie radicalement diff rente en utilisant cette fois un PIC 12C508 DUNOD La photocopie non autoris e est un d lit 21 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES PUCE Figure 1 7 Trac du circuit imprim Figure 1 8 Plan de c blage Liste des composants PIC 16F84 programmer SMARTLET HEX 1x78L05 1 x Led rouge 1 x 2N 2222 2 x 1N 4148 2xX22
26. lodies plus longues se paie toutefois par la quasi impossibilit de les composer manuel lement Voici par exemple un SMS contenant une m lodie nettement plus longue que notre chantillon cod en iMelody largement plus compact mais peu pr s ind chiffrable 07 07 91 33 86 09 40 00 FO 51 FF 0B 91 33 x6 xx 3 0 83 xx xx Fx 00 F5 A7 34 06 05 04 15 81 00 00 02 44 gt 4 3A 59 05 B9 D1 A1 95 B4 04 00 37 1E 86 57 41 84 Y 7 WA 18 41 A4 17 49 86 1A 41 C4 1C 42 48 A1 07 12 69 A l A BHi i 86 10 69 06 10 5D 06 10 00 00 00 FF FF FF FF FF i FF FF FF FF FF FF FF FF FF FF FF FF FF FF OFF FF ceecee FF FF FF FF FF FF FF FF FF FF FF FF FF FF FEFF ecetet FF FF FF FF FF FF FF FF FF FF FF FF FF FF OFF FF ceecee FF FF FF FF FF FF FF FF FF FF FF FF FF FF OFF FF cesse FF FF FF FF FF FF FF FF FF FF FF FF FF FF OFF FF cesse FF FF FF FF FF FF FF FF FF FF FF FF FF FF OFF FF ces d faut d un logiciel sp cialis on peut songer op rer par conversion depuis un autre format Cela peut m me se faire en 124 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM ligne et gratuitement dans la limite de trois m lodies par 24 heures http www convert ringtones com Une autre particularit du format Nokia est que le SMS est d un type sp cial DCS F5h au lieu d
27. me L organisation logique des cartes SCOT repose sur des mots de 32 bits 4 octets mais l adressage se fait au niveau du quartet groupe de 4 bits Une commande de lecture transmise par n importe quel lecteur de cartes puce asynchrones sera de la forme BC BO P1 P2 LE l adresse lire tant d sign e par les deux octets P1 et P2 le nombre d octets lire maximum 256 tant quant lui indiqu par l octet LE Il faudra donc incr menter P1P2 de deux unit s pour avancer d un octet c est dire de deux quartets et de huit unit s pour avancer d un mot de 32 bits L espace m moire d une carte SCOT est partitionn en plusieurs zones dont les adresses initiales sont stock es dans autant de pointeurs sp cifiques Clefs metteur Jeu secret Codes porteur Zone d acc s Zone de travail N 2 dite confidentielle 131 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle 5 EE PLUS LOIN AVEC LES CARTES PUCE ADT Zone de travail N 1 ADL Zone de lecture Les valeurs de ces pointeurs et bien d autres informations utiles r sident dans la zone de lecture qui comme son nom l indique est toujours lecture libre Chacun peut donc en prendre connaissance apr s avoir calcul les adresses o ils r sident Cela n cessite de se procurer la valeur ADMAX adresse de fin de m moire 8h en envoyant une commande BC CO 00 00 08 la carte juste apr s un
28. phone Celui ci va alors spontan ment le chercher en envoyant une commande FETCH de la forme A0 12 00 00 XX En d but de session il s agira souvent d un ordre d insertion d une rubrique suppl mentaire dans le menu d origine du t l phone Comme on le voit dans notre code source STKM BAS un tel ordre commence par un octet DOh suivi d un octet pr cisant la longueur de ce qui vient apr s Prenons l exemple d un tel ordre SET UP MENU qui commen cerait par les octets suivants DO 30 81 03 01 25 00 82 02 81 82 85 09 Il s agit en pratique d une suite d l ments TLV Tag Length Value dont le premier s crit 81 03 01 25 00 Le tag 81h nature de l l ment command details est suivi d un octet de longueur 03h puis tr s logiquement de trois octets de donn es Parmi ceux ci l octet 25h identifie un ordre SET UP MENU L l ment suivant se compose d un tag 82h nature identi ties d un octet de longueur 02h et de deux octets de donn es 81h indiquant que les donn es qui vont suivre proviennent de la carte SIM et 82h qu elles sont destin es au syst me d exploita tion du t l phone Cela para t vident mais le destinataire pourrait tout aussi bien tre le r seau 83h en cas d mission d un SMS l initiative de la carte l couteur 03h pour l mission d un bip ou encore l cran 02h pour l affichage d un texte
29. sup rieur ou gal donc la longueur de TXT Dans notre exemple TXT contient le texte Bonjour cod sur 7 bits mais notre programme SMS8 BAS exploite une variante permettant d op rer en clair sur 8 bits charge pour le SMSC d op rer la conversion en 7 bits PID Chr amp H3F DCS Chr amp H04 TXT Bien le bonjour LTX Chr Len TXT Il est int ressant d observer ce que devient un m me message selon qu on le transmet avec tel ou tel mod le de t l phone ou par l entremise de tel ou tel op rateur fran ais ou tranger Voila ainsi ce que donne notre exemple confi un Philips FIZZ quip d une carte SIM mise par Orange avec le num ro 33 6 8a bc de fg SMSC 33 6 89 00 40 00 07 07 91 33 86 09 40 00 FO 11 FF OB 91 14 97 ih kj ml Fn 3F 04 17 11 42 69 65 6E 20 6C 65 20 62 OF 6E GA 6F 75 72 20 2I EF mises sise FF 116 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES SIM La transmission a t effectu e le 22 11 02 17h 30 54 vers un Motorola M3188 inscrit sur le r seau Bouygues mais quip d une carte SIM suisse num ro de la forme 41 79 hi jk Imn dans laquelle il a t retrouv ceci 01 07 91 33 86 09 40 00 FO 04 0B 91 33 86 ba dc fe Fg 3F 00 20 11 22 71 03 45 00 11 C2 74 D9 0D 62 97 41 E2 B7 5B FD AE CB 41 21 FF FF On consta
30. surtax du destinataire 20220 e le texte du message m t o76 111 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES A PUCE Rien de plus en somme que ce que l on enverrait manuellement sion ne se faisait pas aider par une application Proactive SIM On remarquera au passage que l alphabet utilis diff re de ASCII au niveau des caract res accentu s le tant cod 05h Imaginons enfin que l envoi du SMS choue par exemple parce que l on se trouve dans une zone non couverte par le r seau Le t l phone signalera cet chec la carte au moyen d une commande Terminal response du genre AO 14 00 00 OD 01 03 01 13 00 02 02 82 81 03 02 20 00 On y remarquera la r p tition d une partie de la commande pr c dente commencer par l octet 13h SEND SMS Les deux derniers octets pr cisent quant eux la raison de l chec t l phone actuellement incapable de traiter la commande La carte r agira g n ralement en faisant s afficher un message d erreur appropri Gr ce un compte rendu 9119 au lieu de 9000 elle priera le t l phone de venir chercher 19h octets de donn es ce qu il fera au moyen d une nouvelle commande FETCH A0 12 00 00 19 La carte transmettra alors les donn es suivantes DO 17 01 03 01 21 01 02 02 81 02 0D OC 04 45 63 68 65 63 20 65 6E 76
31. tre num rique ou un simple oscilloscope sur la prise coaxiale C est aussi simple que cela 65 Figure 2 12 Trac du circuit imprim L adaptateur pour fr quencem tre DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ PLUS LOIN AVEC LES CARTES A PUCE 2 8 UN ESPION DE CARTES ASYNCHRONES Sans revenir en d tail sur un sujet abondamment trait dans nos ouvrages PC et cartes puce et T l phones portables et PC il nous para t utile de faire b n ficier nos lecteurs des derni res am liora tions qu il nous a t possible d apporter ce projet dont se sont d ailleurs largement inspir s certains de nos distingu s confr res Rien de chang sur le plan mat riel comme en t moignent le trac du circuit imprim figure 2 13 et le plan de c blage figure 2 14 reproduits ici pour la commodit du lecteur Figure 2 13 Trac du circuit imprim Figure 2 14 Plan de c blage Le c d rom du pr sent ouvrage contient par contre dans son dossier ESPASYNC des logiciels sensiblement am lior s Cela afin de tenir compte de l volution des caract ristiques des cartes puce de plus en plus difficiles espionner sans recourir de nouveaux artifices En pratique ceux ci permettent d viter les arr ts du programme sur un message d erreur d s que le flot de donn es provenant de la carte diff re un peu trop de ce que veut b
32. tre reprogramm e aussi souvent qu on le souhaitera Si l on pr f rait se servir d un lecteur CyberMouse ou ACR 20 30 S en mode propri taire on utiliserait alors le param tre P1 lecteur branch sur le port COM1 ou P2 port COM2 Rappelons cependant qu a ce mode ligne de commande dont l extr me simplicit justifie notre pr f rence il peut tre substitu un environnement de d veloppement int gr sous Windows Directement disponible dans le menu d marrer programmes apr s installation du kit BasicCard il prend en charge la compilation la simulation et le t l chargement en quelques clics de souris L authentification interne En mati re de protection de logiciels le bon vieux dongle branch sur un port s rie ou parall le pourrait bien avoir fait son temps La tendance est en effet de plus en plus aux clefs s ins rant dans un port USB ou m me carr ment aux cartes puce Le pr sent projet est enti rement compatible avec ces deux approches puisque la BasicCard servant de S same peut tre ins r e dans n importe quel lecteur PC SC ordinaire ou en forme de fiche USB tel le SIMTracker d ACS Le prix tr s raisonnable de la BasicCard enhanced ZC 3 3 ou ZC 3 9 permettrait ainsi d offrir une protection par clef mat rielle Le SIMTracker un lecteur PC SC dans une fiche USB 44 DUNOD 2004 Plus loin avec
33. vait tout bonnement pas de lecteurs de cartes puce dans le commerce de d tail Des dizaines de milliers de passionn s ont donc embo t le pas l auteur de ces lignes qui dans son ouvrage Cartes puce Initia tion et applications a publi quitte faire grincer quelques dents les premiers plans de lecteurs construire soi m me Outre un prix de revient n gligeable cette approche pr sentait et pr sente toujours un certain nombre d avantages Le principal est sans doute que l on op re au plus bas niveau possible en mati re de protocoles de communication puisque l on g re les signaux lectriques aux bornes m mes du connecteur de carte On peut ainsi observer tout ce qui s y passe y compris un certain nombre de singularit s de telle ou telle carte mais aussi faire varier librement toutes sortes de param tres au del de ce qui est prescrit par les sp cifications cela pour la bonne et simple raison que le logiciel pilotant le lecteur est enti rement personnalisable et en aucune fa on prendre ou laisser Il doit donc tre parfaitement clair que les lecteurs maison ont et auront toujours leur place dans l arsenal d outils d un bon explorateur de cartes puce ou lorsqu il s agira de faire lire des cartes puce par un montage autonome Dans cet ouvrage nous allons pourtant d fricher une piste diam tralement oppos e celle qui consiste mettre en uvre des lect
34. 1100 0000 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE MM PLUS LOIN AVEC LES CARTES PUCE ST1301 CyberMouse Pr sentation code PIN ABCDh sans Vpp 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 64 64 64 64 64 80 80 80 80 0 0 1 1 Ah 1100 80 80 64 64 80 80 80 64 10 1 1 Bh 1101 64 64 80 80 64 64 80 80 0 1 0 1 Ch 1010 80 80 80 80 64 64 80 80 1101 Dh 1011 80 96 64 112 80 208 80 80 SLE 4442 Cyber Mouse Lecture des 16 premiers bits A213 h 144 144 0 16 16 0 0 0 0 16 16 16 16 16 16 16 16 0 0 16 16 0 0 0 0 0 0 0 0 0 0 1 0 2h 0010 0 0 0 1 0 Ah 1010 0 1110 3h 0011 0 0 1 0 0 1h 0001 0 0 Se Carte I2C 2K D2000 GFM2K Lecture s quentielle des 24 premiers bits 434152h 16 16 0 16 16 0 0 16 START 16 0 0 0 0 0 0 0 Select W 1010 0000 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 Address 0000 0000 0 0 0 0 0 0 16 16 START 0 16 16 0 0 16 16 0 Select R 1010 000 0 0 0 0 0 0 0 16 0 0 0 0 16 16 0 0 010 4h 0100 0 0 0 0 0 0 16 16 0001 3h 0011 16 16 16 0 0 0 16 16 1 0 1 4h 0100 0 0 0 0 0 0 0 0 0000 1h 0001 0 0 16 16 16 0 0 0 01 0 16 16 0 0 16 16 0 0 1010 5h 0101 0 0 16 16 0 0 16 0 010 2h 0010 S agissant d un protocole 2 fils aucun autre contact n entre en jeu et on n enregistre tr s logiquement que des valeurs 16 ou 0 un peu plus d licates interpr ter Il y a donc vraiment
35. 176 octets qu occupe dans la SIM tout SMS norma lement constitu 41h Le fait que le bit de poids 64 y soit 1 signale que ce message contient un UDH ou User Data Header En clair cela signifie que le texte du message 10 14 0E 01 soit ABC cod en format par d faut est pr c d d un bloc de donn es vocation particuli re ne devant normalement pas tre affich mais on a parfois des surprises La longueur de cet en t te est pr cis e ici dans le 23 octet 4Fh c est dire 79 octets Le premier de ceux ci 0Ch d finit le type de contenu que renferme l en t te selon les conventions de la sp cification 3GPP TS 23 040 version 6 0 1 de septembre 2002 Suit nouveau un octet de longueur 4Dh soit tr s logiquement deux unit s de moins puis un 03h demandant que la m lodie soit jou e apr s l affichage du troisi me et dernier caract re du texte OCh signifie en effet que nous sommes en pr sence d un user defined sound autrement dit d une m lodie compos e par l utili sateur ou pr lev e dans l chantillonnage offert d origine avec le t l phone OBh d signerait un son pr d fini qu un seul octet suffirait identifier ODh une animation pr d finie 10h un logo bitmap de 128 octets etc 121 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OULUUN PLUS LOIN AVEC LES CARTES PUCE Notons que cet
36. 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES 1150 5 cng s02 s7 _ s07 o PIC 16F84 Fausse carte 01 pF vers lecteur PC SC T isos cn I505 ISO 1 cc so2 I503 Is04 1 0 iso 7 39kQ Vi 501 F Figure 3 3 Vpp Sch ma ISO 6 de l adaptateur Selon la profondeur d insertion de la carte dans le lecteur utilis la longueur de celle ci pourra d ailleurs ventuellement tre r duite mais ce n est nullement une obligation Le c blage de la fausse carte se limite la mise en place d un support DIL 18 broches wrapper Apr s soudage les longues queues tr s rigides de celui ci seront ins r es une nouvelle fois dans les trous de la seconde carte pr alablement quip e de ses composants selon le plan de la figure 3 6 On notera que le contact pr sence carte du connecteur de carte puce n tant pas mis contribution il est possible d utili ser aussi bien un mod le contact normalement ouvert N O que normalement ferm N F au hasard des prix promotion nels pratiqu s ici ou l Nous avons tenu compte de cette opportunit dans le pastillage du circuit imprim qui peut accepter des mod les de diff rentes marques ITT CANNON ALCATEL etc Seuls les huit balais de contact correspon
37. 64 64 64 80 64 64 80 64 64 80 80 64 16 64 80 64 64 64 80 64 64 80 80 208 80 80 80 80 80 80 80 80 128 16 16 16 208 64 80 80 64 16 64 80 64 64 64 80 64 64 80 80 16 64 64 64 64 64 64 64 64 128 16 16 16 80 64 64 64 64 16 80 64 64 64 64 64 64 80 64 80 16 80 80 80 80 80 80 80 80 64 64 64 64 64 16 80 64 64 64 64 64 64 80 64 80 16 80 80 64 64 64 64 64 80 Oo 64 64 64 64 80 CHAPITRE AUTOUR DES CARTES SYNCHRONES TMS 3561 lecteur maison D codage des 32 premiers bits 80 80 80 64 80 64 64 64 80 64 80 64 64 80 64 64 64 80 64 80 80 80 64 hR h O 9 mr mm D O O 0O 0O n0 a a o OH OH H ST1200 lecteur maison D codage des 32 premiers bits 80 80 80 80 80 80 80 80 80 64 64 64 64 64 64 64 64 64 80 80 80 80 80 80 80 80 80 BB h moe E E E arr E a S a O0 OS E 2 O9 O0 a a a o SLE 443x CyberMouse Lecture des 32 premiers bits pam R r R ar 16 16 0 16 16 16 0 16 16 16 16 16 0 16 16 16 16 ao ao ES ee SS S SAS EX es 0 OO R B BB ao SLE 4404 CyberMouse Lecture des 16 premiers bits 810Ch 64 64 80 64 64 100 1h 0000 8h 1001 Ch 1000 Oh 0 99 0001 1000
38. En oo NNNNNNNNNE RTE TT OOGGO0O00GOGOOOGGG 1 00 00 LU L 00 09 0 CN Li 0 0 UN 1 ON N 0 D D D D N D D D D N D D D D D HUUU 64 62 60 SEG28 1e SEG11 SEG29 2 SEG10 SEG30 3 SEG9 SEG31 4 SEG8 RESET 5 SEG7 ISP_SEL OSC_ SEL 6 SEG6 PA7 7 SEG5 NC 8 SEG4 PA6 9 SEG3 NC 10 SEG2 PAS 11 SEG1 PA4 12 SEGO PA3 13 COM3 ISPCLK2 PA2 COM2 ISPDATA2 PAI COMi x TIMIO PAO EI COMO Na Lo 22 5 UUUUUUUUUUUUUULUL T OL OMAN Tr NM L lt Q lt AQZ O 3 ZUHPR R RRFE8099 0 gt SGLZES 6 O 2 Aa DBOE LU 5 TT IL D D amp O QA W z 2a N 2 ETES a 9 g D lt E S 5 5 l E y 4 Q Interface carte Z ISO 7816 Figure 1 2 a Le brochage du ST 72411 R 9 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ _________ PLUS LOIN AVEC LES CARTES PUCE D apr s son brochage reproduit la figure 1 2 on voit du premier coup que ce membre de la famille ST7 dispose tout la fois d une interface directe pour afficheur LCD 4 lignes de 32 caract res alphanum riques de six lignes d interface ISO 7816 pouvant rejoindre directement un connecteur de cartes puce asyn chrones et ou synchrones et de ports d entr e sortie capables de g rer par exemple un clavier organis en matrice Diff rents modes basse consommation et des possibilit s de r duction de la fr quence d horloge carte lui permettent de se contenter de deux piles bouton au l
39. Endormie sur ses lauriers pendant quelques ann es la puce B0 a renou vers 1995 avec une volution qui n a plus gu re cess depuis Il est facile de s en rendre compte en allant lire les valeurs d une poign e de pointeurs dans les cartes que l on a peut tre eu la bonne id e de ne pas d truire au fil de leurs renouvel lements successifs Il faut savoir que la m moire d une carte B0 se compose en tout et pour tout de 256 mots de 32 bits soit un total de 1 024 octets Leur adressage se fait curieusement par quartets fa on Bull CP8 plut t que par octets et en aucune fa on par s lection de fichiers fa on GSM ou EMV 142 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES DE PAIEMENT Notons au passage qu en raison de la pr sence de bits de contr le chaque mot compte g n ralement moins de 32 bits de charge utile La premi re adresse d finie est 0200h tandis que la premi re adresse physiquement non existante est 0A00h La diff rence entre ces deux valeurs hexad cimales est 0800h ce qui correspond bien 2 048 quartets ou 1 024 octets L adresse 09C0h joue un r le clef dans le sens o elle marque le d but de la seule zone fixe de l espace m moire de la carte Cette zone de fabrication lecture libre contient un certain nombre de param
40. HEX pr t tre programm dans le PIC On ne manquera pas de remarquer que le programme ainsi compil n occupe que 106 mots de m moire sur les 512 disponi bles dans le PIC preuve tangible que ce compilateur g n re un code redoutablement efficace et par ricochet d une foudroyante rapidit crire un programme plus complexe n cessiterait videmment d acqu rir la version compl te du compilateur la version gratuite tant brid e en mati re de nombre de lignes du code source Une remarque enfin au sujet de l avant derni re ligne du pro gramme Lorsqu une mauvaise carte est rep r e le programme allume la Led pendant 255 ms ce qui alimente en m me temps le tran sistor de commande du relais Comme celui ci ne doit bien videmment coller qu en pr sence d une bonne carte un condensateur de 1 000 pF retarde suffi samment la conduction du transistor pour que le collage ne se produise pas Cet artifice permet de se contenter du fort petit nombre de lignes d entr e sortie disponibles sur le PIC 12C508 malgr la r cup ration de celles d volues au circuit d horloge utilisation de l oscil lateur interne de 4 MHZ Le second programme LOCK508 BAS r utilise la m me s quence d initialisation et de reset les six premi res lignes puis teste cette fois les neuf premiers octets de la carte c est dire 72 bits sur les 96 que compte la zone inalt rable 28 DUNOD 2004 Plu
41. SCardTiPci 33 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OULU PLUS LOIN AVEC LES CARTES A PUCE On devine que cela n est pas aussi simple qu on aurait pu le croire En pratique on est fermement incit acqu rir le Smart Card SDK aupr s de Microsoft et l associer un outil de d velop pement Windows de m me provenance Mais il existe fort heureusement d excellentes alternatives Dans le r pertoire DELPHI du dossier PCSC de notre c d rom on d couvrira ainsi comment ACS propose d utiliser un environnement de programmation r solument concurrent crit en Pascal WinScard pas se charge ainsi de l importation de tous les services de WinScard dll les rendant facilement acces sibles depuis Delphi I n emp che qu une man uvre aussi l mentaire que l affichage de la r ponse au reset ATR de la carte pr sente dans un lecteur n cessite un code source PCSC_MCU _atrpas bien long par rapport la simplicit de l op ration L auteur n appr ciant gu re la lourdeur ne jurant que par le Basic et pr f rant les outils de d veloppement gratuits il ne pouvait pas rester insensible aux charmes d une tout autre approche qu il va maintenant vous pr senter avec une certaine jubilation 2 2 LA BASICCARD Fondamentalement la BasicCard est la premi re carte puce programmable en Basic et m me depuis l abandon de Windows for sma
42. aimablement offerte par ACS qui constitue une excellente introduction au d veloppement d authentiques applications PC SC sous Delphi Dans le sous dossier CLASSINS se trouvent les diff rents l ments code source ZCBasic et ex cutables compil s du scanner de commandes pr sent au chapitre 2 Dans le r pertoire AUTH enfin on trouvera les applications carte et terminal utilis es dans les exp riences d authenti fication interne et externe sugg r es au chapitre 2 R pertoire Pocket C est ici que l on trouvera le n cessaire pour transformer une ZC 3 3 ou une ZC 3 9 en espion de terminal T 1 susceptible d tre relu avec le lecteur de poche Pocket Reader que contien nent les kits BasicCard du commerce http www hitechtools com R pertoire SIM Outre la toute derni re version Phase 2 de notre mulateur BasicSIM destin e tre programm e dans une BasicCard ZC 5 4 Rev A uniquement ou ZC 5 5 Rev B ce dossier contient notre application ZCBasic d exploration de cartes SIM Toolkit code source STKM BAS et ex cutable STKM EXE Un sous dossier Auth contient le programme code source et ex cutable destin aux exp riences d authentification propos es au chapitre 4 R pertoire SMS Dans ce r pertoire figure tout le n cessaire pour charger dans une carte SIM en cours de validit toutes sortes de mini messages
43. apporte les primitives de base comme l attente d une carte Wa tForCard ou de son retrait Wa tForNoCard COMMERRLDEF pour sa part permet CheckSW1SW2 d afficher les ventuels messages d erreur carte en clair et non plus sous la forme peu parlante de codes num riques 37 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OULU PLUS LOIN AVEC LES CARTES A PUCE La ligne ComPort 101 joue un r le important dans la mesure o elle indique que le programme doit se servir du lecteur PC SC num ro 1 On lui substituerait ComPort 1 si l on voulait faire fonctionner en mode propri taire un lecteur CyberMouse branch sur le port s rie COM1 Cette ligne peut ventuellement tre omise mais il faut alors d clarer le lecteur utilis dans la variable d environnement ZCPORT de Windows ajouter la ligne SET ZCPORT 101 dans l autoexec bat par exemple En fait la t che principale tient en une ligne la cinqui me on y d clenche comme il faut syst matiquement le faire le reset de la carte puis on s assure qu il ne s est pas produit d erreur Les caract res historiques de son ATR peuvent alors tre r cup r s dans la cha ne P pr c demment affect e cet usage C est aussi simple que cela et tout le reste n est que de la mise en page Bien entendu des applications infiniment plus ambitieuses peuvent tre d velopp es en ZCBasic et nou
44. aupr s de Conrad Elec tronique cela pour les lecteurs se branchant sur un port s rie car il existe aussi des lecteurs PC SC pour port USB port clavier dit PS2 ou port PCMCIA Moyennant l installation r ussie des bons drivers une appli cation d velopp e dans l esprit PC SC doit fonctionner de fa on transparente sur tout lecteur PC SC quel que soit le port mat riel qu il utilise Notre ouvrage T l phones portables et PC paru dans cette m me collection en fournit la parfaite illustration partir de sa seconde dition ao t 2002 son c d rom contient toute une collection d utilitaires PC SC pour cartes SIM 6 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE Mais la plupart des lecteurs PC SC disposent galement d un mode de fonctionnement propri taire plus ou moins s v re ment incompatible avec le mode PC SC Il peut servir et nous ne nous en priverons pas g rer des cartes ou des fonctionnalit s non support es par la sp cification PC SC ou bien et c est nettement moins glorieux emp cher l utilisa tion avec un lecteur concurrent d un logiciel servant de produit d appel D une fa on g n rale si le driver PC SC d un lecteur est install il s activera spontan ment si le lecteur est d j connect au PC lors de sa mise en route comportement Plug amp Play Cela contrariera alors bien s
45. avanc e 70 3 2 Un adaptateur PC SC pour cartes synchrones 81 3 3 Un espion de cartes puce synchrones 90 4 Autour des cartes SIM 103 5 Autour des cartes sant 130 6 Autour des cartes de paiement 141 7 Le c d rom du livre 159 69 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES PUCE C est avec des cartes synchrones et en particulier avec des t l cartes puis es que l on commence g n ralement bricoler les cartes puce cela en attendant de succomber la tentation de s attaquer aux cartes asynchrones carte bancaire carte Vitale cartes SIM des t l phones portables porte monnaie lectronique etc ce stade le savoir faire progressivement acquis incitera bien souvent l explorateur s int resser de nouveau aux cartes syn chrones mais avec des moyens d investigation nettement plus puissants Tel est pr cis ment le th me de ce chapitre 3 1 DES OUTILS D EXPLORATION AVANC E Dans leur grande majorit les heureux possesseurs d un lecteur de cartes puce ACR 20 ACR 30 ou CyberMouse sont loin de se douter qu il permet de lire et crire dans toutes sortes de cartes puce synchrones cela gr ce un logiciel fourni gratuite ment par son fabricant ACS ou m me en d veloppant carr ment une application sur mesures autour d un contr le A
46. broches du PIC utilis es pour la communication m nageant ainsi la possibilit d ventuelles extensions du mon tage partir des lignes d entr e sortie restant disponibles C est l toute la diff rence avec un microcontr leur sp cialis qui utilise couramment jusqu 36 lignes pour piloter un afficheur sans intelligence incorpor e et donc tr s largement moins co teux en production de s rie Le PIC sera programm au moyen du fichier I2CPIC HEX produit par le compilateur et dont notre c d rom contient une version enrichie des positions des fusibles de configuration oscillateur en mode XT WDT OFF PWRT OFF et CP OFF 18 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE On remarquera au passage que l op ration ne consomme que 391 mots de m moire soit un gros tiers des 1 024 mots disponi bles dont l essentiel correspond d ailleurs aux biblioth ques de gestion de l afficheur et du bus I2C Le PIC sera mont de pr f rence par l interm diaire d un support contacts tulipe et il ne restera plus qu alimenter la maquette sous une tension continue de 9 ou 12 V L alimentation se faisant travers le contact pr sence carte du connecteur de carte puce rien ne doit se passer tant qu une carte n est pas introduite ce moment seulement l afficheur doit s clairer et la lecture peut commencer Apr s le
47. carr ment le syst me d exploitation des ZC 4 x Mais ce n est pas tout loin de l cette nouvelle BasicSIM appartient la phase 2 et non plus la phase 2 suppor 104 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM tant par cons quent des fonctionnalit s SIM Toolkit il reste n anmoins possible de la brider la phase 2 en remettant 02h l unique octet que contient le fichier 7F20 6FAE En pratique elle dotera tout t l phone portable compatible d un menu suppl mentaire baptis Proactive Parmi les fonctions Proactive SIM auxquelles il donne acc s signalons la lecture instantan e du Terminal Profile du t l phone ainsi que l activation la d sactivation et le vidage du fichier log dans lequel la carte peut enregistrer les commandes qu elle re oit Le programme SPYUTIL EXE offre des possibilit s compa rables depuis le lecteur du PC mais aussi et surtout celle de rapatrier ce fichier CARD LOG sur le disque dur des fins d analyse approfondie noter que contrairement la version pr c dente cette Basic SIM n a pas besoin d tre initialis e avant sa premi re utilisation elle le fait spontan ment Bien entendu nos lecteurs sont invit s se reporter l ouvrage pr cit 2
48. ce que fait notre programme CB2 BAS ou sa version compil e CB2 EXE En toute rigueur la s ret du syst me suppose que l on n utilise chaque al a ou num ro de clef qu une seule et unique fois Remarquons tout de m me qu un texte al atoire de 256 octets peut tre scind en 42 cha nes de 6 octets ce qui suffit ample ment pour g n rer un couple al a r sultat chaque jour pendant un bon mois On peut donc imaginer que chaque mois l on doive r habi liter la carte en lui faisant produire une trentaine de couples al a r sultat dont on utilisera un nouveau chaque jour pour acc der un local ou pour d marrer un poste de travail informa tique au lieu d afficher simplement Carte reconnue Cela en se servant tout simplement de sa carte bancaire habituelle p rim e ou en cours de validit ce qui ne lui fera aucun mal Et pour aller encore plus loin dans la voie de la s curit pourquoi ne pas imaginer d effacer du fichier KEY KEY tout couple ayant servi une seule fois ou encore de produire les couples partir d une adresse n cessitant la pr sentation du code confidentiel de la carte On authentifierait ainsi non seulement la carte mais aussi son porteur Enfin n oublions pas l approche qui consisterait nous y voila remplacer le fichier KEY KEY par une seconde carte munie du m me jeu secret ins r e dans son propre lecteur On viendrait alors comparer sa r ponse
49. celui ci de concentrer tous ses efforts sur la partie applicative de son projet et donc d aller beaucoup plus loin infiniment plus vite sans se disperser Ajoutons enfin que nos fid les ports s rie et parall le pourraient bien dispara tre un jour des PC tandis que certains syst mes d exploitation s ing nient d j d courager leur manipulation directe 1 2 PC SC VERS DES LECTEURS G N RIQUES Aussi aberrant que cela puisse para tre puisque la carte puce est une invention fran aise on aura beaucoup tra n les pieds en France avant de commercialiser des lecteurs de cartes puce aupr s du grand public leur prohibition aurait m me t un moment envisag e C est donc vers l tranger Allemagne Grande Bretagne Asie qu il a fallu se tourner pour d nicher les lecteurs la fois perfor mants et peu co teux qui sont maintenant disponibles au d tail Bien que d excellents lecteurs soient depuis longtemps produits en France et d ailleurs largement vendus l exportation il semble donc vident que l norme march de l quipement des PC grand public profitera surtout des fabricants asiatiques Comprenne qui pourra Quoi qu il en soit il faut aujourd hui consid rer le lecteur de cartes puce pour PC comme un produit g n rique peu importent la marque et le mod le pourvu qu il soit certifi PC SC En clair tout logiciel d velopp dans le resp
50. chaque note d un chif fre pr cisant sa dur e 0 correspondant une note enti re 1 indique une dur e moiti moindre 2 une dur e quatre fois moindre et ainsi de suite jusqu 5 qui correspond 32 fois moins on retrouve l les notions classiques de rondes noires croches etc Pour plus de finesse on peut faire suivre le chiffre d un signe modificateur de dur e un point pour une note point e ou un signe deux points pour une note double point e Sauf indication contraire les notes sont r put es appartenir l octave 4 La 880 Hz identifi e par la notation 4 122 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM S il faut changer d octave on ins rera l indication correspon dante par exemple 5 avant la note jouer Les octaves d finies vont de 0 La 55 Hz 5 La 1 760 Hz mais les plus graves s av rent inexploitables sur les haut parleurs de la plupart des t l phones portables De multiples possibilit s suppl mentaires sont offertes par la sp cification iMelody aux d pens toutefois du nombre de notes pouvant tenir dans les 140 octets de charge utile d un SMS tempo style normal staccato legato volume etc Attention Il faudra scinder toute ligne de texte iMelody plus longue que 75 octets Ma
51. de cartes l autre Les choses peuvent aller infiniment plus loin avec les cartes SIM de Phase 2 autrement dit SIM Toolkit qui adh rent cette fois une normalisation tr s pr cise Non contentes de pouvoir envoyer spontan ment des SMS comme nous venons de le voir elles peuvent aussi en recevoir tr s discr tement Cela aussi bien pour les besoins d une application r sidant d j dans la carte paiement lectronique par exemple que pour la mise en place de telle ou telle fonctionnalit nouvelle 113 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ PLUS LOIN AVEC LES CARTES A PUCE Dans un contexte multiapplication la responsabilit de la man uvre incombe l op rateur ayant mis la carte m me s il l effectue pour le compte d un tiers par exemple une banque La plupart du temps elle se traduit par l apparition de nouvelles options dans le syst me de menus du t l phone mais une application peut aussi rester parfaitement cach e voire dormante Bien videmment de telles possibilit s de t l chargement de code ex cutable souvent des applets Java peuvent faire craindre l introduction de virus ventuellement susceptibles de se propager toujours par SMS aux num ros enregistr s dans le r pertoire de la carte SIM Sans les sp cifications GSM 02 48 et 03 48 qui pr conisent des mesures de s curit parfaite
52. de profiter des am liorations imagin es entretemps par exemple les instructions DATA les parenth ses dans les formules etc sans obliger nos lecteurs acheter la version commerciale DUNOD La photocopie non autoris e est un d lit 29 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE PAGE AUTOUR DES CARTES ASYNCHRONES 2 1 D velopper en PC SC 32 2 2 La BasicCard 34 2 3 Le ZCBasic 35 2 4 Des logiciels d investigation 38 2 5 Des logiciels g n ralistes 42 2 6 Des exp riences d authentification 43 2 7 Des outils connectiques 55 2 8 Un espion de cartes asynchrones 66 3 Autour des cartes synchrones 69 4 Autour des cartes SIM 103 5 Autour des cartes sant 130 6 Autour des cartes de paiement 141 7 Le c d rom du livre 159 31 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULM PLUS LOIN AVEC LES CARTES A PUCE Avec l quipement progressif des PC en lecteurs de cartes puce certifi s PC SC on assiste petit petit au ralliement des d velop peurs d applications professionnels ou amateurs ce standard vraisemblablement appel faire l unanimit Cela d autant plus que d excellents outils de d veloppement sont disponibles dont les plus faciles mettre en uvre sont enti rement gratuits Il n
53. en poss de une on dispose galement d un programmateur ad hoc Il y avait l une excellente occasion de simplifier notre montage en n y incorporant aucune fonction de relecture de la m moire 97 Figure 3 13 Plan de c blage Le c t composants de la fausse carte DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUL PLUS LOIN AVEC LES CARTES PUCE Cette op ration se fera tout simplement en transportant celle ci puisqu elle est non volatile sur un programmateur capable de lire les 27C64 dont le brochage est 100 compatible en mode lecture Rappelons que notre ouvrage pr cit contient les plans et logiciels d un programmateur extr mement simple convenant parfaite ment cet usage ce stade il est int ressant de commenter quelques chantillons d enregistrements r alis s sur un certain nombre de cartes avec lesquelles le logiciel CardEasy nous a d j donn l occasion de faire plus ample connaissance Ils ont t effectu s soit dans un lecteur maison voir Cartes puce Initiation et applications soit dans un lecteur Cyber Mouse plac pr cis ment sous le contr le du logiciel Card Easy Pr cisons que les octets lus dans la Zeropower sont pr sent s en format d cimal le poids 16 correspondant la ligne d entr e sortie contact ISO 7 Un niveau haut sur cette ligne sera ainsi mat rialis par
54. est un d lit CHAPITRE AUTOUR DES CARTES SANT 5 Une autre m thode consiste programmer la BasicCard pour qu elle enregistre dans sa propre m moire toutes les commandes qu elle re oit du lecteur il suffit pour ce faire d y charger SPYSCOT IMG au lieu d EMUSCOT IMG L utilitaire SPYUTIL EXE servira activer ou d sactiver ce m ca nisme r cup rer l enregistrement dans un fichier CARD LOG sur le disque dur du PC et enfin lib rer la m moire de la carte apr s usage On d couvrira ainsi que bien peu de commandes de lecture suffi sent la plupart des lecteurs pour acc der tout ce dont ils ont besoin Cela pourrait tre BC BO 21 30 28 BC BO 20 C8 30 BC BO 02 98 04 BC BO 03 50 1C BC BO 02 FO 30 D s lors il suffit d examiner attentivement les donn es tr s personnelles retourn es par la carte pour s apercevoir que presque tout est finalement enregistr en clair Simplement les lettres uniquement des majuscules sont cod es sur seulement 5 bits selon le tableau 5 1 Tableau 5 1 P 10000 Le codage des lettres A 00001 Q 10001 B 00010 R 10010 c 00011 S 10011 D 00100 T 10100 E 00101 U 10101 F 00110 V 10110 G 00111 W 10111 H 01000 X 11000 I 01001 y 11001 J 01010 Z 11010 K 01011 L 01100 M 01101 N 01110 0 01111 Les chiffres pour leur part sont tr s classiquement cod s en BCD sur 4 bits selon le tableau 5 2 137 DUNOD 2004 Plu
55. et par cons quent d en appr cier objectivement la qualit C est la firme britannique Crownhill Associates d ailleurs tr s active dans le domaine des cartes puce qui dite ce compilateur Le c d rom de cet ouvrage contient dans le dossier TERMIN deux versions Lite assez repr sentatives de l volution du produit e la version 7 00 setup700 exe supporte de nombreuses r f rences de PIC dont les 12C50x ce dont nous ne nous priverons pas de profiter un peu plus loin Comme toutes les versions interm diaires de n importe quel logiciel elle souffre toutefois encore de quelques imperfections parfois d licates contourner e la version 7 10 setup710 exe tr s sensiblement am lior e ne supporte plus en revanche que le PIC 16F84 Les versions ult rieures pourront tre t l charg es sur le site http www letbasic com sous la forme d un unique fichier nomm setup exe L ex cution de ce fichier entra ne l installation du logiciel et d une version r cente de MPASM pour Windows le tout tant accom pagn d un manuel tr s complet en format PDF Celui ci est galement reproduit dans sa version 7 sur notre c d rom et ses versions successives seront aussi t l chargeables sur le m me site On s apercevra imm diatement que cet outil se d marque claire ment du PBasic Parallax Basic h rit du Basic Stamp pour revenir un dialecte beaucoup plus g n raliste de ce
56. exploit La valeur FOh correspond ainsi au codage sur 7 bits d un SMS de classe 0 ne devant pas tre enregistr dans la carte SIM lors de sa r ception mais seulement affich Message Flash 04h indiquerait par contre que le message cod sur 8 bits n appartient aucune classe particuli re et doit donc tre automatiquement sauvegard C est l que l on butera sur une caract ristique de certains t l phones r cents qui refusent de transmettre et ou d afficher les SMS appliquant ce codage utilisateur 8 bits Les mobiles les plus anciens ne souffrent g n ralement pas de cette limi tation et s ach tent d occasion pour une bouch e de pain Un mod le convenant particuli rement bien aux exp riences qui nous int ressent est le Philips FIZZ information libre de toute publicit VALS pr cise la dur e de validit du message c est dire le temps pendant lequel le SMSC est pri de tenter d acheminer le message si le mobile destinataire est indisponible par exemple arr t Cette valeur ob it un codage complexe mais voici quelques exemples amplement suffisants 05h 30 minutes 0Bh 1 heure 17h 2 heures A7h 24 heures ABh 5 jours FCh 60 semaines TXT repr sente le contenu utile du message dont LTX indi que la longueur en caract res En codage 8 bits ce sera tout simplement le nombre d octets mais en codage 7 bits ce sera le nombre de septets
57. m me processus de concat nation de la clef secr te et de la cha ne al atoire La g n ration de celle ci associe plusieurs processus pseudo al atoires bien que notre application ne n cessite pas vraiment un hasard de qualit cryptographique il suffit que la cha ne al atoire soit diff rente d une fois sur l autre et autant que possible impr visible La graine seed n cessaire la culture de cha nes al atoires est ainsi obtenue en construisant le texte hexad cimal d une valeur num rique fournie sur 4 octets par la fonction RND du Basic Bien entendu nos lecteurs pourront remplacer la derni re ligne par leur propre application crite en ZCBasic d ailleurs pas forc ment orient e cartes puce puisque le ZCBasic est aussi un fort honn te Basic g n raliste Une autre approche pourrait consister programmer ici une sous fonction indispensable l ex cution d un logiciel d velopp par exemple en Delphi et que celui ci appellerait dans une fen tre visible ou non par un CreateProcess Sur le plan purement s curitaire une remarque s impose toutefois Volontairement compos e d un texte intelligible la lecture la cha ne servant de clef secr te KEY appara t en clair dans l ex cutable obtenu par compilation Une fa on l gante d viter de ruiner ainsi toute la s curit du sys t me consiste traiter CHECK EXE avec un quelconque logiciel
58. marque voire le mod le de son t l phone Re ue sur un mobile non compatible une m lodie prendra souvent la forme d un texte sybillin mais dont l analyse octet par octet sera l encore riche d enseignements 120 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit 07 XX 49 3A 53 65 4c FF FF FF FF CHAPITRE AUTOUR DES CARTES SIM Tout aussi int ressante est l tude du contenu de messages com pos s mettons sur un Alcatel One Touch 311 compatible EMS dans lesquels on aura ins r une m lodie R cup rons donc sans m me le transmettre un SMS ainsi cons truit puis soigneusement sauvegard dans la carte SIM 07 91 33 86 09 40 00 FO 41 FF 0B 91 33 x6 xx 3 A 83 xx Fx 00 00 5F 4F OC 4D 03 42 45 47 49 4E 3A _O M BEGIN 4D 45 4C 4F 44 59 0D OA 56 45 52 53 49 4F 4E IMELODY VERSION 31 2E 30 OD OA 46 4F 52 4D 41 54 3A 43 4C 41 1 0 FORMAT CLA 53 31 2E 30 0D 0A 4D 45 4C 4F 44 59 3A 64 33 SS1 0 MELODY d3 34 64 34 65 33 3A OD OA 45 4E 44 3A 49 4D 45 e4d4e3 END IME 4F 44 59 OD OA 10 14 0E 01 FF FF FF FF FFFF LODY FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ceecee FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF eee FF FF FF FF FF FF FF FF FF FF FF FF FF FFER eee FF FF FF FF FF FF FF FF FF FF FF FF FF FFER ceecee Le point de d part de l exploration se situe ici au niveau du dixi me des
59. on a besoin d enregistrer l activit souvent int ressante mais lors de la mise sous tension du montage en m me temps que la carte et donc avant le reset de cette derni re Selon les cas on peut donc commencer l enregistrement la seconde adresse de la m moire et non pas la premi re qui contiendra alors une valeur plus ou moins al atoire Il suffit de le savoir et d en tenir compte lors de l interpr tation de l enregistrement Pour les cas difficiles il est d ailleurs possible d ajouter un pous soir de remise z ro RAZ manuelle Il permettrait par exemple de court circuiter un processus d initialisation que l on aurait d j tudi en long et en large pour n enregistrer que ce qui se passe lors d une op ration bien particuli re sciemment d clen ch e au moment opportun 93 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE E PLUS LOIN AVEC LES CARTES PUCE a o LE E X LLL Le circuit imprim principal de l espion L int gralit du montage tient sur un circuit imprim simple face dont la figure 3 10 fournit le trac assez dense mais ne pr sentant pas de v ritable difficult de gravure Tout au plus fera t on attention aux trois fines pistes qui passent entre les pastilles du 4040 mais il s agit l d une technique courante La mise en place des composants dont trois straps se fera selon le plan de la figure 3 11
60. r clame pas d accus de r ception ou 31h dans le cas contraire PID d finit le protocole que l on souhaite employer la valeur par d faut qu utilisent les t l phones portables tant 00h La valeur 5Fh sugg re ici au mobile d offrir une possibilit de rappel imm diat du num ro de l exp diteur une formule normalement destin e aux op rateurs pour avertir de l arriv e d un message dans le r pondeur mais que l on peut tr s faci lement s approprier Les valeurs 7Fh 7Dh et 7Eh identifieraient des SMS desti nation respectivement du syst me d exploitation de la carte SIM ou du t l phone ou destin s d verrouiller le mobile distance Il est int ressant d observer dans quelle mesure les r seaux et ou les SMSC refusent l acheminement des SMS de cet acabit potentiellement suspects lorsqu ils manent d un particulier et non d un op rateur Une valeur 3Fh enfin indiquerait au SMSC qu on lui demande de se charger d une conversion de format par exemple de 8 bits vers 7 bits DCS d crit pr cis ment le type de format utilis la valeur par d faut tant l encore 00h Dans ce mode texte on utilise un codage affreusement compliqu servant juste emballer 160 caract res 7 bits dans 140 octets ce qui n est pourtant pas 115 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ PLUS LOIN AVEC LES CARTES A PUCE un
61. se voit fort bien dans la r ponse au reset avec l utilitaire Analyser exe dossier ACS du c d rom qui pourrait affi cher par exemple un rapport ressemblant ceci ATR Analyser Developed by Advanced Card Systems Ltd ATR 3B E2 00 FF 81 31 20 75 90 00 TS 3B Direct convention TO E2 TB1 TC1 1D1 2 bytes historical bytes follow TB1 00 II 0 P1 0 TC1 FF N 255 TD1 81 TD T 1 protocol is supported TD2 31 TA TB 1 1 protocol is supported TA3 20 IFSC 32 TB3 75 CWT 18 work etu BWI 7 F 372 D 1 I 25 P RFU N minimum default T01 90 The meaning of these historical bytes are proprietary T02 00 End of Report Le lecteur de poche XL 2500 pour sa part semble consid rer par d faut que toute carte T 1 qui lui est pr sent e est un PME Mon o Comme on peut se tromper Mis en pr sence de notre BasicCard PRSpy il lui transmettra les yeux ferm s la suite d en t tes de commandes suivante 00 A4 04 OC 06 00 B2 01 64 04 00 B2 01 BC 16 Avant m me d avoir eu la moindre carte Mon o entre les mains on sait donc d j par quel bout commencer son exploration elle reconna t la classe 00h la plus courante et les instructions normalis es A4h Select et B2h Read Record On se doute qu il ne sera pas bien difficile de pousser plus loin les investigations par exemple avec notre espion de cartes
62. technique est naturellement n cessaire pour d clencher une criture en m moire impulsion n gative sur WR un peu apr s chaque front avant et arri re Ce r sultat est obtenu en diff rentiant la fois le signal d horloge et son compl ment logique puis en appliquant une fonction ET ces deux canaux Les valeurs des r seaux RC diff rentiateurs sont fix es par la limite sup rieure de la fr quence d horloge 50 kHz et il en va de m me pour le condensateur 470 pF charg d augmenter arti ficiellement le temps de propagation du circuit DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES SYNCHRONES ADR 0 1 2 3 4 5 6 7 CLK Ao 4 ISO 2 D7 128 ISO 4 D6 64 ISO 7 D4 16 ISO 8 D5 32 ISO 1 Vcc ISO 5 Gnd ISO 6 Vpp N C DO D3 0 Figure 3 9 Le chronogramme d taill Le chronogramme de la figure 3 9 montre comment on arrive ainsi commander la m morisation un instant o les niveaux sont stables condition n cessaire l acquisition de donn es pr sentant toutes garanties de validit Une exception qui confirme la r gle est le premier octet de la 48708 dont la valeur ne sera g n ralement pas significative En effet la remise z ro du compteur d adresses ne se fait pas partir du contact Reset de la carte puce dont
63. un quivalent doit absolument faire partie de la panoplie d utilitaires de tout possesseur d un lecteur PC SC quelle qu en soit d ailleurs la marque Il permet en effet de composer de toutes pi ces des commandes ISO 7816 pour dialoguer en direct avec n importe quelle carte asynchrone Cette petite application supportant aussi bien les cartes T 1 que T 0 on notera que dans ce second cas il faudra indiquer une longueur de bloc de donn es seulement dans Lc si la commande est entrante ou bien uniquement dans Le si la commande est sortante l octet de longueur inutilis tant alors mis 00h De son c t PCSCINEEXE est un outil de test servant faire l inventaire des lecteurs PC SC connus du syst me d exploita tion qu ils soient actuellement connect s ou qu ils l aient t un Jour Un lecteur logiciellement install mais physiquement d connect sera ainsi list mais signal comme tant en d faut Pour notre part nous avons souhait montrer nos lecteurs avec quelle simplicit le ZCBasic peut lui aussi interroger le syst me d exploitation au sujet des lecteurs PC SC r pertori s Un code source d une seule et unique ligne suffit ainsi pour affi cher le nom du lecteur PC SC num ro 1 qui sera d ailleurs bien souvent le seul If PCSCCount gt 0 Then Print PCSCReader 1 Il convient d admirer cette tonnante simplicit en songeant au nombre de lignes de code qu
64. un fichier CLASS BAS et le r sultat de sa compilation CLASS EXE 40 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES L ex cution de ce programme interm diaire produit le fichier CLA BAS tellement compliqu que sa compilation en CLA EXE prendra un bon moment Ex cutons maintenant ce dernier programme et nous verrons progressivement s afficher toutes les classes ISO que reconna t la carte ins r e dans le lecteur PC SE bien s r Il peut n y en avoir qu une par exemple BCh pour une carte bancaire ou A h pour une carte SIM de t l phone portable ou bien plusieurs 00h est d ailleurs une valeur par d faut assez r pandue Il est int ressant d observer comment certaines cartes reconnais sent une ou plusieurs classes secondaires inutilis es pendant la phase de vie normale de la carte Il est bien tentant d imaginer que les commandes employant cette classe ne serviraient qu en usine lors de la production des cartes Pr cisons tout de m me que chaque classe possible est essay e avec un code op ratoire INS gal 00h Cette valeur ne corres pondant la plupart du temps aucune commande valide on n a normalement pas craindre de d clencher une catastrophe dans la carte On sait bien cependant que le risque z ro n existe pas
65. une valeur 16 si tous les autres contacts sont au niveau bas ou encore par 80 si le contact ISO 4 poids 64 et lui seul est simultan ment au niveau haut Cela correspond deux variantes courantes du processus de remise z ro de la carte On ne manquera pas de remarquer galement la diff rence de comportement entre les t l cartes T1G d origine Texas Instru ments TMS 3561 et STMicroelectronics 511200 les premi res pr sentent le bit lu sur le contact ISO 7 d s que le contact d horloge ISO 3 arrive au niveau haut Les secondes attendent par contre le retour de celui ci au niveau bas L se situe l explication de ces tr s nettes colonnes de valeurs 80 qui correspondent cet tat transitoire 1 sur ISO 7 pendant qu ISO 3 est 1 et cela quel que soit l tat du bit adress Et ne parlons m me pas de ce qui se passe avec les lecteurs et ils sont l gion qui ne d livrent pas de 5 volts au contact Vpp ISO 6 Bien que plus complexe le protocole des cartes I2C est galement d cortiqu dans ses moindres d tails par notre montage on peut suivre tr s nettement les tats de la ligne SDA poids 16 au fil des transitions aussi bien positives que n ga tives de la ligne SCL horloge 98 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit 64 80 64 64 64 80 64 80 80 80 64
66. 0 Philips disponible au d tail chez Selectronic cela afin de profiter d un second p riph rique virtuel capable de g rer de fa on transparente l acc s une m moire 2C externe par ses lignes SCL et SDA horloge et donn es Le sch ma de la figure 1 3 montre toutefois que le PIC 16F84 ou 16C84 communique avec les autres contacts du connecteur de carte d o la possibilit de reprogrammer le montage pour lire peu pr s n importe quelle sorte de carte synchrone Nous verrons au chapitre 3 comment prendre connaissance du protocole de communication de ce genre de carte m me inconnue en vue d en programmer les principales micro instructions sous la forme de quelques lignes de Basic cela au prix de l cri ture d un logiciel forc ment plus long et exigeant donc le recours la version payante du compilateur Pour l heure le code source que voici affiche le r sultat de la lecture sous la forme de seize groupes de seize octets convertis chacun en un caract re d duit du code ASCII correspondant L exp rience montre en effet que bien des cartes I2C contiennent en r alit des caract res ASCII cartes jeu longtemps distribu es par Gemplus au salon CARTES Password Card de Towitoko utilis e pour m moriser les mots de passe d un utilisateur de PC etc Chaque bloc de caract res est affich pendant une seconde et demie six fois le maximum de 255 ms autoris par le compila 14 D
67. 1 chez Infineon n exige lui aussi que du 5 V On retrouve la GPM896 et ses quivalents dans des applications de type cartes de fid lit et de petite mon tique stationne ment clubs restauration transports etc Cartes protocole 3 fils code famille 05h e SLE4418 SLE4428 Siemens Infineon e GPM amp K Gemplus e Primeflex Store 8K Schlumberger Ces cartes dites intelligentes et par cons quent difficiles mettre en uvre sur des lecteurs maison offrent une capacit assez importante de 1 Ko soit 8 192 bits tout moment chaque octet peut tre prot g individuellement contre l criture et cela de fa on irr versible Par rapport au SLE4418 le SLE4428 dispose en suppl ment d un syst me de code confidentiel 2 octets tant que celui ci 76 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES n aura pas t pr sent seules des op rations de lecture pourront tre r alis es Bien entendu la carte se bloque d finitivement au del d un certain nombre de pr sentations de codes erron s Cartes protocole 2 fils code famille 06h e SLE4432 SLE4442 Siemens Infineon e PCB2032 PCB2042 Philips e GPM2K Gemplus e Primeflex Store 2K Schlumberger ELEA 500 Elea CardWare iE CardEasy lel xi View Help
68. 6F 69 L octet 21 en sixi me position identifie un ordre DISPLAY TEXT ledit texte Echec envoi occupant les onze derniers octets du bloc de donn es On le voit ce genre d investigation n est pas pr cis ment simple mais permet de mettre en vidence des quantit s de choses que les op rateurs s vertuent dissimuler Cela m rite bien quelques efforts commencer par la lecture attentive de la sp cification GSM 11 14 4 3 BRICOLER LES SMS Les SMS Short Message Service constituent un service essentiel du syst me GSM et sont surtout connus sous la forme de mini messages d un maximum de 160 caract res affichables Il faut cependant savoir que la norme d finit de tr s nombreuses variantes dont des possibilit s de concat nation permettant de mettre plusieurs messages bout bout pour transporter des volumes de donn es plus importants 112 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM Il existe aussi des cat gories de SMS dont la r ception peut se faire totalement l insu de l utilisateur en vue d op rer des modifications plus ou moins profondes dans les cartes SIM ou les m moires non volatiles des t l phones En milieu industriel enfin les SMS sont de plus en plus souvent utilis s pour t l commander et t l surveiller toutes sortes d qu
69. 7 Les micro instructions mises en uvre Chacun aura compris que tout le secret de ce montage r side dans le logiciel fichier SYNC HEX qui devra tre programm dans le PIC Le code source de celui ci associe la partie sp cifique la lecture criture des t l cartes SYNC ASM au jeu de routines T 0 d crit dans notre ouvrage PC et cartes puce Du c t asynchrone le montage se comporte comme une carte qui ne reconna trait que les deux commandes ISO suivantes e 22 44 00 00 00 avance d un bit avec lecture e 22 22 00 00 00 mise 1 du bit courant Cela correspond respectivement aux micro instructions UP et PGM de la figure 3 7 la micro instruction RESET tant pour sa part automatiquement ex cut e toutes les fois que le lecteur PC SC effectue lui m me un reset ISO 2 ISO 4 ISO 3 p a efo lije Pr cisons que la dur e des impulsions d horloge CLK appli qu es la t l carte de quelques microsecondes quelques milli secondes selon l op ration effectuer est calibr e par le PIC partir de la fr quence d horloge mise par le lecteur PC SC de l ordre de 3 58 MHz DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES Il en r sulte que le timing est syst matiquement correct quelle que soit la fr quence d horl
70. CD Rom Patrick Gueulle EE E PLUS LOIN AVEC LES CARTES PUCE ADC Zone confidentielle 2F8 AD1 Zone des clefs 210 ADS Clef de transaction 230 AD2 Zone des codes 2C0 Num ro de Fabricant 1 Avec une carte mise quatre ans plus t t par la m me banque on pourrait obtenir Code Application 3FE5 ZF Zone de fabrication gco ADL Zone de lecture 8E0 ADT Zone de transaction 2B0 ADM Zone d tat 290 ADC Zone confidentielle 2B0 AD1 Zone des clefs 210 ADS Clef de transaction 230 AD2 Zone des codes 278 Num ro de Fabricant 2 0 11 91 11 93 06 96 03 98 03 00 06 00 06 02 DATE D MISSION CLEFS FABRICATION OUVERTURE BANQUE A 230 ADS 248 JEU SECRET 0 G ERS BORTECE CLEF DE TRANSACTION 480BITS 128BITS 278 300 B0 B0 CLEFS PORTEUR g 2 CODES CONFIDENTIELS E i 816 128 BITS S o OCTETS ZONE D TAT fi 20 ON EEPROM 2 pe per i BUGG Nera M 92 ZONE 676 CLEFS a CONFIDENTIELLE OCTETS PORTEUR 9 208 ADM a pes 156 OCTETS FFh 128 ca SELON BANQUE BITS Q 2F8 ADT 636 3E8 i ZONE DE TRANSACTION 7F0 f ADL 520 OCTETS 7 L FFFFFFFF 636 232 228 OCTETS TREMENTS 8E0 ZONE DE LECTURE LIBRE 900 9C0 ZONE DE FABRICATION 32 OCTETS y A00 Figure 6 1 La carte bancaire travers les ges 144 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La phot
71. CHAPITRE TABLE DES MATI RES PAGE Avant propos VII Les lecteurs de cartes puce 1 11 Construire ou acheter 2 12 PC SC vers des lecteurs g n riques 4 13 Des lecteurs de poche 7 1 4 Des terminaux autonomes 11 1 5 Un lecteur autonome maison 12 16 Des serrures cartes puce 19 Autour des cartes asynchrones 31 2 1 D velopper en PC SC 32 2 2 La BasicCard 34 2 3 Le ZCBasic 35 24 Des logiciels d investigation 38 25 Des logiciels g n ralistes 42 26 Des exp riences d authentification 43 2 7 Des outils connectiques 55 28 Un espion de cartes asynchrones 66 Autour des cartes synchrones 69 3 1 Des outils d exploration avanc e 70 3 2 Un adaptateur PC SC pour cartes synchrones 81 3 3 Un espion de cartes puce synchrones 90 Autour des cartes SIM 103 41 Une BasicSIM PHASE 2 104 42 Explorer les cartes SIM Toolkit 105 43 Bricoler les SMS 112 44 Des exp riences d authentification 127 Autour des cartes sant 129 5 1 La carte Vitale une carte SCOT 130 5 2 Des myst res dissiper 132 vV DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE a r UO aM PLUS LOIN AVEC LES CARTES PUCE 5 3 Une n cessaire surveillance 133 5 4 Des copies de sauvegarde 135 5 5 Et avec un lecteur de poche 136 5 6 Des exp riences d authentification 138 6 Autour des cartes de paiement 141 6 1 L volution des cartes bancaires 142 6 2 Par o commen
72. FF FF FF FF FF FF FF lt 00 01 00 00 00 20 gt 9000 SWL SW2 gt 43 41 52 54 45 53 39 38 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ST14C02C ST14C04C STMicroelectronics Philips GEMIK GFM2K GFM4K GFM8K Gemplus Open 2K Open 4K Schlumberger Update m Memory area to be updated Start Length fzo Read Again 43 41 52 54 45 53 39 38 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 Write options Normal tre HE SeECted COrntECt WIE Gl Erase the complete card content with FE Wiehe comp ete cardicarnterit WA oo 00 Cie poecihe MENON Cie can the menoy M Backup bteneoed Vemeounten D marrer f CardEasy R Paint Shop Pro 78 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES Les cartes de cette famille offrent un acc s totalement libre aux donn es qu elles contiennent aussi bien en lecture qu en criture Organis e par octets et non plus par bits leur m moire peut atteindre une capacit de 2 Ko soit 16 384 bits Leur protocole de communication est conforme la sp cification I2C la ligne SCL du bus correspondant au contact d horloge et la ligne SDA au contact d entr e sortie de donn es Le cas ch ant les cartes puce I2C
73. IEI Information Element Identifier peut prendre 256 valeurs diff rentes dont certaines sont des plus sensibles contenus destin s des interventions Over The Air dans la carte SIM par exemple En ce qui nous concerne le contenu utile de l en t te est fort anodin un texte en ASCII 8 bits d crivant une courte parti tion musicale selon le codage iMelody D velopp par l association IRDA http www irda org stan dards pubs imelody pdf ce format de description de m lodies a l avantage de se pr senter sous une forme directement lisible BEGIN IMELODY VERSION 1 0 FORMAT CLASS1 0 MELODY d3e4d4e3 END IMELODY On peut trouver d innombrables fichiers iMelody portant l extension IMY sur Internet en obtenir par transcodage depuis d autres formats musicaux RTTTL MIDI etc ou bien et c est de loin le plus motivant en crire de toutes pi ces si l on poss de quelques notions de solf ge Le format iMelody permet en effet de transcrire les caract ris tiques essentielles d une partition que sont la hauteur et la dur e des notes Dans le cas le plus simple une note sera cod e sous la forme d une lettre minuscule suivie d un chiffre Selon une correspondance famili re aux musiciens c d e f g a et b repr sentent Do R Mi Fa Sol La et Si On peut ajouter un b mol amp ou un di se devant une note tandis qu il est obligatoire de faire suivre
74. M Tout le d tail du fonctionnement du SHA 1 est en effet public puisque d crit dans le document FIPS 180 1 du Federal Information Processing Standards am ricain http www itlnist gov div897 pubs fip180 1 htm En pratique SHA 1 extrait un condens Hash de 20 octets de toute suite d octets de longueur quelconque que l on voudra bien lui soumettre Dans notre cas il s agira de la concat nation de la clef secr te et de la cha ne al atoire concurrence de 256 octets ce qui est amplement suffisant pour l usage qui est le n tre Bien que pr vu pour tre charg dans une ZC 3 3 ou dans une ZC 39 qui sont des cartes protocole T 1 le programme DONGLE BAS a t con u pour pouvoir ventuellement tre r utilis en mode T 0 iR 2 R A BasicCard ER The first smart card you can program in BASIC ZeitControl cardsystems GmbH http www basiccard com 47 La BasicCard Professional est bi protocole T 0ouT 1 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES A PUCE C est pour cette raison qu il est fait appel deux commandes distinctes DONG et RESP respectivement entrante et sortante En pur T 1 il aurait t possible de combiner ces deux com mandes en une seule la fois entrante est sortante Cette l g re complication accentue la ressemblance avec la com mande RUN GSM ALGO
75. M 03 40 et GSM 03 38 Rappelons qu elles sont de nature publique et t l chargeables gratuitement sur http www etsi org Des paiements lectroniques par SMS Le paiement par t l phone portable bi fente quip d un lecteur de carte bancaire est bas sur une carte SIM phase 2 h bergeant une application SIM Toolkit sp cialis e 117 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES PUCE Ce v ritable logiciel embarqu communique d une part avec l utilisateur par l afficheur et le clavier et d autre part avec le serveur mon tique par change de SMS pas forc ment crypt s Normalement mis et re us sans que l utilisateur ne s en rende compte ceux ci peuvent tre d tourn s de leur itin raire normal moyennant un peu d astuce L exemple suivant est une facturette re ue par un mobile en r ponse une demande de rechargement de sa formule pr pay e ce stade il ne s agit que d une op ration pro forma que l on peut valider en l authentifiant avec une carte bancaire ou aban donner Le mobile ayant initi la proc dure de rechargement a t arr t juste apr s la s lection du montant de la recharge puis sa carte SIM a t retir e Ins r e imm diatement dans un autre t l phone suffisamment vieux pour ne pas supporter le SIM Toolkit celle ci a accueill
76. PLUS LOIN AVEC LES CARTES PUCE 1N4001 oP P 12V oatsv PIJN Finas 22 1004F i 0 47 uF 47 Hi 7m 2N2222 se O fi 7 Utilisation OD al 6 8 5 6 1 000 uF o kQ L kQ Tir 4 4 270Q Led N C N ISO l b b Le Vers connecteur de carte puce Figure 1 9 Sch ma de la serrure personnalisable sur une simple pile de 9 V mais il n est nullement interdit d utiliser une alimentation secteur ou une batterie par exemple celle d une centrale d alarme Dans tous les cas un r gulateur 78L05 fait travailler le PIC sous 5 V tandis qu un transistor permet au relais de fonctionner partir de la tension non r gul e 9 15 V La r alisation pratique du module principal suppose la gravure d un circuit imprim conforme au trac de la figure 1 10 puis son c blage selon le plan de la figure 1 11 Un bornier quatre circuits sert au raccordement de la source d alimentation et du circuit command par le contact du relais utilisation tandis qu un tron on de barrette s cable double rang e de picots carr s coud s permet l enfichage de la prise HE 10 dix contacts du c ble provenant d un connecteur de cartes puce 24 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE LES LECTEURS DE CARTES PUCE SRE RELAIS 12
77. Q 1x47Q 1x150 Q 3x3 9kQ 3 x 5 6 KQ 1x27 pF 1x47 pF 16 V radial 2 x 0 22 uF Relais DIL 12 V 2RT Bornier 4 circuits 5 08 mm Barrette s cable doubles picots carr s coud s Barrette s cable picots carr s droits Cavalier de court circuit 2 54 mm Le circuit imprim principal de la serrure 22 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE Rappelons que ce microcontr leur particuli rement conomique ne contient pas d EEPROM de donn es et dispose de beaucoup moins de lignes d entr e sortie ce qui change tr s sensiblement la donne On sait bien que tout l int r t d une serrure carte puce r side dans l infinie vari t des codages envisageables partir de cartes de r cup ration ventuellement reprogramm es Une simple t l carte usag e par exemple renferme un num ro matricule unique facile lire dans sa m moire mais tr s difficile modifier ou contrefaire Une serrure programm e pour reconna tre cet identifiant ne pourra par cons quent tre actionn e que par cette seule et unique carte moins d arriver en fabriquer un clone fid le Diverses approches sont envisageables pour que plusieurs clefs puissent ouvrir la m me porte e programmer la serrure avec une liste limitative d identifiants devant tre indiff remment reconnus e utiliser des cartes contena
78. RICK Mot d option 1 1 1 1 1101000 ADL 08E0 ADT 0280 ADC 0280 ADM 0260 AD2 0248 ADS 0230 Ep 0 Zone de transaction prot g e en criture Lp 0 Zone de transaction prot g e en lecture AD1 0210 N de fabricant 1 CP8 Oberthur N de s rie 00000000000000011111111111 146 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit Mot CHAPITRE AUTOUR DES CARTES DE PAIEMENT des verrous 1 0 0 1 1 10011 carte en phase d utilisation 6 3 L HISTORIQUE DES TRANSACTIONS Occupant entre 50 et 80 de la capacit m moire de la puce la zone de transaction ne peut tre lue qu apr s pr sentation et rati fication d un code confidentiel valide Il est donc bien clair que le porteur de la carte est parfaitement fond prendre connaissance de son contenu soit avec un lecteur du commerce Xiring Lexibook etc soit et pourquoi pas au moyen d un logiciel pour PC D s 1995 l auteur r v lait dans son ouvrage PC et cartes puce comment proc der l op ration avec un lecteur construire soi m me Les choses tant naturellement plus confortables avec un lecteur PC SC une application ZCBasic ADT EXE a t d velopp e depuis pour d charger sur disque l int gralit de la zone de transaction de toute carte bancaire suffisamment r cente Cette restriction est li e au fait que pour d
79. RITHM des cartes SIM auxquelles nous avons d ailleurs emprunt la classe ISO AOh et les codes op ratoires 88h et COh Voyons donc comment est programm e la commande DONG Declare ATR DONGLE include Sha 1 def Public P As String Public KEY c 2001 Patrick GUEULLE Command amp HAO amp H88 DONG S Disable Le SW1SW2 amp H9F14 E KEY S P ShaHash E End Command Command amp HAO amp HCO RESP Lc 0 S S MID P P1P2 1 Le End Command En fait le code source d un programme carte consiste surtout d finir limitativement le jeu de commandes que devra recon na tre la carte Chacune d elles est identifi e par un octet CLA ici AOh et un octet INS ici 88h Les donn es entrantes ou sortantes v hicul es par la commande passent tr s simplement par une cha ne en l occurrence S tant ici pr cis Disable Le que la commande est entrante la carte re oit des donn es mais n en retourne pas La seconde ligne de la commande fixe la valeur des deux octets de compte rendu SW1 et SW2 que la carte doit renvoyer une valeur par d faut de 9000h tant utilis e en l absence d instruc tions contraires ici 9F14h La troisi me ligne exploite le bloc de donn es re u par la carte en le concat nant avec KEY une cha ne qui ayant t pr ala blement d clar e public est accessible partir de tout point du programme 48 DUNOD 2004 Plus loin avec les cartes
80. T 130 5 2 Des myst res dissiper 132 5 3 Une n cessaire surveillance 133 5 4 Des copies de sauvegarde 135 5 5 Et avec un lecteur de poche 136 5 6 Des exp riences d authentification 138 6 Autour des cartes de paiement 141 Le c d rom du livre 159 129 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES PUCE Un peu partout dans le monde il se dessine une tendance la simplification des proc dures bureaucratiques gr ce des outils informatiques au premier rang desquels figurent les cartes puce C est particuli rement net en mati re de cartes d assurance maladie voire de cartes sant au sens le plus large du terme Mais ce n est qu une tape sur le chemin d un v ritable e gouvernement il faut s attendre semble t il ce que chacun poss de un jour une carte multiapplication qui remplacera elle seule la carte nationale d identit la carte d assur social le permis de conduire la carte d lecteur voire certains moyens de paiement et de signature lectronique Cela soul ve tr s naturellement des interrogations en mati re de s ret et de protection de la vie priv e que seule une franche transparence pourrait vraiment dissiper Or on en est tr s loin le culte du secret a la vie dure m me s il a t amplement d montr que loin de contribu
81. UE du dossier CB de notre c d rom contient une application Windows en bonne et due forme capable d afficher et imprimer l int gralit de l historique d une carte bancaire BO ins r e dans un lecteur PC SC correctement install D velopp en Delphi 3 code source fourni dans le sous r pertoire DELPHI ce logiciel sous traite l essentiel de son travail l application ZCBasic appel e par un m canisme CreateProcess qu il n est pas inint ressant d examiner Le m me subterfuge pourrait en effet tre employ dans bien d autres circonstances pour d velopper en PC SC sous ZCBasic sans pour autant renoncer l interface graphique Windows Reste que pour l utilisateur final l installation est extr mement simple il suffit de double cliquer sur SETUP EXE et un assistant cr avec Installshield Express se charge de tout Mais pour les inconditionnels du mode console un fichier batch CB BAT permet d encha ner la panoplie compl te des ex cutables compil s avec le kit BasicCard 4 SET ZCPORT 101 ADL exe ZCdecADL exe ADT exe Type ADT 1og More gt CON En pr sence d un lecteur PC SC on obtiendra d abord l affichage en clair de tout le contenu de la zone de lecture zone de fabrica tion comprise de la carte bancaire que l on voudra bien y intro duire Apr s pr sentation du code confidentiel on visualisera aussi le contenu de la zone de transaction en Francs ou en centi
82. UNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE LES LECTEURS DE CARTES PUCE Contact N O pr sence carte Connecteur de carte puce position ISO o SCL CLOCK 3 CNRS SDA DATA N ISO IE nE i contacts T M Data LED hexa si r tro Afficheur LCD clair PET 2 lignes 16 caract res Sch ma du lecteur autonome programmable en Basic teur surmont d une ligne rappelant ses adresses de d but et de fin en hexad cimal ce qui fournit l occasion d exp rimenter avec plusieurs formes possibles de l instruction PRINT Le cas ch ant il serait d ailleurs extr mement facile de modifier le programme pour que l affichage se fasse en d cimal ou en hexa DEVICE 16F84 INCLUDE LCD INCLUDE I2CBUS DIM B C F G H INIT LCD PortB 15 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE E PLUS LOIN AVEC LES CARTES PUCE INIT I2CBUS for g 0 to 15 CLS H 16 G C H 15 PRINT H C CURSOR 1 2 FOR F 0 to 15 B H F A MEMREAD B PRINT A NEXT F GOSUB tempo GOSUB tempo GOSUB tempo NEXT G CLS PRINT Lecture terminee CURSOR 1 2 PRINT Retirer la carte STOP tempo delayms 255 delayms 255 return END Toute la complexi
83. V B 2N2222 RE f 1000 uF 6 8 kQ mm oG 78L05 22Q 0 47 uF Figure 1 10 Trac du circuit imprim Figure 1 11 Plan de c blage Liste des composants 1 PIC 12C508 programmer LOCK508 HEX ou TEST508 HEX 1 x 78L05 1x 2N 2222 1x 1N 4001 1x 1N 4148 1 Led rouge 3x22 Q 1x5 6 kQ 1x 6 8 KQ 1x3 9 KQ 1x270 Q 3 x 0 47 pF 1x100 pF 16 V radial 1x 1000 pF 6 V radial Le montage sera install en lieu s r autrement dit l int rieur Relais 12 V 2RT DIL des locaux prot g s par exemple au dos d une porte mais pas Bornier 4 circuits trop loin du connecteur viter de d passer 50 cm de c ble m plat 5 08 mm Barrette s cable L ex cution m canique d pendra largement des conditions dans doubles picots lesquelles sera utilis e la serrure une technologie antivandales carr s coud s devant tre envisag e dans les cas les plus difficiles Il aurait naturellement t fort imprudent de r unir tous les com posants du montage sur le m me circuit imprim que le connec 25 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle La serrure personnalisable teur de carte faute commune bien des d veloppements pro fessionnels dont il faut d plorer la conception aussi simpliste Dans certains h tels il suffit m me de retirer les vis d un robuste plastron pour pouvoir extraire tout le montage et acc der d
84. a mon tique ou la t l phonie mobile sont l pour en t moigner Une recette permettant d imiter le protocole T 0 avec un PIC est d ailleurs d taill e dans notre ouvrage PC et cartes puce D un autre c t nous avons d montr au chapitre 1 qu il tait extr mement simple de lire une t l carte avec un PIC et l cri ture n est gu re plus compliqu e Toute l originalit du pr sent projet consiste r unir ces deux techniques dans un seul et m me PIC ins r entre un connecteur de cartes puce et une fausse carte en circuit imprim de 8 10 mm Un prolongateur actif en quelque sorte venant s intercaler entre la t l carte et le lecteur PC SC Sur le plan mat riel rien de plus simple comme en t moigne le sch ma de la figure 3 3 part un condensateur de d couplage du Vcc et une r sistance de tirage sur la ligne de donn es de la carte synchrone il ne s agit que d amener au PIC les contacts des connecteurs m le et femelle On n a m me pas besoin d alimentation ni de g n rateur d hor loge tout cela tant fourni par le lecteur PC SC vrai dire c est surtout la r alisation pratique qui appelle quel ques commentaires Deux circuits imprim s distincts devront tre grav s l un sur de l poxy simple face mince de 8 10 mm figure 3 4 et l autre sur de l poxy simple face ordinaire de 16 10 mm figure 3 5 82 DUNOD
85. a zone d tat celle ci a alors pu tre r duite 128 bits au grand b n fice de la zone de transaction d une capacit record de 816 octets 80 de la m moire disponible avant recyclage Cela jusqu ce que l on s aper oive qu une clef cryptographique de 90 bits ne pr sentait plus des garanties de s curit suffisantes d o une extension 270 bits de ce jeu secret En contrepartie la zone de transaction est tomb e la capacit encore confortable de 792 octets sauf chez les banques se r ser vant une zone confidentielle de 156 octets Souvent compl tement vierge FFh cette zone pourrait bien avoir un rapport avec certains projets parfois mort n s de porte monnaie lectronique L tape suivante concerne la zone de lecture dans laquelle r sident des informations quivalentes ce qui est emboss dans le plastique num ro identit du porteur date de validit ainsi que la fameuse valeur d authentification de 320 bits dite prestataire 03h 145 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUL PLUS LOIN AVEC LES CARTES PUCE L apparition dans cette zone lecture libre d un bloc de 112 octets 4 octets d en t te 2E 16 70 3A baptis prestataire 16h fait penser une seconde valeur d authentification d une lon gueur tournant cette fois autour de 784 bits utiles Cela serait assez c
86. aire Cela peut s effectuer au moyen d un m canisme encore plus simple suffisamment m me pour pouvoir tre programm dans une BasicCard Compact Dans le jargon des d veloppeurs d applications cartes puce on appelle volontiers authentification interne le processus permettant une carte de prouver son authenticit sans pour autant r v ler aucun secret Le dongle dont nous venons de d crire la r alisation fonc tionne selon ce principe Dans le processus inverse commun ment appel authentifi cation externe c est le terminal qui doit prouver la carte qu il conna t la clef secr te qu elle contient mais qui ne doit tre trans mise sous aucun pr texte C est alors la carte qui fournit la demande du terminal un nombre al atoire et le terminal qui retourne celle ci le r sultat d un calcul cryptographique effectu l encore par les deux parties en pr sence Si l authentification interne sert surtout n accorder une presta tion ex cution d un logiciel acc s un r seau validation d un paiement qu au d tenteur d une carte bien pr cise l authentifi cation externe a plut t pour vocation de prot ger l acc s des donn es sensibles stock es dans la carte elle m me Dans un cas comme dans l autre on est cent lieues de l incroya ble na vet avec laquelle certaines applications profession nelles se contentent d un c
87. ait h las que fort peu de chances de s imposer au pays de Colbert 151 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES PUCE MONDEX peut tre le porte monnaie lectronique id al Theure o l auteur crit ces lignes tout laisse penser qu un PME franco fran ais payant centralisateur et potentiellement indiscret ne fera pas vraiment l unanimit Faudra t il donc l incorporer de gr ou de force dans les cartes bancaires lors de leur renouvellement que l on peut cependant toujours refuser Mais le plus croustillant c est qu avant m me d avoir seule ment touch une carte Mon o on peut d j commencer un semblant d exploration Cela en mettant contribution des lecteurs de poche commen cer par celui qui accompagne les kits BasicCard du commerce Le lecteur de poche Pocket Reader des kits BasicCard 152 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES DE PAIEMENT D une fa on g n rale ce Pocket Reader reste trop souvent inemploy et c est fort dommage Il faut dire que l application programm e dans la carte de d monstration qui l accompagne ne met pas vraiment l eau la bouche Elle a tout de m me l int r t de montrer les diff rentes variantes de
88. ation CardEasy offerte par ACS sur le c d rom de cet ouvrage Son installation Setup met automatiquement en place le driver propri taire totalement ind pendant du driver PC SC il faudra donc parfois forcer l environnement dans lequel on souhaite travailler Si le driver PC SC a d j t install il ne faudra brancher le CyberMouse sur le port s rie qu apr s le d marrage r ussi de Windows par exemple l aide d un commutateur R5232 manuel si l on pr f re op rer en mode propri taire d faut de cette pr caution le lecteur ne pourrait pas tre d tect sur le port s rie celui ci tant d j accapar par le driver PC SC L application CardEasy doit tre un peu consid r e comme une vitrine des possibilit s du CyberMouse que le fichier d aide et le manuel PDF d crivent par le menu r pertoire DOC du dossier ACS du c d rom En plus des cartes asynchrones avec leurs classiques commandes ISO 7816 ou APDU le CyberMouse ACR 20 supporte la quasi totalit des cartes synchrones existantes avec leurs ven tuelles fonctionnalit s sp cifiques par exemple l authentification cryptographique des Eurochip En pratique le logiciel dialogue avec le CyberMouse au moyen de commandes sp ciales que le microcontr leur du lecteur traduit en micro instructions de bas niveau propres chacune des familles de cartes support es Des rest
89. caract ristiques tout fait sp cifiques et d ailleurs fort int ressantes ces composants sont couverts par pas moins de trois codes famille distincts Bien que le fichier d aide de CardEasy fournisse des informations relativement d taill es on ne saurait trop conseiller de se repor ter aux documentations du fabricant D une fa on g n rale il convient d ailleurs de noter que certaines puces sont produites en concurrence parfois avec de subtiles diff rences par plusieurs marques de semiconducteurs et que les fabricants de cartes s approvisionnent volontiers aupr s de sources diversifi es Les t l cartes de France Telecom par exemple sont indiff rem ment quip es de puces d origine STMicroelectronics ou Texas Instruments En principe CardBasy sera utilisable avec toutes les r f rences de puces ou de cartes r unies sous un m me code famille et avec leurs quivalents existants ou venir ventuellement disponibles sous d autres marques Retenons par cons quent que cette liste n est en rien limitative En pr sence d un lecteur ACR 30 seul un sous ensemble de cette liste serait support couvrant cependant l essentiel des cas de figure les plus int ressants l onglet About de CardEasy affiche entre autres d tails techniques la liste des codes famille des cartes effectivement support es par le lecteur en place Pour tre parfaitement honn te nous devons reconna t
90. cer l exploration 143 6 3 L historique des transactions 147 6 4 Des exp riences d authentification 149 6 5 Vers les cartes EMV 150 6 6 Et voici Mon o 151 7 Le c d rom du livre 159 VI DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle AVANT PROPOS Qu on le veuille ou non la carte puce n est d cid ment plus la chasse gard e d un club tr s ferm de professionnels N importe quel PC peut d sormais tre quip d un lecteur de cartes puce aussi facilement que d une souris et pour peine plus cher tandis que se d mocratisent des lecteurs de poche faisant entrevoir le contenu des cartes les plus populaires Des outils de d veloppement sur PC puissants et gratuits viennent en m me temps faciliter la cr ation de logiciels capables de lire voire crire dans la plupart des cartes en circulation Certains donnent d ailleurs tout un chacun les moyens de produire ses propres cartes parfois tr s sp ciales Il n en faut pas davantage pour explorer la face cach e des diff rentes applications carte que nous utilisons dans la vie courante et leur d couvrir peut tre des possibilit s insoup onn es Bien mieux l utilisateur final de cartes puce dispose ainsi du n cessaire pour valuer lui m me en toute objectivit le degr de confiance qu il peut raisonnablement leur accorder et apr s tant d ann es de culte du s
91. circuits imprim s des montages propos s ainsi que de puissants outils de d veloppe ment offerts par les partenaires qui nous ont aid s concr tiser ce projet R pertoire ACS On trouvera ici toute la documentation relative aux lecteurs ACR 20 et ACR 30 d ACS http www acs com hk ainsi que plusieurs versions de leurs drivers aussi bien PC SC que propri taires Accompagn de son code source en langage C l utilitaire ANALYSER EXE permet d analyser la r ponse au reset ATR de toute carte asynchrone ins r e dans un ACR 20 s rie ou dans un CyberMouse Pr cisons que le lecteur doit fonctionner en mode propri taire si son driver PC SC a t install on ne branchera le lecteur sur le port s rie qu apr s le d marrage r ussi de Windows R pertoire BasicCard Ce dossier contient l int gralit du kit de d veloppement Basic Card dont le langage ZCBasic et sa documentation en format PDF L ouverture du fichier BasicCardKit msi d clenche l installation de la version 4 52 du kit logiciel de la BasicCard pourvu que l utilitaire Microsoft Installer soit d j install sur le PC d faut InstMsiA exe et InstMsiW exe selon votre syst me sont fournis pour proc der au pr alable cette installation Le fichier bck4_32 zip contient pour sa part la version 4 32 celle l m me dont l auteur s est servi pour d velopper les appli cations PC SC offertes sur ce c
92. com le prototype de la Cartulette avait d j fait sensation au salon CARTES 91 Permettant d s cette poque de consulter l historique des tran sactions d une carte bancaire ou de lire le solde d unit s d une DUNOD La photocopie non autoris e est un d lit 7 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ PLUS LOIN AVEC LES CARTES PUCE t l carte cette maquette avait pour objectif plus lointain de sup porter le PME autrement dit le Porte monnaie lectronique dont La Poste nourrissait l ambition d tre un acteur majeur Quelques ann es plus tard une version coupleur acoustique incorpor tait imagin e l anc tre en somme de bien des pro duits d authentification par t l phone d aujourd hui Maintenant le lecteur de cartes puce de poche se pr sente sous la forme ultra miniaturis e d un porte clefs ou bien d un tui dans lequel la carte peut rester rang e De par ses dimensions plus g n reuses cette seconde pr senta tion permet de mettre en uvre des fonctions de type calcu lette au moyen d un clavier et d un afficheur plusieurs lignes La fabrication de masse est devenue tr s peu co teuse gr ce notamment la technologie chip on board Elle est bien entendu r alis e presque uniquement en Asie soit selon des plans con us en Europe soit partir de d veloppements locaux C est ai
93. compacteur d ex cutables voir par exemple http www blinkinc com Outre la r duction de taille qui est habituellement le but princi pal de la man uvre il en r sulte g n ralement un cryptage qui brouille compl tement la clef Tel qu il est compil ce programme n cessite un lecteur de cartes puce compatible PC SC qui peut tre reli indiff remment un port s rie ou USB condition que les drivers correspondants soient correctement install s 50 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES d faut de lecteur PC SC il suffirait de remplacer la ligne ComPort 101 par ComPort 1 ou ComPort 2 pour pouvoir utiliser la carte dongle dans un CyberMouse s rie branch sur COM1 ou sur COM2 Les heureux possesseurs d un kit BasicCard du commerce devront donc recompiler CHECK BAS ainsi modifi s ils d sirent exp ri menter cette possibilit ou tout bonnement s ils souhaitent mettre en service les lignes REM L authentification externe Nous venons de montrer comment transformer une BasicCard Enhanced en un dongle capable de prouver son authenti cit au terminal dans lequel elle est ins r e R ciproquement une carte puce peut avoir besoin de v rifier que l entit qui cherche communiquer avec elle est bien habi lit e le f
94. consid rer que le dongle est authen tique car ce dernier lui a prouv qu il contenait la bonne clef secr te sans toutefois transmettre celle ci Intercepter et r utiliser une r ponse du dongle ne servirait rien puisque la probabilit est infime que la m me cha ne al atoire soit de nouveau mise par le logiciel si toutefois celui ci a bien t crit en respectant cette discipline s curitaire Enregistrer et analyser un grand nombre de couples question r ponse serait galement inefficace pour autant que l algorithme 46 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES ait bien t con u pour d jouer cette forme courante de crypta nalyse L algorithme SHA 1 se pr te bien ce genre de travail et b n ficie pr cis ment d une grande confiance de la part de l ensemble de la communaut cryptographique internationale Il est d ailleurs employ dans les plus s curis s des iButtons de Dallas les DS 1961S et DS 19635 vocation mon tique Inutile donc d y chercher car elles auraient depuis longtemps t trouv es des failles comparables celles mises en vidence d s 1998 par des universitaires am ricains dans le tr s confi dentiel COMP128 l algorithme d authentification implant par d faut dans les cartes SIM des t l phones GS
95. ctiveX de m me provenance la fois performant et bon march le CyberMouse est large ment compatible avec l ACR 20S parfois baptis Yuhina et quipe notamment le fameux kit BasicCard Cela pour sa version s rie RS232 car il existe aussi un mod le USB ACR 20 U ainsi que des variantes all g es ACR 30 S et ACR 30 U Moyennant l installation d un driver appropri tous ces lecteurs fonctionnent fort bien en mode PC SC ce qui permet de les consid rer comme des lecteurs de cartes puce g n riques pour Windows voir chapitre 1 Dans cette configuration on mettra essentiellement en uvre des cartes puce asynchrones autrement dit microproces seur op rant en protocole T 0 ou T 1 En mode propri taire il est possible de d velopper des appli cations Windows d di es qui ne fonctionneront bien videmment qu avec un lecteur de la marque cela par l entremise d un driver sp cifique ACSR2032 DLL Ce contexte se pr te tout particuli rement la d couverte des vastes possibilit s du CyberMouse en mati re de cartes puce synchrones 70 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES Sans m me crire une seule ligne de code il est possible de se livrer d innombrables exp riences en installant simplement l applic
96. d rom 159 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES PUCE Les versions suivantes seront disponibles au fur et mesure de leur sortie sur http www basiccard com en t l chargement gratuit R pertoire CardEasy Ce dossier contient dans le sous dossier Setup la version compl te du logiciel CardEasy offert par ACS sp cifiquement destin aux lecteurs de cartes puce CyberMouse ACR 20 ou ACR 30 de cette marque on ne tentera donc pas de l utiliser par exemple avec un lecteur maison Une documentation pr sentant ces excellents lecteurs est fournie dans le sous dossier Doc R pertoire CB Il y a l le r sultat de plus de dix ans d exp rimentation autour des cartes bancaires e un jeu de programmes d exploration crits en ZCBasic pouvant tre utilis s s par ment ou appel s tour de r le par CB BAT e une application Windows de lecture de l historique des tran sactions sur un lecteur PC SC sous r pertoire Historique Notons que son code source complet est fourni dans le sous dossier Delphi e diff rents programmes ZCBasic permettant de proc der aux exp riences d authentification du chapitre 6 sous r pertoire Auth R pertoire CyberMouse Ce r pertoire contient la documentation et les drivers du lecteur CyberMouse quipant les kits Ba
97. d instruction inconnue SW1SW2 6E00h De m me chacun est libre de choisir sa guise et selon l inves tigation effectuer le contenu des caract res historiques de la r ponse au reset premi re ligne du code source Une fois la carte retir e du terminal on se servira du Pocket Reader pour prendre connaissance sans quipement lourd de ce qu elle aura ainsi enregistr Il s affichera RST chaque fois que le terminal aura remis la carte z ro lors d une ou plusieurs sessions successives 0000000000 lorsque rien n aura t enregistr ou bien les cinq octets soit dix caract res hexa d en t te des commandes re ues Attention toutefois ne pas confondre b avec 6 ou bien B avec 8 Chaque bloc de donn es lu tant aussit t effac la carte est imm diatement pr te servir de nouveau d s que son contenu a t visualis autant que possible en entier 155 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUL PLUS LOIN AVEC LES CARTES PUCE Comme nous le laissons entendre depuis un moment il est int ressant d exp rimenter cette carte sur des lecteurs destin s au porte monnaie lectronique Mon o En effet celui ci fonctionne en T 1 cons quence directe de l emprunt par notre pays pourtant leader de la carte puce de la technologie vieillissante de la GeldKarte allemande Cela
98. dant aux cartes avec puce en position ISO sont connect s ce qui est compatible avec toutes les T2G et avec les derni res s ries de T1G 83 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE E PLUS LOIN AVEC LES CARTES PUCE Figure 3 4 Trac du circuit imprim 8 10 mm Figure 3 5 Trac du circuit imprim 16 10 mm Dans le cas peu probable o l on tiendrait absolument pouvoir op rer aussi sur de vieilles cartes avec puce en position 84 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES SYNCHRONES TANS Dans lecteur PC SC poxy 8 10 r 5 9000000000 PIC16F84 i 00000000 0 Support wrapper Connecteur de Figure 3 6 Carte Puce Plan de c blage poxy 16 10 Liste des composants PIC 16F84 programmer SYNC HEX 1 x 39 kKQ 1X01uF connecteur de cartes puce support wrapper T l carte DIL 18 AFNOR il suffirait de souder huit courts fils de c blage c t cuivre pour mettre en parall le les deux jeux de balais que l on trouve encore sur certains connecteurs les pastilles correspon dantes sont pr vues Tel est le prix payer pour chapper un circuit double face 85 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle Figure 3
99. de l agenda SIM Toolkit r side dans un serveur h berg par l op rateur Outre les probl mes de confidentialit et de s curit que cela pose il en r sulte qu un SMS sinon plusieurs est mis chaque fois que l utilisateur consulte ou actualise son agenda La mise en vidence irr futable de ce genre de pi ge suppose des investigations assez pouss es par exemple au moyen d un espion de cartes asynchrones tel que celui d crit au chapitre 2 Elle n cessite galement une bonne connaissance des modalit s de dialogue entre une carte SIM Toolkit et un t l phone compa tible autrement dit de la sp cification GSM 11 14 t l chargeable sur http www etsi org Comme l appellation Proactive SIM le laisse entendre une carte Phase 2 peut prendre le contr le du t l phone alors que selon la norme ISO 7816 c est pourtant le terminal qui est le ma tre absolu des changes avec la carte Cette apparente contradiction est adroitement r solue par une extension des valeurs que peuvent prendre les octets de compte rendu SW1SW2 que retourne la carte apr s avoir ex cut une commande 107 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OULUUN PLUS LOIN AVEC LES CARTES A PUCE Si la carte r pond 91XX au lieu de 9000 en cas d ex cution correcte cela signifie qu elle a un ordre long de XXh octets transmettre au syst me d exploitation du t l
100. dire l criture dans un nombre donn d emplacements de 16 bits qu il est aussi possi ble de prot ger de fa on irr versible L encore le montage de composants quivalents sur une fausse carte en poxy de 8 10 pourrait permettre d muler cette famille de cartes ou d utiliser le CyberMouse en tant que programmateur d EEPROM s rie Cartes composants Xicor X76041 ou X76F041 code famille OAh X76F128 ou X76F640 code famille OEh X76F100 code famille 10h E CardE asy lel xi View Help Memory Card ACOS1 Commands About Xicor aj hr X24645 B X76F041 Block0 Block1 Block2 Block3 E X76F128 Key name Write Password 8 bytes 8b Value Read Password E X76F640 E X76F100 Hex N a v _ New value ER UOTE f Start 0 I Change to the new value lt 00 01 00 00 00 20 New Value foo 50 00 Clear gt 9000 SW1 SW2 gt LE 13 10 91 FF FF 81 15 E Quit 00 04 O0 FF FF FF FF FF D marrer 7 CardEasy R Paint Shop Pro BALE 11 44 80 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES SYNCHRONES Sp cialiste des EEPROM notamment s rie Xicor propose un certain nombre de m moires s curis es qui ne pouvaient manquer de trouver des applications dans le domaine des cartes puce Pr sentant des
101. dit en strict synchronisme avec celui ci Chaque famille de cartes synchrones reconna t ainsi un jeu de micro instructions qui lui est propre pour lire ou crire un bit atteindre une adresse donn e pr senter un code confidentiel bit par bit etc En principe il faudrait au minimum un analyseur logique pour inspecter finement le dialogue entre une telle carte et son lecteur ce qui peut s av rer fort instructif Comme la fr quence d horloge mise en jeu est presque toujours inf rieure 50 kHz c est une exigence de la norme ISO 7816 3 il est cependant possible d imaginer des solutions plus simples voire originales et pourquoi pas l gantes D s que le dialogue avec une carte puce atteint un certain degr de complexit et cela va vite il devient difficile de proc der une interpr tation en temps r el Les milliers d octets chang s par exemple entre un t l phone GSM et sa carte SIM doivent n cessairement tre enregistr s puis analys s t te repos e voir notre ouvrage T l phones portables et PC On peut songer pratiquer ce genre d enregistrement au moyen d un PC mais galement d un dispositif autonome et peu encom brant dont on videra ult rieurement la m moire dans le PC utilis pour son d pouillement Dans le cas particulier des cartes puce synchrones il est n ces saire de disposer d un outil capable d enregistrer plusieurs voies
102. dition ao t 2002 pour d couvrir si ce n est d j fait les passionnantes exp riences auxquelles un tel outil permet de se livrer en toute libert vis vis des op rateurs 4 2 EXPLORER LES CARTES SIM TOOLKIT Tout comme notre nouvelle BasicSIM la plupart des cartes SIM r centes appartiennent la phase 2 et sont donc compatibles SM Toolkit ou Proactive SIM Cela signifie non seulement qu elles peuvent greffer leur propre menu sur celui du t l phone mais aussi qu elles sont capables d mettre et de recevoir des appels ou des SMS l insu de l utilisateur Cela m rite assur ment toute notre vigilance car des facturations inattendues peuvent en r sulter tandis qu il n est pas invraisem blable de craindre que ce genre de m canisme ne puisse servir des fins malveillantes voire la prolif ration de virus d un nouveau genre Cela tant pr cis il faut bien reconna tre que cette technologie tr s prometteuse permet aux op rateurs ou des prestataires tiers de proposer des services extr mement innovants dont on ne pourra toutefois profiter que sur un t l phone raisonnablement r cent 105 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES PUCE Rien de plus simple que de savoir si une carte SIM est potentiel lement compatible STK il suffit de lire l unique octet que c
103. e double rang e de picots carr s coud s Ainsi c est le circuit imprim lui m me qui fera office de d trom peur l ergot de la fiche venant buter dessus si celle ci est pr sent e dans le mauvais sens C t cuivre figure 2 4 il est pr vu de souder dans le bon sens un connecteur pour cartes au format SIM Micro telles qu en utilisent les t l phones portables R alis en technologie CMS le mod le 33 7089 de Selectronic pr sente l avantage d tre muni de huit contacts contre seulement six pour la plupart de ses concurrents 57 Figure 2 3 Plan de c blage du c t composants Implantation du c t composants DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES PUCE Figure 2 4 Plan de c blage du c t cuivre Implantation du c t cuivre Cela permet par exemple d utiliser des t l cartes d coup es ce format tr s populaire sans passer par un adaptateur m canique Notons que le connecteur SIM tant branch en parall le avec le jeu de balais ISO du connecteur plein format il convient de ne pas laisser une carte dans l un lorsque l on se sert de l autre Une fausse carte ISO allong e Sous le terme un rien provocateur de fausses cartes on regroupe en fait de multiples variantes de circuits imprim s d paisseur 8 10 mm destin s tre ins r s dans toutes so
104. e vid e pour lib rer au maximum son pourtour Le plan de c blage de la figure 3 13 pr voit par ailleurs l implan tation de deux r sistances de 15 000 Q dont le but est d viter de laisser en l air les contacts ISO 8 et ISO 4 inutilis s sur certaines cartes Normalement le lecteur est cens les mettre la masse mais sur le terrain on rencontre un peu tout et n importe quoi Pr cisons tout de m me que cette fausse carte n a en aucun cas vocation tre introduite dans des automates publics tels que ces parcm tres qui pr sentent syst matiquement le code de rechargement de la carte m me lors d une simple op ration de lecture d un cr dit puis 96 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES i 2x 15kQ On se doute en effet qu ils doivent tre quip s de d tecteurs de m taux leur permettant de rejeter les cartes munies de telles connexions vers l ext rieur et donc potentiellement suspectes Cela tant pos il reste maintenant exploiter les enregistrements ainsi r alis s en tout bien tout honneur Typiquement la m moire 48Z08 a toujours t un outil de d ve loppeur d applications base d EPROMS voir notre ouvrage Composants lectroniques programmables sur PC et il y a donc gros parier que si l on
105. e 00h Cela implique qu la r ception il sera interpr t au vol sans transiter par la carte SIM Normalement il n est donc pas question de le retransmettre en douce vers un autre mobile ni m me de proc der son inspec tion sauf si l on s arrange pour le recevoir sur un t l phone non compatible En fait l en t te du SMS ne contient plus la m lodie elle m me sa longueur n est que de six octets tandis que son type de contenu est 05h ce qui correspond des num ros de ports cod s cette fois sur 16 bits 1581h destinataire et 0000h prove nance Or le port 1581h correspond dans les t l phones Nokia au Ringing Tone Reader vers lequel tout le reste du message sera automatiquement dirig Celui ci contient justement la m lodie qui se termine par un marqueur de fin compos d un bloc de bits 0 Malgr toutes ces complications notre programme peut tre transform pour fonctionner en mode Smart messaging NOKGOD BAS La principale restriction est qu on ne pourra pas couter en local la m lodie sans la transmettre alors que c est tr s faisable avec un message EMS Dans N on retrouvera en format noktxt la m lodie conte nue dans le SMS que nous venons d analyser la m me d ailleurs que celle cod e en iMelody dans EMSGOD BAS Ces deux variantes ont t converties automatiquement depuis une version MIDI du God Save the Que
106. e bon sens cuivre visible sur ce qui d passe encore des picots La continuit lectrique sera tablie soit par soudure en cas de cuivre 35 am sur Kapton soit avec une r sine conductrice Elecolit 340 ou Jeltargent si on a r ussi graver un autre film m tallis moins co teux Il serait galement possible de mettre en uvre une cr me braser gr ce un pistolet d capeur thermique Cette d licate op ration achev e on mettra en place la seconde plaquette dont le r le est purement m canique et l on serrera le tout par deux boulons de 3 mm plac s en diagonale Dans les cas o le trac de la figure 2 7 ne conviendrait pas on pourra lui pr f rer celui de la figure 2 10 c bler selon la figure 2 11 On ne saurait d ailleurs trop recommander pour tre par toute ventualit de construire les deux versions 63 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle Mise en uvre des fausses cartes SIM Micro EE PLUS LOIN AVEC LES CARTES PUCE Figure 2 10 gauche Trac de la fausse carte SIM Micro souple Figure 2 11 droite Plan de c blage de la fausse carte Un adaptateur pour fr quencem tre L une des applications les plus int ressantes de ce kit connectique sera naturellement le branchement d un dispositif espion entre une carte puce et l appareil destin l accueillir Ce pourra aussi bie
107. ecret sinon de d sinformation c est tout simplement r volutionnaire VII DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE PAGE LES LECTEURS DE CARTES PUCE 1 1 Construire ou acheter 2 1 2 PC SC vers des lecteurs g n riques 4 1 3 Des lecteurs de poche 7 1 4 Des terminaux autonomes 11 15 Un lecteur autonome maison 12 1 6 Des serrures cartes puce 19 2 Autour des cartes asynchrones 31 3 Autour des cartes synchrones 69 4 Autour des cartes SIM 103 5 Autour des cartes sant 130 6 Autour des cartes de paiement 141 7 Le c d rom du livre 159 1 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OULUUN PLUS LOIN AVEC LES CARTES A PUCE Qu il soit connect un micro ordinateur int gr un appareil quelconque ou compl tement autonome le lecteur est le point de passage oblig pour lire ou crire dans n importe quelle carte puce Bien plus qu un simple connecteur le lecteur de cartes puce est un terminal intelligent qui prend plus ou moins largement en charge les protocoles de communication de bas niveau avec les cartes 1 1 CONSTRUIRE OU ACHETER Il n y a encore que bien peu d ann es la question ne se posait m me pas du moins pour le simple particulier on ne trou
108. ect de la sp cification PC SC pourra en principe fonctionner sur n importe quel lecteur PC SC convenablement install avec les bons drivers Bien entendu l auteur de ce livre adh rant avec enthousiasme cette d marche la plupart de ses logiciels sont d sormais compa tibles PC SC ce point de notre expos il faut bien comprendre que fruit d une initiative rassemblant les grands noms de la carte puce et 4 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE DUNOD La photocopie non autoris e est un d lit de l informatique autour de Microsoft la compatibilit PC SC ne prend vraiment tout son sens qu en environnement Windows 32 bits M me si cette sp cification est th oriquement ouverte d autres syst mes d exploitation Mac Linux etc PC SC est en effet surtout l arme secr te de Windows pour s approprier la carte puce et ses lecteurs Certaines versions de Windows supportent ainsi de fa on native les fonctionnalit s carte puce tandis que la mise niveau de Windows 95 98 ou Millenium n cessite simplement l installation des Microsoft Smart Card Base Components disponibles gratuitement ou m me pr sents dossier SCARD sur le c d rom d installation du syst me La figure 1 1 montre qu il s agit simplement d une couche logicielle suppl mentaire venant s intercaler entre Windows 32 bits et le
109. ecteur ne se donne t il m me pas la peine de la v rifier Esp rons tout de m me que les donn es mat rialisant les droits du porteur soient trait es avec un peu moins de d sinvolture 5 6 DES EXP RIENCES D AUTHENTIFICATION M me s il ne sert s rement pas autant qu il le pourrait un m canisme d authentification assez performant r side bel et bien dans la carte Vitale 138 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE AUTOUR DES CARTES SANT Il est extr mement facile de le faire jouer tout comme nous l avons fait au chapitre 4 pour les cartes SIM des t l phones portables tout le n cessaire se trouve dans le r pertoire AUTH du dossier VITALE de notre c d rom Notre programme AUTHVIT BAS permet de constater qu il fonc tionne d une fa on assez sensiblement diff rente tablissant en quelque sorte un certificat partir du contenu d une adresse carte librement choisie Cela en lui combinant une valeur al atoire de 48 bits transmise par le lecteur ici la cha ne AUTHEN et naturellement une clef secr te qui n est jamais directement lisible noter que si l adresse carte certifier r sidait dans une zone prot g e en lecture par un code confidentiel porteur il faudrait tout d abord pr senter et ratifier celui ci Authentifiant la fois la carte et son porteur cela garantirait un fort bon nivea
110. en trouv e sur un site britannique Les fausses notes en fait des sauts d octave que les plus musiciens de nos lecteurs ne manqueront pas d y d tecter en disent long sur la difficult de ce genre de transcodage qu il sera souvent n cessaire de fignoler manuellement Histoire de se fixer les id es nous avons soumis une tr s simple m lodie en fait une gamme un service de conversion en ligne Parmi ses douze formats de sortie dont certains hautement propri taires voici quelques exemples assez repr sentatifs 125 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES PUCE des diff rentes approches que l on peut suivre pour coder une partition Cela avec plus ou moins de bonheur d ailleurs car les informa tions de rythme dur e ou tempo ne sont pas toujours prises en compte Dans le format iMelody l inverse apparaissent les valeurs par d faut de param tres que l on a g n ralement tendance omettre afin de ne pas trop alourdir le message Le tempo en particulier mot clef BEAT peut varier entre 25 et 900 bpm avec une valeur par d faut de 120 la minute Il est int ressant de comparer les diff rentes notations utilis es pour indiquer les changements d octave point d licat s il en est tous les formats n utilisant pas forc ment les m mes valeurs par d faut ni la m me syntaxe Forma
111. en prenant la pr caution de choisir un support de bonne qualit pour la m moire 48208 que l on aura souvent l occasion de d brocher et rembrocher Sans aller jusqu conseiller un support force d insertion nulle ZIF nous recommanderons un mod le contacts tulipe autant que possible dor s Afin d viter tout risque d endommagement la longue des broches de la 48708 on pourra si ce n tait d j fait installer celle ci demeure dans un second support tulipe neuf et donc un peu dur Ce sont alors les broches de celui ci nettement plus rigides que l on introduira tour tour dans le support du montage et dans celui du programmateur d EPROM dont nous allons bient t d couvrir le r le En cas d accident on aura juste remplacer le support interm diaire les broches de la m moire restant absolument intactes On s tonnera peut tre de l absence de tout branchement d ali mentation sur ce montage En fait il vole le 5 volts dont il a 94 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES T m T A T O besoin sur le contact Vcc ISO 1 de la carte ce qui assure du m me coup le fonctionnement de son circuit de RAZ automatique La mise en parall le de l espion sur la liaison carte terminal n ces site l usage d une connec
112. en tirera les meilleures performances en quittant compl tement Windows ou m me en d marrant carr ment l ordinateur partir d une disquette DOS bootable Il y a l une bonne occasion de faire reprendre du service de vieux PC d pourvus de Windows notre espion de cartes asynchrones en particulier fonctionne encore honorablement sur un 8088 sans disque dur cadenc 4 77 MHz Il conviendra alors de copier les ex cutables n cessaires partir du c d rom vers une simple disquette Cette possibilit ne devrait pas tre d daign e car elle pourra rendre service lorsque telle ou telle exp rience n cessitera de mettre contribution plusieurs PC simultan ment 163 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle
113. er la s curit des applications les plus sensibles il excite fort logiquement la curiosit C est ainsi que le porteur d une telle carte risque de d couvrir lors d une exploration de routine visant se faire une id e de ce qu elle contient vraiment de grossi res failles de s curit dont il n aurait jamais os soup onner l existence 5 1 LA CARTE VITALE UNE CARTE SCOT Apr s une entr e en sc ne plut t laborieuse la carte Vitale a fini par faire ses preuves au point d veiller l int r t d un certain nombre d autres pays Assez proche de celle de la carte bancaire sa technologie m rite assur ment d tre pass e au peigne fin compte tenu du caract re minemment personnel des donn es qu elle est appel e g rer Nous verrons au prochain chapitre que la carte bancaire B0 est bas e sur la technologie BULL CP8 mais qu elle n exploite que tr s imparfaitement et c est le moins que l on puisse dire le puissant arsenal s curitaire dont sa puce est pourtant dot e Datant forc ment d avant 1998 l ann e de sa mise en place dans des r gions test la carte Vitale semble avoir t d velopp e sur une base tr s comparable Un simple passage au scanner voir page 40 montre en effet que la carte Vitale reconna t sensi blement le m me jeu de commandes avec une classe ISO gale BCh que sa cousine germaine 130 DUNOD 2004 Plus loin avec le
114. es de code source des applica tions destin es toutes sortes de cartes existantes Elles fonctionneront merveille avec n importe quel lecteur PC SC On ne r sistera cependant pas longtemps l envie de programmer aussi des cartes pour toutes sortes d usages m me des plus pointus et on ne regrettera assur ment pas l exp rience Il sera alors avantageux d acqu rir un kit BasicCard Pro complet http www hitechtools com qui rassemble un lecteur CyberMouse tous les logiciels de d veloppement un pais manuel papier et un chantillonnage de cartes 2 3 LE ZCBASIC La BasicCard tant une cr ation de la PME allemande Ze tControl on comprend pourquoi son langage de programmation s appelle ZCBasic L auteur ne reviendra pas ici une fois de plus sur tous ses argu ments en faveur du Basic ses lecteurs pas encore tout fait convaincus les trouveront dans son ouvrage Basic pour micro contr leurs et PC paru dans cette m me collection Remarquons simplement que le ZCBasic est un Basic compil et non pas interpr t comme GWBasic ou QBasic de conception ultramoderne qui peut m me servir d velopper tout autre chose que des applications cartes puce vrai dire il faut le situer bien plus pr s de Visual Basic que du Basic Microsoft des ordinateurs familiaux d il y a vingt ans M me s il laisse de c t l interface graphique de Windows ce que nous nous
115. es nous avons arbitrairement affect une classe ISO gale 50h La commande RAND code op ratoire 02h a pour unique objet de construire une cha ne al atoire longue de quatre octets soit 32 bits Rien n interdirait de faire plus mais cette valeur est coh rente avec les quatre huit caract res des codes PIN qui prot gent bien des applications dites sensibles La fonction RND du ZCBasic g n rant des nombres al atoires de type Long entiers sign s de quatre octets compris entre 2147483648 et 2147483647 un petit bricolage convertit son r sultat en une cha ne de quatre caract res DATS La commande RESP code op ratoire 04h ex cute un tr s simple algorithme cryptographique partir de la cha ne al a toire produite par la derni re commande RND et d une clef secr te qui se compose pour les besoins de la d monstration des quatre octets ABh CDh EFh AFh L algorithme se borne appliquer un op rateur logique AND OR ou XOR chacune des quatre paires d octets extraites des 52 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES op randes que sont la cha ne al atoire et la clef ce qui conduit bien videmment un r sultat tenant lui aussi sur quatre octets Rien voir donc avec une fonction de type Hash i
116. es raisons mat rielles certaines puces un peu anciennes ne sont pas correctement support es par les lecteurs les plus r cents qui ne peuvent ainsi acc der aux zones prot g es par le code confidentiel Le fichier ADT LOG cr par ce programme est un v ritable relev de compte en langage clair qui peut tre consult ou imprim avec n importe quel diteur de texte sense Mois 0204 157 16 110 22 150 aa Mots 0205 13 143 29 363 pu Mois 0206 4 500 4 518 10 58 13 500 13 518 14 104 24 533 24 500 24 107 147 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULM PLUS LOIN AVEC LES CARTES PUCE C est ce stade que l on aura la croustillante surprise de d couvrir que bien des cartes mises courant 2002 enregistrent toujours en francs les paiements effectu s en euros On remarquera aussi qu elles enregistrent 200 F 500 F ou m me 800 F tout rond pour tout achat de carburant effectu dans une station service automatis e L explication est simple comme le client r cup re sa carte avant d aller se servir on y enregistre un montant arbitraire grassement arrondi hauteur de l autorisation obtenue L histoire ne dit pas de combien serait d bit le compte bancaire en cas d incident technique entra nant la perte du montant r el Pour un maximum de confort le r pertoire HISTORIQ
117. eur interpr tation d apr s la norme ISO 7816 4 Un scanner de commandes Les lecteurs de nos pr c dents ouvrages sur les cartes puce savent bien que celles ci ob issent des commandes identifi es par deux octets CLA classe ISO et INS code op ratoire L ensemble des combinaisons CLA INS reconnues par une carte donn e constitue ainsi le dictionnaire des commandes utili sables d faut d un document technique confidentiel qui en fourni rait le d tail il est parfaitement possible d en dresser la liste par une recherche syst matique bien videmment automatis e La mise en application de cette id e sous ZCBasic va d j nous permettre de montrer comment pousser ce langage tr s au del de ses possibilit s initiales En fait nous allons faire appel un premier outil pour d terminer la ou les classes que reconna t la carte puis un second pour chercher dans une classe donn e quels codes op ratoires sont reconnus Tout le probl me c est que dans un programme terminal chaque combinaison CLA INS que l on souhaite employer doit tre explicitement d clar e pas question d inclure tout bonne ment CLA ou INS dans une boucle FOR NEXT Qu cela ne tienne nous allons carr ment faire construire un code source ZCBasic par un programme lui m me crit en ZCBasic Dans le r pertoire CLASSINS du dossier PCSC du c d rom on trouvera ainsi
118. eurs de cartes puce du commerce int gr s d origine aux PC ou adapt s apr s coup Les avantages de ce choix sont enti rement diff rents et ouvrent la voie des aventures d une tout autre dimension 2 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE 1 Deux lecteurs maison de conception tr s diff rente Un lecteur de cartes puce du commerce associ son driver logiciel se charge en effet de toutes les basses besognes et en particulier du strict respect des protocoles de communication normalis s C est fort appr ciable dans la mesure o ceux ci ont volu au fil des ann es videmment dans le sens d une plus grande complexit rendant la fois plus d licat et plus fastidieux le d veloppement d applications ambitieuses sur des lecteurs maison DUNOD La photocopie non autoris e est un d lit DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OULU PLUS LOIN AVEC LES CARTES A PUCE Le lecteur tout fait permettra d acc der en toute s curit des cartes tr s diverses de fa on largement transparente depuis un langage de programmation simplement dot de quel ques instructions sp cialis es relativement simples mettre en uvre Bref en affranchissant le d veloppeur de toute la gestion f t elle passionnante des protocoles de bas niveau il permet
119. eux fils qui mis en court circuit ouvrent la porte de la chambre En tout tat de cause le brochage de l embase est compatible avec les diff rentes variantes de connecteurs d crites dans nos pr c dents livres et au chapitre 2 On veillera videmment ce que le jeu de huit balais de contacts utilis corresponde la position ISO ou AFNOR de la puce des cartes employ es a a DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE Une fois encore tout le secret de la simplicit de l lectronique r side dans le programme qu ex cute le PIC Comme le principe m me de ce projet consiste crire et compiler un programme sp cifique pour chaque application nous nous bornerons fournir deux exemples n anmoins faciles adapter toutes les situations courantes DEVICE 12C508 DIM B0 B1 B2 B3 S DEFINE PortB 200101000 MOVLW O OPTION OUTB 0 HIGH B O HIGH B 1 LOW B 1 LOW B 0 HIGH B 1 LOW B 1 HIGH B 2 FOR B0 1 TO 5 GOSUB jump NEXT B0 B3 117 GOSUB check B3 130 GOSUB check OUTB 16 STOP check B2 0 FOR B1 0 TO 7 B2 B2 2 S INPORTB amp 32 S S 32 B2 B2 S HIGH B 1 LOW B 1 NEXT B1 IF B2 lt gt B3 THEN GOTO False RETURN jump FOR B1 0 TO 7 HIGH B 1 LOW B 1 NEXT B1 RETURN False OUTB 16 DELAYMS 255 OUTB 0 END Le premier TEST508 BAS est crit pour reconna tre indiff rem ment le
120. faut compter avec une multi tude de cartes permettant de r gler commod ment de petits montants dans les parcm tres publiphones distributeurs auto matiques automates de p age etc Cela en attendant qu un porte monnaie lectronique digne de ce nom vienne f d rer dans des conditions enfin acceptables toutes ces applications r solument disparates Et n oublions pas que les op rateurs de t l phonie mobile r vent de concurrencer les banques en offrant des possibilit s de micropaiements partir de leurs formules pr pay es 6 1 L VOLUTION DES CARTES BANCAIRES Confront e aux probl mes de s curit que l on sait la carte bancaire volue lentement mais s rement En attendant la g n ralisation de la technologie EMV le masque B0 a d j subi nombre de repl trages qu il est int ressant de mettre en vidence par des manipulations finalement fort simples Et n en d plaise aux mauvaises langues la carte bancaire s est tr s sensiblement perfectionn e au fil des ann es moins vite toutefois que la technicit des attaques dont elle est la cible Il faut dire qu avec une p riodicit de renouvellement de deux ans il n y a pas de petites conomies l inertie du syst me demeure consid rable La premi re r volution technologique a t le passage du masque B0 technologie EPROM OTP au masque B0 technologie EEPROM autrement dit r inscriptible
121. fface ment des bits de sauvegarde dits anti arrachement et surtout des m canismes d authentification cryptographiques plus ou moins perfectionn s Dans tous les cas une zone fabricant contient l identification inalt rable du composant lectronique interne tandis qu une zone metteur peut tre prot g e contre toute modification une fois la carte mise en circulation 73 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES PUCE Les cartes de cette famille sont principalement utilis es dans les publiphones des nombreux pays n ayant pas adopt la techno logie fran aise mais aussi dans diverses applications de type carte jetons petits paiements fid lit etc Cartes protocole T2G code famille OBh e ST1303 ST1331 ST1332 ST1333 ST1353 STMicroelectronics e TMS3582 Texas Instruments e GPM271 GAM273 Gemplus IE CardEasy lexi View Help Memory Card ACOS1 Commands About 6711333 21 22 06 cc 11 08 30 Circuit ID Area Card ID Area Counter 4096 Counter 512 Counter 64 Counter 8 Certificate 2e Authentication Hex C Asci bnit tearinp flar 2 of Stat s2 lt 00 01 00 02 00 06 gt 9000 SW1 SW2Z lt 00 09 00 00 04 0l lt 0A 0B OC 0D Poore gt 9000 SW1 SW2 Starting Address 100 02 gt 06 lt 00 01 00 02 00 06 gt 9000 SW1 SW2Z Cancel
122. format d affichage que supporte le lecteur sur son cran LCD une seule ligne de dix caract res Les quatre premi res positions peuvent afficher peu pr s n importe quel symbole alphanum rique tandis que les six derni res sont limit es des caract res num riques hexad cimaux c est dire y compris les lettres A F et aux signes et Un point d cimal faisant office de virgule peut galement tre ins r dans les valeurs num riques Deux points essentiels doivent tre parfaitement compris avant de tenter d utiliser le lecteur e Il ne supporte que les cartes protocole T 1 BasicCard Compact ZC 1 X et Enhanced ZC 3 X ou Professional ZC 4 X ZC 5 X en mode T 1 etc Tout change entre lecteur et carte se fait au moyen de la seule et unique commande dont la classe est C8h et le code op ra toire 00h En pratique d s qu une carte asynchrone et pas forc ment une BasicCard est introduite dans le lecteur celui ci lui envoie une commande T 1 de la forme C8 00 00 00 Lc DATA Le Si la carte ne comprend pas cette commande elle renvoie un code d erreur SW1SW2 que le lecteur affiche in extenso par exemple 6E00 Error ou 6D00 Error Cela pourra d j servir l occasion Si aucun change n est possible cas notamment d une carte synchrone il s affiche simplement READ Error Si le lecteur a besoin d un petit d lai pour op re
123. gt 22 06 CC 11 08 30 D marrer 7 CardEasy F3 Paint Shop Pro BJO na La t l carte de seconde g n ration ou T2G a t imagin e d s 1989 sous le pr texte officiel de faire face l obsolescence de la technologie EPROM NMOS des T1G Il se pourrait bien cependant que la v ritable motivation soit la lutte contre la fraude par clonage dont l ampleur commen ait sans doute d j devenir pr occupante Fruit d un partenariat avec STMicroelectronics la T2G fait appel au m me principe de compteur d unit s boulier que les cartes de la famille Eurochip Simplement elle fonctionne selon un protocole de communica tion 6 contacts au lieu de 5 Contrairement l Eurochip elle est galement vierge 0 ce qui signifie que l on y grille des unit s en mettant un des bits qui taient encore z ro Parall lement aux composants ST1303 ou 511332 l usage exclusif de France Telecom des versions d riv es ou m me 74 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES SYNCHRONES concurrentes sont commercialis es pour les applications les plus diverses Certaines b n ficient d un m canisme d authentification crypto graphique mais avec un algorithme diff rent et d autres pas Bien des carte
124. i pements munis de modems GSM y compris bord des trains Les applications dites Over The Air OTA des SMS sont cent lieues des petits mots que s changent si volontiers les jeunes et parfois les moins jeunes en mode texte C est videmment par SMS que certains prestataires peuvent t l charger distance et bien entendu titre payant les r per toires de num ros des cartes SIM de leurs clients des m lodies de sonnerie ou des logos graphiques C est aussi par SMS que s est fait le basculement d Itin ris Orange astucieusement effectu par remplissage distance du fichier 7F20 6F46 des cartes SIM crite dans ce fichier Service Provider Name la cha ne d octets 00 4F 72 61 6E 67 65 20 46 FF FF FF FF FF FF FF FF impose du moins sur les mobiles compatibles l affichage du texte Orange F la place du nom d origine du r seau sur lequel le mobile est inscrit sauf l tranger o les deux peuvent m me appara tre ensemble Gr ce la technologie ESMS si ch re Gemplus ce genre de man uvre fonctionne m me avec certaines cartes SIM de phase 2 En gros le SMS contient une suite de commandes que la carte est pri e d ex cuter comme si elle les avait re ues directement du terminal dans lequel elle est ins r e Cela peut aller jusqu la cr ation de nouveaux fichiers gr ce des commandes administratives qui diff rent h las d un fabricant
125. i la facturette comme un SMS ordinaire on ne peut plus facile examiner avec des outils courants En effet si le SMS en question se trouve en premi re position dans la carte SIM il suffit d encha ner les trois commandes suivantes pour en afficher le contenu par exemple avec SCARD EXE AO A4 00 00 02 7F 10 avec Le 00 AO A4 00 00 02 6F 3C avec Le 00 AO B2 01 04 BO avec Le 00 Transf r par coup coll vers un simple diteur de texte bloc notes de Windows le fichier ainsi pr lev sera alors sauvegard puis soumis un diteur hexad cimal tel que PDED EXE disponible apr s installation du logiciel de d mons tration fourni dans le r pertoire MQP du dossier SMS 03 07 91 33 86 09 40 00 F0 04 05 83 12 00 FO 7F 3 F6 20 11 71 71 81 31 00 8C 01 35 14 00 35 20 00 qq 1 5 5 00 25 00 09 78 17 18 11 11 17 02 68 52 10 30 36 x hR 06 38 33 3x 3x 3x 3x 3x 3x 30 34 00 00 00 01 82 06 83xxxxxx04 6 2A 34 32 38 37 30 36 3x 3x 3x 30 30 30 37 31 08 428706xxx00071 18 44 66 6C 61 20 6D 6F 62 69 63 61 72 74 65 05 Dfla mobicarte 81 12 00 FO FF FF FF FF FF FF FF 45 55 52 27 31 O EUR 1 72 65 63 68 2E 32 35 1B 65 OA 2B 35 1B 65 20 6F rech 25 e 5 e o 66 66 65 72 74 73 OA 76 61 6C 69 64 69 74 05 3A fferts validit 33 20 6D 6F 69 73 20 20 20 20 20 20 20 20 20 20 3 mois 20 20 20 20 FF FF FF FF FF FF FF FF FF FF FF FF 118 DUNOD 2004 Plus lo
126. icro instructions Et pr cis ment nous y arrivons 3 3 UN ESPION DE CARTES PUCE SYNCHRONES Nous avons vu qu intercepter le dialogue entre une carte puce asynchrone et son terminal ne pr sente pas de grandes difficult s Paradoxalement il est bien plus d licat de faire de m me avec une carte synchrone pourtant beaucoup moins perfectionn e En protocole asynchrone T 0 ou T 1 tout le dialogue entre la carte puce et le terminal dans lequel elle est ins r e se fait sur un seul fil le contact ISO 7 du micromodule un rythme qui d pend troitement de la fr quence du signal d horloge appliqu sur le contact ISO 3 CLK Une certaine similitude avec le protocole RS232 permet d obtenir des r sultats fort convaincants en d tournant astucieusement un port s rie de PC voir chapitre 2 Dans le cas des cartes puce synchrones t l cartes I2C 2 3 fils etc on sait qu il existe de nombreux protocoles diff rents qui mettent en uvre des s quences d tats plus ou moins compli qu es sur plusieurs contacts la fois Le principal point commun est que toutes les op rations significa tives se font l occasion d une transition soit positive soit n ga 90 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES tive du signal d horloge autrement
127. ien d coder UART du PC Que dire alors sinon bonne chance ceux qui ont la pr ten tion de se contenter d un shareware d inspection de port s rie tout b tement trouv sur Internet 66 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES Quatre variantes de notre programme sont fournies tant en code source Turbo Basic que sous une forme ex cutable MS DOS pour les cartes convention directe ou inverse et pour le port s rie COM1 ou COM2 du PC Bien entendu le kit connectique dont nous venons de d crire la r alisation facilitera au maximum la mise en uvre de ce puissant instrument d investigation dans toutes les situations susceptibles de se pr senter Le cas le plus d routant est celui des cartes encore assez rares qui appliquent la proc dure dite PPS Protocol Parameters Selection en collaboration avec un lecteur compatible comme les Cyber Mouse et ACR 20 30 Ces cartes se rep rent certaines particularit s de leur r ponse au reset que signale bien s r tout bon logiciel d analyse d ATR Supposons que le param tre F soit gal 512 au lieu de 372 valeur par d faut et que D soit gal 8 au lieu de 1 Le rapport F D passe ainsi de 372 64 ce qui signifie que le rythme de transmission sur le contact ISO 7 de la carte
128. ign Infineon Siemens mais qui n a pas besoin de Vpp Prudence donc 101 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle L espion complet en ordre de marche DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE PAGE AUTOUR DES CARTES SIM 4 1 Une BasicSIM PHASE 2 104 4 2 Explorer les cartes SIM Toolkit 105 43 Bricoler les SMS 112 44 Des exp riences d authentification 127 5 Autour des cartes sant 130 6 Autour des cartes de paiement 141 7 Le c d rom du livre 159 103 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES A PUCE Pr sente dans chaque t l phone portable GSM la carte SIM fait partie des cartes puce les plus r pandues dans le public Nous avons montr dans notre ouvrage T l phones portables et PC quel point il peut tre int ressant de l explorer l aide d un PC quip d un lecteur appropri que cela plaise ou non l op ra teur qui l a mise Dans ce nouvel ouvrage nous allons d couvrir les m canismes les plus intimes des cartes SIM les plus r centes mais aussi de services dont on n utilise bien souvent qu une infime partie des possibilit s parfois cach es 4 1 UNE BASICSIM PHASE 2 Nous avons montr dans notre pr c dent ouvrage comment transformer une BasicCard
129. il faudrait pour obtenir le m me r sultat en utilisant les services de WinScard dil partir d un langage plus conventionnel Dans le fichier LIST BAS nous avons tout de m me ajout une ligne suppl mentaire vitant que dans certaines configurations de Windows la fen tre MS DOS ne se referme avant que l on n ait eu le temps de prendre connaissance de ce qui s est affich 42 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES PCSCATR EXE enfin est l ex cutable de l application Delphi PCSC_MCU_atr pas pr sent e au d but de ce chapitre et dont tout le code source se trouve dans le r pertoire DELPHI du dossier PCSC 2 6 DES EXP RIENCES D AUTHENTIFICATION Jusqu pr sent nous n avons gu re utilis le ZCBasic que pour d velopper des applications terminal exp rimenter avec des cartes puce existantes Voici venu le moment de d couvrir avec quelle facilit cet ton nant langage permet aussi tout un chacun de cr er ses propres cartes Cela avec des fonctionnalit s s curitaires bas es sur les meilleurs algorithmes cryptographiques du moment C est dans le r pertoire AUTH du dossier PCSC de notre c d rom que l on trouvera tous les fichiers permettant de passer imm diatement la pratique Comme dans le cas d un progra
130. in avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM Le premier des 176 octets qu occupe le SMS dans le fichier 7F10 6F3C de la carte SIM indique que nous sommes en pr sence d un message re u non lu il serait 01h si on avait pris la peine de le faire d filer enti rement sur l afficheur du mobile Suit le num ro du SMSC centre de messagerie ayant achemin le SMS l octet de type 91h indiquant qu il est pr sent en format t l phonique international 33 6 89 00 40 00 Le num ro de l exp diteur du message 21000 est sp cifique l op rateur type 83h et d ailleurs accessible gratuitement m me en cas de cr dit puis sinon on ne pourrait pas recharger Les octets 7Fh et F6h pr cisent que le SMS tait destin la carte SIM et qu il est cod en format 8 bits C est ce qui explique que les textes que l application SIM Toolkit devait afficher sur l cran du mobile apparaissent en clair dans notre diteur hexad cimal Les sept octets qui suivent indiquent la date 17 11 02 et l heure 17h 18 13 d envoi du SMS ainsi que le fuseau horaire local ici 00h L octet 8Ch enfin correspond la longueur 140 octets du contenu utile du message qui le suit d ailleurs imm diatement Celui ci comprend toujours en clair le montant payer 25 la date et l heure d tab
131. ins aussi int ressant d tudier le fonctionne ment d une carte SIM micro que celui d une carte de format ISO Pourtant le remplacement de la vraie carte par une fausse est bien plus d licat dans un tel contexte de miniaturisation d autant que la carte est souvent compl tement enferm e d mo Figure 2 6 E o Une fausse carte SIM a m eu Micro minimum PONO Le minuscule circuit imprim de la figure 2 6 peut d j rendre service dans un certain nombre de situations car les six pastilles reli es ses contacts se situent dans une zone souvent assez facile d acc s Il suffit alors d y souder directement les six bons fils parmi les dix d un c ble m plat termin par l habituelle fiche HE 10 pour pouvoir y connecter des accessoires externes Ma s dans la plupart des cas il faudra d ployer des moyens plus labor s C est ainsi que la fausse carte de la figure 2 7 pourra indiff remment tre grav e sur du pr sensibilis 8 10 que sur du circuit imprim souple Kapton 60 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES Figure 2 7 Trac de la fausse carte SIM Micro souple Il ne saurait videmment tre question de mettre directement en uvre un film conducteur aussi fin que l on aura d ailleurs tout
132. int r t rev tir d un plaquage d or kit de galvanoplastie dispo nible chez Conrad Electronique Du c t carte il suffira de le contre coller au ruban adh sif double face mince sur une fausse carte d coup e dans un quelconque mat riau isolant suffisamment rigide l paisseur totale devant se situer entre 0 75 et 0 8 mm Du c t HE 10 figure 2 8 on ex cutera un assemblage en sand wich entre deux plaquettes grav es sur du stratifi 8 10 selon le trac de la figure 2 9 61 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES A PUCE Figure 2 8 Plan de c blage de la fausse carte Figure 2 9 Trac des deux circuits imprim s raidisseurs 62 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES L une sera perc e au diam tre de 1 mm les trous des coins tant ensuite agrandis 3 mm avant d y souder mais cette fois ci c t cuivre l habituel tron on de barrette s cable double rang e de picots carr s coud s La seconde sera perc e 2 5 mm ce qui fera carr ment dispara tre les pastilles carr es c est voulu On poin onnera alors les dix trous du circuit imprim souple avec une pointe ac r e compas par exemple avant d enfiler d licatement celui ci dans l
133. ique parfaitement aux algorithmes cryptographiques dont il est maintenant reconnu que les m ca nismes les plus intimes doivent tre largement rendus publics Entretenir le myst re autour du fonctionnement d un algorithme ne peut servir qu retarder la d couverte de ses ventuelles fai blesses avec les cons quences catastrophiques que l on imagine si des applications qui en font usage ont t massivement d ploy es entre temps Les meilleurs algorithmes actuels se sont donc impos s dans un contexte de totale transparence leur adoption en tant que standards n est intervenue qu au terme d une mise l preuve impitoyable par la communaut cryptographique internationale Cela garantit au passage l absence de toute porte d rob e introduite sur requ te de quelque autorit indiscr te Les diff rentes versions de la BasicCard supportent chacune tout ou partie de ces grands classiques potentiellement plus s rs que tel ou tel myst rieux algorithme propri taire 45 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OULU PLUS LOIN AVEC LES CARTES A PUCE Les ZC 3 3 et ZC 3 9 fournies dans les kits commercialis s sup portent en dur le DES 56 bits d sormais d pass et le triple DES 112 bits Par le biais de biblioth ques inclure le d veloppeur dispose aussi du SHA 1 Secure Hash Algorithm de l ECC Elliptic Curve Cryptography 161 b
134. is voyons maintenant comment transmettre soi m me une telle composition musicale Plusieurs moyens sont disponibles pour envoyer des SMS L un des moins connus consiste passer par un modem reli au r seau t l phonique fixe ou par un cordon transformant un t l phone portable en modem GSM Des logiciels sp cialis s dont l excellent SMS it http www mawnet com se chargent absolument de tout au point m me de provoquer une certaine frustration technique Pour notre part nous avons imagin de charger de nouveau le SMS directement dans une carte SIM valide puis de le faire transmettre par le t l phone portable tr s ordinaire dont elle provient Cette approche se traduit par le petit programme EMSGOD BAS d velopp encore et toujours en ZCBasic Pr vu pour tre utilis avec n importe quel lecteur de cartes puce PC SC convenablement install ComPort 101 il pour rait tout aussi bien fonctionner sans aucun driver avec un Cyber Mouse ou un ACR 30 s rie ComPort 1 ou ComPort 2 selon le port COM utilis Avant de retirer la carte SIM de son t l phone on pensera d sactiver son code PIN de fa on autoriser notre programme en prendre le contr le Son code source crit au plus court devra tre personnalis et compil avant chaque transmission mais on pourrait facilement l enrichir de dialogues permettant d entrer sans n cessit de recompilation les l men
135. ithium tout en suppor tant aussi bien les cartes puce 5 V classe A que 3 V classe B Avec 4 Ko de ROM ou de Flash et 256 octets de RAM ce genre de processeur compatible avec les puissants outils de d velop pement de la famille ST7 se pr te la r alisation de lecteurs de poche aux fonctionnalit s assez ambitieuses C est ainsi que sont apparus courant 2002 les derniers mod les de Xiring commercialis s aussi sous la marque Lexibook les XL 2500 Par rapport aux tr s populaires XL 2000 d j capables de lire la carte bancaire la carte Vitale et les t l cartes de 1 et 2 g n ra tions des fonctions de lecture du porte monnaie lectronique Mon o ont t ajout es De quoi commencer mettre le syst me l preuve voir chapitre 6 avant m me que les cartes ne nous soient propos es ou impos es par les banques Mais en attendant ce tr s m diatique porte monnaie lectro nique les premiers utilisateurs de lecteurs de poche ont t les collectionneurs de t l cartes LEXIBOOK Un lecteur de poche XL 2500 pr t r v ler ses petits secrets 10 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE Pendant qu un peu partout dans le monde les tablissements financiers distribuaient des lecteurs de PME Proton Visacash GeldKarte Mondex etc des n gociants en cartes de collection lan
136. its et de l IDEA algorithme sym trique 128 bits brevet par Ascom Systec Ltd Et la BasicCard Professional ZC 5 4 propose d sormais l AES Advanced Encryption Standard bas sur le tout r cent algorithme belge Rijndael Pour notre part nous allons montrer avec quelle simplicit on peut mettre en place un m canisme challenge response bas sur le SHA 1 Le r le de n importe quel dongle est de ne permettre l ex cution d un logiciel ou encore l acc s des donn es que s il prouve au pr alable sa pr sence et son authenticit L un des moyens d authentification les plus s rs repose sur un processus question r ponse ou preuve sans connaissance comparable celui utilis pour s curiser les cartes SIM des t l phones portables Une m me clef secr te r sidant la fois dans le dongle et dans le logiciel ayant besoin de l authentifier un moyen simple doit permettre de proc der une comparaison sans transmission effective d aucun secret Dans la pratique le logiciel labore une cha ne de caract res plus ou moins al atoire qu il soumet au dongle Celui ci ex cute un calcul complexe ayant pour op randes la clef secr te et la cha ne al atoire puis en transmet le r sultat nullement secret au logiciel De son c t le logiciel ex cute le m me calcul avec les m mes op randes et doit donc obtenir le m me r sultat Si tel est bien le cas il peut
137. l une in puisable source de d couvertes parfois inesp r es Un simple exemple le secret est jalousement gard par les fabri cants sur le fonctionnement du m canisme d authentification des cartes Eurochip les t l cartes europ ennes et notamment allemandes 100 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES Il est pourtant mis en uvre dans le CyberMouse ce qui suppose que le fabricant de ce lecteur en ait eu connaissance sans doute dans le cadre d un engagement de confidentialit Mais il suffit d intercaler le pr sent espion entre une carte Eurochip et un lecteur CyberMouse pour voir clairement comment on pr sente le fameux challenge et m me pour localiser de subtiles inversions de bits qui pourraient bien faire partie de la r ponse de l algorithme cryptographique Et n oublions pas la possibilit d tudier ce qui se passe quand on ins re une carte exigeant une haute tension de program mation Vpp par exemple une GPM 416 ST1301 dans un lecteur qui ne la lui fournit pas par exemple un CyberMouse On voit tr s bien sur notre exemple chouer la tentative d cri ture d un bit dans le compteur de pr sentations de codes PIN erron s Il en irait tout autrement avec une carte quip e d un circuit SLE 4404 un quivalent s
138. la forme d une cha ne s par e 114 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM SC contient en format t l phonique international le num ro du SMSC centre de messagerie que l on veut charger d ache miner le SMS En r gle g n rale ce sera celui de l op rateur ayant mis la carte SIM par exemple 33689004000 pour Orange 33609001390 pour SFR 33660003000 pour Bouygues Si la formule souscrite autorise l acc s des SMSC trangers alors il n y a plus de limites on pourra aussi bien choisir de transiter par la Suisse 41794999000 l Afrique du Sud 27830000410 Singapour 6596500005 etc On trouve sur Internet des listes enti res de SMSC dont certains sont galement accessibles par modem Le principal int r t de la chose est que tous les SMSC n appli quent pas n cessairement les m mes r gles de rejet des SMS non conformistes mais attention Certains op rateurs et notamment les trois fran ais refusent les SMS provenant des SMSC de certains pays Ceci explique peut tre cela To contient toujours en format international mais sans le signe le num ro du destinataire du SMS en g n ral le num ro d un mobile dont on est le l gitime propri taire ou avec lequel on est d ment autoris proc der de tels essais SR aura la valeur 11h si l on ne
139. lancer SYNC EXE on tapera dans une fen tre MS DOS la ligne de commande SET ZCPORT 101 si le lecteur utiliser fonctionne en mode PC SC SET ZCPORT 2 sile lecteur Cyber Mouse du kit BasicCard est branch sur COM 2 et ainsi de suite Cette fa on de proc der permet de ne compiler qu un seul et unique ex cutable quel que soit le lecteur utilis d autant que la commande SET ZCPORT peut fort bien tre plac e dans l auto exec bat du PC Notre seconde application MANIP BAS est plus ambitieuse dans la mesure o elle permet d op rer n importe quelle man uvre sur n importe quel bit d une T2G l exception du tout premier qui est n anmoins lu et de toute fa on inalt rable C est en fait la version PC SC de l utilitaire MANIPT2G BAS de notre livre Cartes puce Initiation et applications Son ergonomie est quasiment identique seul son fonctionnement tant un peu plus lent puisqu une commande ISO 7816 enti re soit 70 bits au lieu d un seul doit tre achemin e 9 600 bps lors de chaque lecture ou criture d un bit de la t l carte Chaque appui sur la barre d espace du clavier fait avancer rappelons le la position de lecture d un bit la touche permet tant de le mettre 1 s il tait encore 0 La touche pour sa part commande une mise 1 avec retenue qui n aura une action sp cifique que dans les zones pr vues cet effet mais rien n interdit d essayer ail
140. langage tout faire L effort d adaptation sera ainsi nettement moindre pour les habi tu s de GWBasic ou de QBasic voire de ZCBasic nous y revien drons bien que de multiples instructions nouvelles fassent leur apparition Bon nombre d entre elles concernent les p riph riques virtuels fournis sous la forme de biblioth ques inclure et initialiser si et seulement si on en a besoin DUNOD La photocopie non autoris e est un d lit 13 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE M PLUS LOIN AVEC LES CARTES A PUCE e gestion d afficheurs LCD support du bus I2C support d une ligne s rie 9 600 bauds voire d une carte puce asynchrone e gestion d un clavier 16 touches conversion analogique num rique avec le PIC 16C71 Pr cisons enfin qu il est possible de m langer hardiment Basic et assembleur dans le code source ce qui d multiplie encore les possibilit s offertes au programmeur ma trisant les deux langages C est plus qu il n en faut pour d velopper un lecteur mat rielle ment capable de prendre connaissance du contenu de n importe quelle carte puce synchrone et de l afficher s quentiellement sur un cran LCD deux lignes de 16 caract res Dans la version logicielle pr sent e ici programme I2CPIC BAS il est pr vu de se limiter aux cartes puce I2C de 2 kbits soit 256 octets telles que la D200
141. le ci se bornerait il donc s curiser seulement l mission et la t l transmission des feuilles de soins lectro niques ou bien servirait elle tout de m me de clef d acc s la partie la plus confidentielle des donn es personnelles pr sentes ou venir 5 4 DES COPIES DE SAUVEGARDE La BasicCard a cela d extraordinaire que quelques lignes de Basic suffisent pour lui faire muler dans certaines limites le jeu de commandes de telle ou telle carte puce existante avec souvent un surcro t de souplesse Par exemple EMUSCOT BAS est un court programme qui charg dans une BasicCard protocole T 0 ZC 5 4 ou ZC 5 5 la dote des commandes n cessaires pour tre lisible dans les m mes conditions qu une carte SCOT La commande d criture cependant reste volontairement tr s rudimentaire et ne pourra donc gu re servir qu initialiser la m moire par mots entiers de 32 bits Cela partir de donn es recueillies mettons dans une carte lecture libre ou bien choisies en vue de provoquer sur un lecteur tel ou tel ph nom ne potentiellement int ressant analyser La loi autorisant express ment les copies de sauvegarde dans une grande vari t de situations il serait dommage de se priver du petit plaisir de voir ce que cela donne avec une carte Vitale C est l que la seconde partie de COPYSCOT EXE va entrer en sc ne au lieu de quitter le programme apr s avoir lu l origi
142. les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES des logiciels bon march qui ne pourraient s accommoder du co t lev des dongles conventionnels Et ne perdons pas de vue la totale souplesse que procure le syst me d exploitation ouvert de la BasicCard quelques lignes de Basic suffisent et ce n est qu un exemple pour ajouter un compteur bloquant l utilisation du logiciel apr s un nombre donn d utilisations Mais l actualit est l pour nous rappeler que seule une crypto graphie forte peut vraiment assurer l inviolabilit d une applica tion carte M me si cette v rit d range il serait en effet irresponsable de ne pas admettre que n importe qui peut aujourd hui fabriquer sur un coin de table des cartes puce reproduisant assez fid lement certaines fonctionnalit s de telle ou telle application existante C est tout simplement la ran on du succ s des cartes syst me d exploitation ouvert telles que JavaCard ou Multos m me si le ticket d entr e n est pas pr cis ment la port e du premier venu Sous sa forme de kit librement accessible au grand public la Basic Card fait donc un peu figure de pav dans la mare allant d lib r ment contre courant de ce fragile principe de s lection par l argent Le m me raisonnement s appl
143. leur nouvelle carte D autres comme ACS visent plus sagement le march des points de vente souvent d pourvus de moyens simples et rapides pour transf rer le contenu d une carte SIM vers une autre en toute confidentialit ou m me en libre service vrai dire il semblerait que les lecteurs de nos livres soient souvent mieux quip s que les boutiques des op rateurs d autant qu ils travaillent volontiers l aide d un lecteur connect un PC L ACR SIM copier b n ficie de toute l exp rience acquise par ACS avec son logiciel SIMmate 2000 voir notre ouvrage T l phones portables et PC dont il int gre en quelque sorte une version fortement all g e extr mement simple manier DUNOD La photocopie non autoris e est un d lit 11 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES PUCE Le copieur de cartes SIM d ACS En fait ce sont peut tre les revendeurs ind pendants des op ra teurs qui appr cient le plus ce genre d innovation Ils se trouvent en effet au c ur m me du ph nom ne de churn autrement dit de nomadisme d un op rateur vers un autre qu ils sont d ailleurs parfois amen s encourager 1 5 UN LECTEUR AUTONOME MAISON En l absence d objectifs de miniaturisation et d industrialisation bas prix il est parfaitement possible de s inspirer du concept de lecteur de poche a
144. leurs juste pour voir D une fa on g n rale apr s une criture avec retenue il vaudra mieux quitter le programme touche ESCape puis le relancer pour juger de l effet produit Les sp cifications techniques d un composant tr s proche de celui quipant les T2G pr cisent en effet qu une lecture de bit 89 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OUL PLUS LOIN AVEC LES CARTES A PUCE effectu e juste apr s une criture avec retenue ne donne pas de r sultat significatif et cela semble bien se v rifier tous points de vue il vaut donc mieux op rer un reset et reprendre la lecture au d but On le voit l association de cet adaptateur et d un lecteur PC SC fournit tout sp cialement aux heureux possesseurs du kit Basic Card la possibilit de d velopper toutes sortes d applications autour des t l cartes puis es ou non en toute ind pendance vis vis des caract ristiques du PC utilis ou de son syst me d exploitation Bien entendu cette d marche est transposable tout autre lecteur de cartes puce asynchrones et n importe quel autre environ nement de d veloppement sans changer quoi que ce soit aux parties mat rielle ou logicielle de l adaptateur Moyennant cette fois quelques transformations la m me approche pourrait aussi convenir d autres familles de cartes synchrones dont on aurait pr alablement tudi le jeu de m
145. lissement de la facturette le num ro du t l phone recharger et ce qui ressemble fort une r f rence de compte cr diter ou un certificat Pour des raisons videntes quelques chiffres y ont donc t occult s Des SMS malveillants Parmi les SMS non sollicit s que l on re oit de plus en plus fr quemment il arrive aussi de trouver ce genre de script en provenance d un num ro parfaitement inconnu SCKE2 BEGIN VCARD N Adeline TEL 0610xxyyzz END VCARD Le plus curieux est qu en l occurrence l utilisateur du mobile dont est cens maner ce message ne voit pas mieux que le desti nataire de quoi il peut bien s agir serait il donc techniquement possible de se faire passer pour quelqu un d autre 119 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES A PUCE En fait nous sommes en pr sence d une carte de visite virtuelle au format vCard comme on en utilise couramment dans les e mails Selon la sp cification Smart messaging de Nokia l en t te SCKE2 indique tout t l phone compatible qu il doit d tourner ce SMS vers son port N E2h justement baptis Business card exchange De quoi se retrouver sait on jamais avec une entr e ind sirable dans son annuaire personnel Seulement le num ro de t l phone 06 10 xx yy zz tait ici celui auquel le SMS es
146. lors pourquoi pas la carte qui pourrait g n rer une cha ne al atoire permettant de crypter le mot de passe Outre le code source DONGLE BAS le c d rom contient deux fichiers image obtenus par compilation avec la version 4 du kit BasicCard DONG33 IMG destin tre charg dans une ZC 33 DONG39 IMG destin tre charg dans une ZC 3 9 Nos lecteurs n ayant pas encore install ou mis jour le kit pourront n anmoins programmer des cartes avec l utilitaire BCLOAD EXE fourni cet effet ne pas oublier de pr ciser sur la ligne de commande les options correspondant au type de lecteur de cartes puce utilis PC SC ou CyberMouse Reste maintenant se servir de la carte En principe le programme terminal n est autre que le logiciel que le dongle sert prot ger 49 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OUUM PLUS LOIN AVEC LES CARTES A PUCE Il peut tre d velopp soit en ZCBasic soit dans un langage Windows 32 bits permettant l usage des API BasicCard mais c est nettement plus compliqu crit en ZCBasic CHECK BAS se borne afficher le message DONGLE RECONNU si le processus d authentification r ussit ou bien EXPIRATION au bout de dix utilisations d un dongle dans lequel on aura activ la fonction de limitation On y reconna tra la m me directive d inclusion de la biblioth que SHA 1 DFF ainsi que le
147. ment facultatives on pourrait m me craindre que n importe qui puisse par exemple inscrire des num ros malveillants dans les annuaires des cartes SIM ou exp dier de fausses factures vers des mobiles quip s de fonc tions de paiement Cela n cessiterait tout de m me un peu d astuce car un t l phone portable normalement constitu ne permet pas de com poser autre chose que des SMS tr s ordinaires Un logiciel de cr ation de SMS Qu cela ne tienne Notre programme SMS7 BAS dossier SMS du c d rom prouve amplement que quelques lignes de Basic suffisent pour d velopper un outil capable de construire de toutes pi ces dans une carte SIM valide un SMS pr t tre exp di Toujours crit en ZCBasic il pourra tre personnalis selon les besoins de chacun puis compil l aide du kit BasicCard version 4 32 ou sup rieure Pourvu que le PC soit quip d un lecteur de cartes puce PC SC ou CyberMouse condition de modifier la valeur de ComPort en cons quence il enregistrera un SMS sur mesures en premi re position dans la carte SIM que l on voudra bien y ins rer Auparavant on aura d sactiv le code PIN de la carte cela se fait partir du menu du t l phone et v rifi que l actuel SMS N 1 peut tre cras sans regrets les SMS de rang sup rieur ne seront aucunement affect s Chaque champ potentiellement int ressant bricoler se pr sente sous
148. mes selon que le param tre exposant vaut 5 ou 3 148 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES DE PAIEMENT L op ration laissera sur le disque les habituels fichiers ADL CAR et ADT LOG qu il n est videmment pas interdit d exploiter par d autres moyens 6 4 DES EXP RIENCES D AUTHENTIFICATION Appartenant en quelque sorte la m me grande famille les cartes bancaires supportent un m canisme d authentification rappelant fortement celui des cartes Vitale Simplement notre programme AUTHCB BAS prend en compte le plan m moire particulier du masque B0 et lui fait ainsi certifier le contenu d une adresse diff rente 09E0h au lieu de 2130h L exp rience est cependant plus difiante que dans le cas de la carte Vitale dans la mesure o l explorateur avis a g n ralement pris le soin de conserver toutes ses cartes bancaires au fil de leurs renouvellements successifs Bien qu il soit parfaitement impossible de lire leur jeu secret il est facile de d terminer si celui ci change ou non lors de chaque renouvellement de carte soit en principe tous les deux ans il suffit de v rifier si notre programme donne ou non un r sultat diff rent Ft aussi gros que cela puisse para tre chacun pourra ais ment se convaincre que jusqu la r cente augmentation de la
149. mme terminal le code source DONGLE BAS doit aussi tre compil avec ZCMBASIC EXE mais cette fois en un fichier image portant l extension IMG Sp cifique une version bien pr cise de BasicCard celui ci sera ensuite t l charg dans la carte au moyen soit d un lecteur PC SC soit d un CyberMouse Supposons donc que nous souhaitions produire une carte partir de DONGLE BAS et d une ZC 3 9 Il faudra tout d abord taper ZCMBasic C3 9 OI DONGLE BAS pour compiler un fichier DONGLE IMG Un utilitaire sp cifique BCLOAD EXE servira ensuite pro grammer physiquement la carte selon le mode d emploi r sum suivant BCLOAD BasicCard Loader Utility Version 4 30 c ZeitControl 2002 Usage BCLOAD param param image file param param image file The image file to download to the BasicCard IMG param D Display commands on screen ELerror file Error file ERR L log file 1 0 log file L0G Pcom port Use specified COM port Sstate Set card state Lload Tlest CRlun Une ZC 3 9 tant ins r e dans un lecteur PC SC on tapera it ainsi BCLoad D P101 DONGLE IMG pour op rer le t l chargement en suivant l cran les progr s de l op ration 43 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES A PUCE Pr cisons que sauf ordre contraire la carte restera par d faut en mode TEST et pourra donc
150. n tre un t l phone portable qui aura souvent norm ment de choses dire qu un lecteur de cartes puce de poche Dans un cas comme dans l autre il est toutefois courant que la fr quence d horloge appliqu e la carte soit telle que le rythme de modulation diff re de l habituel 9 600 bauds 64 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES La derni re version de nos logiciels pour espion donnant la possibilit d appliquer un facteur de correction K il est utile de conna tre la fr quence F r ellement utilis e avant de faire la r gle de trois K 12 x 3 579 F Certains lecteurs de poche par exemple produisent un signal d horloge 1 ou 1 5 MHZ au lieu du classique 3 579 MHz tout simplement pour limiter la consommation sur les piles on appliquera alors respectivement un facteur de correction de 41 ou de 28 Un petit accessoire fort simple suffit pour brancher en toute s curit un fr quencem tre sur la liaison carte terminal Grav selon le trac de la figure 2 12 un tout petit circuit imprim sera quip d une embase RCA droite et de la classique barrette s cable faisant office d embase HE 10 On branchera celle ci sur la troisi me fiche HE 10 du cordon reliant une fausse carte au connecteur de la figure 2 4 et un fr quencem
151. n coffre fort dont la porte s ouvrira d s qu il aura le dos tourn eh bien autant qu il le sache Et comme sa banque ne s en vantera videmment pas c est bel et bien lui qu il appartient de proc der sa propre valuation s curitaire Au passage nous nous offrirons m me le luxe de pr senter des moyens de s curisation qui bien qu tant la port e de l amateur se r v leront parfois plus s rs que ceux que mettent ou non en uvre les professionnels Mais voyons un peu par quel bout prendre une carte puce dont on ignore peu pr s tout Un analyseur de r ponse au reset En tout premier lieu il est int ressant d interpr ter sa r ponse au reset ATR c est dire cette suite d octets qu elle met spontan ment d s sa mise sous tension Les normes ISO 7816 3 et 7816 4 d crivant par le menu la signifi cation de chacun de ses bits il est possible sinon facile de d ve lopper un logiciel capable d afficher un compte rendu d taill Plut t que de r inventer la roue nous ne pouvons gu re mieux faire que de recommander chaudement ANALYSER EXE aimablement offert par ACS avec son code source en C sur le c d rom de cet ouvrage Notons que cet utilitaire fonctionne sous DOS ou dans une fen tre MS DOS de Windows Exception qui confirme la r gle donc il n est pas compatible PC SC et devra par cons quent tre utilis avec un CyberMouse ou un ACR 20 s rie
152. nal on remplacera celui ci par une ZC 5 4 ou 5 5 dans laquelle on aura pr alablement charg le fichier EMUSCOT IMG l aide de BCLOAD EXE La structure m moire du mod le sera scrupuleusement respect e les diff rents pointeurs demeurant inchang s 135 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle 5 EE __ ________ PLUS LOIN AVEC LES CARTES PUCE Par rapport l original la copie de sauvegarde ainsi r alis e perd bien s r toutes les donn es qui taient ventuellement prot g es en lecture au minimum les diff rents jeux de clefs secr tes De plus aucune commande vocation s curitaire et il y en a beaucoup dans les cartes SCOT n est mul e Pas question par cons quent de faire mettre jour une telle photocopie d une carte Vitale dans une borne publique op ra tion qui serait d ailleurs assimilable une falsification Par contre le fait que le premier lecteur venu arrive lire indiff remment l original ou la copie d montre l vidence que le d codage des principales donn es personnelles ne fait appel ni aux clefs secr tes confi es la carte ni aux algorithmes crypto graphiques dont elle dispose Un exemple de plus donc d une application sensible qui ne profite que bien partiellement des ressources s curitaires des cartes qu elle utilise 5 5 ET AVEC UN LECTEUR DE POCHE Un tel constat d
153. nfiniment plus complexe qui laborerait plut t un condens des donn es entrantes La commande TEST code op ratoire 06h utilise volontai rement le m me algorithme et la m me clef cette faute de s curit tant tout simplement commise de fa on faciliter les exp riences venir Dans le cadre d une v ritable application pratique il est bien vident qu il faudrait imaginer une autre formule secr te Cela tant pr cis le but de cette commande est de d bloquer les droits d acc s aux donn es que contient la carte si et seulement si le bon code confidentiel est pr sent par le terminal Ce code doit tre recalcul chaque fois partir d une cha ne al atoire demand e la carte et de la clef secr te qui doit natu rellement tre identique dans la carte et dans le programme Terminal La carte r pond simplement par un compte rendu 98 04 si le code est erron et par 90 00 s il est exact auquel cas elle affecte la valeur 123 un octet interne FLAG dont la valeur par d faut est 0 Une variante pr sentant un niveau de s curit sup rieur pourrait tre imagin e selon laquelle il faudrait ex cuter plusieurs fois de suite le couple de commandes RAND et TEST chaque succ s incr mentant l octet FLAG et chaque chec le remettant 0 La commande OUT code op ratoire 08h enfin transmet au terminal un mot de sept octets ici Pa
154. ngtemps la norme ISO pour le positionnement de leurs contacts il ne faut pas oublier que des millions de cartes et pas seulement de t l cartes ont t produites avec une puce en position AFNOR Beaucoup de connecteurs de cartes puce sont d ailleurs toujours quip s de seize balais de contact m me si la tendance semble voluer vers des mod les huit frotteurs il n y a pas de petites conomies Il n est pas inutile de se doter des moyens de traiter les cartes puce AFNOR ne serait ce que pour pouvoir les essayer dans des lecteurs n acceptant que les puces en position ISO C est donc dans un souci d universalit que nous avons dessin le circuit imprim simple face de la figure 2 2 Figure 2 2 Trac du circuit imprim ISO SIM porte connecteur C t composants figure 2 3 il recevra un connecteur ITT CANNON ou compatible que l on choisira quip de seize balais et d un contact pr sence carte de type N O Norma lement Ouvert c est dire ferm lorsqu une carte est pr sente Les deux embases HE 10 dix contacts donnant acc s s par ment aux contacts ISO et AFNOR pourront tre remplac es par 56 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES ISO AFNOR M TE des tron ons de barrette s cabl
155. ni re commande dif f rents stades de l exp rience afin de v rifier dans quelles cir constances la carte accepte ou refuse de livrer les donn es qu elle est cens e prot ger et il n est nullement interdit de ris quer une comparaison avec certaines applications existantes 54 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE DUNOD La photocopie non autoris e est un d lit AUTOUR DES CARTES ASYNCHRONES 2 7 DES OUTILS CONNECTIQUES Pour exp rimenter commod ment autour des cartes puce il est souhaitable de disposer d un jeu d accessoires facilitant au maxi mum les connexions que l on peut tre amen tablir entre les cartes et les terminaux qui les accueillent Adaptations de format et branchement en parall le d outils d investigation ne sont finalement que deux exemples des bons et loyaux services que rendra volontiers un kit connectique sp cialis Un cordon HE 10 Chacun sait qu une carte puce conforme la norme ISO 7816 comporte au maximum huit contacts dont deux ou trois restent d ailleurs de plus en plus souvent inemploy s Ajoutons cela les deux connexions du contact de pr sence carte dont sont souvent quip s les connecteurs et nous arri vons un devis de dix conducteurs pour le cordon qui servira interconnecter les l ments de notre bo te outils D s ses premiers pas dans le monde fa
156. nsi que le fabricant ACS Advanced Card Systems con oit et produit Hong Kong ses lecteurs de poche ABR offrant de larges possibilit s de personnalisation en fonction des besoins de chaque application Bien que bas sur cette m me plate forme mat rielle le Pocket Reader de certains kits de d veloppement bouscule compl te ment cette approche puisqu il se veut r solument g n rique En clair ce n est pas le lecteur qui s adapte industriellement telle ou telle carte mais la carte qui s adapte par simple program mation ce lecteur prendre ou laisser Vue interne d un lecteur porte clefs ABR 1 8 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE Naturellement nous n allons pas nous priver d exploiter au chapitre 6 cette opportunit dont on ne mesure pas forc ment tr s bien la port e au premier abord Il est important de remarquer que la production de masse et donc bas prix de lecteurs de poche n a v ritablement pris son essor que gr ce l apparition de microcontr leurs interface carte puce incorpor e M me si des concurrents arrivent maintenant sur le march c est STMicroelectronics grand sp cialiste des composants encar tables que l on doit l un des premiers monochips pour lecteurs de cartes puce le ST 72411 R RE ONDINA Oo N
157. nt pour lequel il r clame des pr visions Seulement le t l phone affiche des lettres majuscules alors que l on veut taper des chiffres L explication se situe dans le contenu de la commande Fetch par laquelle le t l phone va chercher son ordre de lecture du clavier AO 12 00 00 27 DO 25 01 03 01 23 01 0 6E 6F 2E 20 64 05 70 74 20 20 20 20 2 02 17 03 04 50 4D 2 02 81 82 OD 11 04 0 20 20 20 11 02 02 La carte donne la valeur 01h l octet qualifier pr cisant le format des donn es recueillir ce qui correspond l alphabet par d faut et donc alphanum rique Tout se passe bien avec les t l phones qui commencent par affi cher un chiffre quitte appuyer plusieurs fois sur la m me touche quand on d sire entrer une lettre 110 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM Un probl me se pose par contre avec les t l phones qui atten dent du texte en priorit ce qui est leur droit le plus strict dans cette situation Pour viter ce genre de malentendu il aurait suffi que la carte mette le qualifier 00h ce qui correspond un alphabet pure ment num rique Cette fois la faute incombe clairement la carte mais comme elle ne se manifeste que sur certains mod les de t l phones le SAV de l op rateur a tendance incriminer le mobile lo
158. nt toutes le m me identifiant cartes de lavage de voitures 8 contacts des stations service BP par exemple e programmer un identifiant librement choisi dans une carte vierge ou disposant d une zone de m moire encore disponible en criture Dans une carte puis e de 24 unit s de lavage par exemple il reste normalement 136 bits 0 qu il est facile de mettre indivi duellement 1 voir notre ouvrage Cartes puce Initiation et applications dans cette m me collection Chacune de ces fa ons de proc der correspond un compromis diff rent entre s curit et souplesse d utilisation et ne doit donc pas tre adopt e la l g re La voie que nous allons explorer ici consiste personnaliser le programme du PIC en fonction du contenu des cartes que l on souhaite reconna tre La mise en uvre est certes un peu plus lourde que par appren tissage mais la s curit d ensemble s en trouve renforc e tandis qu un PIC moins puissant suffit amplement La simplicit du programme n aura d gale que celle du sch ma de la figure 1 9 en d pit de la complexit toute relative de la t che accomplir Ne consommant du courant et d ailleurs fort peu que lorsqu une carte est pr sente dans le connecteur le montage peut fonctionner DUNOD La photocopie non autoris e est un d lit 23 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle
159. ntenant consid rer que Windows int gre le support natif des cartes puce et des lecteurs PC SC Pour le d veloppeur cela se traduit au plus bas niveau qui lui soit rendu accessible par la possibilit si ce n est l obligation d utiliser les services d une APT baptis e WinScard dil 32 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES SCardAddReaderToGroupA SCardAddReaderToGroupW SCardBeginTransaction SCardCancel SCardConnectA SCardConnectW SCardControl SCardDisconnect SCardEndTransaction SCardEstablishContext SCardForgetCardTypeA SCardForgetCardTypeW SCardForgetReaderA SCardForgetReaderGroupA SCardForgetReaderGroupW SCardForgetReaderW SCardFreeMemory SCardGetAttrib SCardGetProviderIdA SCardGetProviderIdW SCardGetStatusChangeA SCardGetStatusChangeW SCardIntroduceCardTypeA SCardIntroduceCardTypeW SCardIntroduceReaderA SCardIntroduceReaderGroupA SCardIntroduceReaderGroupW SCardIntroduceReaderW SCardListCardsA SCardListCardsW SCardListInterfacesA SCardListInterfacesW SCardListReaderGroupsA SCardListReaderGroupsW SCardListReadersA SCardListReadersW SCardLocateCardsA SCardLocateCardsW SCardReconnect SCardReleaseContext SCardRemoveReaderFromGroupA SCardRemoveReaderFromGroupW SCardSetAttrib SCardState SCardStatusA SCardStatusW SCardTransmit SCardRawPci SCardTOPci
160. ocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES DE PAIEMENT La figure 6 1 r sume pour sa part les r sultats d investigations men es de cette fa on sur sept cartes mises en pr s de dix ans par deux banques diff rentes ainsi que les d ductions que l on peut raisonnablement se risquer en tirer Elle met bien en vidence la grande lasticit de l organisation de la m moire et la fa on dont les metteurs en ont tr s largement tir parti On remarquera tout d abord que le masque BO se caract risait par une zone d tat particuli rement vaste 480 bits car non effa able Un bit y tant irr versiblement grill lors de chaque pr senta tion du code confidentiel la puce les cartes de cette poque rendaient souvent l me avant la fin de leurs deux ans de validit De m me raison d un enregistrement de 32 bits par op ration une zone de transaction de 768 octets ne permettait gu re plus de deux paiements puce par semaine mais l poque les facturettes imprim es au fer repasser taient encore monnaie courante Ce n est gu re que lors du passage au masque B0 que les banques ont enfin reconnu publiquement l existence de ph nom nes de saturation des puces et par l m me la pr sence d un histori que des op rations dans la carte La technologie EEPROM permettant de recycler aussi souvent que n cessaire l
161. oge du PC utilis contrairement au cas des programmes GWBasic sur port parall le qui pouvaient n cessiter un talonnage tudions donc maintenant ce qui se passe lorsque le montage pr alablement muni d une t l carte est ins r dans un lecteur PC SC D s l introduction de la fausse carte le lecteur PC SC com mande un reset g n ral ce qui positionne la t l carte sur son premier bit Simultan ment le PIC met une r ponse au reset minimale 3F 00 qui indique au lecteur PC SC quel protocole utiliser pour la suite des op rations T 0 convention inverse 9 600 bps D s lors tout se passera par encha nement de commandes ISO 7816 et par interpr tation des seuls comptes rendus SW1SW2 retourn s apr s leur ex cution pour gagner du temps nous n avons pas utilis de champ donn es dans ces commandes La commande 22 44 00 00 00 doit retourner SW1 90h SW2 contenant l tat du bit lu avant mais aussi apr s son ex cution 90A5 indiquerait ainsi que le bit lu avant l ex cution de la micro instruction UP tait 1 et que celui lu apr s est 0 9055 signifierait que le bit lu tait 0 et y est rest 90AA qu il tait 1 et y est rest tandis que 905A rendrait compte d un passage de O0 1 87 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES A PUCE La commande 22 22 00 00 00 pa
162. oh rent avec l introduction suppos e comp ter de novembre 1999 d une clef RSA de 768 bits Parall lement le jeu secret des derni res cartes mises semble bien tre pass 540 bits tout cela ne laissant plus gu re que 636 octets pour la zone de transaction C est encore tout juste suffisant pour permettre comme promis l affichage des 140 derni res op rations sur les lecteurs de poche disponibles dans le commerce mais il ne doit plus rester beaucoup de marge de man uvre d ici l EMV moins de cannibaliser carr ment cet historique Mais la zone de lecture h berge encore bien d autres informations int ressantes dont le d codage n est cependant pas facile car comme dans la carte Vitale leurs bits ne sont pas jointifs Toujours d velopp en ZCBasic notre programme ADL EXE permet tout lecteur PC SC de cr er un fichier ADL CAR 100 compatible avec le logiciel de d codage DECADL publi dans notre ouvrage PC et cartes puce ou bien avec son quivalent compil sous ZCBasic ZCDECADL EXE Dans un cas comme dans l autre on obtiendra un r sultat ressem blant ceci DECADL c 1997 Patrick GUEULLE ANALYSE DU FICHIER ADL CAR CARTE N 4 9 7 0 0 0 0 0 0 0 0 0 0 0 0 0 Code service 1 0 1 D but validit 9 3 1 1 Code langue 2 5 0 250 fran ais Fin de validit 9 5 1 1 Code devise 2 50 250 francs fran ais Exposant 3 3 centi mes 5 unit s Porteur MR PAT
163. ompte rendu de bonne ex cution 51 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES A PUCE 9000h voire de la simple absence de compte rendu d erreur pour admettre l authenticit d une carte laquelle elles viennent de transmettre en clair s il vous pla t un code r put confi dentiel D velopp partir d une BasicCard Enhanced dot e de 8 Ko d EEPROM notre dongle a pu mettre contribution l un des meilleurs algorithmes cryptographiques actuellement disponi bles le SHA 1 Cela n est pas possible avec la BasicCard Compact ZC 1 1 pourvue de seulement 1 Ko d EEPROM et dont l algorithme SG LFSR est avant tout pr vu pour crypter les changes de commandes entre la carte et le terminal En revanche la ZC 1 1 co te tr s sensiblement moins cher tandis qu il n est pas inint ressant de voir ce que l on peut faire avec cette carte d entr e de gamme dont un chantillon si ce n est deux a longtemps t fourni dans les kits BasicCard Deux courts programmes ZCBasic suffisent pour se fixer rapide ment les id es quitte corser un peu l algorithme crypto graphique lorsque viendra le moment de monter une v ritable application pratique Le programme AP BAS destin tre implant dans la Basic Card ZC 1 1 se compose essentiellement de quatre d finitions de commandes auxquell
164. one et les suivantes aux diff rentes rubriques qui peuplent ce nouveau sous menu L exemple ci dessous provient pour sa part d une carte post paid mise par un op rateur fran ais bien connu Services services 106 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM kiosque SMS infos agenda On y retrouve quelques raccourcis vers des services offerts par le r seau tant bien entendu que chaque choix peut son tour donner acc s un nouveau sous menu que notre programme ne va pas jusqu d tailler car ce serait bien plus compliqu Ici l avantage du SIM Toolkit est d uniformiser totalement le mode d acc s ces services quel que soit le mod le de t l phone utilis car on sait bien qu il existe des diff rences consid rables d ergonomie d une marque l autre Mais le revers de la m daille c est que ce surcro t de simplicit camoufle habilement le fait que les services en question fonction nent souvent par envoi de SMS videmment payants et m me g n ralement surtax s C est particuli rement flagrant dans le cas de l application agenda qui pourrait parfaitement tre g r e localement dans le t l phone ou dans la carte puisque celle ci h berge d j l annuaire personnel de l utilisateur Eh bien non Tout le contenu
165. one de fabrication qui suit imm diatement la zone de lecture En pr sence d une carte SCOT inconnue notre programme INFOSCOT BAS naturellement d velopp en ZCBasic se fera un plaisir de d terminer automatiquement les valeurs de tous ces pointeurs galement fournie dans le dossier VITALE du c d rom sa version ex cutable INFOSCOT EXE fonctionnera directement sur n importe quel lecteur PC SC ComPort 101 Elle pourrait ventuellement tre recompil e pour le lecteur CyberMouse fourni dans les kits BasicCard ComPort 1 s il est branch sur COM1 ou ComPort 2 s il est reli COM2 Muni de tous ces pr cieux indices il n est gu re compliqu de proc der la lecture exhaustive de la carte exception faite des clefs secr tes naturellement prot g es en lecture et de la zone d acc s qui ne sert gu re qu tenir la comptabilit des pr sentations r ussies ou non des clefs et codes PIN 5 3 UNE N CESSAIRE SURVEILLANCE Notre programme COPYSCOT BAS a t con u pour faciliter diff rentes op rations autour des cartes SCOT en g n ral et donc pas sp cialement des cartes Vitale 133 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle 5 EE ULUM PLUS LOIN AVEC LES CARTES A PUCE Il n est pas tr s rapide car il ne lit volontairement qu un seul mot de 32 bits par commande BC B0 en l enregistrant aussit t dans un fichier bap
166. onne forc ment envie de pousser plus loin les investigations en tudiant tout bonnement comment les lecteurs de poche librement vendus au grand public communiquent avec la carte Vitale Il est d ailleurs int ressant de faire la distinction entre ceux ci et les consulteurs con us pour les professionnels prodiguant des soins domicile Les lecteurs les plus simples XL 2000 de Xiring ou Lexibook par exemple op rent aussi bien sur les cartes bancaires consultation de l historique des transactions ou les t l cartes lecture du solde d unit s que sur les cartes Vitale num ro d immatriculation centre d affiliation Sous une apparence tr s similaire les consulteurs affichent aussi des informations plus indiscr tes telles que le d tail des droits attach s la carte En gros un consulteur donne acc s aux donn es qui taient impri m es sur la carte papier tandis qu un lecteur affiche plut t l quivalent de ce qui apparaissait sur un extrait de carte expurg de toute information confidentielle Notons pourtant que les derni res g n rations de lecteurs de poche XL 2500 en font presque autant D terminer l aide d un espion de cartes asynchrones o le lecteur va lire les donn es qu il doit afficher est l affaire d un instant 136 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e
167. onnement de l ensemble ne pourrait tre plus simple lancer AUTHEXE l ex cutable Windows obtenu par compilation de AUTH BAS sur un PC quip d un quelconque lecteur PC SC Si tout va bien l insertion de la carte devra entra ner l affichage du message CARTE RECONNUE puis du mot de donn es Patrick ventuellement on pourra d tailler davantage les r actions de la carte en se servant d un logiciel tel que Scard exe permettant de lui envoyer directement des commandes ISO 7816 en protocole T 1 e 50 02 00 00 04 pour lui demander quatre octets al atoires envoyer plusieurs fois de suite cette m me commande et constater que la r ponse est chaque fois diff rente 50 04 00 00 04 pour r cup rer le r sultat xx xx xx xx de l ex cution de l algorithme partir de la derni re valeur al a toire g n r e et de la clef secr te e 50 06 00 00 04 xx xx xx xx pour pr senter le r sultat pr c dent en tant que code confidentiel Celui ci sera reconnu comme exact si et seulement si les commandes RESP et TEST utilisent le m me algorithme et la m me clef la fameuse faute de s curit pr c demment voqu e Bien entendu il serait refus si une nouvelle commande RAND tait envoy e entretemps sans toutefois tre suivie d une nou velle commande RESP e 50 08 00 00 07 pour tenter de lire le mot de donn es th ori quement prot g On n h sitera pas envoyer cette der
168. ontient son fichier Phase 7F20 6FAE S il est sup rieur 02h on pourra d coder le contenu de sa SIM Service Table 7F20 6F38 pour avoir beaucoup plus de d tails Mais on peut aussi regarder comment la carte r agit une commande Terminal profile par exemple A0 10 00 00 04 FF FF FF FF e si elle r pond 6D00 INS 10h non reconnu c est qu elle ne supporte pas le SIM Toolkit e si elle r pond 9000 cela prouve qu elle supporte le SIM Toolkit mais qu elle n a pas du moins pour le moment d ordre donner au t l phone e si elle r pond 91XX elle est non seulement compatible SIM Toolkit mais pr te transmettre des ordres au t l phone sous la forme d un bloc de donn es long de XXh octets Un logiciel de recherche de menus Nous avons imagin un petit programme ZCBasic permettant d aller plus loin dans cette voie en d terminant si la carte est en mesure d ins rer son propre menu dans celui du t l phone Le code source STKM BAS a ainsi t compil en STKM EXE une v ritable application console pour Windows 95 ou sup rieur capable de se servir de n importe quel lecteur PC SC correctement install Voici par exemple le r sultat obtenu partir de notre BasicSIM de seconde g n ration Proactive Term Profile BasicCard LOG On LOG Off Clear LOG La premi re ligne correspond l entr e ajout e par la carte dans le menu principal du t l ph
169. our obtenir un fichier ex cutable GETHIST EXE La taille respectable de celui ci 252 928 octets trahit bien le fait qu il s agit d une application Windows au grand complet Son but est d afficher les caract res historiques de la r ponse au reset ATR de la carte pr sente dans le lecteur PC SC Sensiblement ce que fait PCSCatr EXE donc mais partir d un code source de quelques lignes et non plus de plusieurs pages Tout ce qu il y a de compliqu et de fastidieux dans la gestion d un lecteur PC SC ou m me de plusieurs est en effet pris en charge de fa on enti rement transparente par le ZCBasic Qu il nous soit permis d insister C est tout fait exceptionnel et absolument remarquable en termes de simplification du d ve loppement d applications PC SC quelques minutes au lieu de plusieurs heures quelques heures au lieu de plusieurs jours ou semaines Certes cela suppose de renoncer aux possibilit s graphiques de Windows mais lorsque cela posera vraiment un probl me on pourra s int resser l API BasicCard galement fournie sur notre c d rom qui permet de programmer en Visual Basic en C ou en C si on en a l habitude Quelques mots seulement car c est tr s simple sur l organisation g n rale de cet chantillon de code source ZCBasic Les deux premi res lignes provoquent l inclusion de deux biblio th ques fournies avec le compilateur Indispensable CARDUTIL DEF
170. ouvent l ex cution des logiciels compa tibles avec le seul mode propri taire l inverse si le lecteur n est connect qu apr s le d marrage r ussi de Windows par exemple avec un commutateur R5232 alors il fonctionnera tr s probablement dans son mode propri taire et ne sera pas reconnu par les applications PC SC Cela dit il est fr quemment possible de faire fonctionner simul tan ment un lecteur PC SC sur un port donn et un lecteur propri taire sur un autre ou encore deux lecteurs PC SC reli s des ports diff rents Dans ce dernier cas le logiciel peut proposer de choisir entre les lecteurs disponibles ou bien s lectionner d autorit un lecteur par d faut une in puisable source de surprises 1 3 DES LECTEURS DE POCHE Si les lecteurs de cartes puce sont en passe de devenir des p ri ph riques de PC aussi courants que les souris on commence aussi en trouver dans les poches de monsieur Tout le monde c t des lecteurs d di s tel ou tel porte monnaie lectronique ou diverses cartes privatives les mod les g n riques com patibles avec certains outils de d veloppement ont de quoi s duire le d veloppeur imaginatif Comme bien des id es g niales c est en France qu a germ celle d un lecteur de cartes puce autonome et au format de poche D velopp par le SEPT le regrett d partement R amp D commun de La Poste et de France T l
171. peut tre pr s de six fois plus rapide que la valeur par d faut de 9 600 bauds cela toutefois sans pouvoir augmenter la fr quence d horloge au del de 5 MHZ au lieu de 3 579 Comme le lecteur n est pas oblig de s accommoder de ces para m tres il peut entamer une n gociation avec la carte d s que celle ci aura fini de lui transmettre sa r ponse au reset Ayant par exemple re u une ATR gale 3B 3C 94 00 4B 31 25 A2 10 13 14 47 83 83 90 00 le lecteur pourra envoyer le bloc d octets suivant la carte FF 10 94 7B 67 L espion de cartes puce asynchrones DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES A PUCE En l occurrence cela signifie que le lecteur accepte de travailler F 512 et D 8 mais il pourrait fort bien marchander en proposant ses propres param tres La carte retourne alors exactement le m me bloc d octets si elle est d accord mais elle peut aussi faire une contre proposition ce qui se traduit par la modification de quelques bits dans le bloc d octets renvoy partir du moment o une telle n gociation aboutit l espion n affichera plus que des donn es erron es tant qu il restera r gl sur le d bit de donn es par d faut 68 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE PAGE AUTOUR DES CARTES SYNCHRONES 3 1 Des outils d exploration
172. peuvent tre mul es en c blant des EEPROM quivalentes pr sent es en bo tier DIP 8 sur des fausses cartes en circuit imprim de 8 10 mm d paisseur Moyennant la gravure d un tel adaptateur selon le trac de la figure 3 1 le lecteur CyberMouse peut ainsi fort bien faire office de programmateur de m moires EEPROM s rie que l on enfichera sur un support tulipe c bl selon la figure 3 2 POSITION ISO gt 79 Figure 3 1 Trac de la fausse carte I2C Figure 3 2 Plan de c blage de la fausse carte DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES PUCE Cartes protocole I2C tendu code famille 07h e 24C65 Microchip etc Au del de 16 kbits le protocole 2C classique doit c der la place une variante dite tendue parfois baptis e XIIC Les cartes puce de cette famille atteignent ainsi des capacit s allant jusqu 8 Ko soit 65 536 bits comparables celles de certaines cartes asynchrones Cartes protocole Microwire code famille 08 93CS06 93CS46 diverses marques Relativement peu utilis dans les cartes puce le protocole Microwire est un concurrent de l T2C en mati re de m moires EEPROM s rie Les mod les support s par le CyberMouse sont organis s en 16 registres de 16 bits soit un total de 256 bits Un registre de protection permet d inter
173. plaisons appeler ses fioritures le fait m me qu il supporte les lecteurs PC SC prouve qu il s agit bel et bien d un outil de d veloppement Windows 32 bits Simplement il exploite son mode console c est dire un mode texte plut t rustique dans une fen tre MS DOS de Windows 95 ou sup rieur 35 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE OULU PLUS LOIN AVEC LES CARTES PUCE Cela ressemble d ailleurs s y m prendre du MS DOS mais ce n en est pas un logiciel d velopp en ZCBasic V 3 ou V4 ne s ex cutera pas sur un vieux PC fonctionnant sous DOS ou sous Windows 3 Comme tout Basic compil qui se respecte le ZCBasic est tribu taire d un compilateur ZCMBASIC EXE C est lui qui produira de v ritables ex cutables Windows 32 bits partir du code source crit au moyen de n importe quel diteur de texte Il est m me fourni un environnement de d veloppement en bonne et due forme dot de tout le confort de Windows ZCPDE EXE partir duquel il est normalement pr vu d appeler le compila teur ainsi qu un excellent simulateur Mais il est galement possible d op rer directement en mode ligne de commande selon le mode d emploi condens suivant 1C Basic Compiler Version 4 32 c ZeitControl 2002 Usage ZCMBASIC param param input file param param input file The ZC Basic source file BAS param
174. pourrait bien tra ner jusqu en 2006 voire au del et c est tant mieux pour nos exp rimentations Fonctionnellement plus riches plus sophistiqu es plus s cu ris es dit on les nouvelles cartes sont surtout plus co teuses 3 5 4 contre 1 50 pour les actuelles cartes B0 Elles font soit dit en passant l objet d une normalisation tr s ouverte et de nature r solument publique ce qui est assur ment une bonne chose Certains experts craignent toutefois que les mesures de s curit facultatives qu elle d finit ne soient pour changer mises en uvre que d une fa on maladroite ou m me pas du tout Cela se traduirait naturellement par un r sultat diam tralement oppos au but poursuivi le renforcement de la s curit Parall lement on commence int grer le porte monnaie lectro nique Mon o dans les cartes bancaires ce qui fait couler beaucoup d encre 6 6 ET VOICI MON O Par d finition un porte monnaie lectronique PME est cens se substituer la menue monnaie pour effectuer commod ment par carte des paiements de faibles montants En toute logique il devrait donc tre sans abonnement ano nyme et rechargeable aussi bien par d bit d un autre PME parents vers enfants par exemple que d un compte bancaire Un tel produit existe il s appelle Mondex et a amplement fait ses preuves notamment en Grande Bretagne Il n av
175. r car il utilise une fr quence CLK r duite 1 MHz il peut aussi afficher WAIT En protocole T 1 il est courant qu une m me commande soit la fois entrante et sortante ce qui est un peu d routant lorsque l on n a jamais op r qu en T 0 cartes bancaires cartes SIM carte Vitale etc Cela n est pourtant pas tr s compliqu et finalement plut t commode l octet Lc indique la longueur du bloc de donn es DATA que le lecteur transmet la carte tandis que Le indique 153 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES A PUCE le nombre d octets que le lecteur demande la carte de lui retour ner rien n interdisant bien s r Le d tre gal Lc qui vaudra ici 10h soit 16 en d cimal Les donn es que le lecteur envoie ainsi spontan ment la carte d crivent tout simplement ce qu il est capable de faire Comme il n existe pour l instant qu un seul mod le on peut carr ment les ignorer l exception du tout premier octet qui pr cise combien d op rations d affichage ont t effectu es depuis que la carte est pr sente dans le lecteur Pour faire s afficher une ligne de caract res la carte doit simple ment renvoyer le bloc d octets DATA qu elle a re u en y apportant les modifications suivantes 1 octet doit tre r p t l identique e 2 octet format des donn es
176. r contre doit toujours renvoyer SW1SW2 9022 que l op ration d criture ait r ussi ou non la v rification se fera g n ralement l occasion de la prochaine commande 22 44 00 00 00 Une micro instruction PGM isol e ne peut en effet que mettre 1 un bit qui tait 0 et jamais le contraire Tel qu il est propos ce montage ne permet d ailleurs l criture que dans les T2G pour la bonne et simple raison que les lecteurs PC SC ne fournissent pas le Vpp de 21 V n cessaire l criture dans les T1G pour ce genre de besogne un lecteur maison ferait beaucoup mieux l affaire De toute fa on l op ration est bien plus int ressante sur les T2G en raison de cette fameuse variante dite avec retenue Ne faisant pas l objet d une commande sp cifique cette micro instruction est r alis e en encha nant deux commandes PGM sur un m me bit Ex cut e dans certaines zones du plan m moire de la T2G cette op ration permet d effacer remettre 0 huit bits d un coup au prix de la mise 1 d un seul bit dans l octet de poids sup rieur C est ce m canisme qui sert faire tourner le compteur de type boulier capable de comptabiliser plus de trente mille unit s avec seulement 40 bits Naturellement le maximum semble avoir t fait pour interdire tout ce qui pourrait s apparenter de pr s ou de loin un rechar gement partir du moment o une t l car
177. re que d autres fabricants de lecteurs offrent des logiciels comparables tel Towitoko http www towitoko de avec son Smart Card Editor destin ses lecteurs ChipDrive Sa principale particularit est de tenter de deviner avec des fortunes diverses le type de carte que contient le lecteur 3 2 UN ADAPTATEUR PC SC POUR CARTES SYNCHRONES Si le CyberMouse reconna t une grande vari t de cartes syn chrones bien d autres lecteurs PC SC supportent seulement les cartes asynchrones I2C et protocole 2 3 fils 81 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ___ PLUS LOIN AVEC LES CARTES A PUCE Avec leur protocole franco fran ais les t l cartes T1G ou m me T2G demeurent ainsi compl tement l cart du ph nom ne PC SC mais c est peut tre voulu La vocation du pr sent adaptateur est donc de d guiser une t l carte T1G ou T2G en carte asynchrone assurant indirectement sa compatibilit avec les lecteurs PC SC des micro ordinateurs fonctionnant sous Windows Et pour ce faire nous allons de nouveau utiliser un microcontr leur mais programm cette fois ci en assembleur Chacun sait en effet que le PIC 16F84 se pr te admirablement la r alisation de cartes puce asynchrones souvent d sign es sous le nom de wafer cards Quelques applications succ s dans des domaines aussi vari s que la t l vision p age l
178. rictions frappent cependant les cartes n cessitant une tension de programmation Vpp sup rieure 5 V commencer par les GPM 416 que l on pourra tout de m me lire et les t l cartes T1G pas directement accept es par le CyberMouse mais nous avons bien videmment imagin une solution ce probl me ces exceptions pr s chacun pourra librement op rer sur les familles de cartes suivantes identifi es par un code tenant sur un octet Cartes protocole Eurochip code famille 01h SLE4406 SLE443x SLE553x Siemens Infineon e AT88SC06 Atmel e ST1304 ST1305 ST1335 ST1336 ST1355 STMicroelectronics 71 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE MM PLUS LOIN AVEC LES CARTES PUCE e PCF2006 PCF203x PCF223x Philips e SCS152 Microchip e GPM103 GAM226 GAM326 Gemplus Depuis la toute premi re Telefonkarte allemande jusqu aux Eurochip de seconde g n ration toutes les cartes de cette famille protocole 5 contacts dont la capacit va de 104 271 bits ont en commun un syst me de comptage d unit s de E HET ES x View Help Memory Card ACOS1 Commands About Chip ID Area a Card ID Area Counter 4096 Counter 512 Counter 64 Counter 8 Counter 1 Control Area Aux Data Area Authentication Hex annii Stan 50 15 44 EF H C Ascii Special functions xi Authentication
179. rsqu il proc de en toute bonne foi ses in narrables essais crois s Proactive SIM et envoi de SMS Admettons maintenant que l application m t o soit enfin op rationnelle et que l on ait r ussi entrer le num ro de d par tement 76 Le v ritable programme qui s ex cute dans la carte demande alors au t l phone d envoyer un SMS un service sp cialis Pour ce faire la carte va par exemple r pondre 9135 au lieu de 9000 d s qu elle en aura l occasion Le t l phone r pliquera vos ordres en mettant une com mande FETCH r clamant tout juste 35h octets de donn es AO 12 00 00 35 En l occurrence ces 53 octets seront DO 33 01 03 01 13 00 02 02 81 83 05 0C 6D 05 74 05 6F 20 20 20 20 20 20 20 06 07 91 33 86 09 40 00 FO OB 11 01 00 05 81 02 22 F0 00 F6 07 6D 05 74 05 6F 37 36 Sans proc der une analyse par trop approfondie de ce bloc de donn es on notera que l octet 13 en sixi me position identifie un ordre SEND SMS Plus loin un l ment TLV avec un tag 05h nature alpha ID tout comme 85h et une longueur de OCh octets contient le texte destin s afficher sur l cran du t l phone m t o suivi de sept espaces 20h soit un total de douze octets 0Ch La suite du bloc de donn es contient le corps du SMS envoyer et en particulier e le num ro du centre de messagerie charg de l acheminer 33689004000 e le num ro
180. rt cards d riv de Visual Basic la seule carte puce programmable en Basic Il s agit en fait d une grande famille de cartes syst me d exploitation ouvert c est dire l quivalent pour les cartes puce de ce que fut le Basic Stamp pour les microcontr leurs une r volution En clair chacun peut acheter au d tail et des prix abordables des cartes blanches pour y embarquer librement ses propres applications Cela rappelle furieusement les Wafer cards et leurs innom brables cousines mais la similitude s arr te l m me si la Basic Card est accessible au grand public ce qui ne fait pas que des heureux c est un produit r solument professionnel largement conforme aux normes en vigueur Mais la grande originalit du syst me BasicCard c est qu un m me langage de programmation tr s simple oui le Basic 34 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES peut servir programmer aussi bien des cartes que des applica tions pour leur terminal entendons par l un PC quip d un lecteur appropri Le kit logiciel tant enti rement gratuit offert dans le dossier BASICCARD du c d rom de cet ouvrage et t l chargeable sur http www basiccard com rien n emp che de s en servir pour d velopper en quelques lign
181. rtes de terminaux en lieu et place de vraies cartes puce 58 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES Dot es d une embase HE 10 au brochage conforme la figure 2 1 celles ci se pr tent toutes sortes d utilisations bien plus avoua bles que ce que pourrait laisser penser leur appellation Relier une fausse carte au connecteur que nous venons de d crire permet par exemple de faire accepter une carte AFNOR ou SIM Micro par un lecteur uniquement destin aux cartes plein format avec puce en position ISO CyberMouse notamment Tel est aussi le cas de certains lecteurs de poche capables d affi cher le solde d unit s d une t l carte mais seulement si sa puce est en position ISO Signalons enfin certains automates de lavage de voitures qui refusent d sormais les cartes pr pay es avec puce en position AFNOR dont la validit tait pourtant illimit e Il a t longtemps d usage de donner aux fausses cartes les dimensions exactes des vraies ce qui ne posait aucun probl me lorsque la moiti peine de la carte tait introduite dans le lecteur On rencontre toutefois de plus en plus de terminaux dans lesquels la carte p n tre en entier sans pour autant tre aval e par un syst me motoris Cette volution nous am ne
182. s cartes lavage BP de 12 ou 24 unit s 8 contacts et cela qu elles soient neuves puis es ou en cours d utilisation Le programme se contente en effet de v rifier deux octets cons cutifs 117d et 130d qui se trouvent tre communs aux iden tifiants des deux types de cartes cela apr s avoir saut les pr c dents sans m me en prendre connaissance sous programme jump Bien entendu cela ne se fait qu apr s un reset en bonne et due forme de la carte autrement dit apr s application d une s quence bien pr cise et relativement complexe d impulsions garantissant que la lecture commencera juste au premier bit de l espace m moire DUNOD La photocopie non autoris e est un d lit 27 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE __ ________ PLUS LOIN AVEC LES CARTES PUCE Nos lecteurs familiers du langage machine des PIC remarqueront que la quatri me ligne est crite en assembleur et non en BASIC C est une possibilit remarquable du compilateur LET Basic que de permettre de m langer ainsi les deux langages sans pr cau tion particuli re En l esp ce cela permet de modifier le contenu d un registre sp cifique du PIC OPTION dont la valeur par d faut ne nous convenait pas La compilation de ce code source produit un listing assembleur TEST508 ASM que son assemblage avec MPASM transforme en code machine TEST508
183. s drivers sp cifiques d un ou plusieurs lecteurs r put s compatibles PC SC La sp cification PC SC pr voit en effet un m canisme cens permettre la coexistence paisible de plusieurs lecteurs et de plusieurs applications faisant appel ensemble ou s par ment une ou plusieurs cartes puce asynchrones I2C ou protocole 2 3 fils ANINDOWS 32 bis Figure 1 1 Le principe de la compatibilit PC SC Logiciels PC SC Logiciels Windows 32 bits propri taires DOS ou Windows 16 32 bits DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES PUCE En pratique l exp rience montre que dans l tat actuel des choses il est prudent d viter d associer des lecteurs PC SC de diff rentes marques car la bonne entente entre drivers concurrents est encore loin d tre g n rale Une liste jour des lecteurs certifi s PC SC est disponible sur le site http www pcscworkgroup com On y trouvera des mod les populaires de chez Gemplus aux c t s de produits pas toujours tr s connus en France Deux exemples assez repr sentatifs sont l ACR 30 de chez ACS disponible au d tail aupr s de Selectronic et 1 ACR 20 Cyber Mouse http www hitechtools com CyberMouse est un excellent lecteur PC SC signaler galement le ChipDrive Micro de chez Towitoko http www towitoko de ou http www scmmicro com dis ponible
184. s que l on montera sur un circuit imprim grav selon la figure 1 7 DUNOD La photocopie non autoris e est un d lit 19 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES A PUCE L 9U S Id ON e O ddA ON aN9 C ZOSI o n489 US OSI 9 OSI OSI S OSI 52t ani ce0 C 5J 6E essyu dde T pus Jae L o SSA vJ 9S ragu say t8 991 Old a8essquardde g smmxros O9 Naa z OSI OSI 8OSI ET 2p PWYS e 9 T amas ji O N gH La 9qau cat es UORESIIAN T 14e AGE d ASIe6 87LbNL T O LOOPNE 20 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE DEVICE 16C84 INCLUDE EEPROM INIT EEPROM DIM B0 B1 B2 B3 B4 S H DEFINE PortB 00011001 OUTB 2 HIGH B 7 HIGH B 6 LOW B 6 LOW B 7 HIGH B 6 LOW B 6 HIGH B 5 H 0 IF INPORTB amp 1 0 THEN H 32 IF INPORTB amp 8 0 then GOTO learn IF INPORTB amp 8 8 then GOTO check learn FOR B0 0 TO 31 B2 0 FOR B1 0 TO 7 B2 B2 2 S INPORTB amp 16 S S 16 B2 B2 S HIGH B 6 LOW B 6 NEXT B1 STORE BO H B2 NEXT BO OUTB 0 B4 50 GOTO Led check FOR B0 0 TO 31 B2 0 FOR B1 0 TO 7 B2 B2 2 S INPORTB amp 16 S S 16 B2 B2 S HIGH B 6 LOW B 6 NEXT B1 B3 EEDATA BO H IF B2 lt
185. s cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit ADI ADS AD2 ADM ADC CHAPITRE AUTOUR DES CARTES SANT En creusant un peu les choses il appara t que la similitude est encore bien plus marqu e avec la famille SCOT une gamme de cartes BULL CP8 destin e aux applications les plus vari es voir notre ouvrage PC et cartes puce Sa technologie correspond ainsi peu pr s ce qui tait l tat de l Art en 1991 Conform ment la bonne vieille strat gie du rideau de fum e l metteur ne divulgue aucune information technique en dehors de partenariats avec des industriels tri s sur le volet par exemple les constructeurs des bornes de consultation des termi naux de professionnels de sant ou des lecteurs de poche grand public Qu cela ne tienne La lecture du manuel nullement confi dentiel des kits de d veloppement SCOT est fort riche d ensei gnements Il n en faut pas davantage pour partir l aventure dans le but avou car parfaitement avouable d valuer le degr de confiance que l on peut accorder une carte qui ne contient aucune donn e confidentielle c est ce que l on dit aux titulaires mais dont les informations administratives qu elle contient sont cod es par respect de la vie priv e c est ce que l on affirme aux professionnels qui affichent quelques tats d
186. s de fid lit sont bas es sur la version non crypto ST1331 ou GPM271 moins co teuse et plus simple mettre en uvre E HEC ES elx View Help Memory Card 40051 Commands About ST1333 z fs Circuit ID Arez MRG x Card ID Area Memory area to be updated 7 Counter 4096 z Courier 512 Start oo 09 Length oi Read Again Counter 64 80 Counter 8 Counter 1 En Certificat 7 di Write options Authenticatior o Normal nit teatinn fla il il E BRIE C Erase the selected contect with FF APE gt 80 lt 00 01 00 OA 00 01 lt 00 01 00 09 00 01 gt 9000 SW1 SWZ gt 80 lt 00 01 00 09 00 01 gt 3000 SW1 SW2Z gt 80 D marrer f CardE asy EA Paint Shop Pro BITES 11 38 Cartes compatibles GPMA416 lecture seulement GPM896 code famille 03h e SLE4404 Siemens Infineon e AT88SC101 AT88SC102 AT88SC1601 AT885C1604 Atmel e ST1301 STMIcroelectronics PCF7940 Philips e GPM416 GPM896 Gemplus quip e d un composant ST1301 la GPM416 de Gemplus a marqu la transition technologique de l EPROM l EEPROM Cette carte de seconde g n ration n cessitait toutefois encore une tension de programmation Vpp de 21 V que le CyberMouse n est pas en mesure de fournir car il ne contient pas de conver tisseur l vateur de tension Munie de zones prot g es par des codes confiden
187. s en t moignerons tr s largement au fil des chapitres qui suivent 2 4 DES LOGICIELS D INVESTIGATION En pr sence d une carte puce dont on ignore les petits secrets le premier r flexe est en g n ral de tenter de lui tirer les vers du nez Par simple curiosit tout d abord mais peut tre aussi pour se faire une id e personnelle du degr de confiance que l on peut lui accorder pour peu qu elle soit cens e s curiser une application un tant soit peu sensible Que l on ne nous fasse cependant pas dire ce que nous n avons pas crit la technologie des cartes puce est aujourd hui adulte et on sait parfaitement produire des cartes intrins quement s res qui ne r v leront jamais les donn es confidentielles qu elles contiennent pas m me sous la torture Par contre tous les vrais experts s accordent pour d plorer la n gligence chronique de certains metteurs de cartes ou d ve loppeurs d applications qui ne se servent pas ou pas bien des m canismes s curitaires mis leur disposition Cela pour gagner du temps au nom du sacro saint time to market ou pour faire des conomies qu ils risquent pourtant de payer un jour au prix fort 38 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES ASYNCHRONES Si l on propose ainsi au consommateur de louer u
188. s loin avec les cartes puce CD Rom Patrick Gueulle EE E PLUS LOIN AVEC LES CARTES PUCE Tableau 5 2 Le codage BCD des chiffres 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 o OO 1 OO 01 amp Oh La seule v ritable complication c est que chaque mot de 32 bits commence par 2 bits 0 ce qui d cale tout chaque fois ce stade on pourra tre tent de pousser plus loin la plaisan terie modifier le contenu de la carte et examiner l effet produit sur ce qu affiche le lecteur de poche Cela uniquement dans la copie bien s r car l criture dans une vraie carte est heureusement subordonn e la pr sentation de la clef ad hoc Supposons que le contenu du mot d adresse 0318h soit 01 A4 92 35 et que le pr nom du porteur de la carte soit PATRICK Rempla ons l octet A4h 10100100 par 9Ch 10011100 ce qui se fait tr s simplement en envoyant une commande BC DO 03 18 04 01 9C 92 35 notre carte attendant rappelons le des mots entiers de 4 octets des adresses finissant par 0 ou 8 Ins rons par exemple la carte dans un lecteur de poche XL 2500 et il s affichera maintenant PASRICK Rien de plus normal quand on sait que le T est cod 10100 et le S 10011 Mais cette exp rience a au moins le m rite de montrer que le lecteur n y voit que du feu n y aurait il donc aucune clef de contr le ce niveau ou bien le l
189. s loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE DEVICE 12C508 DIM B1 B2 B3 S DEFINE PortB 200101000 MOVLW O OPTION OUTB 0 HIGH B O HIGH B 1 LOW B 1 LOW B O HIGH B 1 LOW B 1 HIGH B 2 B3 136 GOSUB check B3 128 GOSUB check B3 32 GOSUB check B3 2 GOSUB check B3 60 GOSUB check B3 117 GOSUB check B3 130 GOSUB check B3 36 GOSUB check B3 161 GOSUB check OUTB 16 STOP check B2 0 FOR B1 0 TO 7 B2 B2 2 S INPORTB amp 32 S S 32 B2 B2 S HIGH B 1 LOW B 1 I NEXT B1 IF B2 lt gt B3 THEN GOTO False RETURN False OUTB 16 DELAYMS 255 OUTB 0 END Cela permet de ne reconna tre que les seules cartes lavage de 24 unit s 8 contacts qui sont toutes exactement identiques entre elles Appliqu une t l carte ce principe ne permettrait de reconna tre qu une et une seule carte sauf modification tr s simple destin e accepter mettons toutes les cartes de 120 unit s en rejetant celles de 50 Certains de nos lecteurs vieux routiers du langage BASIC s tonneront peut tre de diverses maladresses ou lourdeurs apparentes de programmation En fait celles ci sont d lib r es et servent contourner certains d fauts de ce qui ne fut qu une version provisoire du compi lateur Les versions limit es post rieures la 7 00 ne supportant plus que le PIC 16F84 il n tait en effet pas possible
190. s seize tapes de l affichage adresses 00h FOh un message invitant retirer la carte s affichera jusqu son extraction effective Bien entendu la carte doit contenir des donn es pour que quelque chose de vraisemblable s affiche En tant que cartes lecture et criture libres les cartes I2C se pr tent id alement au transport de petits volumes de donn es en tous genres et nous verrons au chapitre 3 comment les remplir depuis un PC Bien entendu le compilateur LET Basic peut aussi servir d ve lopper des programmes g rant l criture dans ces cartes c est quasiment aussi simple que pour la lecture 1 6 DES SERRURES CARTES PUCE L id e d utiliser des t l cartes usag es comme clefs lectroniques n est pas neuve mais peut se d cliner de multiples fa ons Dans notre ouvrage Basic pour microcontr leurs et PC nous montrions ainsi comment un m me d veloppement en PBasic pouvait indiff remment tre mis en uvre sur un Basic Stamp ou sur un PIC 16C84 Il nous para t int ressant de montrer ici comment programmer exactement les m mes fonctions l aide du compilateur LET Basic Ceux de nos lecteurs qui ne poss deraient pas l ouvrage en ques tion pourront se r f rer la figure 1 6 pour suivre notre propos Le code source ci apr s SMARTLET BAS compil en SMART LETHEX sera charg une bonne fois pour toutes dans un PIC 16F84 aux fusibles de configuration correctement positionn
191. scinant des cartes puce l auteur de ces lignes a fait le choix d un c ble m plat muni de deux fiches HE 10 dix contacts serties de fa on se trouver branch es en parall le fil fil Ult rieurement il est apparu n cessaire d ajouter une troisi me fiche du m me mod le vers le milieu du cordon afin de pouvoir intercaler diff rents montages espions entre une carte et son lecteur Cela tant la longueur id ale peut tre fix e 20 cm plus court ne serait gu re pratique tandis que plus long ferait courir des risques de d gradation de la qualit des signaux 5 6 7 8 Figure 2 1 Le brochage du 1 2 3 4 connecteur HE 10 La figure 2 1 d finit la correspondance des num ros ISO des contacts de la puce avec les broches de l embase HE 10 vue de face c t insertion de la fiche une encoche de d trompage liminant toute ambigu t Il est amusant de constater comment cette affectation inspir e l origine du brochage d un connecteur pour clef puce avec lequel nous souhaitions assurer la compatibilit a t syst mati 55 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE M PLUS LOIN AVEC LES CARTES PUCE quement adopt e par nos confr res ayant rejoint des ann es plus tard le club des adeptes de la carte puce Un connecteur multiformat M me si toutes les cartes puce plein format adh rent depuis lo
192. sicCard ou disponible s pa r ment http www hitechtools com R pertoire Espasync Ce dossier rassemble les plus r centes versions du logiciel de l espion de cartes asynchrones du chapitre 2 aussi bien sous la forme de code source Basic fichiers bas que d ex cutables MS DOS fichiers EXE Quatre variantes sont fournies destin es respectivement aux ports s rie COM1 ou COM2 du PC et aux cartes convention directe ou inverse R pertoire PCB Les trac s de tous les circuits imprim s des montages propos s sont fournis dans le format PCB propre au logiciel BOARD MAKER ayant servi les dessiner 160 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE LE C D ROM DU LIVRE Le sous r pertoire BMAKERI contient une version limit e de cette application MS DOS permettant de visualiser et imprimer avec ou sans modifications tout ou partie de ces fichiers R pertoire PCSC Ce dossier r unit diff rentes applications compatibles avec n importe quel lecteur de cartes puce certifi PC SC Cyber Mouse ACR 20 ou 30 etc SCard exe en particulier permet de dialoguer par commandes ISO 7816 avec n importe quelle carte asynchrone protocole T 0 ou T 1 quelle que soit la marque du lecteur Dans le sous r pertoire Delphi on trouvera le code source de l application PCSCatr exe
193. sp ciaux y compris des m lodies de sonnerie qui pourront 161 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES PUCE tre envoy s au moyen d un simple t l phone portable compa tible Le sous r pertoire Godsave contient quelques exemples d une m lodie bien connue traduite en diff rents formats par un syst me automatis qui tait encore en d veloppement lors de la r daction de ce livre on lui pardonnera donc d ventuelles fausses notes Dans le sous dossier MQP on trouvera le contenu de la disquette de d monstration d un programmateur d EPROM du commerce dont l installation met notre disposition un excellent diteur hexad cimal PDED EXE condition de respecter les conditions d utilisation de ce share ware dont on prendra connaissance dans le fichier READ ME on tient l un outil tr s puissant pour op rer notamment sur le contenu des SMS que l on peut tre amen aller lire dans telle ou telle carte SIM voir notre ouvrage T l phones portables et PC dans cette m me collection R pertoire SyncPCSC Ce dossier rassemble tous les l ments logiciels du projet d adap tateur PC SC pour cartes synchrones du chapitre 3 R pertoire Termin Dans ce dossier se trouvent tous les logiciels des lecteurs de cartes puce autonomes ou serrures lectroniques dont le chapitre 1 d crit la r
194. t du montage tant prise en charge par sa partie logicielle la r alisation pratique se limite l interconnexion de fort peu de composants sur un circuit imprim grav d apr s la figure 1 4 Le plan de c blage de la figure 1 5 est pr vu pour un afficheur r tro clair ce qui suppose l emploi d un r gulateur 7805 pour subvenir sa consommation non n gligeable au moins 100 mA sous 5 V En pr sence d un mod le uniquement r flexif un 78L05 suffirait tandis que l afficheur ne serait muni que de 14 connexions au lieu de 16 On notera que celui ci fonctionne en mode hexa c est dire sur des blocs de donn es de seulement quatre bits Cela minimise Liste des composants PIC 16F84 programmer I2CPIC HEX R gulateur 7805 Quartz 4 MHz environ Afficheur LCD 2 x 16 caract res 2x3 9kQ 2x39nF 2x22 pF Connecteur de carte puce CCM01 2NO 3 ITT CANNON Bornier 2 circuits 5 08 mm Le lecteur autonome de cartes I2C 16 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle 1 CHAPITRE LES LECTEURS DE CARTES A PUCE a8erquo p UEId GT amy wudu PMI np JIL YI mH SEIPBIEO 94 x Z a97 ONS LOW99 Hj9P un 359 SL uou ardosojoud VF GONNA 17 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES PUCE Le lecteur autonome de cartes I2C suite le nombre de
195. t iMelody imy BEGIN IMELODY VERSION 1 0 FORMAT CLASS1 0 NAME Gamme COMPOSER Unknown BEAT 160 STYLE S1 VOLUME V7 MELODY c4d4e4f4g4a4b4 5c4 END IMELODY Format RTTTL Gamme d 4 0 5 b 160 c d e f g a b c 6 Format Nokia Composer c d e f g a b c6 Format Nokia texte binaire noktxt 024A3A551D85B5B5940400232086D7411413415416418414A41C41140000000 Format Ericsson EMelody emy cdefgab c Format touches clavier Motorola V60 11222030330333040202201112220 Format touches clavier Samsung 881882883884885886887881 126 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SIM 4 4 DES EXP RIENCES D AUTHENTIFICATION A 41 45 On sait bien que toute carte SIM est capable de s authentifier aupr s de l op rateur qui l a mise et cela au travers de son propre r seau ou de ceux de ses partenaires trangers Il nous a cependant paru utile de doter le c d rom de ce livre d un petit programme ZCBasic AUTHSIM EXE capable de faire jouer ce m canisme partir d un simple lecteur PC SC on le trouvera dans le r pertoire AUTH du dossier SIM Il est int ressant de le mettre en uvre sur notre BasicSIM dans la mesure o le r sultat obtenu devrait rassurer tous ceux qui craignent et on se demande bien pourquoi que celle ci ne puisse servir
196. t parvenu Fausse man uvre involontaire ou acte de malveillance Toujours est il que re u fort propos par un t l phone non compatible ce message s est trouv enregistr dans la carte SIM comme un SMS ordinaire pr t subir une analyse approfondie T l charger des sonneries Le t l chargement de m lodies de sonnerie sur les t l phones portables est une v ritable poule aux oeufs d or pourtant bas e sur un mode de transmission fort peu co teux encore et toujours les SMS Moyennant un peu d imagination il suffit d un mobile GSM et d un PC muni d un lecteur de cartes puce pour se lancer petite chelle dans cette activit tr s la mode C est Nokia que l on doit le Smart messaging un proc d permettant d encapsuler toutes sortes de contenus volu s dans des mini messages astucieusement structur s voir http Www forum nokia com Depuis les organismes de normalisation http www 3gpp org ont imagin une alternative publique ce syst me propri taire l EMS Enhanced Message Service Adopt par des marques concurrentes telles que Alcatel Ericsson Siemens ou Motorola il pr sente certains avantages mais aussi quelques inconv nients par rapport son a n enti rement incompatible Chacun comprendra donc pourquoi avant de se faire envoyer prix d or une sonnerie ou un logo il faut indiquer d une fa on ou d une autre la
197. taille de la clef les banques ne semblent pas avoir d ploy beaucoup de z le en la mati re Curieusement cette paresse procure une belle occasion au bricoleur qui envisagerait de r aliser son propre syst me d authentification partir de vieilles cartes bancaires Point n est besoin de d ployer de bien gros moyens pour ce faire comme en t moigne la simplicit du code source ZCBasic CB1 BAS Compil en CBI EXE ce tr s court programme commence par demander son utilisateur de taper un texte quelconque maxi mum 256 caract res Dans celui ci le programme va pr lever des cha nes r put es al atoires de 6 octets qu il soumettra l algorithme crypto graphique de la carte ex cut sur l adresse 09E0h mais chacun est libre de changer cette valeur par d faut Apr s chaque ex cution le programme enregistre cet al a et la r ponse correspondante 8 octets soit 64 bits dans un fichier baptis KEY KEY 149 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES A PUCE Par la suite on pourra authentifier la m me carte ou bien et c est tout l int r t de la n gligence une carte distincte munie du m me jeu secret en lui soumettant un al a extrait du fichier KEYKEY et en v rifiant que le r sultat obtenu co ncide avec celui qui lui est attach dans ce m me fichier C est tr s exactement
198. te introduite dans cet adap tateur est vue comme une carte asynchrone sa compatibilit se trouve assur e avec le kit de d veloppement logiciel de la Basic Card voir chapitre 2 C est donc en ZCBasic que nous avons crit les deux logiciels applicatifs de ce projet SYNC BAS se borne lire 512 bits cons cutifs dans toute t l carte c est dire la totalit de l espace adressable d une T2G Dans le cas d une T1G on lirait par contre deux fois de suite les 256 bits qu elle contient En plus d tre affich l cran le r sultat de la lecture s enregis tre dans un fichier CARTE CAR enti rement compatible avec les programmes de nos ouvrages Cartes puce Initiation et applica tions et PC et cartes puce 88 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle DUNOD La photocopie non autoris e est un d lit CHAPITRE AUTOUR DES CARTES SYNCHRONES Ceux ci permettraient donc le cas ch ant de d crypter les donn es lues dans une T1G une T2G voire une t l carte trang re de type Eurochip par exemple pour d terminer s il y reste ou non quelque cr dit d unit s Bien que ce logiciel soit destin fonctionner en priorit sur un lecteur PC SC nous n avons pas pr vu l habituelle ligne ComPort 101 Cela nous procure l occasion de d voiler une autre fa on de d clarer le lecteur de cartes puce utiliser Avant de
199. te que la conversion de 8 bits en 7 bits a bien t effec tu e mais que l indicateur de protocole est rest 3Fh il aurait tout aussi bien pu tre remis 00h par le SMSC Mais certains t l phones se permettent de rafra chir le message dans la carte SIM avant de l envoyer redemandant m me parfois cette occasion un num ro de destinataire pourtant d j pr sent Il n est alors pas rare que PID et DCS soient r tablis tous deux leur valeur par d faut de 00h En pareil cas le SMSC n effectue videmment pas de conversion d o soit un affichage inintelligible soit un avertissement du genre Format de message incompatible ou Donn es 8 bits L encore ce sont les mod les r cents qui paraissent les plus enclins ce genre de censure Il est int ressant de proc der des essais blanc sans trans mission effective et donc gratuitement en utilisant une Basic SIM Donnant acc s toutes les fonctions du t l phone dans lequel on l ins re mais ne s inscrivant sur aucun r seau celle ci permet de simuler la transmission d un SMS puis de relire celui ci l aide de tout bon diteur de carte SIM C est ce moment que l on se rendra compte de ce que le t l phone s est permis ou non de modifier subrepticement Pour aller beaucoup plus loin dans cette passionnante explora tion on ne saurait trop conseiller la lecture attentive des sp cifi cations GS
200. tiels cette carte d une capacit de 416 bits doit d sormais tre consid r e comme obsol te 75 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE E PLUS LOIN AVEC LES CARTES PUCE IE CardEasy lexi View Help Memory Card ACOS1 Commands About GPM896 2 I E6 06 89 08 3C A2 FF 88 Manufacturer A Issuer Area OS Card Secret Co Error Counter Protected Area Key name Application re Secret Code 2 bytes Erase Code 1 _ Value Erase Code 1 6 bytes e Erase Code 2 4 byt Application re Erase Code 2 lo Frase Fo rail New value i S Fi E Srey JE Chenge to the new value Wade loo oc lt 00 03 01 00 00 00 gt 9000 SW1 SW2Z lt 00 01 00 00 00 02 gt 9000 SW1 SW2 gt 4C FF lt 00 03 01 00 00 00 gt 9000 SWL SW2 lt 00 01 00 02 00 08 gt 9000 SW1 SW2 gt E6 06 89 08 3C AZ FF 88 y AD marer f CardEasy R Paint Shop Pro BALE 1 33 Elle a cependant brillamment contribu au d veloppement d applications relativement ambitieuses pour lesquelles des cartes asynchrones auraient t trop co teuses La rel ve est heureusement assur e par la GPM896 carte de troisi me g n ration d une capacit accrue 896 bits et int gralement compatible avec le CyberMouse puisqu elle se contente d une tension unique de 5 V Notons d ailleurs que le SLE4404 le composant concurrent du ST130
201. tique tr s classique d crite au chapitre 2 Celle ci se compose d un connecteur de cartes puce desservant imp rativement l int gralit des 8 contacts du micromodule dont on v rifiera la compatibilit du positionnement ISO ou AFNOR d une fausse carte en circuit imprim de 8 10 et d un c ble plat muni de trois fiches HE10 dix contacts toutes serties dans le m me sens et donc interconnect es fil fil Naturellement chacun pourra tre amen fabriquer sa propre variante de fausse carte selon les exigences dimensionnelles des lecteurs dans lesquels il sera pr vu de l introduire La figure 3 12 sugg re ainsi un trac allong pouvant tre intro duit dans les lecteurs qui avalent la totalit de la carte et 95 Figure 3 10 Trac du circuit imprim Figure 3 11 Plan de c blage Liste des composants 1 x MK48708 ou quivalent Radiospares 1 x 4040 1 x 4011 4x1 5kQ 2 x 6 8 kQ 1x27 kQ 2x15 kQ sur la fausse carte 1 x 0 33 pF 2x1 5nF 1 x 470 pF 1x2 2nF support tulipe 28 broches barrette s cable doubles picots carr s coud s ou 2 embases HE10 10 contacts sans verrous DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE M PLUS LOIN AVEC LES CARTES PUCE Figure 3 12 Trac de la fausse carte Le c t cuivre e de la fausse carte comporte m me une zone pouvant tr
202. tis CLOVIS LOG ce stade de notre exp rimentation on quittera le programme en pressant ESCape lorsque la lecture sera termin e et on mettra ventuellement en lieu s r une copie de CLOVIS LOG Un autre programme CHKSCOT BAS pourra en effet servir ult rieurement mettre en vidence d ventuelles modifications du contenu de la carte cela apr s une mise jour dans une borne ce destin e par exemple car dans l tat actuel des choses il ne semble pas qu un terminal de professionnel de sant soit habilit modifier quoi que ce soit mais cela pourrait venir La carte tant de nouveau ins r e dans le lecteur PC SC il suffit de lancer CHKSCOT EXE en pr sence de CLOVIS LOG pour assister une comparaison mot mot entre la carte et le fichier En cas de discordance le programme s arr tera pour laisser le temps de la noter mais il reprendra son cours normal d s que l on pressera la touche de retour la ligne 2C940585 2C9A0585 265985A0 265985A0 04007FFF 04007FFF 37FFFFFF 37FFFFFF 00000000 00000000 010212FF 01021200 Comme l affichage se fait en hexad cimal et un rythme pas trop rapide il y a l une bonne occasion de se faire une id e de ce que contient vraiment la carte Vitale Il sautera imm diatement aux yeux que seule une toute petite partie de la m moire disponible est r ellement utilis e Cela confirme bien que dans l tat actuel des choses la carte ne
203. tres techniques commencer par des poin teurs d finissant les adresses de d but de toutes les autres partitions 6 2 PAR O COMMENCER L EXPLORATION N importe quel lecteur de cartes puce supportant le protocole asynchrone T 0 permet de prendre connaissance du contenu de la zone de fabrication au moyen de simples commandes ISO 7816 On fera ainsi BC BO 09 CO 04 pour lire le premier mot de 32 bits soit 4 octets de cette zone BC BO 09 C8 04 pour lire le suivant ou BC BO 09 F8 04 pour lire le dernier Mais on pourrait tout aussi bien faire BC BO 09 CO 20 pour lire d un seul coup les 32 octets de la zone Les heureux possesseurs d un lecteur PC SC convenablement install sur un syst me Windows 95 ou sup rieur pourront se servir pour cela de SCARD EXE ou mieux de notre programme ZF EXE capable de d coder en langage clair l essentiel de ce que contient la zone de fabrication voir dossier CB du c d rom accompagnant cet ouvrage D velopp en ZCBasic version 4 son code source ZE BAS est compatible avec le kit logiciel de la BasicCard galement offert sur notre c d rom Soumise ce logiciel une carte bancaire r cente mise en juin 2002 donnera par exemple les r sultats suivants Code Application 3FE5 ZF Zone de fabrication gco ADL Zone de lecture 7F0 ADT Zone de transaction 2F8 ADM Zone d tat 2D8 143 DUNOD 2004 Plus loin avec les cartes puce
204. trick si et seulement si la carte a accept le code pr alablement pr sent sinon elle renvoie juste un compte rendu 98 08 Bien entendu ce simple exemple pourrait tre toff car il reste un peu plus de 300 octets d EEPROM pour h berger d autres donn es prot g es tandis que rien n interdit de passer une ZC 3 3 ou ZC 3 9 La d monstration des possibilit s de la carte ainsi personna lis e peut se faire l aide d un tr s simple programme AUTH BAS compil pour le terminal en g n ral le PC quip du lecteur de cartes puce CyberMouse ou PC SC ayant servi programmer la carte On y retrouve naturellement les d clarations des quatre com mandes d finies dans le programme carte mais aussi le m me algorithme et la m me clef 53 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES A PUCE On pourra v rifier que la moindre modification effectu e d un c t mais pas de l autre fait chouer toute tentative d authenti fication et par cons quent d acc s aux donn es prot g es Il est par contre possible et m me vivement conseill que chacun apporte des modifications voire des am liorations de son cru l algorithme et la clef puis s assure que tout fonctionne bien si celles ci sont exactement identiques dans les programmes carte et terminal La v rification du bon foncti
205. ts variables que sont comme nous l avons d j vu SC le num ro du serveur charg d acheminer le SMS 123 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle PLUS LOIN AVEC LES CARTES PUCE e To le num ro du destinataire e la m lodie c est dire le texte qui suit le mot clef MELODY Le programme s tant ex cut avec succ s on doit retrouver le SMS transmettre en position N 1 de la carte SIM avec en guise de texte un seul et unique caract re La dur e de validit du message est arbitrairement fix e 24 heures A7h mais pourrait ventuellement tre allong e ABh 5 jours par exemple Notons bien que l on peut rencontrer des t l phones qui modifient abusivement les SMS qu ils n ont pas compos s eux m mes Mais comme la plupart des GSM de cette marque l Alcatel One Touch Club qui a servi nos essais ne se permet pas ce genre de fantaisie Les choses sont fort diff rentes en ce qui concerne les t l phones de marque Nokia En Smart messaging on fait appel un codage plus compliqu mais aussi plus compact car d fini bit par bit et non plus octet par octet Ainsi trois octets 26h 82h A8h repr senteraient deux notes R et Mi assorties chacune de leur dur e avec modificateur En iMelody V 1 0 il faudrait entre quatre et huit octets pour coder les m mes informations Cette opportunit de transmettre des m
206. u de s curit mais enfreindrait gravement la loi du moindre effort Bien entendu chacun pourra faire varier sa guise le mot al a toire et l adresse carte afin de v rifier le caract re th oriquement impr visible du r sultat obtenu On pourra aussi s assurer m me si c est absolument vident qu une carte copi e comme nous l avons vu est parfaitement incapable de simuler ce processus Rien voir donc avec un clone potentiellement ill gal tout au plus l quivalent de la simple photocopie d une carte papier sur laquelle on peut crayonner loisir Vraiment pas de quoi fouetter un chat en somme 139 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle 5 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle CHAPITRE PAGE AUTOUR DES CARTES DE PAIEMENT 6 1 L volution des cartes bancaires 142 6 2 Par o commencer l exploration 143 6 3 L historique des transactions 147 6 4 Des exp riences d authentification 149 6 5 Vers les cartes EMV 150 6 6 Et voici Mon o 151 7 Le c d rom du livre 159 141 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle EE ULUM PLUS LOIN AVEC LES CARTES A PUCE La mon tique a toujours t l une des applications de pr di lection des cartes puce et ce n est certes pas fini Parall lement aux cartes bancaires il
207. ueur totale est 07h octets Mais en pratique c est surtout le dernier de ceux ci qui nous int resse Une fois s lectionn e l une des applications accessibles depuis le menu principal SMS infos par exemple c est par un processus diff rent ordre SELECT ITEM que la carte pr sentera s il y a lieu les rubriques du sous menu correspondant se divertir m t o bourse etc Cette fois c est par une commande Terminal response que le t l phone indiquera la carte le moment venu la sous rubrique choisie par l utilisateur ce stade l application SIM Toolkit s lectionn e se met imm diatement au travail et risque d avoir besoin d un peu de temps avant de pouvoir retourner le compte rendu SW1SW2 tr s probablement de la forme 91XX La carte pr vient alors le t l phone par mission d un ou plusieurs octets 60h More time Cela peut vite devenir exasp rant avec certaines cartes bas es sur la technologie Java pas particuli rement rapide Expertise de quelques anomalies On aura compris que le langage STK la fois riche et compact est passablement compliqu au point m me d tre assez m dio crement ma tris par certains d veloppeurs d applications travail lant pour les op rateurs ou les fabricants de t l phones portables Nous avons ainsi expertis deux dysfonctionnements dont les services clients des op rateurs renvoient volontiers la 109
208. utonome tout en mettant en uvre des composants usage g n ral C est ainsi que le pr sent projet fait appel un tr s classique PIC 16F84 programm en Basic Nous avions d j amplement vant dans notre ouvrage Basic pour microcontr leurs et PC les m rites de cette approche haute ment simplificatrice Depuis des compilateurs encore plus performants ont t mis sur le march accompagn s de puissantes biblioth ques de p riph riques virtuels tels qu un afficheur LCD C est ainsi que m me la version de d monstration s v rement limit e en longueur du code source du compilateur LET Basic distribu en France par Selectronic suffira pour doter notre maquette de possibilit s d j significatives Bien entendu chacun pourra ensuite toffer cet exemple en se servant de la version compl te afin de le doter de telle ou telle fonctionnalit particuli re la voie sera toute trac e 12 DUNOD 2004 Plus loin avec les cartes puce CD Rom Patrick Gueulle LES LECTEURS DE CARTES A PUCE Attardons nous donc tout d abord un peu sur les possibilit s de ce compilateur qui offre m me la possibilit rare de produire enti rement sous environnement Windows du code pour les tr s populaires PIC 12C508 et PIC 12C509 noyau 12 bits rappelons le Fonctionnant en tandem avec l assembleur officiel MPASM de Microchip il permet d examiner le code assembleur interm diaire

Download Pdf Manuals

image

Related Search

Related Contents

Un grand oui pour le Landy  組立説明書を確認する  Avaya Mobile Communication Client 3100 for Nokia User's Manual  デジマチックキャリパゲージ 外側測定用 CGDO    Catalogue Printemps 2014 .xlsx  TYPE 6000 DESCRIPTION  Portuguese 5730-58pg Josh  KOHLER K-702202-G54-MX Installation Guide  中性-User Manual V_2 修改 - Lightcast Public Safety  

Copyright © All rights reserved.
Failed to retrieve file