Source: http://www.google.fr/patents/EP1498856A2?cl=en
Timestamp: 2018-01-20 03:49:17+00:00
Document Index: 45444700

Matched Legal Cases: ['arte 3', 'arte 2', 'arte 2', 'arte 2', 'arte 2', 'arte 3', 'arte 3', 'arte 3', 'art 6', 'art 6', 'arte 3', 'arte 232', 'arte 232']

Brevet EP1498856A2 - Method for communication between a user station and a network, in particular ... - Google Brevets
The method is designed for communication between a terminal (1) fitted with a chip card reader (3) and a data transmission network (RI) e.g., an Internet The terminal has a first network (RI) access protocol layer including a determined number of logic communication layers (C1 - C4). The chip card reader...http://www.google.fr/patents/EP1498856A2?cl=en&utm_source=gb-gplus-shareBrevet EP1498856A2 - Method for communication between a user station and a network, in particular internet, and implementing architecture
Numéro de publication EP1498856 A2
Date de publication 19 janv. 2005
Autre référence de publication CA2307020A1, CA2307020C, CN1178178C, CN1277701A, DE69925806D1, DE69925806T2, EP1044436A1, EP1044436B1, EP1498856A3, US6751671, WO2000010139A1
Numéro de publication 04024744, 04024744.7, 0424744, 2004024744, 200424744, EP 1498856 A2, EP 1498856A2, EP-A2-1498856, EP04024744, EP1498856 A2, EP1498856A2, EP20040024744
Citations de brevets (6), Citations hors brevets (2), Référencé par (5), Classifications (27), Événements juridiques (8)
EP 1498856 A2
Système de communication selon la revendication 1, caractérisé en ce que le canal bidirectionnel est constitué par des couches de protocoles spécifiques (13, 23) interfaçant avec des couches de communication dites basses. A communication system according to claim 1, characterized in that the bidirectional channel is formed by specific protocol layers (13, 23) interfacing with said lower communication layers.
Système de communication selon la revendication 1 ou 2, caractérisé en ce que la carte à puce est adressée par le navigateur par utilisation d'une adresse URL définissant un rebouclage sur le terminal lui-même. A communication system according to claim 1 or 2, characterized in that the smart card is sent by the browser by use of a URL defining a loopback on the terminal itself.
Système de communication selon la revendication 1, caractérisé en ce que les couches de logiciel spécifiques (13, 23a) sont subdivisées en trois éléments logiciels principaux : A communication system according to claim 1, characterized in that the specific software layers (13, 23a) are subdivided into three main software components:
un module de transfert de bloc d'informations entre les couches de logiciel spécifiques et les couches protocolaires dites basses (CC1, CC2) ; an information block transfer module between specific layers of software and protocol layers called lower (CC1, CC2);
une ou plusieurs pièces de logiciel dit agent réalisant des fonctions de convention de protocole ; one or more pieces of software agent said performing protocol agreement functions;
Système de communication selon la revendication 4, caractérisé en ce que la première couche est constituée essentiellement d'un multiplixeur logiciel permettant l'échange d'informations entre la carte à puce et le terminal hôte sous la forme d'unités de données de protocole, chaque première couche de la pièce de logiciel spécifique incorporant un agent intelligent, lesquels réalisent entre eux une session. A communication system according to claim 4, characterized in that the first layer consists essentially of a software multiplixeur allowing the exchange of information between the smart card and the host terminal in the form of protocol data units, each layer of the first specific piece of software incorporating an intelligent agent, which carry between them a session.
Système de communication selon la revendication 5, caractérisé en ce que les couches (130, 230a) des pièces de logiciel spécifique gèrent des tables qui contiennent la liste des agents intelligents présents respectivement côté terminal et côté carte à puce, ces tables contenant des références fixes pour les agents de type serveur et des références de type variables pour les agents de type client. A communication system according to claim 5, characterized in that the layers (130, 230a) of the specific pieces of software manage tables which list the intelligent agents respectively present side terminal and the smart card, these tables containing fixed references for server-based agents and variable type references for client-based agents.
Système selon la revendication 5, dans lequel une connexion http avec le réseau RI implique la coopération de deux agents intelligents, du côté terminal un premier agent intelligent (132a) à propriété de type local assure les échanges entre le terminal hôte (1) et un agent (232a1) situé sur la carte à puce (2a) également à propriété de type local, un second agent intelligent (1322) à propriété de type réseau assure les échanges entre un agent (2321) situé sur la carte à puce (2a) également à propriété de type réseau et le réseau (RI). The system of claim 5, wherein an http connection to the network RI involves the cooperation of two intelligent agents, for terminal a first intelligent agent (132a) in local property type ensures exchanges between the host terminal (1) and agent (232A1) on the smart card (2a) also local property type, a second intelligent agent (1322) network type of property ensures exchanges between an agent (2321) on the smart card (2a) also network type of property and the network (RI).
un premier attribut dit « hôte », indiquant que l'agent intelligent est situé dans ledit terminal (1) ; a first attribute called "host", indicating that the intelligent agent is located in said terminal (1);
un deuxième attribut dit « carte », indiquant que l'agent intelligent est situé dans ladite carte à puce (2a) ; a second attribute called "map" indicating that the intelligent agent is located in the smart card (2a);
un troisième attribut dit « local », agent intelligent que l'agent intelligent ne communique pas avec ledit réseau (RI) ; a third attribute called "local" intelligent agent intelligent agent that does not communicate with said network (RI);
et un quatrième attribut dit « réseau » indiquant que l'agent intelligent communique avec ledit réseau (RI). and a fourth attribute called "network" indicating that the intelligent agent communicates with said network (RI).
Procédé mis en oeuvre par le système selon les revendications précédentes, comportant ; Process implemented by the system according to the preceding claims, comprising;
une étape d'envoi d'une primitive Terminal Get Configuration.request de la carte à puce vers le terminal pour obtenir la configuration du terminal hôte ; a step of sending a primitive Terminal Configuration.request Get the smart card to the terminal for the configuration of the host terminal;
une étape d'obtention d'un index des fonctions présentes dans la carte à puce via une URL de rebouclage demandant la page d'accueil de la carte à travers une session mettant en oeuvre un agent intelligent local hôte client et un agent intelligent local carte serveur ; an obtaining an index of step functions present in the smart card via a loopback URL requesting the home page of the card through a session using a local client host intelligent agent and a local map intelligent agent server;
une étape de réception de l'index des fonctions et de sélection d'une des applications disponibles par l'utilisateur du terminal ; a reception step of the index functions and selection of applications available for the terminal user;
une étape de génération par le navigateur du terminal d'une URL comportant le nom du site internet sélectionné, cette URL étant transmise à la carte à puce via un convertisseur de protocole par une cession de type faisant intervenir un agent intelligent local hôte client et un agent intelligent local carte serveur ; a generation step by the browser URL terminal having the name of the selected web site, this URL is transmitted to the smart card via a protocol converter type of assignment involving a client host local and intelligent agent Local intelligent agent server board;
une étape invitant l'utilisateur à composer un code d'identification et réalisée par une session entre deux agents intelligents d'échange de données, le code d'identification confidentiel étant ensuite transmis à la carte ; a step prompting the user to enter a user ID and performed by a session between two intelligent agents exchange data, the confidential identification code is then transmitted to the card;
une étape de vérification de la validité du code entré à l'étape précédente ; a step of verifying the validity of the code entered at the previous step;
une étape de détermination de la configuration pour le terminal par l'utilisation d'une primitive terminal set configuration.request ; a step of determining the configuration of the terminal by using a primitive terminal set configuration.request;
une étape de connexion au serveur d'application sélectionné ; a step of connecting the selected application server;
une étape d'obtention de la réponse, soit sous forme d'accusé de réception, soit sous forme d'un fichier. a step of obtaining the response or in the form of acknowledgment, or in the form of a file.
Le procédé selon l'invention est plus particulièrement concerné par une station d'utilisateur munie d'un lecteur de carte à "puce" et connectée au réseau précité. The method according to the invention is more particularly concerned with a user station provided with a card reader to "chip" and connected to the said network.
Dans le cadre de l'invention, le terme "station d'utilisateur" doit être compris dans un sens général. In the context of the invention, the term "user station" should be understood in a general sense. La station précitée peut être notamment constituée par un ordinateur personnel fonctionnant sous divers systèmes d'exploitation, tels WINDOWS ou UNIX (tous deux étant des marques déposées). The aforementioned station can be formed by including a personal computer using various operating systems such as Windows or UNIX (both are registered trademarks). Elle peut être aussi constituée par une station de travail, un ordinateur portable ou un terminal de carte, dit dédié. It can also be constituted by a workstation, a laptop or a card terminal, said dedicated.
De même, dans le cadre de l'invention, le terme "réseau Internet" englobe, outre le réseau Internet proprement dit, les réseaux privés d'entreprises ou similaires, dits "intranet", et les réseaux les prolongeant vers l'extérieur, dits "extranet". Similarly, in the context of the invention, the term "Internet network" includes, in addition to the Internet network itself, private business or similar networks, so-called "intranet", and networks extending the outwardly called "extranet".
Dans ce qui suit, sans en limiter en quoi que ce soit la portée, on se placera dans le cadre de l'application préférée de l'invention, sauf mention contraire. In the following, without limiting anything in reach, we will work within the framework of the preferred embodiment of the invention, unless otherwise indicated. On considérera donc une station d'utilisateur, que l'on appellera simplement "terminal", munie d'un lecteur de carte à puce et connecté à un réseau de type Internet. So assume a user station, which will simply be called "terminal", equipped with a smart card reader and connected to an Internet network type.
Un système d'application à base de carte à puce comporte généralement les éléments principaux suivants : A card-based application system chip generally includes the following main elements:
un réseau de communication, à savoir le réseau Internet dans l'application préférée ; a communication network, namely the Internet network in the preferred application;
La figure 1 illustre schématiquement un exemple d'architecture de ce type. Figure 1 schematically illustrates an example of this type of architecture. Le terminal 1, par exemple un ordinateur individuel, comporte un lecteur 3 de carte à puce 2. Ce lecteur 3 peut être ou non physiquement intégré dans le terminal 1. La carte à puce 2 comporte un circuit intégré 20 dont des connexions d'entrées-sorties affleurent en surface de son support pour autoriser une alimentation en énergie électrique et des communications avec le terminal 1. Ce dernier comprend des circuits d'accès à un réseau de transmissions de données RI . Terminal 1, for example, a personal computer has a 3 smart card reader 2. This reader 3 may or may not be physically integrated in the terminal 1. The smart card 2 includes an integrated circuit 20 whose input -sorties flush surface of the substrate, to allow an electric power supply and communication with the terminal 1. The latter comprises access circuits to a RI data communications network. Ces circuits dépendent, notamment, de la nature du réseau RI et du terminal 1. A titre d'exemples, il peut s'agir d'une carte réseau pour un réseau de type local ou d'un modem pour se connecter à une ligne téléphonique commutée ou à un réseau numérique à intégration de services ("RNIS"), pour se connecter au réseau Internet, par exemple via un prestataire de services Internet ("Internet Service Provider" ou "ISP", selon la terminologie anglo-saxonne). These circuits depend, in particular, the nature of the network RI and terminal 1. As examples, there may be a network card to a local type of network or modem to connect to a line switched telephone network or a digital Integrated Services ("ISDN") to connect to the Internet, for example via an Internet service provider ("Internet Service Provider" or "ISP" according to the English terminology) .
Le terminal 1 comprend naturellement tous les circuits et organes nécessaires à son bon fonctionnement, et qui n'ont pas été représentés dans un but de simplification du dessin : unité centrale, mémoires vive et fixe, mémoire de masse à disques magnétique, lecteur de disquette et/ou de CédéRom, etc. The terminal 1 naturally includes all the circuits and devices required for its proper functioning and which were not represented in the drawing simplification: CPU, RAM memory and fixed magnetic disk mass memory, disk drive and / or CD-ROM, etc.
Habituellement, le terminal 1 est aussi relié à des périphériques classiques, intégrés ou non, tels un écran de visualisation 5 et un clavier 6. Typically, the terminal 1 is also connected to conventional peripherals, integrated or not, such as a display screen 5 and a keyboard 6.
Le terminal 1 peut être mis en communication avec des serveurs connectés au réseau RI , dont un seul, 4, est illustré sur la figure 1. Dans le cas de l'application préférée de l'invention, des circuits d'accès 11 mettent le terminal 1 en communication avec les serveurs 4 grâce à un logiciel particulier 10, appelé navigateur, ou "browser" selon la terminologie anglo-saxonne. The terminal 1 can be placed in communication with servers connected to network RI, of which only one, 4, is illustrated in Figure 1. In the case of the preferred application of the invention, the access circuit 11 put the terminal 1 in communication with the servers 4 using a particular software 10, called the browser, or "browser" according to English terminology. Celui-ci permet d'accéder à diverses applications réparties sur l'ensemble du réseau RI , généralement selon un mode "client-serveur". It provides access to various applications distributed across the network RI, generally by a "client-server". Le document EP 0 785 534 A1 illustre une architecture carte/terminal/réseau/serveur de ce genre, dans le domaine du téléphone mobile. EP 0785534 A1 shows a map architecture / device / network / this kind of server, in the field of mobile phone.
Habituellement, les communications sur les réseaux s'effectuent conformément à des protocoles répondant à des standards comprenant plusieurs couches logicielles superposées. Typically, communications over networks are conducted in accordance with protocols that meet standards including several superimposed layers of software. Dans le cas d'un réseau RI de type Internet, les communications s'effectuent selon des protocoles spécifiques à ce type de communication, qui seront détaillés ci-après, mais qui comprennent également plusieurs couches logicielles. In the case of an Internet-type network RI, communications are performed according to specific protocols for this type of communication, which will be detailed below, but also include several software layers. Le protocole de communication est choisi en fonction de l'application plus particulièrement visée : interrogation de pages "WEB", transferts de fichiers, courrier électronique (e-mel, ou "e-mail" selon la terminologie anglo-saxonne), forums ou "news", etc. The communication protocol is chosen depending on the particular application contemplated pages interrogation "WEB", file transfers, electronic mail (e-mel, or "e-mail" according to English terminology), forums or "news", etc.
Dans un système d'applications à base de carte à puce, comme illustré par l'architecture de la figure 1, cette dernière peut se voir dévolu diverses fonctions. In a system of card-based applications to chip, as shown in the architecture of Figure 1, the latter may be vested various functions. En particulier, elle est utilisée à des fins de sécurité : confidentialité et/ou authentification de l'utilisateur du terminal 1. In particular, it is used for security purposes: confidentiality and / or authentication of the user of terminal 1.
Cependant, il est à noter que la carte 3 ne peut communiquer directement avec les navigateurs du commerce, sauf à modifier le code de ces derniers. However, it should be noted that the card 3 can not communicate directly with commercial navigators except by modifying the code of the latter. Les cartes à puce actuelles, qui par ailleurs sont conformes à des standards définis, ont une configuration matérielle et logicielle qui ne permet pas non plus de communiquer directement avec le réseau Internet. Current smart cards, which also conform to defined standards, have a hardware and software configuration that does not allow to directly communicate with the Internet. En particulier, elles ne peuvent recevoir et transmettre des paquets de données, selon l'un ou l'autre des protocoles utilisés sur ce type de réseau. In particular, they can not receive and transmit data packets, according to one or other of the protocols used on this type of network. Il est donc nécessaire de prévoir une pièce de logiciel additionnelle, implantée dans le terminal 1, généralement sous la forme de ce qui est appelé un "plug-in", selon la terminologie anglo-saxonne. It is therefore necessary to provide an additional piece of software, installed in the terminal 1, generally in the form of what is called a "plug-in", according to the English terminology. Cette pièce de logiciel, qui porte la référence 12 sur la figure 1, effectue l'interface entre le navigateur 10 et la carte 2, plus précisément les circuits électroniques 20 de cette carte 2. This piece of software, which has the reference 12 in Figure 1 performs the interface between the browser 10 and card 2, more precisely the electronic circuits 20 of the card 2.
La carte 2 fournit des données au navigateur 10, notamment des données de sécurité : par exemple des données permettant l'identification ou l'authentification, ou encore des données d'autorisation d'accès à tels ou tels serveurs éloignés 4 et/ou applications résidentes sur ces serveurs. Map 2 provides data to the browser 10, including safety data, eg data for identification or authentication, or access authorization data to this or remote servers 4 and / or applications resident on those servers.
Cette procédure offre un degré de sécurité plus élevé que la simple utilisation des couches logicielles dites sécurisées des navigateurs récents. This procedure provides the highest level of security than simply using software layers of the so-called secure browsers. La carte à puce 2 reste la propriété de l'utilisateur, et sous son contrôle. The smart card 2 remains the property of the user, and under its control. En particulier, les données de sécurité restent dans la mémoire de la carte 2 et ne sont transmis que sous forme chiffrée au terminal 1. Cependant la chaíne de sécurité présente un "maillon" faible. In particular, the safety data remain in the memory of the card 2 and are only transmitted in encrypted form to the terminal 1. However the security chain has a "link" low. En effet, le navigateur 10 est en communication avec le monde extérieur. In fact, the browser 10 is in communication with the outside world. A proprement parler, la communication n'est pas directe, car elle s'effectue via notamment les circuits physiques d'accès 11 et via diverses couches logicielles qui seront décrites ultérieurement de façon plus détaillée. Strictly speaking, communication is not direct because it is via including access physical circuits 11 and via various software layers that will be described later in more detail. Cependant, le terminal 1 habituellement utilisé pour ce type d'application ne comporte pas de moyens spécifiques, matériels ou logiciels, propres à assurer un haut niveau de sécurité et à l'isoler du monde extérieur. However, the terminal one usually used for this type of application has no specific means hardware or software, designed to ensure a high level of security and isolation from the outside world. Il reste donc sensible à diverses attaques en provenance du réseau RI : "virus", "cheval de Troie", "bombe logique", etc., ce malgré la présence du lecteur de carte 3, et de la carte à puce 2 externe au terminal 1. It remains sensitive to various attacks from the network RI "viruses", "Trojan horse", "logic bomb" etc., despite the presence of the card reader 3, and the smart card 2 external to 1 terminal.
Enfin, la carte à puce 2 peut être utilisée pour des applications autres que sécuritaires. Finally, the smart card 2 can be used for applications other than safe. Il convient de remarquer que, dans l'état actuel de la technique, le système hôte associé au lecteur de carte 3, c'est-à-dire le terminal 1, est alors associé également à une application particulière. It should be noted that in the present state of the art, the host system associated with the card reader 3, that is to say, the terminal 1 is then also associated with a particular application. En d'autres termes, il est nécessaire de prévoir un terminal spécifique, dit "dédié", pour chaque application particulière. In other words, it is necessary to provide a specific terminal, said "dedicated", for each particular application.
Or de nombreux besoins se font sentir pour des applications basées sur l'utilisation de cartes à puces, besoins qui sont imparfaitement ou non satisfaits par les systèmes de l'art connu, dont les caractéristiques principales viennent d'être rappelées. However, many needs arise for applications based on the use of smart cards, which are imperfect and needs unmet by the prior art systems, whose main features have just been recalled. Certains besoins ou exigences peuvent d'ailleurs être antinomiques avec ces caractéristiques. Certain needs or requirements may also be conflicting with these characteristics.
On peut citer, de façon non exhaustive, les besoins suivants : These include, without limitation, the following needs:
mobilité personnelle : un utilisateur doit pouvoir accéder à des services de communication n'importe où dans le monde, soit à partir de son propre équipement, soit à partir d'un autre équipement acceptant sa carte à puce, ce avec un degré de sécurité déterminé ; personal mobility: a user needs access to communication services anywhere in the world, either from their own equipment or from other equipment accepting his smart card, that with a degree of safety determined ;
environnement standard : où que ce soit l'utilisateur doit pouvoir retrouver son environnement de travail, toujours en bénéficiant des conditions de sécurité précitées, c'est-à-dire, en d'autres termes, qu'un changement d'équipement doit rester "transparent" pour l'utilisateur ; standard environment anywhere the user is able to find his work environment, always enjoying these safety conditions, that is to say, in other words, an equipment change should be "transparent" to the user;
mobilité du terminal : le terminal lui-même doit pouvoir être transporté et se connecter à n'importe quel endroit du réseau, l'utilisateur continuant à bénéficier de toutes les possibilités (autorisations de consultation, etc.) dont il bénéficie sur son site habituel ; terminal mobility: the terminal itself must carry and connect to any network location, the user still benefit from all the possibilities (Consultation authorizations, etc.) it enjoys its usual site ;
multifonctionnalité et standardisation : les terminaux utilisés doivent pouvoir accepter des cartes à puces multiusages, ce qui entraíne qu'ils ne doivent pas être spécifiques ou, pour le moins, nécessiter le téléchargement ou l'implantation de pièces de logiciel additionnelles ("plug-in", etc.), spécifiques à chaque application. multifunctionality and standardization: the terminals used must be able to accept multi-purpose smart cards, which causes that they should not be specific or, at least, require download or installation of additional software components ("plug-in ", etc.), specific to each application.
L'invention vise à pallier les inconvénients des systèmes de l'art connu, dont certains viennent d'être rappelés, tout en offrant un grand degré de sécurisation des communications et en satisfaisant les besoins et exigences qui se font sentir dans le domaine. The invention aims to overcome the disadvantages of the prior art systems, some of which have been mentioned, while providing a high degree of secure communication and meeting the needs and requirements that are felt in the area.
Selon une des caractéristiques essentielles de l'invention, tout ou partie du flot de données bidirectionnel entre le terminal et le réseau est dérivé par la carte à puce, de façon à isoler le terminal du monde extérieur. According to an essential characteristic of the invention, all or part of the bidirectional data stream between the terminal and the network is derived by the smart card, so as to isolate the device from the outside world. Pour ce faire, au moins une partie des couches logicielles précitées des protocoles de communication est implantée dans la carte à puce. To do this, at least a portion of the aforementioned software layers of the communication protocol is set in the smart card. En outre, on prévoit une couche de logiciel de communication spécifique dans la carte à puce et son pendant dans le terminal. In addition, it provides a specific communication software layer in the smart card and its counterpart in the terminal. Le terme "spécifique" doit être entendu comme spécifique au procédé de l'invention. The term "specific" is to be understood as a specific method of the invention. En effet, ces couches de communications, dites spécifiques, sont banalisées quelle que soit l'application considérée. In fact, these communication layers, called specific, are trivialized whatever the application considered. Elles n'interviennent que dans le processus d'échange de données bidirectionnel entre la carte à puce et le terminal, d'une part, et entre la carte à puce et le réseau, d'autre part. They act only in the process of bidirectional data exchange between the smart card and the terminal, on the one hand, and between the smart card and the network, on the other.
Les couches logicielles de communication spécifiques comprennent notamment des composants logiciels, dits "agents intelligents", permettant en particulier des conversions de protocoles. The software layers specific communication software components, called "intelligent agents", allowing in particular protocol conversions. Il existe des agents appareillés dans les couches de communication spécifiques respectives associées au terminal et à la carte à puce. There are matched agents in the specific communication layers assigned to the terminal and the smart card. Selon le procédé de l'invention, il s'établit des sessions entre agents appareillés. According to the method of the invention, it establishes sessions between matched agents.
Il s'ensuit, notamment, que les opérations relatives à la sécurité sont entièrement traitées à l'intérieur de la carte à puce et non dans le terminal. It follows, in particular, that security-related operations are handled entirely within the smart card and not in the terminal. La carte à puce ne transmet plus au terminal les clés ou autres données secrètes qu'elle stocke, sous quelle forme que ce soit, même chiffrées comme dans l'art connu (figure 1). The smart card no longer transmits to the terminal the keys or other secret data it stores, in any form whatsoever, even encrypted as in the prior art (Figure 1).
Par contre, selon un autre aspect de l'invention, la carte à puce peut autoriser des liaisons directes entre le terminal, et plus particulièrement le navigateur pour des transmissions de type Internet, et le réseau, par exemple pour des données ne nécessitant pas un traitement sécuritaire (données graphiques ou images décoratives des pages "WEB", etc.). Against by, according to another aspect of the invention, the chip card may authorize direct connections between the terminal, and more particularly to the browser such as the Internet transmissions, and the network, for example data that does not require a safe treatment (graphic data or decorative images of "web" pages, etc.).
Selon une autre caractéristique importante de l'invention, la carte à puce présente au système hôte, c'est-à-dire le terminal, un modèle de terminal virtuel, par exemple sous la forme d'une page en langage "HTML" (pour "HyperText Markup Language"), ou plus généralement en langage hypertexte, ou encore sous la forme d'une pièce de logiciel, dite "applet", en langage "JAVA" (marque déposée), ce qui permet à l'utilisateur de choisir une application particulière parmi celles disponibles et proposées par la carte à puce. According to another important feature of the invention, the smart card presents to the host system, that is to say the terminal, a virtual terminal model, for example in the form of a language page "HTML" ( for "HyperText Markup Language"), or more generally in hypertext markup language, or in the form of a piece of software, called "applet", in "Java" language (registered trademark), which enables the user to select a particular one of those available and offered by the smart card. De ce fait, le terminal se trouve donc banalisé et supporte une pluralité d'applications. Therefore, the terminal is therefore commonplace and supports a plurality of applications. Le système hôte est vu comme un périphérique de la carte à puce, et il met à sa disposition des ressources matérielles, tels un écran de visualisation, un clavier, etc. The host system is seen as a device on the smart card, and it makes available hardware resources, such as a display monitor, keyboard, etc.
L'invention a donc pour objet un procédé de communication entre un terminal muni d'un lecteur de carte à puce et un réseau de transmission de données, ledit terminal possédant une première pile protocolaire d'accès au réseau comprenant un nombre déterminé de couches logicielles de communication, et ledit lecteur de carte à puce et ladite carte à puce comprenant des deuxième et troisième piles protocolaires, chacune comprenant au moins des couches de communication logicielles, dites basses, de manière à permettre des échanges de données entre la carte à puce et ledit terminal, caractérisé en ce qu'il comprend une première phase préliminaire consistant à implanter, dans la carte à puce une première pièce de logiciel spécifique, formant interface avec lesdites couches basses de la troisième pile protocolaire et avec au moins une application enregistrée dans la carte à puce, en ce qu'il comprend une seconde phase préliminaire consistant à implanter, dans le terminal, une seconde pièce de logiciel spécifique formant interface avec lesdites couches basses de la deuxième pile protocolaire et avec des couches déterminées de ladite première pile protocolaire, et en ce que lesdites première et seconde pièces de logiciel spécifique comprennent en outre au moins une paire de premières entités logicielles appariées, chacune desdites entités coopérant l'une avec l'autre de manière à permettre l'établissement d'une session d'échanges de données bidirectionnels entre ledit terminal et ladite carte à puce, et/ou ledit réseau, de manière à ce que lesdites données transitent en tout ou partie par ladite carte à puce. The invention therefore relates to a method of communication between a terminal provided with a smart card reader and a data transmission network, said terminal having a first protocol for access to the network stack comprising a predetermined number of software layers communication, and said smart card reader and said smart card comprising second and third protocol stacks, each comprising at least software communication layers, so-called lower, so as to allow data exchanges between the smart card and said terminal, characterized in that it comprises a first preliminary step of implanting in the smartcard a first specific piece of software, forming an interface with said low level layers of the third protocol stack and with at least one application stored in the smart card, in that it comprises a second preliminary step of implanting in the terminal, a second piece of specific software forming an interface with said lower layers of the second protocol stack and with determined layers of said first protocol stack, and in that said first and second specific pieces of software further include at least one pair of first paired software entities, each of said entities cooperating with one another so as to allow the establishment of a session exchange bidirectional data between said terminal and said smart card, and / or said network, so that said data passes wholly or partly by said smart card.
L'Invention a aussi pour objet un procédé de communication entre un terminal muni d'un lecteur de carte à puce et un réseau de transmission de données, ledit terminal possédant une première pile protocolaire d'accès au réseau comprenant un nombre déterminé de couches logicielles de communication, et ledit lecteur de carte à puce et ladite carte à puce comprenant des deuxième et troisième piles protocolaires, chacune comprenant au moins des couches de communication logicielles, dites basses, de manière à permettre des échanges de données entre la carte à puce et ledit terminal, caractérisé en ce qu'il comprend une première phase préliminaire consistant à implanter, dans la carte à puce une première pièce de logiciel spécifique, formant interface avec lesdites couches basses de la troisième pile protocolaire et avec au moins une application enregistrée dans la carte à puce, en ce qu'il comprend une seconde phase préliminaire consistant à implanter, dans le terminal, une seconde pièce de logiciel spécifique formant interface avec lesdites couches basses de la deuxième pile protocolaire et avec des couches déterminées de ladite première pile protocolaire, et en ce que lesdites première et seconde pièces de logiciel spécifique comprennent en outre au moins une paire de premières entités logicielles appariées, chacune desdites entités coopérant l'une avec l'autre de manière à permettre l'établissement d'une session d'échanges de données bidirectionnels entre ledit terminal et ladite carte à puce, de manière à ce que ladite carte à puce présente au dit terminal un modèle de terminal dit virtuel, transformant ladite carte à puce en serveur et/ou client. The invention also relates to a method of communication between a terminal provided with a smart card reader and a data transmission network, said terminal having a first protocol to access the network stack comprising a predetermined number of software layers communication, and said smart card reader and said smart card comprising second and third protocol stacks, each comprising at least software communication layers, so-called lower, so as to allow data exchanges between the smart card and said terminal, characterized in that it comprises a first preliminary step of implanting in the smartcard a first specific piece of software, forming an interface with said low level layers of the third protocol stack and with at least one application stored in the smart card, in that it comprises a second preliminary step of implanting in the terminal, a second piece of specific software forming an interface with said lower layers of the second protocol stack and with determined layers of said first protocol stack, and in that said first and second specific pieces of software further include at least one pair of first paired software entities, each of said entities cooperating with one another so as to allow the establishment of a session exchange bidirectional data between said terminal and said smart card, so that said smart card presents to said terminal a virtual terminal of said model, transforming said server in the smart card and / or customer.
L'invention a encore pour objet une architecture pour la mise en oeuvre de ce procédé. The invention further relates to an architecture for the implementation of this method.
On constate aisément que l'invention présente de nombreux avantages. It is easily seen that the invention has many advantages. Elle offre notamment un degré de sécurisation important pour les communications entre le terminal et le réseau. In particular it provides a high degree of security for communications between the terminal and the network. Elle banalise le terminal, ce qui permet à celui-ci de supporter une pluralité d'applications, sans qu'il soit nécessaire de modifier ni la partie matériel du terminal, ni les applications tournant dans ce terminal. It trivializes the terminal, which allows it to support a plurality of applications, without the need to modify either the hardware part of the terminal or applications running in this terminal. Seule l'implantation dans le terminal d'une couche logicielle de communication spécifique est nécessaire, ce qui peut être réalisé une fois pour toutes, ou par chargement en tant que de besoin à partir de sources diverses : disquettes, CédéRom, téléchargement, etc. Only the presence in the terminal of a specific communication software layer is required, which can be done once and for all, or by loading as needed from various sources: floppy disks, CD-ROM, download, etc. Elle reste entièrement compatible avec le matériel existant et sa mise en oeuvre. It remains fully compatible with existing hardware and its implementation. A titre d'exemple, si un utilisateur ne désire pas bénéficier des possibilités et avantages de l'invention, ou s'il ne possède pas une carte à puce conforme à l'invention, il lui est loisible d'utiliser son terminal et le navigateur associé, ainsi que sa carte à puce classique, de façon conventionnelle, c'est-à-dire de la manière qui a été décrite en regard du système de la figure 1. For example, if a user does not wish to benefit from the opportunities and advantages of the invention, or does not have a smart card according to the invention, it is free to use his terminal and the associated browser, and its conventional chip card, in a conventional manner, that is to say in the manner which has been described with reference to the system of Figure 1.
L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaítront à la lecture de la description qui suit en référence aux figures annexées, parmi lesquelles : The invention will be better understood and other features and advantages will be apparent from the following description with reference to the accompanying drawings, in which:
la figure 2 illustre schématiquement un exemple de système d'application à base de carte à puce selon un premier aspect de l'invention ; 2 schematically illustrates an example of map-based applications system chip according to a first aspect of the invention;
la figure 4 illustre schématiquement l'architecture complète d'un terminal muni d'un lecteur de carte, conforme à l'invention ; 4 shows schematically the complete architecture of a terminal equipped with a card reader, according to the invention;
les figures 7A à 7D illustrent schématiquement, sous la forme de blocs diagrammes, différentes variantes d'architectures conformes à l'invention ; 7A to 7D illustrate schematically in the form of block diagrams, different variants of architectures in accordance with the invention;
Avant de décrire le procédé de communication selon l'invention et de détailler des architectures pour sa mise en oeuvre, il apparaít tout d'abord intéressant de rappeler brièvement les caractéristiques principales des protocoles de communication sur les réseaux. Before describing the communication method according to the invention and detail architectures for implementation, first it appears interesting to briefly recall the main characteristics of communication protocols on networks.
L'architecture des réseaux de communication est décrite par diverses couches. The architecture of communication networks is described by various layers. A titre d'exemple, le standard "OSI" ("Open System Interconnection"), défini par l' "ISO", comporte sept couches qui vont des couches dites basses (par exemple la couche dite "physique" qui concerne le support de transmission physique) aux couches dites hautes (par exemple la couche dite d' "application"), en passant par des couches intermédiaire, notamment la couche dite de "transport". For example, the standard "OSI" ("Open System Interconnection"), defined by the "ISO" includes seven layers, ranging from the so-called lower layers (eg layer called "physical" regarding the support physical transmission) to said upper layers (e.g. the layer called the "application"), passing by the intermediate layers, in particular the said layer "transport". Une couche donnée offre ses services à la couche qui lui est immédiatement supérieure et requiert de la couche qui lui est immédiatement inférieure d'autres services, via des interfaces appropriées. A given layer provides services to the layer immediately above it and requires the layer immediately below it other services, via suitable interfaces. Les couches communiquent à l'aide de primitives. The layers communicate with primitives. Elles peuvent également communiquer avec des couches de même niveau. They can also communicate with layers of the same level. Dans certaines architectures, l'une ou l'autre de ces couches peut être inexistante. In some architectures, one or both of these layers may be non-existent.
Dans un environnement Internet, les couches sont au nombre de cinq, et de façon plus précise, en allant de la couche supérieure à la couche inférieure : la couche d'applications ("http", "ftp", "e-mail", etc.), la couche de transport ("TCP"), la couche d'adressage de réseau ("IP"), la couche de liens de données ("PPP", "Slip", etc.) et la couche physique. In an Internet environment, the layers are five in number, and more precisely, ranging from the top layer to the bottom layer: the application layer ("http", "ftp", "e-mail" etc.), the transport layer ("TCP"), the network layer address ("IP"), the data link layer ("PPP", "slip", etc.) and the physical layer.
Ces rappels étant effectués, on va maintenant décrire une architecture de système d'application à base de carte à puce conforme à l'invention. These reminders are made, we will now describe a map-based application system architecture chip according to the invention. Un exemple d'une telle architecture est représenté schématiquement sur la figure 2. Les éléments communs à la figure 1 portent les mêmes références et ne seront redécrits qu'en tant que de besoin. An example of such an architecture is shown schematically in Figure 2. The common elements in Figure 1 have the same references and are described again only as necessary. Pour simplifier le dessin, on n'a pas représenté les divers périphériques connectés au terminal (figure 1 : écran 5 et clavier 6, par exemple). To simplify the drawing does not show the various devices connected to the terminal (Figure 1: screen 5 and keyboard 6, for example). Il doit être clair que l'invention ne nécessite aucune modification de la partie matérielle du terminal 1, ni des applications tournant dans celui-ci. It should be clear that the invention requires no modification of the hardware part of Terminal 1 or applications running in it. Les seules modifications nécessaires seront précisées ci-après. The only necessary changes will be detailed below.
Selon une première caractéristique importante de l'invention, tout ou partie du flot de données entre le terminal 1 et le réseau RI est dérivé par la carte à puce, désormais référencée 2a. According to a first important characteristic of the invention, all or part of the data stream between the terminal 1 and the network RI is derived from the smart card, now referenced 2a. Le flot de données continue cependant de passer par les circuits d'accès au réseau 11. En effet, dans l'état actuel des techniques, les cartes à puce, comme il a été indiqué, ne peuvent être connectées directement sur un réseau, notamment du type Internet. However, the data stream continues to flow through the network access circuitry 11. Indeed, in the present state of technology, smart cards, as noted, can not be connected directly to a network, including as the Internet.
Les circuits d'accès 11 sont connectés à la carte à puce 2a par un canal de transmission bidirectionnel, symbolisé par deux liaisons séries 21a. The access circuits 11 are connected to the smart card 2 by a bidirectional transmission channel, symbolized by two serial links 21a. De même, la carte à puce 2a est connectée au terminal, et plus précisément au navigateur 10, par un canal de transmission bidirectionnel, symbolisé par deux liaisons séries 22a. Likewise, chip card 2a is connected to the terminal, and more precisely to browser 10, via a bidirectional transmission channel symbolized by two serial links 22a.
De façon plus précise, les canaux 21a et 22a sont disjoints et bidirectionnels, d'un point de vue logique. More specifically, the channels 21a and 22a are disjoint and bidirectional, from a logical point of view. Des couches logicielles spécifiques 13 et 23a, qui seront détaillées ultérieurement, permettent en particulier d'obtenir, à partir d'une liaison physique unique et du type dit "half-duplex", en l'état actuel de la technique, deux canaux logiques analogues à 21a et 22a. Specific software layers 13 and 23, which will be explained later, possible in particular to obtain, from a single physical link and the so-called "half-duplex" in the current state of the art, two logical channels similar to 21a and 22a.
Pour obtenir un tel fonctionnement, la carte à puce 2a est spécifique à l'invention. For such operation, the smart card 2 is specific to the invention. Cette spécificité ne concerne pas la structure matérielle, en tout cas pas la configuration externe de la carte et de la puce (non représentée sur la figure 2). This specificity is not about the physical structure, at least not the external configuration of the card and the chip (not shown in Figure 2). La position de cette dernière est définie par des normes, ainsi que les interfaces physique (plages d'entrées-sorties, etc.) et électrique (nature des signaux, etc.). The position of the latter is defined by standards, as well as physical interfaces (input-output ranges, etc.) and electrical (nature of the signals, etc.).
Par contre, comme il le sera montré ci-après de façon plus détaillée, une pluralité d'applications (non représentées) peuvent être implantées dans la carte à puce 2a. Against by, as will be hereinafter shown in more detail, a plurality of applications (not shown) may be implanted in the smart card 2. En outre, il est nécessaire d'y implanter une couche de protocole de communication spécifique représentée, sur la figure 2, par la référence 23a. In addition, it is necessary to implant a specific communication protocol layer represented in Figure 2 by the reference 23a.
De façon symétrique, côté terminal 1, il est nécessaire de prévoir une couche de protocole spécifique, représentée schématiquement sous la référence 13, formant le pendant de la couche spécifique implantée dans la carte à puce 2a. Symmetrically, terminal 1, it is necessary to provide a specific protocol layer, shown schematically under reference 13, forming the counterpart of the specific layer implanted in the smart card 2a.
L'architecture qui vient d'être décrite permet, notamment, de traiter toutes les opérations liées à la sécurité à l'intérieur de la carte à puce 2a : authentification, etc. The architecture has been described in particular enables to process all transactions related to the security inside the smart card 2: authentication, etc. Les données secrètes restent donc confinées dans les circuits de la carte à puce 2a et ne sont plus transmises au terminal 1. The secret data therefore remain confined in the circuits of the smart card 2 and are not transmitted to the terminal 1.
Selon une autre caractéristique importante de l'invention, la carte à puce 2a propose au système hôte, c'est-à-dire au terminal 1, un modèle de terminal virtuel. According to another important feature of the invention, the smart card 2 has the host system, that is to say, the terminal 1, a virtual terminal model. Pour ce faire, dans l'application préférée, la carte à puce 2a se comporte comme un serveur "WEB". To do this, in the preferred application, the smart card 2a acts as a "web" server.
La carte à puce 2a est "adressée" par le navigateur 10. Elle lui transmet alors une page de type "WEB" en langage "HTML", un "applet" ou tout autre pièce de logiciel. The smart card 2a is "addressed" by the browser 10. It then transmits a page type "WEB" language "HTML" an "applet" or any other piece of software. A titre d'exemple, la page "WEB" peut se présenter sous la forme d'une page d'accueil donnant un choix d'applications possibles et/ou d'hyperliens vers des serveurs extérieurs. For example, the "web" can be in the form of a home page giving a possible range of applications and / or hyperlinks to external servers.
De façon pratique, la carte à puce 2a est avantageusement "adressée" par utilisation d'une adresse "URL" (pour "Universal Resource Location") définissant un rebouclage sur le terminal 1 lui-même, et non un pointage sur un serveur externe. In practice, the smart card 2a is advantageously "addressed" by using an address "URL" (for "Universal Resource Location") defining a loop back to the terminal 1 itself, rather than pointing to an external server . A titre d'exemple, la structure de cet "URL" est habituellement la suivante : For example, the structure of the "URL" is usually as follows:
La figure 3A illustre schématiquement ce processus. 3A schematically illustrates this process. On suppose sur cette figure, qu'en réponse à la requête du navigateur 10, la carte à puce 2a présente une page P en langage "HTML", page affichée par exemple sur l'organe de visualisation 5 du terminal 1. La page P , que l'on qualifiera d'accueil, peut afficher, de façon usuelle, différents éléments graphiques ou textes, mais comporte au moins un certain nombre d'hyperliens vers des serveurs externes, HI 1 , HI 2 , ..., HI i , à HI n , i et n étant des nombres arbitraires. n représente le nombre maximum de choix possibles. It is assumed in this figure, in response to the request from the browser 10, the smart card 2a shows a page P language "HTML", for example page displayed on the display unit 5 of the terminal 1. The page P , the host will be qualified, can display the usual way, different graphics or text elements, but at least a number of hyperlinks to external servers, HI 1 HI 2, ..., i HI , HI n, i and n are arbitrary numbers. n represents the maximum number of possible choices. Il est fonction naturellement de la carte à puce 2a insérée dans le lecteur 3. Les choix présentés peuvent dépendre des droits qui sont accordés au possesseur de la carte à puce 2a : abonnement souscrit à des services, niveau d'habilitation, etc. It is of course depending on the smart card 2 inserted into the reader 3. The choices presented may depend on the rights granted to the owner of the smart card 2a: service plan for services, clearance level, etc. Le processus décrit utilise tout ou partie des couches de communication standards (non représentées), ainsi que les couches spécifiques, 13 et 23a, d'une manière qui sera précisée ultérieurement. The described process uses all or part of the standard communication layers (not shown), and the specific layers 13 and 23, in a manner which will be specified later.
Chaque hyperlien, par exemple l'hyperlien HI i , pointe sur une ressource "URL" externe. Each hyperlink, for example hyperlink HI i, points to a resource "URL" external. Le processus de communication et d'échange de données entre le terminal 1 et un serveur 4, connecté au réseau RI et contenant la ressource adressée par l' "URL" associée à l'hyperlien HI i , est illustré par la figure 3B. The process of communication and data exchange between Terminal 1 and a server 4 connected to the network RI and containing the resource addressed by the "URL" associated with the hyperlink HI i, is shown in Figure 3B. A titre d'exemple, la structure de l' "URL" peut être la suivante : For example, the structure of the "URL" may be as follows:
dans laquelle 127.0.0.1 est l'adresse "IP" et 8081 est le numéro de port, "NOM.com" le nom d'un site Internet d'une société ou autre entité, conformément aux règles de nommage habituellement utilisées, et "index.html" la page d'accueil de ce site. in which the address is 127.0.0.1 "IP" and 8081 is the port number, "NOM.com" a website the name of a corporation or other entity, in accordance with naming rules usually used, and " index.html "the home page of this site. En lieu et place du suffixe ".com", a priori utilisé pour des organisations à caractère commercial, il existe d'autres suffixes, tels ".fr", ".gov", etc., qui sont associés à la localisation du site Internet ou à la nature de l'organisme. In place of the suffix ".com", a priori used for commercial organizations, there are other suffixes, such as ".com," ".gov", etc., which are associated to site location Internet or the nature of the organism.
Le flot de données entre le terminal 1 et le serveur adressé 4 passe par la carte à puce 2a et les circuits 11 d'accès au réseau RI (par exemple un modem). The flow of data between the terminal 1 and the server 4 sent through the smart card 2a and circuits 11 for access to the network RI (such as a modem). La carte à puce 2a traite notamment les problèmes liés à la sécurité des communications : authentification, vérification de données et filtrage, etc. The smart card 2 including addresses issues related to communications security: authentication, data verification and filtering, etc. Comme précédemment, il est fait usage des couches de protocoles de communication standards et spécifiques : 13 et 23a. As before, use is made of layers of standard and specific communication protocols: 13 and 23.
Selon un autre aspect de l'invention, la carte à puce 2a peut autoriser des échanges de données directs entre le navigateur 10 ou, de façon plus générale entre le terminal 1, et le réseau RI et le serveur adressé 4. Ce processus est illustré schématiquement par la figure 3C. According to another aspect of the invention, the smart card 2 may allow direct data exchange between the browser 10 or, more generally between Terminal 1 and the network RI and the addressed server 4. This process is illustrated schematically in Figure 3C. Naturellement, ces échanges de données s'effectuent par l'intermédiaire des circuits 11 d'accès au réseau RI . Naturally, these data exchanges are done through the circuits 11 for access to the network RI. Les données concernées sont avantageusement des données n'ayant pas d'incidence sur la sécurité, par exemple des éléments graphiques ou des images, tels que fonds de page, icônes, etc., ou du texte non "sensible" ou non confidentiel. The relevant data are advantageously data with no impact on safety, such as graphics or images, such as page backgrounds, icons, etc., or text "sensitive" or not confidential.
Du fait des dispositions propres à l'invention, qui viennent d'être décrites, le terminal 1 est donc bien banalisé et supporte une pluralité d'applications. Because of provisions to the invention which have just been described, terminal 1 is therefore trivialized and supports a plurality of applications. En outre, si certaines applications nécessitent un protocole de communication particulier, la carte à puce 2a peut présenter au terminal 1 des programmes, sous la forme de scripts en langage "JAVA" par exemple, qui lui indiquent la façon de l'utiliser. In addition, if certain applications require special communication protocol, the smart card 2 may apply to terminal 1 of the programs, in the form of scripts in "Java" language, for example, telling it how to use it.
On va maintenant décrire, de façon plus détaillée, un exemple d'architecture pour un système d'application à base de carte conforme à l'invention, par référence à la figure 4. We will now describe, in more detail, an exemplary architecture for a card-based application system in accordance with the invention, with reference to Figure 4.
A l'exception des couches logicielles de protocole de communication spécifiques à l'invention, référencées 13 et 23a, respectivement implantées dans le terminal 1 et la carte à puce 2a, les autres éléments, matériels ou logiciels, sont communs à l'art connu. With the exception of specific communication protocol software layers of the invention, referenced 13 and 23 respectively implanted in the terminal 1 and the smart card 2, the other elements, hardware or software, are common to the known art .
Le terminal 1 comprend les circuits 11 d'accès au réseau RI , constitués par exemple d'un modem pour le réseau Internet ou d'une carte réseau pour un réseau local. The terminal 1 includes circuits 11 for access to the network RI, made such a modem to the Internet or a network card to a local network. Ces circuits regroupent les couches logicielles inférieures C 1 et C 2 , correspondant aux couches "physique" et de "lien de données" précitées. These circuits include the lower software layers C 1 and C 2, corresponding to the "physical" layers "data link" above.
On a également représenté les couches supérieures C 3 et C 4 , correspondant aux couches "d'adressage de réseau" ("IP", dans le cas d'internet) et de "transport" ("TCP"). Also shows the upper layers C 3 and C 4, corresponding to the layers "network address" ("IP" in internet cases) and "Transport" ("TCP"). La couche supérieure d'application ("http", "ftp", "e-mail", etc.) n'a pas été représentée. The top layer of application ("http", "ftp", "email", etc.) is not shown.
L'interface entre les couches inférieures, C 1 et C 2 , et les couches supérieures, C 3 et C 4 , est constituée par une couche logicielle 15 généralement appelée "driver couches basses". The interface between the lower layers C 1 and C 2 and the upper layers C 3 and C 4, consists of a software layer 15 generally called a "driver low layers." Les couches supérieures, C 3 et C 4 , s'appuient sur cette interface et sont mises en oeuvre par l'intermédiaire de bibliothèques de fonctions spécifiques ou bibliothèques réseau 14, avec lesquelles elles correspondent. The upper layers C 3 and C 4, are based on this interface and are implemented through specific function libraries or library network 14 with which they correspond. Dans le cas du réseau Internet, "TCP/IP" est mis en oeuvre au moyen de bibliothèques dites de "sockets". In the case of the Internet, "TCP / IP" is implemented by means of so-called "socket" libraries.
Cette organisation permet au navigateur 10 (figure 2) de poser des requêtes vers le serveur 4 (figure 2), pour la consultation de pages "WEB" (protocole "HTTP"), pour le transfert de fichiers (protocole "FTP") ou l'envoi de courrier électronique (protocole "e-mail"). This organization allows the browser 10 (Figure 2) ask queries to the server 4 (Figure 2) for the pages of consultation "WEB" ("HTTP" protocol) for file transfer Protocol ("FTP") or sending email (Protocol "e-mail").
Le terminal 1 comprend également le lecteur de carte 3, intégré ou non. The terminal 1 also includes the card reader 3, integrated or not. Pour communiquer avec la carte à puce 2a, le lecteur de carte englobe également deux couches basses, CC 1 (couche physique) et CC 2 (couche de lien de données), jouant un rôle similaire aux couches C 1 et C 2 . To communicate with the smart card 2, the card reader also includes two low layers CC 1 (physical layer) and CC 2 (data link layer), playing a role similar to the layers C 1 and C 2. Les interfaces logicielles avec les couches CC 1 et CC 2 sont décrites, par exemple, par la spécification "PC/SC" ("part 6, service provider"). The software interfaces with the layers CC 1 and CC 2 are described, for example, by specifying "PC / SC" ("part 6, provider service"). Les couches elles-mêmes, CC 1 et CC 2 , sont notamment décrites par les normes ISO 7816-1 à 7816-4. The layers themselves, CC 1 and CC 2 are described in particular by ISO 7816-1 to 7816-4 standards.
Dans l'art connu (et également dans l'invention), une couche logicielle supplémentaire 16 forme interface entre les couches applicatives (non représentées) et les couches inférieures, CC 1 et CC 2 . In the prior art (and also in the invention), an additional software layer 16 forms an interface between the application layer (not shown) and the lower layers CC 1 and CC 2. La fonction principale dévolue à cette couche est une fonction de multiplexage/démultiplexage. The main function assigned to this layer is a function of multiplexing / demultiplexing.
Les communications avec la carte à puce 2a s'effectuent selon un paradigme similaire à celui utilisé pour la manipulation de fichiers dans un système d'exploitation du type "UNIX" (marque déposée) : OUVRIR ("OPEN"), LIRE ("READ"), ECRIRE ("WRITE"), FERMER ("CLOSE"), etc. Communications with the smart card 2a are performed by a paradigm similar to that used to manipulate files in an operating system of the type "UNIX" (registered trademark): OPEN ("OPEN") READ ("READ "), SET (" WRITE "), CLOSE (" CLOSE "), etc.
Du côté de la carte à puce 2a, on retrouve une organisation similaire, à savoir la présence de deux couches basses, référencées CCa 1 (couche physique) et CCa 2 (couche de lien de données), ainsi qu'une couche d'interface 26a, tout à fait similaire à la couche 16. The side of the smart card 2, there is a similar organization, namely the presence of two lower layers, referenced CCL 1 (physical layer) and CCL 2 (data link layer) and an interface layer 26a, quite similar to the layer 16.
Selon une première caractéristique importante de l'invention, on prévoit, de part et d'autre, c'est-à-dire dans le terminal 1 et dans la carte à puce 2a, les deux couches de protocoles spécifiques : 13 et 23a, respectivement. According to a first important characteristic of the invention, there is provided, on both sides, that is to say, in the terminal 1 and in the smart card 2, the two specific protocol layers: 13 and 23, respectively.
Dans le terminal 1, la couche 13 s'interface aux "drivers couches basses" 15, aux bibliothèques 14 des couches réseau, C 3 et C 4 , et aux couches protocolaires du lecteur de carte 3, c'est-à-dire les couches inférieures, CC 1 et CC 2 , via la couche de multiplexage 16. La couche 13 permet le transfert des paquets réseaux de et vers la carte à puce 2a. In Terminal 1, the layer 13 interfaces with "low layer drivers" 15, libraries 14 of network layers C 3 and C 4, and protocol layers for the card reader 3, that is to say, lower layers CC 1 and CC 2 via the multiplexing layer 16. Layer 13 allows the transfer of network packets to and from the smart card 2a. En outre, elle adapte les applications existantes telles le navigateur Internet 10 (figure 2), le courrier électronique, etc., pour des utilisations mettant en oeuvre la carte à puce 2a. In addition, it adapts the existing applications like the web browser 10 (Figure 2), email, etc., for uses that employ the smart card 2a.
Du côté de la carte à puce 2a, on retrouve une organisation tout à fait similaire constituée par une instance supplémentaire de la couche spécifique, référencée 23a, pendant de la couche 13. The side of the smart card 2, there is a very similar organization formed by an additional instance of the specific layer 23a, while the layer 13.
De façon plus précise, les couches spécifiques, 13 et 23a, sont subdivisées en trois éléments logiciels principaux : More precisely, the specific layers 13 and 23, are subdivided into three main software elements:
un module, 130 ou 230a, de transfert de blocs d'informations entre les couches 13 et 23a, via les couches CC 1 , CC 2 , CCa 1 et CCa 2 ; a module 130 or 230, block transfer of information between layers 13 and 23 via the CC 1 layers CC 2 CCL CCL 1 and 2;
et un module de gestion de la configuration spécifique, 131 et 231a, respectivement ; and a specific configuration of the management module 131 and 231a, respectively; module qui peut être assimilé à un agent intelligent particulier. module that can be likened to a particular intelligent agent.
On retrouve donc, dans le terminal 1 et la carte à puce 2a, une pile protocolaire de communication entre les deux entités. We thus find in the terminal 1 and the smart card 2a, a communication protocol stack between the two entities. La figure 5 illustre la pile protocolaire de communication de la carte à puce 2a, étant entendu que la pile protocolaire de communication du terminal 1 présente une structure similaire. Figure 5 illustrates the communication protocol stack of the smart card 2, provided that the communication protocol stack Terminal 1 has a similar structure.
On trouve, en allant des couches inférieures aux couches supérieures, les couches CCa 1 , CCa 2 , 26a, 230a, 231a, 232a, précitées et une couche de niveau applicatif 24a. We find, going from the lower layers to the upper layers, the CCL layers 1, CCL 2, 26a, 230a, 231a, 232a, and a level above application layer 24a. Il doit être entendu que la carte à puce 2a peut comprendre plusieurs applications distinctes. It should be understood that the smart card 2 may include several distinct applications.
Les couches de niveau 2 (couches de lien de données), CC 2 et CCa 2 , assurent l'échange entre la carte à puce 2a et le terminal 1. Ces couches sont responsables de la détection et l'éventuelle correction d'erreurs de transmission. Level 2 layers (data link layer), CC 2 and CCL 2, ensures the exchange between the smart card 2a and the terminal 1. These layers are responsible for detecting and possible error correction transmission. Différents protocoles sont utilisables, et à titre d'exemples non exhaustifs les suivants : Different protocols are used, and by way of non-limiting examples include:
la recommandation ETSI GSM 11.11 ; Recommendation ETSI GSM 11.11;
le protocole défini par la norme ISO 7816-3, en mode caractère T=0 ; the protocol defined by ISO 7816-3 character mode T = 0;
le protocole défini par la norme ISO 7816-3, en mode bloc T=1 ; the protocol defined by ISO 7816-3, in block mode T = 1;
Dans le cadre de l'invention, on utilisera de préférence le protocole ISO 7816-3, en mode bloc. In the context of the invention, preferably used the ISO 7816-3 protocol in block mode.
De façon connue en soi, à chaque couche de protocole il est associé un certain nombre de primitives qui permettent les échanges de données entre couches de même niveau et d'une couche à l'autre. In a manner known per se, at each protocol layer is associated with a number of primitives that enable the exchange of data between same-level layers and a layer to another. A titre d'exemple, les primitives associées à la couche de niveau 2 sont du type "demande de données" ("Data.request") et "envoi de données" par la carte ("Data.response"), ainsi que "confirmation de données" ("Data.confirm"), etc. For example, the primitives associated with the level of layer 2 are of the "data request" ("Data.request") and "send data" by the card ("Data.response") and " Data confirmation "(" DATA.confirm "), etc.
De façon plus spécifique à l'invention, les couches 13 et 23a sont chargées du dialogue entre la carte à puce 2a et l'hôte, c'est-à-dire le terminal 1. Ces couches permettent l'échange d'informations entre un utilisateur (non représenté) du terminal 1 et la carte à puce 2a, par exemple via des menus déroulants sous la forme d'hypertexte au format "HTML", comme il a été montré au regard des figures 3A et 3B (page P ). More specifically the invention so, the layers 13 and 23 are responsible for dialogue between the smart card 2a and the host, the terminal that is to say 1. These layers allow the exchange of information between a user (not shown) of terminal 1 and the smart card 2, for example via pull-down menus in the form of hypertext format "HTML" as it has been shown in relation to the 3A and 3B (page P) . Elles permettent aussi la mise en place d'une configuration adaptée pour l'émission et/ou la réception de paquets de données. They also enable the establishment of a configuration suitable for transmission and / or reception of data packets.
La première couche, 130 ou 230, est essentiellement constituée par un multiplexeur logiciel. The first layer 130 or 230, is essentially constituted by a software multiplexer. Elle permet l'échange d'informations entre la carte à puce 2a et le terminal hôte 1, sous la forme d'unités de données de protocole. It allows the exchange of information between the smart card 2a and the host terminal 1, in the form of protocol data units. Elle joue un rôle similaire à celui d'un commutateur de paquets de données. It plays a role similar to that of a data packet switch. Ces unités sont émises ou reçues via la couche de niveau 2 (couche de liens de données). These units are sent or received via the level of Layer 2 (data link layer). Ce protocole particulier de communication permet de mettre en communication au moins une paire d' "agents intelligents". This particular communication protocol makes it possible to connect at least one pair of "intelligent agents". Le premier agent de chaque paire, 132, est situé dans la couche 13, côté terminal 1, le second, 232a, est situé dans la couche 23a, côté carte à puce 2a. The first agent of each pair, 132, is located in the layer 13 of the terminal 1, the second, 232a, is located in the layer 23a, in the smart card 2a. Une liaison entre deux "agents intelligents" est associée à une session. A link between two "intelligent agents" is associated with a session. Une session est un échange de données bidirectionnel entre ces deux agents. A session is a bidirectional data exchange between these two agents.
Un agent intelligent peut réaliser tout ou partie de fonctions des couches de niveau 3 et 4, en fonction de la configuration mise en oeuvre par le terminal 1. An intelligent agent can perform some or all of the functions of layers of level 3 and 4, depending on the configuration used by the terminal 1.
Un agent intelligent particulier est identifié avantageusement par un nombre entier, par exemple sur 16 bits (nombre compris entre 0 et 65535). A particular intelligent agent is advantageously identified by an integer number, for example 16 bits (a number between 0 and 65535). Cet identificateur est utilisé, par exemple, dans une unité de donnée de protocole constituant une référence de destination et une référence de source. This identifier is used, for example, in a protocol data unit constituting a destination reference and a reference source.
Il existe deux grandes catégories d'agents intelligents : les agents de type "serveur", qui sont identifiés par une référence fixe, et les agents de type "client", qui sont identifiés par une référence variable, délivrée par une couche spécifique, 130 ou 230a. There are two broad categories of intelligent agents: agents type "server", which are identified by a fixed reference, and type agents "client", which are identified by a variable reference issued by a specific layer, 130 or 230a.
Le processus d'ouverture d'une session est habituellement le suivant : un agent intelligent de type "client" ouvre la session vers un agent intelligent de type "serveur". The process of opening a session is normally the following: an intelligent agent type "client" opens the session to an intelligent agent type "server". Les couches 130 et 230a gèrent des tables (non représentées) qui contiennent la liste des agents intelligents présents, côté terminal hôte 1 et carte à puce 2a. The layers 130 and 230a manage tables (not shown) containing the list of intelligent agents, the host terminal 1 and the smart card 2.
Les agents intelligents sont associés à des propriétés ou attributs particuliers. Intelligent agents are associated with particular properties or attributes. Pour fixer les idées, et à titre d'exemple non limitatif, les six propriétés suivantes sont associées aux agents intelligents : To fix ideas, and by way of example, the following six properties are assigned to intelligent agents:
Dans le cas du réseau Internet, application principale visée par l'invention, les agents clients/serveurs, côté carte à puce, réalisent des protocoles client et/ou serveur qui sont décrits par des spécifications pour commentaires, connues sous le sigle anglo-saxon "RFC" (pour "Reserved For Command"). In the case of the Internet, main application to which the invention, the client / server agents, in the smart card, conduct customer protocols and / or server described by specifications for comments, known as the English acronym "RFC" (for "Reserved For Command"). A titre d'exemple non limitatif, pour le protocole "HTTP 1.1", la spécification est "RFC 2068". By way of non-limiting example, for the protocol "HTTP 1.1", the specification is "RFC 2068".
Les agents intelligents permettent d'échanger des données (de l'hypertexte par exemple), mais également de déclencher des transactions réseau. Intelligent agents are used to exchange data (hypertext for example), but also launching network transactions.
Les modules de gestion de configuration, 131 et 231a, respectivement, sont des agents intelligents particuliers. Configuration management modules, 131 and 231, respectively, are particular intelligent agents. Par exemple, le module 131, côté terminal hôte 1, gère notamment des informations relatives à la configuration de ce terminal (modes de fonctionnement, comme il le sera précisé à propos des figures 7A à 7D), liste des autres agents présents, etc. For example, the module 131, host terminal side 1, in particular manages information relating to the configuration of the terminal (operating modes, as will be explained with reference to Figures 7A to 7D), list of other agents, etc. Le module 231a, côté carte à puce 2a, a des fonctions analogues. The module 231a, in the smart card 2a has analogous functions. Ces deux agents peuvent être mis en communication l'un avec l'autre pour établir une session. These two agents may be placed in communication with one another to establish a session.
On va maintenant décrire deux exemples de ces processus par référence aux figures 6A et 6B. Will now be described two examples of such processes by reference to Figures 6A and 6B.
La figure 6A illustre, sous forme de bloc-diagramme, l'architecture correspondant au processus de présentation au terminal hôte 1 d'un modèle de terminal virtuel. 6A illustrates, in block diagram form, the architecture corresponding to the submission process to the host terminal 1 of a virtual terminal model. Cette figure explicite, de façon détaillée, le processus précédemment décrit au regard de la figure 3A. This explicit figure, in detail, the process described above with respect to Figure 3A. Les éléments communs aux figures précédentes portent les mêmes références, et ils ne seront redécrits qu'en tant que de besoin. The elements common to the previous figures have the same references and they are described again only as necessary.
Le processus décrit nécessite la mise en correspondance d'une seule paire d'agents intelligents, 132 et 232a. The process described requires the matching of a single pair of intelligent agents, 132 and 232a.
Comme indiqué précédemment, le navigateur "WEB" 10 présent dans le terminal 1 émet une requête "HTTP" impliquant un rebouclage sur lui-même (voir (1)). As previously stated, the "web" browser 10 in the terminal 1 sends a "HTTP" query involving looping on itself (see (1)). La requête est transmise à la couche C 4 (couche de transport "TCP"), puis à la couche C3 (couche d'adressage de réseau "IP"). The request is passed to the C layer 4 (transport layer "TCP"), then the layer C3 (network layer addressing "IP"). Du fait que l' "URL" implique une adresse "IP" de rebouclage, la requête est renvoyée à la couche C 4 qui la transmet à la couche spécifique, c'est-à-dire à l'agent intelligent 132. Celui-ci ouvre une session avec son pendant dans la carte à puce 2a, c'est-à-dire l'agent intelligent 232a. Because the "URL" implies an address "IP" loopback, the request is referred to the C layer 4 which transmits it to the specific layer, that is to say, the intelligent agent 132. Celui- it opens a session with its counterpart in the smart card 2a, that is to say, the intelligent agent 232a. Il convertit l' "URL" en un format acceptable par les couches 130 et 230a. It converts the "URL" in a format acceptable by the layers 130 and 230a. L'échange de données bidirectionnelles s'effectue au travers des différentes couches des piles : 130, 16, CC 2 et CC 1 , pour le terminal 1, et CCa 1 , CCa 2 , 26a et 230a, pour la carte à puce 2a. The bidirectional data exchange is carried out through the different layers of cells: 130, 16, CC 2 and CC 1 for terminal 1 and 1 CCL, CCL 2, 26a and 230a for the smart card 2a.
En retour, l'agent intelligent 232a envoie des instructions et/ou données contenues dans la couche applicative 24a. In return, the intelligent agent 232a sends instructions and / or data contained in the application layer 24a. Ces dernières, comme il a été indiqué, peuvent prendre la forme d'une page "WEB" de menu déroulant au format "HTML" (figure 3A : P ). These, as noted, may take the form of a page "WEB" drop-down menu in "HTML" format (Figure 3A: P).
Par contre, une connexion "HTTP" avec le réseau RI implique la coopération de deux paires d'agents intelligents. As against an "HTTP" connection to the network RI involves the cooperation of two pairs of intelligent agents. La figure 6B illustre schématiquement un tel processus, sous la forme d'un bloc-diagramme. FIG 6B schematically illustrates such a process, in the form of a block diagram. Les éléments communs aux figures précédentes portent les mêmes références et ne seront redécrits qu'en tant que de besoin. The elements common to the previous figures have the same references and are described again only as necessary.
L' "URL" émise par le navigateur est du type de celui décrit par la formule (2) précitée. The "URL" issued by the browser is the type described by formula (2) above.
Du côté terminal 1, un premier agent intelligent, 132 1 , à propriétés de type "local", assure les échanges entre le terminal hôte 1 et un agent 232a 1 , situé sur la carte à puce 2a, également à propriétés de type "local". For terminal 1, a first intelligent agent, 132 1, with "local" type properties ensures exchanges between the host terminal 1 and an agent 232a 1 on the smart card 2, also in "local type properties ".
De même, un second agent intelligent, 132 2 , à propriétés de type "réseau", assure les échanges entre un agent, 232a 2 , situé sur la carte à puce 2a, également à propriétés de type "réseau", et le réseau RI . Similarly, a second intelligent agent, 132 2, with like properties "Network," says trade between an agent, 232a 2 on the smart card 2, also like properties "network" and the network RI .
1/ agent local hôte 132 1  agent local carte 232a 1 , 1/132 host 1 local agent local agent  card 232a 1
2/ agent réseau hôte 132 2  agent réseau carte 232a 2 . 2 / agent network host 132 2  agent network card 232a 2.
Les couches 130 et 230a assurent notamment un multiplexage/démultiplexage logiciel de façon à aiguiller les données de et vers les agents 132 1 et 232a 1 , d'une part, et 132 2 et 232a 2 d'autre part. Layers 130 and 230a in particular provide a multiplexing / demultiplexing software to direct the data to and from the agents 132 1 232a and 1, on one hand, and 132 2 and 232a 2 on the other.
Pour la première session, le flot de données traverse les couches du terminal 1 : C 4 , C 3 , C 4 , 13 (agent 132 1 et couche 130), 16, CC 2 et CC 1 , et les couches de la carte à puce 2a : CCa 1 , CCa 2 , 26a, 23a (couche 230a et agent 232a 1 ), pour atteindre la couche applicative 24a. For the first session, the data stream passes through the layers of Terminal 1: C 4, C 3, C 4, 13 (1 and layer agent 132 130), 16, CC 2 and CC 1 and the layers of the card chip 2a: CCL 1, CCL 2, 26a, 23a (layer 230a and 232a agent 1), to achieve the application layer 24a.
Pour la seconde session, le flot de données, à partir de la couche applicative 24a, traverse les couches de la carte à puce 2a : 23a (agent 232a 2 et couche 230a), 26a, CCa 2 , CCa 1 et les couches du terminal 1 : CC 1 , CC 2 , 16, 13 (agent 132 2 et couche 130), C 4 à C 1 , avant d'atteindre le réseau RI . For the second session, the flow of data from the application layer 24a, through the layers of the smart card 2: 23a (232a agent and 2 layer 230a), 26a, CCL 2 CCL 1 and the layers of the terminal 1: CC 1, CC 2, 16, 13 (2 and layer agent 132 130), C 4 to C 1, before reaching the network RI.
On va maintenant décrire plusieurs exemples de configurations possibles, par référence aux figures 7A à 7D. We will now describe several examples of possible configurations, with reference to Figures 7A to 7D. En effet, notamment selon le type de réseau considéré et la nature du terminal, la partition des couches logicielles du protocole de communication peut s'effectuer de différentes manières. Indeed, including the type of network in question and the nature of the terminal, the partition of software layers of the communication protocol can be performed in various ways. Les éléments communs à ces figures et aux figures précédentes portent les mêmes références et ne seront redécrits qu'en tant que de besoin. The elements common to these figures and previous figures have the same references and are described again only as necessary.
Les figures 7A et 7B illustrent schématiquement, sous forme de blocs diagrammes, deux architectures plus particulièrement adaptées à un mode que l'on peut appeler "partage de réseau". 7A and 7B illustrate schematically the form of block diagrams, two architectures specifically adapted to a mode that can be called "network sharing". Selon ce mode, la carte à puce et le terminal partagent la même adresse, par exemple la même adresse "IP", si le réseau RI est du type Internet. In this embodiment, the smart card and the terminal share the same address, for example the same address "IP", if the network is the Internet RI type. Le destinataire final de paquets de données réseau est déterminé en fonction de critères pré-établis. The final recipient network data packets is determined based on pre-established criteria.
La figure 7A illustre schématiquement une architecture avec un partage logiciel d'une couche réseau. Figure 7A schematically shows an architecture with a software sharing a network layer. Le terminal, ici référencé 1 a, possède une couche réseau C 3 (couche adressage réseau). The terminal, here referenced 1 a, C has a network layer 3 (network layer addressing). La carte à puce 2a reçoit des paquets réseau adressés au terminal en fonction de certains paramètres (adresse de l'émetteur, etc.). The smart card 2 receives network packets addressed to the terminal according to certain parameters (address of the sender, etc.). Les paquets sont émis avec l'adresse réseau du terminal 1 a. The packets are transmitted with the network address of Terminal 1. Comme précédemment, il est prévu deux couches spécifiques, 13a et 23a, situées dans le terminal 1 a et la carte à puce 2a, respectivement. As before, there are two specific layers, 13a and 23a, located in the terminal 1a and the smartcard 2a, respectively. On n'a pas représenté les couches 16 et 26a (figures 6A et 6B). Not shown layers 16 and 26a (Figures 6A and 6B).
La figure 7B illustre schématiquement une architecture avec un partage matériel d'une couche réseau. 7B schematically illustrates an architecture with hardware sharing a network layer. Un dispositif matériel 7 est inséré entre le réseau RI et le terminal, ici référencé 1b. A hardware device 7 is inserted between the network and the terminal RI, here referenced 1b. Le dispositif 7 permet de recevoir des paquets réseau adressé au terminal 1b en fonction de paramètres particuliers (adresse de l'émetteur, etc.). The device 7 can receive network packets addressed to the terminal 1b based on specific parameters (address of the sender, etc.). Les paquets sont émis avec l'adresse réseau du terminal 1b. The packets are transmitted with the terminal network address 1b. Le dispositif matériel comporte, par exemple, deux circuits de communication, par exemple du type cartes réseau, 70 et 71, comprenant chacune deux couches inférieures de protocole de communication, C' 1 -C' 2 et C" 1 -C" 2 , respectivement. The hardware device includes, for example, two communication circuits, for example of the network cards, 70 and 71, each with two lower layers of communication protocol, C '1 -C' 2 and C "-C 1" 2 respectively. La carte ou les circuits 70 sont reliés au réseau RI . Map or circuits 70 are connected to the network RI. La carte ou les circuits 71 sont reliés aux circuits d'accès au réseau 11, ou de façon plus générale, à la carte de communication, présents sur le terminal 1b. Map or circuits 71 are connected to the network access circuits 11, or more generally, communication card from the machine 1b. Les communications entre le réseau RI et le terminal 1b s'effectuent donc par l'intermédiaire du dispositif matériel 7 incorporant la couche spécifique 13b. Communications between the network RI and the terminal 1b is thus effected through 7 hardware device incorporating the specific layer 13b.
Le dispositif matériel 7 est en outre connecté à un sous-ensemble 3, intégré ou non, de lecture de carte à puce 2a. The hardware device 7 is further connected to a sub-assembly 3, integrated or not, card reading chip 2a. Ce sous-ensemble lecteur comprend, comme précédemment, les couches CC 1 et CC 2 . This subset player includes, as previously, the layers CC 1 and CC 2. De même, la carte à puce 2a comprend les deux couches basses CCa 1 et CCa 2 et la couche spécifique 23a. Similarly, the smart card 2 includes two lower layers CCL CCL 1 and 2 and the specific layer 23a.
La figure 7C illustre schématiquement, sous forme de bloc diagramme, une architecture plus particulièrement adaptée à un fonctionnement en mode dit "passerelle". 7C schematically illustrates, in block diagram form, an architecture particularly suitable for operation in a mode "bridge".
Selon ce mode, la carte à puce 2a possède une adresse réseau individuelle. In this embodiment, the smart card 2a has an individual network address. Le terminal, ici référencé 1c, se comporte comme une passerelle d'accès de la carte à puce 2a au réseau RI . The terminal, here referenced 1c behaves as a gateway to the smart card 2a to the network RI. La couche spécifique côté terminal, référencée 13c, est disposée entre la couche C 3 (couche d'adressage réseau) et la couche CC 2 . The specific terminal side layer, referenced 13c, is disposed between the C layer 3 (network layer address) and the CC 2 layer. Comme précédemment, la carte à puce 2a comporte la couche spécifique 23a, formant pendant à la couche 13c. As above, the smart card 2 includes the specific layer 23a, for forming the layer 13c.
La figure 7D illustre schématiquement, sous forme de bloc diagramme, une architecture plus particulièrement adaptée à un fonctionnement en mode dit "tunnel". 7D schematically illustrates, in block diagram form, an architecture particularly suitable for operation in a mode "tunnel".
Selon ce mode, le terminal, ici référencé 1 d, ne peut fournir ou partager une couche de niveau 3. La seule méthode possible de communication entre la carte à puce 2a, et le réseau RI consiste à établir un "tunnel" où circulent des données applicatives, qui sont éventuellement traduites par un convertisseur de protocole dans la couche spécifique côté terminal, ici référencée 13d. In this embodiment, the terminal, here referenced 1 d, can not provide or share a level layer 3. The only method of communication between the smart card 2a and the network RI is to establish a "tunnel" that circulate application data, which are optionally translated by a protocol converter in the specific terminal side layer, here referenced 13d. La couche spécifique 13d est disposée entre la couche de niveau 4 (C 4 ) et une couche applicative (non représentée). 13d specific layer is disposed between the layer of level 4 (C 4) and an application layer (not shown). Comme précédemment, la carte à puce 2a comporte une couche spécifique 23a, formant pendant à la couche 13d. As above, the smart card 2 comprises a specific layer 23a, for forming the layer 13d.
Les caractéristiques du terminal et/ou les configurations possibles peuvent être connues par la carte à puce, ou au contraire commandées par celle-ci à l'aide de primitives. Terminal characteristics and / or configurations may be known by the smart card, or otherwise controlled by the latter by means of primitives.
A titre d'exemples non limitatifs, une première primitive, que l'on appellera : As non-limiting examples, a first primitive, which will be called:
(obtention de la configuration), émise par la carte à puce, à destination du terminal, permet de lui demander les caractéristiques du terminal et les différentes configurations possibles. (Obtaining the configuration), issued by the smart card to the terminal, lets ask terminal characteristics and different possible configurations. La réponse à la question posée est obtenue par une primitive duale : The answer to the question posed is achieved by a dual primitive:
Une deuxième primitive, que l'on appellera : A second primitive, which will be called:
(commande de configuration), émise par la carte à puce, à destination du terminal, permet de configurer le terminal. (Configuration command), issued by the smart card to the terminal, you can configure the terminal. La réponse à la commande, véhiculée par une primitive duale : The response to the command conveyed by a dual primitive:
"TerminalSetConfiguration.response", permet d'obtenir toutes les informations nécessaires à une transaction réseau (adresse réseau, configuration, etc.). "TerminalSetConfiguration.response" provides all the necessary information to a network transaction (network address configuration, etc.).
Lorsqu'une configuration est disponible, la carte à puce peut recevoir et émettre des données depuis et vers le réseau RI . When a configuration is available, the smart card can receive and transmit data to and from the network RI. Les données échangées entre la carte à puce et le terminal sont constituées de paquets réseaux lorsque le terminal offre cette possibilité ou des données d'application lorsque le mode tunnel est mis en oeuvre (figure 7D). The data exchanged between the smart card and the terminal are comprised of network packets when the terminal provides this capability or application data when the tunnel mode is used (Figure 7D).
Les applications disponibles sur le système hôte de la carte à puce peuvent communiquer avec la carte à puce au moyen de convertisseurs de protocole. The applications available on the host system of the smart card can communicate with the smart card using protocol converters. Cette fonction est dévolue à des agents intelligents situés dans les couches spécifiques de protocole de communication. This function is devoted to intelligent agents in the specific communication protocol layers.
Du côté terminal, les méthodes de communication entre applications et agents intelligents peuvent être diverses, en fonction de la nature du terminal, notamment du système d'exploitation. The terminal side, the communication methods between applications and intelligent agents can be different, depending on the nature of the terminal, including the operating system. A titre d'exemples non limitatifs, on peut citer : As non-limiting examples, one can cite:
des "API" ("Application Programmatic Interface" ou interface programmatique d'application) ; the "API" ("Application Programmatic Interface" or programmatic interface application);
des "DLL" ("Dynamic Link Library" ou bibliothèque à liens dynamiques) ; the "DLL" ("Dynamic Link Library" or dynamic link library);
utilisation d'une adresse de boucle, telle l' "URL" (1) précitée. Using a loopback address, as the "URL" (1) above.
Enfin, comme illustré schématiquement par la figure 8, un agent intelligent AgS , dit serveur, peut être intégré dans une application Appli localisée dans la carte à puce. Finally, as shown schematically in Figure 8, an intelligent agent AgS said server can be integrated into a localized application in the App smartcard. Dans ce cas la référence associée identifie l'application Appli. Un agent intelligent Agc , dit client, mémorisé dans une bibliothèque Bib pourra être utilisé via une "API", par exemple,. In this case the associated reference identifies the App. Application An intelligent agent Agc said client, stored in a library Bib may be used via an "API", for example ,. Dans une telle configuration, le serveur mémorise des clés et utilise les services du client qui a la connaissance du protocole de communication nécessaire. In such a configuration, the server stores the keys and uses the customer service which has knowledge of the required communication protocol.
Pour résumer ce qui précède, on va maintenant décrire, de façon détaillée, les principales étapes d'un exemple de mise en oeuvre complète : To summarize the above, will now be described, in detail, the main steps of an example of a full implementation:
1/ la carte à puce est introduite dans un lecteur relié à un terminal hôte ; 1 / the smart card is inserted into a host terminal connected to a reader;
2/ le terminal hôte émet ce qui est appelé un jeton d'acquittement ; 2 / the host terminal transmits what is called an acknowledgment token;
3/ la carte à puce obtient la configuration du terminal hôte via la primitive : 3 / the smartcard obtains the configuration of the host terminal via the primitive:
précitée et, en fonction de la réponse, la carte à puce prend l'initiative de l'établissement d'un dialogue ou, au contraire, attend une requête du terminal ; and above, depending on the response, the smart card takes the initiative of establishing a dialogue or, on the contrary, is waiting for a request from the terminal;
4/ le terminal obtient un index des fonctions présentes dans la carte à puce via une "URL" de rebouclage : http://127.0.0.1:8080/index.html (voir (1)), par une session du type : 4 / the terminal obtains an index of functions present in the smart card via a "URL" loopback: http://127.0.0.1:8080/index.html (see (1)), with a session type:
"HTTP  Agent intelligent local hôte client  couche spécifique 130  couche spécifique 230  Agent intelligent local carte serveur"; "HTTP  host local Smart Client Agent  specific layer 130  specific layer 230  local Intelligent Agent Server Board";
8/ une invite à composer un code d'identification apparaít alors, par une session entre deux agents intelligents d'échanges de données, et le code confidentiel est ensuite transmis à la carte à puce ; 8 / a prompt to dial an identification code then appears, with a session between two intelligent agents for data exchange, and PIN is then transmitted to the smart card;
9/ la carte à puce vérifie la validité du code entré à l'étape précédente, en fonction de données de sécurité stockées dans celle-ci ; 9 / the smart card verifies the validity of the code entered at the previous step, according to security data stored therein;
10/ une configuration est déterminée pour le terminal et est appliquée à l'aide de la primitive "TerminalSetConfiguration.request" précitée ; 10 / configuration is determined for the terminal and is applied using the primitive "TerminalSetConfiguration.request" above;
11/ la carte à puce se connecte au serveur d'application sélectionné, en fonction de règles édictées par l'application ; 11 / smart card connects to the selected application server, according to rules set by the application;
12/ l'utilisateur obtient en réponse à sa requête (du type "HTTP") un accusé de réception ou un fichier en fonction du type de service mis en oeuvre. 12 / user gets in response to his request (of the type "HTTP") an acknowledgment or file based on the type of service used.
A la lecture de ce qui précède, on constate aisément que l'invention atteint bien les buts qu'elle s'est fixés. After reading the above, it is easy to see that the invention achieves the goals it has set.
Elle présente de nombreux avantages, comme il a été rappelé et notamment les suivants : un degré de sécurisation important pour les communications entre le terminal et le réseau, et la banalisation du terminal, ce qui permet à celui-ci de supporter une pluralité d'applications, sans qu'il soit nécessaire de modifier ni la partie matériel du terminal, ni les applications tournant dans ce terminal. It has many advantages, as has been recalled and include: a high degree of security for communications between the terminal and the network, and the trivialization of the terminal, which allows it to support a plurality of applications, without the need to modify either the hardware part of the terminal or applications running in this terminal. Seule l'implantation dans le terminal d'une couche logicielle de communication spécifique est nécessaire. Single implantation into the terminal of a specific communication software layer is necessary. Elle reste entièrement compatible avec le matériel existant et sa mise en oeuvre. It remains fully compatible with existing hardware and its implementation. Elle permet une grande mobilité de l'utilisateur et/ou de son terminal, tout en conservant le degré de sécurité précité. It allows a mobility of the user and / or terminal, while maintaining the degree of the aforementioned safety. Elle offre enfin un confort d'utilisation élevé, car l'utilisateur peut retrouver, sur toute machine acceptant sa carte à puce personnelle, son environnement habituel. Finally, it provides a high user comfort, because the user can find on any machine accepting his personal smart card, his usual environment. On peut parler, à ce sujet, de "domicile virtuel". We can talk about it, "virtual home".
Il doit être clair cependant que l'invention n'est pas limitée aux seuls exemples de réalisations explicitement décrits, notamment en relation avec les figures 2 à 8. It should be clear, however, that the invention is not limited to just the exemplary embodiments explicitly described, particularly in connection with Figures 2-8.
Notamment, comme il a été indiqué, les architectures mettant en oeuvre le procédé selon l'invention, et plus particulièrement le découpage et la répartition des couches de protocole de communication entre le terminal hôte et la carte à puce peuvent être diverses. In particular, as has been indicated, the architectures implementing the method according to the invention, and more particularly the cutting and distribution of communication protocol layers between the host terminal and the smart card may be varied.
De même, les exemples d'instructions et de commandes particulières, ainsi que les modes d'interfaçage n'ont été donnés que pour mieux préciser les caractéristiques de l'invention, mais ne sauraient en limiter sa portée. Similarly, examples of specific instructions and commands, and the interface modes have been only given in order to clarify the features of the invention but are not to limit its scope.
Il doit être clair aussi que, bien qu'elle soit particulièrement adaptée à des applications dites sécuritaires (authentification, etc.), on ne saurait cantonner l'invention à ce seul type d'applications. It should also be clear that, although it is particularly suitable for so-called security applications (authentication, etc.), it can not confine the invention to this type of applications. Une pluralité d'applications peut être stockée dans la carte à puce, les seules limitations importantes étant la capacité de mémoire de celle-ci, le débit de transmission maximum et la puissance de ses circuits de traitement de l'information (microprocesseur ou microcontrôleur). A plurality of applications can be stored in the smart card, the only significant restrictions being the memory capacity thereof, the maximum transmission rate and the power of its information processing circuitry (microprocessor or microcontroller) . Il est d'ailleurs à remarquer que ces limitations s'amenuisent avec le temps, en fonction des évolutions technologiques, lesquelles sont particulièrement rapides dans ce domaine. It is also noted that these limitations are declining over time, in line with technological developments, which are particularly fast in this area.
Enfin, les réseaux auxquels peut être connecté le terminal peuvent être divers (réseaux locaux, réseau Internet, etc.). Finally, the networks which can be connected to the terminal can be various (local area networks, the Internet, etc.). Il en est de même des protocoles de transmission : protocoles de type Internet, protocole compatible avec le MINITEL (marque déposée), etc. It is the same transmission protocols: Internet-like protocols, protocol compatible with the Minitel (trademark), etc.
1 * "Get Smartcard Demonstration to Show Benefits of Smart Card Technology" INTERNET CITATION, [Online] 27 janvier 1997 (1997-01-27), XP002080216 Extrait de l'Internet: URL:www.consensus.com/pr/demo$pr.html> [extrait le 1998-07-10]
2 * PARADINAS P ET AL: "A PERSONAL AND PORTABLE DATABASE SERVER: THE CQL CARD" APPLICATIONS OF DATABASES. INTERNATIONAL CONFERENCE, 21 juin 1994 (1994-06-21), pages 444-457, XP000874571
EP2199992A1 * 19 déc. 2008 23 juin 2010 Gemalto SA Secure activation before contactless banking smart card transaction
EP2477165A1 * 27 août 2010 18 juil. 2012 China Unionpay Co., Ltd. Multi-application smart card, and system and method for multi-application management of smart card
EP2477165A4 * 27 août 2010 21 mai 2014 China Unionpay Co Ltd Multi-application smart card, and system and method for multi-application management of smart card
US9009476 27 août 2010 14 avr. 2015 China Unionpay Co., Ltd. Multi-application smart card, and system and method for multi-application management of smart card
WO2010070099A1 * 18 déc. 2009 24 juin 2010 Gemalto Sa Secure activation before contactless banking smart card transaction
Classification internationale G06F3/08, G06F13/00, G07F7/10, H04L29/06, G06F21/34, G06F21/60, H04L29/08
Classification coopérative H04L69/32, H04L69/161, H04L67/02, G06Q20/341, G06F21/606, G06F2221/2153, G06Q20/4097, G07F7/1008, G06F21/34, H04L63/0853, H04L29/06
Classification européenne H04L29/06J3, G06F21/60C, G06F21/34, G06Q20/4097, G06Q20/341, H04L63/08E, H04L29/06, H04L29/08N1, G07F7/10D