Relecture article : Système d'exploitation pour carte à puce modifier

Résumé introductif modifier

Les systèmes d'exploitation des cartes à puces permettent de créer une SmartCard (carte intelligente). Ces SmartCards permettent de stocker des données, éxecuter du code et effectuer des communications (avec ou sans contact) entre celle-ci et un lecteur. L'intégration des OS sur les cartes à puces doivent prendre en compte l'environnement matériel (mémoire disponible et CPU) ainsi que les normes concernant les caractéristiques des cartes à puces. Ces OS doivent intégrés des fonctionnalités ainsi que des spécificités tel que :

  • La gestion de la mémoire (ROM, RAM, EEPROM) ;
  • La gestion de fichiers ;
  • Le contrôle d'exécution de code ;
  • Le chargement, le lancement et la gestion des applications ;
  • La transmission de données ;
  • L'exécution et la gestion des algorithmes de cryptographie.

Les premiers OS pour cartes à puces sont sorties en 1981. Ceux-ci n'ont eu de cesse d'évoluer jusqu'à aujourd'hui. Actuellement, trois approches d'OS de cartes à puces existent :

  • les systèmes fermés
  • les machines virtuelles
  • l'hyperviseur Camille

D'un point de vue économique, le marché des cartes à puces est utilisé dans divers domaines (télécommunication, banquaire, télévision, ...) et en perpétuelle évolution.

Critique modifier

De façon global, je dirais que le document montre les différents OS des cartes à puces ainsi que certaines problèmatiques liés au matériels. Ces problèmatiques de gestion de mémoire, sécurité des informations, ... ne sont pas assez développés et dans la plupart des cas, les infos datent de 2002-2003. D'ou ma question, est-ce que l'on est dans une impasse technologique ou peut être la recherche se planche sur les nouveaux systèmes (ex : NFC), ... ? Au niveau du visuel, les schémas ne sont pas assez, voir pas du tout, expliqués (dommage) et donc ils apportent peu à la compréhension du document. Sur la partie "le Marché", nous avons une vue entre 2009-2011. Cela est réducteur par rapport à la date de lancement des cartes à puces. Il n'y a pas de synthése global du marché des cartes à puces mais uniquement un listing des tableaux. De premier abort, je constate que globalement, le marché décroit en % entre 2009/2010 et 2010/2011. Est-ce du à l'arrivée des nouvelle techno ?

Forme modifier

points positives
  • hormis les points soulevés ci-dessous, le document est clair, lisible, neutre et la synthaxe est correcte.
points negatives

Plusieurs problèmes de synthaxe (langage non encyclopédique), de lisibilité ou de clarté :

  • "En effet, il existe plusieurs type de cartes et toutes ne sont pas capable de faire tourner un système d'exploitation." : supprimer En effet
  • "Les systèmes d'exploitation pour carte à puce ou encore smart card's Chip Operating System (COS) sont des systèmes d'exploitation spécifiquement destinés aux cartes à puce." : lapalissade
  • "Ci-dessus une illustration simpliste d'une carte à puce. Le schéma montre qu'elle est composée :" : remplacer simpliste par simplifié
  • "Le schéma présenté ci-dessus montre un seul type de communication extérieur avec un contacteur physique" : pas clair, indiquer clairement que la communication se fait entre le lecteur de carte à puce et la puce intégrée sur la carte
  • Les tableaux des normes sont indiqué en anglais, traduire le titre
  • "D'autres normes qui concernent les cartes contactless (radio et optique)." : anglais, mettre plutot : sans contact au lieu de contactless
  • Schéma fonctionnalité tout en anglais, à traduire
  • "Il fournit une API complète afin de communiquer vers les zones mémoire mais également et surtout vers l'extérieur." : supprimer "mais également" ainsi que "surtout"
  • "Une des premières fonction c'est la gestion de fichiers avec les opérations de lecture, écriture, création, suppression sur les fichiers." : remplacer par "La gestion de fichiers effectue les opérations de lecture, d'écriture, de création et de suppression des fichiers."
  • "C'est pourquoi on trouve, de plus en plus, adjoint au microprocesseur traditionnel de la carte à puce un Secure cryptoprocessor (en) qui accélère les calculs sur les grands nombres." : remplacer "afin de palier à ce problème, on adjoint un Secure cryptoprocessor (en) qui accélère les calculs sur les grands nombres au microprocesseur traditionnel de la carte à puce "
    "Une grande interopérabilité, avec la notion de machine virtuelle et la définition d'un grand nombre de primitives standardisées en rapport avec des standards de l'industrie comme les interfaces sans contacts." : pas clair, manque le verbe

Fond modifier

points positives
  • aborde tous les aspects sur la descriptions technologique
  • les différentes approches des COS sont bien expliquée
points negatives
à noter les remarques déjà dans le documents ne sont pas réécrites ici. il manque des explications sur certains termes ainsi que des références (affirmation gratuite):
  • schéma de carte à puce : manque explication GND, VCC, CLK I/O et RST
  • schéma fonctionnalité : manque explication global, qu'est ce que c'est que tous ces briques
  • "En effet, il existe plusieurs type de cartes {lesqels} et toutes ne sont pas capable de faire tourner un système d'exploitation {pourquoi}" : manque référence ou explication.
  • "En cela, il s'agit d'un ordinateur classique, réduit à la taille d'une puce." : manque référence
  • "Elle permet la communication, le stockage et l'exécution de code avec un haut degré de sécurité" : manque référence
  • "Les circuits logiques" : qu'est qu'un circuit logique, manque explication
  • "A l'image de que représente le PC DOS ou communément n'importe quel autre système d'exploitation, les fonctions et les instructions d'un COS ne sont pas dépendantes d'une application en particulier mais se veulent être génériques pour un ensemble de besoins communs à toute application désirant fonctionner dans un environnement de carte à puce. Et tout comme le PC DOS, ce type d'OS n'est pas conçu pour fournir d'interface graphique." : manque référence
  • "Cette partie logique est le siège de l'exécution du code applicatif que ce soit l'OS comme les applicatifs installés dans la carte." : manque référence
  • : "D'une partie mémoire qui permet de stocker l'information volatile (mémoire RAM) durant l'exécution du code. De la EEPROM qui stocke soit des applicatifs ou des données qui peuvent modifiables pendant le fonctionnement de la carte mais qui ne doivent pas être perdus après la perte d'alimentation. Et la mémoire ROM qui stockera le code, notamment l'OS, ou les données figés en usine durant la conception de la puce." : manque référence
  • "Le système d'exploitation est ainsi localisé essentiellement au niveau de la mémoire ROM, sous une forme non altérable, et pour éventuellement certaines de ses fonctions modifiables dans l'EEPROM. Il offre les fonctions pour contrôler les différents éléments de la carte et la communication avec le lecteur." : manque référence
  • "La norme de référence est la norme ISO/IEC 7816 (en)[2] (Identification cards — Integrated circuit cards), le tableau suivant répertorie les différentes parties de cette norme." : manque explication, est-ce des normes uniquement pour OS et/ou carte à puce, qu'elle le but des normes et sur quelles caratéristiques se focalisent-elles
  • "Le COS est contenu dans la ROM de la carte à puce, on peut aussi trouver le terme de mask[3]. Il fournit une API complète afin de communiquer vers les zones mémoire mais également et surtout vers l'extérieur." : mask : c'est le fait de l'intégration du COS dans la ROM ??? intéret de cette info ??? Sinon, concernant cette partie, est-ce la seule fonctionnalitée des COS, + manque référence sur la dernière phrase : API
  • référence 4 et 6, sans lien
  • concernant le tableau des capacité de mémoire des Cartes à puces, depuis 2004, il n'y a plus eu d'avancer ???
  • "Parfois, certaines de ces fonctionnalités sont directement intégrées au niveau matériel[8][9]." : lesquel par exemples : celles indiquées en référence concernant le chiffrement
  • "Ainsi ces systèmes d'exploitation sont responsables de " : manque référence
  • les parties "# Le contrôle d'exécution de code" et "Le chargement, le lancement et la gestion des applications" ne sont pas expliqués comme les autres parties pourquoi?
  • "Cependant, établir des garanties plus larges comme le contrôle des ressources ou le temps réel reste une question ouverte[19]." : depuis 2002 ces questions n'ont pas trouvés de solutions ???
  • "Les systèmes fermés" : manque explication qu'est ce que systèmes fermés
  • "Bien que le système d'exploitation Java Card suit la majorité des préconisations du standard JAVA, toutes les fonctionnalités de JAVA ne sont pas supportées. En effet, les besoins pour ce type d'applications sont plus modestes au regard de la technologie matérielle utilisée. Ainsi, l'implémentation d'un JRE complet aurait beaucoup de mal à s'accommoder des quelques Ko disponibles dans une carte à puce. Par exemple, le support des threads n'est pas une fonctionnalité essentielle pour ce type d'application. Le jeux d'instruction de la JCVM (JavaCard Virtual Machine) a donc été adapté et réduit à l'essentiel." : manque référence
  • "La JCVM est découpée en deux parties :" : manque référence
  • "MULTOS est une véritable plateforme multi-applications qui supporte le chargement d'applications sur des cartes qui sont déjà en circulation. De plus, le processus de chargement MULTOS spécifique permet de s’assurer que l’application est authentifiée et que son intégrité est vérifiée au moyen de certificats dédiés." : manque référence
  • Partie Hyperviseur Camille, manque beaucoup de référence ou celle-ci sont mal formaté (ex §2.3 titre ref), cela rend difficile la lecture. ainsi que des explications sur les différentes instructions : jump, jumpif, ...
  • schéma Camille : manque explication
  • "Aujourd'hui le marché des cartes à puce s'ouvre aux nouveaux secteurs comme les transports, l'identité grâce aux nouveaux systèmes d'exploitation ouverts comme JavaCard et Multos." : manque référence

Structure modifier

points positives
  • le plan prend bien en compte tous les éléments des OS sur les cartes à puces.
points negatives
  • problème de compréhension de la différence entre les parties "fonctionnalités" et "spécificités"