La technologie Java Card fournit une machine virtuelle qui joue le rôle de système d'exploitation pour cartes à puce en apportant sécurité et indépendance vis à vis du matériel. Ainsi, des développeurs indépendants peuvent concevoir et déployer dans des cartes à puce toute une variété de produits et de services sécurisés, dans la poche de leurs utilisateurs. Nous explorons ici l'essence de cette technologie.
1. Introduction
Les cartes à puce d'aujourd'hui sont des cartes à microprocesseur capables de fournir des ressources nécessaires pour l'exécution d'applications qui y sont embarquées. En particulier, ces systèmes sont capables de gérer les entrées/sorties entre les applications de la carte et leurs contreparties sur le terminal. Ils implémentent aussi, parfois, un système de fichiers normalisé ISO 7816-4 ou même une base de donnée ISO 7816-7.
Autrefois, la programmation des cartes était le fait des fabricants. Le problème de tels systèmes est que les fabricants de cartes à puce utilisent des logiciels propriétaires – tout en gardant la compatibilité avec l'ISO 7816, qui ne définit finalement qu'un jeu de commandes supportées par la carte. Programmer les applications demande alors une grande connaissance du matériel particulier de la carte cible, et on peut être sûr que la portabilité de telles applications est très faible. « Changer de fournisseur...
- 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