FR3048298A1 - Systeme de simulation de cartes a puces. - Google Patents

Systeme de simulation de cartes a puces. Download PDF

Info

Publication number
FR3048298A1
FR3048298A1 FR1651644A FR1651644A FR3048298A1 FR 3048298 A1 FR3048298 A1 FR 3048298A1 FR 1651644 A FR1651644 A FR 1651644A FR 1651644 A FR1651644 A FR 1651644A FR 3048298 A1 FR3048298 A1 FR 3048298A1
Authority
FR
France
Prior art keywords
card
reader
computer
probe card
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1651644A
Other languages
English (en)
Other versions
FR3048298B1 (fr
Inventor
Mathias Chaillot
Guillaume Beauclair
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gie Sesam-Vitale
Original Assignee
Gie Sesam-Vitale
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gie Sesam-Vitale filed Critical Gie Sesam-Vitale
Priority to FR1651644A priority Critical patent/FR3048298B1/fr
Publication of FR3048298A1 publication Critical patent/FR3048298A1/fr
Application granted granted Critical
Publication of FR3048298B1 publication Critical patent/FR3048298B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0095Testing the sensing arrangement, e.g. testing if a magnetic card reader, bar code reader, RFID interrogator or smart card reader functions properly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0722Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips comprising an arrangement for testing the record carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

L'invention concerne un système de test de cartes à puces. Il est essentiellement caractérisé par • un premier ordinateur (10) comprenant un ensemble de données de cartes à puce simulées d'un premier et d'un deuxième type, • un deuxième ordinateur (20) pour exécuter des fonctions utilisant un ensemble de données relatives au premier et au deuxième type, • un lecteur (40) d'au moins deux cartes sonde (51, 52), connecté au deuxième ordinateur et configuré pour, à détection d'une carte sonde dans l'une de ses fentes, générer un signal de réinitialisation, • au moins deux cartes sonde (51, 52), susceptibles d'être insérées dans une fente respective dudit lecteur, et • un dispositif d'interfaçage (30), connecté aux cartes sondes et au premier ordinateur, et configuré pour envoyer au lecteur, à détection du signal de réinitialisation émis par le lecteur, uniquement le premier octet d'une commande (ATR) de réponse audit signal de réinitialisation.

Description

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é.
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 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 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 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 particulier. Par souci de concision, il ne sera fait référence ici qu’au domaine de la santé. À 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.
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, • 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.
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), 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 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.
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 : - 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).
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 « 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, - 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 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 - 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 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 œuvre par le logiciel chargé sur le deuxième ordinateur.
Dans un mode de réalisation, 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 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 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
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,
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.
DESCRIPTION DETAILLEE
Carte sonde
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..
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 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 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 : - 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 - 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.
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.
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.
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
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 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.
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 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, - 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
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 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 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 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 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 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 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.
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 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 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.
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.
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 ».
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 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 forme de base de données ou de librairie. En l’espèce, la librairie se base sur la norme ISO 7816-4. 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.
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 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 œuvre 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
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é.
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 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 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.
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.
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).
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 boîtier.
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, - 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).
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 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 depuis le premier ordinateur et est déterminé en fonction de la fréquence de l’horloge du lecteur utilisé, - un module de communication I2C (pour Inter-Integrated Circuit en anglais), permettant Ια ΛΛΓηηιιιηΪΛαίΐΛη \/ia un r\nrf I OP. Hii minmnnntrAlûi ir Hû Ια λοΚα mÀi-û I α H λ Kit I OC* utilisé est d’environ 100khz. Le mode maître 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 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, I2C ou gestion des servomoteurs).
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 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 I’I2C, et arrête 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. 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.
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).
La carte fille permet de réaliser des fonctions de cryptographie, par exemple des opérations de signature électronique ou d’authentification.
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 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.
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 é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 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 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 é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 I2C.
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 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 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 I2C assure la communication via le port I2C du microcontrôleur de la carte fille vers la carte mère. Comme pour la carte mère, le mode maître et esclave peut être utilisé alternativement en fonction du sens de 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 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 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 deuxième ordinateur qui reconnaît 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 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 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.
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.
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.
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, 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 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 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 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.
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 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 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.
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.
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 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 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 11ms, et envoie au 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.
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 rl’nnû rartû a ru me* nar In nrnminr nrHinatmir noi it alnro ntrn nffnnti iûû 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 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.
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 : - 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.
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 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 40 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

Claims (10)

  1. REVENDICATIONS
    1. 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. 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. 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. 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), 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 - un connecteur électrique pour la communication de données (DATA).
  5. 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 -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. 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 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).
  7. 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.
  8. 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 microcontrôleur et les quatre connecteurs de cartes SIM.
  9. 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 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 œuvre par le logiciel chargé sur le deuxième ordinateur.
  10. 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 complémentaires du premier octet de la commande (ATR) de réponse audit signal de réinitialisation.
FR1651644A 2016-02-26 2016-02-26 Systeme de simulation de cartes a puces. Active FR3048298B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1651644A FR3048298B1 (fr) 2016-02-26 2016-02-26 Systeme de simulation de cartes a puces.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1651644A FR3048298B1 (fr) 2016-02-26 2016-02-26 Systeme de simulation de cartes a puces.
FR1651644 2016-02-26

Publications (2)

Publication Number Publication Date
FR3048298A1 true FR3048298A1 (fr) 2017-09-01
FR3048298B1 FR3048298B1 (fr) 2018-11-02

Family

ID=56411707

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1651644A Active FR3048298B1 (fr) 2016-02-26 2016-02-26 Systeme de simulation de cartes a puces.

Country Status (1)

Country Link
FR (1) FR3048298B1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2667419A1 (fr) * 1990-10-02 1992-04-03 Gemplus Card Int Procede de debogage de programme d'application de carte a memoire et systeme de debogage.
WO1997022092A2 (fr) * 1995-12-14 1997-06-19 Venda Security Corporation Carte de donnees personnelles protegees et procede d'utilisation de cette carte
FR2776788A1 (fr) * 1998-03-24 1999-10-01 Gemplus Card Int Procede de commutation d'applications sur une carte a puce multi-applicative
WO2000077750A1 (fr) * 1999-06-14 2000-12-21 Wind River International Limited Procede applicable a un simulateur de cartes a memoire multiples
FR2839798A1 (fr) * 2002-05-20 2003-11-21 Samsung Electronics Co Ltd Systeme et procede de developpement de puces

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2667419A1 (fr) * 1990-10-02 1992-04-03 Gemplus Card Int Procede de debogage de programme d'application de carte a memoire et systeme de debogage.
WO1997022092A2 (fr) * 1995-12-14 1997-06-19 Venda Security Corporation Carte de donnees personnelles protegees et procede d'utilisation de cette carte
FR2776788A1 (fr) * 1998-03-24 1999-10-01 Gemplus Card Int Procede de commutation d'applications sur une carte a puce multi-applicative
WO2000077750A1 (fr) * 1999-06-14 2000-12-21 Wind River International Limited Procede applicable a un simulateur de cartes a memoire multiples
FR2839798A1 (fr) * 2002-05-20 2003-11-21 Samsung Electronics Co Ltd Systeme et procede de developpement de puces

Also Published As

Publication number Publication date
FR3048298B1 (fr) 2018-11-02

Similar Documents

Publication Publication Date Title
EP0485275B1 (fr) Dispositif de sécurité, comportant une mémoire et/ou un microcalculateur pour machines de traitement
EP1146487A2 (fr) Lecteur pour l'identification avec carte optique et carte à puce
FR2806505A1 (fr) Procede de communication entre une carte a puce et une station hote
CN107154890A (zh) 社交网络中添加联系人的方法、装置及系统
FR2907572A1 (fr) Dispositif pour controler la commutation d'une interface utilisateur..
EP2306324A1 (fr) Procédé, système et dispositif d'adaptation permettant un échange de données entre un objet de communication et une unité de traitement
WO1995021421A1 (fr) Outil informatique de communication et dispositif d'exploitation
EP1509888B1 (fr) Procede de securisation d une transaction en ligne
EP2610717A1 (fr) Dispositif de communication pour équipement comprenant un écran tactile, système de communication
FR2804224A1 (fr) Appareil portable, dispositif d'interface de carte a puce (dicp) et methode de transmission de donnees
FR3048298A1 (fr) Systeme de simulation de cartes a puces.
FR2752347A1 (fr) Perfectionnements en matiere de recherche de donnees
EP1352311A1 (fr) Procede d'acces a un systeme securise
WO2002059845A1 (fr) Carte a circuit(s) integre(s) ou carte a puce(s) integrant une couche logicielle de securisation et dispositif de communication cooperant avec une telle carte
EP0537040B1 (fr) Système de test d'un réseau en forme d'anneau à trés haut débit et procédé de mise en oeuvre de ce système
WO2017017220A1 (fr) Communication interactive entre un point d'acces public et son visiteur
EP1051693B1 (fr) Carte a memoire asynchrone
FR2611052A1 (fr) Dispositif de test de circuit electrique et circuit comportant ledit dispositif
EP0700194A1 (fr) Dispositif téléphonique pour l'utilisation d'une pluralité de cartes à mémoire
Malingkas et al. Smart card reader APDU simulation using Zybo
EP2407920A1 (fr) Serveur, terminal et procédé de transaction sécurisée
TWI787655B (zh) 依據證件影像與活體影像辨識身分之系統及方法
EP1502234A1 (fr) Procede de transmission de donnees entre une carte a puce et un utilisateur, lecteur de carte et carte pour la mise en oeuvre de ce procede
FR2968814A1 (fr) Horodateur comportant des moyens d'emission d'un message personnel de l'utilisateur, et zone urbaine de stationnement comprenant de tels horodateurs
FR2812423A1 (fr) Systeme de paiement par carte d'une transaction sur internet

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170901

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9