Vous êtes sur la page 1sur 24

Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Introduction aux cartes, exemples de systèmes embarqués

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Objectifs

 Sensibiliser aux problèmes de sécurité existant dans les


systèmes embarqués complexes
 Découvrir les outils qui permettent d’explorer les
fonctionnalités des cartes à puce (travaux pratiques)
 Expérimenter la participation au développement d’un projet
matériel et/ou logiciel.
 Modalités d’évaluation : Implémentation logicielle,
conception matérielle, mise en œuvre d’attaques

J. Leroux Les Jardins (leroux@enst.fr)

Page 1
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Moyens

 40 TH (60 heures)
 Salle A405, A406
 Enseignants :
 G.
Duc, S. Guilley, P. Urien, J. Leroux Les Jardins, P
Hoogvorst, H Chabanne, S Elrharbi
 Conférenciers :
C Meegle Gie CB, A Sigaud Gemalto, P Chour DCSSI

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

INF359 : Organisation
 De la théorie : 25 TH
 De la découverte pratique : 2 TD
 De l’approfondissement : 15 TH de projets
 Eventuellement la possibilité de travailler hors des tranches
programmées
 Des projets adaptés au niveau des participants
 Une dernière séance consacrée à l’évaluation : Un rapport
et des sources commentés dans l’optique de pouvoir
réutiliser le travail réalisé.

J. Leroux Les Jardins (leroux@enst.fr)

Page 2
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Sommaire cartes
 Le marché et les applications courantes des cartes à puce
 Etat de l’art
 Historique
 Terminologie, normalisation, standardisation
 Micro-contrôleurs pour carte
 Cycle de vie, personnalisation, émission
 Développement et architecture d’applications carte
 Raisons du succès
 Facteurs de changement

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Un marché diversifié
 Un objet portable sécurisé, peu coûteux, simple au départ, dont la
viabilité a été prouvée
 Un lecteur (Card Acceptance Device) délivre l’alimentation, une horloge
et un lien d’échange de données.
 Les domaines d’applications sont très diversifiés
 Les acteurs concernés sont nombreux : fabricants de circuits
(fondeurs), encarteurs (intégration de la puce silicium dans la carte
plastique), émetteurs de cartes, constructeurs de terminaux,
concepteurs de systèmes d’exploitation, développeurs de logiciel
 Ventes mondiales en Millions d’unités selon Eurosmart. Cartes à puce
livrées en 2008.
 900 Mu de cartes à mémoire
 4145 Mu de cartes à microprocesseur

J. Leroux Les Jardins (leroux@enst.fr)

Page 3
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Le marché mondial des cartes en Mu


SECTEURS
Mémoire Micro
processeur
Télécoms
380 3200
Services Financiers,
Commerce, fidélité 30 610
Gouvernement, santé
250 140
Transport
160 30
TV à Péage
- 100
Sécurité
80 65
TOTAL
900 4145

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Marché des cartes sans contact en Mu


SECTEURS
Mémoire Micro
processeur

Services Financiers,
Commerce, fidélité 80
Gouvernement, santé
200 60
Transport
160 30
Autres
50 30

TOTAL
410 200

J. Leroux Les Jardins (leroux@enst.fr)

Page 4
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Des prévisions exagérées


Prévision du marché de la Carte à Puce
Marché (Mu) 1997 2003 Crois.CA

Télécartes 684 3270 30%


GSM 69 760 49%
Banque 49 690 55%
Fidélité 22 320 56%
2003
Santé 16 210 54%
TV à péage 12 150 52%
Transport 8 240 77%
Jeux 2 70 78%
Contrôle d’accès 10 260 72%
1997 Identité 2 50 71%
Tech.de l’information 1 120 142%
Autres 24 170 38%

TOTAL 900 6310 38%

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Les applications courantes de la carte

10

J. Leroux Les Jardins (leroux@enst.fr)

Page 5
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Utilisation courante des cap

 Moyen d’identification personnelle


 Cartes d’identité, badge d’accès, cartes assurance
maladie, cartes SIM
 Cartes de paiement
 Cartes bancaires, porte monnaie électronique
 Preuves d’abonnement à des services prépayés
 Cartes de téléphone, titres de transport

11

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

HISTORIQUE (1/2)
 1974 : Dépôts de brevets par Roland Moreno
 1978 : Michel Hugon invente le MAM* (en anglais SPOM*)
 1980 : Création du GIE carte à mémoire
 1981 : Début de la normalisation AFNOR
 1982-1984 : Expérimentation du paiement par cartes
 1983 : Lancement de la télécarte par la DGT. Début de la
normalisation internationale ISO.
 1988 : Création de Gemplus
 1990 : Télécarte entre dans le dictionnaire

*Microcalculateur autoprogrammable monolithique


*Self Programmable On-chip Microcomputer)

12

J. Leroux Les Jardins (leroux@enst.fr)

Page 6
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

HISTORIQUE (2/2)
 1992 - 1998 : Essor des applications avec des cartes à puce
 Généralisation des cartes bancaires
 La téléphonie mobile GSM utilise une carte SIM
 Premières expériences de cartes santé (Allemagne, France)
 Premiers Porte-monnaie électroniques (Proton, La Poste)
 1999 - 2001 : Développement de la technologie carte
 Augmentation des capacités matérielles
 Systèmes d’exploitation de plus en plus ouverts
 Système Java Card
 Cartes évolutives
 2005 : Annonce de la fusion Gemplus Axalto : Gemalto
 2006 : La carte devient un élément du « réseau »

13

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Les Acteurs

 Gemalto (Gemplus + Axalto) depuis Décembre 2005


 1,6 Geuros de CA, 11000 employés. Plus de 50%
du marché des cartes SIM. Marché des Services
financiers, lecteurs
 Oberthur Card systems
 Giesecke & Devrient
 Sagem Orga

14

J. Leroux Les Jardins (leroux@enst.fr)

Page 7
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

La carte à puce ?
 Caractéristiques de base
 Taille : format ID (85 mm X 54 mm X 0,76)
 Dotée d’un numéro de série permanent et unique
 Mémoire de données sécurisée
 Mémoire et microprocesseur sur un seul circuit
 Caractéristiques optionnelles
 Protection par mot de passe stocké dans la carte
 Fonctionnalités cryptographiques
 Programmabilité

15

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Quelle information dans la carte ?


 Tout ce qui est relatif au fonctionnement de
l’application
 Identification du porteur
 Droits du porteur
 Tout ce qui est relatif à la sécurité de la carte et de
l’application
 Numéro de série (CSN)
 Codes

 Clés cryptographiques

16

J. Leroux Les Jardins (leroux@enst.fr)

Page 8
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

La carte classique
Micromodule
ISO7816

Jane TOP 123456789

17

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Normalisation
 ISO 7816
 Partie 1 : Caractéristiques physiques
Format carte de crédit (85 * 54 * 0.76 mm)
Définition des contraintes que la carte peut supporter
 Partie 2 : Dimensions et positions des contacts

3 v ou 5 v VCC VSS

Signal de RAZ (VPP)


RST
Alternat
3,57 Mhz CLK I/O

RFU RFU
RFU Bus USB D- (1,5 à 12 Mbits)
Bus USB D+

 Partie 3 : Caractéristiques électriques


18

J. Leroux Les Jardins (leroux@enst.fr)

Page 9
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Standardisation
 ISO 7816
 7816 - 1 : Caractéristiques physiques (exposition UV, X, torsion)
 7816 - 2 : Dimensions et positions des contacts électriques
 7816 - 3 : Protocole de communication et signaux électriques
 7816 - 4 : Commandes et systèmes de fichiers
 7816 - 5 : Identification des applications
 ….. – 12 : Principe de fonctionnement d’une carte USB
 Cartes bancaires
 Masque B0 ’ : carte bancaire française
 Nouveau standard EMV (Europay, Mastercard, Visa) : commandes de
paiement
 GSM
 Europ Telecom Standard Institute : GSM 11.11 et 11.14 pour SIM
(Subscriber Identity Module), SIM Toolkit, WIM

19

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Sous le micromodule, le circuit intégré

Différents types de micromodule :

La puce électronique : surface maximum 30 mm2.

20

J. Leroux Les Jardins (leroux@enst.fr)

Page 10
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Au commencement, les cartes à mémoire :

Puis, les cartes à microprocesseur :

21

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Cartes et lecteurs à contacts

22

J. Leroux Les Jardins (leroux@enst.fr)

Page 11
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Cartes et lecteurs sans contact

Alimentation et tranfert des données par


l’intermédiaire d’une porteuse à 13,56 Mhz
Modulation ASK par
variation de charge
Lecteur
sans contact

Modulation ASK

La carte doit être à moins de 10 cm du lecteur

23

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Cartes Combi

Module à contacts Module sans contact


ISO7816 ISO14443

Antenne

24

J. Leroux Les Jardins (leroux@enst.fr)

Page 12
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

L’émergence des systèmes ouverts

25

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Avantages

 Interoperabilité
 Sécurité du langage
 Multi-applicativité
 Dynamique
 Ouverture et compatibilité

26

J. Leroux Les Jardins (leroux@enst.fr)

Page 13
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Autres cartes du futur proche

Afficheur et pile intégrés Capteur biomètrique


(empreinte digitale)

27

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Evolution matérielle

 Afficheur, clavier
 Protection contre les terminaux trafiqués
 Horloge
 Eviter les attaques temporelles
 Batterie
 Leprocesseur peut être réveillé pour rappeler des
évènements aux porteurs

28

J. Leroux Les Jardins (leroux@enst.fr)

Page 14
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

La communication avec l’extérieur


 Mode synchrone avec les cartes à mémoire
Vcc
Alimentation du contact : 0 ----> 5 volts

Reset Impulsion de Reset

ST ou CLK Signal d'horloge

contact Out Sortie des bits


bit 0 bit 1 bit 2 d'information

 Mode asynchrone avec les cartes à microprocesseur


 La convention directe (TS = 3F)
bit de 8 bits de données bit de bit de
Start Test
parité stop

b1 b2 b3 b4 b5 b6 b7 b8 Pa

1 2 3 8 9 10 11 12

 La convention inverse (TS = 3B)


bit de
8 bits de données bit de bit de
Test
Start parité stop

b8 b7 b6 b5 b4 b3 b2 b1 Pa

1 2 3 8 9 10 11 12

29

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Normalisation de la communication
 ISO 7816 - 3 pour protocoles lecteur-carte
 Transmission d’un caractère
1 bit de démarrage, 8 bits de données, 1 bit de parité
Définition d’un temps de garde entre 2 caractères

start
start D1
D7 D2
D6 D3
D5 D4 Di
D3 D2 D8 P stop
D1 D0 stop start
start

Bit transmis le premier Données utiles Temps de garde


 Réponse de la carte à la Remise à Zéro (ATR, Answer to Reset) :
Séquence d’octets décrivant les caractéristiques de la carte
 Protocoles de communication (asynchrones et semi-duplex)
 Mode Maître-esclave : La carte répond à des commandes
 T=0 : Transmission de caractères (le plus utilisé)
 T=1 : Transmission de blocs de caractères

30

J. Leroux Les Jardins (leroux@enst.fr)

Page 15
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Normalisation du format des commandes


 ISO 7816-4
 Définition du format des paquets de données échangés entre un
lecteur et une carte :
APDUs (Application Programming Data Units) de commande et
de réponse

CLA INS P1 P2 Lc Data In Le


1octet Lc octets

Data Out SW1 SW2


Lr octets

 Mots d’état de réponse SW1 et SW2 standardisés (OK = 90 00 en


hexadécimal)

31

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Le dialogue carte-lecteur
 La réponse au reset (ATR)
Signal RESET actif

COUPLEUR Emission par la carte d'au plus 11 octets Contact C2


Reset
(LECTEUR) Remise à zéro
TS TO TA TB TC TD T1 .... T9 ME1 ME2

 Les commandes entrantes


CLA INS P1 P2 P3

PB
COUPLEUR P3 octets de données
Contact C7
(LECTEUR) Entrée-Sortie
ME1 ME2 bidirectionnelle

 Les commandes sortantes


CLA IN P1 P2 P3

PB
COUPLEUR
P3 octets de données Contact C7
(LECTEUR) Entrée-Sortie
ME1 ME2 bidirectionnelle

32

J. Leroux Les Jardins (leroux@enst.fr)

Page 16
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Microcontrôleur pour carte (1/2)

 Contraintes physiques ISO 7816-1


 Surface maximum 25 mm2
 Epaisseur égale à 0,3 mm
 Fondé sur la technologie MAM
 Microprocesseur + bus + mémoires réunis sur un même
substrat de silicium
 Eléments de sécurité
 Composant inaccessible
 Détecteurs de conditions anormales

33

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Microcontrôleur pour carte (2/2)


 Types de microprocesseurs
 8 bits (CISC) - 32 (RISC) bits
 STM, Philips, Siemens, Motorola, Infineon, Atmel, Nec

 Types de mémoires
 ROM (Read Only Memory) : Mémoire non volatile à lecture
seule (---> 128 Ko)
 RAM (Random Access Memory : Mémoire volatile à accès
rapide (---> 2 Ko)
 EEPROM (Electrical Erasable Programmable ROM) :
Mémoire non volatile réinscriptible (---> 64 Ko)

34

J. Leroux Les Jardins (leroux@enst.fr)

Page 17
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Une carte type


 Microprocesseur (CPU) 8 bits @ 4 MHZ
EEPROM
 ROM lecture seule : 8 - 32 kilo-octets
ROM

 RAM lecture-écriture : 256-1024 kilo-octets


CPU RAM
 EEPROM réinscriptible : 2-32 kilo-octets

 Interface de communication half-duplex @ 9600 bits/s

 Programmation au niveau processeur en assembleur. Code


logé en ROM.

 Communication par APDU

35

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

La tendance

 Processeurs 32 bits
 Co-processeurs RSA et DES, AES, Elliptiques
 Mémoires EEPROM 64K, 128K
 Mémoires ROM 32K, 48K, 64K
 Mémoires RAM 2K, 4K
 Interfaces USB
 Technologies 0,35µ 0,25µ 0,18µ

36

J. Leroux Les Jardins (leroux@enst.fr)

Page 18
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009


La puce : Le circuit intégré

Vcc GND

Reset N.C

E/S
Horloge

37

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Cycle de vie d’une carte (1/3)


 Fabrication du circuit intégré
 Inscription d’un programme en mémoire ROM définissant les
fonctionnalités de base de la carte :
Masque figé capable de traiter un nombre limité de
commandes prédéfinies
 Fabrication de la carte
 Initialisation de la mémoire
Inscription du numéro de série de la carte (CSN)
Inscription en EEPROM des données communes à
l’application
 Personnalisation de la carte
Inscription en EEPROM des données relatives à chaque
porteur

38

J. Leroux Les Jardins (leroux@enst.fr)

Page 19
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Initialisation, Personnalisation, Emission (2/3)

 Initialisation  Personnalisation Photo

Logo
Jane TOP
Individual
information

EMBOSSAGE 123456

Numéro unique
Architecture commune imprimé et
du circuit intégré (puce) Information enregistré
Individuelle dans la puce

39

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Cycle de vie d’une carte (3/3)

 Utilisation
 Envoi d’APDUs de commande à la carte
 Traitement de ces commandes par le masque de la carte
 Si commande reconnue
– Traitement en interne de la commande lecture/écriture de
données en EEPROM
– Renvoi d’un APDU de réponse
 Si commande inconnue
– Renvoi d’un code d’erreur

 Fin
 Par invalidation logique, saturation de la mémoire, bris, perte, vol, etc

40

J. Leroux Les Jardins (leroux@enst.fr)

Page 20
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Développement d’applications carte


 La carte
 Accessible via un jeu de commandes figé gravé lors de la
fabrication du composant
 Maintient des données pouvant évoluer

 Le lecteur et la communication avec la carte


 Nécessite un lecteur de cartes (et donc un driver pour le piloter)
 Messages échangés définis par des APDUs de commande

 Le terminal et l’application cliente


 Communique avec la carte via le driver du lecteur
 Envoie des requêtes APDUs conformes au jeu de commandes de la
carte

41

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Architecture d’application carte


 Schéma général
Terminal  Le terminal contrôle, la carte est passive
 Dialogue terminal-carte de type requête/réponse
Application client
 Format de messages standard : APDUs

APDU de APDU de
Commande Réponse Carte
Traitement
des APDUs

Pilote du lecteur APDUs Lecteur APDUs Application carte

42

J. Leroux Les Jardins (leroux@enst.fr)

Page 21
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Carte à puce : Raisons du succès


 Mobilité :
 Stockage des données propres au porteur
 Suivi de l’historique des transactions
 Suivi des préférences
 Sécurité :
 Stockage des secrets de l’opérateur (clés) et du porteur (code PIN)
 Protection contre falsification et intrusion à faible coût
 Intelligence :
 Traitements embarqués : cartes Java
 Carte active dans les transactions
 Traitements cryptographiques : génération de clés, de certificats
 Génération et vérification de signatures

43

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Résumé de l’état de l’art

 La carte à puce est un véritable ordinateur utilisé


comme serveur portable et sécurisé de données
personnelles

 Elle était programmée comme un composant


embarqué avec un code applicatif figé

 Elle était difficile à intégrer dans les systèmes


d’information

44

J. Leroux Les Jardins (leroux@enst.fr)

Page 22
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Facteurs de changement
 Evolution technologique
 Densité d’intégration liée à la finesse de la gravure : 0,8 --> 0,18
Intégration de processeur RISC 32 bits
 Augmentation des capacités mémoire
 Augmentation de la fréquence d’horloge
 Apparition des technologies sans contact
 Demande des opérateurs
 Téléchargement d’applications
 Multi-applicatif
 Demande des utilisateurs
 Simplicité d’utilisation

45

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Vers des cartes plus ouvertes :


 Problèmes à résoudre et/ou besoins à satisfaire :
 Permettre le développement de programmes pour la
carte sans avoir besoin de graver un nouveau masque
Faciliter les développements de code dans la carte
 Faire de la carte un environnement d’exécution de
programmes ouvert
Rendre plus souples et plus évolutives les
applications cartes
 Faciliter le développement d’applications clientes

46

J. Leroux Les Jardins (leroux@enst.fr)

Page 23
Cartes à puce

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Vers des cartes multiapplicatives


 Toutes les nouvelles cartes intègrent cette possibilité :

47

J. Leroux Les Jardins (leroux@enst.fr)

ELEC 359 SECURITE DES SYSTEMES EMBARQUES Juin 2009

Cartes à puce, cryptographie et biométrie


 Une sécurité renforcée pour l ’accès à de nouveaux services
 Les nouvelles cartes permettent cette combinaison :

48

J. Leroux Les Jardins (leroux@enst.fr)

Page 24