La carte à puce multi-applicative



Documents pareils
La technologie Java Card TM

La carte à puce. Jean-Philippe Babau

Projet de Veille Technologique

Vulgarisation Java EE Java EE, c est quoi?

Éléments de programmation et introduction à Java

LA CARTE D IDENTITE ELECTRONIQUE (eid)

Plan du cours. Historique du langage Nouveautés de Java 7

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

as Architecture des Systèmes d Information

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage

Java et les bases de données

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

CARTES A PUCE. Pascal Urien - Cours cartes à puce /06/10 Page 1

Vérification formelle de la plate-forme Java Card

CH.3 SYSTÈMES D'EXPLOITATION

Java - la plateforme

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Perspectives d'utilisation du serveur web embarqué dans la carte à puce Java Card 3

..seulement 5% des serveurs x86 sont virtualisés!

Lecteur de carte à puce LCPM1 SOMMAIRE

Chapitre I Notions de base et outils de travail

Evaluation, Certification Axes de R&D en protection

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Société Générale, en partenariat avec Visa Europe et Gemalto, annonce la première transaction par «carte bancaire sans contact» en France

Programmer en JAVA. par Tama

HSM, Modules de sécurité matériels de SafeNet. Gestion de clés matérielles pour la nouvelle génération d applications PKI

Nouveau Programme Formation Monétique

Guide de démarrage rapide. Microsoft Windows 7 / Vista / XP / 2000 / 2003 / 2008

Java Licence Professionnelle CISII,

Évaluation de l injection de code malicieux dans une Java Card

contactless & payment des solutions de test pour mener à bien vos projets

Programmation d'applications sur PDA

CAHIER DES CHARGES D IMPLANTATION

TP1 : Initiation à Java et Eclipse

Hébergement MMI SEMESTRE 4

Une introduction à Java

La monétique. Les transactions bancaires. Christophe VANTET- IR3 Le Mardi 25 Novembre 2008

Fiche technique rue de Londres Paris Tél. : Mail : contact@omnikles.com

Service de lettre électronique sécurisée de bpost. Spécificités techniques

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Annexe : La Programmation Informatique

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Vérification formelle de la plate-forme Java Card

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Samsung Data Migration v2.6 Guide d'introduction et d'installation

L infrastructure Sécurité de Microsoft. Active Directory RMS. Microsoft IAG

Pré-requis de création de bureaux AppliDis VDI

Linux embarqué: une alternative à Windows CE?

Mise en œuvre des serveurs d application

Michel Leduc VP Marketing Neowave 28 Mars 2013 XIXème Forum Systèmes et Logiciels pour les NTIC dans le Transport

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

La convergence des contrôles d accès physique et logique

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

VOTRE SOLUTION OPTIMALE D AUTHENTIFICATION

VMWARE VSPHERE ESXI INSTALLATION

NOMENCLATURE. PARTIE 1 : PRODUITS, MATERIAUX et EQUIPEMENTS

La Technologie Carte à Puce EAP TLS v2.0

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

SQL Server Installation Center et SQL Server Management Studio

Manuel d utilisation de ndv 4

SGDN. Projet: JAVASEC

Le produit WG-1000 Wireless Gateway

Rapport de certification ANSSI-CC-PP-2010/07 du profil de protection «Java Card System Closed Configuration» (PP-JCS-Closed-v2.

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

HOLO-EDIT ONLINE : CONSTRUCTION D UNE APPLICATION JAVA SUR INTERNET

Nouveautés Ignition v7.7

SSL ET IPSEC. Licence Pro ATC Amel Guetat

La gestion du poste de travail en 2011 : Panorama des technologies

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Manuel logiciel client Java

Rapport de certification

MailStore Server 7 Caractéristiques techniques

La sécurité dans les grilles

Sessions en ligne - QuestionPoint

Introduction aux Machines Virtuelles avec VMKit

Cours Informatique 1. Monsieur SADOUNI Salheddine

Sécurité des réseaux sans fil

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Livre blanc. Au cœur de Diskeeper 2010 avec IntelliWrite

Programmation en Java IUT GEII (MC-II1) 1

MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7

RFID: Middleware et intégration avec le système d'information Olivier Liechti

Rapport de certification

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Une tasse de café fumante est

Cours 1: Java et les objets

Guide de récupération de Windows Server 2003 R2 pour serveurs Sun x64

Alfstore workflow framework Spécification technique

A propos de la sécurité des environnements virtuels

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Transcription:

Les nouveaux enjeux de la Carte à puce Sécurisation des technologies multi-applicatives embarquées pour l utilisation élargie de la carte à puce La carte à puce multi-applicative et sa sécurité sauveron@labri.fr http://dept-info.labri.fr/~sauveron 19 décembre 2001

Plan Présentation de la carte à puce Quelques vulnérabilités liées au concept de multi-application Présentation des différentes technologies des cartes à puce multi-applicatives sauveron@labri.fr Page 2

Présentation de la carte à puce sauveron@labri.fr Page 3

Qu est ce qu une carte à puce? un morceau de plastique de la taille d une carte de crédit un circuit électronique capable de manipuler (stocker, calculer, etc) des informations sauveron@labri.fr Page 4

Historique En 1968, deux Allemands Jürgen Dethloff et Helmut Grötrupp introduisent un circuit intégré dans une carte plastique Entre 1974 et 1978, le français Roland Moreno, le père de la carte à puce dépose 47 brevets dans 11 pays En 1983, apparition des premières cartes téléphoniques à mémoire En 1984, adoption par le G.I.E carte bancaire de la carte bleue Entre 1984 et 1987, normes ISO 7816 (carte à puce à contact) En 1997, apparition des premières Java Cards sauveron@labri.fr Page 5

Les différentes cartes à puce Il existe plusieurs sortes de cartes à puce. Plusieurs classements possibles : les cartes à mémoire versus les cartes à microprocesseur les cartes à contact versus les cartes sans contact sauveron@labri.fr Page 6

Les différentes cartes à puce La carte à mémoire Premier modèle de cartes à puce Majorité des cartes vendues dans le monde en 1999 Elle possède : une puce mémoire de 1 à 4 Ko une logique cablée non programmable Avantages : sa technologie simple son faible coût (1$) Inconvénients : sa dépendance vis-à-vis du lecteur de carte assez facile à dupliquer sauveron@labri.fr Page 7

Les différentes cartes à puce La carte à microprocesseur Taille de la puce : 25mm 2 Microprocesseur (CPU) : 8, 16 ou 32 bits (à architecture RISC ou pas) ROM : 16 à 24 Ko EEPROM : 8 à 64 Ko RAM : 1 Ko Coprocesseur cryptographique Générateur de nombres aléatoires (RNG) Avantage : le coût acceptable pour tant de sécurité (entre 1$ et 20$). sauveron@labri.fr Page 8

Les différentes cartes à puce La carte à contact Suit le standard ISO 7816 Communication série via huit contacts = insertion dans un lecteur de carte Problèmes : l insertion et le retrait sont des facteurs d usure de la carte orientation de la carte dans le lecteur sauveron@labri.fr Page 9

Les différentes cartes à puce La carte sans contact Communication via une antenne dans la carte Récupère son énergie d un couplage capacitif ou d un couplage inductif Problèmes : distance de communication limitée (environ 10 cm) temps de transaction est de l ordre de 200 ms = limite les données à échanger le coût élévé sauveron@labri.fr Page 10

Les différentes cartes à puce La carte combi C est une combinaison entre : la carte à contact et la carte sans contact Ces deux possibilités de communication = la carte idéale sauveron@labri.fr Page 11

Quelques applications l industrie des télécommunications l industrie bancaire et monétaire le secteur de la santé l industrie audiovisuelle avec la télévision à péage,... le porte-monnaie électronique les transports en commun le contrôle d accès physique de personnes à des locaux,... l identification : à des sites sur l Internet,... les applications de fidélité les e-services sauveron@labri.fr Page 12

Quelques vulnérabilités liées au concept de multi-application sauveron@labri.fr Page 13

Le concept de multi-application Une carte multi-applicative = système d exploitation + des applications Système mono-tache Application fournie : par l émetteur de carte code en ROM par un fournisseur d applications code en EEPROM Spécifications Open Platform : mécanismes de gestion des cartes multi-applicatives (installation, désinstallation, cycle de vie, etc) mécanismes sécuritaires sauveron@labri.fr Page 14

Identification du fournisseur d applications Vulnérabilité potentielle : pirate voulant charger une application agressive Solution : authentification mutuelle pour identifier les fournisseurs autorisés Possibilité de création d un canal sécurisé = assurer la confidentialité et l intégrité des communications Ces mécanismes de mutual authentication et de secure channel sont décrits dans Open Platform. A terme, la plate-forme devra être capable de se défendre sans utiliser ces mécanismes. sauveron@labri.fr Page 15

L intégrité des données et du code Hypothèse : casser le mécanisme d authentification mutuelle Vulnérabilité potentielle : au niveau du code de l application à charger Solution : signature crytographique avant son chargement et ensuite vérification de la signature par la carte = mécanisme de DAP (Data Authentication Pattern) de Open Platform Hypothèse : casser le mécanisme d authentification mutuelle et de DAP Vulnérabilité potentielle : au niveau du code et des données des applications et du système d exploitation Solution : mécanismes de firewall et de partage sécurisé de données sauveron@labri.fr Page 16

La sécurité : l affaire de tous Hypothèse : Plate-forme sûre. Exemple : Application de fidélité entre un groupe pétrolier et une compagnie aérienne. 1 litre de carburant acheté = 1 miles offert Fonctionnement normal Achat de carburant Fonctionnement anormal Application Serveur Application Cliente Application Serveur Application Cliente Compagnie Aérienne Crédit Groupe Pétrolier Compagnie Aérienne Crédit Pirate de miles de miles Nb miles Nb miles Conclusion : La sécurité doit être assurée au niveau de la plate-forme, mais aussi au niveau applicatif. La sécurité est le problème de tous. sauveron@labri.fr Page 17

Présentation des différentes technologies des cartes à puce multi-applicatives sauveron@labri.fr Page 18

MULTOS Technologie proposée par MAOSCO Standard ouvert Spécifie : une machine virtuelle un langage : MEL (MUL- TOS Enabling Language) des APIs un firewall une compatibilité ISO 7816 et EMV EMV crédit & débit chargement de certificat par l application Firewall e-cash fidélité Hardware de la carte à puce accès interpréteur MEL (machine virtuelle) MULTOS (système d exploitation) sauveron@labri.fr Page 19

Windows for Smart Card Technologie proposée par Microsoft Carte multi-applicative orientée authentification Standard fermé = Le projet est depuis abandonné. sauveron@labri.fr Page 20

La technologie Java Card TM Technologie permettant de faire fonctionner des applications écrites en langage Java a pour : les cartes à puce d autres périphériques à mémoire limitée La technologie Java Card définit une plate-forme pour cartes à puce sécurisée, portable et multi-applications qui incorpore beaucoup des avantages du langage Java. a Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. The author is independent of Sun Microsystems, Inc. sauveron@labri.fr Page 21

La technologie Java Card TM Historique En Novembre 1996, un groupe d ingénieurs de Schlumberger cherche à simplifier la programmation des cartes à puce tout en préservant la sécurité. = la spécification Java Card 1.0 En Février 1997, Bull et Gemplus se joignent à Schlumberger pour cofonder le Java Card Forum. En Novembre 1997, Sun présente les spécifications Java Card 2.0. sauveron@labri.fr Page 22

La technologie Java Card TM Historique En Mars 1999 sort la version 2.1 des spécifications Java Card. Elles consistent en trois spécifications : The Java Card 2.1 API Specification. The Java Card 2.1 Runtime Environment Specification. The Java Card 2.1 Virtual Machine Specification. Contribution la plus significative : Définition explicite de la machine virtuelle de la Java Card. Le format de chargement des applets. En Mai 2000, sort une petite correction = version 2.1.1 En Octobre 2000, plus de 40 entreprises ont acquis la licence d exploitation de la technologie Java Card. sauveron@labri.fr Page 23

La technologie Java Card TM Avantages de la technologie Java Card La facilité de développement des applications grâce : à la programmation orientée objet offerte par Java à l utilisation des environnements de développement existants pour Java à une plate-forme ouverte qui définit des APIs et un environnement d exécution standard à l encapsulation de la complexité fondamentale du système des cartes à puce sauveron@labri.fr Page 24

La technologie Java Card TM Avantages de la technologie Java Card La sécurité grâce : à plusieurs niveaux de contrôle d accès aux méthodes et aux variables (public, protected, private) à un langage fortement typé à l impossibilité de construire des pointeurs à un firewall sauveron@labri.fr Page 25

La technologie Java Card TM Avantages de la technologie Java Card L indépendance au hardware réalisée grâce au langage Java = Write Once, Run Anywhere La capacité de stockage et de gestion de multiples applications. = possiblité de mise à jour des applications de la Java Card sans avoir besoin de changer de cartes La compatibilité avec les standards existants sur les cartes à puce. sauveron@labri.fr Page 26

La technologie Java Card TM Présentation de son architecture Problème : contraintes mémoires Solutions : Applet Applet un sous-ensemble des caractéristiques du langage Java découper la machine virtuelle Java en deux parties Java Card APIs Java Card Virtual Machine (interpréteur de bytecode) JCRE Hardware de la carte à puce et système natif. Problème : pas de vérificateur embarqué Solution : fournir des mécanismes sécuritaires avec l environnement d exécution Spécifications Java Card 2.1.1 Virtual Machine Runtime Environment API sauveron@labri.fr Page 27

La technologie Java Card TM Le langage Java Card Caractéristiques Java non supportées Type simple de donnée de grosse taille : long, double, float Tableau plusieurs dimensions Caractères et chaînes Chargement dynamique des classes Security Manager Ramasse-miettes et finalisation Threads Serialisation d objet Clonage d objet sauveron@labri.fr Page 28

La technologie Java Card TM Le langage Java Card Caractéristiques Java supportées Type simple de donnée de petite taille : boolean, byte, short Tableau à une dimension Paquetage Java, classes, interfaces et exceptions Caractéristiques orientées objet : héritage, méthodes virtuelles, surcharge et création dynamique d objet, contrôle d accès Le mot clé int et le support des entiers sur 32 bits sont optionnels sauveron@labri.fr Page 29

La technologie Java Card TM La machine virtuelle Java Card : JCVM Les deux parties implémentent toutes les fonctions d une machine virtuelle. Fichiers class VM hors carte Convertisseur Interpréteur VM embarquée A cause du découpage de la JCVM, la plate-forme est distribuée dans le temps et dans l espace. Fichier CAP sauveron@labri.fr Page 30

La technologie Java Card TM L environnement d exécution Java Card Responsable : de la gestion des ressources de la carte de la communication réseau de l exécution des applets du système de la carte de la sécurité des applets Applet Applet Applet APIs gestion des applets gestion des transactions Java Card Virtual Machine (bytecode interpréteur) Extensions spécifiques à l industrie Classes système réseau I/O communication Hardware de la carte à puce et système natif. installateur méthodes natives Autres services JCRE sauveron@labri.fr Page 31

La technologie Java Card TM L environnement d exécution Java Card Les caractéristiques du JCRE Objets persistants existant au travers des sessions avec le lecteur. Objets temporaires dont les données ne persistent pas au travers des sessions avec le lecteur. Chaque opération d écriture de la JCVM est atomique. Une transaction est un bloc d opérations atomiques. Le firewall isole les applets à l intérieur de leur espace (contexte). Pour mettre en commun des données, il existe des mécanismes sécurisés de partage. sauveron@labri.fr Page 32

La technologie Java Card TM Les APIs Java Card Ensemble de paquetages optimisés pour la programmation des cartes à puce en accord avec le modèle ISO 7816. java.lang : un sous ensemble strict de son équivalent sur la plate-forme Java javacard.framework : classes et interfaces pour le noyau fonctionnel des applets Java Card javacard.security : modèle pour les fonctions cryptographiques supportées sur la plate-forme Java Card javacardx.crypto : un paquetage d extension sauveron@labri.fr Page 33

Conclusion En 30 ans la carte à puce s est imposée en Europe. Il reste un marché énorme (États-Unis, etc). La technologie Java Card saura-t-elle le conquérir? Pour cela il lui faudra prouver qu elle est parfaitement sûre. sauveron@labri.fr Page 34