Brevet FR3042894A1 — publié le 20170428

Procédé de sécurisation de traitement de données transactionnelles, terminal et programme d'ordinateur correspondant. 1. Domaine L'invention se rapporte au domaine du traitement transactionnel. Plus particulièrement, la technique proposée se rapporte au domaine du traitement de données transactionnelles de paiement, ces données transactionnelles de paiement devant être sécurisées. Ainsi, un objet de la présente technique est d'apporter une sécurisation des échanges de données lorsqu'une transaction est réalisée. Plus spécifiquement encore, un objet de la présente technique est d'augmenter le niveau de sécurité d'une transmission de données dans le cadre d'un paiement réalisé avec un terminal mobile intelligent (par exemple un smartphone ou une tablette) et une carte de paiement. 2. Art Antérieur L'utilisation de terminaux mobiles intelligents (comme par exemple des téléphones intelligents - smartphone- ou des tablettes) ne cesse de progresser. Cette progression s'illustre également lorsqu'il s'agit de réaliser un paiement, par exemple sur un site internet d'un commerçant. Ainsi, le nombre de transactions réalisées sur un terminal mobile intelligent augmente de jour en jour. Il apparait que ce nombre pourrait progresser de manière encore plus importante. Plus spécifiquement, on distingue traditionnellement deux types de manière de réaliser un paiement sur ces types de terminaux. Le premier type consiste à réaliser un paiement directement dans une application dédiée à un commerçant donné. Par exemple, le commerçant dispose d'une application de commerce électronique, qui est installée sur le terminal de l'utilisateur. Celui-ci peut effectuer un achat en sélectionnant un ou plusieurs biens ou services et en effectuant un règlement par carte bancaire (en saisissant ou en sélectionnant des données pré saisies dans les champs de paiement prévus à cet effet). Le deuxième type consiste à se rendre, à l'aide d'un navigateur (logiciel qui permet de réaliser une navigation sur un site internet) sur un site internet du commerçant. Le site internet comprend par exemple une interface dédiée aux terminaux mobiles, afin de faciliter la navigation sur des écrans de taille réduite. Lorsqu'il a terminé la sélection de ses biens ou service, l'utilisateur réalise le paiement. Ceci passe souvent par la saisie, au sein de l'interface de paiement, des données de carte bancaire (nom, numéro, date d'expiration et code de vérification (cvv)). Or, une telle saisie, au sein d'une interface non spécifiquement dédiée à cela peut être problématique. En 3042894 2 effet, l'effet combiné de la petite taille des caractères affichés et du masquage, par le clavier virtuel (clavier affiché à l'écran du terminal), d'une moitié environ de la surface affichée à l'écran, rend la saisie des données de carte bancaire compliquée pour l'utilisateur. Cela se traduit par un taux de conversion (taux de transformation de la commande en un véritable achat) réduit. 5 Pour faciliter l'acte d'achat, deux solutions sont utilisées : le première solution consiste à enregistrer, au sein d'un serveur distant, des données de cartes bancaires lors d'un premier achat (ceci est appelé phase d'"enrolment" en anglais). Dans cette première solution, les opérations menées consistent notamment à associer, au compte utilisateur existant, des données da carte bancaire de l'utilisateur. Ainsi, lors de son prochain achat, l'utilisateur sera en mesure de 10 sélectionner, directement, ces données déjà saisies pour pouvoir régler ses achats. Cette solution est intéressante mais elle présente l'énorme désavantage de devoir procéder à l'enregistrement de ces données pour chaque commerçant : chaque commerçant utilisant sa propre base de données et sa propre architecture de gestion de comptes clients. Ainsi l'utilisateur doit tout de même saisir ses données de carte bancaire dès qu'il souhaite régler un achat en ligne, sur un site 15 web ou dans une application qu'il n'a pas utilisé préalablement. La deuxième solution consiste à utiliser les propriétés de certains navigateurs : ils mémorisent eux-mêmes les saisies effectuées par l'utilisateur. Comme de nombreux sites internet utilisent des champs de saisies qui portent des noms identiques, la fonction de mémorisation automatique du navigateur peut être utilisée pour saisir de l'information dans ces champs de 20 manière plus rapide. Cette solution peut être mise en oeuvre facilement mais elle présente plusieurs problèmes : cette solution est limitée aux sites web ; les sites web n'utilisent pas tous le même nom pour un champ de saisie donné ; les sites web, pour le paiement utilisent normalement une connexion chiffrée (https) qui ne permet pas de saisie de ce type. Ainsi, il existe un besoin d'une solution simple, peu couteuse et rapide de saisie des 25 données bancaires relatives à un paiement à effectuer. Par ailleurs, il existe un besoin d'une solution qui soit également sécurisée. En effet, un des problèmes rencontrés se situe également au niveau de l'authentification tant de l'utilisateur que du moyen de paiement. Il est donc nécessaire de disposer, de manière complémentaire, d'une solution qui soit efficace en terme de sécurisation. 30 3. Résumé La présente technique résout au moins certains des problèmes de l'art antérieur. Plus particulièrement, la technique proposée se rapporte à un procédé de sécurisation de traitement 3042894 3 de données, en provenance d'un moyen de paiement sans contact. Une tel procédé comprend notamment l'acquisition automatique de données en provenance du moyen de paiement d'une part et d'autre part la sécurisation de la transmission et du traitement de ces données au sein d'un réseau de communication, afin qu'elles soient traitées. 5 La technique se rapporte ainsi à un procédé de sécurisation de traitement de données transactionnelles, procédé mis en oeuvre au sein d'un terminal de communication comprenant un module de traitement de données transactionnelles. Un tel procédé comprend : une étape de détection, par le module de traitement, d'un affichage d'une zone de saisie relative à une donnée de moyen de paiement ; 10 une étape d'activation, par le module de traitement, d'un module de lecture de données sans contact ; une étape d'obtention, par le module de lecture de données sans contact, d'au moins une donnée de moyen de paiement en provenance d'un moyen de paiement ; une étape de fourniture, à la zone de saisie, d'au moins une donnée de moyen de 15 paiement précédemment obtenue. Ainsi, la technique proposée permet de simplifier de manière très importante la saisie des données nécessaires à la transaction. En effet, l'utilisateur se contente de présenter son moyen de paiement (sans contact) au terminal de communication afin que celui-ci soit lu et que le module de traitement valorise automatiquement les données nécessaires au traitement. 20 En fonction des modes de réalisation et des besoins, les données obtenues par le module transactionnel du terminal de communication sont par exemple le nom, le prénom, le numéro de carte bancaire, la date d'expiration, le code de vérification visuel. Selon une caractéristique particulière, le procédé de sécurisation de traitement comprend une étape de génération, par le module de traitement, d'un code d'authentification courant en 25 fonction d'une identification du terminal de communication. Selon une caractéristique particulière, l'étape de génération du code d'authentification courant comprend : une étape d'obtention d'une donnée d'identification du terminal de communication ; une étape d'obtention d'une donnée d'authentification dudit utilisateur auquel ledit 30 terminal de communication est associé ; 3042894 4 une étape de chiffrement de ladite donnée d'identification du terminal de communication et de ladite donnée d'authentification dudit utilisateur, délivrant le code d'authentification courant. Selon une caractéristique particulière, le procédé de sécurisation de traitement comprend 5 une étape de fourniture, dans une zone de saisie préalablement sélectionnée, dudit code d'authentification courant. Ainsi, en sus des données usuelles, saisies habituellement par l'utilisateur dans les zones de saisie prévues à cet effet (zone de nom, de prénom, de date de validité de numéro de carte), le procédé permet de sécuriser la transaction en saisissant une donnée calculée au sein même du 10 terminal. Cette donnée permet en effet d'assurer que la transaction est réalisée au sein d'un terminal identifié. Selon une caractéristique particulière, le code d'authentification courant est fourni dans une zone de saisie du code de vérification de carte bancaire. Ainsi, la technique proposée ne nécessite pas la mise en oeuvre d'une nouvelle zone de 15 saisie. En effet, en utilisant la zone de saisie du code de vérification (également appelé en anglais "card verification code" ou "card verification value"), il n'est pas utile de développer ou de redévelopper de nouvelles applications, et notamment de nouvelles applications de paiement (par exemple sur les sites internet et/ou sur les applications des marchands). À l'issue de la mise en oeuvre de cette technique, selon cette dernière caractéristique, les 20 champs nécessaires au paiement ont été saisis de manière automatique. En sus, le champ code de vérification comprend le code d'authentification précédemment généré. L'utilisateur est donc en mesure de valider le paiement. Selon une caractéristique particulière, ce procédé comprend en outre une étape préalable d'obtention d'une valeur d'occurrence de mise en oeuvre du procédé de sécurisation de 25 traitement et lorsqu'il s'agit de la première occurrence de mise en oeuvre du procédé, le procédé comprend une étape de création d'une donnée représentative d'un lien entre le terminal de communication et un serveur de traitement transactionnel. Ainsi, lors de la première mise en oeuvre du service, il est possible d'établir un lien fort entre le terminal de communication et un ou plusieurs serveurs en charge de la mise en oeuvre de 30 la transaction. Il s'agit par exemple d'un serveur d'un prestataire de services de paiement. 3042894 5 Selon une caractéristique particulière, l'étape de création d'une donnée d'authentification de référence entre le terminal de communication et un serveur de traitement transactionnel comprend : une étape d'obtention d'une donnée d'identification du terminal de communication ; 5 une étape d'obtention d'une donnée d'authentification dudit utilisateur auquel ledit terminal de communication est associé ; une étape de chiffrement de ladite donnée d'identification du terminal de communication et de ladite donnée d'authentification dudit utilisateur, délivrant la donnée représentative du lien entre le terminal de paiement et le serveur du prestataire de services de 10 paiement ; une étape de transmission de ladite donnée d'authentification de référence à un serveur du prestataire de services de paiement. Selon un autre aspect, la présente technique se rapporte également à un procédé de sécurisation de traitement de données transactionnelles, au sein d'un serveur. 15 Selon une caractéristique particulière, le procédé comprend lors de la réception des données issues de ladite au moins une zone de saisie par un serveur de traitement, au moins une étape de comparaison entre au moins une donnée transmise au sein de ladite zone de saisie et de la donnée d'authentification de référence, délivrant une assertion de validation de la transaction. Selon un autre aspect, l'invention se rapporte également à un terminal de communication 20 intelligent caractérisé en ce qu'il comprend un module de traitement de données transactionnelles et un module d'obtention de données sans contact, caractérisé en ce que le module de traitement comprend : des moyens de détection, d'un affichage d'au moins une zone de saisie relative à une donnée de moyen de paiement ; 25 des moyens d'activation, du module de lecture de données sans contact ; des moyens d'obtention, par le module de lecture de données sans contact, d'au moins une donnée de moyen de paiement en provenance d'un moyen de paiement ; des moyens de fourniture, à ladite au moins une zone de saisie, d'au moins une donnée de moyen de paiement précédemment obtenue. 30 Selon une implémentation préférée, les différentes étapes des procédés selon la technique proposée sont mises en oeuvre par un ou plusieurs logiciels ou programmes d'ordinateur, comprenant des instructions logicielles destinées à être exécutées par un 3042894 6 processeur de données d'un module relais selon la technique proposée et étant conçu pour commander l'exécution des différentes étapes des procédés. En conséquence, la technique proposée vise aussi un programme, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme comportant des 5 instructions pour commander l'exécution des étapes des procédés tel que mentionné ci-dessus, lorsqu'ils sont exécutés par un terminal et/ou par un circuit intégré. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. 10 La technique proposée vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen 15 d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur, une mémoire flash ou une mémoire d'un de stockage d'un autre type. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon la technique proposée peut être en particulier téléchargé 20 sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Selon un mode de réalisation, la technique proposée est mise en oeuvre au moyen de 25 composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels. Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un 30 programme ou d'un logiciel apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, routeur, etc.) 3042894 7 et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.). De la même manière, un composant matériel correspond à tout élément d'un ensemble 5 matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), etc. 10 Chaque composante du système précédemment décrit met bien entendu en oeuvre ses propres modules logiciels. Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en oeuvre de la technique proposée. 4. Figures 15 D'autres caractéristiques et avantages de la technique proposée apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 expose un synoptique de la méthode générale mise en oeuvre pour la saisie facilitée des données de paiement au sein d'un formulaire ; 20 la figure 2 expose les étapes générales mise en oeuvre lors de la création, par le terminal de communication, d'un code d'authentification courant ; la figure 3 expose les étapes mise en oeuvre lors de la création, par le terminal de communication, d'un code d'authentification courant selon un mode de réalisation particulier ; 25 la figure 4 expose les étapes mise en oeuvre par un serveur de prestataire de paiement pour valider un code d'authentification courant selon un mode de réalisation particulier ; la figure 5 décrit succinctement l'architecture matérielle d'un terminal adapté pour mettre en oeuvre la présente technique ; la figure 6 décrit succinctement l'architecture matérielle d'un serveur adapté pour mettre 30 en oeuvre la présente technique. 3042894 8 5. Description 5.1. Rappel du principe Le principe général de la présente technique repose d'une part sur la mise en oeuvre d'un terminal de communication intelligent, comprenant des moyens d'obtention de données en 5 provenance d'un moyen de paiement. Plus spécifiquement, un moyen d'obtention de données en provenance d'un moyen de paiement se présente sous la forme d'un module de communication sans contact, un tel module étant plus spécifiquement un module de communication en champ proche (NFC). Ce module reçoit de la part d'un processeur du terminal de communication, une instruction ou une commande d'obtention de données sans contact. Il peut s'agir d'une 10 commande à caractère général. Par ailleurs, ce module est relié à une antenne sans contact. Cette antenne sans contact sert à émettre un signal à destination du moyen de paiement et à recevoir un signal en provenance de ce moyen de paiement. Le principe général de la présente technique repose d'une part sur la mise en oeuvre d'une application, installée au sein du terminal de communication intelligent, application 15 comprenant des moyens de détection et de remplissage de champs de saisie de données de moyens de paiement. Un moyen de paiement sans contact se présente par exemple sous la forme d'une carte de paiement (ou carte de crédit ou carte de débit), comprenant une antenne de type NFC ("Near Field Communication"), cette antenne comprenant des moyens de transmission de données vers 20 un récepteur, lorsqu'elle reçoit, de la part de ce récepteur, une requête en ce sens (la requête prenant par exemple la forme d'un signal électromagnétique). L'antenne, appelé antenne sans contact, peut être reliée à un processeur. Ce processeur peut par exemple être la puce de la carte à puce ou un processeur supplémentaire noyé dans le substrat de la carte (tout comme l'antenne d'ailleurs). Accessoirement, un moyen de paiement sans contact peut également se présenter 25 sous la forme d'un terminal de communication (un deuxième terminal de communication), lequel est muni de moyens de transmission de données sans contact et éventuellement d'une application spécifiquement destinée à transmettre des données équivalentes ou identiques à des données de carte de paiement. Une telle application peut par exemple être une application bancaire, installée au sein du terminal de communication, et qui conserve ces données de 30 manière sécurisée. Dans ce cas, par exemple, la technique est mise en oeuvre en apposant ce deuxième terminal de communication sur le premier terminal de communication. Une telle mise en oeuvre est tout à fait envisageable dans la mesure où de nombreuses personnes disposent à la 3042894 9 fois d'une tablette et d'un téléphone intelligent, le téléphone intelligent disposant de l'application bancaire tandis que la tablette est utilisée de manière plus générale et plus libre par plusieurs personnes du foyer, cette tablette n'étant pas destinée à contenir des données confidentielles. On présente, en relation avec les figures 1 et 2, les différentes étapes de mise en oeuvre 5 du procédé selon la présente technique, d'un point de vue général. La mise en oeuvre du procédé comprend, préalablement, la sélection au sein d'une application ou d'un navigateur d'un ou plusieurs biens ou services que l'utilisateur souhaite acquérir. Lorsque l'utilisateur a sélectionné ce qu'il souhaite acquérir, il passe en phase de paiement. Cette phase de paiement débute par l'affichage d'un écran (page HTML ou page d'une application) comprenant des champs de saisie 10 de données de moyen de paiement (par exemple des données de carte bancaires). Dès lors, le procédé de la présente technique peut être mis en oeuvre. Cette méthode générale comprend d'une part un procédé mis en oeuvre du côté du terminal de communication et d'autre part un procédé mis en oeuvre du côté d'un serveur (serveur du prestataire de services de paiement par exemple ou serveur bancaire directement). Pour les besoins de la présente, les deux procédés 15 sont présentés de manière imbriquée afin d'exposer une méthode de traitement la plus claire possible. Il est clair cependant que ces procédés peuvent être mis en oeuvre de manière indépendante. On présente le procédé général de traitement en relation avec la figure 1. Lors de l'affichage de l'écran comprenant les champs de saisie de données nécessaires au paiement, un module de traitement (ModT) installé au sein du terminal de communication (TC) 20 (par exemple sous la forme d'une application particulière) : détecte (100) l'affichage de ces zones de saisie ; pour ce faire, le module de traitement (ModT) met en oeuvre une technique particulière qui n'est pas l'objet de la présente ; le module de traitement (ModT) active (110) alors le module de lecture de données sans contact (ModSC) ; de manière complémentaire, le module de traitement (ModT) prend 25 possession de l'affichage réalisé sur le terminal de communication ; cette prise de possession est réalisée sous la forme d'une interruption de l'application demanderesse (application spécifique du marchand ou navigateur) ; l'application demanderesse est "gelée" et le module de traitement (ModT) affiche, en transparence, en surbrillance, par exemple le logo de paiement sans contact est affiché par le module de traitement 30 (ModT) ; l'utilisateur utilise son moyen de paiement : l'utilisateur appose son moyen de paiement sur le terminal de communication ; 3042894 10 le module de lecture de données sans contact (ModSC) obtient (120) alors, par l'intermédiaire d'une requête et d'une réponse du moyen de paiement, les données nécessaires au paiement. Le nombre et la désignation de ces données varient en fonction des exigences réglementaires et des pratiques des marchands et des prestataires de 5 services de paiement ; typiquement, les données obtenues sont : le nom, le prénom, la date d'expiration et le numéro de carte bancaire et le code de vérification ; le module de lecture des données sans contact transfère les données obtenues au module de traitement (ModT) du terminal de communication ; le module de traitement (ModT) effectue alors un remplissage (130) des zones de saisie en fonction des données reçues du 10 moyen de paiement : le module de traitement (ModT) affecte les données reçues aux zones identifiées précédemment ; le module de traitement (ModT), dans le même temps, rend le contrôle à l'application demanderesse et annule l'affichage du logo de paiement sans contact (si celui-ci est affiché) ; Dans un premier mode de réalisation de la présente technique, les opérations effectuées 15 précédemment suffisent. L'utilisateur n'a plus qu'à vérifier et valider les données saisies. La suite du processus de paiement est identique à l'existant et la transaction suit son cours comme usuellement. De manière complémentaire, dans d'autres modes de réalisation plus sécurisés, on s'assure que le terminal et l'utilisateur effectuant l'opération de paiement son bien autorisés à la 20 faire. Un tel mode de réalisation est notamment présenté en relation avec les figures 1 et 2. Pour ce faire, dans ces modes de réalisation complémentaire, le module de traitement (ModT) du terminal de communication met en oeuvre une étape de création (125) d'un code d'authentification courant (CAC). La création de ce code d'authentification courant (CAC) comprend les étapes suivantes : 25 une étape d'obtention (125-1) d'une donnée d'identification du terminal de communication (IdTerm) ; une telle donnée d'identification, selon les modes de réalisation peut par exemple être un numéro de série, un IMSI (de l'anglais pour "International Mobile Subscriber Identity"), un IMEI (de l'anglais pour "International Mobile Equipment Identity") ou autre ou encore une combinaison de ces codes ; 30 une étape d'obtention (125-2) d'une donnée d'authentification dudit utilisateur (AuthU) auquel ledit terminal de communication est associé ; une telle données d'authentification peut être en fonction du mode de réalisation, une donnée biométrique (par exemple une 3042894 11 signature d'une empreinte digitale ou d'une empreinte vocale) ou encore un code d'authentification personnel (de type code PIN) ; une étape de chiffrement (125-6) de ladite donnée d'identification du terminal de communication et de ladite donnée d'authentification dudit utilisateur, délivrant le code 5 d'authentification courant (CAC) ; cette étape de chiffrement, qui est détaillée par la suite, consiste à chiffrer et/ou à hascher les données précédemment obtenues et à en produire un code d'authentification ; bien entendu, de manière complémentaire, les données sont chiffrées ou haschées avec une ou plusieurs clés de chiffrement à disposition du module de traitement (ModT)s du terminal de communication de l'utilisateur. 10 Une fois que le module de traitement (ModT) dispose du code d'authentification courant (CAC), il fournit ce code d'authentification courant (CAC) à l'application demanderesse. Cette fourniture peut être effectuée de plusieurs manières (par exemple en remplissant un champ "code d'authentification" de l'écran de saisie. Selon un mode de réalisation avantageux, cependant, le code d'authentification prend la place, du code de vérification "CVV". Ainsi, en lieu 15 et place du CVV, qui peut être obtenu en lecture sans contact à partir du moyen de paiement (comme précédemment indiqué), ce champ de saisie CVV est rempli avec le code d'authentification courant (CAC). Avantageusement, le mode de calcul du code d'authentification courant comprend au moins une étape de formatage de sorte que la taille du code d'authentification courant corresponde à une taille acceptée par la zone de saisie se rapportant 20 au CVV. Ainsi, il n'y a pas de difficulté d'insertion du CAC dans la zone prévue pour le CVV. Dès lors, du point de vue du prestataire de services de paiement, le processus de validation de la transaction est quelque peu différent de celui mis en oeuvre usuellement. En effet, la validation, par l'utilisateur, du formulaire de saisie des données de paiement provoque la transmission (directe ou indirecte : i.e. par l'intermédiaire du serveur du commerçant), de ces 25 données de paiement au serveur de traitement du prestataire de services de paiement. Dès lors le serveur du prestataire de services de paiement (serveur PSP) met en oeuvre les étapes suivantes : réception des données de paiement (comprenant notamment les données automatiquement saisies et le code d'authentification courant (CAC)) ; contrôle de la validité du code d'authentification courant (CAC) ; et 30 lorsque le code d'authentification courant (CAC) est valide, validation de la transaction ; 3042894 12 lorsque le code d'authentification courant (CAC) est invalide, rejet de la transaction ; En fonction des modes de réalisation, le contrôle de la validité du code d'authentification courant (CAC) est mis en oeuvre de plusieurs manières différentes : 5 soit le code d'authentification courant (CAC) est directement comparé à un code d'authentification de référence, précédemment reçu de la part de l'utilisateur et du terminal de communication (par exemple lors de la première mise en oeuvre du service, comme cela est explicité par la suite) ; dans ce cas une simple comparaison est effectuée ; soit les données du code d'authentification courant (CAC) sont utilisées pour décider de la 10 validité de la transaction, par rapport à des données précédemment reçus - cet aspect est également décrit par la suite. Lorsque les données du code d'authentification courant (CAC) sont utilisées pour effectuer une validation de la transaction, les étapes suivantes sont mises en oeuvre : déchiffrement du code d'authentification courant (CAC) ; ce déchiffrement est mis en 15 oeuvre en utilisant un secret partagé entre le serveur du prestataire de services de paiement et le terminal de communication de l'utilisateur ; ce secret a été partagé lors d'une phase d'inscription auprès du prestataire de services de paiement ; un mode de réalisation de cette phase d'inscription et de partage de données est décrite par la suite ; vérification des données déchiffrées : ces données sont par exemple la donnée 20 d'identification du terminal de communication et la donnée d'authentification de l'utilisateur. Ainsi, la mise en oeuvre de la technique décrite permet d'une part de faciliter les opérations de paiement en ligne pour les utilisateurs et d'autre part d'apporter une sécurisation complémentaire de ces opérations de paiement en ligne. 25 On décrit, par la suite, un mode de réalisation des opérations de sécurisation. Il est clair cependant, que ce mode de réalisation n'est qu'illustratif des opérations de sécurisation pouvant être réalisées. Plus particulièrement, il est clair que d'autres modes de réalisation, basés par exemple sur la possession de paires de clés privées/publiques par les différents intervenants (terminal de communication, serveur du prestataire de paiement) peuvent également être mises 30 en oeuvre sans sortir du cadre posé par la présente. 3042894 13 5.2. Description d'un mode de réalisation Dans ce mode de réalisation, on présente la manière dont le serveur de traitement entre en possession du matériel nécessaire à la vérification ultérieure du code d'authentification courant (CAC) (cette étape est appelée étape d'inscription). 5 Dans ce mode de réalisation, on présente également la manière dont le code d'authentification courant (CAC) est produit par le module de traitement (ModT) du terminal de communication. Dans ce mode de réalisation on présente également la manière dont le serveur de traitement réalise la vérification d'un code d'authentification courant (CAC). Pour ce faire, on considère la donnée d'un couplage bilinéaire symétrique e:GxGH 10 avec un groupe H de petite taille. On rappelle qu'une telle fonction vérifie, pour tous entiers x, y et tous points g, h de G: e(gx , hY) = e(g, hY)x = e(gx , h)Y = e (g, h).rY e(g, h) = e(h, g) Ce couplage bilinéaire est utilisé tant pour étape d'inscription que pour les étapes de vérification ultérieure. Typiquement, la taille du groupe est de 128 bits. Un tel groupe est considéré comme étant de petite taille au regard de la taille usuelle de ces groupes (typiquement 15 256 bits, voire 512 bits). Cela signifie que, dans cette application, le groupe comprend des nombres dont la longueur est au maximum de 128 bits. Ce groupe comprend par exemple 2128 éléments : ces éléments ne sont pas (nécessairement) des nombres. Dans l'application considérée, par exemple, il s'agit de points d'une courbe elliptique. Mais il pourrait s'agir de n'importe quel objet adapté à la présente technique. 20 Dans ce mode de réalisation, il est possible d'utiliser un couplage de Tate qui est défini sur toute courbe elliptique. Cependant, pour des raisons de sécurité et de performance, il est possible d'utiliser des courbes de Barreto-Naehrig. Un tel couplage bilinéaire peut par exemple calculer en utilisant l'algorithme de Miller. Ces éléments sont donnés à titre indicatifs. En effet, n'importe quel couplage pourrait convenir. Cependant, ce couplage particulier présente le double avantage 25 de l'efficacité (c'est l'un des plus rapides) et de la généralité (il s'applique dans une grande majorité de cas). 5.2.1. Inscription auprès du serveur de traitement On nomme T (T=idTerm, pour plus de facilité de notation) la donnée d'identification fournie par le téléphone lors de l'inscription, et B (B=AuthU, pour plus de facilité de notation) la 30 donnée d'authentification fournie par l'utilisateur. Lors de l'inscription, le serveur de traitement 3042894 14 transmet un élément g du groupe H et le terminal de communication transmet, en réponse la donnée constituée de te ,gB1. En d'autres termes, l'étape d'inscription comprend pour le terminal de communication, dans ce mode de réalisation : 5 - une étape de réception, en provenance du serveur de traitement, d'un un élément g ; typiquement, un tel élément est un entier du groupe H; - une étape de calcul, par le module de traitement (ModT) du terminal de communication, de la donnée constituée de te,gBI; - une étape de transmission, par le terminal de communication, de la donnée 10 précédemment calculée. Cette donnée est enregistrée au sein du serveur de traitement. Elle est associée au terminal de communication de l'utilisateur. 5.2.2. Création du code d'authentification courant (CAC) par le terminal de communication 15 La création du code d'authentification courant (CAC) est décrite en relation avec la figure 3. Comme précédemment, le module de traitement obtient (125-1, 125-2) la donnée d'identification du terminal (T) et la donnée d'authentification de l'utilisateur (B). Lors de la mise en oeuvre du paiement, le module de traitement effectue un tirage (125-3) d'un nombre aléatoire r ; le module de traitement effectue (125-4) également un marquage de l'heure w, correspondant 20 à l'heure de traitement de la transaction ; le module de traitement calcule (125-5) également les informations de transaction y (comme par exemple le montant, et/ou le lieu de la transaction et/ou les participants à la transaction). Le module de traitement effectue un calcul du code d'authentification courant (CAC) : CAC = twrT ,vrBl. Le code d'authentification courant (CAC), ainsi que le nom, le numéro de la carte et la 25 date d'expiration, sont transmises au serveur de traitement. Le nom, le numéro de carte et la date d'expiration peuvent être chiffrés avec CAC lors de cette transmission. 5.2.3. Vérification du code d'authentification courant (CAC) par le serveur de traitement La vérification du code d'authentification courant (CAC) est décrite en relation avec la figure 4. Le serveur de traitement reçoit ainsi CAC = fa, b} en tant que code de vérification. Le 30 serveur de traitement reçoit également les autres données de la transaction. Le serveur de traitement étant en possession de T la donnée d'identification fournie par le téléphone lors de 3042894 15 l'inscription, et B la donnée d'authentification fournie par l'utilisateur, il effectue les calculs suivants : Il divise (200) a par l'heure, et vérifie qu'il n'a pas reçu une même valeur de a/w au cours d'une période temporelle prédéterminée (i.e. la dernière heure, ou les dernières 10 5 minutes, par exemple). Si cela se produit, la transaction est annulée (210). dans le cas contraire, il vérifie (220) que : e(a/w,gB)= e(b/v,gT) Si cette égalité est vraie, alors la transaction est validée (230) (et, le cas échéant, le nom et le PAN peuvent être déchiffrés à l'aide du CAC). Bien entendu ce mode de réalisation de la technique est décrit à titre illustratif. Il est 10 notamment décrit dans le cadre d'une mise en oeuvre pour un paiement en ligne. Il est bien entendu que cette technique peut également s'appliquer à d'autres types de paiement et notamment à des paiements mis en oeuvre dans un paiement direct chez un commerçant. Auquel cas, le principe décrit précédemment reste le même : à la place de saisir de manière automatique, sur un écran, des données de carte bancaire, on réalise une transmission directe de ces données 15 lues à un serveur du commerçant afin que ces données soient transmise et traitées comme s'il s'agissait d'un paiement réalisé physiquement avec une carte bancaire sur un terminal de paiement physique du commerçant. 5.3. Autres caractéristiques et avantages On décrit, en relation avec la figure 5, un terminal de communication comprenant des 20 moyens permettant l'exécution du procédé décrit préalablement. Par exemple, le terminal de communication comprend une mémoire 51 constituée d'une mémoire tampon, une unité de traitement 52, équipée par exemple d'un microprocesseur, et pilotée par le programme d'ordinateur 53, mettant en oeuvre les étapes nécessaires à l'obtention, au remplissage, au chiffrement et à la transmission de données de traitement de transactions. 25 À l'initialisation, les instructions de code du programme d'ordinateur 53 sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur de l'unité de traitement 52. L'unité de traitement 52 reçoit en entrée par exemple un écran ou un formulaire à remplir. Le microprocesseur de l'unité de traitement 52 met en oeuvre les étapes du procédé, selon les instructions du programme d'ordinateur 53 pour permettre la saisie des données à partir d'un 30 moyen de paiement sans contact. 3042894 16 Pour cela, le dispositif de traitement comprend, outre la mémoire tampon 51, des moyens d'identification des zones de saisie des données de paiement, des moyens d'obtention de données en provenance de moyens de paiement sans contact (comme un module de lecture NFC), des moyens d'obtention de matériels de chiffrement, des moyens de chiffrement. Le 5 dispositif de traitement comprend également : des moyens de détection, d'un affichage d'au moins une zone de saisie relative à une donnée de moyen de paiement ; de tels moyens se présentent par exemple sous la forme d'un module de détection particulier ; des moyens d'activation, par le module de traitement, d'un module de lecture de 10 données sans contact ; de tels moyens se présentent par exemple sous le forme d'un circuit de connexion dudit module ; des moyens d'obtention, par le module de lecture de données sans contact, d'au moins une donnée de moyen de paiement en provenance d'un moyen de paiement ; ces moyens se présentent sous la forme d'un module d'interrogation de carte bancaire par exemple ; 15 des moyens de fourniture, à ladite au moins une zone de saisie, d'au moins une donnée de moyen de paiement précédemment obtenue ; ces moyens se présentent par exemple sous la forme d'un automate de saisie. Ces moyens peuvent être pilotés par le processeur de l'unité de traitement 52 en fonction du programme d'ordinateur 53. 20 On décrit, en relation avec la figure 6, un serveur de traitement comprenant des moyens permettant l'exécution du procédé décrit préalablement. Par exemple, le serveur de traitement comprend une mémoire 61 constituée d'une mémoire tampon, une unité de traitement 62, équipée par exemple d'un microprocesseur, et pilotée par le programme d'ordinateur 63, nécessaires à la mise en oeuvre des fonctions de 25 vérification des données de transaction. À l'initialisation, les instructions de code du programme d'ordinateur 63 sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur de l'unité de traitement 62. L'unité de traitement 62 reçoit en entrée par exemple un ensemble de données chiffrées, comprenant par exemple un code d'authentification courant (CAC). Le microprocesseur de l'unité 30 de traitement 62 met en oeuvre les étapes du procédé de traitement, selon les instructions du programme d'ordinateur 63 pour permettre le déchiffrement des données chiffrées et la vérification du code d'authentification courant (CAC). 3042894 17 Pour cela, le dispositif comprend, outre la mémoire tampon 61, des moyens d'obtention de clé de chiffrement/déchiffrement ; ces moyens peuvent se présenter sous la forme d'un processeur ou d'un ensemble de ressources sécurisées permettant de sécuriser la saisie de l'autorisation. Le dispositif comprend également des moyens de traitement cryptographiques ; 5 ces moyens de traitement comprennent par exemple un processeur de chiffrement dédié. Ces moyens peuvent être pilotés par le processeur de l'unité de traitement 62 en fonction du programme d'ordinateur 63. REVENDICATIONS1. Procédé de sécurisation de traitement de données transactionnelles, procédé mis en oeuvre au sein d'un terminal de communication (TC) comprenant un module de traitement (ModT) de données transactionnelles, caractérisé en ce qu'un tel procédé comprend : une étape de détection (100), par le module de traitement (ModT), d'un affichage d'au moins une zone de saisie (ZoS) relative à une donnée de moyen de paiement ; une étape d'activation (110), par le module de traitement (ModT), d'un module de lecture de données sans contact (ModSC) ; une étape d'obtention (120), par le module de lecture de données sans contact (ModSC), d'au moins une donnée de moyen de paiement en provenance d'un moyen de paiement ; une étape de fourniture (130), à ladite au moins une zone de saisie (ZoS), d'au moins une donnée de moyen de paiement précédemment obtenue. 2. Procédé de sécurisation de traitement selon la revendication 1, caractérisé en ce qu'il comprend une étape de génération (125), par le module de traitement (ModT), d'un code d'authentification courant (CAC) en fonction d'une identification du terminal de communication. 3. Procédé de sécurisation de traitement selon la revendication 2, caractérisé en ce que l'étape de génération (125) du code d'authentification courant (CAC) comprend : une étape d'obtention (125-1) d'une donnée d'identification (IdTerm) du terminal de communication ; une étape d'obtention (125-2) d'une donnée d'authentification (AuthU) dudit utilisateur auquel ledit terminal de communication est associé ; une étape de chiffrement (125-6) de ladite donnée d'identification du terminal de communication et de ladite donnée d'authentification dudit utilisateur, délivrant le code d'authentification courant (CAC). 3042894 19 4. Procédé de sécurisation de traitement selon la revendication 2 caractérisé en ce qu'il comprend une étape de fourniture, dans une zone de saisie (ZoS) préalablement sélectionnée, dudit code d'authentification courant (CAC). 5 5. Procédé de sécurisation de traitement selon la revendication 4, caractérisé en ce que le code d'authentification courant (CAC) est fourni dans une zone de saisie (ZoS) du code de vérification de carte bancaire. 6. Procédé de sécurisation de traitement selon la revendication 1, caractérisé en ce qu'il 10 comprend en outre une étape préalable d'obtention d'une valeur d'occurrence de mise en oeuvre du procédé de sécurisation de traitement et lorsqu'il s'agit de la première occurrence de mise en oeuvre du procédé, le procédé comprend une étape de création d'une donnée représentative d'un lien entre le terminal de communication et un serveur de traitement transactionnel, dite donnée d'authentification de référence. 15 7. Procédé de sécurisation de traitement selon la revendication 6, caractérisé en ce que l'étape de création de la donnée d'authentification de référence entre le terminal de communication et un serveur de traitement transactionnel comprend : une étape d'obtention d'une donnée d'identification du terminal de communication ; 20 une étape d'obtention d'une donnée d'authentification dudit utilisateur auquel ledit terminal de communication est associé ; une étape de chiffrement de ladite donnée d'identification du terminal de communication et de ladite donnée d'authentification dudit utilisateur, délivrant la donnée d'authentification de référence ; 25 une étape de transmission de la donnée d'authentification de référence à un serveur de traitement. 8. Procédé de traitement, selon la revendication 6, caractérisé en ce qu'il comprend, lors de la réception des données issues de ladite au moins une zone de saisie par un serveur de 30 traitement, au moins une étape de comparaison entre au moins une donnée transmise au sein de ladite zone de saisie et de la donnée d'authentification de référence, délivrant une assertion de validation de la transaction. 3042894 20 9. Terminal de communication intelligent (TC) caractérisé en ce qu'il comprend un module de traitement de données transactionnelles (ModT) et un module d'obtention de données sans contact (ModSC), caractérisé en ce que le module de traitement (ModT) 5 comprend : des moyens de détection (100), d'un affichage d'au moins une zone de saisie (ZoS) relative à une donnée de moyen de paiement ; des moyens d'activation (110), du module de lecture de données sans contact (ModSC) ; des moyens d'obtention (120), par le module de lecture de données sans contact 10 (ModSC), d'au moins une donnée de moyen de paiement en provenance d'un moyen de paiement ; des moyens de fourniture (130), à ladite au moins une zone de saisie (ZoS), d'au moins une donnée de moyen de paiement précédemment obtenue. 15 10. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution d'un procédé de sécurisation de traitement selon la revendication 1 à 8, lorsqu'il est exécuté par un processeur. 20