Module électronique notamment pour terminal de paiement électroniαue
La présente invention appartient au domaine des transactions électroniques. Elle concerne un module électronique apte à être utilisé par exemple dans un dispositif de paiement électronique. Un dispositif de paiement électronique est un dispositif permettant de réaliser des paiements électroniques. Les paiements électroniques sont souvent réalisés en utilisant une carte bancaire ou de crédit, telle qu'une carte à puce (connue encore sous le nom de carte à microprocesseur) ou une carte à piste magnétique. Un dispositif de paiement électronique comporte généralement des moyens de lecture d'une carte à puce avec ou sans contact, un microprocesseur, un clavier notamment pour la saisie d'un code confidentiel, et un écran de visualisation. Les terminaux de paiement électronique (TPE) sont des dispositifs de paiement électronique qui permettent de réaliser un paiement électronique complet jusqu'à l'impression d'un ticket. Il existe des dispositifs de paiement électroniques plus simples, appelés boîtiers de saisie de code confidentiel (connus sous le nom de "PIN- Pad" dans la littérature anglo-saxonne), qui permettent uniquement d'authentifier le porteur d'une carte à puce lors d'un paiement électronique. Quoiqu'il en soit, les dispositifs de paiement électroniques sont soumis à des normes de sécurité bancaire. Les dispositifs de paiement électronique doivent être certifiés par des organismes reconnus pour prouver le respect de ces normes de sécurité bancaire. Une certification se traduit en pratique par l'attribution de numéros de série, un numéro de série étant attribué à chaque composant matériel et composant logiciel du dispositif. On peut citer par exemple les normes de sécurité EMV définies par les institutions financières EUROPAY, MASTERCARD et VISA. Une première certification, appelée "EMV Level 1", concerne la communication avec la carte à puce. Une seconde certification, appelée "EMV Level 2", concerne le traitement des applications. Chaque évolution matérielle ou logicielle d'un dispositif de paiement électronique nécessite une nouvelle certification. La demanderesse s'est posé le problème d'accélérer la certification de dispositifs de paiement
électronique, lorsqu'une évolution concerne des composants logiciels non sécurisés. Un composant logiciel sécurisé est un composant logiciel qui traite des données confidentielles. En effet, une application de paiement électronique peut comprendre des composants logiciels sécurisés et des composants logiciels non sécurisés. D'autre part, il existe des dispositifs hybrides, permettant de réaliser non seulement des paiements électroniques, mais aussi des tâches sans rapport avec la monétique (agenda électronique, tableur, traitement de texte...), les applications permettant de réaliser ces tâches ne comportant aucun composant logiciel sécurisé. On peut citer par exemple la demande de brevet français n° 2 812744 déposée le 4 août 2000 qui décrit des exemples de dispositifs hybrides. Un dispositif hybride peut être formé par un assistant électronique personnel (connu sous l'acronyme PDA dans la littérature anglo-saxonne) équipé d'un lecteur de carte à puce, et utilisé pour réaliser des paiements électroniques. L'invention permet d'accélérer la certification de dispositifs de transaction électronique lorsqu'une évolution concerne des composants non sécurisés. A cet effet, l'invention a pour objet un module électronique apte à être utilisé dans un dispositif de transaction électronique, le module électronique comprenant au moins : - un dispositif anti-intrusion, délimitant une zone sécurisée, configuré pour , détecter les intrusions physiques dans la zone sécurisée, „
- une mémoire de programme, dans la zone sécurisée, dans laquelle est mémorisée au moins un composant logiciel sécurisé d'une application de transaction électronique, - un microprocesseur, dans la zone sécurisée, relié à la mémoire de programme, destiné à exécuter le composant logiciel sécurisé,
- une interface de communication reliée au microprocesseur, l'interface de communication étant destinée à relier le microprocesseur à une unité de traitement extérieure au module de manière à échanger des données avec le microprocesseur. Selon un mode de réalisation avantageux, l'application de transaction électronique comprend en outre un composant logiciel non sécurisé destiné à fonctionner en interaction en échangeant des données non confidentielles avec le composant logiciel sécurisé, lesdites données non confidentielles étant échangées par l'intermédiaire de l'interface de
communication, le composant logiciel non sécurisé étant destiné à être exécuté par l'unité de traitement externe. Selon un mode de réalisation avantageux, le module comprend en outre des moyens pour sécuriser de façon logicielle, au niveau de la couche transport du modèle IP, le lien de communication destiné à être relié à l'interface de communication, de manière à garantir la confidentialité des données échangées sur ce lien avec le microprocesseur. Selon un mode de réalisation avantageux, le module électronique comprend en outre une interface carte à puce, reliée au microprocesseur de manière à transmettre des requêtes du microprocesseur vers une carte à puce et des réponses de la carte vers le microprocesseur lors de l'exécution de l'application sécurisée. Selon un mode de réalisation avantageux, la mémoire de programme et le microprocesseur font partie intégrante d'un microcontrôleur. Selon un mode de réalisation avantageux, le module électronique comprend en outre au moins une interface pour carte à mémoire sécurisée, reliée au microcontrôleur sécurisé, pour mémoriser des informations secrètes dans une carte à mémoire sécurisée. Selon un mode de réalisation avantageux, le module électronique comprend en outre des moyens d'authentification d'un porteur de carte à puce (8, 9), reliés au microcontrôleur sécurisé, l'exécution de l'application sécurisée mettant en œuvre un procédé d'authentification d'un porteur de carte à puce, le procédé d'authentification utilisant lesdits moyens d'authentification d'un porteur. Selon un mode de réalisation avantageux, les moyens d'authentification comprennent des moyens de saisie, reliés au microcontrôleur sécurisé, les moyens de saisie étant configurés pour recevoir des informations secrètes saisies par le porteur. Selon un mode de réalisation avantageux, les moyens d'authentification comprennent en outre des moyens de visualisation, reliés au microcontrôleur sécurisé, les moyens de visualisation étant configurés pour permettre l'affichage d'informations à l'attention du porteur lors de la mise en œuvre du procédé d'authentification.
Selon un mode de réalisation avantageux, les moyens de visualisation sont formés par un écran ou une matrice d'éléments lumineux commandables individuellement. Selon un mode de réalisation avantageux, les moyens d'authentification sont des moyens biométriques permettant d'authentifier un porteur par comparaison de caractéristiques physiologiques du porteur avec des données mémorisées dans la carte à puce. Selon un mode de réalisation avantageux, le module électronique comprend en outre une interface carte à piste magnétique, reliée au microcontrôleur sécurisé, pour permettre la lecture d'une carte à piste magnétique par le microcontrôleur sécurisé. Selon un mode de réalisation avantageux, le microcontrôleur sécurisé comporte en outre une mémoire vive, dans laquelle des informations secrètes sont destinées à être mémorisées. Selon un mode de réalisation avantageux, des informations secrètes sont destinées à être mémorisées de façon permanente dans la mémoire vive, le microcontrôleur étant destiné à être alimenté de façon permanente, le module électronique comportant des moyens pour effacer ou altérer le contenu de la mémoire vive sur commande. Selon un mode de réalisation avantageux, les moyens pour effacer ou altérer le contenu de la mémoire vive comprennent une fonction logique câblée du microcontrôleur sécurisé. Selon un mode de réalisation avantageux, la mémoire vive est formée par un registre. Selon un mode de réalisation avantageux, le microcontrôleur sécurisé est configuré de sorte que toute détection d'intrusion active la commande pour effacer ou altérer le contenu de la mémoire vive. L'invention présente l'avantage de permettre de combiner simplement des fonctions sécurisées (paiement électronique par exemple) avec des fonctions non sécurisées au sein d'un même dispositif. Elle permet en outre l'utilisation d'un même module de paiement électronique dans différents dispositifs de paiements électroniques, tels qu'un terminal de paiement électronique et un boîtier de saisie de code confidentiel. Elle permet d'ajouter simplement et de façon modulaire des fonctions monétiques à un assistant électronique personnel, tout en garantissant un niveau de
sécurité au moins égal à celui des terminaux de paiement électroniques conventionnels. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée suivante présentée à titre d'illustration non limitative et faite en référence aux figures annexées, lesquelles représentent : la figure 1 , un exemple de module électronique selon l'invention, sous la forme d'un schéma synoptique, la figure 2, un exemple de terminal de paiement électronique intégrant un module selon l'invention, la figure 3, un exemple de boîtier de saisie de code confidentiel intégrant un module selon l'invention, la figure 4, un exemple des programmes mémorisés dans une mémoire permanente d'un microcontrôleur d'un module selon l'invention, - la figure 5, un exemple de microcontrôleur sécurisé selon un mode de réalisation avantageux de l'invention dans lequel des informations secrètes, destinées à être effacées en cas d'intrusion, sont mémorisées de façon permanente dans une mémoire vive secourue, la figure 6, un exemple de dialogue entre une unité de traitement externe et un microcontrôleur sécurisé lors d'une authentification du porteur.
On se réfère maintenant à la figure 1. Un module électronique 1 selon l'invention comporte des composants matériels et logiciels. Les composants matériels peuvent être montés sur une carte électronique. Les composants matériels comprennent par exemple un microcontrôleur sécurisé 2 auquel sont reliés d'autres composants périphériques. Les composants périphériques comprennent par exemple une interface carte à puce 3 et une interface de communication 4. Le module électronique comprend en outre un dispositif anti- intrusion 53 (voir figure 5), délimitant une zone déterminée autour des composants sécurisés du module électronique, et en particulier autour du microcontrôleur sécurisé 2 et de ses liaisons sécurisées. Le dispositif antiintrusion a pour fonction de détecter toute tentative d'intrusion physique dans cette zone, appelée par la suite "zone sécurisée". Il peut prendre la forme d'un circuit souple, présentant une ou plusieurs pistes conductrices qui
serpentent. Ce circuit souple enveloppe les composants à protéger (zone sécurisée) du module électronique. La rupture ou la modification électrique (mise à un potentiel fixe, court-circuit...) d'une piste permet de détecter une intrusion. Le microcontrôleur sécurisé est un boîtier qui comprend une mémoire permanente, une mémoire vive, et un microprocesseur. La mémoire permanente permet de conserver des données sans alimentation électrique. La mémoire permanente est destinée à mémoriser des composants logiciels, c'est à dire des applications ou des parties d'applications. Une application est un logiciel permettant de réaliser une tâche particulière. Une application peut comprendre plusieurs parties fonctionnant en interaction en échangeant des données, ces parties étant exécutées par des microprocesseurs différents. Quoiqu'il en soit, la mémoire permanent contient au moins un composant logiciel sécurisé destiné à être exécuté par le microprocesseur. Le composant logiciel sécurisé forme une partie ou l'intégralité d'une application de transaction électronique, telle qu'une application de paiement électronique. La mémoire permanente peut être une mémoire non modifiable (connue sous le nom de ROM, acronyme pour "Read Only Memory"), une mémoire reprogrammable, ou une association de ces mémoires. Une mémoire reprogrammable est une mémoire pouvant être effacée et reprogrammée, telle qu'une mémoire FLASH ou EEPROM (acronyme de l'expression anglo-saxonne "Electrically Erasable Programmable Read Only Memory"). La mémoire vive permet de stocker des données pendant l'exécution des applications, notamment du composant logiciel sécurisé. La mémoire vive est connue encore sous l'acronyme RAM, issu de l'expression anglo-saxonne "Raπdom Access Memory". L'interface carte à puce 3 comporte par exemple un connecteur destiné à établir des liaisons électriques avec les contacts d'une carte à puce. De manière alternative, l'interface carte à puce 3 comporte une antenne formée par une boucle magnétique, l'antenne étant destinée à échanger des informations radio-fréquences avec une carte à puce sans
contact. Quoiqu'il en soit, l'interface carte à puce est reliée à un port d'entrée/sortie du microcontrôleur sécurisé. L'interface de communication 4 permet d'établir une communication entre le microcontrôleur sécurisé 2 et l'extérieur, c'est à dire avec des unités de traitements externes au module électronique 1. L'unité de traitement externe peut être par exemple un microprocesseur d'un assistant électronique ou d'un ordinateur externe au dispositif intégrant le module 1. L'unité de traitement externe peut aussi être un microprocesseur externe au module, mais interne au dispositif intégrant le module 1. Ainsi, l'unité de traitement externe peut être un microprocesseur d'un terminal de paiement électronique intégrant le module 1, ce microprocesseur étant externe au module 1. Avantageusement, l'interface de communication est une interface normalisée, synchrone ou asynchrone, telle que SPI (acronyme de l'expression anglo-saxonne "Sériai Peripheral Interface"), USB ou UART. De manière avantageuse, le module électronique comporte plusieurs interfaces de communications différentes, chacune étant reliée au microcontrôleur sécurisé. Ceci permet une plus grande inter-opérabiiité du module électronique. Par exemple le module électronique comporte une interface SPI, une interface USB et deux interfaces UART. Avantageusement, le module électronique ..comprend d'autres composants périphériques. Selon un mode de réalisation avantageux, le module électronique comprend ainsi une ou plusieurs interfaces pour carte à mémoire sécurisées 10, reliées au microcontrôleur sécurisé 2, pour mémoriser des informations secrètes dans des cartes à mémoires sécurisées. Ceci permet de disposer de mémoires additionnelles par rapport à la mémoire interne (permanente ou vive) du microcontrôleur sécurisé, ces mémoires additionnelles étant elles-mêmes sécurisées. Les interfaces pour cartes à mémoires sécurisées peuvent être au nombre de quatre par exemple. Les cartes à mémoire sécurisées peuvent être des cartes SAM (acronyme de l'expression anglo-saxonne "Secure Access Module"). Les informations secrètes qui y sont mémorisées peuvent être des clefs secrètes d'un acquéreur bancaire, tel que VISA, MASTERCARD ou EUROPAY. Selon un mode de réalisation avantageux, le module électronique comprend en outre des moyens d'authentification d'un porteur de carte à
puce, reliés au microcontrôleur sécurisé. L'exécution du composant logiciel sécurisé met en œuvre un procédé d'authentification d'un porteur de carte à puce, le procédé d'authentification utilisant lesdits moyens d'authentification d'un porteur. Selon un premier mode de réalisation avantageux, les moyens d'authentifications comprennent des moyens de saisie 9, reliés au microcontrôleur sécurisé, les moyens de saisie étant configurés pour recevoir des informations secrètes saisies par le porteur. Les informations secrètes peuvent être par exemple un code confidentiel, le procédé d'authentification étant basé sur la connaissance de ce code confidentiel par le porteur. Les moyens de saisies peuvent comprendre un clavier par exemple. Dans un mode de réalisation pratique, les moyens d'authentification du module électronique comprennent en outre des moyens de visualisation 8, reliés au microcontrôleur sécurisé. Les moyens de visualisation sont configurés pour permettre l'affichage d'informations à l'attention du porteur lors de la mise en œuvre du procédé d'authentification. Les informations affichées peuvent comprendre par exemple une invitation à saisir un code confidentiel. Elles peuvent comprendre en outre des étoiles ou autres symboles, une étoile étant affichée à chaque fois qu'un caractère ou chiffre du code confidentiel est saisi par le porteur. Les moyens de visualisation peuvent être formés par un écran, tel qu'un écran à cristaux liquides. De manière alternative, les moyens de visualisation peuvent être formés par une matrice d'éléments lumineux commandables individuellement, telle qu'une matrice de diodes électroluminescentes (DEL). Dans un autre mode de réalisation pratique, les moyens de visualisations peuvent être remplacés par une interface vers un écran externe ou tout autre moyen de visualisation. L'écran externe peut être relié par l'intermédiaire d'une nappe de fils à cette interface. La liaison entre l'interface et l'écran externe doit alors être sécurisée (détection antiintrusion), de manière à s'assurer que les informations affichées à l'écran sont bien celles transmises par le microcontrôleur sécurisé à l'interface. Selon un second mode de réalisation avantageux (non représenté), les moyens d'authentifications sont des moyens biométriques permettant d'authentifier un porteur par comparaison de caractéristiques
physiologiques du porteur avec des données mémorisées dans la carte à puce. Selon un mode de réalisation avantageux indépendant des précédents, le module électronique comprend en outre une interface carte à piste magnétique 7, reliée au microcontrôleur sécurisé, pour permettre la lecture d'une carte à piste magnétique par le microcontrôleur sécurisé. L'interface à piste magnétique comprend des composants discrets, tels que une tête de lecture magnétique 7a et un circuit intégré 7b, la tête de lecture étant reliée au circuit intégré, le circuit intégré étant relié au microcontrôleur sécurisé. Le circuit intégré peut être un décodeur, tel qu'un décodeur F2F, c'est à dire un circuit ayant pour fonction de mettre en forme les signaux issus de la tête de lecture avant leur transmission au microcontrôleur sécurisé. Selon un mode de réalisation avantageux, le module électronique comprend en outre une ou plusieurs mémoires 5, 6. Les mémoires 5, 6 peuvent être des mémoires de type FLASH ou RAM. Les mémoires sont reliées au microcontrôleur sécurisé. Elles permettent d'augmenter la capacité mémoire du microcontrôleur sécurisé. Elles peuvent être utilisées par des composants logiciels exécutés par le microcontrôleur sécurisé, ces composants logiciels n'utilisant pas de d'informations secrètes ou utilisant des informations secrètes cryptées. On se réfère maintenant à la figure 2. Un module électronique selon l'invention peut être utilisé pour réaliser les fonctions monétiques d'un terminal de paiement électronique 20. On peut ainsi certifier le module électronique aux normes de sécurité bancaires indépendamment des autres composants matériels et ou logiciels du terminal de paiement électronique. Ces autres composants matériels peuvent comprendre par exemple une imprimante, cette imprimante étant destinée à imprimer des tickets. Le terminal de paiement électronique 20 peut comprendre une carte électronique 21 et une liaison 22 reliée à l'interface de communication 4 du module électronique 1. La carte électronique 21 comprend une unité de traitement indépendante du microcontrôleur sécurisé, l'unité de traitement permettant d'exécuter des composants logiciels non sécurisés. L'unité de traitement peut être un microprocesseur par exemple. De tels composants logiciels non sécurisés peuvent faire partie d'une application monétique, les
composants logiciels sécurisés de cette application étant exécutés par le microcontrôleur sécurisé, les composants logiciels non sécurisés faisant appel aux composants logiciels sécurisés (voir l'exemple figure 6). On se réfère maintenant à la figure 3. Un module électronique selon l'invention peut être utilisé pour réaliser les fonctions monétiques d'un boîtier de saisie de code confidentiel 30. Le boîtier peut comprendre le module électronique 1 seul. La liaison 31 entre le boîtier code confidentiel 30 et un terminal point de vente (pour imprimer des tickets et enregistrer les transactions) est alors reliée à l'interface de communication 4 du module électronique. On peut ainsi grâce à l'invention utiliser un même module électronique dans un terminal de paiement électronique et dans un boîtier de saisie de code confidentiel. On peut ainsi réaliser une certification du module électronique, cette certification bénéficiant à la fois au terminal de paiement électronique et au boîtier de saisie de code confidentiel. Il est en outre possible grâce à l'invention de développer une gamme de produits monétiques, comprenant par exemple des assistants électroniques personnels intégrant des fonctions monétiques, cette gamme de produits ayant un cœur monétique commun, formé par le module électronique selon l'invention. L'interface de communication ,4 (voir la figure 1) est destinée à être reliée à une unité de traitement (par exemple un microprocesseur) externe, non nécessairement sécurisée. Cette unité de traitement peut faire partie intégrante du dispositif de paiement électronique dans lequel est placé le module électronique, comme dans l'exemple représenté à la figure 2. Cette unité de traitement peut, au contraire, être externe au dispositif de paiement électronique lui-même, comme dans l'exemple représenté à la figure 3. On se réfère maintenant à la figure 4. Le microcontrôleur comprend une ou plusieurs mémoires permanentes 40 dans lesquelles sont mémorisés des composants logiciels. La figure 4 représente un mode de réalisation pratique dans lequel le microcontrôleur comprend deux mémoires permanentes : une mémoire reprogrammable de type EEPROM et une mémoire non modifiable (ROM).
Les différents composants logiciels peuvent être répartis en couches, chaque couche comprenant des composants logiciels offrant des services à des composants logiciels d'une couche supérieure. Une première couche 41 , la plus basse, peut être mémorisée dans la mémoire ROM. Cette première couche comprend une amorce logicielle, appelée "boot" dans la littérature anglo-saxonne. Elle peut comprendre en outre de services complémentaires, tels que des services de cryptographie. Une seconde couche 42, supérieure à la première, comprend des pilotes d'interfaces, appelés "drivers" dans la littérature anglo-saxonne. Par exemple, elle peut comprendre un pilote d'interface pour l'écran 8, pour le clavier 9, et pour les mémoires 5, 6. Cette seconde couche, ainsi que les autres couches supérieures, peuvent être mémorisées dans la mémoire EEPROM, ce qui permet le cas échéant de modifier le contenu lors d'évolutions logicielles. Une troisième couche 43, supérieure à la seconde, comprend un système d'exploitation temps réel, appelé encore noyau. Le système d'exploitation fournit les ressources matérielles (interfaces, mémoires...) aux applications de la dernière couche, et gère le fonctionnement multi-tâches. Une quatrième couche 44, supérieure à la troisième, comprend un gestionnaire d'applications. Le gestionnaire d'application dirige les messages provenant des .interfaces vers les applications appropriées de la dernière, couche. La cinquième et dernière couche 45, supérieure à la quatrième, comprend des applications ou des parties d'applications destinées à exécuter une tâche particulière. Elle peut comprendre une partie d'une application de paiement électronique. On pourra se référer à la figure 6 pour un exemple de fonctionnement d'une telle application. On se réfère maintenant à la figure 5. Selon un mode de réalisation avantageux, le microcontrôleur sécurisé comporte en outre une mémoire vive 52, dans laquelle des informations secrètes sont destinées à être mémorisées. La mémoire vive peut être formée par un registre du microcontrôleur sécurisé. Les informations secrètes peuvent être des clefs cryptographiques par exemple. En cas de coupure d'alimentation, ces informations sont effacées. De plus, la mémoire étant une mémoire vive, l'effacement ou la dégradation de ses informations peut être plus rapide.
Le microcontrôleur peut être alimenté par une alimentation électrique principale 55, telle que des batteries ou un transformateur de courant alternatif en courant continu basse tension. Selon un mode de réalisation avantageux, l'alimentation électrique de la mémoire vive est secourue. En d'autres termes, la mémoire vive est alimentée par une réserve d'énergie électrique 11 permettant d'alimenter la mémoire vive lorsque l'alimentation principale 55 est coupée. La réserve d'énergie électrique 11 peut être une pile au Lithium, une batterie ou toute autre réserve d'énergie appropriée. Des informations secrètes peuvent ainsi être mémorisées de façon permanente dans la mémoire vive secourue. Ces informations secrètes seront conservées en cas de coupure de l'alimentation électrique principale 55, lors d'un changement de batteries par exemple. Un dispositif de basculement 56, faisant partie intégrante du microcontrôleur sécurisé, peut permettre de réaliser une commutation entre l'alimentation principale 55 et la réserve d'énergie électrique 11, pour alimenter notamment la mémoire vive secourue du microcontrôleur. Selon un mode de réalisation avantageux, la réserve d'énergie 11 fait partie intégrante du module électronique selon l'invention. De cette manière, des modules électroniques peuvent être stockés avant d'être livrés et intégrés à des dispositifs de paiements électroniques, des clefs secrètes étant déjà mémorisées dans la mémoire vive secourue du microcontrôleur sécurisé. Lorsqu'un module électronique est intégré à un terminal de paiement électronique, la réserve d'énergie du module électronique permet de la même façon de stocker ce terminal sans batteries, des clefs secrètes étant mémorisées dans le microcontrôleur sécurisé. De plus, le module électronique comporte des moyens pour effacer ou altérer le contenu de la mémoire vive sur commande. Ces moyens peuvent comprendre une fonction logique câblée 51 du microcontrôleur sécurisé. Afin de répondre à des normes de sécurités imposant de détruire toute information secrète en cas d'intrusion, le microcontrôleur sécurisé est configuré de sorte que toute détection d'intrusion active la commande pour effacer ou altérer le contenu de la mémoire vive. Si plusieurs dispositifs anti-intrusion 53 sont utilisés, on peut combiner les signaux issus de ces dispositifs à l'entrée d'une fonction logique 54 du microcontrôleur sécurisé, cette fonction logique délivrant un signal de
sortie unique après un traitement logique des signaux d'entrée, le signal de sortie formant la commande pour effacer ou altérer le contenu de la mémoire vive. On se réfère maintenant à la figure 6 sur laquelle est représenté un exemple de dialogue entre deux parties d'une application de paiement. La première partie est un composant logiciel non sécurisé 67, c'est à dire qui n'utilise aucune donnée secrète. Le composant logiciel non sécurisé est exécuté par l'unité de traitement externe. Le composant logiciel non sécurisé permet par exemple la gestion d'une imprimante, la gestion d'un modem, la gestion de moyens de communication radio... La seconde partie est un composant logiciel sécurisé 68, exécuté par le microcontrôleur sécurisé. Le composant logiciel sécurisé met en œuvre les fonctions de paiement elles-mêmes. On décrit maintenant Pauthentification du porteur d'une carte à puce. Le composant non sécurisé 67 envoie une requête 61 au composant sécurisé 68, cette requête étant un ordre de saisie d'un montant de transaction. Le composant sécurisé 68 affiche à l'écran un message d'invitation, tel que "montant ?", et attend une saisie au clavier. Après la saisie d'un montant, le composant sécurisé 68 envoie une réponse au composant non sécurisé 67, la réponse contenant le montant saisi au clavier. Le composant non sécurisé 67 envoie ensuite une requête 63 au composant sécurisé 68, cette requête 63 comprenant un ordre de saisie du code porteur, et le montant à afficher, ce montant étant le montant transmis avec la réponse 62. Le composant sécurisé 68 affiche le montant et un message d'invitation, tel que "code :", et attend une saisie au clavier. Après la saisie du code, le composant sécurisé envoie une réponse au composant non sécurisé 67. Cette réponse ne comporte pas le code saisi, mais une indication si ce code a été saisi ou non. Ainsi, le composant non sécurisé 67 ne traite aucune information secrète. Le composant non sécurisé, si le code a été saisi, envoie ensuite une requête 65 au composant sécurisé, cette requête 65 comprenant un ordre de présentation du code saisi à la carte à puce. Le composant sécurisé présente le code saisi à la carte et attend la réponse de la carte. Après avoir reçu la réponse de la carte, le composant sécurisé envoie une réponse 66 à
au composant non sécurisé 67, cette réponse indiquant si le code saisi est correct ou non. Une application de paiement basée sur l'utilisation d'une carte à piste peut fonctionner selon le même principe, c'est à dire à partir de deux composants logiciels, l'un sécurisé et l'autre non, le composant logiciel sécurisé étant exécuté par le microcontrôleur sécurisé et échangeant des données non sécurisées avec le composant logiciel non sécurisé. Le composant logiciel sécurisé pourra notamment effectuer des opérations lecture de carte, de saisie du montant de la transaction, et de chiffrement d'un bloc de données d'une transaction électronique, ledit bloc de données contenant les informations lues sur la carte, le montant de la transaction, l'heure et la date, et des données d'identification du commerçant (n° de commerçant délivré par la banque où son compte bancaire est domicilié). Selon un mode de réalisation avantageux, les informations sortant du microcontrôleur sécurisé ne sont transmises sur l'interface de communication 4 que si la requête demandant ces informations a été au préalable signé et authentifié par le microcontrôleur sécurisé. Tout message non authentifié, mal ou non signé, ne fait sortir aucune information saisie en clair, ni à l'écran, ni sur un canal de communication. En effet, les informations transmises sur l'interface vers le microcontrôleur peuvent contenir un texte destiné à. être affiché. Ce texte peut être par exemple une invitation à saisir un code confidentiel, telle que "Code ?". Si ce message n'est pas signé, aucune information ne sera transmise en retour. On évite ainsi toute utilisation frauduleuse du module électronique. Selon un autre mode de réalisation, les informations transmises sur l'interface vers le micracontrôleur peuvent contenir un code de message, ce code de message correspondant à un message à afficher. Par exemple, une table de messages prédéterminés peut être mémorisée dans une mémoire du microcontrôleur sécurisé. Si le code de message est du type une invitation à saisir une information confidentielle, alors aucune information n'est transmise en retour. Par contre, si le code de message est du type une invitation à saisir le montant de la transaction, alors les informations saisies suite à l'affichage de ce message peuvent être transmises en retour. Dans ce mode de réalisation particulier, il n'est pas nécessaire de signer ce type
d'information. En effet, en fonction du code du message à afficher, il est possible de déterminer la nature (confidentielle ou non confidentielle) des informations saisies. Ainsi, si une application non autorisée est exécutée par l'unité de traitement externe, aucune information secrète (code confidentiel, information biométrique...) ne pourra être récupérée. Le module selon l'invention peut être utilisé pour d'autres applications que le paiement électronique. Il s'applique de façon générale aux transactions électroniques nécessitant un certain niveau de sécurité. On peut citer notamment le contrôle d'accès avec des badges, le chiffrement de documents, la certification de données électroniques, la signature électronique... Selon un mode de réalisation avantageux, le lien de communication relié à l'interface de communication 4 peut être sécurisé de façon logicielle, au niveau de la couche transport du modèle IP (acronyme de l'expression anglo-saxonne "Internet Protocol"). Ainsi, un commerçant utilisant un terminal intégrant un tel module peut ainsi échanger des données avec une banque par une liaison Internet sécurisée. A cet effet, le module électronique comprend des clefs secrètes et des programmes, mémorisés dans une mémoire située dans la zone sécurisée. Les programmes permettent de mettre en œuvre des algorithmes de chiffrement, tels que RSA, SHA, DIFFIE-HELLMAN, MD5. Ils sont utilisés pour sécuriser un lien de communication du type Ethernet en terme de confidentialité des informations échangées sur ce lien. Le lien du type Ethernet relie l'interface de communication 4 (USB, SPI, UART...) du module sécurisé à une passerelle IP. La passerelle IP peut être réalisée au moyen d'un boîtier, tel que le boîtier MISTRAL de la société THALES E-SECURITY ou un boîtier de la société CISCO. On obtient ainsi un lien dit "IP sec", abréviation de l'expression anglo-saxonne "Internet Protocol secured". De part et d'autre du lien de communication sécurisé, des programmes peuvent communiquer en mettant en œuvre un protocole du type SSL, acronyme de l'expression anglo-saxonne "Secure Socket Layer". En d'autres termes, un composant logiciel de transaction électronique du module sécurisé peut communiquer avec un composant logiciel d'un boîtier
distant auquel est relié le module, cette communication mettant en œuvre un protocole de sécurisation d'application à application du type SSL.