Projet de veille technologique

Slides:



Advertisements
Présentations similaires
Martin Guibert Pereira Helder Steven Ly Aiman Krissane.
Advertisements

Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
SOLUTION DE CONTRÔLE D’ACCES PHYSIQUE MULTI-APPLICATIF
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
S.R.I. Systèmes et Réseaux Informatiques
La machine virtuelle virtuelle utopie et/ou réalité ?
TER 2005 Sujet encadré par Philippe Collet Nicolas Yohann Barbier Thomas Castillejos Nicolas Sauvan Bastien Salageanu Emil.
Le Grid Computing Par Frédéric ARLHAC & Jérôme MATTERA.
Object Management Architecture (OMA)
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
MIKHAYLOVA Vera Exposé Java principe de fonctionnement Lundi 17 mai 2004 DEUG 1ère année Science du langage Paris III.
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Présentation de Java Stéphane Frénot INSA lyon
Architecture de machines Principes généraux
RW Conseil Les technologies de la sécurité au service de lutilisateur 1 Introduction aux systèmes à base de cartes multiapplicatives.
INF 111 PROGRAMMATION ORIENTÉ-OBJET
Fonction Traiter Algorithmique et Programmation
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Les Systèmes d’Exploitation
Réalisée par :Samira RAHALI
Java Remote Method Invocation (RMI)
Programmation Approche composants Ing5 SI
Laboratoire d'Informatique de l’Université de Franche-Comté
Dan Bismuth Tutrices : Marie-Lise Flottes - Joanne Acland
JX10RemoteHome. Introduction Gestion de dispositifs X10 en local et distance Programme de simulation de présence Gestion de contrôle des présence en cas.
Interopérabilité JOnAS - CORBA
Gestion de Camping Projet BTS IRIS 2004
Réaliser par: Seif Ennasar Hazar Zayed Faten Groupe: DSI République Tunisienne Ministère de lEnseignement Supérieur Institut supérieur.
Calculatrice Financière Android
Microsoft .NET.
Clients riches RIA (Rich Internet Application) / RDA
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 1 : Introduction.
Les systèmes multiplateformes
Stéphane AMATO Julien CHABANON Novembre 2001
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Java vs. C++ Pierre-Yves ALIZON – Ingénieurs 2000.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Présentation de CORBA et de IIOP
Premiers pas dans le langage Java 2012/ Premiers pas dans le langage Java TI3.4 Responsable : M lle Sana Ezzedine
Haute Ecole de la Ville de Liège Département paramédical Département économique Département pédagogique Département technique rue Sohet, LIEGE.
Le web service
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
L’Audio sur PC Comparaison Numérique vs Analogique Comparaison Audio sur PC vs Hardware dédié (DSP) Rmq: beaucoup de simulitudes avec la vidéo, mais débit.
Ernaelsten Gérard - Frédéric FiléePage 1 ESA Ecole Supérieure des Affaires Cours de Programmation Web : PHP Avant-propos.
Visualisation d’un entrepôt de données Pré soutenance technique
Les différents modèles d’architecture technique
Présentation ESTRABOX
L’enseignement de spécialité SLAM
Conférence Témoignages métiers- Supinfo Nantes  Création en 1979  CA de 150 Millions €  Présence nationale et internationale  2300 personnes en France.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
OPEN SERVICES GATEWAY INITIATIVE (OSGi) SEMINAIRE DE MASTER THIERRY MENOUD.
Architecture Client/Serveur
VALIDATION DE PRODUITS POUR APPLICATIONS URBATIQUES
Programmation mobile: Android
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Remote Method Invocation
ITII - Option Réseaux Roland DEPEYRE
Java Remote Method Invocation
Introduction à Java Caractéristiques principales Environnement Java Environnement de développement Compilation et exécution.
M2.22 Réseaux et Services sur réseaux
VALIDATION DE PRODUITS POUR APPLICATIONS URBATIQUES.
Introduction O.Legrand G. Seront. Open Handset Alliance Project Regroupement d'entreprises : –de télécommunications, –de constructeurs d’appareils mobiles,
Transcription de la présentation:

Projet de veille technologique la carte à puce est aujourd'hui un support très répandu pour stocker des informations. Ces exemples les plus courants sont les cartes bancaires, les cartes téléphoniques et les cartes SIM contenues dans les GSM. Il s'agit en fait d'une simple carte de plastique dans laquelle est intégrée une puce électronique. Il en existe différents types dont la smartcard et plus particulièrement la javacard. Toutes les cartes à puces possèdent des ressources très limitées disponibles pour l’exécution d’applications. Aujourd’hui, le moyen le plus sûr pour assurer un niveau de sécurité satisfaisant reste la carte à puce. Cependant, le développement d’applications pour carte à puce a toujours été difficile et réservé à des experts. Il a donc fallut développer un langage qui soit à la fois fiable, robuste, peu gourmand en ressources et bien sûr simple. C’est en 1996 que Sun Microsystems Inc propose une solution après des essais menés par Schlumberger : le JavaCard. Le JavaCard est un système de programmation de cartes à puces basé sur une version allégée du langage Java. 10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro

Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro Plan Cartes à puces JavaCard Coté terminal (OpenCard) JavaCard en pratique I Historique – généralité II Technologie de SUN III framework de développement opencard et les standard qui gravitent autour IV Les outils et une demo 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

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

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 Compilateur Java Librairies de développement Fichiers Class .class Exports Convertiseur, verifieur, signeur de bytecode On-card Loader API Interprète O.S. Java Card Files .cap 10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro

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. Une JavaCard à l’origine contient le JCRE et tout le système du constructeur de la carte. Le JCRE est « écrit » dans la ROM de la carte : c’est le masque de la carte. Il est donc inviolable. Le code des applets est stocké sur la carte généralement en EEPROM. INSTALL L’installation d’une applet se fait alors que le JCRE tourne. Cela se passe en deux phases. 1. chargement du code de l’applet (cap file) sur la carte 2. création d’une instance de l’applet Pour installer l’applet, l'installeur prend le fichier .cap et télécharge le contenu du fichier sur la carte. L'installeur écrit le contenu dans l’EEPROM et fait les liens entre les classes dans le fichier .cap et les classes résidant sur la carte. Il crée et initialise les données qui seront utilisées par le JCRE en interne pour se servir de l’applet. Si l’applet nécessiste plusieurs package, chaque fichier .cap correspondant à un package sera chargé sur la carte. L’edition de lien se fait statiquement à l’installation et donc pour faire l’edition de lien on a besoin de toutes les dépendances. 10 janvier 2005 Xavier Perrin – Emile Gourlay – Julien Janier – Emmanuel De Castro

Coté sécurité : L’applet Firewall Les applications JavaCard peuvent provenir de fabricants différents, et ne doivent pas pouvoir comuniquer entre elles. Ces applications sont appelées des applets identifiés uniquement par leur AID (Application Identifier) isolées entre elles par un applet firewall. Celui ci partage le système d'objet javacard en espaces d'ojets protégé et séparé appelés contexts. Le firewall est la barriere entre les contextes. Qd un applet est instancié, la JCRE lui assign un context, mais aussi un groupe de contexte dans lequel peut se trouver plusieur applets. les applets dans un meme groupe peuvent se voir. Le firewall isole egalement le context du JCRE 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

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

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

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

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 pratique Le 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 pratique Documentation 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

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

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

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

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

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