Brevet FR3048298A1 — publié le 20170901

SYSTEME DE SIMULATION DE CARTES A PUCES. DOMAINE DE L'INVENTION La présente invention concerne le domaine des cartes à puces. Aujourd'hui, les cartes à puces sont utilisées pour de nombreuses finalités, dont la plupart reposent notamment sur la signature électronique. Par souci de concision, il ne sera exposé ici qu'un exemple non limitatif dans lequel les cartes à puces sont utilisées notamment à des fins de signature électronique ou d'identification, par exemple l'identification d'un patient dans le domaine de la santé. 15 Dans cet exemple, et dans ce domaine, il existe en France deux types de cartes à puces, chaque type répondant à une norme particulière. Le premier type de carte à puce, dite carte PS pour carte de professionnel de santé, répond en France à la norme ISO 7816-4. Ce type de carte à puce est destiné à une première 20 catégorie de personnes, typiquement aux professionnels de santé, par exemple les médecins. Par concision, ce premier type de carte à puce sera dénommée CPS ci-après. Le deuxième type de carte à puce est dit carte Vitale (marque déposée). En France il en existe au moins deux variantes, la première variante répond à la norme ISO 7816-4 pour la 25 carte dite Vitale 2 ; et la deuxième variante, dite carte Vitale 1, qui répond à un protocole propriétaire à la demanderesse. Ce deuxième type de carte à puce est destiné à une deuxième catégorie de personnes, typiquement aux assurés. La présente invention ayant le même effet sur les différentes 30 variantes, on assimile ici les variantes du deuxième type de carte à puce. Par concision, ce deuxième type de carte à puce sera donc dénommé carte Vitale ci-après. L'invention couvre tout domaine utilisant un premier et un deuxième type de carte à puce, différent du premier type ; chaque type répondant à une norme particulière ou un protocole 35 particulier. Par souci de concision, il ne sera fait référence ici qu'au domaine de la santé. 10 3048298 2 À l'heure actuelle, au cours de la réalisation d'une prestation effectuée par un professionnel de santé auprès d'un assuré, la CPS et la carte Vitale sont insérées simultanément dans un lecteur du professionnel de santé, où par « lecteur », on entend indistinctement un lecteur double fente ou deux lecteurs mono fente. 5 Le lecteur de cartes est relié à un ordinateur par une liaison informatique, typiquement un câble électrique et un connecteur, notamment USB. Dans l'ordinateur est chargé un programme d'ordinateur qui comprend des instructions de code de programme pour lire les informations contenues respectivement dans la CPS et dans la carte Vitale et exécuter au moins une fonction à l'aide de ces informations, par exemple une fonction de facturation d'un acte médical. Pour différentes raisons, il est souhaitable de faire évoluer au moins l'un des éléments parmi : ledit programme d'ordinateur, la CPS, et la carte Vitale. Dans ce contexte, avant de mettre sur le marché au moins l'un desdits éléments évolués, il est souhaitable d'effectuer un certain nombre de tests. Typiquement, au cours de ces tests, il est nécessaire d'effectuer plusieurs insertions, retraits et lecture d'au moins un type de carte à puce. À cet effet par exemple : un opérateur insère une première CPS de test et une première carte Vitale de test dans un lecteur, exécute une fonction au moins du programme d'ordinateur (programme d'ordinateur test ou programme d'ordinateur réel). Puis l'opérateur doit retirer l'une au moins parmi ladite première CPS de test et ladite première carte Vitale de test du lecteur, insérer dans le lecteur au moins une parmi une deuxième CPS de test et une deuxième carte Vitale de test, et exécuter au moins ladite fonction (ou une autre fonction) dudit programme d'ordinateur. Cette opération répétitive est très consommatrice de temps et nécessite une pluralité de CPS de test et une pluralité de cartes Vitale de test ainsi que de nombreuses manipulations par un opérateur. La présente invention vise à remédier à ce problème de manière astucieuse en simulant le comportement d'une carte à puce et en robotisant l'insertion et le retrait des cartes dans le lecteur. RESUME DE L'INVENTION Le système selon l'invention est essentiellement caractérisé en ce qu'il comprend : - un premier ordinateur (10) comprenant un ensemble de données relatives à des cartes à puce simulées d'un premier type et d'un deuxième type, 3048298 3 - un deuxième ordinateur (20) sur lequel est chargé un logiciel configuré pour exécuter des fonctions utilisant un ensemble de données relatives à une carte à puce du premier type et un ensemble de données relatives à une carte à puce du deuxième type, - un lecteur (40) de cartes à puce comprenant au moins deux fentes, chaque fente étant 5 configurée pour accueillir une carte sonde respective, le lecteur étant connecté informatiquement au deuxième ordinateur (20) et configuré pour, à détection d'une présence de carte sonde dans l'une de ses fentes, générer un signal de réinitialisation, - au moins deux cartes sonde (51, 52), chaque carte sonde étant susceptible d'être insérée dans une fente respective dudit lecteur, et 10 - un dispositif d'interfaçage (30), connecté électroniquement à chaque carte sonde (51, 52) et connecté informatiquement au premier ordinateur (10), et comprenant au moins une carte électronique mère comprenant un calculateur configuré pour envoyer au lecteur (40), à détection d'un signal de réinitialisation émis par le lecteur, uniquement le premier octet d'une commande (ATR) de réponse audit signal de réinitialisation. 15 On peut prévoir en outre : - un dispositif mécanique (61, 62) de va-et-vient par carte sonde (51, 52), configuré pour, à réception d'un signal de commande correspondant, insérer ou retirer une carte sonde respective dans la fente correspondante du lecteur (40), 20 le dispositif mécanique possédant au moins deux extrémités dont une première extrémité est reliée mécaniquement à un moteur pilotable et solidaire en rotation de celui-ci, et une deuxième extrémité est reliée mécaniquement à ladite carte sonde, et solidaire de celle-ci. De préférence, le moteur est configuré pour atteindre au moins une première position 25 prédéterminée et une deuxième position prédéterminée, et pour maintenir l'une et l'autre de ces positions, telles que la première position prédéterminée correspond à la carte sonde insérée dans la fente du lecteur et la deuxième position prédéterminée correspond à la carte sonde retirée de la fente du lecteur. 30 De préférence, la carte sonde comprend un ensemble de connecteurs électriques, chaque connecteur électrique étant configuré pour, lorsque la carte sonde est insérée dans le lecteur (40), être en contact électrique avec un connecteur électrique individuel dudit lecteur (40), lesdits connecteurs électriques individuels dudit lecteur (40) comprenant : 35 un connecteur électrique d'horloge, un connecteur électrique de réinitialisation (RESET), deux connecteurs électriques d'alimentation en tension, et un connecteur électrique pour la communication de données (DATA). 3048298 4 De préférence, la carte sonde est une plaque de circuit imprimé au format d'une carte bancaire 8 contacts, respectant la norme IS07816-2, ou l'une au moins parmi le premier type de carte à puce et le deuxième type de carte à puce répond à la norme ISO 7816-4. Le terme 5 « ou » est à prendre au sens non exclusif. De préférence, le lecteur (40) est configuré pour générer, à détection d'une présence de carte sonde dans celui-ci : - un signal d'alimentation, qui permet de mettre la carte sonde sous tension électrique, 10 - un signal d'horloge de référence, et - un signal de réinitialisation (RESET). Dans un mode de réalisation, le dispositif d'interfaçage (30) comprend en outre une carte électronique fille, connectée électriquement à la carte électronique mère et configurée pour 15 réaliser des opérations de signature électronique ou d'authentification. De préférence, la carte électronique fille comprend au moins l'un des éléments parmi : - un microcontrôleur, équipé d'un émetteur-récepteur asynchrone universel (UART), - quatre connecteurs de carte SIM, et 20 - un dispositif de communication électronique permettant la communication entre le microcontrôleur et les quatre connecteurs de cartes SIM. Dans un mode de réalisation, le lecteur (40) comprend en outre deux cartes à puces du deuxième type, chaque carte à puce comprenant une clé privée individuelle, un certificat 25 d'autorité et un certificat contenant la clé publique, la clé privée de l'une des deux cartes à puces du deuxième type étant utilisée pour des fonctions de cryptographie mises en oeuvre par le logiciel chargé sur le deuxième ordinateur. Dans un mode de réalisation, l'ensemble de données relatives à des cartes à puce 30 simulées d'un premier type et d'un deuxième type dans le premier ordinateur comprend, par carte simulée, les octets complémentaires du premier octet de la commande (ATR) de réponse audit signal de réinitialisation. D'autres caractéristiques et avantages de la présente invention apparaîtront plus 35 clairement à la lecture de la description suivante donnée à titre d'exemple illustratif et non limitatif et faite en référence aux figures annexées. DESCRIPTIF DES DESSINS 3048298 5 La figure 1 illustre un mode de réalisation d'un système selon l'invention, La figure 2 illustre des échanges de données au sein d'un mode de réalisation d'un système selon l'invention, 5 La figure 3 illustre des échanges de données au sein d'un mode de réalisation d'un système selon l'invention, pour l'initialisation d'un dispositif d'interfaçage selon l'invention, et La figure 4 illustre des échanges de données au sein d'un mode de réalisation d'un système selon l'invention, pour une commande de sécurité demandée par un lecteur selon l'invention. 10 DESCRIPTION DETAILLEE Carte sonde 15 Une carte sonde 51, 52 est un connecteur en forme de carte à puce, utilisé essentiellement pour des phases de tests, et qui permet d'assurer la communication entre un lecteur 40 décrit ultérieurement et une carte électronique d'un dispositif d'interfaçage 30 décrit lui aussi ultérieurement. . 20 La carte sonde comprend un support sur lequel sont montés un ensemble de connecteurs électriques. Chaque connecteur électrique est connecté un fil électrique individuel, et les fils sont isolés électriquement les uns des autres. La longueur des fils est supérieure à celle du support, de sorte que ceux-ci se prolongent au-delà dudit support. Au-delà dudit support, les fils électriques sont de préférence montés au sein d'une gaine commune, également appelée 25 nappe. Les connecteurs électriques sont positionnés sur le support de sorte à ce que, lorsque la carte sonde est insérée dans le lecteur, chaque connecteur électrique du lecteur soit en contact avec un connecteur électrique individuel de la carte sonde. Une carte sonde comprend un 30 ensemble de connecteurs électriques dont le nombre est supérieur ou égal au nombre de connecteur de la carte à puce dont elle permet la simulation. En l'espèce, on prévoit une première carte sonde 51 et une deuxième carte sondes 52 identiques, chaque carte sonde comprenant au moins les connecteurs électriques suivants : 35 un connecteur électrique d'horloge, un connecteur électrique de réinitialisation (reset), deux connecteurs électriques d'alimentation en tension (une borne positive et une borne négative), et 3048298 6 - un connecteur électrique pour la communication de données. Par exemple, la carte sonde est une plaque de circuit imprimé de 0.4 mm, au format d'une carte bancaire 8 contacts respectant la norme IS07816-2. 5 Avantageusement, une carte sonde n'est qu'un circuit imprimé sans aucun composant électronique de puissance, ni calculateur. Elle permet le convoyage de données électroniques depuis le lecteur vers les interfaces du microcontrôleur de la carte mère décrite ultérieurement. 10 La carte sonde agit donc comme interface de communication entre le lecteur et la carte mère. Elle permet la simulation d'une carte à puce, quel qu'en soit le premier type ou le deuxième type. Elle présente avantageusement des dimensions compatibles avec la carte à puce qu'elle vise simuler. 15 Les cartes sonde présentant des dimensions égales à celles des cartes à puce standard, lesdites cartes sonde peuvent être insérées dans un lecteur de carte à puce standard. Lecteur 20 On prévoit un lecteur 40 de cartes à puces, comprenant au moins deux fentes, chaque fente étant configurée pour recevoir une carte à puce individuelle, de façon de préférence standard. On peut prévoir que le lecteur peut lire, simultanément ou non, les deux cartes sonde 25 insérées respectivement dans chacune de ses fentes. Toutes les cartes sondes présentant de préférence les mêmes dimensions, elles peuvent être introduites indistinctement dans l'une ou l'autre des fentes du lecteur. 30 Le lecteur est connecté informatiquement à un deuxième ordinateur 20 décrit ultérieurement. De manière connue en soi, chaque fente du lecteur comprend un détecteur de présence de carte, en l'espèce sous forme de contacteur. A détection d'une présence de carte dans une 35 fente du lecteur, en l'espèce d'une carte sonde, celui-ci génère : - un signal d'alimentation, qui permet de mettre la carte sonde sous tension électrique grâce aux connecteurs électriques d'alimentation de la carte sonde en contact électrique avec les connecteurs électriques d'alimentation du lecteur, 3048298 7 - un signal d'horloge de référence, et - un signal de réinitialisation (reset), en l'espèce sous forme de signal binaire. Dispositif mécanique de va-et-vient 5 Avantageusement, on prévoit également un dispositif mécanique de va-et-vient par fente du lecteur. En l'espèce, on prévoit un premier dispositif mécanique de va-et-vient 61 pour la première fente du lecteur, et un deuxième dispositif mécanique de va-et-vient 62 pour la deuxième fente du lecteur. Le dispositif mécanique de va-et-vient fonctionne de manière 10 identique pour chaque fente, aussi un seul système mécanique de va-et-vient est décrit ci- après. Le système mécanique de va-et-vient est fixé au lecteur, en l'espèce via une ossature, par exemple métallique. L'ossature et/ou le système mécanique de va-et-vient est solidaire du 15 lecteur, par exemple par soudage, vissage, boulonnage, etc. De préférence, l'ossature est adaptée au modèle de lecteur. Le système mécanique de va-et-vient comprend un moteur, typiquement à rotation, pilotable grâce à un signal de commande, en l'espèce transmis via un dispositif d'interfaçage 20 décrit ultérieurement. Le moteur est configuré pour atteindre au moins une première position prédéterminée et une deuxième position prédéterminée, et pour maintenir l'une et l'autre de ces positions. Par exemple le moteur est un servomoteur, en l'espèce de modélisme d'avion. En l'espèce la première et la deuxième position prédéterminées correspondent à des 25 valeurs d'angle du moteur ; la première position prédéterminée correspondant à la carte sonde non insérée dans le lecteur, c'est-à-dire une position dans laquelle les connecteurs électriques de la carte sonde ne sont pas en contact électrique avec les connecteurs électriques du lecteur, et la deuxième position prédéterminée correspondant à la carte sonde insérée dans le lecteur, c'est-à-dire l'unique position dans laquelle les connecteurs électriques de la carte sonde sont en 30 contact électrique avec les connecteurs électriques du lecteur et le contacteur de présence de carte du lecteur. Le système mécanique de va-et-vient comprend également un dispositif de transformation du mouvement de rotation du moteur en un mouvement de translation de la carte sonde, par 35 exemple un tambour couplé à un câble, une chaîne, une chenille, un arbre à came couplé à une tige, un vilebrequin couplé à une bielle, une vis couplée à un écrou, des guignols de modélisme d'avion, etc. 3048298 8 Le dispositif de transformation du mouvement de rotation du moteur en un mouvement de translation de la carte sonde, solidaire de l'ossature, possède au moins deux extrémités dont une première extrémité est reliée mécaniquement au moteur et solidaire en rotation de celui-ci, et une deuxième extrémité est reliée mécaniquement à la carte sonde et solidaire de celle-ci, au 5 moins temporairement le temps des tests. On peut prévoir que la carte sonde est fixée à l'extrémité du dispositif de transformation du mouvement de rotation du moteur en un mouvement de translation de la carte sonde de manière amovible. On peut prévoir que le dispositif de transformation du mouvement de rotation du moteur 10 en un mouvement de translation de la carte sonde comprend un ensemble d'éléments rigides, typiquement des barres métalliques, dont certains au moins peuvent être mobiles en rotation et/ou en translation, pour relier mécaniquement le moteur et/ou la carte sonde audit dispositif de transformation du mouvement de rotation du moteur en un mouvement de translation. 15 De manière connue en soi, le lecteur comprend un détecteur de présence de carte sonde comprenant un interrupteur qui bascule lorsqu'une carte sonde est insérée dans la fente du lecteur et émet alors un signal de présence, transmis en l'espèce au dispositif d'interfaçage décrit ultérieurement. 20 Premier calculateur On prévoit un premier calculateur programmable couplé à une mémoire, et en l'espèce un premier ordinateur 10, en particulier un ordinateur individuel de type « PC ». 25 La mémoire comprend un ensemble de données relatives à une pluralité de cartes à puce, de préférence quel qu'en soit le premier type (CPS) et ou le deuxième type (Vitale). Un ensemble de données relatives à (indistinctement « associées à ») une carte simulée comprend par exemple des données relatives à l'identité du porteur de carte telles que le nom, le prénom, l'adresse, le numéro de sécurité sociale, etc. ainsi que la commande ATR associée à ladite 30 carte simulée et décrite ultérieurement, ladite commande ATR étant éventuellement tronqué de son premier octet. De préférence, les données sont enregistrées dans la mémoire de façon indexée. La mémoire peut être de tout type et les données y sont avantageusement stockées sous 35 forme de base de données ou de librairie. En l'espèce, la librairie se base sur la norme ISO 7816-4. 3048298 9 L'export (indistinctement « l'extraction ») des données nécessaires à la simulation de cartes à puce depuis la mémoire vers le lecteur se fait par exemple sous forme d'un ou plusieurs fichiers, en l'espèce au format « .crd » pour une carte Vitale 1 et au format « .xml » pour une carte Vitale 2 ou une CPS. 5 Par concision le premier calculateur couplé à la mémoire sera dénommé ci-après « premier ordinateur ». Typiquement le premier ordinateur est exploité exclusivement à des fins de simulations de 10 cartes. Il n'a pas vocation à être exploité par un assuré ni par un professionnel de santé dans l'exercice normal de ses prestations. Dans la mémoire est chargé également un programme d'ordinateur, dit logiciel de simulation, et comprenant des instructions de code de programme permettant de mettre en 15 oeuvre la simulation décrite ci-après ; notamment d'émettre des différentes commandes ou signaux décrits également ci-après. Deuxième calculateur 20 On prévoit un deuxième calculateur programmable, en l'espèce un deuxième ordinateur 20, en particulier un ordinateur individuel de type « PC », sur lequel est chargé un logiciel associé à l'une au moins des cartes à puces parmi la carte PS et la carte Vitale, par exemple un logiciel de professionnel de santé et permettant par exemple d'émettre une facture d'un acte médical à destination d'un organisme de santé. 25 Par concision le deuxième calculateur sera dénommé ci-après « deuxième ordinateur ». Pour des phases de test notamment, le premier et le deuxième ordinateur peuvent être une seule et même machine. En exploitation réelle, le deuxième ordinateur est typiquement 30 celui d'un praticien (professionnel de santé). Dispositif d'interfaçage On prévoit un dispositif d'interfaçage 30 connecté informatiquement d'une part au premier 35 ordinateur 10 et d'autre part aux cartes sonde 51, 52 ainsi qu'au lecteur 40, et plus particulièrement au moteur. La connexion informatique permet de communiquer des données, et le cas échéant, une alimentation électrique. 3048298 10 Le dispositif d'interfaçage comprend au moins une première carte électronique, dite carte mère 31, et comprenant un calculateur, en l'espèce programmable, configuré pour détecter le signal de réinitialisation émis par le lecteur et envoyer au lecteur, en place de la carte sonde, le premier octet de ladite commande ATR associée à la carte à puce simulée. 5 Le dispositif d'interfaçage peut comprendre une deuxième carte électronique, dite carte fille, décrite ci-après, qui est connectée électroniquement à la carte mère, et qui permet d'effectuer des actions de sécurité avec une carte Vitale (signature électronique). 10 Le dispositif d'interfaçage connecté à la carte sonde et au premier ordinateur permet de simuler une CPS comme une carte Vitale. De préférence, le dispositif d'interfaçage est intégré dans un boitier. 15 Carte mère La carte mère 31 comprend au moins l'un des éléments parmi : un circuit électronique permettant de communiquer avec le lecteur de carte à puce comme une vraie carte à puce, 20 un dispositif de connexion, en l'espèce USB, pour établir une connexion électronique vers le premier ordinateur, un dispositif de connexion pour établir une connexion électronique vers la carte fille, et un microcontrôleur, équipé d'un émetteur-récepteur asynchrone universel (UART). 25 Le microcontrôleur de la carte mère comprend un logiciel configuré pour interpréter toutes les commandes émises par le logiciel de simulation du premier ordinateur. Le logiciel contenu dans le microcontrôleur de la carte mère, en l'espèce en language C, comprend les modules suivants : un micrologiciel (« firmware » en anglais), en l'espèce CDC pour Communication 30 Device Class en anglais, et permettant au premier ordinateur de voir la carte sonde comme un dispositif Série avec une communication vers un port COM USB, un module de communication Série, permettant la communication de la carte mère vers le lecteur, via l'UART du microcontrôleur et les connecteurs de la carte sonde. En l'espèce, le paramètre permettant de gérer la vitesse de communication est transmis 35 depuis le premier ordinateur et est déterminé en fonction de la fréquence de l'horloge du lecteur utilisé, - un module de communication 12C (pour Inter-Integrated Circuit en anglais), permettant la communication via un port 12C du microcontrôleur de la carte mère. Le débit 12C 3048298 11 utilisé est d'environ 100khz. Le mode maitre et esclave peuvent être utilisés alternativement en fonction du sens de communication entre carte mère et carte fille, un module de gestion des servomoteurs permet de générer des impulsions pour mettre en mouvement lesdits servomoteurs de façon à insérer ou extraire la carte 5 sonde du lecteur, - un module « Utilisateur » qui interprète les commandes envoyées depuis le premier et/ou le deuxième ordinateur et route les trames de commande vers le bon module destinataire (micro logiciel, module de communication série, 120 ou gestion des servomoteurs). 10 Par exemple, sur réception d'une commande de configuration CONFIG émise par le logiciel de simulation du premier ordinateur, le débit (« baud rate ») de l'UART est initialisé. Sur réception d'une commande CARDEBUG de pilotage des servomoteurs, émise par le logiciel de simulation du premier ordinateur et comprenant typiquement une valeur dans du moteur, le 15 module Utilisateur appelle le module de gestion des servomoteurs. De préférence par défaut, toutes les trames sont envoyées vers la carte sonde et donc le lecteur. Toutefois, si le module Utilisateur reçoit une commande de sécurité SECU émise par le logiciel de simulation du premier ordinateur, il route alors toutes les trames vers 1'120, et arrête 20 de le faire sur une commande d'arrêt STOP émise par le logiciel de simulation du premier ordinateur. Dans ce cas, le module Utilisateur fonctionne comme un commutateur : entre la réception de la commande SECU et de la commande STOP, toutes les trames sont envoyées à la carte fille au lieu d'être envoyées à la carte sonde. 25 D'un point de vue fonctionnel, la carte mère permet dans un premier temps de gérer les contraintes temps réel de la communication d'une carte à puce respectant la norme IS07816-X. Dans un second temps le microcontrôleur fait l'adaptation en fréquence de la communication du premier ordinateur vers le lecteur, et gère le cas échéant les appels à la carte fille pour des questions de cryptographie. 30 Carte fille On peut prévoir une carte fille 32, connectée électriquement à la carte mère, en l'espèce via un connecteur 6 points (2x3). 35 La carte fille permet de réaliser des fonctions de cryptographie, par exemple des opérations de signature électronique ou d'authentification. 3048298 12 La carte fille comprend au moins l'un des éléments parmi : - un microcontrôleur, de préférence équipé d'un émetteur-récepteur asynchrone universel (UART), - quatre connecteurs de cartes SIM, de préférence couplés par deux et pouvant accueillir 5 deux types de cartes Vitale au format carte SIM, par exemple grâce à des fentes, et - un dispositif de communication électronique permettant la communication, en l'espèce via un protocole série, entre l'UART du microcontrôleur et les quatre connecteurs de cartes SIM. 10 Par exemple, le dispositif de communication électronique est directement relié à l'UART du microcontrôleur via une résistance de pull UP. En l'espèce, tous les connecteurs de carte SIM sont connectés sur un même fil entrée/sortie I/O et sur un même fil d'horloge, ce qui permet un gain de place et de composants 15 électroniques. L'UART est configuré à 9600 baud sur une horloge de référence de 4MHZ, les fils de réception RX et de transmission TX de l'UART sont reliés au seul fil entrée/sortie I/O pour adapter l'interface à l'entrée sortie des cartes SIM. L'avantage de monter un ensemble de connecteurs de carte SIM sur la carte fille est de 20 rendre le boîtier dans lequel est monté le dispositif d'interfaçage autonome. En effet, une solution alternative consisterait à monter lesdites cartes SIM sur un serveur distant en communication avec ledit dispositif d'interfaçage, mais cette solution est plus contraignante. Par ailleurs, les cartes Vitale contiennent, lors de leur fabrication, des clés privées 25 uniques qui sont intégrées dans des composants desdites cartes. De fait, les clés privées des cartes Vitale sont confidentielles et inaccessibles, même pour des phases de tests, et ne peuvent pas être simulées. Avantageusement, on prévoit donc un pool d'au moins une carte Vitale connectée 30 électriquement aux connecteurs de cartes SIM, et de préférence d'au moins deux cartes Vitale, en l'espèce découpées au format SIM. Le microcontrôleur de la carte fille communique vers la carte mère en l'espèce via le protocole 120. 35 Le logiciel intégré dans le microcontrôleur de la carte fille est composé de plusieurs modules permettant la gestion des ports de communication, le traitement de l'information liée 3048298 13 aux commandes de sécurité des cartes Vitale ainsi qu'à la gestion du pool des cartes présentes dans les connecteurs de carte au format SIM : un module de communication série permet le contrôle de l'UART du microcontrôleur de la carte fille et la communication vers les cartes Vitale du pool. En l'espèce ce 5 module est configuré pour travailler à 10700 bauds car l'horloge interne générée par le microcontrôleur est le 4 MHz, un module de communication 120 assure la communication via le port 120 du microcontrôleur de la carte fille vers la carte mère. Comme pour la carte mère, le mode maitre et esclave peut être utilisé alternativement en fonction du sens de 10 communication, un module de gestion du pool des cartes Vitale a pour fonction d'initialiser une carte de sécurité en fonction du type de carte demandé, de manière à ce que le numéro de série de la carte simulée change à chaque demande, un module d'interprétation des commandes entrantes, qui assure le routage des 15 commandes vers la carte Vitale en cours d'utilisation. Sur la réception d'une commande RESX (où X est le numéro du connecteur de carte SIM voulu), le module d'interprétation des commandes entrantes transfert la demande vers le module de gestion du pool. Le module de gestion de pool monte alors à 1 la ligne RESET du connecteur X et laisse les autres à 0. Ceci a pour conséquence d'activer uniquement 20 la carte Vitale connectée audit connecteur X. Toutes les autres données peuvent être envoyées sur L'UART car seule la carte Vitale dont le signal RESET est à 1 va répondre. De préférence, la carte fille traite toutes les commandes de sécurité à la place du 25 deuxième ordinateur qui reconnait ces commandes. Chaque carte Vitale possède un numéro de série individuel qui est lu par le lecteur. Il existe un mécanisme logiciel qui rejette toute opération lorsque le même numéro de série est lu deux fois de suite par le lecteur pendant une durée prédéterminée. En l'espèce, le lecteur 30 mémorise des données de la carte Vitale via son numéro de série et il ne relie pas la carte si on lui demande de lire deux fois de suite une carte avec le même numéro de série. Ainsi, les données sont envoyées à l'une des cartes Vitale du pool, qui les signe électroniquement avec sa clé privée. Après cette opération, les données suivantes sont 35 envoyées à une autre des cartes Vitale du pool. L'utilisation successive et alternative de cartes Vitale permet de signer un lot de plusieurs cartes simulées, par exemple 1500 cartes simulées, avec par exemple uniquement deux cartes Vitale du pool. 3048298 14 Fonctionnement Sur les figures 2 et 3, les flèches pleines illustrent des processus de communication éventuellement répétitifs entre les éléments du système qui communiquent entre eux. 5 De manière connue en soi, par exemple de l'une des normes ISO 7816-X, lorsqu'une carte à puce est sous tension, à réception du signal de réinitialisation par la carte à puce, typiquement au front montant de celui-ci, celle-ci émet un signal dit ATR pour "answer to reset" en langue anglaise, en réponse audit signal de réinitialisation. 10 La commande ATR est un signal de données envoyé sur une ou plusieurs trames et comprenant des données, dites ATR, relatives à la carte à puce insérée dans le lecteur. Chaque carte à puce génère donc une commande ATR individuelle. Pour simplifier, on assimile ici la commande ATR avec les données ATR que ladite commande ATR transmet. En l'espèce, 15 la commande ATR est émise par la carte mère et transmise au lecteur par l'intermédiaire de la carte sonde. Il existe une contrainte de temps telle qu'il existe un délai pour émettre ladite commande ATR, correspondant à un nombre prédéterminé de coups ou cycles d'horloge. Si la commande 20 ATR n'est pas émis dans ce délai, le lecteur considère la carte comme muette et la refuse. Par exemple la contrainte de temps est de 11.32 ms avec une horloge à 3.57 MHz. A ce jour les ordinateurs individuels actuels (processeur et système d'exploitation) n'offrent pas les fonctions de traitement de signaux en temps réel pour émettre une commande ATR dans une telle contrainte de temps (11ms) ; au mieux, ils répondent dans un délai de l'ordre de plusieurs 25 dizaines de millisecondes. Le dispositif d'interfaçage selon invention permet de palier à cette contrainte. En effet, en réalité, seul le premier octet de la première trame de communication de la 30 commande ATR doit être envoyé au lecteur dans un premier délai, le reste de la commande ATR devant être envoyé au lecteur dans un deuxième délai, typiquement de l'ordre de la seconde. L'invention utilise astucieusement cette caractéristique. 35 En outre, la commande ATR d'une carte PS est différente de la commande ATR d'une carte Vitale, à l'exclusion du premier octet de la première trame. Ainsi, avantageusement, le 3048298 15 même dispositif d'interfaçage peut être utilisé indistinctement pour la simulation d'une CPS ou d'une carte Vitale avec une même carte sonde. En configurant le microcontrôleur de la carte mère du dispositif d'interfaçage pour émettre 5 uniquement ledit premier octet de la première trame de la commande ATR à réception du signal d'initialisation, l'envoi dudit premier octet permet d'obtenir un temps de réponse extrêmement court, de l'ordre de quelques centaine de microsecondes, donc de respecter ledit premier délai prédéterminé et de temporiser. 10 Le lecteur recevant ledit premier octet dans ledit premier délai, il passe alors en attente du reste de la commande ATR dans le deuxième délai. Le dispositif d'interfaçage permet de respecter le premier délai, le reste de la commande ATR étend envoyé par le premier ordinateur dans le deuxième délai. 15 Par exemple, une fois une carte sonde insérée dans le lecteur, une commande de facturation est émise depuis le deuxième ordinateur. Le signal de commande correspondant est envoyé au premier ordinateur. A réception dudit signal de commande, le microcontrôleur de la carte mère pilote le 20 module de gestion des servomoteurs de sorte que la carte sonde soit insérée automatiquement dans lecteur. L'insertion de la carte sonde dans le lecteur génère un signal de présence. À réception du signal de présence par le microcontrôleur de la carte mère, celui-ci génère un signal de 25 réinitialisation. Le signal d'initialisation est envoyé au microcontrôleur de la carte mère du dispositif d'interfaçage via la carte sonde. A réception dudit signal de réinitialisation, la carte mère transmet le premier octet de la commande ATR, en l'espèce en moins de 11 ms, et envoie au 30 premier ordinateur ledit signal de réinitialisation. Le microcontrôleur de la carte mère du dispositif d'interfaçage envoie alors au premier ordinateur un signal selon lequel le signal d'initialisation a été envoyé par le lecteur, par exemple soit par génération d'un signal ad hoc, soit par transmission dudit signal de réinitialisation, et en l'espèce par un message RST au format texte. 35 Comme le premier octet de la première trame de communication de la commande ATR a été envoyé au lecteur dans le délai prédéterminé, le processus n'est pas bloqué et la simulation d'une carte à puce par le premier ordinateur peut alors être effectuée. 3048298 16 A réception du signal de réinitialisation par le premier ordinateur, celui-ci envoie au lecteur la commande ATR à l'exclusion du premier octet. Ces données sont envoyées si le lecteur les demande, ce qu'il peut faire de lui-même dans le cas d'un lecteur dit « intelligent », ou dans le 5 cas d'un lecteur standard, c'est le logiciel sur le deuxième ordinateur qui transmet les commande IS07816-4 permettant l'envoi ce ces données. Par lecteur « intelligent » on entend un lecteur capable d'interpréter une série d'ordres, de préférence selon un format propriétaire et en particulier définis par la demanderesse (GIE Sesam Vitale). Le lecteur intelligent traduit ensuite ces ordres en une série de commandes à destination d'une carte sonde déterminée. 10 Les données de la carte simulée sont envoyées au logiciel du deuxième ordinateur pour réaliser les opérations test. Un processus de test consiste à tester par exemple au moins l'un des éléments parmi : 15 - une nouvelle fonctionnalité du logiciel chargé sur le deuxième ordinateur, - une nouvelle CPS, - une nouvelle carte Vitale. Les cartes PS ou Vitale sont simulées grâce à la carte sonde et au premier ordinateur. 20 Comme évoqué précédemment, les opérations de signature électronique sont exécutées, si nécessaire, par l'une des cartes Vitale de la carte fille. La première carte sonde la deuxième carte sonde peuvent être insérées simultanément 25 ou non. En l'espèce, les actions de cryptographie entre la carte Vitale de la première fente et la carte CPS de la deuxième fente du lecteur sont indépendantes et ne sont pas exécutées au même moment. Nomenclature 10 Premier ordinateur 20 Deuxième ordinateur 30 Dispositif d'interfaçage 31 Carte mère 32 Carte fille Lecteur de carte 51 Première carte sonde 52 Deuxième carte sonde 61 Premier dispositif mécanique de va-et-vient 62 Deuxième dispositif mécanique de va-et-vient 30 REVENDICATIONS1. Système de simulation de cartes à puces, caractérisé en ce qu'il comprend : - un premier ordinateur (10) comprenant un ensemble de données relatives à des cartes à puce simulées d'un premier type et d'un deuxième type, - un deuxième ordinateur (20) sur lequel est chargé un logiciel configuré pour exécuter des fonctions utilisant un ensemble de données relatives à une carte à puce du premier type et un ensemble de données relatives à une carte à puce du deuxième type, - un lecteur (40) de cartes à puce comprenant au moins deux fentes, chaque fente étant configurée pour accueillir une carte sonde respective, le lecteur étant connecté informatiquement au deuxième ordinateur (20) et configuré pour, à détection d'une présence de carte sonde dans l'une de ses fentes, générer un signal de réinitialisation, - au moins deux cartes sonde (51, 52), chaque carte sonde étant susceptible d'être insérée dans une fente respective dudit lecteur, et - un dispositif d'interfaçage (30), connecté électroniquement à chaque carte sonde (51, 52) et connecté informatiquement au premier ordinateur (10), et comprenant au moins une carte électronique mère comprenant un calculateur configuré pour envoyer au lecteur (40), à détection d'un signal de réinitialisation émis par le lecteur, uniquement le premier octet d'une commande (ATR) de réponse audit signal de réinitialisation. 2. Système selon la revendication 1, comprenant en outre : - un dispositif mécanique (61, 62) de va-et-vient par carte sonde (51, 52), configuré pour, à réception d'un signal de commande correspondant, insérer ou retirer une carte sonde respective dans la fente correspondante du lecteur (40), le dispositif mécanique possédant au moins deux extrémités dont une première extrémité est reliée mécaniquement à un moteur pilotable et solidaire en rotation de celui-ci, et une deuxième extrémité est reliée mécaniquement à ladite carte sonde, et solidaire de celle-ci. 3. Système selon la revendication 2, dans lequel : Le moteur est configuré pour atteindre au moins une première position prédéterminée et une deuxième position prédéterminée, et pour maintenir l'une et l'autre de ces positions, telles que la première position prédéterminée correspond à la carte sonde insérée dans la fente du lecteur et la deuxième position prédéterminée correspond à la carte sonde retirée de la fente du lecteur. 4. Système selon l'une quelconque des revendications précédentes, dans lequel : la carte sonde comprend un ensemble de connecteurs électriques, chaque connecteur électrique étant configuré pour, lorsque la carte sonde est insérée dans le lecteur (40), être en contact électrique avec un connecteur électrique individuel dudit lecteur (40), 3048298 18 lesdits connecteurs électriques individuels dudit lecteur (40) comprenant : un connecteur électrique d'horloge, un connecteur électrique de réinitialisation (RESET), deux connecteurs électriques d'alimentation en tension, et 5 un connecteur électrique pour la communication de données (DATA). 5. Système selon l'une quelconque des revendications précédentes, dans lequel : - la carte sonde est une plaque de circuit imprimé au format d'une carte bancaire 8 contacts, respectant la norme IS07816-2, ou 10 -l'une au moins parmi le premier type de carte à puce et le deuxième type de carte à puce répond à la norme ISO 7816-4. 6. Système selon l'une quelconque des revendications précédentes, dans lequel : le lecteur (40) est configuré pour générer, à détection d'une présence de carte sonde 15 dans celui-ci : - un signal d'alimentation, qui permet de mettre la carte sonde sous tension électrique, - un signal d'horloge de référence, et - un signal de réinitialisation (RESET). 20 7. Système selon l'une quelconque des revendications précédentes, dans lequel : - le dispositif d'interfaçage (30) comprend en outre une carte électronique fille, connectée électriquement à la carte électronique mère et configurée pour réaliser des opérations de signature électronique ou d'authentification. 25 8. Système selon la revendication 7, dans lequel : La carte électronique fille comprend au moins l'un des éléments parmi : - un microcontrôleur, équipé d'un émetteur-récepteur asynchrone universel (UART), - quatre connecteurs de carte SIM, et - un dispositif de communication électronique permettant la communication entre le 30 microcontrôleur et les quatre connecteurs de cartes SIM. 9. Système selon l'une quelconque des revendications précédentes, dans lequel : Le lecteur (40) comprend en outre deux cartes à puces du deuxième type, chaque carte à puce comprenant une clé privée individuelle, un certificat d'autorité et un certificat contenant la 35 clé publique, la clé privée de l'une des deux cartes à puces du deuxième type étant utilisée pour des fonctions de cryptographie mises en oeuvre par le logiciel chargé sur le deuxième ordinateur. 3048298 19 10. Système selon l'une quelconque des revendications précédentes, dans lequel : L'ensemble de données relatives à des cartes à puce simulées d'un premier type et d'un deuxième type dans le premier ordinateur comprend, par carte simulée, les octets 5 complémentaires du premier octet de la commande (ATR) de réponse audit signal de réinitialisation.