10 janvier 2005xavier perrin – emile gourlay – julien janier – emmanuel de castro projet de...
Embed Size (px)
TRANSCRIPT

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Projet de veille technologique
Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Plan
Cartes à puces
JavaCard
Coté terminal (OpenCard)
JavaCard en pratique

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Généralités sur les cartes à puces
Historique
1974, cartes à mémoire• Innovatron
1977, carte à microprocesseur• Bull CP8• 1980, carte bancaire• 1983, carte santé
1984, carte à micromodules• France Telecom

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Généralités sur les cartes à puces
Réalisations industrielles majeures
Carte Bleue
SESAM Carte Vitale
Porte monnaie électronique
Téléphonie mobile

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Généralités sur les cartes à puces
Types de cartes (1/2)Carte à mémoire
•Mémoire simple (sans processeur). •Carte “porte-jeton” .
Carte à logique cablée•Mémoire accessible via des circuits
préprogrammés et figés .•Carte “sécuritaire” .

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Généralités sur les cartes à puces
Types de cartes (2/2)
SmartCard•Microcontrôleur encarté (processeur +
mémoires).•Carte “programmable” pouvant
effectuer tout type de traitements.• Interface électronique par contacts ou
via signaux RF.

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Généralités sur les cartes à puces
Architecture d'une Smartcard

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Les Avantages
Langage de haut niveau
Write Once Run Anywhere
Plateforme multi applicative
Partage de données entre applications
Sécurité des données
Souplesse

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Java Vs JavaCard
Une sous Classe du langage Java• Pas de chargement de classe dynamique.• Pas de threads / synchronisation.• Pas de Clone.• Pas de méthodes Natives.• Pas de String.• Peu de types.
Une sous Classe de la VM Java• Un bytecode limité.• Nommage différent. (pas de string)• Pas de GC / pas de finalize.

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Javacard : comment ça marche?
L’architecture. (JCRE)• Les Natives methods.• L’interpréteur.• Les standard class libraries.

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Mécanismes de mise en Oeuvre.
.java
CompilateurJava
Librairies dedéveloppement
Fichiers ClassJava
.class
Exports
Convertiseur, verifieur, signeur de bytecode
On-cardLoader
APIInterprète
O.S.
Java CardFiles
.cap

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Création d’une applet
Bibliothèque de base javacard.Framework
Hérite de javacard.Framework.Applet
Implémente• Install• Process• Select• deselect

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Installation des applets
Pourquoi installer des applets ?
L’installation•Chargement sur la carte•Création d’une instance.

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Coté sécurité : L’applet Firewall

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
RPC et systèmes à objets répartis
L’approche : construire les applications avec la carte
comme des applications réparties
Principes :•Notion d’interface objet pour décrire
les objets distants•Pré-compilateur pour générer les
couches (skell stub)•Le principe Java RMI est retenu.

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
RPC et systèmes à objets répartis
Applet JavaCard = objet serveur distant

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Les Terminaux.Appareil permettant l'accès à distance à un système informatique.
Rôle terminal

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
La norme ISO 7816
Norme décomposée en sous parties:
• Partie 1: caractéristiques physique
• Partie 2: les contacts• Partie 3: caractéristiques
électrique & protocole de communication
• Partie 4: format de paquets (APDU)

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Le standard PC/SC
Pourquoi?•Standardiser l’interface entre PC et le
lecteur.•Exploitation des cartes multi
applicatives•Création d’un groupe de travail (PC/SC
workgroup)
Standard:•Repose sur la norme ISO 7816•Offre une interface entre le driver de
carte et la programmation

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Opencard
Framework orienté objet pour l’utilisation des smart card.
Pourquoi?• Standardiser les accès aux cartes à puce
Les atouts d’Opencard.• Développeurs• Fabricants
Opencard VS PC/SC• Opencard complémente PC/SC• PC/SC reste d’actualité

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Architecture Opencard

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Javacard en pratiqueLe Java development Kit
Un JDK de SUN spécialement pour Javacard
•Environnement de simulation– Support pour la cryptographie– Adressage étendu– Support du RMI
•Outils– Respectant les spécifications Javacard
2.2.1, et les nouvelles fonctionnalités
•Plateformes– Support JDK 1.4.1– Version Linux existante

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Javacard en pratiqueDocumentation du
développeur
Javacard sur le site de Sun• Java Card 2.1.1 Vitual Machine Specification• Java Card 2.1.1 Runtime Environment Specification• Java Card 2.1.1 Application Programming Interface
Opencard sur le site d'OpenCard ou GemPlus
• OpenCard 1.2 Application Programming Interface• OpenCard 1.2 Programmer's Guide

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
DEMO

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Conclusion (1/3)
Cartes à puces de plus en plus répandues
Utilisation de plus en plus facile•plus de C ou d'assembleur -> langage
évolué, objet

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Conclusion (2/3)
Javacard propose un SDK complet, aux outils performant et fortement documenté.
Opencard propose un framework pour standardiser les échanges avec les terminaux.

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Conclusion (3/3)
Alternative à Javacard : JITS
•Mélange de l'OS et de la JVM pour plus de légèreté et de flexibilité.
•API est plus complète que l'API de javacard.

10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro
Des questions?