PROCEDE DE COMMANDE D'UNE CARTE A PUCE.
La présente invention concerne de manière générale les cartes à puce, et plus particulièrement la commande d'une carte à puce par une séquence d'instructions mémorisée dans un fichier, ou page, stocké dans un serveur distant d'un réseau de télécommunications, par exemple de type INTERNET.
Une puce d'une carte à puce est un composant électronique comprenant au moins une zone de mémoires et une unité de traitement supportant des fonctions dites natives, qui sont intégrées dans la puce lors de sa fabrication, et un système d'exploitation.
Les réseaux de radiocommunications de type mobile, tel que GSM (Global System for Mobile communications) et les réseaux de télécommunications de type INTERNET ont été marqués ces dernières années par des évolutions technologiques très significatives. Dans ces évolutions, la carte à puce joue un rôle important, en raison de l'intelligence de traitement qu'elle supporte et de la garantie de sécurité qu'elle offre.
L'émergence quasi-simultannée des technologies de radiocommunications avec les mobiles et de télécommunications de type INTERNET a vu naître l'apparition d'une solution dite "Protocole d'Accès Sans Fil" (WAP ou "Wireless Access Protocol" en terminologie anglo-saxonne) proposée par des sociétés telles que "Unwired Planet", maintenant renommée "Phone.Com". Cette technologie WAP propose d'accéder via des téléphones mobiles à des serveurs de type INTERNET et à leurs contenus. Pour la mise en oeuvre de cette technologie, le téléphone mobile doit mémoriser un programme, appelé interpréteur (ou "browser" en terminologie anglo-saxonne). Le téléphone accède au serveur INTERNET à travers une passerelle WAP. L'utilisation de la technologie WAP, très prometteuse, est encore limitée par la faible largeur de bande disponible pour chaque usager, qui n'autorise pas un transfert à débit élevé vers le terminal mobile de données mémorisées sur le serveur distant. Ainsi, par exemple, un service GSM de type SMS (Short Message Service) n'autorise qu'un débit très limité pour accéder à des contenus d'informations volumineux.
Les technologies de la carte à puce ont, parallèlement à l'émergence de ces technologies, été marquées par deux évolutions importantes : - la définition pour utilisation dans le Standard GSM, tel que défini par l'ETSI (European Standard Télécommunications Institute), d'une norme (identifiée par la référence GSM 1 1.14) stipulant un kit de commandes de carte à puce SIM (Subscriber Identity Module), dit SIM TooIKit. Cette norme définit de nombreuses commandes propres à être exécutées par la carte sur requête du terminal mobile; et - l'arrivée des cartes à puce dites "ouvertes". Durant les vingt dernières années en effet, les cartes à puce ont évolué en n'étant au départ que des systèmes dédiés à une application bien particulière pour devenir des "plates-formes" ouvertes, pour lesquelles tous les programmeurs peuvent développés eux-mêmes des applications en utilisant un langage commun et standard. A titre d'exemple, le standard Java Card promu par SUN propose un programme "Machine Virtuelle"
(VM) offrant une interopérabilité de la carte indépendamment de son unité de traitement et une interface de programmation (API) offrant une interopérabilité de la carte indépendamment de son système d'exploitation. Ainsi, les VM et API "masquent" l'unité de traitement et le système d'exploitation quels qu'ils soient, et toute personne peut donc développer une application indépendamment des fonctions natives et système d'exploitation inclus initialement dans la carte.
Les spécifications WAP, telles que définies par le WAP Forum, proposent une interface ouverte entre un terminal mobile et une passerelle WAP elle même reliée à un serveur d'un réseau par exemple de type Internet, permettant ainsi une interopérabilité entre n'importe quel terminal mobile et n'importe quelle passerelle indépendamment des constructeurs de ces terminal mobile et passerelle. Pour cela, il définit une série d'instructions, ou commandes, normalisées entre le terminal et la passerelle.
Une solution naturelle dans la mise en oeuvre des échanges entre une carte à puce et un serveur distant à travers un réseau de radiocommunications avec les mobiles est de se baser sur les concepts du WAP, en reprenant ses commandes standardisées. Il faut alors développer un micro-browser, ou micro-interpréteur,
dans la carte propre à supporter ces commandes standardisées. Elle présente l'inconvénient que le micro-browser dans la carte nécessite un espace mémoire important, ressource critique dans une carte à puce. En outre, l'implémentation souffrirait du même inconvénient que celui qui affecte encore aujourd'hui le WAP, à savoir le manque de bande passante, lorsque l'on utilise par exemple le canal
SMS.
L'invention vise à remédier aux inconvénients précités en fournissant un procédé de commande, à travers un réseau de télécommunications avec les mobiles, d'une carte à puce par une séquence d'instructions de programme d'ordinateur mémorisée dans un fichier, ou page, stocké dans un serveur distant afin de faire exécuter par la carte une tâche particulière, ladite carte comprenant un interpréteur pour interpréter ladite séquence, qui se caractérise en ce que l'interpréteur implémente une correspondance entre chacune d'une pluralité d'instructions et chacune de commandes disponibles prédéfinies entre la carte et le terminal mobile, et en ce que lorsqu'une instruction est détectée par l'interpréteur comme correspondant à une commande disponible propre à la carte, ledit interpréteur demande l'exécution de ladite commande par ladite carte ou par le terminal sur requête de la carte.
Ainsi, lorsqu'une carte produit une requête à destination du serveur, ce dernier renvoie une séquence d'instructions. Cette séquence est conçue très spécifiquement pour l'environnement Sim ToolKit (commandes disponibles pour la commande de la carte par un terminal mobile) et permet de limiter très sensiblement la taille d'espace mémoire nécessaire pour le micro-browser. En effet, toutes les instructions de la séquence qui sont associées directement à des commandes Sim ToolKit respectives ne nécessitent aucun traitement significatif de la part du micro-browser, ce dernier se limitant à renvoyer ces instructions, pour exécution, à des programmes de traitement de commandes Sim ToolKit préexistants dans la carte.
Typiquement, les commandes disponibles prédéfinies entre la carte et le terminal mobile sont telles que définies par le jeu d'outils SIM (SIM ToolKit) de la
Recommandation GSM1 1.14 du Standard GSM défini par l'ETSI, le réseau de radiocommunications avec les mobiles étant un réseau GSM.. Avantageusement, la séquence d'instructions est reçue par la carte à travers une passerelle qui transcrit chaque instruction du fichier en une instruction codée correspondant de sorte à produire un fichier de taille plus réduite transmis vers le terminal.
Par exemple, ce fichier de taille plus réduite transmis vers le terminal est véhiculé à travers un canal de Service de Message Court.
L'invention fournit également une carte à puce pour terminal mobile d'un réseau de radiocommunications avec les mobiles, la carte comprenant un interpréteur pour interpréter une séquence d'instructions de programme d'ordinateur mémorisée dans un fichier, ou page, stocké dans un serveur distant afin de faire exécuter par la carte une tâche particulière. La carte est caractérisée en ce que l'interpréteur implémente une correspondance entre chacune d'une pluralité d'instructions et chacune de commandes disponibles prédéfinies entre la carte et le terminal mobile, et en ce que lorsqu'une instruction est détectée par l'interpréteur comme correspondant à une commande disponible propre à la carte, l'interpréteur demande l'exécution de ladite commande par ladite carte ou par le terminal sur requête de la carte.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description qui suit, en référence aux dessins annexés correspondants dans lesquels :
- la figure 1 montre une représentation schématique d'un réseau de radiocommunications avec les mobiles, et une carte à puce et un serveur distant connecté entre eux à travers ce réseau; et
- la figure 2 est un diagramme explicitant le fonctionnement du micro-browser inclus dans la carte à puce.
En référence à la Figure 1 , une architecture de réseaux pour la mise en oeuvre de l'invention comprend, à titre d'exemple, un terminal mobile 1 recevant une carte à puce de type SIM 4. A travers un réseau de type GSM et son service de
messagerie associée SMS, le terminal communique avec une passerelle 2. Cette passerelle 2 est elle-même connectée a un serveur distant 3 mémorisant l'information de commande de la carte et un contenu d'informations associées. La Recommandation GSM 1 1 .14 de l'ETSI définit un jeu de commande, que l'on appelle le "SIM ToolKit" entre le terminal 1 et la carte 4. A titre d'exemple la commande "Display Text XXX" permet à la carte de commander l'affichage par le terminal sur son écran d'un texte XXX. La commande "Power On Card" permet au terminal d'activer la carte, etc
En revenant à la Figure 1 , la carte 4 sollicite le terminal 1 pour accéder à une page Internet en lui demandant d'émettre un SMS, selon une commande du type "Send
SMS 10 89 AB CC". Le contenu de ce SMS "10.89 AB CC" est alors envoyé par le terminal 1 par voie radioélectrique vers la station de base la plus proche du réseau GSM . Le message SMS est reçu par la passerelle 2 à travers le réseau GSM. La passerelle a plusieurs fonctions, dont notamment l'authentification du porteur de la carte, la gestion des accès, l'ajout de fonctions (telle que la localisation de la carte dans le réseau GSM qui est fonction de la cellule dans laquelle le terminal mobile est inscrit) prédéfinies entre la carte et cette passerelle pour l'enrichissement du dialogue avec le serveur 3. La passerelle reçoit ce message SMS et le convertit sous la forme d'un message d'adresse Internet, noté "http://www.tv.stk". Il est à noter que le contenu "10 89 AB
CC" envoyé dans le message SMS n'implique l'envoi que d'un faible volume de données comparativement à celui requis pour envoyer le message de texte "http://www.tv.stk", la conversion opérée par la passerelle 2 permettant ainsi de tenir compte des capacités limitées du SMS. En réponse à la réception de ce message d'adresse Internet "http://www.tv.stk", le serveur 3 renvoie, selon un protocole de type "requête-réponse" connu de l'homme du métier, une page, ou fichier, comprenant une séquence d'instructions. Ce fichier est noté STKML dans la Figure 1 pour "Sim ToolKit Markup Langage". Le langage STKML étant représenté sous un format d'apparence XML, il occupe un volume de données relativement important. Il est à noter que selon une caractéristique importante permettant la mise en oeuvre de la présente invention - la séquence d'instructions envoyée par le serveur 3 est écrite selon un langage conçu très spécifiquement pour l'environnement Sim ToolKit. Ainsi, chaque commande SIM ToolKit existante pour être exécutée par la carte ou par le terminal
sur requête de la carte, possède un équivalent univoque sous la forme d'une instruction dans le langage STKML, permettant la mise en oeuvre de l'invention. Pour tenir compte des capacités limitées du service SMS, la passerelle transcrit chaque instruction du fichier STKML en une instruction codée correspondant de sorte à produire un fichier de taille plus réduite. Ce fichier de séquences d'instructions transcrites est reçu par le terminal 1 qui le retransmet à la carte 4. Comme montré dans la Figure 2, la carte 4 comprend un interpréteur 40 et une pluralité de programmes élémentaires, d'exécution ou de requête d'exécution, notés P1 PN propres à l'exécution, par la carte ou par le terminal sur requête de la carte, du jeu de commande "SIM ToolKit" entre le terminai 1 et la carte 4.
L'interpréteur 40 implémente une correspondance, qui peut être à titre d'exemple une table de correspondance ou un branchement conditionnel (SI condition
ALORS ), entre chacune d'une pluralité d'instructions et chacune de commandes SimTooIkit disponibles prédéfinies entre la carte et le terminal mobile. Lorsqu'une instruction est détectée par l'interpréteur comme correspondant à une commande disponible propre à la carte, ledit interpréteur demande l'exécution de ladite commande par ladite carte ou par le terminal sur requête de la carte. La correspondance est établie entre instructions et commandes SimTooIkit de manière directe ou indirecte. A titre d'exemple, de manière directe, l'interpréteur associe à chaque instruction une commande disponible prédéfinie, et demande à d'autres programmes dans la carte d'exécuter ou de faire exécuter la commande identifiée, en leur transférant un paramètre. A titre d'exemple, de manière indirecte, l'interpréteur associe à chaque instruction un programme, et non pas la commande elle-même, dans la carte susceptible d'exécuter ou de faire exécuter une commande précise, et active ce programme.
Dans les éléments qui suivent sont présentés à titre d'exemple non limitatifs deux instructions en langage STKML avec leurs attributs et définitions associées, qui sont respectivement associées aux commandes « GET INPUT » et « SEND DTMF » des commandes Sim ToolKit.
INSTRUCTION ELEMENT INPtrT
- <ELEMENT input (response-length, variable-ref,%striπg-content;)> <ATTL1ST input
%id-attr;
%variable-ref-attr; format (digits|alp anum) "alphanum" type (text|password) "text" >
<ELEMENT response-length E PTY>
<ATTLIST response-length min CDATA #REQUIRED max CDATA #REQUIRED
>
INSTRUCTION PLAY-TONE
- <ELE ENT play-tone (tone)> <ATTLIST play-tone %id-attr;
>
<ELEMENT tone EMPTY> <ATTLIST tone %id-attr; type (dial-tone|other) "dial-tone"
> ou ATTLIST désigne la liste des attributs de la variable considérée.
Il est à noter que selon l'invention, pour chacune des commandes Sim ToolKit existantes (Display Text, Get Input, Select Item, Provide Local Info, Send SMS,
Send USSD, Setup Call, Send DTMF, PowerOn Card, PowerOff Card, Perform
Card APDU, Play Tone, etc ), une instruction correspondante existe dans le langage STKML. Le résultat obtenu est à opposer à celui issu de la transcription des commandes WAP, pour lesquelles cela est possible, car il est alors nécessaire de développer un interpréteur dans la carte requérant plus de volume si l'on souhaite obtenir un niveau de fonctionnalités équivalent à celui obtenu avec la totalité des commandes Sim ToolKit.