Les cartes à puce sont aujourd’hui considérées comme des ressources sûres du fait de leur structure interne et des validations qu’elles subissent tout au long de leur cycle de vie. Il est donc possible de les utiliser comme éléments de base pour sécuriser différents types d’environnements : accès physiques à des locaux, transactions bancaires, systèmes embarqués, etc. Dans cet article, nous expliquons comment utiliser les cartes (U)SIM Java des téléphones mobiles afin d’apporter de la sécurité, en termes de confidentialité des données et des communications, dans le fonctionnement des applications développées pour ces matériels. Nous présentons les différentes technologies qui interviennent (Java Card, (U)SIM, Java ME) ainsi que la façon de les combiner. Nous terminons par un exemple d’application qui utilise tous les éléments présentés.
1. Java Card
1.1 Principe
Une carte à puce est une pièce de plastique contenant un circuit électronique intégré et en particulier un processeur, ce qui lui permet donc de manipuler des données. Elle peut être programmée pour réaliser certaines tâches et peut également stocker de l'information.
En fonction de leur OS (Operating System), les cartes à puce se partagent en deux grands groupes :
- à système de fichier fixé : la structure de fichiers embarquée (donc les applications) ne peut pas être modifiée et ces cartes offrent donc un jeu de fonctions fixe, défini par le constructeur. C'est le cas de certaines cartes bancaires.
- à système dynamique d'application : on peut ajouter (déployer) des applications sur ces cartes, dynamiquement, de façon contrôlée et sûre. Elles peuvent donc également être mises à jour. C'est le cas de certaines (U)SIM ou des cartes Java. On parle alors de cartes multi-applicatives.
Quel que soit le cas, ces...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première