0-6.cartes À Puce 2017FR

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 56

S OMMAIRE

0
µ Un peu d’histoire…

Introduction à la carte à Introduction à la carte à


puce
puce µ Normalisation & spécifications

2017 / 2018
µ L’environnement physique

µ L’environnement logique

µ Bibliographie

[email protected] [email protected]
2017 / 2018 2

D ES ORIGINES DE LA CARTE …

µ 1914
ν Carte en métal (Western Union)

µ 1951
ν Carte en plastique (Diners’ Club)
µ 1957
Un peu d’histoire… ν Carte en plastique (American Express)

Introduction à la carte à puce µ 1960


ν Embossage des cartes

µ 1971
ν Piste magnétique
[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
… À LA « CARTE À PUCE » 25 MARS 1974 – D ÉPÔT D ’ UN BREVET

1974
µ
ν Carte à mémoire (logique câblée) µ Extrait de l’introduction du brevet de Roland Moreno
µ 1979
ν Carte à microprocesseur Bull CP8 (logique programmable) ν L’invention concerne d’une façon générale un procédé pour la
µ 1983 mémorisation de données et la commande correspondante de
ν Télécarte en France machines électroniques.
µ 1986
ν Carte de paiement à puce en France
ν L’invention concerne plus particulièrement un procédé
essentiellement électronique visant à réaliser de façon automatique
1989
µ
ν Carte à crypto processeur
l’identification d’un individu, cette identification, dans le cas où elle
est réalisée, déclenchant des actions mécaniques et/ou électroniques.
µ 1991
ν Carte SIM (Subscriber Identity Module) ν Cette invention peut être utilisée à des fins relativement simples telles
µ 1994
que: ouverture d’une porte, contrôle de tickets par exemple pour
ν Carte sans contact transports en commun et, avantageusement, pour la tenue d’un
µ 1995
compte en banque, l’état de compte étant contenu dans l’objet
ν Carte EMV (Europay, Mastercard, Visa) portatif, avantageusement une bague.
µ 1996
ν Carte Java
[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6

25 MARS 1974 – D ÉPÔT D ’ UN BREVET

µ En résumé, le brevet définit un objet…

ν Portatif et électronique de mémorisation de données et non alimenté


ν Pouvant être mis en contact temporairement avec divers dispositifs de
communication

ν Comportant des moyens inhibiteurs Normalisation & spécifications


µ Interdisant le transfert de données spécifiques
µ Interdisant la modification de données spécifiques Introduction à la carte à puce

ν Permettant de traiter les données


ν Permettant au dispositif connecté de prendre des décisions en
fonction du résultat des traitements

[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
D ÉFINITIONS N ORME ISO / IEC 7816

µ Définitions µ 5 parties sont spécifiques aux cartes à contacts électriques

ν Norme (anglais: Standard): ν ISO/IEC 7816-1


µ Cartes à contacts, caractéristiques physiques
µ “A document that is produced by consensus and adopted by a
recognized organization, and which, for general and recurring ν ISO/IEC 7816-2
applications, defines rules, guidelines or features for activities or their µ Cartes à contacts, dimension et positions des contacts
results, with the objective of achieving an optimum degree of regulation
in a given context.” ν ISO/IEC 7816-3
µ Cartes à contacts, signaux électriques et protocoles de transmission
ν Consensus
ν ISO/IEC 7816-10
µ “General agreement, characterized by the absence of continuing µ Signaux électroniques et réponse à la mise à zéro des cartes synchrones
objections to essential elements on the part of any significant portion of
the interested parties, and achieved by a procedure that attempts to
consider the views of all relevant parties and address all counter- ν ISO/IEC 7816-12
arguments.”
µ Cartes à contacts, interface électrique et mode opératoire des cartes USB
[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10

N ORME ISO / IEC 7816 N ORME ISO / IEC 7816

µ Les autres parties sont applicables aux cartes à contacts et sans µ (suite)
contact
ν ISO/IEC 7816-9
ν ISO/IEC 7816-4
µ Commandes pour la gestion des cartes
µ Organisation, sécurité et commandes pour les échanges
ν ISO/IEC 7816-11
ν ISO/IEC 7816-5 µ Vérification personnelle par méthodes biométriques
µ Enregistrement des fournisseurs d'application ν ISO/IEC 7816-13
ν ISO/IEC 7816-6 µ Cartes multi applicatives
µ Éléments de données intersectoriels pour les échanges ν ISO/IEC 7816-15
ν ISO/IEC 7816-7 µ Application des informations cryptographiques
µ Commandes intersectorielles pour langage d'interrogation de carte
structurée (SCQL)
ν ISO/IEC 7816-8
µ Commandes pour des opérations de sécurité

[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
U SAGES DE LA NORME ISO/IEC 7816 U SAGES DE LA NORME ISO/IEC 7816

µ EMV (EMVco) µ IAS-ECC (ANTS)

ν Spécification basée sur l’ISO/IEC 7816 pour le paiement international ν Identification, Authentification, Signature – European Citizen Card
ν Basé sur ν Basé sur
µ ISO/IEC 7816-1 à 3 pour les cartes contacts
µ ISO/IEC 7816-3, -4, -6, -8, -9, -15
µ ISO/IEC 7816-4 pour toutes les cartes
µ ISO/IEC 14443

µ GSM 11.11 (ETSI)


µ Vitale / Vitale 2
ν Digital cellular telecommunications system (Phase 2) - Specification of
the Subscriber Identity Module - Mobile Equipment (SIM - ME) ν Vitale 2 s’appuie sur la version précédente de IAS
interface
ν Basé sur
µ ISO/IEC 7816-1 à 3

[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14

D ES NORMES « SANS CONTACT » D ES NORMES « SANS CONTACT »

µ Proximity cards µ Close-coupled cards

ν Jusqu’à ~10 cm ν Nécessite une proximité physique importante, limite du contact


ν ISO/IEC 14443
µ Basé sur ν ISO/IEC 10536
ν ISO/IEC 7816-2 à 6 µ Norme a priori actuellement inutilisée

ν Near Field Communication (NFC)


µ Vicinity cards µ ISO/IEC 18092 (NFCIP-1) – ECMA-340
µ ISO/IEC 21481 (NFCIP-2) – ECMA-352
ν Jusqu’à ~70 cm µ Basé sur
ν ISO/IEC 15693 ν ISO/IEC 14443
µ Basé sur
ν ISO/IEC 7816-6

[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
M ICROCIRCUIT: ÉLÉMENTS CONSTITUTIFS

µ Composants principaux
ISO/IEC 7816
ν Microprocesseur
ν ROM
ν EEPROM
ν RAM
Environnement physique ν Interface de communication

Introduction à la carte à puce ν Coprocesseur


cryptographique

[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18

M ICROCIRCUIT: ÉLÉMENTS CONSTITUTIFS P OUR MÉMOIRE …


T YPES DE MÉMOIRES

µ Ordres de grandeur µ ROM Read Only Memory


ν Principe du fusible à la fabrication

ν Microprocesseur
µ 5 à 40 MHz µ PROM Programmable ROM
ν Mémoire à lecture seule programmable (fusible à la première écriture)
ν ROM
µ 32 à 128 Ko µ EPROM Erasable Programmable ROM
ν Mémoire effaçable si soumise aux UV
ν EEPROM
µ 16 à 128 Ko µ EEPROM Electrically Erasable Programmable ROM
ν Mémoire effaçable électriquement
ν RAM
µ 384 o à 4 Ko µ RAM Random Access Memory
ν Mémoire conservant les informations tant qu’elle est sous tension
[email protected] [email protected]
2017 / 2018 19 2017 / 2018 20
M ASQUE

µ Système d’exploitation de la carte (Hard Mask)

ν En ROM, non modifiable

µ Rôles
Environnement logique ν Gestion des communications
ν Exécution des commandes reçues
Introduction à la carte à puce
ν Gestion des exécutables de la carte
ν Gestion de la sécurité
ν Gestion de la cryptographie
ν …

[email protected] [email protected]
2017 / 2018 21 2017 / 2018 22

M ASQUE

µ « Soft Mask »

ν Extension du « Hard Mask »


ν Chargement dynamique en EEPROM

ν Correction du « hard mask »


Bibliographie
Introduction à la carte à puce

[email protected] [email protected]
2017 / 2018 23 2017 / 2018 24
µ La petite histoire de la carte à puce (Amicale des Retraités Philips)
ν http://amitrtlu.free.fr/vraivie/cartepuce/cartepuce.htm

µ Agence Nationale des Titres Sécurisés


ν http://ants.gouv.fr/

µ Smart Card Handbook, Third Edition


ν Wolfgang Rankl & Wolfgang Effing, Editions Wiley

[email protected]
2017 / 2018 25
S OMMAIRE
1
µ Caractéristiques du support

Caractéristiques Sommaire
physiques µ ISO/IEC 7810
µ Caractéristiques des contacts
« Caractéristiques physiques »
2017 / 2018
ν

µ ISO/IEC 7811-*
ν « Identification cards –
Recording technique »

µ ISO/IEC 7816-1
ν « Caractéristiques physiques »

µ ISO/IEC 7816-2
ν « Dimension et emplacements
des contacts »

[email protected] [email protected]
2017 / 2018 2

C ARTES D ’ IDENTIFICATION
ISO/IEC 7810

µ Carte d’identification

ν ID = Identification Card
µ “card identifying its holder and issuer which may carry data required as
input for the intended use of the card and for transactions based
thereon”

Caractéristiques du support µ Carte de type ID-1

Caractéristiques physiques ν Carte d’identification de dimensions


µ 85.60 mm (3.37 in)
µ 53.98 mm (2.125 in)
µ 0.76 mm (0.030 in)

ν « Format carte de crédit »


[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
C ARTES D ’ IDENTIFICATION C ARTES D ’ IDENTIFICATION
ISO/IEC 7810 ISO/IEC 7810

µ Carte de type ID-000 µ Carte de type ID-2

ν Carte d’identification de dimensions ν Carte d’identification de dimensions


µ 25 mm (0.984 in) µ 105 mm (4.134 in)
µ 15 mm (0,5905 in) µ 74 mm (2.913 in)
µ 0.76 mm (0.030 in) µ 0.76 mm (0.030 in)

ν Exemples ν Exemples
µ Carte SIM standard µ Cartes d’identité (France, Allemagne…)

[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6

C ARTES D ’ IDENTIFICATION C ARTES D ’ IDENTIFICATION


ISO/IEC 7810

µ Carte de type ID-3 µ L’ ISO/CEI 7811 précise de plus:

ν Carte d’identification de dimensions ν Conditions d’estampage / embossage


µ 125 mm (4.921 in) µ ISO/IEC 7811-1
µ 88 mm (3.465 in)
µ 0.76 mm (0.030 in) ν Présence de pistes magnétiques
µ ISO/IEC 7811-2
ν Exemples µ ISO/IEC 7811-6
µ Passeport
µ Visa

[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
C ARTES ID-1 E STAMPAGE & EMBOSSAGE

µ Dimensions nominales µ Dimensions nominales

ν a = 85.60 mm (3.37 in) ν a=21,42 ± 0,12 (0.843 ± 0.005)


ν b = 53.98 mm (2.125 in) ν b=10,18 ± 0,25 (0.401 ±
ν d = 0.76 mm (0.030 in) 0.010)
ν c=65,31 ± 0,76 (2.571 ± 0.030)
ν d=24,03 (0.946) maximum
ν e=14,53 (0.572) maximum
µ Tolérances
ν f=2,54 (0.100) minimum à 3,30
(0.130) maximum
ν a = [85.47 ; 85.72]
ν g=7,65 ± 0,25 (0.301 ± 0.010)
ν b = [53.92 ; 54.03]
ν h=66,04 ± 0,76 (2.600 ±
ν c = [2.88 ; 3.48] 0.030)
ν d = [0.68 ; 0.84]
[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10

E STAMPAGE & EMBOSSAGE P ISTES MAGNÉTIQUES


ISO/IEC 7811-2

µ Polices normalisées pour la reconnaissance optique µ Track 1


ν 8,27 bits/mm (210 bpi)
ν OCR-A
µ ISO 1073-1 (1960)
µ Track 2
ν OCR-B ν 2,95 bits/mm (75 bpi)
µ ISO 1073-2 (1965)

ν Farrington-7B µ Track 3
µ ISO 7811-1 ν 8,27 bits/mm (210 bpi)

ν Peu respectées en pratique, les capacités des outils d’OCR ayant


évoluées

[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
P ISTE 2 POUR LES SERVICES FINANCIERS C ARTES D ' IDENTIFICATION - M ÉTHODES D ' ESSAI
ISO/IEC 10373

µ ISO/IEC 10373-1 µ ISO/IEC 10373-2


ν Caractéristiques générales ν Cartes à bandeau magnétique

ν Résistance ν Résistance
µ À la délamination µ À l’électricité statique
µ Déformation (pliage,
torsion…) ν Collage
µ Chimique
µ À la température
µ À la lumière

ν Inflammabilité
ν Non toxicité
ν Stabilité des dimensions
[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14

D ÉFINITIONS
ISO/IEC 7816-1 & -3

µ Circuit intégré

ν « Composant électronique conçu pour assurer des fonctions de


traitement et/ou de mémorisation »
µ Anglais: IC (Integrated Circuit)
µ Synonyme: puce

Caractéristiques des contacts


µ Carte à circuit intégré
Caractéristiques physiques
ν « Carte de type ID-1 (telle que spécifiée dans ISO/CEI 7810) dans
laquelle sont insérés un ou plusieurs circuits intégrés »
µ Anglais: ICC (Integrated Circuit Card)
µ Synonyme: carte à puce

[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
D ÉFINITIONS CONTACTS
ISO/IEC 7816-1 & -3 D IMENSIONS ET POSITIONS

µ Equipement externe d’interface / Dispositif d’interface

ν « Terminal, dispositif ou machine de communication, électriquement


connecté à la carte durant son fonctionnement »
µ Anglais: IFD (Interface Device)
µ Synonyme: lecteur de carte à puce

µ Contact

ν « Élément conducteur assurant la continuité galvanique entre le


circuit intégré et l’équipement externe d’interface »

[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18

« G RILLE » & CONTACTS A FFECTATION DES CONTACTS


E XEMPLES
C1 C5
VCC GND
(Supply voltage) (Ground)

C2 C6
RST APU / ex-VPP
(Reset signal) (Secondary supply voltage)

C3 C7
CLK I/O
(Clock signal) (Data input / output)

C4 C8
AUX1 AUX2
Réservés pour une utilisation
future dans d’autres parties de
l’ISO/IEC 7816
Inutilisés !
[email protected] [email protected]
2017 / 2018 19 2017 / 2018 21
C ARTES D ' IDENTIFICATION - M ÉTHODES D ' ESSAI
ISO/IEC 10373

µ ISO/IEC 10373-3
ν Cartes à circuit(s) intégré(s) à contacts

ν Contraintes électriques
µ Electricité statique
µ Niveaux

ν Contraintes logiques
µ Réactions aux stimulus

ν Contraintes physiques
µ Dépassement des contacts

[email protected]
2017 / 2018 22
S OMMAIRE
2
µ Rôle des contacts

Sommaire Cinématique générale à l’interface


Signaux, bits, RAZ et PPS µ
µ Un aperçu de l’ISO/CEI
2017 / 2018 7816-3 « Signaux
électriques et µ Bits, caractères, octets
protocoles de
transmission »
µ Séquence de démarrage / Reset

µ Protocol Parameter Selection

µ Remarque: cartes synchrones


[email protected] [email protected]
2017 / 2018 2

N IVEAUX ÉLECTRIQUES

µ Contact actif / inactif µ Sur I/O

ν Transmission TTL
µ Etat haut (H) µ Z: état haut
ν Potentiel nominal Ucc imposé µ A: état bas
par l’émetteur
Ne pas confondre état bas /
Rôle des contacts ν
haut et valeur de bit à 0 / 1…
µ Etat bas (L)
Signaux, bits RAZ et PPS ν Potentiel nominal nul imposé
par l’émetteur
Ucc Ucc
L H A Z
0 0

[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
D ÉTAIL DES CONTACTS D ÉTAIL DES CONTACTS
VCC (C1) VPP/APU (C6)

µ 3 classes de fonctionnement µ Rôle historique: VPP

ν Classe A ν Alimentation secondaire pour l’écriture en EPROM


µ Ucc nominal=5V
µ Imax=60mA
µ Désormais déclaré APU
ν Classe B
µ Ucc nominal=3V ν Available for Proprietary Use
µ Imax=50mA

ν Classe C
µ Ucc nominal=1,8V
µ Imax=30mA

[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6

D ÉTAIL DES CONTACTS D ÉTAIL DES CONTACTS


CLK (C3) CLK (C3)

µ Le dispositif d’interface fournit µ Valeur avant négociation µ Sleep mode


le signal d’horloge
ν 1 < <5 ν Consiste en l’arrêt de l’horloge
ν La fréquence est notée µ Maintient de l’état L ou H sur CLK
µ Entre 1 et 20 MHz µ A condition qu’aucune émission n’ait eu lieu depuis 1860 cycles au moins
µ Après redémarrage, le lecteur doit attendre au moins 700 cycles avant
ν 1 période = 1 cycle = (s) d’utiliser I/O

ν Intérêt
ν La plage de fréquence
autorisée est décidée par la µ limitation de la consommation
carte
ν Toutes les cartes ne l’acceptent pas

[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
D ÉTAIL DES CONTACTS D ÉTAIL DES CONTACTS
I/O (C7) I/O (C7)

µ Transmission en « half duplex » asynchrone (ISO/IEC 7816-3) µ Transmission en « half duplex » synchrone (ISO/IEC 7816-10)

ν Transmission sur I/O ν VCC, CLK fournis par le dispositif d’interface


µ Aucun échange
ν Le I/O est à état Z (établi par la puce) ν Transmission sur I/O

µ Émission par le lecteur


ν La puce passe en mode réception

µ Émission par la carte


ν Le lecteur passe en mode réception

ν C’est de loin le cas le plus courant


µ Et celui très majoritairement traité dans cette série de transparents

[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10

D ÉTAIL DES CONTACTS D ÉTAIL DES CONTACTS


AUX1 & AUX2 (C4 & C8) RST (C2)

µ Transmission en half duplex en USB (ISO/IEC 7816-12) µ Remise à zéro de la carte


ν Permet au lecteur de contrôler l’activité de la puce
ν Se base sur “Universal Serial Bus Specification Revision 2.0” µ Etat L: La puce n’a pas le droit de « lire » ni « écrire » sur I/O
µ Etat H: La puce peut communiquer avec le dispositif d’interface via I/O
ν USB-ICC Reprise de
l’activité: reset
ν Equivalence des contacts USB La puce Mise en Mise en pause
« prend vie » pause pour arrêt
µ C1: VBUS
µ C5: GND Ucc
AUX1: D+ RST
µ 0
µ AUX2: D-
Puce inactive
à l’interface
Fonctionnement
normal de la puce
[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
S TRUCTURE DU PROTOCOLE
C E QUE DIT LA NORME

µ La norme présente 3 couches dans le cas du protocole de


transmission T=1

ν Physique
µ Signal
µ Caractères
Cinématique générale à l’interface ν Liaison de données
Transmission asynchrone µ Caractères
µ Blocs
Signaux, bits RAZ et PPS ν Application
µ Commandes & réponses

µ Aucune mention dans le cadre de l’autre protocole T=0


[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14

S TRUCTURE DU PROTOCOLE P RINCIPES


M A VISION GÉNÉRIQUE

µ Applicable de façon générique µ La puce est esclave du


Activation des contacts
dialogue
ν Sur 4 couches
ν Elle ne peut que répondre à Remise à zéro
des sollicitations du lecteur
APDU Application Application
Protocol Parameter
TPDU Transmission Transmission Selection

Caractère Liaison Liaison Exécution des CRP

Signal A/Z Support électrique


Désactivation des contacts

[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
T RANSMISSION D ’ UN BIT ÉLECTRIQUE

µ Transmission réalisée sur le contact I/O

µ Elementary time unit ( )

ν C’est la durée d’émission d’un état A ou Z correspondant à un bit


ν L’ est définie en nombre de coups d’horloge sur CLK
Bits, caractères, octets
ν 1 = cycles
Signaux, bits RAZ et PPS µ : clock rate conversion factor
µ : baud rate adjustement factor

ν 1 = secondes
µ : fréquence sur CLK

[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18

T RANSMISSION D ’ UN BIT ÉLECTRIQUE T RANSMISSION D ’ UN CARACTÈRE


ISO 1177

µ Transmission d’un bit µ Séquence de 10 états A ou Z maintenus pendant 1


ν 1 bit de start (A)
ν Emission d’un A ou Z pendant 1 ν 8 bits data
ν et sont imposés par la carte ν 1 bit de parité

ν Valeur remarquable µ Suivie de 2 bits de stop (Z) émis pendant 1


µ Lors du démarrage (RAZ): = 372
ν On note par convention = 372 et =1

µ En l’absence de transmission

ν I/O est maintenu à l’état Z

[email protected] [email protected]
2017 / 2018 19 2017 / 2018 20
T RANSMISSION D ’ UN CARACTÈRE T RANSMISSION D ’ UN CARACTÈRE
ISO 1177

µ A retenir µ Synchronisation

ν Un caractère (séquence de A/Z) n’est pas un octet (séquence de 0/1) ν Sur le front descendant du « start »

ν Un caractère encode un octet pour le transmettre

Octet Octet

Caractère Caractère

Signaux

[email protected] [email protected]
2017 / 2018 21 2017 / 2018 22

C YCLE D ’ UTILISATION DE LA CARTE

µ Mise à zéro à froid

ν Fait suite à la mise sous


tension de la carte par le
lecteur (activation des VCC
contacts) RST

Séquence de démarrage / Reset


CLK
ν ≤ 200 cycles I/O
ν ≥ 400 cycles
Signaux, bits RAZ et PPS ν 400 ≤ ≤ 40000 cycles

ν La puce émet une réponse à la


sollicitation sur I/O une fois le
délai écoulé

[email protected] [email protected]
2017 / 2018 23 2017 / 2018 24
C YCLE D ’ UTILISATION DE LA CARTE C YCLE D ’ UTILISATION DE LA CARTE

µ Mise à zéro à chaud µ Mise hors tension

ν ≤ 200 cycles ν L’arrêt de la carte est soumise


ν ≥ 400 cycles à une séquence normalisée
VCC VCC
ν 400 ≤ ≤ 40000 cycles
RST RST
CLK CLK
ν La puce émet une réponse à la
sollicitation sur I/O une fois le I/O I/O
délai écoulé

[email protected] [email protected]
2017 / 2018 25 2017 / 2018 26

C ARACTÈRE INITIAL TS C ARACTÈRE INITIAL TS

µ Émis en réponse à la mise à zéro µ Convention directe


ν m5m6m7=ZZZ
TS=3B
Indique le codage des octets en caractère
µ
µ
ν A code 0 / Z code 1
ν Poids faible en tête
µ La forme du signal est imposée

µ Convention inverse
ν m5m6m7=AAA
µ TS=3F
ν A code 1 / Z code 0
ν Poids fort en tête

[email protected] [email protected]
2017 / 2018 27 2017 / 2018 28
A NSWER TO R ESET

µ L’ATR débute à la suite du caractère initial TS

ν Commence par l’octet de format T0

ν Suivi de jusqu’à 31 octets regroupés en

Answer To Reset µ Une séquence d’« octets d’interface »

Une séquence d’« octets d’historique »


Signaux, bits RAZ et PPS
µ

µ Un octet « TCK »
Octets Octets
T0 TCK
Interface Historique

[email protected] [email protected]
2017 / 2018 29 2017 / 2018 30

O CTET DE FORMAT T0 O CTETS D ’ INTERFACE

T0
µ Quartet poids fort: Y1 µ Chaque octet d’interface est
nommé x x x x K
ν Indique la présence des premiers octets d’interface
ν Selon un « mapping » de présence des octets ν Selon son ordre et sa
présence

La présence des 4 premiers Y2 T


µ Quartet poids faible: K ν
T0 octets est donnée par le
quartet poids fort de T0 x x x x
ν Indique le nombre exact d’octets d’historique
µ Bit à 0: l’octet correspondant
ν ‘0’ à ‘F’ Y1 K est absent
µ Bit à 1: l’octet correspondant
X X X X est présent
Y3 T

[email protected] [email protected]
2017 / 2018 31 2017 / 2018 32
O CTETS O CTETS

µ Quartet poids fort: Yi+1 µ Annonce des protocoles de transmission supportés

ν Indique la présence des 4 octets d’interface suivants: , , ν Dans le quartet poids faible des
,
ν Selon un « mapping » de présence des octets ν Ordre d’annonce
ν Notés « T=… »

µ Quartet poids faible: T


µ Exemples
ν Indique quel protocole de transmission est paramétré par les octets
d’interface de rang i+1 ν (TODO)
µ T=0 ou 1
µ T=F n’est pas un protocole mais indique des paramètres généraux
indépendants du protocole de transmission

[email protected] [email protected]
2017 / 2018 33 2017 / 2018 34

O CTET TCK O CTET

µ TCK µ Définit , , pour la suite FI ‘0’ ‘1’ ‘2’ ‘3’ ‘4’ ‘5’ ‘6’ ‘7’

des échanges F 372 372 558 744 1116 1488 1860 RUF
fmax 4 5 6 8 12 16 20 RUF
ν Somme de contrôle de l’ATR ν 1 = ⋅
FI ‘8’ ‘9’ ‘A’ ‘B’ ‘C’ ’D’ ‘E’ ‘F’
F RUF 512 768 1024 1536 2048 RUF RUF
ν Présent si et seulement si un ou indique T>0 fmax RUF 5 7,5 10 15 20 RUF RUF
µ Quartet poids fort
ν Index de (alors noté )
ν Tel que ⊕ 0… = ′00′
ν
M=DI ‘0’ ‘1’…’7’ ‘8’ ‘9’ ‘A’…’C’ ‘D’…’F’
D RUF 2 M-1 12 20 RUF 2 M-6

µ Quartet poids faible


ν Index de (alors noté )

µ Par défaut: = ′01′


[email protected] [email protected]
2017 / 2018 35 2017 / 2018 36
O CTETS & O CTET

µ Caractéristiques de VPP µ Code le temps de garde supplémentaire (extra Guard Time)

ν S’ajoute au Guard Time « normal » de la RAZ


µ Devenus obsolètes
ν Concerne les échanges lecteur vers carte
ν Ne devraient plus être envoyés
ν Doivent être ignorés par le lecteur

ν Valeur fréquente: = ′25′

µ Demandait pour VPP 50mA sous 5V

[email protected] [email protected]
2017 / 2018 37 2017 / 2018 38

O CTET O CTET DU MODE SPÉCIFIQUE


O CTET

µ Interprétation µ 2 modes de fonctionnements de la carte sont possibles

ν Si N=‘FF’ ν « Mode négociable » en cas d’absence de


µ Sous T=0  pas de temps de garde supplémentaire
µ Sous T=1  fixe 1 caractère sur 11
µ Si la carte annonce un seul protocole
µ S’applique aussi aux échanges carte vers lecteur
ν Elle ne supporte pas la procédure de PPS
ν Le protocole est immédiatement sélectionné après l’ATR.
ν Sinon le temps de garde supplémentaire dure ⋅ secondes
µ Si un annonce T=‘F’ µ Si la carte annonce plusieurs protocoles
ν = (valeurs courantes de et ) ν Elle supporte la procédure de PPS
µ Sinon ν En l’absence de requête PPS émise par le lecteur, le 1er protocole annoncé est
sélectionné
ν = (valeurs de et annoncées dans l’ATR)

µ Le lecteur peut solliciter un mode spécifique par mise à zéro à chaud


ν Valeur par défaut: = ′00′

[email protected] [email protected]
2017 / 2018 39 2017 / 2018 40
O CTET DU MODE SPÉCIFIQUE O CTET
O CTET

ν « Mode spécifique » en cas de présence de µ Spécifique T=0

µ La carte ne supporte pas la procédure de PPS


ν Temps d’attente du lecteur (Waiting Time)
µ Les conditions annoncées par sont à prendre ou à laisser
µ et sont fixés par l’ATR ou de façon implicite !
µ = × 960 ⋅ secondes
µ Le lecteur peut solliciter un mode négociable par mise à zéro à chaud
ν Valeur par défaut: = ′0A′
b8 b7 b6 b5 b4 b3 b2 b1 Signification
0 Peut passer en mode négociable par RAZ à chaud
1 Ne peut pas passer en mode négociable par RAZ à chaud
0 0 RUF
u Paramètres définis par les octets d’interface (u=0) ou implicites (u=1)
x y z t Protocole obligatoire: T=8x+4y+2z+t

[email protected] [email protected]
2017 / 2018 41 2017 / 2018 43

O CTET ( I >2) O CTETS ( I >2)

µ Spécifique T=1 µ Spécifique T=1

ν ’00’-’FE’: LEN maximum IFSC des blocs acceptés par la carte ν Temps maximum entre 2 blocs (Block Waiting Time)
BWI CWI
ν ‘FF’ RUF
µ =2 ⋅ 960 ⋅ + 11 etu
ν Par défaut: = ′20′
ν Temps maximum entre 2 caractères d’un bloc (Character Waiting
Time)

µ =2 + 11 etu

[email protected] [email protected]
2017 / 2018 44 2017 / 2018 45
O CTET ( I >2) O CTET ( I >2)

µ Spécifique T=1: octet d’options µ Spécifique T=‘F’ (global) µ Spécifique T=‘F’

ν Type de somme de contrôle ν Indique si la carte supporte ν Définit les options supportées par la carte
EDC l’arrêt d’horloge
ν B8=1 si C6 propriétaire
ν Par défaut: = ′01′

b8 b7 b6 b5 b4 b3 b2 b1 Signification b8 b7…b1 Signification


0 0 Arrêt CLK non supporté 0 0000000 EDC = LRC
0 1 Arrêt de CLK préféré à l’état H 1 0000000 EDC = CRC
1 0 Arrêt de CLK préféré à l’état L
1 1 Arrêt de CLK supporté sans préférence
0 0 0 C B A Classe(s) d’alimentation supportée(s)

[email protected] [email protected]
2017 / 2018 46 2017 / 2018 47

V UE GLOBALE DE L’ATR E XEMPLES D ’ATR

µ Octet d’interface T0 et
µ Carte TB100
µ Octets d’interface
ν Global définit et ν 3F 67 25 00 21 20 00 0F 78 90 00
ν Global abandonné
ν Global définit (extra Guard Time) µ Carte CB B4B0’
ν
ν
Structure
Global
définit et
indique le mode spécifique
ν 3F 65 25 08 93 04 6C 90 00
Global abandonné
Carte CB B0’/EMV
ν
ν Spécifique T=0 définit WT (Waiting Time) µ
ν Structure et
ν 3F 65 25 08 58 04 6C 90 00 (RAZ à froid)
µ i>2
ν Structure et ν 3B 65 00 00 58 04 6C 90 00 (RAZ à chaud)
ν Spécifique à T<‘F’ ou global si T=‘F’
ν idem µ Carte EMV (STM) non personnalisée
ν
ν
idem
Structure et
ν 3B 65 00 00 A9 40 50 00 08
µ Octets d’historique
ν
µ Carte vitale 1
ν … ν 3F 65 25 00 52 09 6A 90 00
ν

µ Octet de contrôle TCK µ Carte vitale 2


ν 3B 75 13 00 00 44 09 EA 90 00
[email protected] [email protected]
2017 / 2018 48 2017 / 2018 49
E XEMPLES D ’ATR

µ Javacard
ν 3B 65 00 00 9C 02 02 06 01
µ SamOS 2.7
ν 3B B0 11 00 81 31 90 73 F2
µ AT88SC0204C (Atmel memory card)
ν 3B B2 11 00 10 80 00 02
µ Giesecke & Devrient Starcos 2.4
ν 3B B7 18 00 81 31 FE 65 53 50 4B 32 34 90 00 5A PPS – Protocol Parameters Selection
µ Schlumberger Cryptoflex
ν 3B E2 00 00 40 20 49 06 Signaux, bits RAZ et PPS
µ Contactless Mifare
ν 3B F5 91 00 FF 91 81 71 FE 40 00 41 08 00 00 00 0D
µ GSM-SIM Orange-UK (1800)
ν 3B 99 94 00 91 08 91 06 00 01 06 06 00

[email protected] [email protected]
2017 / 2018 50 2017 / 2018 51

P ROTOCOL AND PARAMETER S ELECTION P ROTOCOL AND PARAMETER S ELECTION

µ Le PPS permet µ Dialogue


ν De supporter plusieurs protocoles sur la carte
ν D’utiliser des vitesses de transmission supérieures à celles par défaut ν PPS Request émis par le lecteur immédiatement après l’ATR
ν D’éviter de passer par une RAZ à chaud
µ Se différencie d’une APDU normale par le 1er octet à ‘FF’

µ Négociation en particulier ν PPS Response émis si compris par la carte


ν De et
ν Du protocole

µ Conditions du dialogue
µ PPS Request émis par le lecteur immédiatement après l’ATR
ν 1er octet à ‘FF’ ν Les échanges ont lieu dans les mêmes conditions que l’ATR
µ = 372
ν Les conditions acceptées sont utilisées dès la fin de l’échange
µ PPS Response émis si compris par la carte
[email protected] [email protected]
2017 / 2018 52 2017 / 2018 53
P ROTOCOL AND PARAMETER S ELECTION

µ PPS Request µ PPS Response

ν : ‘FF’ ν Procédure d’acceptation:


ν : ~
µ PPS Request émis en écho
ν : ~
ν : ~ d’un ν Procédure de refus: Remarque : Cartes synchrones
annonçant T=‘F’ ISO/IEC 7816-10
: ~ d’un Les refusés ne sont pas
ν
Signaux, bits RAZ et PPS
µ

annonçant T=‘F’ renvoyés


µ est mis à jour
ν : checksum tel que µ est recalculé
⨁ = ′00′

[email protected] [email protected]
2017 / 2018 54 2017 / 2018 55

L IAISONS SYNCHRONES / ASYNCHRONES C ARTES S YNCHRONES

µ Liaison asynchrone µ Ce que ça change par rapport à une carte asynchrone

ν Emetteur et récepteur ne partagent pas la même horloge ν L’ISO/IEC 7816-10 se substitue à l’ISO/IEC 7816-3 pour les aspects
ν Adapté à la transmission d’information de façon irrégulière dans le signal et réponse à la remise à zéro
temps
µ Mais s’appuie dessus pour tous les autres aspects
ν Chaque caractère émis doit être délimité (start / stop)

ν Pas de problème de synchronisation


µ Liaison synchrone µ Un bit sur I/O dure 1 cycle
µ La notion de caractère n’a plus lieu d’être
ν Emetteur et récepteur sont cadencés par la même horloge
ν Adapté à la transmission continue de données ν Le débit est directement en lien avec la fréquence CLK
µ Le récepteur reçoit des données même lorsqu’aucun bit n’est transmis µ Par exemple 7 kHz sur CLK donne un débit de 7 kbit/s
ν Les caractères à émettre sont regroupés en blocs délimités par des
caractères de contrôle

[email protected] [email protected]
2017 / 2018 56 2017 / 2018 57
C ARTES S YNCHRONES T YPES DE CARTES SYNCHRONES

µ (suite) µ Cartes type 1

ν Le mode synchrone donne accès à des fréquences supérieures au


ν Fréquence autorisée jusqu’à 50 kHz
mode asynchrone

ν Conversion signal / bit logique


µ Cartes type 2
µ Un état bas (A) correspond à un 0
µ Un état haut (Z) correspond à un 1
ν Le contact C4 est assigné au FCB (Function Code Byte)
µ Utilisé avec le contact RST, il indique le type de commande à exécuter
ν La forme de l’ATR est différente (reset, lecture, écriture…)
µ 32 bits obligatoires (H1…H4)
ν Fréquence autorisée jusqu’à 280 kHz
ν Lecture du bit sur état L de CLK

[email protected] [email protected]
2017 / 2018 58 2017 / 2018 59
S OMMAIRE
3
µ Command Cases

Sommaire
Protocole applicatif µ C-APDU en détails
µ Un aperçu de l’ISO/IEC
2017 / 2018 7816-4 « Organisation,
security and µ R-APDU en détails
commands for
interchange »
µ Extensions

[email protected] [email protected]
2017 / 2018 2

COMMAND C ASE &


APDU ISO/IEC 7816-4
Analogie avec un langage de
programmation traditionnel void f ( ) Command Case 1

int f ( ) Command Case 2

void f ( int ) Command Case 3

Command Cases
int f ( int ) Command Case 4
Protocole applicatif

CLA INS P1 P2 (Lc UDC) (Le)


(UDR) SW1 SW2
[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
COMMAND R ESPONSE PAIR COMMAND R ESPONSE PAIR

µ Forme générale d’une C-APDU µ Forme générale d’une R-APDU

ν Avec ou sans données dans la commande (UD-C) ν Avec ou sans données dans la réponse

ν Avec ou sans données attendues dans la réponse (UD-R) ν [UD-R] SW1 SW2

ν CLA INS P1 P2 [Lc UD-C] [Le]


µ L’ISO/IEC 7816-4 définit 4 CRP
µ code = taille des UD-C
ν Ce sont les Command Cases
µ code = taille maximale des UD-R

[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6

CODAGE DE CODAGE DE

µ absent µ étendu µ absent µ étendu

ν =0 ν Codage sur 3 octets ‘00 ’ ν =0 ν Si absent ou court

µ Codage sur 3 octets ’00 ’


µ =‘ ’
=‘ ’
court court
ν
µ µ
µ ‘ ’ = ‘0000’ interdit
ν = ν = µ Si étendu est présent

µ codé sur 2 octets ‘xxxx’

µ ‘0001’ ≤ ‘ ’ ≤ ‘FFFF’
ν = ‘ ’
µ ‘ ’ = ‘0000’
ν = ‘FFFF’ + 1 = 65536
[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
C OMMAND C ASES
EN SYNTHÈSE

C-APDU en détails
Protocole applicatif

[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10

O CTET CLA C ANAUX LOGIQUES


O CTET CLA

µ Classe d’instruction b8 b7 b6 b5 b4 b3 b2 b1 Signification


µ Chaque canal dispose de son Lecteur Carte
propre contexte de sécurité
0 1 v SM normalisée et exclure le préfixe si v=1
u u=1: commande chaînée
0 1
SELECT (channel 1)
0 1 w x y z Numéro de canal logique = 8w+4x+2y+z
90 00
µ Rôles
ν Définition du canal logique µ Ouverture d’un canal
ν Chainage de commande MANAGE CHANNEL (open 2)
ν Sécurité des échanges ν Par SELECT 90 00
ν Ou MANAGE CHANNEL
b8 b7 b6 b5 b4 b3 b2 b1 Signification µ Fonction « open »
µ Valeurs remarquables 0
0
0
0
0
X
(Fixe)
x=1: commande chaînée
MANAGE CHANNEL (close 1)
ν ’00’ pour cartes TB100 0 0 0 0 Pas de Secure Messaging 90 00
ν ’80’ pour cartes EMV 0 0 0 1 Secure Messaging propriétaire
µ Fermeture d’un canal
0 0 1 t SM normalisée, inclure le préfixe si t=1
ν ‘BC’ pour cartes B0’ 0 0 y z Numéro de canal logique = 2y+z

ν Par MANAGE CHANNEL


ν ‘FF’ est réservé µ Fonction « close »

[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
C HAÎNAGE DE COMMANDES O CTET INS
O CTET CLA

µ Réalisé par le bit 5 Lecteur Carte µ Code d’instruction dans la classe


00 INS P1 P2 000200 UDC

Sans
ν Permet la transmission d’UD-C 90 00 ν L’ISO/IEC 7816-4 définit près de 40 commandes
en plusieurs fois
ν Les parties 7 à 9 en définissent d’autres spécifiques aux besoins
ν à 1 sur les messages
intermédiaires 10 INS P1 P2 80 (128 1er)

ν à 0 sur le dernier 90 00 µ Valeurs particulières


10 INS P1 P2 C0 (192 suivants)
90 00
Status Word à noter Un code d’instruction impair (b1=1) indique l’usage du format BER

Avec
ν ν
10 INS P1 P2 80 (128 suivants)
90 00
TLV dans les UDC et UDR
µ SW = 6884 00 INS P1 P2 40 (64 derniers) ν Un code d’instruction pair (b1=0) ne précise rien
ν Chainage non supporté
90 00
µ SW = 6883
ν Dernier bloc attendu ν Les valeurs ‘6X’ et ‘9X’ sont invalides (cf. ISO/IEC 7816-3)

[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14

O CTET INS O CTET P1 & P2

Commande INS µ P1 P2
SELECT A4 Sélection d’un fichier
GET RESPONSE C0 Récupération d’une réponse en attente ν Données complémentaires à l’instruction
GET DATA CA, CB Obtention de données
PUT DATA DA, DB Envoi de données
READ BINARY B0, B1 Lecture d’un fichier binaire
WRITE BINARY D0, D1 Ecriture dans un fichier binaire
READ RECORD B2, B3 Lecture d’un enregistrement dans un fichier
WRITE RECORD D2 Ecriture d’un enregistrement dans un fichier

[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
S TATUS W ORD

µ 2 octets SW1 SW2


ν Systématiques
ν Précise l’état de traitement de la commande

µ ’9000’
ν État normal
R-APDU en détail µ ’61xy’
ν État normal, ‘xy’ octets de UD-R restants
Protocole applicatif
µ ‘6Cxy’
ν Rejet avant exécution, xy indique la valeur correcte de Le
µ SW1 = ‘9x’
ν Réservé aux applications (indépendant de ISO 7816)

[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18

S TATUS W ORD S TATUS W ORD

SW1 SW2 Signification Codage de SW2 si SW1=’62’ Codage de SW2 si SW1=’63’

Normal 9000’ Normal SW2 Signification SW2 Signification


processing 61XY Normal, XY octets d’UD-R disponibles ’00’ Pas d’information ’00’ Pas d’information

Warning 62XY Alerte sans modification mémoire ’02’..’80’ La carte peut émettre un message ‘81’ La dernière écriture a rempli le fichier
processing 63XY Alerte avec modification mémoire ‘81’ Les UD-R peuvent être erronées ’C0’..’CF’ Le quartet pf est un compteur, voir la commande pour son rôle
64XY Erreur d’exécution sans modification mémoire ’82’ Fin de fichier ou d’enregistrement atteint avant de lire Ne octets
Execution
65XY Erreur d’exécution avec modification mémoire ’83’ Fichier sélectionné inactivé
error
66XY Erreur d’exécution de commande de sécurité ’84’ FCI en format non normalisé
6700 Rejet avant exécution, Lc ou Le incorrect. ’85’ Fichier sélectionné terminé
68XY Rejet avant exécution, fonction de CLA non supportée ’86’ Pas de données du capteur encarté
69XY Rejet avant exécution, Commande interdite
6AXY Rejet avant exécution, P1 et/ou P2 incorrects
Checking
6B00 Rejet avant exécution, P1 et/ou P2 incorrects (~ ‘6A86’)
error
6CXY Rejet avant exécution, XY indique la valeur correcte de Le.
6D00 Rejet avant exécution, INS incorrect
6E00 Rejet avant exécution, CLA non supporté (~ ’6800’)
6F00 Rejet avant exécution, sans autre information

[email protected] [email protected]
2017 / 2018 19 2017 / 2018 20
S TATUS W ORD S TATUS W ORD

Codage de SW2 si SW1=’64’ Codage de SW2 si SW1=’65’ Codage de SW2 si SW1=’66’ Codage de SW2 si SW1=’68’
SW2 Signification SW2 Signification SW2 Signification SW2 Signification
’00’ Pas d’information ’00’ Pas d’information ‘00’ Pas d’information ’00’ Pas d’information
‘01’ La carte exige une réponse ‘81’ Erreur mémoire ‘81’ Canal logique non supporté
’02’..’80’ La carte exige d’émettre un message ’82’ Messagerie de sécurité non supportée
’83’ Dernière commande attendue
’84’ Chaînage de commandes non supporté

[email protected] [email protected]
2017 / 2018 21 2017 / 2018 22

S TATUS W ORD

Codage de SW2 si SW1=’69’ Codage de SW2 si SW1=’6A’


SW2 Signification SW2 Signification
’00’ Pas d’information ’00’ Pas d’information
’81’ Commande incompatible avec l’organisation du fichier ’80’ Paramètre incorrect dans les UD
‘82’ Etat de sécurité insuffisant ’81’ Fonction non supportée
’83’ Méthode de vérification bloquée ‘82’ Fichier non trouvé
’84’ Données de référence invalidées ’83’ Enregistrement non trouvé
’85’ Conditions d’utilisation non satisfaites ’84’ Mémoire insuffisante dans le fichier
’86’ Pas d’EF courant ’85’ Structure TLV contradictoire avec Le
’87’ SMO manquant ’86’ Paramètres P1 P2 incorrects

Extensions
’88’ SMO incorrect ’87’ Lc en contradiction avec P1 P2
’88’ Données de référence ou données référencées non trouvées
’89’ Le fichier existe déjà
’8A’ Le nom de DF existe déjà

Protocole applicatif

[email protected] [email protected]
2017 / 2018 23 2017 / 2018 24
E NCAPSULATION MULTI - PROTOCOLE

µ ISO/IEC 7816 ν Message débutant par ‘FF’


µ (conforme à l’ISO/IEC TR
9577)
ν SW1=’62’, SW2=’02’..’80’
µ La carte peut émettre SW2
octets ν C⇓L: GET DATA
µ avec P1 P2 = ’00 00’
ν SW1=’64’, SW2=’02’..’80’ µ Fragments de message dans
les UD-R
µ La carte exige d’envoyer SW2
octets
ν L⇓C: PUT DATA
ν SW1 SW2=‘6401’ µ Avec P1 P2 = ’00 00’
µ La carte exige une réponse à µ Fragments de message dans
son message précédent les UD-C

[email protected]
2017 / 2018 25
S OMMAIRE
4
µ Protocole T=0

Protocoles de Sommaire
transmission µ Protocole T=1
µ Détail des protocoles
2017 / 2018 de transmission définis
par l’ISO/IEC 7816-3

[email protected] [email protected]
2017 / 2018 2

P ROTOCOLES DE TRANSMISSION

µ Rappel de la « couche » concernée

Application

TPDU Transmission

Liaison Protocole T=0


Support Protocoles de transmission

[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
P ROTOCOLE T=0 T RANSFERT SÛR D ’ OCTETS

µ Protocole de transmission

ν « Half duplex transmission of asynchronous characters »

µ 12 etu minimum

µ I/O à Z après le 9ème bit pendant 2 etu minimum

ν Le récepteur peut surcharger à l’état A en cas d’erreur de parité


ν L’émetteur doit réémettre le caractère
[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6

F ORME GÉNÉRALE DES ÉCHANGES CONSÉQUENCES SUR LES APDU

µ Lc et Le sont transmis « dans le même octet » P3


APDU CLA INS P1 P2 Lc UDC Le
Lc
ν Lc est limité à 1 octet étendu
T=0 CLA INS P1 P2 P3 UDC µ Lc étendu est interdit

Le
ν Le est limité à 1 octet
étendu
µ Le étendu est interdit

APDU UDR SW1 SW2


ν Lc et Le ne peuvent pas être transmis simultanément Command
µ Le command case 4 ne peut pas être transmis Case 4
T=0 UDR SW1 SW2

µ P3 est obligatoire
Command
ν Le command case 1 ne peut pas être transmis Case 1

[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
E CHANGES DÉTAILLÉS T=0 E XEMPLES D ’ ÉCHANGES
T=0

µ ACK = INS & CC2


Lecteur τ CLA INS P1 P2 P3 UDC
Lecteur τ CLA INS P1 P2 P3
Carte τ ACK UDR SW1 SW2
t Carte τ INS UDR SW1 SW2
t
Phase d’initialisation Phase de données Phase de statut µ ACK = INS & CC3
Lecteur τ CLA INS P1 P2 P3 UDC

Carte τ INS SW1 SW2


t
Nom Valeur La carte… Octet suite
CC2: annonce la transmission de toutes les UD-R ACK, µ ACK = INS & CC3
INS
ACK CC3: demande la transmission de toutes les UD-C SW1,
NUL Lecteur τ CLA INS P1 P2 P3 UDC UDC UDC (fin)
XOR ( INS, ‘FF’ ) CC3: demande la transmission de l’octet d’UD-C suivant
NUL ’60’ Demande un délai d’attente supplémentaire * Carte τ INS INS INS SW1 SW2
‘6x’ > ’60’ Annonce la fin d’exécution ou le rejet t
’61’ Peut répondre à un GET RESPONSE avec P3 = SW2
SW1 SW2
‘6C’ Peut exécuter la même CC2 avec P3 = SW2
‘9x’ Annonce la fin d’exécution ou le rejet

[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10

E XEMPLES D ’ ÉCHANGES CONSÉQUENCES SUR LES APDU

µ ACK = ’60’ & CC2 µ Pour distinguer les 2 configurations


Lecteur τ CLA INS P1 P2 P3
ν SW1 de la forme ‘6x’ ou ‘9x’ sauf ‘60’
Carte τ 60 60 INS UDR SW1 SW2
t
ν INS ne doit pas commencer par ‘6’ ou ‘9’

µ ACK = SW1 µ Cette règle s’applique aux APDU quelque soit le protocole T !
Lecteur τ CLA INS P1 P2 P3
Lecteur τ CLA INS P1 P2 P3 UDC
Carte τ SW1 SW2
Carte τ ACK UDR SW1 SW2
t
t

Lecteur τ CLA INS P1 P2 P3

Carte τ SW1 SW2


t

[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
S OLUTIONS DE CONTOURNEMENT S OLUTIONS DE CONTOURNEMENT
COMMAND C ASE 4 L E ÉTENDU

µ Utilisation de 2 APDU Lecteur Carte µ Utilisation du SW = ’61 XX’ Lecteur Carte


consécutives CLA INS P1 P2 Lc UDC Le CLA INS P1 P2 Le>’FF’

CC4

CC2
UDR SW1 SW2 1. Limitation de Le à 1 octet sur UDR SW1 SW2
1. Exécution de l’opération l’APDU initiale

µ Command Case 3 (par CLA INS P1 P2 Lc UDC µ La puce envoie le début des CLA INS P1 P2 XX

CC2 CC3

CC2 CC2
suppression de Le) SW1 SW2 UDR et indique qu’il reste UDRxx 61 YY
00 C0 00 00 Le des octets disponibles 00 C0 00 00 YY
UDR 90 00 UDRyy 61 ZZ
2. Récupération des UDR
2. Le lecteur va chercher les
octets d’UDR restants
µ Command Case 2 « GET
REPONSE » avec P3=Le 00 C0 00 00 TT

CC2
µ Jusqu’à avoir tout récupérer UDRtt 90 00

[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14

S OLUTIONS DE CONTOURNEMENT S OLUTIONS DE CONTOURNEMENT


LC ÉTENDU I MPLÉMENTATION

µ Utilisation de la commande Lecteur Carte µ Eviter d’avoir une application µ Exemple pour les CC4
« ENVELOPE » avec chaînage CLA INS P1 P2 Lc>’FF’ UDC spécifique au protocole T
sur CLA
CC3

UDR SW1 SW2


ν Ou pire, de modifier une Application
ν L’APDU à exécuter est application en fonction de T CC4 UDR SW1 SW2
découpée en tranches ≤ ‘FF’ 10 ENV P1 P2 Lc1 UDC1 Adaptateur
CC3 CC3

ν Chaque tranche est 90 00


transportée dans les UDC 10 ENV P1 P2 Lc2 UDC2 µ Préférer l’isolation de CC3 9000 CC2 UDR SW1 SW2

d’une l’enveloppe 90 00 l’adaptation des APDU en


fonction de T Transmission

00 ENV P1 P2 Lcn UDCn ν Applicable côté terminal et


CC3

SW1 SW2 puce


ν Attention au « coût induit »
côté puce
[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
TOUR DE PAROLE L’ HISTOIRE DE T=0

µ Communication half duplex µ T=0

ν Carte et lecteur doivent savoir qui a le droit d’émettre ν Conçu comme protocole applicatif
ν Risque de collision entre CC2 et CC3 ν Ramené au niveau d’un protocole de ligne
ν Pas transparent (TPDU dépend de l’APDU)

µ Carte muette si collision détectée


µ Un meilleur protocole: T=1

ν Objectif: normaliser un protocole de ligne transparent

[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18

P ROTOCOLE T=1

µ Half duplex asynchronous transmission of blocks

µ Encapsulation des APDU

µ Détection des erreurs par checksum


Protocole T=1
Protocoles de transmission

[email protected] [email protected]
2017 / 2018 19 2017 / 2018 20
F ORME GÉNÉRALE DES ÉCHANGES B LOC T=1

NAD PCB LEN INF EDC


APDU CLA INS P1 P2 Lc UDC Le
Prologue Information Epilogue
T=1 NAD PCB LEN INFORMATION EDC
µ Champ Prologue
ν NAD (Node Address Byte, 1 octet)
ν PCB (Protocol Control Block, 1 octet) définit le type de bloc
ν LEN (length, 1 octet): longueur de INF
APDU UDR SW1 SW2

T=1 NAD PCB LEN INFORMATION EDC µ Champ Information


ν INF (LEN octets) contient les données à transmettre

µ Champ Epilogue
ν EDC (Error Detection Code, 1 ou 2 octets): LRC (⊗(bloc)=’00’) ou CRC
[email protected] [email protected]
21 2017 / 2018 22

PCB & TYPE DU BLOC B LOC I & APDU

b8 b7 b6 b5 b4 b3 b2 b1
0 x 0 0 0 0 0
Signification
Bloc I, x=N(S)
INF ?
µ Information Block (bloc I) µ Longueurs maximales de INF
0 M=0: seul ou dernier bloc oui ν N° du bloc I
1 M=1: pas le dernier bloc
ν Indicateur de chaînage ν IFS: maximum Information Field Size
32 par défaut
Fragment d’APDU dans INF
µ
ν

Lecteur ► Carte: IFSC (IFS for the Card)


b8 b7 b6 b5 b4 b3 b2 b1 Signification INF ?
1 0 0 y 0 0 Bloc R, y=N(R)
ν
0 1 E=1: erreur de transmission non ν Carte ► Lecteur: IFSD (IFS for the Device)
1 0 E=2: autre erreur µ Receive Ready Block (bloc R)
ν N° du bloc I prêt à recevoir
b8 b7 b6 b5 b4 b3 b2 b1 Signification INF ? ν INF absent µ Selon la longueur, l’APDU est
1 1 z Bloc S, z=0 requête, 1 réponse
0 0 0 0 0 RESYNC non
0 0 0 0 1 IFS oui ν Encapsulée dans un bloc
0
0
0
0
0
0
1
1
0
1
ABORT
WTX
non
oui
µ Supervisory Block (bloc S) ν À fragmenter dans une chaîne de blocs
ν PCI (Protocol Control ν Encapsulable dans un bloc, mais fragmentée dans une chaîne de
Information) dans INF blocs
[email protected] [email protected]
2017 / 2018 23 2017 / 2018 24
B LOC I & APDU E XEMPLES D ’ ÉCHANGES
C HAÎNAGE T=1
A p p l i c a t i o n D a t a

IFD Carte IFD Carte IFD Carte


00 20 05 A p p l i XX 00 60 06 c a t i o n XX 00 00 04 D a t a XX I ( 0, 0 ) I ( 0, 0 ) I ( 0, 1 )

CRP
I ( 0, 0 ) I ( 0, 1 ) R(1)

CRP
I ( 0, 1 ) I ( 1, 1 ) I ( 0, 0 )
R(1) I ( 1, 1 )
I ( 1, 0 )

CRP
I ( 1, 0 ) R(0)

CRP
I ( 1, 0 )
I ( 0, 0 )
I ( 1, 0 )
IFD IFC I ( 0, 0 )

CRP
00 20 05 Appli XX I ( 1, 0 )
I ( 0, 1 )

CRP
00 90 00 6F
R(1)
00 60 06 cation XX
I ( 1, 1 )
CRP

00 80 00 7F
R(0)
00 00 04 Data XX
I ( 0, 0 )
...

[email protected] [email protected]
2017 / 2018 25 2017 / 2018 26

E XEMPLES D ’ ÉCHANGES E XEMPLES D ’ ÉCHANGES


G ESTION DES ERREURS G ESTION DES ERREURS

IFD Carte IFD Carte IFD Carte IFD Carte


I ( 0, 0 ) I ( 0, 0 ) I ( 0, 0 ) I ( 0, 0 )
R(0) I ( 0, 0 ) I ( 0, 0 ) I ( 0, 0 )
CRP

CRP

I ( 0, 0 ) R(0) R(0) R(0)

CRP
I ( 0, 0 ) I ( 0, 0 ) R(1) R(1)

CRP
R(0) R(0)
I ( 1, 0 ) I ( 1, 0 )
I ( 0, 0 ) R(1)
CRP

CRP

R(0)
I ( 1, 0 )
I ( 0, 0 )
CRP

I ( 1, 0 )

CRP
[email protected] [email protected]
2017 / 2018 27 2017 / 2018 28
B LOC S

µ Négociation (IFS request)

ν IFSC
ν IFSD

µ Resynchronisation (RESYNCH request)

µ Abandon (ABORT request)

µ INF du bloc S de réponse répète celui de la requête

[email protected]
2017 / 2018 29
S OMMAIRE
5
µ Structure logique

Structure des cartes et Sommaire


des données µ Sécurité
µ Généralités sur la
2017 / 2018 structure des données
vue par l’ISO/IEC 7816- µ Structure TLV
4

[email protected] [email protected]
2017 / 2018 2

S TRUCTURE LOGIQUE

µ Arborescence
ν Fichiers dédiés DF (Dedicated
File)
µ ~ répertoire
ν Fichier maître MF (Master File)
µ ~ répertoire racine
Fichier élémentaire EF
Structure logique
ν
(Elementary File)
µ ~ fichier
Structure des cartes et des données

µ File Control Information (FCI)


ν Description du fichier

[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
R ÉFÉRENCEMENT T YPES DE FICHIERS

µ Chemin d’accès µ Fichier transparent


ν (1) Concaténation de DU
µ Identifiant sur 2 octets
ν FID, DFID, EFID
µ Fichier structuré
ν (2) Structure linéaire,
µ Identifiant court d’EF sur 5 bits enregistrements de taille fixe
ν SFI (Short File Identifier) ν (3) Structure linéaire,
ν Conversion SFI ⇓ EFID (11 bits poids fort à 0) enregistrements de taille
variable
ν (4) Structure cyclique,
µ Nom de DF enregistrements de taille fixe
ν Plusieurs noms possibles ν (5) Structure TLV
ν Cas d’un ADF (Application DF)
µ Son nom est souvent l’AID de l’application qu’il supporte

[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6

RÔLE ET DÉFINITION

µ Sécurité des données


ν Security Status
ν Security Attributes

µ Sécurité des transmissions


Secure Messaging
Sécurité
ν

Structure des cartes et des données µ Sécurité offerte par la carte

µ Notion d’environnement de sécurité (SE)


ν Ensemble des moyens permettant la sécurité
[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
S ECURITY S TATUS / ATTRIBUTES S ÉCURITÉ

µ Etat de sécurité µ Chiffrement du message


ν Est mis à jour par présentation de
µ Mot de passe
µ Données biométriques µ Authentification
µ Clé ν Défi (challenge)
ν Comprend µ L’entité à authentifier chiffre un aléa fournir par l’entité authentifiante
µ L’état de sécurité global ν Condensé (hash)
µ L’état de sécurité spécifique (lié à un DF) µ Condensé ajouté au message pour le signer

µ Attributs de sécurité µ Chiffre symétrique


ν Définit les opérations devant réussir pour agir ν Somme de contrôle (Cryptographic Checksum)
ν Dans la FCI d’un EF ou DF
µ Chiffre asymétrique
ν Signature numérique (Digital Signature)
[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10

S TRUCTURES TLV

µ Encapsulation d’éléments de données

ν T tag
ν L length
ν V value

Structures TLV
Structure des cartes et des données

[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
S TRUCTURES TLV BER-TLV

µ TLV simple µ Codage du tag

ν ’01’ < T < ‘FE’ ν Codage sur 1 ou plusieurs octets


ν ’00’ < L < ‘FE’ ou ‘FF0000’ < L < ‘FFFFFE’
ν Sur 1 octet
µ les 5 bits pf donnent le numéro de tag
µ BER TLV µ Numéro <= ‘11110’ =‘1E’

ν Basic Encoding Rules (ISO 8825) ν Sur plusieurs octets


ν Les BER définissent un codage TLV: Data Object µ les 5 bits pf sont à ‘11111’
µ Le bit PF des octets suivants
ν Vaut ‘1’ si d’autres octets à suivre
ν Vaut ‘0’ sur le dernier

[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14

BER-TLV BER-TLV

µ Codage du tag (suite) µ Codage de la longueur


ν Codage sur 1 ou plusieurs octets
ν Type de DO
ν Sur 1 octet
µ Bit b6 µ L < ’80’
ν ‘0’ DO primitif étiqueté par un tag primitif
‘1’ DO construit étiqueté par un tag construit
ν
ν Sur plusieurs octets
µ 1er octet > ’80’
µ Annonce ‘XY’ – ’80’ octets codant la longueur

ν Cas particulier
µ 1er octet = ’80’: non employé par ISO 7816

[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
BER-TLV TLV COMPACT

µ Délimitation µ Exemple
ν Fin du DO ν BER-TLV ‘4x’ ‘0y’ V
µ Donnée par la longueur L ν TLV compact ‘xy’ V

ν Début du DO
µ Donnée par TL (entête) du DO construit µ ISO 7816
µ Donnée par la fin du DO précédent (DO construit) ν Uniquement dans les octets d’historique

ν Bourrage entre DO
µ Par ’00’

[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18
S OMMAIRE
6
µ Canaux logiques

Commandes Sommaire µ Sélection de fichiers


intersectorielles générales
µ Extrait des commandes
2017 / 2018 permises par l’ISO/IEC
7816-4 µ Gestion d’unités de données

µ Gestion d’enregistrements

µ Gestion de transmission

µ Gestion des applications


[email protected] [email protected]
2017 / 2018 2

C ANAUX LOGIQUES

µ Objectifs

ν Plusieurs applications cartes actives


ν Plusieurs fichiers sélectionnés

Sécurité
Canaux logiques µ

ν Chaque canal dispose de son contexte de sécurité indépendant


Commandes intersectorielles générales

[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
S ÉLECTION DE FICHIERS

µ Sélection courante

ν Fichier courant
ν DF courant
ν Application carte courante

Sélection de fichiers µ Après RAZ


Commandes intersectorielles générales
ν DF courant = MF

[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6

COMMANDES SELECT

µ Sélectionne un DF ou EF
µ SELECT µ GET RESPONSE
µ P1
ν INS = ‘A4’ ν INS = ’C0’ ν Type de fichier
ν CC1 / CC3 / CC4 ν CC2
ν Type de chemin d’accès (absolu ou relatif)
µ P2

µ Réponse
ν FCI: Format normalisé ou propriétaire

[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
GET RESPONSE FCI

µ Demande la réponse suite à une CC1 ou CC3 µ Format normalisé


ν En particulier si SW1=’61’
ν Concaténation de DO BER-TLV
µ FCP (File Control Parameter) - contextuel
µ P1 P2 = ’0000’ µ FMD (File Management Data) - applicatif
µ Le: longueur des UD-R attendues
ν La FCI peut être encapsulée dans un DO construit

µ Format propriétaire

ν Commence par ’00’ ou > ‘BF’


ν Peut être encapsulée dans un DO normalisé (’85’ / ‘A5’)

[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10

E XEMPLE : CARTE EMV E XEMPLE : CARTE EMV

µ SELECT application VSDC µ C-APDU SELECT


ν ⇓ 00 A4 04 00 07 A0 00 00 00 03 10 10 ν CLA: ’00’
ν ⇒ 61 3C ν INS: ‘A4’ (SELECT)
ν P1: Sélection par chemin absolu (EMV: par AID)
ν P2: ’00’
µ GET RESPONSE ν UD-C: 7 octets ‘A0 00 00 00 03 10 10’
ν ⇓ 00 C0 00 00 3C
ν ⇒ 6F 3A 84 07 A0 00 00 00 03 10 10 A5 2F 50 04 56 49 53 41 87 01 01
5F 2D 08 65 73 65 6E 66 72 64 65 9F 11 01 01 9F 12 11 56 49 53 41 20 µ R-APDU:
43 50 53 20 45 4E 53 49 43 41 45 4E BF 0C 00 90 00 ν Exécution normale, ‘3C’ octets de réponse disponibles

[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
E XEMPLE : CARTE EMV

µ R-APDU du GET RESPONSE


ν T:6F L:58 ν Tag applicatif, DO construit
µ T:84 L:7 V: A0 00 00 00 03 10 µ Nom de DF
10 µ Informations propriétaires
µ T:A5 L:2F ν cf. EMV
ν T:50 L:04 V:56 49 53 41 ν cf. EMV
ν T:87 L:01 V:01 cf. EMV
Gestion d’unités de données
ν

ν T:5F2D L:08 V:65 73 65 6E


66 72 64 65
T:9F11 L:01 L:01 cf. EMV
Commandes intersectorielles générales
ν ν

ν T:9F12 L:11 V:56 49 53 41 ν cf. EMV


20 43 50 53 20 45 4E 53 49
43 41 45 4E
ν T:BF0C L:00 V: ν cf. EMV
ν 90 00 ν SW1 SW2

[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14

INS PAIRS ET IMPAIRS L ES COMMANDES

µ Sous INS pair µ READ BINARY ‘B0’ CC2


µ READ BINARY ‘B1’ CC4
ν Sur l’EF courant (P1.b8=0)
µ Offset de la première DU visée sur 15 bits µ WRITE BINARY ‘D0’ / ‘D1’ CC3
ν Sélection par le SFI (P1.b8=1) µ UPDATE BINARY ‘D6’ / ‘D7’ CC3
µ Offset de la première DU visée sur 8 bits
µ ERASE BINARY ‘0E’ CC1 / CC3
µ ERASE BINARY ‘0F’ CC3
µ Sous INS impair
µ SEARCH BINARY ‘A0’ CC2 / CC4
ν Sur l’EF courant ou sélection par SFI ou EFID µ SEARCH BINARY ‘A1’ CC3 / CC4
ν Les données dans les UD-C / UD-R sont encapsulées dans des DO
ν Offset de la première DU visée dans le DO ’54’
ν Données à lire, écrire, chercher dans le DO ’53’ ou ’73’ µ Sur des EF transparents uniquement (sauf ERASE BINARY)
[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
INS PAIRS INS IMPAIRS

µ READ BINARY µ ERASE BINARY µ READ BINARY µ ERASE BINARY


ν Données lues transmises dans ν UD-C sur 2 octets = offset ν Données lues transmises dans ν Si pas d’offset: effacement du
UD-R V d’un DO ’53’ ou ’73’ fichier
ν Si pas d’offset: effacement du
fichier ν Si offset: effacement à partir
de l’offset
ν Offset: effacement à partir de µ WRITE BINARY ν Si 2 offset: effacement à partir
µ WRITE BINARY l’offset
ν Seul V du DO ’53’ ou ’73’ est du premier jusqu’au 2nd (2nd
ν Données à écrire dans UD-C écrite non compris)
ν Mode d’écriture dépendant de ν Mode d’écriture dépendant de
l’octet de codage (FCI) µ SEARCH BINARY l’octet de codage (FCI)
µ SEARCH BINARY
ν Chaîne de recherche dans les ν Chaîne de recherche dans DO
UD-C, pas plus longue que la ’53’
µ UPDATE BINARY DU µ UPDATE BINARY ν CC4: renvoie l’offset de la 1ère
ν Données à écrire dans UD-C ν CC4: UD-R (2 octets) = offset ν Seul V du DO ’53’ ou ’73’ est DU correspondant, ou 1ère
de la 1ère DU correspondant, écrite DU vierge
ν Remplace l’état existant Remplace l’état existant
ou 1ère DU vierge ν

[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18

E XEMPLES

µ Lecture de 4 octets à partir du 9ème octet d’un EF de SFI=00001

µ READ BINARY avec INS pair (CC2)


ν 00 B0 90 08 04

µ READ BINARY avec INS impair (CC4) Gestion d’enregistrements


ν 00 B1 00 10 03 54 01 08 06
ν Le=’06’: 4 octets attendus + 2 octets T L du DO de réponse Commandes intersectorielles générales

[email protected] [email protected]
2017 / 2018 19 2017 / 2018 20
L ES COMMANDES L ES COMMANDES

µ READ RECORD ‘B2’ / ‘B3’ CC2 / CC3 µ Enregistrements référencés par P1 (’01’..’FE’)
ν P1=’00’ = enregistrement pointé
µ WRITE RECORD ‘D2’ CC3
µ 1er à lire ou écrire
µ UPDATE RECORD ‘DC’ / ‘DD’ CC3 ν P1=‘FF’ RUF
µ APPEND RECORD ‘E2’ CC3
µ ERASE RECORD ‘0C’ CC3 µ EF visé dans P2
µ SEARCH RECORD ‘A2’ CC3 / CC4 ν SFI dans les 5 bits PF
ν Déplacement possible par précédent/suivant (b3=0)

µ Remarque:
ν Pas d’EFID dans P1P2 possible
µ Sur des EF structurés uniquement
[email protected] [email protected]
2017 / 2018 21 2017 / 2018 22

INS PAIRS ET IMPAIRS INS PAIRS

µ Sous INS pair µ READ RECORD µ ERASE RECORD


ν … ν Données lues transmises dans ν Selon b3b2b1 de P2: remise à
UD-R l’état vierge
µ De l’enregistrement P1
µ Des enregistrements P1 et
µ Sous INS impair suivants
ν Les données dans les UD-C / UD-R sont encapsulées dans des DO µ WRITE RECORD
ν Offset de la première DU visée dans le DO ’54’ ν Données à écrire dans UD-C
ν Données à lire, écrire, chercher dans le DO ’53’ ou ’73’ ν Mode d’écriture dépendant de µ SEARCH RECORD
l’octet de codage (FCI) ν Chaîne de recherche dans les
UD-C, pas plus longue que la
longueur de l’enregistrement
recherché
µ UPDATE RECORD ν CC4: UD-R (2 octets) = offset
ν Données à écrire dans UD-C de la 1ère DU correspondant,
ou 1ère DU vierge
ν Remplace l’état existant

[email protected] [email protected]
2017 / 2018 23 2017 / 2018 24
INS IMPAIRS E XEMPLE : CARTE EMV

µ READ RECORD µ READ RECORD


ν Données lues transmises dans ν ⇓ 00 B2 01 0C 40
UD-R ν ⇒ 70 3E 57 11 47 61 73 90 01 01 00 10 D1 01 22 01 01 23 45 67 89 5F
20 0F 46 55 4C 4C 20 46 55 4E 43 54 49 4F 4E 41 4C 9F 1F 16 30 31 30
32 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30 41 30 42 90 00
µ UPDATE RECORD
ν Données à écrire dans UD-C
ν Remplace l’état existant

[email protected] [email protected]
2017 / 2018 25 2017 / 2018 26

µ R-APDU du READ RECORD


ν T:70 L:3E
µ T:57 L:11 V:47 61 73 90 01 01 00 10 D1 01 22 01 01 23 45 67 89
µ T:5F20 L:0F V:46 55 4C 4C 20 46 55 4E 43 54 49 4F 4E 41 4C
µ T:9F1F L:16 V:30 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30
41 30 42
ν 90 00
Gestion de transmission
Commandes intersectorielles générales

[email protected] [email protected]
2017 / 2018 27 2017 / 2018 28
L ES COMMANDES

µ ENVELOPE ‘C2’ / ‘C3’ CC3


ν Envoyer une C-APDU trop longue en plusieurs fragments
ν Sous INS impair: transmet dans les UD-C un DO ou fragment de DO

µ GET RESPONSE ‘C0’ CC2


Recevoir une R-APDU trop longue (format étendu)
Gestion des applications
ν
ν Recevoir une R-APDU sous T=0 pour émuler une CC4
Commandes intersectorielles générales

[email protected] [email protected]
2017 / 2018 29 2017 / 2018 30

L ES COMMANDES

µ CREATE FILE ‘E0’ / ‘E1’ CC1 / CC3


µ DELETE FILE ‘E4’ CC1 / CC3
µ ACTIVATE FILE ’44’ CC1 / CC3
µ DEACTIVATE ’04’ CC1 / CC3
µ TERMINATE DF ‘E6’ CC1 / CC3
µ TERMINATE EF ‘E8’ CC1 / CC3
µ TERMINATE CARD USAGE ‘EF’ CC1 / CC3

µ Gèrent le cycle de vie


[email protected]
2017 / 2018 31

Vous aimerez peut-être aussi