0-6.cartes À Puce 2017FR
0-6.cartes À Puce 2017FR
0-6.cartes À Puce 2017FR
0
µ Un peu d’histoire…
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)
µ 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
[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
D ÉFINITIONS 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
ν 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
[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14
[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
[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18
ν 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
µ 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 »
[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
[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”
ν Exemples ν Exemples
µ Carte SIM standard µ Cartes d’identité (France, Allemagne…)
[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6
[email protected] [email protected]
2017 / 2018 7 2017 / 2018 8
C ARTES ID-1 E STAMPAGE & EMBOSSAGE
ν Farrington-7B µ Track 3
µ ISO 7811-1 ν 8,27 bits/mm (210 bpi)
[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
ν 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é
[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
D ÉFINITIONS CONTACTS
ISO/IEC 7816-1 & -3 D IMENSIONS ET POSITIONS
µ Contact
[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18
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
N IVEAUX ÉLECTRIQUES
ν 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)
ν Classe C
µ Ucc nominal=1,8V
µ Imax=30mA
[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6
ν 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)
[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10
ν 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
[email protected] [email protected]
2017 / 2018 15 2017 / 2018 16
T RANSMISSION D ’ UN BIT ÉLECTRIQUE
ν 1 = secondes
µ : fréquence sur CLK
[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18
µ En l’absence de transmission
[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 »
Octet Octet
Caractère Caractère
Signaux
[email protected] [email protected]
2017 / 2018 21 2017 / 2018 22
[email protected] [email protected]
2017 / 2018 23 2017 / 2018 24
C YCLE D ’ UTILISATION DE LA CARTE C YCLE D ’ UTILISATION DE LA CARTE
[email protected] [email protected]
2017 / 2018 25 2017 / 2018 26
µ 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
µ Un octet « TCK »
Octets Octets
T0 TCK
Interface Historique
[email protected] [email protected]
2017 / 2018 29 2017 / 2018 30
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
[email protected] [email protected]
2017 / 2018 31 2017 / 2018 32
O CTETS O CTETS
ν 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=… »
[email protected] [email protected]
2017 / 2018 33 2017 / 2018 34
µ 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
[email protected] [email protected]
2017 / 2018 37 2017 / 2018 38
[email protected] [email protected]
2017 / 2018 39 2017 / 2018 40
O CTET DU MODE SPÉCIFIQUE O CTET
O CTET
[email protected] [email protected]
2017 / 2018 41 2017 / 2018 43
ν ’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)
ν 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′
[email protected] [email protected]
2017 / 2018 46 2017 / 2018 47
µ 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
ν
µ 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
µ 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
[email protected] [email protected]
2017 / 2018 54 2017 / 2018 55
ν 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)
[email protected] [email protected]
2017 / 2018 56 2017 / 2018 57
C ARTES S YNCHRONES T YPES DE CARTES SYNCHRONES
[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 Cases
int f ( int ) Command Case 4
Protocole applicatif
ν 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
[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6
CODAGE DE CODAGE DE
µ ‘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
[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
C HAÎNAGE DE COMMANDES O CTET INS
O CTET CLA
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)
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
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
µ ’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
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
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
[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
Application
TPDU Transmission
[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
P ROTOCOLE T=0 T RANSFERT SÛR D ’ OCTETS
µ Protocole de transmission
µ 12 etu minimum
Le
ν Le est limité à 1 octet
étendu
µ Le étendu est interdit
µ 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
[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10
µ 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
[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
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
µ 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
ν 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)
[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18
P ROTOCOLE T=1
[email protected] [email protected]
2017 / 2018 19 2017 / 2018 20
F ORME GÉNÉRALE DES ÉCHANGES B LOC T=1
µ Champ Epilogue
ν EDC (Error Detection Code, 1 ou 2 octets): LRC (⊗(bloc)=’00’) ou CRC
[email protected] [email protected]
21 2017 / 2018 22
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
µ
ν
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
CRP
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
ν IFSC
ν IFSD
[email protected]
2017 / 2018 29
S OMMAIRE
5
µ Structure logique
[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
[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
R ÉFÉRENCEMENT T YPES DE FICHIERS
[email protected] [email protected]
2017 / 2018 5 2017 / 2018 6
RÔLE ET DÉFINITION
S TRUCTURES TLV
ν 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
[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14
BER-TLV BER-TLV
ν 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
µ Gestion d’enregistrements
µ Gestion de transmission
C ANAUX LOGIQUES
µ Objectifs
Sécurité
Canaux logiques µ
[email protected] [email protected]
2017 / 2018 3 2017 / 2018 4
S ÉLECTION DE FICHIERS
µ Sélection courante
ν Fichier courant
ν DF courant
ν Application carte courante
[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
µ Format propriétaire
[email protected] [email protected]
2017 / 2018 9 2017 / 2018 10
[email protected] [email protected]
2017 / 2018 11 2017 / 2018 12
E XEMPLE : CARTE EMV
[email protected] [email protected]
2017 / 2018 13 2017 / 2018 14
[email protected] [email protected]
2017 / 2018 17 2017 / 2018 18
E XEMPLES
[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
[email protected] [email protected]
2017 / 2018 23 2017 / 2018 24
INS IMPAIRS E XEMPLE : CARTE EMV
[email protected] [email protected]
2017 / 2018 25 2017 / 2018 26
[email protected] [email protected]
2017 / 2018 27 2017 / 2018 28
L ES COMMANDES
[email protected] [email protected]
2017 / 2018 29 2017 / 2018 30
L ES COMMANDES