Mise à jour dynamique pour cartes à puce Java
Institution:
LimogesDisciplines:
Directors:
Abstract EN:
Unlike the traditional update, the dynamic update is the ability to modify a software system or an application during its execution without stopping it and without loosing its execution state. The aim is to enable developers to be able to correct bugs, improve and delete some functionnalities. Smart cards are small computers equipped with at least one integrated circuit or chip that contain information. This integrated circuit can contain a microprocessor capable of processing information. Java Card is a type of smart card based on Java technology. This is a multi-application card which allows application to run on the top of the embedded virtual machine. These cards may have a long lifetime. It is hard to imagine that embedded application do not need an update to solve a bug, update security holes, improve or remove features, in transparent manner to the user. Many existing systems provide mechanisms for dynamic update. However these systems are generally intended for environments that do not have strong resource constraints (like workstation environment). In addition, the existing approaches of solutions are not always applicable to the field of smart cards. In this thesis, we present EmbedDSU, a dynamic update system for smart cards based on Java. This system consists of a set of mechanisms off-card and on-card. To evaluate our system, we have implemented a prototype based on simpleRTJ2, a Java virtual machine for embedded systems.
Abstract FR:
Contrairement à la mise à jour traditionnelle, la mise à jour dynamique est la capacité de pouvoir modifier un système logiciel ou une application durant son exécution sans interruption de ce dernier et sans perte de l’état d’exécution du système. L’objectif est de permettre aux développeurs de pouvoir corriger les défauts (mettre à jour une partie fautive du système) ou de faire évoluer leurs applications (ajout, suppression de nouvelles fonctionnalités). Les cartes à puce sont de petits ordinateurs dotées d’au moins un circuit intégré ou puce capable de contenir de l’information. Ce circuit intégré peut contenir un microprocesseur capable de traiter l’information. Parmi les types de cartes, on distingue la Java Card, basée sur la technologie Java. C’est une carte multi-applicative avec les applications qui s’exécutent au dessus de la machine virtuelle Java embarquée dans la carte. Ces cartes ont des durées de vie de plus en plus élevée. Il est difficile d’imaginer que les applications embarquées n’aient pas un besoin de mise à jour pour solutionner un bogue, mettre à jour une faille de sécurité, améliorer des fonctionnalités ou en supprimer, ceci de façon transparente à l’utilisateur. De nombreux systèmes existants offrent des mécanismes de mise à jour dynamique. Cependant, ces systèmes sont généralement destinés à des environnements n’ayant pas de fortes contraintes de ressources (environnement de type poste de travail). De plus, les approches de solutions proposées ne sont pas toujours applicables au domaine des objets à faibles ressources tels que les cartes à puce. Dans cette thèse, nous présentons EmbedDSU, un système de mise à jour dynamique pour les cartes à puce basées sur Java. Ce système est basé sur un ensemble de mécanismes à l’extérieur de la carte et à l’intérieur de la carte. Pour évaluer notre système, nous avons réalisé un prototype basé sur simpleRTJ1, une machine virtuelle Java pour l’embarqué.