PROCEDE DE MISE EN ŒUVRE D'UNE APPLICATION AU MOYEN D'UN LECTEUR DE CARTE A PUCE ET SYSTEME
CORRESPONDANT
L'invention concerne un procédé de mise en œuvre d'une application au moyen d'un lecteur de carte à puce connecté à un dispositif intelligent comportant des moyens de stockage. L'invention a aussi . pour objet le système correspondant, ainsi que le .lecteur et le dispositif intelligent.
Le domaine de l'invention est celui des transactions électroniques effectuées notamment dans un environnement domestique.
Avec la venue dans les foyers d'un réseau -de télécommunication tel qu'Internet, les transactions électroniques prennent un nouvel essor et plus particulièrement celles liées au commerce électronique. Parmi les opérations de commerce électronique, on peut citer le paiement, le transfert de fond, le contrôle d'accès, la loterie, ... ; elles sont basées sur des transactions électroniques entre un système électronique domestique et le serveur de l'organisme sollicité tel que celui d'une banque, de la loterie nationale, d'une maison de crédit, d'une société de location de voitures, d'un service spécialisé, ....
Actuellement les transactions électroniques liées à un usage domestique, telles que celles qui consistent par exemple pour un particulier à communiquer ses coordonnées bancaires sont insuffisamment sécurisées et
les fraudes sont en constante augmentation ; elles augmentent de 50% par an.
La solution la mieux adaptée pour sécuriser les transactions électroniques sur un réseau tel qu'Internet est la carte à puce. Dans le cadre d'un usage domestique, cela nécessite l'utilisation d'un lecteur de carte à puce relié au réseau Internet via un ordinateur personnel, le lecteur- contenant une application capable d'effectuer des transactions sécurisées en utilisant la carte à puce avec laquelle il communique.
On désigne par lecteur de carte à puce un terminal apte à échanger des informations avec le module (c'est- à-dire la puce) intégré dans la carte à puce ; le module comporte de façon classique, au moins une unité centrale, une mémoire de travail, une ou plusieurs mémoires de stockage, une interface d'entrée-sortie et un bus . La carte à puce peut être une carte à contact et/ou sans • contact . Dans certains cas, la carte à puce n'est composée que du module.
Pour des raisons de sécurité, l'application électronique relative à l'opération sélectionnée, c'est-à-dire apte à effectuer les transactions électroniques sécurisées correspondant à cette opération, doit être exécutée dans le lecteur de carte à puce car celui-ci est sécurisé. Cette application doit donc être stockée également dans le lecteur de carte à puce. Il s'agit alors d'une application sécurisée. Dans le cas où le lecteur est utilisé pour exécuter plusieurs applications électroniques, on le nomme
lecteur multi-applicatif ; de même, on désigne par lecteur mono-applicatif le lecteur utilisé pour exécuter une seule application électronique.
On se place plus particulièrement dans un contexte multi-applicatif .
Il existe aujourd'hui de nombreuses spécifications de lecteur de carte à puce multi-applicatif, à usage domestique. Certaines préconisent d'utά-liser le langage de programmation Java, dont la mise .en oeuvre consomme beaucoup d'espace en mémoire.
Un exemple de lecteur multi-applicatif actuel est représenté figure 1. Le lecteur 1 est relié via un ordinateur personnel 2 à un serveur 3 à travers un réseau de télécommunication 4 en l'occurrence le réseau Internet. Le lecteur 1 est connecté à l'ordinateur personnel 2 à travers une liaison 5.
Le lecteur 1 comporte en particulier une ou plusieurs mémoires de stockage 11 comprenant notamment les différentes applications, un gestionnaire des applications apte à lancer l'application sollicitée et éventuellement à gérer le téléchargement d'une nouvelle application dans la mémoire 11 et le système opératoire, une unité centrale 12, une mémoire de travail 13 pour l'exécution de l'application sollicitée, un clavier de saisie 14 et un écran d'affichage 15.
Lorsque par exemple le particulier souhaite effectuer un paiement, le montant du paiement est affiché sur l'écran d'affichage 15 du lecteur relié à la carte à puce. En cas d'accord sur le montant, le particulier valide la transaction de débit en
saisissant le code secret de sa carte à puce sur le clavier 14. Le lecteur 1 envoie alors à la carte des informations de transaction incluant le montant complété du code et d'autres informations transparentes pour le particulier. La carte et/ou l'application résidant dans le lecteur crypte alors l'ensemble de ces informations (signe la transaction) qui sont envoyées par le lecteur 1, l'ordinateur 2 et - le réseau 4, au serveur 3 chargé de virer le montant du compte bancaire du particulier vers celui qui reçoit le paiement.
Selon la configuration représentée figure 1, toutes les applications sont stockées dans le lecteur 1 et l'utilisation de l'ordinateur personnel 2 n'est souvent réduite qu'à celle d'un canal de communication entre le lecteur 1 et le réseau 4.
Cette configuration présente des inconvénients. Les capacités de stockage 11 du lecteur 1 étant limitées, le nombre d'applications pouvant être stockées l'est également. Et la solution qui consiste à accroître les capacités de stockage 11, augmente le prix du lecteur 1.
D'autre part, lors de la maintenance ou du remplacement du lecteur 1, les applications sont perdues. De plus, l'installation d'une nouvelle application depuis le serveur 3 dans le lecteur 1 est lourde car elle est réalisée à travers le réseau 4 et l'ordinateur personnel 2 auquel le lecteur 1 est connecté.
En outre, le lecteur 1 doit comporter un gestionnaire d' applications ' et de téléchargement, ce qui augmente d'autant le coût du lecteur 1.
Enfin, l'architecture d'un tel lecteur est plus complexe du fait du stockage de plusieurs applications, de la recherche et du lancement de l'application sollicitée et . de la gestion de la sécurité dans un contexte multi-applicatif.
Un tel lecteur multi-applicatif est finalement plus proche d'un terminal de paiement, tel que ceux que les banques mettent à la disposition de leurs clients pour retirer de l'argent, commander un chéquier, consulter ses comptes, etc) , que d'un système domestique.
Le but de la présente invention est donc de proposer des éléments permettant d'obtenir un système multi-applicatif, sécurisé à prix réduit notamment utilisable dans un environnement domestique. L'invention a pour objet un procédé de mise en œuvre d'une application au moyen d'un lecteur de carte à puce connecté à un dispositif intelligent comportant des moyens de stockage, principalement caractérisé en ce qu'il comporte les étapes consistant à : - sélectionner ladite application parmi les applications stockées dans les moyens de stockage dudit dispositif intelligent, télécharger ladite application dudit dispositif intelligent dans le lecteur en vue de sa- mise en œuvre par le lecteur.
Selon une caractéristique de l'invention, le lecteur est relié à un serveur via ledit dispositif intelligent et en ce que ladite application est mise en œuvre par le lecteur en relation avec ledit serveur.
Selon une autre caractéristique de l'invention,, il comporte une étape préalable consistant à vérifier que ladite application ne réside pas dans le lecteur, et lorsque c'est le cas à commander la sélection et le téléchargement de ladite application au moyen du serveur ou du lecteur ou du dispositif intelligent.
Préalablement à leur stockage dans les moyens de stockage dudit dispositif intelligent,- les applications sont de préférence chiffrées et/ou signées, et éventuellement, préalablement à sa mise en œuvre par le lecteur, l'intégrité de ladite application est vérifiée par le lecteur.
L'invention concerne également un système de mise en œuvre d'au moins une application, caractérisé en ce qu'il comporte un lecteur de carte à puce comprenant des moyens de mise en œuvre d'une desdites applications, et, relié audit lecteur, un. dispositif intelligent comportant des moyens de stockage desdites applications, et un gestionnaire d'applications apte à sélectionner et télécharger vers ledit lecteur, l'une desdites applications stockées dans lesdits moyens de . stockage en vue de sa mise en œuvre par le lecteur.
Selon une caractéristique de l'invention, il comporte en outre des moyens de dialogue entre le lecteur et le dispositif intelligent visant à vérifier
que ladite application ne réside pas dans ledit lecteur.
Le lecteur peut être intégré au dispositif intelligent. Selon une autre caractéristique de l'invention, le lecteur comporte un clavier et un écran d'affichage et en ce que ledit système comprend une télécommande dans laquelle sont déportés ledit clavier- -et ledit écran, ladite télécommande étant reliée au . lecteur au moyen d'une liaison.
Selon un mode de réalisation de l'invention, ladite application est mise en œuvre par le système en relation avec un serveur auquel ledit système est relié via un réseau de télécommunication. L'invention a aussi pour objet un lecteur de carte à puce comprenant des moyens d'exécution d'au moins une application et apte à être connecté à un dispositif intelligent comportant des moyens de stockage desdites applications, caractérisé en ce qu'il comporte des moyens de dialogue avec ledit dispositif intelligent en vue de télécharger ladite application dudit dispositif intelligent dans le lecteur lorsque cette dernière ne réside pas dans le lecteur
Selon une caractéristique de l'invention, il comporte en outre des moyens de commande du téléchargement de ladite application dudit dispositif intelligent dans le lecteur.
L'invention concerne enfin, un dispositif intelligent, apte à être connecté à un lecteur de carte à puce, caractérisé en ce qu'il comporte des moyens de stockage aptes à stocker une ou plusieurs applications,
des moyens de dialogue avec ledit lecteur en vue de vérifier si ladite application ne réside pas dans le lecteur et un gestionnaire d'applications apte à sélectionner et télécharger vers ledit lecteur, l'une desdites applications.
Lesdits • moyens de stockage comportent avantageusement une cache d'applications où sont stockées ladite ou lesdites applications.
Lesdits moyens de stockage (21). peuvent être en tout ou partie amovibles.
Selon une caractéristique de l'invention, le dispositif intelligent est un ordinateur personnel ou un décodeur numérique ou un téléviseur numérique.
Selon une autre caractéristique de l'invention, il comporte des moyens de liaison à un serveur via un réseau de télécommunication qui peut être le réseau Internet.
D'autres particularités et avantages de 1 ' invention apparaîtront clairement à la lecture de la description faite à titre d'exemple non limitatif et en regard des dessins annexés sur lesquels : la figure 1 déjà décrite représente schématiquement un exemple d'architecture multi-applicative selon l'état de la technique, la figure 2 représente schématiquement un exemple d'architecture multi-applicative selon l'invention, la figure 3 représente schématiquement un exemple de mode de réalisation de l'invention.
Dans la figure 2, les mêmes références sont utilisées pour désigner les mêmes éléments que ceux de l'architecture multi-applicative schématisée figure 1.
On a représenté sur les figures 1 et 2 un ordinateur personnel 2. Ce peut être également un téléviseur numérique, un décodeur numérique ou un terminal "Minitel" évolué. Il s'agit plus généralement d'un dispositif intelligent ayant des capacités de stockage telle qu'une mémoire de masse, apte à être connecté à un lecteur de carte à puce et éventuellement apte à être relié à un serveur via un réseau de télécommunication. Le réseau de télécommunication est accessible par liaison filaire ou non filaire. Ce dispositif intelligent est de préférence un appareil électronique localisé à proximité du lecteur. Il comporte de préférence des moyens de communication avec l'extérieur, par exemple avec un serveur distant.
On peut en effet considérer le cas des. transactions électroniques en ligne en relation avec un serveur auquel le dispositif est alors relié, ou celui des transactions hors ligne ("off-line") , c'est-à-dire n'intervenant qu'entre le lecteur et ledit dispositif qui n'est alors pas nécessairement relié à un serveur.
Dans la suite on va plus particulièrement prendre comme exemple celui des transactions en ligne effectuées en relation avec un serveur.
L'architecture multi-applicative selon l'invention permet de déporter le stockage des applications, du lecteur de carte à puce vers le dispositif intelligent afin de réduire au niveau du lecteur, les capacités de stockage et les moyens de gestion des différentes
applications et réduire ainsi le coût du lecteur. Les applications sont néanmoins exécutées par le lecteur.
Plus précisément, les applications sont stockées dans la mémoire de masse 21 du dispositif 2 intelligent au lieu de l'être dans la mémoire 11 du lecteur 1 de carte à puce:
Mais un dispositif intelligent tel qu'un ordinateur personnel, n'est pas sécurisé comme l'est. un lecteur de carte à puce. Les applications peuvent éventuellement être détournées c'est-à-dire lues et/ou remplacées par une autre application et/ou contaminées par un virus, etc. Pour compenser cet inconvénient, les applications sont éventuellement chiffrées et/ou signées ; elles sont aussi de préférence stockées dans une cache d'applications 210 représentée figure 2, c'est-à-dire dans une zone de la mémoire réservée pour ces applications et protégée, qui peut être choisie en fonction de ses propriétés de manière à assurer un stockage le plus sûr possible. La mémoire de masse 21 peut se présenter en tout ou partie sous la forme d'un support amovible tel qu'une disquette, un disque optique numérique tel qu'un CD, acronyme anglo-saxon de "Compact Disk" ou- un DVD, acronyme anglo-saxon de "Digital Video Disk" ou une carte à mémoire comme une carte "PCM-CIA", ce qui présente un gage d'intégrité supplémentaire dans le cas de supports de type ROM, ces derniers n'étant pas attaquables par virus .
Selon un mode de réalisation de l'invention, les applications ont éventuellement été téléchargées sur le support à partir du serveur 3.
Lorsque le lecteur 1 doit échanger avec le serveur 3 des transactions électroniques relatives à une des applications stockées dans la mémoire de masse 21 du dispositif 2 intelligent, cette application est sélectionnée par le dispositif 2 à la demande, comme décrit plus -loin, du lecteur 1, du serveur 3 ou du dispositif 2 lui-même ; l'application est alors téléchargée dans la mémoire de travail 13 du lecteur 1 au moyen du gestionnaire d'applications du dispositif 2, en vue d'être exécutée par le lecteur 1. Lorsqu'il s'agit d'une application chiffrée et/ou signée, le lecteur 1 vérifie, l'intégrité de l'application avant de la mettre en mémoire et/ou de l'exécuter : il la déchiffre et/ou vérifie la signature. La demande de téléchargement de l'application dans le lecteur peut notamment être commandée par le serveur 3, le dispositif 2 intelligent ou le lecteur 1.
Selon un mode de réalisation de l'invention, le serveur 3 vérifie au moyen d'un dialogue avec le lecteur 1, que l'application devant être exécutée par le lecteur pour effectuer les transactions, réside dans le lecteur. Si c'est le cas, les transactions peuvent aussitôt être effectuées. Sinon, le serveur 3 envoie une commande au gestionnaire d'applications 22 du dispositif 2 afin qu'il télécharge ladite application dans le lecteur 1 pour que celle-ci soit exécutée par le lecteur.
Cette commande peut aussi être envoyée au lecteur 1 qui sollicite alors le gestionnaire d'application 22 du dispositif 2. Ceci présente l'avantage d'utiliser le
lecteur 1 dont la sécurité est généralement supérieure à celle du dispositif 2.
Selon un autre mode de réalisation de l'invention, le dispositif 2 lui-même commande le téléchargement d'une application vers le lecteur 3 par exemple dans le contexte suivant .
Le dispositif 2 intelligent est un ordinateur personnel. Lors de la consultation d'un site sur Internet à partir de pages "html", un lien est proposé vers une application nécessitant l'exécution par le lecteur d'une desdites applications.
Lorsque l'utilisateur clique sur le lien et lance ainsi l'application, l'ordinateur 2 qui dispose de moyens de dialogue avec le lecteur 1, vérifie que l'application sécurisée réside dans le lecteur 1.
Si c'est le cas, l'application peut être aussitôt exécutée par le lecteur 1 en relation avec le serveur 3. Sinon, l'application commande au gestionnaire d'applications 22 du dispositif 2 de télécharger ladite application dans le lecteur 1 pour que celle-ci soit exécutée par le lecteur 1.
Selon un troisième mode de réalisation de l'invention, la carte à puce nécessaire aux transactions étant reliée au lecteur, le lecteur lui- même vérifie que l'application nécessaire aux transactions qu'il souhaite effectuer avec le serveur, est résidente. Si c'est le cas, les transactions peuvent aussitôt être effectuées. Sinon, le lecteur 1 envoie une commande au gestionnaire d'applications 22 du dispositif 2 par exemple à la fin de son dialogue avec le dispositif 2, afin qu'il télécharge ladite
application dans le lecteur 1 pour que celle-ci soit exécutée par le lecteur 1.
Un exemple de ce mode de réalisation va à présent être décrit en relation avec la figure 3. Selon cet exemple, le dispositif 2 intelligent est un ordinateur personnel. Lors de la consultation suivant la liaison "a", d'un site sur Internet à partir de pages "html", un lien est proposé vers une application nécessitant l'exécution, par le lecteur d'une desdites applications. Il s'agit par exemple de régler le montant d'un achat.
Lorsque l'utilisateur clique sur le lien et lance ainsi l'application, l'ordinateur 2 est alors mis en relation avec le serveur 3 suivant la liaison "b". Un dialogue s'établit entre l'ordinateur 2 et le serveur 3. Le serveur 3 demande alors au lecteur 1 suivant la liaison "c" via 1 Ordinateur • 2, de lancer l'application correspondante permettant de régler le montant de l'achat. Deux cas peuvent se présenter.
Lorsque l'application réside dans la mémoire de travail 13 du lecteur 1, l'application peut être exécutée par le lecteur 1 en relation avec le serveur 3. Lorsque l'application ne réside pas dans la mémoire de travail 13 du lecteur 1, le système opératoire du lecteur 1 se met en relation avec le gestionnaire d'applications 22 de l'ordinateur 2, suivant la relation "d" . Le gestionnaire d'applications 22 recherche l'application souhaitée dans la cache d'applications 210, suivant le lien "e".
Si l'application réside dans la cache 210, elle est alors téléchargée dans la mémoire de travail 13 du lecteur 1 via les liaisons "e", "d" et "f".
Si l'application ne réside pas dans la cache 210, alors le gestionnaire d'applications 22 de l'ordinateur 2, envoie une requête au serveur 3 suivant la liaison "g", pour qu'il lui transmette l'application souhaitée. Celle-ci est alors ajoutée dans la cache d'applications 210, puis téléchargée via les liaisons "e", "d" et "f" dans la mémoire de travail 13 du lecteur 1.
L'intégrité de l'application est vérifiée par le système opératoire pendant le téléchargement.
La transaction s'achève une fois que l'application a été exécutée suivant la liaison "c". Bien sûr, l'acheteur aura été sollicité lors de l'exécution de l'application, pour introduire sa carte à puce dans le lecteur 1.
Selon le cas, le lecteur est maître ou esclave.
Dans les trois cas cités, le lecteur 1 comprend des moyens de dialogue avec le serveur 3, et/ou le dispositif 2 intelligent.
Ces moyens de dialogue se présentent par exemple sous la forme d'un programme résidant dans le système opératoire du lecteur 1. Des programmes correspondants sont inclus dans le dispositif 2 intelligent et le serveur 3.
Les moyens de dialogue du lecteur 1 avec le dispositif 2- comportent de préférence des moyens de commande du gestionnaire d'applications 22 du dispositif 2.
La durée du changement d'une application à l'autre, incluant la sélection et le téléchargement de l'autre application, varie d'une application à l'autre en fonction bien sûr de la taille de l'application mais aussi en fonction du type de liaison 5 entre le dispositif 2 et le lecteur 1. La liaison 5 peut être filaire ou non.
Avec une liaison 5 série (filaire) dé type RS232 fonctionnant à 115200 bit/s, la transmission le long de la liaison d'une application de 50 Koctets dure 5 secondes sans compter le temps nécessaire à l'éventuelle vérification par le lecteur 1 de l'intégrité de l'application et à son chargement dans la mémoire 11 du lecteur. Aussi choisit-on de préférence une liaison 5 (filaire) de type USB du nom de la norme USB ("Universal Sériai Bus" en anglais) avec un débit à 12 Mbits/s ; la transmission de la même application ne dure alors que 50 millisecondes. On peut cependant se contenter d'une liaison 5 série de type RS232 dans le cas de changements d'applications peu fréquents et préférer une liaison 5 de type USB dans le cas de changements fréquents.
La liaison peut aussi être de type Bluetooth du nom d'un consortium qui regroupe des industriels chargés de définir des spécifications pour connecter entre eux par voie radio des équipements séparés d'une distance inférieure à 100 m.
Il peut s'agir aussi d'une liaison' par voie infrarouge,' par exemple selon la norme IRDA acronyme anglo-saxon de Infra Red Data Association.
Selon un mode de réalisation particulier, le lecteur 1 est intégré au dispositif 2. L'écran d'affichage 15 et/ou le clavier 14 du lecteur peuvent aussi être déportés sur une télécommande dans le cas par exemple où le dispositif 2 est un téléviseur numérique ou- un décodeur numérique par satellite ; la télécommande est alors, reliée au lecteur 1 par exemple au moyen d'une liaison infra-rouge OU toute autre liaison. Cette architecture multi-applicative selon l'invention présente l'avantage d'augmenter considérablement la capacité de stockage - des applications concernées car la capacité de stockage dudit dispositif est très supérieure à celle d'un lecteur multi-applicatif. Compte tenu de la taille de ces applications, elles peuvent être stockées en nombre quasiment illimité dans la mémoire de masse 21 du dispositif intelligent.
Le lecteur peut alors ne disposer que de capacités de stockage réduites et voir ainsi son coût réduit d'autant tout en disposant d'un nombre quasiment illimité d'applications. De même, le gestionnaire d'applications nécessaire dans le cas d'un lecteur multi-applicatif, devient superflu puisque le lecteur n'a qu'une application à gérer, en l'occurrence celle qui est téléchargée.
De plus,, lors de la maintenance ou du remplacement du lecteur, les applications ne sont pas perdues.
L'invention ne se limite pas à une architecture multi-applicative selon laquelle tout le stockage des
applications est déporté du lecteur vers le dispositif intelligent.
Les applications d'usage fréquent • peuvent en effet être stockées dans le lecteur et les moins utilisées être stockées dans le dispositif intelligent.
Dans ce' cas, lorsque le téléchargement dans le lecteur d'une application stockée dans le dispositif intelligent est nécessaire, une des applications stockées dans le lecteur (la moins utilisée par exemple) est remplacée par celle ' provenant du dispositif intelligent. Ou encore, une zone mémoire du lecteur est réservée pour les applications le plus souvent téléchargées.