Accueil Remonter Normes Lecteurs Livres Logiciels Contactez-moi Liens  
     

Carte Gold
Carte Silver
Carte Fun
Carte Jupiter
Basic Card

La Basic Card®

de Zeit Control

 

Même si l’on parle habituellement de la Basic Card® au sens large du terme, ce n’est pas moins de 15 modèles qui sont aujourd’hui commercialisés par son promoteur, la petite société allemande Zeit Control dont je vous invite à découvrir le site Internet figurant à la rubrique Liens. Dans son principe, cette carte n’a rien d’original puisqu’il s'agit d'une carte à puce à OS ouvert. Mais qu'est-ce qu'un OS ouvert ?

Les cartes à puce à OS ouvert

Même si de nombreuses pages ont été noircies et le seront encore sur ce sujet, certains auteurs compliquant à plaisir des notions fort simples ; une carte à OS ouvert n’est rien de bien compliqué quant à son principe. Il suffit, pour le comprendre, de toujours garder présent à l’esprit qu’une carte à puce n’est rien d’autre qu’un microcontrôleur. Une carte à OS ouvert est en quelque sorte une carte à puce "non terminée", c’est à dire une carte dans laquelle vous allez pouvoir programmer votre propre interpréteur de commande, et donc votre propre jeu d’instructions et vos propres mécanismes de gestion de fichiers.

Contrairement à une carte de type Gold, Silver, Fun ou Jupiter que vous êtes obligé de programmer intégralement en assembleur, dans une carte à puce à OS ouvert vous ne programmez pas directement le microcontrôleur de la carte en assembleur mais en langage évolué, qui peut être le très à la mode langage Java mais aussi certains langages spécifiques, du C, voire même du Basic dans le cas de la Basic Card®. Ce langage évolué est pré-compilé, c’est à dire qu’il n’est pas traduit directement en langage machine mais en un code intermédiaire, appelé le P code, qui est alors chargé dans la mémoire de programme de la carte. Le microcontrôleur qui équipe cette dernière a quant à lui été programmé par son fabricant avec un interpréteur de P code et il est donc à même d’exécuter votre programme.

Même si cela est présenté comme quelque chose d’extraordinaire par certaines publications ; tout ceci est très classique pour qui connaît un peu les microcontrôleurs. Tout ceci est synthétisé visuellement sur la figure ci-dessous dans le cas d’une carte à puce de ce type.

Une telle approche offre de multiples avantages que l’on peut résumer de la manière suivante :

- La carte est réellement programmable en fonction des besoins de l’application, comme lors d’une programmation par masque.
- La carte se programme en langage évolué, Java, C, Basic, accessible au commun des mortels et surtout indépendant du processeur contenu dans la carte.
- Les contraintes de programmation en grande série, imposées par la programmation par masque, n’existent plus car les cartes de ce type se programment unitairement si nécessaire.
- L’application ainsi développée est portable puisqu’elle peut être exécutée, du moins en théorie, dans toute carte compatible du langage utilisé.

Les Basic Card

Notre Basic Card® est donc une carte à OS ouvert , c’est à dire encore qu’elle contient un microcontrôleur programmé avec un interpréteur de P code. Ce qui est plus original, c’est que ce P code provient du résultat de la compilation par l’outil de développement d’un programme écrit en Basic.

Mai attention ! Le Basic en question se rapproche plus du C que du bon vieux GWBasic des premiers PC. On y trouve en effet des structures du style "case of" ou bien encore "do loop". C’est assez loin du bon vieux GOTO des familles, même si ce Basic évolué a su garder la simplicité de programmation inhérente à ce langage. Et c’est justement cette simplicité de programmation qui fait une partie de l’intérêt de la Basic Card®. En effet, si vous savez ce qu’est une carte à puce, il ne vous faudra que quelques heures pour arriver à développer une application opérationnelle.

Autre intérêt majeur de cette approche : l’outil de développement nécessaire est totalement gratuit. Il peut être librement téléchargé sur le site Internet spécialement consacré à la Basic Card®, d’adresse www.basiccard.com

En outre, le langage Basic utilisé pour le développement de l’application côté carte est également utilisable pour développer l’application côté terminal destiné à utiliser la carte. Il n’est donc pas nécessaire d’apprendre ou d’utiliser un nouveau langage pour programmer l’application côté lecteur. C’est donc un atout non négligeable car cela peut faire gagner beaucoup de temps.

Enfin, l’outil de développement intègre un simulateur de carte qui vous permet, sans posséder le moindre lecteur ni la moindre carte, de tester votre application. La rubrique "tutoriels" du site vous présente d'ailleurs quelques exemples d’utilisation de ce remarquable outil.

Avant de conclure cette présentation de la Basic Card®, précisons qu’elle offre tout ce que l’on est en droit d’attendre d’une "vraie" carte à puce en matière de sécurité puisque, comme le montrent les tableaux ci-dessous qui résument la gamme Basic Card®, toutes les cartes supportent de puissants algorithmes cryptographiques tels que le classique DES, quand ce n’est pas le récent AES ou bien encore le RSA.

Compact BasicCard

Version

EEPROM

RAM

Protocole

Cryptage

Virgule flottante

Système de fichiers

ZC1.1

1K

256 bytes

T=1

SG-LFSR

Non

Non

Enhanced BasicCard

Version

EEPROM

RAM

Protocole

Cryptage

Extras

Virgule flottante

Système de fichiers

ZC3.1

2K

256 bytes

T=1

DES

 

Oui

Oui

ZC3.2

4K

256 bytes

T=1

DES

 

Oui

Oui

ZC3.3

8K

256 bytes

T=1

DES

 

Oui

Oui

ZC3.4

16K

256 bytes

T=1

DES

 

Oui

Oui

ZC3.5

6K

256 bytes

T=1

DES

EC-FSA

Oui

Oui

ZC3.6

14K

256 bytes

T=1

DES

EC-FSA

Oui

Oui

ZC3.7

2K

256 bytes

T=1

DES

 

Oui

Oui

ZC3.8

4K

256 bytes

T=1

DES

 

Oui

Oui

ZC3.9

8K

256 bytes

T=1

DES

 

Oui

Oui

Professional BasicCard

Version

Cryptographie

EEPROM

RAM

Protocole

Cryptographie

Extras

Virgule flottante

Système de fichiers

ZC4.5A

RSA

30K

1K

T=0, T=1

AES

SHA-1

Partiellement

Oui

ZC4.5D

RSA

30K

1K

T=0, T=1

DES

SHA-1

Partiellement

Oui

ZC5.4

EC-167

16K

1K

T=0, T=1

AES & DES

SHA-1

Oui

Oui

ZC5.5

EC-167

31K

1.7K

T=0, T=1

EAX/OMAC/
AES/ DES

SHA-1

Oui

Oui

MultiApplication BasicCard
 

Version

Cryptographie

EEPROM

RAM

Protocole

Cryptographie

Extras

Virgule flottante

Système de fichiers

ZC6.5

EC-167

31K

1.7K

T=0, T=1

EAX/OMAC/
AES/ DES

SHA-1

Oui

Oui

Pour en savoir plus

Je vous invite à consulter la rubrique "tutoriels" de ce site afin de découvrir quelques exemples d'utilisation de la Basic Card et à apprendre à prendre en mains son kit de développement.


Site déclaré à la CNIL sous le n° 1112854
© 2017 - C.Tavernier - Reproduction interdite sans autorisation