1
Simulation d’Applications Java Card
Simulation d’Applications Java Card
Carine Courbis
INRIA Sophia-Antipolis, Dyade/Bull, ENS de Lyon et INSA de Lyon
Quelques définitions
Etat de l’art
Construction de notre environnement de simulation
Discussion/Travaux futurs
Conclusion
Carte à puce multi-applications + Java Card = Nveaux Développeurs
besoin de nouveaux outils pour mettre au point le comportement des Applets
2
Simulation d’Applications Java Card
Quelques Définitions
APDU (Application Protocole Data Unit) ISO 7816-3
Format standardisé des données échangées entre le lecteur de carte et
la carte
CAD (Card Acceptance Device = lecteur de carte)
Rôle: Traduire choix de l’utilisateur en APDU de commande pour la carte et
attendre l ’APDU de réponse pour l’afficher décodée
JCRE (Java Card Runtime Environment) machine virtuelle + classes
AID (Application Identifier)
Applet Application
(Unité de sélection, contexte, fonctionnalité et de sécurité sur une carte Java Card)
APDU de Commande
cla ins p1 p2 lc data le
APDU de Réponse
data sw1 sw2
Obligatoire
Falcultatif
3
Simulation d’Applications Java Card
Etat de l’art : Travaux formels
Preuve de la sûreté des types en Java
2 approches:
source
sous-ens. Java séquentiels prouver préservation des types
[Drossopoulou, Eisenbach, Syme]
Empilement de sous-ens Java pour sém. dynamique [Börger,
Schultze]
byte code
Transitions d’états d’un sous-ens. des instructions de la JVM [Qian]
dans la mémoire qd. exécution prouver bon fonctionnement
Systèmes à états finis pour vérif. de byte code Java Card [Posegga,
Vogt]
Procédure de vérif. de la sûreté du byte-code sur un sous-ens. [Rose]
4
Simulation d’Applications Java Card
Etat de l’art: Outils adaptés à
Java Card
Le checker Java Card de Sun
Outils commerciaux :
GemXpresso Rapid Applet Development de Gemplus
Cyberflex 2.0 Multi8K de Schlumberger
Odyssey Lab de Bull/CP8
Spécifiques Java Card uniquement sur le byte code
notre environnement basé sur une sémantique formelle
du langage source
Programme
Java Card Javac Checker
Byte code
(.class) Validation
Java Card
5
Simulation d’Applications Java Card
La Sémantique Naturelle de Java
Large sous-ensemble, spécifié par M. Russo
Héritage, caractéristiques objets sém. Big-Step
Multithreading sém. Small-Step
400 règles Typol exécutables dans système Centaur
Centaur: outil de génération d ’environnement de langage
Programme
Java
Arbre de syntaxe
abstraite
Présentation
textuelle de l’arbre
Parseur
(Metal)
Pretty
Printer
(Ppml)
Interprète
(Typol)
Résultats à
interpréter
pour
l’utilisateur
Type
Checker
(Typol)
syntaxe en Metal
règles d ’affichage en
Ppml
règles sémantiques en
Typol
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !