B8457 - 13834/Monetel 1 TERMINAL DE PAIEMENT ELECTRONIQUE POUR L'ECHANGE DE DONNEES SECURISE SUR UN RESEAU OUVERT
Domaine de l'invention La présente invention concerne les terminaux de paiement électroniques adaptés à échanger des données sur un réseau non sécurisé ou réseau ouvert, notamment le réseau Internet. Exposé de l'art antérieur Pour réaliser certaines opérations de paiement, un terminal de paiement électronique tel que, par exemple, un lecteur de cartes (cartes à puce et/ou cartes magnétiques), ou un lecteur de chèques, etc., peut être amené à échanger des données avec un ordinateur, ou serveur, par l'intermédiaire d'un réseau d'échange de données. Pour des opérations de paiement, on utilise, de façon classique, des réseaux dédiés qui, de part leur réalisation, sont difficilement accessibles aux tiers non autorisés, ce qui permet d'échanger des données confidentielles de façon sûre. La tendance actuelle est à la réalisation d'opérations de paiement, par des terminaux de paiement électroniques, mettant en oeuvre l'échange de données sur des réseaux dits ouverts, c'est-à-dire auxquels l'accès n'est pas restreint, par exemple le réseau Internet. Une difficulté consiste alors à B8457 - 13834/Monetel
2 assurer que le niveau de sécurité des échanges de données sur le réseau ouvert est suffisant au vu des risques spécifiques des réseaux ouverts. Pour ce faire, les échanges de données sont réalisés par la mise en oeuvre de protocoles de sécurisation des échanges tels que, par exemple, le protocole SSL (acronyme anglais pour Secure Sockets Layers), le protocole ILS (acronyme anglais pour Transport Layer Security), le protocole IPSEC (acronyme anglais pour Internet Protocol Security), etc. La plupart des protocoles de sécurisation des échanges de données entre un client et un serveur visent à assurer les fonctions suivantes : premièrement, l'authentification du serveur et éventuellement du client ; deuxièmement, la confidentialité des échanges ; et troisièmement, l'intégrité des données échangées. Pour la plupart des protocoles SSL et TLS, la première fonction est assurée par l'échange de certificats entre le client et le serveur. Un certificat est une carte d'identité de son propriétaire. Il est émis par un organisme, ou autorité de certification, auquel les participants à l'échange de données accordent leur confiance. Une difficulté provient de la mise en oeuvre de protocoles de sécurisation pour l'échange de données entre un terminal de paiement électronique et un serveur, en particulier en ce qui concerne la première fonction assurée par les protocoles de sécurisation. En effet, un terminal de paiement électronique est généralement adapté à fonctionner dans un environnement dit "multi-applications". Ceci signifie qu'un même terminal de paiement électronique peut réaliser des fonctions, ou applications, différentes telles que le paiement par carte à puce, par carte magnétique, par chèque, etc. En outre, un terminal de paiement électronique est généralement adapté à fonctionner dans un environnement dit "multi-utilisateurs". Ceci signifie que des utilisateurs différents peuvent utiliser un même terminal de paiement. Il peut alors être difficile B8457 - 13834/Monetel
3 d'assurer une authentification convenable du terminal de paiement électronique et du serveur entre lesquels des données doivent être échangées en tenant compte de l'utilisateur qui manipule le terminal de paiement et du type d'opération de paiement réalisé. En outre, pour des opérations de paiement, il est généralement nécessaire de respecter des règles de sécurité supplémentaires propres aux terminaux de paiement qui imposent notamment la protection de certaines données dites sensibles utilisées pour réaliser les opérations de paiement.
Résumé de l'invention Un mode de réalisation de la présente invention vise un terminal de paiement électronique adapté à échanger des données avec un serveur sur un réseau ouvert lors d'une opération de paiement, le terminal étant adapté à fonctionner dans un environnement multi-applications et multi-utilisateurs tout en respectant les règles de sécurité propres à la réalisation d'opérations de paiement électronique. Ainsi, un aspect de la présente invention prévoit un terminal de paiement électronique adapté à échanger des données avec des serveurs sur un réseau. Le terminal comprend une interface destinée à être manipulée par plusieurs utilisateurs, un microprocesseur relié à l'interface et adapté à réaliser plusieurs types d'opération de paiement, la réalisation de chaque type d'opération de paiement pouvant être commandée par au moins l'un des utilisateurs, et une première mémoire dans laquelle sont stockées pour chaque type d'opération de paiement et pour chaque utilisateur pouvant commander la réalisation dudit type d'opération de paiement, des premières données représentatives d'un profil d'utilisateur comprenant : un identifiant du profil d'utilisateur ; un certificat du profil d'utilisateur comprenant une clé publique du profil d'utilisateur ; et au moins un certificat racine d'une autorité de certification associée à l'un des serveurs et comprenant une clé 35 publique de l'autorité de certification.
B8457 - 13834/Monetel
4 Le terminal comprend, en outre, une seconde mémoire dans laquelle sont stockées, pour chaque profil d'utilisateur, des deuxièmes données représentatives d'une clé privée du profil d'utilisateur, au moins un module de détection d'un accès non autorisé au terminal et un module de sécurité adapté à effacer les clés privées à réception d'un signal d'alarme fourni par le module de détection. Selon un mode de réalisation de la présente invention, la première mémoire comprend, en outre, pour chaque profil d'utilisateur, des troisièmes données représentatives de la position, dans la seconde mémoire des deuxièmes données représentatives de la clé privée dudit profil d'utilisateur. Selon un mode de réalisation de la présente invention, le microprocesseur comprend un module de lecture de cartes à 15 puce, de cartes magnétiques et/ou de chèques. Selon un mode de réalisation de la présente invention, le microprocesseur est adapté à lire et/ou à modifier les premières et secondes données associées à un seul profil d'utilisateur à la fois. 20 Un autre aspect de la présente invention prévoit un procédé d'utilisation du terminal de paiement tel que défini précédemment pendant une phase d'authentification lors d'un échange de données avec l'un desdits serveurs sur un réseau, ledit serveur comprenant un certificat de serveur émis par l'autorité 25 de certification associée. Le procédé comprend les étapes consistant à sélectionner l'un des profils d'utilisateur, à transmettre au serveur une demande du certificat de serveur, à recevoir ledit certificat de serveur, à vérifier la validité du certificat de serveur avec la clé publique de l'autorité de 30 certification associée et, éventuellement, sur requête du serveur, à transmettre au serveur le certificat du profil d'utilisateur sélectionné. Selon un mode de réalisation de la présente invention, le procédé comprend, lors de la création d'au moins l'un des 35 profils d'utilisateur, les étapes consistant à prévoir au moins B8457 -13834/Monetel
des quatrièmes données stockées dans la première mémoire représentatives d'un profil d'initialisation comprenant au moins le certificat racine de l'une des autorités de certification, à déterminer, pour ledit profil d'utilisateur, la clé privée du 5 profil d'utilisateur et la clé publique du profil d'utilisateur, à transmettre, à ladite autorité de certification, une demande de certificat du profil d'utilisateur, à recevoir de l'autorité de certification le certificat du profil d'utilisateur et à mémoriser le certificat du profil d'utilisateur dans la première mémoire. Selon un mode de réalisation de la présente invention, le procédé comprend, en outre, les étapes consistant à transmettre, à ladite autorité de certification, une demande du certificat racine de l'autorité de certification, à recevoir le certificat racine et à vérifier la validité du certificat racine reçu à partir du certificat racine du profil d'initialisation. Selon un mode de réalisation de la présente invention, le procédé comprend, en outre, l'étape consistant à recevoir de l'autorité de certification l'identifiant du profil d'utilisa- teur. Selon un mode de réalisation de la présente invention, les quatrièmes données comprennent, en outre, une clé publique du profil d'initialisation, le procédé consistant à prévoir des cinquièmes données stockées dans la seconde mémoire repré- sentatives d'une clé privée du profil d'initialisation, et à établir une communication avec l'autorité de certification en respectant un protocole de sécurisation utilisant la clé privée et la clé publique du profil d'initialisation. Brève description des dessins Ces objets, caractéristiques et avantages, ainsi que d'autres seront exposés en détail dans la description suivante d'un mode de réalisation particulier faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 est une vue en perspective schématique d'un exemple de terminal de paiement électronique ; B8457 -13834/Monetel
6 la figure 2 représente, de façon schématique, un exemple de répartition de profils d'utilisateur au niveau du terminal de paiement électronique ; la figure 3 représente schématiquement les données 5 associées à un profil d'utilisateur ; la figure 4 représente schématiquement des composants internes du terminal de paiement de la figure 1 ; la figure 5 représente, sous la forme d'un schéma par blocs, les étapes initiales d'un exemple de procédé d'échange de 10 données entre un terminal de paiement électronique et un serveur ; et la figure 6 représente, sous la forme d'un schéma par blocs, un exemple de procédé de création d'un profil d'utilisateur. 15 Description détaillée Par souci de clarté, de mêmes éléments ont été désignés par de mêmes références aux différentes figures. En outre, seuls les éléments nécessaires à la compréhension de la présente invention ont été représentés sur les figures. 20 La figure 1 représente, de façon schématique, un exemple de réalisation d'un terminal de paiement électronique TPE, correspondant, par exemple, à un lecteur de carte et/ou un lecteur de chèque. Le terminal TPE comprend un boîtier 12 au niveau duquel sont prévus un écran d'affichage 14 et un clavier 25 16. En outre, une ouverture, non représentée, est prévue dans le boîtier 12 pour permettre l'introduction d'une carte à puce ou d'une carte magnétique. Une autre ouverture, non représentée, peut être prévue dans le boîtier 12 pour permettre l'introduction d'un chèque. Un câble 18, connecté au terminal TPE, permet de 30 relier le terminal TPE à un réseau d'échanges de données, par exemple le réseau Internet. Un câble 19, connecté au terminal TPE, permet de relier le terminal TPE à un réseau d'alimentation électrique, par exemple le secteur. Pour que le terminal TPE puisse être utilisé par 35 plusieurs utilisateurs et puisse réaliser plusieurs fonctions ou B8457 - 13834/Monetel
7 applications, telles qu'une opération de paiement électronique à partir d'une carte à puce, d'une carte magnétique, d'un chèque, etc., il est prévu de stocker dans le terminal TPE, pour chaque fonction, un profil d'utilisateur pour chaque utilisateur susceptible de mettre en oeuvre la fonction. Les profils d'utilisateur sont utilisés lors de l'échange de données entre le terminal TPE et un serveur pour permettre l'authentification du terminal et du serveur selon le protocole de sécurisation d'échanges utilisé, par exemple un protocole du type SSL version 3.0. La figure 2 illustre un exemple dans lequel le terminal TPE est susceptible de réaliser une opération de paiement par carte bancaire et une opération de paiement par chèque. A titre d'exemple, pour la fonction de paiement par carte bancaire, quatre profils d'utilisateur Profil' à Profil4 sont créés et pour la fonction de paiement par chèque, trois profils d'utilisateur ProfilA à Profile sont créés. La figure 3 illustre les données mémorisées au niveau du terminal TPE pour chaque profil d'utilisateur. Le profil d'utilisateur Profili associé à un utilisateur UT et à une fonction F comprend les données suivantes : un identifiant 40 (ID Profili) de l'utilisateur UT ; pour chaque serveur avec lequel le terminal TPE peut échanger des données sur un réseau ouvert lorsqu'il est utilisé par l'utilisateur UT pour réaliser la fonction F, le certificat 42 CAN,i), appelé également certificat racine (root certificate), de l'autorité de certification CA du serveur et l'adresse 43 (address_IP',i, ..., address_IPN,i) du serveur sur le réseau ; un certificat 44 (C_TPEi) du profil d'utilisateur qui correspond à un certificat du terminal TPE associé à l'utilisateur UT pour la fonction F ; et une clé privée 46 (KS_TPEi) du profil d'utilisateur qui correspond à une clé privée du terminal TPE associée à 35 l'utilisateur UT pour la fonction F.
B8457 - 13834/Monetel
8 Comme cela sera décrit plus en détail par la suite, les certificats racines CA1,i, CAN,i et le certificat C_TPEi du terminal TPE sont utilisés au cours d'étapes initiales d'authentification lors d'un échange de données entre le terminal TPE et un serveur. La clé privée KS_TPEi est utilisée pour le cryptage des données échangées entre le terminal TPE et le serveur, généralement après la phase d'authentification. Selon un exemple, la clé privée KS_TPEi est utilisée pour réaliser l'échange de données entre le terminal TPE et le serveur selon un cryptage asymétrique. Selon un autre exemple, lorsque le protocole SSL est mis en oeuvre, la clé privée KSTPEi du terminal TPE est utilisée pour la détermination d'une clé de session au moyen de laquelle l'échange de données entre le terminal TPE et le serveur est réalisé selon un cryptage symétrique. Le certificat C_TPEi correspond, par exemple, au standard X.509 de l'UIT (Union Internationale des Télécommunications). Il est émis par une autorité de certification. Il se divise en deux parties, une première partie contenant des informations et une seconde partie correspondant à la signature (thumbprint) de l'autorité de certification émettrice. La première partie comprend les données suivantes : la version du standard X.509 auquel le certificat correspond ; le numéro de série du certificat ; l'algorithme de chiffrement utilisé pour signer le certificat ; le nom, appelé en anglais Distinguished Name ou DN, de l'autorité de certification émettrice ; la date de début de validité du certificat ; la date de fin de validité du certificat ; l'objet de l'utilisation de la clé publique ; et la clé publique du propriétaire du certificat (c'est-à dire le terminal pour le profil d'utilisateur considéré). 30 B8457 - 13834/Monetel
9 La seconde partie du certificat correspond à une signature émise par l'autorité de certification. La signature (en anglais thumprint) est obtenue en appliquant une fonction de hachage aux données de la première partie pour obtenir un condensé (en anglais message digest). Ce condensé est alors chiffré à l'aide de la clé privée de l'autorité de certification. Les certificats racines CAN,i peuvent avoir une structure similaire à celle du certificat CTPEi. Ils sont généralement dits auto-signés dans la mesure où c'est l'autorité de certification qui signe son propre certificat. La figure 4 représente, de façon schématique, certains composants électroniques internes du terminal TPE de la figure 1. Le terminal TPE comprend une borne d'alimentation B1 à laquelle est connecté le câble 19 d'alimentation qui relie le terminal TPE à une source d'alimentation électrique 20 (Main Power) fournissant une tension d'alimentation principale. Le terminal TPE comprend un microprocesseur 22 (1P), alimenté par la tension d'alimentation principale, qui réalise, en fonctionnement normal, les opérations classiques du terminal TPE. Le terminal TPE comprend, en outre, deux mémoires vives 23, 24 (RAMI, RAM2) dans lesquelles le microprocesseur 22 est adapté à lire et à écrire des données. Le microprocesseur 22 est relié à un module de communication 25 (Communication Module) correspondant, par exemple, à un dispositif de modulation/démodulation. Le terminal TPE comprend une borne B2 reliée au module 25 et connectée au câble 18. Le microprocesseur 22 peut échanger des données avec un serveur SERVER par l'intermédiaire du module 25 et d'un réseau d'échanges de données 26 (Internet), par exemple le réseau Internet. Le microprocesseur 22 est, en outre, relié à une interface homme-machine 27 (Interface) comprenant notamment le clavier 16 et l'écran 14. Enfin, le microprocesseur 22 est relié à un module de lecture de cartes et/ou de chèques 28 (Reader).
B8457 - 13834/Monetel
10 Le terminal TPE comprend en outre un module de sécurité 29 (Security Module). Le module de sécurité 29 est un circuit logique qui a une structure plus simple que la structure du microprocesseur 22. En fonctionnement normal, le module de sécurité 29 est alimenté par la tension d'alimentation principale. Le module de sécurité 29 peut échanger des données avec le microprocesseur 22 et au moins réaliser des opérations d'écriture dans la mémoire 23. Le module de sécurité 29 est relié à un ou plusieurs dispositifs de détection d'intrusion 30 (Intrusion Detector) équipant le terminal TPE. Chaque dispositif de détection est adapté à détecter un accès non autorisé au terminal TPE et, alors, à fournir un signal d'alarme au module de sécurité 29. Le module de sécurité 29 peut décider qu'un accès non autorisé a lieu à la réception de l'un des signaux d'alarme.
Lorsque le module de sécurité 29 détecte un accès non autorisé, il commande l'effacement d'au moins certaines des données stockées dans la mémoire 23, dites données sensibles. En fonctionnement normal, le module de sécurité 29 est alimenté par la tension d'alimentation principale. Lorsque la tension d'alimentation principale n'est pas présente, le module de sécurité 29 est alimenté par une source d'alimentation de secours 31 (Emergency Power) fournissant une tension d'alimentation de secours. On a disposé en dessous d'une ligne en traits pointillés 32 les éléments du terminal TPE qui ne fonctionnent pas lorsque la tension d'alimentation principale n'est pas présente et, au-dessus de la ligne 32, les éléments du terminal TPE qui, lorsque la tension d'alimentation principale n'est pas présente, continuent à fonctionner en étant alimentés par la tension d'alimentation de secours, éventuellement dans un mode de fonctionnement différent du mode de fonctionnement normal. Lorsque la tension d'alimentation principale n'est pas présente, le module de sécurité 29, alimenté par la source d'alimentation de secours 31, continue à fonctionner et peut donc effacer les données sensibles stockées dans la mémoire 23 lorsqu'un accès non autorisé est détecté.
B8457 - 13834/Monetel
11 A titre d'exemple, on a représenté trois profils d'utilisateur Profil', Profil2 et ProfilA stockés dans les mémoires 23, 24. Les profils Profil' et Profil2 sont associés à une première application et le profil ProfilA est associé à une autre application. Plus précisément, pour chaque profil d'utilisateur Profili, toutes les données du profil sont stockées dans la mémoire 24 à l'exception de la clé privée KS_TPEi qui est stockée dans la mémoire 23. Chaque profil Profili comprend alors une donnée supplémentaire Pointeri, stockée dans la mémoire 24, qui est représentative de la position de la clé privée KS_TPEi dans la mémoire 23. Les clés privées KS_TPEi font partie des données sensibles stockées dans la mémoire 23 qui sont effacées lorsqu'un accès non autorisé au terminal TPE est détecté par le module de sécurité 29.
Le microprocesseur 22 est commandé de sorte que seul un utilisateur du terminal TPE disposant de droits d'accès suffisants peut modifier les données des profils d'utilisateur Profil', Profil2, ProfilA une fois que ceux-ci sont créés. En outre, la modification de données dans un profil d'utilisateur ne peut être réalisée que profil par profil. De plus, le microprocesseur 22 ne peut utiliser que les données d'un seul profil d'utilisateur à la fois. Les profils d'utilisateur sont donc stockés de façon "étanche" dans les mémoires 23 et 24, ce qui est illustré par les doubles barres verticales 34.
La figure 5 illustre un exemple d'étapes de la phase d'authentification lors d'un échange de données entre le terminal TPE et un serveur SERVER. En partie gauche de la figure 5, on a représenté les opérations effectuées au niveau du terminal TPE et, en partie droite, on a représenté les opéra-tions réalisées au niveau du serveur SERVER. La ligne 50 représente un réseau ouvert, par exemple le réseau Internet, par l'intermédiaire duquel des données sont échangées entre le terminal TPE et le serveur SERVER. Le procédé débute à l'étape 60 à laquelle est 35 sélectionnée l'application à utiliser par le terminal. L'étape B8457 - 13834/Monetel
12 60 peut être réalisée par une action volontaire de l'utilisateur, par exemple par l'introduction manuelle d'un code au moyen du clavier 16. L'étape 60 peut être réalisée automatiquement, le terminal déterminant qu'une opération de paiement par carte doit être effectuée par l'introduction d'une carte dans le module de lecture 28. Le procédé se poursuit à l'étape 62. A l'étape 62, il est déterminé, pour l'application sélectionnée, quel profil d'utilisateur doit être utilisé. Pour ce faire, le terminal peut afficher la liste des identifiants de profils d'utilisateur sur l'écran 14 et l'utilisateur peut en sélectionner un par l'intermédiaire du clavier 16. Le procédé se poursuit à l'étape 64. A l'étape 64, l'utilisateur sélectionne le serveur avec lequel le terminal doit échanger des données dans le cas où le profil d'utilisateur sélectionné prévoit le choix entre plusieurs serveurs possibles. Pour ce faire, le terminal peut afficher la liste des serveurs possibles sur l'écran 14 et l'utilisateur peut en sélectionner un par l'intermédiaire du clavier 16. Le procédé se poursuit à l'étape 66. L'étape 64 peut n'être réalisée qu'une seule fois, la sélection du serveur par l'utilisateur étant alors mémorisée puis cette sélection étant réalisée automatiquement lors d'un nouvel échange de données lorsque la même application et le même serveur sont sélectionnés. A l'étape 66, le terminal transmet au serveur une requête d'échange de données (message Hello) en utilisant l'adresse du serveur stockée dans le profil d'utilisateur. La requête peut comprendre des données nécessaires au bon déroule- ment de l'échange de données. Il s'agit, par exemple, du type et de la version du protocole de sécurisation d'échange de données utilisés, d'un identificateur de la session, de la liste des algorithmes de chiffrement que le terminal peut utiliser par ordre de préférence, etc. Le procédé se poursuit à l'étape 68.
B8457 - 13834/Monetel
13 A l'étape 68, le serveur transmet au terminal un message pouvant comprendre des données nécessaires au bon déroulement de l'échange de données. Il s'agit, par exemple, de l'algorithme de chiffrement qui a la préférence la plus grande dans la liste fournie par le terminal et que le serveur peut utiliser. Le certificat du serveur est, en outre, transmis au terminal. Le certificat du serveur peut avoir le même format que le certificat C_TPEi du terminal décrit précédemment. Il comprend, en particulier, la clé publique du serveur. Le certificat du serveur a été émis (et signé) par l'autorité de certification dont le certificat racine est stocké dans le profil d'utilisateur sélectionné. Le serveur peut, en outre, signer le message transmis. Pour ce faire, le serveur applique une fonction de hachage au message transmis pour obtenir un condensé qui est chiffré avec la clé privée du serveur. Le résultat du chiffrement correspond à la signature, ou sceau, du serveur. Enfin, le serveur transmet une demande de certificat au terminal. Le procédé se poursuit à l'étape 70. A l'étape 70, le terminal vérifie la validité du certificat du serveur. Pour ce faire, le terminal applique d'une part la fonction de hachage à la première partie du certificat du serveur pour obtenir un premier condensé. D'autre part, le terminal déchiffre la signature du certificat du serveur avec la clé publique de l'autorité de certification qui est stockée dans le profil d'utilisateur. Il obtient alors un second condensé. Le certificat du serveur est valide si les premier et second condensés sont identiques. Le terminal peut, en outre, vérifier la validité du message reçu. Pour ce faire, le terminal applique d'une part la fonction de hachage au message transmis par le serveur pour obtenir un premier condensé. D'autre part, le terminal déchiffrant la signature du serveur avec la clé publique du serveur qui est inclue dans le certificat du serveur. Il obtient alors un second condensé. Le message est valide si les premier et second condensés sont identiques. Si le certificat du serveur et le message reçu sont valides, le terminal transmet le B8457 -13834/Monetel
14 certificat du profil d'utilisateur au serveur. Le terminal peut, en outre, indiquer au serveur quel algorithme de chiffrement va finalement être utilisé. Dans le cas d'un protocole de sécurisation d'échanges du type SSL, le terminal transmet également au serveur une clé maître (master key) qui est chiffrée avec la clé publique du serveur. Le procédé se poursuit à l'étape 72. A l'étape 72, le serveur vérifie la validité du certificat du profil d'utilisateur et la validité du message transmis par le terminal de façon analogue à ce qui a été décrit précédemment. Si le certificat du profil d'utilisateur et le message transmis par le terminal sont valides, l'échange de données proprement dit peut débuter. Pour ce faire, dans le cas d'un protocole de sécurisation du type SSL, le serveur déchiffre la clé maître transmise par le terminal avec la clé privée du serveur et les échanges de données entre le terminal et le serveur sont réalisées en chiffrant les données échangées par un cryptage symétrique utilisant des clés obtenues à partir de la clé maître. La figure 6 représente un exemple de procédé de création d'un profil d'utilisateur dans le terminal TPE. En partie gauche de la figure 6, on a représenté les opérations effectuées au niveau du terminal TPE et, en partie droite, on a représenté les opérations réalisées au niveau de l'autorité de certification CA adaptée à délivrer le certificat du terminal et les certificats racines des autorités de certification associées aux serveurs avec lesquels on souhaite échanger des données. Initialement, le terminal TPE comprend un profil d'initialisation. Par rapport au profil d'utilisateur décrit précédemment, le profil d'initialisation ne comprend pas de certificat de terminal. Dans le cas où le protocole de sécurisation utilisé le requiert, le profil d'initialisation peut, en outre, comprendre une clé publique KPINI initiale et une clé privée KSINI initiale, fournies par exemple par le constructeur du terminal TPE ou par un organisme habilité. En outre, le profil d'initialisation comprend les certificats B8457 - 13834/Monetel
15 racines des autorités de certification les plus couramment utilisées lors de la réalisation d'opérations de paiement électronique. Le procédé débute à l'étape 100 par le déclenchement d'un programme d'initialisation au niveau du terminal pour la création d'un profil d'utilisateur. Le déclenchement du programme d'initialisation peut être obtenu par une opération manuelle de l'utilisateur. Le procédé se poursuit à l'étape 102. A l'étape 102, le terminal détermine une clé privée KS_TPEi et une clé publique KP_TPEi du profil d'utilisateur en cours de création. Ces clés sont obtenues par l'algorithme défini par le procédé de chiffrement asymétrique mis en oeuvre par le terminal. Le procédé se poursuit à l'étape 104. A l'étape 104, l'opérateur sélectionne dans le profil d'initialisation, l'adresse de l'autorité de certification qui correspond à l'application et à l'utilisateur considérés. Le terminal débute alors l'échange de données, par exemple selon un protocole de sécurisation SSL, avec l'autorité de certification sélectionnée. Dans le cas d'un protocole de sécurisation du type SSL simple authentification, seule l'identité de l'autorité de certification est vérifiée par le terminal. Les clés privées et publiques initiales du terminal ne sont pas nécessaires. Le terminal transmet à l'autorité de certification une requête d'échange de données (message Hello). Le procédé se poursuit à l'étape 106. Dans le cas d'un protocole double authentification, une authentification du terminal peut être réalisée. A l'étape 106, le certificat racine de l'autorité de certification est transmis au terminal. Le procédé se poursuit à l'étape 108.
A l'étape 108, le terminal vérifie la validité du certificat racine de l'autorité de certification. Pour ce faire, le terminal applique la fonction de hachage à la première partie du certificat racine pour obtenir un premier condensé et déchiffre la signature du certificat racine avec la clé publique de l'autorité de certification stockée dans le profil B8457 -13834/Monetel
16 d'initialisation pour obtenir un second condensé. Le certificat racine transmis est valide si les deux condensés sont identiques. Dans le cas où une authentification du terminal par l'autorité de certification est prévue, le terminal peut transmettre la clé publique initiale KSINI à l'autorité de certification. Le terminal transmet, en outre, une signature qui est chiffrée avec la clé privée initiale KSINI du terminal. Dans le cas d'un protocole de sécurisation d'échanges du type SSL, le terminal transmet à l'autorité de certification une clé maître (master key) qui est chiffrée avec la clé publique de l'autorité de certification. La suite des échanges est alors chiffrée, par exemple selon un cryptage symétrique à partir de clés dérivées de la clé maître. Le terminal transmet à l'autorité de certification une demande de certificat de profil d'utilisateur.
Le message de demande de certificat peut comprendre : une identification du terminal, par exemple le numéro de série, une référence du constructeur, etc ; la clé publique KPTpE du profil d'utilisateur considéré ; optionnellement, un mot de passe correspondant, par exemple, à une suite de chiffres saisis par l'utilisateur sur le clavier 16. Ce mot de passe sert à identifier le terminal et est délivré au préalable par l'autorité de certification à l'utilisateur du terminal, par exemple par courrier électronique, par téléphone, par fax, etc. A l'étape 110, l'autorité de certification transmet au terminal le certificat C_TPEi du profil d'utilisateur incluant la signature de l'autorité de certification. L'autorité de certification fournit, en outre, les certificats racines des autorités de certification du profil créé. Il transmet également l'identifiant ID Profili du profil d'utilisateur qui sera utilisé par la suite. Le procédé se poursuit à l'étape 112. A l'étape 112, le terminal crée le profil d'utilisateur à partir des données fournies par l'autorité de certifica- B8457 - 13834/Monetel
17 tion. Le profil créé est dès lors disponible pour les différentes applications et/ou utilisateurs susceptibles de s'en servir. Pour chaque profil d'utilisateur, il peut être nécessaire de renouveler le certificat du profil C_TPEi lorsque sa date de fin de validité est atteinte. Une opération de renouvellement peut être mise en oeuvre par un procédé analogue au procédé décrit précédemment de création d'un profil d'utilisateur à la différence que le terminal peut débuter l'échange de données en transmettant le certificat du profil d'utilisateur C_TPEi à remplacer pour être authentifié par l'autorité de certification. Des modes de réalisation particuliers de la présente invention ont été décrits. Diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, les modes de réalisation de l'invention ont été décrits pour une structure particulière du terminal de paiement électronique. Toutefois, il est clair que la présente invention peut s'appliquer à un terminal de paiement électronique dont la structure est différente, par exemple un module de paiement électronique intégré dans des automates de vente et disposant, de ce fait, d'interface différentes.