25/08/2021 Cartes à puce: APDU
Cartes à puce - Expérimentations ludiques avec les cartes à puce à micro-processeurs
Accueil A propos de ce site
Affichage des articles dont le libellé est APDU. Afficher tous les articles Rubriques
APDU
(3)
ATR
(3)
Bases
(3)
Brochage
(3)
Crypto
(2)
Edito
(3)
samedi 30 juillet 2016 EMV
(1)
Gemalto
(1)
gscriptor
(2)
Lecteur
(1)
Liens
(2)
PCSC
(3)
PIC
(5)
Premier programme avec mon InfinityUSB Unlimited Présentation
(1)
Sans contact
(2)
Sécurité
Ca y est ! J'ai reçu mon programmateur de cartes à puce (2)
Silvercard
(5)
USB
(1)
InfinityUSB Unlimited. Finalement, il n'aura mis que 2
semaines pour venir de Chine.
Articles les plus consultés
J'avais un peu peur qu'il ne soit pas fonctionnel car il est
censé être le même que le modèle vendu en France 90€ Fonctionnement d'une
alors qu'Ali Baba le vend 20€. carte à puce
Une carte à puce est un
La boite est identique à l'original : elle comprend bout de plastique de taille
l'appareil, son câble USB et le mini-CDROM contenant le normalisée sur lequel est
driver Windows et le soft. Eh oui, bad news pour moi disposé une puce dont les dimensions
mais je le savais déjà, c'est sous Windows que la et emplacement exact s...
programmation de ma Silvercard va se passer.
Mon lecteur Gemalto
IDBridge CT30
L'appareil en lui-même est vraiment rikiki : environ 3cm Pour pouvoir
sur 7cm, poids vraiment plume. A se demander s'il y a vraiment de l'électronique là-dedans. expérimenter avec les
cartes à puce, il faut un
J'ai installé d'abord le pilote et le logiciel, et ensuite branché l'appareil. Sa led s'est mise à clignoter lecteur. Il y a 15 ans, quand j'avais
rouge pendant un moment, puis elle est devenue définitivement bleue (les branchements suivants décidé de me lancer, j'avais ...
donnent du bleu directement).
Silvercard et autres cartes
à puce à base de PIC
Il y a 3 types de cartes à
puce. Tout d’abord, et ce
sont les plus répandues,
les cartes émises par les fondeurs de
cartes. C’est le c...
Discuter avec une carte à puce en
langage C
Dans un article précédent nous avons
utilisé gscriptor pour envoyer un APDU
à une carte à puce. Voyons donc
maintenant comment faire exact...
Fonctionnement des
cartes à puce hybrides à
NFC
Nous avons vu dans un
précédent article
comment fonctionne une carte à puce
standard. C’est très intéressant de le
savoir, sauf que b...
Le logiciel est des plus simples : on choisit la carte à programmer (Silvercard pour moi), le fichier hex
à envoyer dans le PIC, éventuellement le fichier hex à envoyer dans l'EEPROM externe au PIC et on
clique sur "Write". La programmation dure environ 5 secondes, la led clignotant verte à ce seul S’abonner à
moment. Dans le cas où un fichier hex est à envoyer dans l'EEPROM externe, le logiciel commence
par charger dans le PIC un loader maison, s'adresse à lui comme intermédiaire pour écrire dans
Articles
l'EEPROM, et ensuite seulement écrit le PIC avec le fichier hex du PIC.
Commentaires
Inutile de dire que j'avais un fichier hex réfléchi tout prêt à injecter dans le PIC. C'est là que les ennuis
ont commencé. L'injection s'est très bien passé, par contre gscriptor sous Linux voyait ma carte
comme "non alimentée" (donc quasi morte pour lui). Aucune communication ne s'établissait avec la
carte. Membres
J'ai donc carrément injecté dans la Silvercard le fichier hex brut de fonderie original duquel j'avais tiré
les routines SEND et RECEIVE en ISO7816. C'était un fichier d'un vieux programme de piratage des
https://cartesapuce.blogspot.com/search/label/APDU 1/9
25/08/2021 Cartes à puce: APDU
cartes SECA MEDIAGUARD du début des années 2000. Après tout, c'est peut-être moi qui avait mal
Abonnés (1)
extrait les routines. Même topo avec ce fichier, carte non alimentée.
Là j'ai commencé à me dire que j'étais mal, parce qu'il faut absolument que je parte d'un programme
dans lequel les routines SEND et RECEIVE fonctionnent, car c'est de l'horlogerie, quasi impossible à S'abonner
écrire soit-même. Me voilà donc condamné à chercher sur le net un programme pour Silvercard dans
lequel les routines SEND et RECEIVE au format ISO7816 fonctionnent bien. Difficile à trouver car
maintenant tout le monde utilise des MIFARE ou autres cartes NFC.
Blogroll
Eh bien j'ai trouvé un vieux programme de déplombage de la chaine de TV italienne RAI qui date de
Avec ou Sans Contact
2004 et qui, une fois injecté dans ma Silvercard a envoyé un ATR à gscriptor, et avec lequel je Une économie digitale plus au
pouvais envoyer des APDU. Certes il répondait à chaque fois que l'APDU correspondait à une classe service des individus, la
non implémentée, mais la communication se faisait. Pour la première fois je communiquais avec ma transcription d’une conférence
Silvercard! passionnante autour des défis de
l’innovation post-covid
Je reprennais espoir car, quand on a un programme qui marche tout est différent. On a un angle
d'attaque. Problème tout de même : mon programme RAI fait 13 Ko compilé. Chercher les routines
SEND et RECEIVE là-dedans revient à chercher une aiguille dans une meule de foin.
Suivez moi sur Twitter
Bon, j'exagère un peu car, par définition, SEND et RECEIVE manipulent le bit 7 du registre PORTB
(car c'est sur ce bit que se fait la communication extérieure). En faisant une recherche sur ce critère,
j'ai assez vite isolé les 2 routines et je les ai extraites. Tweets de @CartesapuceAlan
Je les ai reprises dans un programme simple de mon cru, une espèce de "hello world" pour les cartes Alan Cartman
à puce : ce programme envoie le même ATR que la carte RAI puis passe dans une boucle infinie qui @CartesapuceAlan
lit 5 octets (ie 1 APDU : CLA INS P1 P2 Le) et renvoie systématiquement 90 00, quel que soit l'APDU
Après la loi travail passée a coups de
reçu. On ne peut pas faire plus simple comme programme.
49.3. lexpress.fr/actualite/poli…
Pour être franc, j'étais sûr que cela ne marcherait pas, ou du moins pas du premier coup. Sauf que
BINGO !!! mon programme marche parfaitement bien. Voici un petit échange entre mon programme 10 mai 2017
et gscriptor.
Alan Cartman
@CartesapuceAlan
Wow qu'est-ce qu'il est compétent
s'exclame la presse baba
lesechos.fr/amp/52/2085752…
Macron, un président si proche …
Le président élu s’est entouré d’éc…
lesechos.fr
10 mai 2017
Alan Cartman
@CartesapuceAlan
Trop tard, fallait pas voter pour lui #GOPE
lesechos.fr/elections/emma…
9 mai 2017
Alan Cartman
@CartesapuceAlan
S'enfoncer encore un peu plus dans le
désastre "
lexpansion.lexpress.fr/actualites/1/a…
9 mai 2017
Alan Cartman
Voici donc mon programme. C'est du brut de fonderie, le premier programme qui marche. A partir de @CartesapuceAlan
lui, je vais petit à petit monter une vraie application carte à puce.
Mort de rire lefigaro.fr/vox/monde/2017…
LIST P=16F876, F=INHX8M
include "P16F876.INC"
9 mai 2017
Al C t
https://cartesapuce.blogspot.com/search/label/APDU 2/9
25/08/2021 Cartes à puce: APDU
__CONFIG _BODEN_OFF & _CP_OFF & _WRT_ENABLE_OFF & _PWRTE_OFF & Alan Cartman
_WDT_OFF & _XT_OSC & _DEBUG_OFF & _CPD_OFF & _LVP_OFF
@CartesapuceAlan
2e signal donné par l'#UE après celui de
ORG 0x60
Junker #GOPE #YAvaitKVoterAsselineau
IODATA RES 1
#BienFait
BIT_COUNT RES 1
lexpansion.lexpress.fr/actualites/1/a…
PARITY RES 1
TEMPO RES 1
9 mai 2017
ORG 0x0000
GOTO INIT
Alan Cartman
@CartesapuceAlan
ORG 0x0004
"Bachelay juge que Valls "s'en va pour
RETFIE
des raisons de carrière et
d'opportunisme""
SEND MOVWF IODATA
lexpress.fr/actualites/1/p…
MOVLW 0x32
CALL WAIT2
BCF 0x6,7
9 mai 2017
MOVLW 0x7f
BSF STATUS,RP0
Alan Cartman
MOVWF TRISB
@CartesapuceAlan
BCF STATUS,RP0
CLRF PARITY
Quelle belle photo
MOVLW 0x8 liberation.fr/video/2017/05/…
MOVWF BIT_COUNT
BOUCLE_SEND
9 mai 2017
CALL WAIT1
RRF IODATA,F
RRF IODATA,W
Alan Cartman
ANDLW 0x80
@CartesapuceAlan
XORWF PARITY,F
En Marche c'est le renouveau ?
XORWF 0x6,W
lemonde.fr/tiny/5124657/
XORWF 0x6,F
DECFSZ BIT_COUNT,F
GOTO BOUCLE_SEND
9 mai 2017
CALL WAIT1
MOVF PARITY,W
Alan Cartman
XORWF 0x6,W
@CartesapuceAlan
XORWF 0x6,F
CALL WAIT1
Trop beau lefigaro.fr/conjoncture/20…
MOVLW 0xff
BSF STATUS,RP0
9 mai 2017
MOVWF TRISB
BCF STATUS,RP0
MOVLW 0x3e
Alan Cartman
GOTO WAIT2
@CartesapuceAlan
Allez, ça n'a pas trainé #GOPE #UPR
RECEIVE BTFSC 0x6,7
CQFD
GOTO RECEIVE
lexpansion.lexpress.fr/actualites/1/a…
MOVLW 0x2d
CALL WAIT2
MOVLW 0x9
9 mai 2017
MOVWF BIT_COUNT
BOUCLE_RECEIVE
Alan Cartman a retweeté
BCF 0x3,0
Absurdie
BTFSC 0x6,7
@Absurdie
BSF 0x3,0
RRF IODATA,F
En réponse à @UPR_Asselineau
CALL WAIT1
Les naïfs sont heureux et plein d'espoir ce
NOP
soir, mais ils déchanteront vite...
NOP
et seront à nouveau heureux et plein
DECFSZ BIT_COUNT,F
d'espoir dans 5 ans.
GOTO BOUCLE_RECEIVE
RLF IODATA,F
MOVLW 0x1d
7 mai 2017
CALL WAIT2
MOVF IODATA,W
Alan Cartman a retweeté
RETURN
Pascal Didon
@DidonPascal
WAIT1 MOVLW 0x1a
WAIT2 MOVWF TEMPO
En réponse à @UPR_Asselineau
BWAIT DECFSZ TEMPO,F
Merci à vous Mr Asselineau d'avoir
GOTO BWAIT
informé les Francais sur la réalité de la
RETLW 0x0
France au cœur de l'Union européenne.
7 mai 2017
https://cartesapuce.blogspot.com/search/label/APDU 3/9
25/08/2021 Cartes à puce: APDU
INIT
BSF STATUS,RP0 ; select bank1
Alan Cartman a retweeté
BCF OPTION_REG,7 ; enable pull-ups
BCF STATUS,RP0
Thomas de RICAUD
CALL WAIT1
@ThomasdeRicaud
MOVLW 0x3B ; ATR 3B F7 11 00 01 40 96 54 30 04 0E 6C B6 D6
En réponse à @UPR_Asselineau
CALL SEND
La grande : pourquoi autant de
MOVLW 0xF7
drapeaux français ?? Précisément parce
CALL SEND
que les électeurs d'E.MACRON n'ont
MOVLW 0x11
RIEN compris à son programme...
CALL SEND
MOVLW 0x00
CALL SEND
MOVLW 0x01
CALL SEND
MOVLW 0x40
CALL SEND
MOVLW 0x96
CALL SEND
MOVLW 0x54
CALL SEND
8 mai 2017
MOVLW 0x30
CALL SEND
Alan Cartman a retweeté
MOVLW 0x04
François Asselineau
CALL SEND
@UPR_Asselineau
MOVLW 0x0E
CALL SEND
Emmanuel #Macron est hélas élu pour 5
MOVLW 0x6C
ans, Il va pouvoir appliquer servilement
CALL SEND
les Grandes orientations des politiques
MOVLW 0xB6
économiques #GOPE
CALL SEND
MOVLW 0xD6
CALL SEND
BOUCLE CALL RECEIVE
CALL RECEIVE
CALL RECEIVE
CALL RECEIVE
CALL RECEIVE
MOVLW 0x90
CALL SEND
MOVLW 0x00
CALL SEND
7 mai 2017
END
Alan Cartman
Publié par
Alan Cartman
à
23:38
Aucun commentaire:
@CartesapuceAlan
Libellés :
APDU,
ATR,
gscriptor,
PIC,
Silvercard Le petit cadeau de départ d'Hollande
lefigaro.fr/social/2017/05…
mardi 19 juillet 2016
8 mai 2017
Discussion avec une carte à puce grâce à "gscriptor" Alan Cartman
@CartesapuceAlan
Nous avons vu dans l'article précédent la manière avec laquelle une carte à puce discute avec un
lecteur de cartes : via des APDU. Il est temps maintenant d'envoyer nos premiers APDU vers une Les 26 communes qui vont avoir le plus
carte pour voir ce qui se passe. mal au cul dans 5 ans
lexpress.fr/actualite/poli…
Pour cela nous allons utiliser un utilitaire livré dans le package pcsc-tools (sudo apt-get install pcsc-
tools) : gscriptor.
8 mai 2017
Connectons le lecteur de cartes à puce sur le port USB du PC et insérons y une carte à puce. Je
prends ici pour l'exercice une carte bancaire EMV périmée depuis 2014 que j'ai dans mes cartons Alan Cartman
(pour expérimenter, il vaut mieux avoir des cartes, c'est sûr). @CartesapuceAlan
Les merdias qui, ce matin, font comme si
Au moment où la carte est insérée, elle balance son ATR. Celui-ci ne sera pas perdu, bien qu'on n'ait ce n'était pas eux qui avaient
pas encore lancé gscriptor, car il est lu et conservé par la couche PCSC de l'ordi. complètement pipé les dés de la
#Presidentielle2017 #Mascarade
Lançons gscriptor.
8 mai 2017
Alan Cartman a retweeté
Alesk!
@Alesk_G
“Élu produit de l’année”, ce titre
magnifique de @Lesjoursfr
https://cartesapuce.blogspot.com/search/label/APDU 4/9
25/08/2021 Cartes à puce: APDU
7 mai 2017
Ce petit programme, écrit en perl, est une simple interface graphique vers l'API PCSC. Sur la gauche
de la fenêtre on écrit un script, et on voit le résultat (dont la réponse de la carte) dans la fenêtre de Charger plus de
Tweets
droite.
Cliquons dans le menu "Reader / Connect" pour se connecter logiciellement à la carte à puce. Puis
faisons "Reader / Status".
Archives du blog
▼
2016
(18)
▼
août
(2)
Edito du 7 août 2016
On voit que la carte à puce a émis comme ATR lors de l'insertion : 3B 65 00 00 20 63 CB 6A 00. Le PCSCLite, c'est quand
premier octet étant 3B, on peut déjà en déduire qu'une carte bancaire EMV fonctionne en convention même un peu de la
directe. daube
►
juillet
(16)
Arrivé à ce stade, il faut connaitre les APDU supportés par la carte. Nous reviendrons dans un
prochain article sur une exploration plus poussée de la carte EMV. Comme il s'agit ici uniquement
pour l'instant de montrer comment utiliser gscriptor, nous allons simplement envoyer à la carte 1 type
d'APDU.
L'APDU que nous allons utiliser s'appelle (dans la doc EMV) GET CHALLENGE. Par cet APDU le
lecteur de carte demande à la carte de générer un nombre aléatoire de 8 octets. GET CHALLENGE
est utilisé dans la sécurité de la carte bancaire, c'est pourquoi cet APDU existe.
La bonne séquence à envoyer à la carte est : 00 84 00 00 08, c'est à dire CLA = 00, INS = 84, P1 =
P2 = 00, et Le = 08.
Commençons par envoyer 00 84 00 00 00 pour voir ce qui se passe (on tape le script à gauche et on
clique sur "Run").
On voit que la carte ramène 6C 08 (soit SW1 = 6C, SW2 = 08). gscriptor fait une interprétation de ce
code (basé sur les specs EMV) : mauvaise longueur Le, devrait être 08. En effet cet APDU demande
la génération d'une séquence aléatoire de 8 octets.
Tapons donc la bonne commande cette fois-ci (00 84 00 00 08) :
https://cartesapuce.blogspot.com/search/label/APDU 5/9
25/08/2021 Cartes à puce: APDU
On voit cette fois que la carte envoie 8 octets choisis (pseudo) aléatoirement : D1 03 7A 3A AD 25 A6
2C. La réponse de la carte se termine par 90 00 qui signifie que tout s'est bien passé.
On peut s'amuser à renvoyer cet APDU plusieurs fois, on aura toujours 8 nombres aléatoires
différents.
Voilà, inutile d'aller plus loin, gscriptor est vraiment un logiciel simplissime à utiliser. De toute façon
pour aller plus loin il faut bosser les specs EMV, sujet dont je suis loin d'avoir fait le tour.
Nous verrons dans un prochain article comment se passer de gscriptor pour dialoguer avec la carte,
en passant par un programme qu'on écrira en C et qui discutera directement avec la carte en passant
par l'API PCSC (ce que fait gscriptor en fait). On verra donc en quelque sorte l'envers du décors de
gscriptor.
Nous verrons également plus tard qu'il n'est pas très difficile de programmer une Silvercard pour
qu'elle soit capable de faire cette fonction de génération de 8 nombres aléatoires, comme le fait la
carte bancaire.
Publié le 19 juillet 2016 par Alan Cartman
Publié par
Alan Cartman
à
19:28
Aucun commentaire:
Libellés :
APDU,
ATR,
gscriptor,
PCSC
Fonctionnement d'une carte à puce
Une carte à puce est un bout de plastique de taille normalisée sur lequel est disposé une puce dont
les dimensions et emplacement exact sont également normalisés.
La puce en elle-même est invisible car cachée derrière 8 connecteurs en métal conducteur.
https://cartesapuce.blogspot.com/search/label/APDU 6/9
25/08/2021 Cartes à puce: APDU
Historiquement les premières puces n'etaient que de simples mémoires. C'etait le cas de la carte à
puce objet du brevet de Roland Moreno ou des premières cartes téléphoniques Télécarte. Ces cartes
sont aujourd'hui dépassées et ne sont plus utilisées.
De nos jours, seules les cartes à micro-processeur subsistent.
Sur les 8 connecteurs visibles, seuls 5 sont utilisés. Leur nom montre à quel point une carte à
puce est dépendante du lecteur dans lequel on l'insère, puisque celui-ci doit lui fournir
l'alimentation électrique (pattes VCC et VSS, généralement 5V) ainsi que l'horloge (patte Clock,
généralement à 3.5 Mhz). Le lecteur peut également faire rebooter la puce en mettant
brièvement la patte RESET à 0 (reset à chaud).
La communication entre la puce et le lecteur se fait en mode série, bit à bit, sur la patte
input/output. Faire une communication bi-directionnelle sur une seule patte a un avantage (une
seule patte utilisée) mais a deux défauts : la faible vitesse d'une part, et la gestion électrique de
la patte d'autre part. En effet, il est évident que si la puce cherche a y parler en y mettant du 5V
alors qu'au même moment le lecteur cherche aussi à y parler en y mettant du 0V, l'un des deux
va griller.
Pour éviter cela, le protocole T=0 qui est celui qui est quasiment le seul utilisé, prévoit que la
puce ne parle jamais tant qu'elle n'y est pas invitée par le lecteur. Le dialogue se fait selon la
séquence suivante :
1) Mise sous tension électrique de la puce par le lecteur et envoi permanent de l'horloge par le
lecteur vers la puce. La puce boote.
2) La puce émet une séquence d'octets appelée ATR (Answer To Reset, ou réponse à
l'initialisation). Il s'agit d'une séquence de 2 à 32 octets émis par la puce à 9600 bauds et qui est
censée donner au lecteur des informations sur le fonctionnement de la puce. Décrire l'ATR dans
son ensemble est assez compliqué (voir la page Wikipédia pour plus d'infos). L'octet le plus
important dans l'ATR est le premier : il vaut soit 0x3B pour dire que la puce fonctionne en
convention directe, soit 0x3F pour signaler que la puce fonctionne en convention inverse (voir
plus bas).
3) Une fois que la puce a envoyé son ATR, elle ne parle plus tant qu'elle n'y est pas invitée par
le lecteur. C'est donc le lecteur qui a la main sur la patte input/output. Quand le lecteur veut
intéragir avec la puce, il lui envoie un APDU (Application Protocol Data Unit), c'est à dire une
séquence de généralement 5 octets. Le premier octet est la classe (CLA) de la commande. Le
deuxième octet est l'instruction dans la classe (INS), les 3ème et 4ème octets sont les
paramètres P1 et P2 de l'instruction, et le 5ème octet est généralement la taille de la réponse
attendue.
Donc un APDU a généralement la forme : CLA INS P1 P2 Le
https://cartesapuce.blogspot.com/search/label/APDU 7/9
25/08/2021 Cartes à puce: APDU
La classe sert à éventuellement mettre plusieurs applications dans la carte à puce. Avec l'octet
de classe, la carte sait à quelle application l'APDU s'adresse.
Prenons un exemple avec les anciennes cartes bancaires à puce B0 d'avant 2006, elles
réagissaient à la classe 0xBC et l'instruction pour lire une zone mémoire était 0xB0. Si l'on
voulait lire 16 octets de mémoire à partir de l'adresse 0x9F0 par exemple, il suffisait d'envoyer à
la carte l'APDU : BC B0 09 F0 10.
4) Quand la carte à puce a reçu un APDU, elle donne une réponse qui est formatée soit :
XX XX XX XX SW1 SW2, soit SW1 SW2, c'est à dire que la réponse se termine toujours par
deux octets qui donnent le statut de la réponse, avec éventuellement une réponse avant.
Les octets SW1 et SW2 relèvent de la pure convention. Une carte bancaire moderne EMV
renvoie 90 00 quand tout s'est bien passé, mais elle peut renvoyer autre chose si l'on demande
une info qui nécessite d'avoir présenté au préalable le code PIN par exemple.
Une fois que la carte à puce a donné sa réponse à l'APDU, elle libère électriquement la patte
input/output et elle attend patiemment un autre APDU.
Il est clair que la première chose à se procurer lorsqu'on veut expérimenter avec une carte à
puce c'est la liste des ADPU qu'elle connait et comment elle y répond.
Convention directe et convention inverse
La communication entre la carte à puce et le lecteur emprunte soit la convention directe, soit la
convention inverse. C'est la carte qui impose son mode de communication au lecteur.
Dans la convention directe, un niveau logique 1 est envoyé sur la patte input/output avec du +5V
et un niveau logique 0 avec du 0V. Par contre les bits de l'octet à transmettre sont émis du LSB
(less significant bit) vers le MSB (most significant bit).
Dans la convention inverse, un niveau logique 1 est envoyé sur la patte input/output avec du 0V
et un niveau logique 0 avec du +5V. Par contre les bits de l'octet à transmettre sont émis du
MSB vers le LSB.
Que ce soit en convention directe ou inverse, l'octet à transmettre est toujours précédé d'un bit
de start à 0, et suivi d'un bit de parité paire. Après la transmission d'un octet, la carte attend
l'équivalent de 2 bits de stop.
Ce genre de détails sur la transmission des bits est complètement transparent pour le
programmeur du côté du PC (c'est l'interface PCSC qui gère cela). Par contre pour le
programmeur dans la carte à puce, cela dépend. Je pense que dans une java card les classes
java fournies rendent également transparent cela. Par contre, et là j'en suis sûr, le programmeur
doit gérer ces aspects lorsqu'il programme une carte à puce à base de micro-contrôleur, comme
les wafer gold ou Silvercard.
Terminons sur ces quelques connaissances de base pour signaler que l'intégralité des aspects
normatifs liés aux cartes à puce (dimensions, caratéristiques électriques, protocoles de
communication, etc.) sont définis dans la norme ISO 7816.
Structure des fichiers
Les premières cartes à puce à micro-processeur, comme la carte bleue bancaire B0 active
jusqu'en 2006 par exemple, ne connaissaient pas la notion de fichiers. Elles avaient un espace
mémoire, c'est tout, dont certaines zones étaient accessibles en lecture depuis le lecteur sans le
code PIN, et d'autres zones accessibles seulement après avoir présenté le code PIN à a carte.
Les cartes à puce modernes, comme la carte bancaire EMV ou la carte SIM des téléphones
cellulaires, ont maintenant la notion de fichiers. En plus des ADPU reconnus par la carte, il faut
donc aussi connaitre la liste des fichiers et leur contenu. A mon avis cette avancée ne sert
strictement à rien en terme de fonctionnalités. Je pense qu'il s'agit juste de complexifier le
fonctionnement de la carte pour compliquer le travail des pirates. En tout cas, en ce qui me
concerne, je ne compte pas utiliser cette notion de fichiers dans mes futurs développements
personnels à base de Silvercard.
Publié par Alan Cartman le 19 juillet 2016
Publié par
Alan Cartman
à
18:05
Aucun commentaire:
Libellés :
APDU,
ATR,
Bases,
Brochage
https://cartesapuce.blogspot.com/search/label/APDU 8/9
25/08/2021 Cartes à puce: APDU
Accueil Articles plus anciens
Inscription à :
Articles (Atom)
Nombre total de pages vues
1 3 4 4 6
Thème Awesome Inc.. Fourni par Blogger.
https://cartesapuce.blogspot.com/search/label/APDU 9/9