FR3038417A1 - SERVER AND METHOD FOR VERIFYING DYNAMIC SECURITY CODE - Google Patents

SERVER AND METHOD FOR VERIFYING DYNAMIC SECURITY CODE Download PDF

Info

Publication number
FR3038417A1
FR3038417A1 FR1556118A FR1556118A FR3038417A1 FR 3038417 A1 FR3038417 A1 FR 3038417A1 FR 1556118 A FR1556118 A FR 1556118A FR 1556118 A FR1556118 A FR 1556118A FR 3038417 A1 FR3038417 A1 FR 3038417A1
Authority
FR
France
Prior art keywords
dynamic
server
security code
transaction
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1556118A
Other languages
French (fr)
Other versions
FR3038417B1 (en
Inventor
Jean-Louis Valadier
Vincent Bourdaraud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1556118A priority Critical patent/FR3038417B1/en
Publication of FR3038417A1 publication Critical patent/FR3038417A1/en
Application granted granted Critical
Publication of FR3038417B1 publication Critical patent/FR3038417B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4018Transaction verification using the card verification value [CVV] associated with the card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Ce serveur (5000) de vérification de code dynamique de sécurité comporte : - un module (5200) de communication apte à recevoir des données de transaction bancaires comportant un identifiant et un premier code dynamique de sécurité généré par un dispositif (1000) associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité générés par ce dispositif ; - un module (5300) de génération d'un deuxième code dynamique de sécurité à partir de l'identifiant et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité générés par ce module pour cet identifiant ; - un module (5400) de comparaison des codes dynamiques de sécurité ; - le module de communication (5200) étant apte à envoyer à un serveur (6000), et ce uniquement en cas d'égalité des codes dynamiques, lesdites données de transaction dans lesquelles le code dynamique de sécurité est remplacé par un code statique de sécurité associé au dispositif (1000), ledit serveur (6000) étant configuré pour vérifier la validité dudit code statique de sécurité pour autoriser ou refuser ladite transaction.This security dynamic code verification server (5000) comprises: a communication module (5200) able to receive bank transaction data comprising an identifier and a first security dynamic code generated by a device (1000) associated with this identifying from a time data or a counter the number of first dynamic security codes generated by this device; a module (5300) for generating a second dynamic security code from the identifier and a time data or a counter of the number of second dynamic security codes generated by this module for this identifier; a module (5400) for comparing the dynamic safety codes; the communication module (5200) being able to send to a server (6000), and only if the dynamic codes are equal, said transaction data in which the dynamic security code is replaced by a static security code associated with the device (1000), said server (6000) being configured to check the validity of said security code to allow or deny said transaction.

Description

Arrière-plan de l'inventionBackground of the invention

La présente invention se situe dans le domaine des mécanismes de vérification des codes de sécurité. L'invention peut en particulier être utilisée pour vérifier des codes de sécurité tels que numéros de documents d'identité, des identifiants de sécurité sociale, des codes d'ouverture de porte, ou des codes d'accès à un site Web. L'invention trouve en outre une application privilégiée pour vérifier des codes de sécurité utilisés dans des transactions bancaires, par exemple des applications de paiement en ligne.The present invention is in the field of verification mechanisms of security codes. In particular, the invention can be used to verify security codes such as identification document numbers, social security identifiers, door opening codes, or website access codes. The invention also finds a preferred application for verifying security codes used in banking transactions, for example online payment applications.

On connaît en particulier dans le domaine des transactions bancaires, des cartes à microcircuit associées à des comptes bancaires, les opérations et transactions en ligne effectuées au moyen d'une telle carte étant sécurisées en utilisant un code de sécurité associé à la carte.Particularly known in the field of banking transactions, microcircuit cards associated with bank accounts, transactions and online transactions made using such a card being secured using a security code associated with the card.

Le plus souvent, ces codes de sécurité sont dit statiques, ce qui signifie qu'ils sont constants dans le temps, autrement dit que leur valeur reste identique pendant toute la durée de vie de la carte.Most often, these security codes are said to be static, which means that they are constant over time, that is, their value remains the same throughout the lifetime of the card.

Un problème connu avec ces cartes bancaires est qu'il est relativement aisé de dérober le code de sécurité statique, notamment lorsque celui-ci est imprimé sur la carte bancaire.A known problem with these bank cards is that it is relatively easy to steal the static security code, especially when it is printed on the bank card.

Le document [REFAA] propose une solution pour sécuriser des transactions en ligne au moyen d'une carte bancaire, dans laquelle le code de sécurité affiché sur la carte et saisi par l'utilisateur pour effectuer une transaction est un code de sécurité dynamique, le système de traitement informatique du service financier de transactions en ligne étant apte à vérifier la validité de ce code de sécurité dynamique en fonction d'un paramètre temporel pour valider ou non la transaction.The document [REFAA] proposes a solution to secure online transactions by means of a bank card, in which the security code displayed on the card and entered by the user to perform a transaction is a dynamic security code, the computer processing system of the online transaction financial service being able to check the validity of this dynamic security code according to a time parameter to validate or not the transaction.

Malheureusement, la solution proposée dans ce document présente un inconvénient majeur en ce qu'elle nécessite une modification complexe du système d'autorisation de transaction du serveur de la banque. L'invention propose une solution pour vérifier un code de sécurité qui ne présente pas cet inconvénient.Unfortunately, the solution proposed in this document has a major disadvantage in that it requires a complex modification of the transaction authorization system of the bank's server. The invention proposes a solution for verifying a security code that does not have this drawback.

Objet et résumé de l'inventionObject and summary of the invention

Plus précisément, et selon un premier aspect, l'invention concerne un serveur de vérification de code dynamique de sécurité comportant : - un module de communication apte à recevoir des données de transaction bancaires comportant un identifiant et un premier code dynamique de sécurité généré par un dispositif associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité générés par ledit dispositif ; - un module de génération d'un deuxième code dynamique de sécurité à partir dudit identifiant et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité générés par ledit module pour cet identifiant ; - un module de comparaison des premier et deuxième codes dynamiques de sécurité ; - le module de communication étant apte à envoyer à un serveur, et ce uniquement en cas d'égalité des premier et deuxième codes dynamiques de sécurité, les données de transaction précitées dans lesquelles le code dynamique de sécurité est remplacé par un code statique de sécurité associé au dispositif, ce serveur étant configuré pour vérifier la validité dudit code statique de sécurité pour autoriser ou refuser ladite transaction.More precisely, and according to a first aspect, the invention relates to a dynamic security code verification server comprising: a communication module able to receive banking transaction data comprising an identifier and a first dynamic security code generated by a device associated with this identifier from a time data or a counter of the number of first dynamic security codes generated by said device; a module for generating a second dynamic security code from said identifier and a time datum or a counter of the number of second dynamic security codes generated by said module for this identifier; a comparison module of the first and second dynamic security codes; the communication module being able to send to a server, and only if the first and second dynamic security codes are equal, the aforementioned transaction data in which the dynamic security code is replaced by a static security code associated with the device, this server being configured to check the validity of said security code to allow or refuse said transaction.

Corrélativement, l'invention propose un procédé de vérification d'un code dynamique de sécurité comportant : - une étape de réception de données de transaction bancaires comportant un identifiant et un premier code dynamique de sécurité généré par un dispositif associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité générés par ce dispositif ; - une étape de génération d'un deuxième code dynamique de sécurité à partir dudit identifiant et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité générés par ce module pour cet identifiant ; - une étape de comparaison des premier et deuxième codes dynamiques de sécurité ; - une étape d'envoi à un serveur, et ce uniquement en cas d'égalité des premier et deuxième codes dynamiques, des données de transaction précitées dans lesquelles ledit code dynamique de sécurité est remplacé par un code statique de sécurité associé au dispositif, ce serveur étant configuré pour vérifier la validité du code statique de sécurité pour autoriser ou refuser la transaction.Correlatively, the invention proposes a method for verifying a dynamic security code comprising: a step of receiving bank transaction data comprising an identifier and a first dynamic security code generated by a device associated with this identifier from a time data or a counter of the number of first dynamic security codes generated by this device; a step of generating a second dynamic security code from said identifier and a time data or a counter of the number of second dynamic security codes generated by this module for this identifier; a step of comparing the first and second dynamic security codes; a step of sending to a server, and only in case of equality of the first and second dynamic codes, of the aforementioned transaction data in which said dynamic security code is replaced by a static security code associated with the device, this server configured to check the validity of the security code to allow or deny the transaction.

Ainsi, et d'une façon générale, l'invention propose selon ce premier aspect, de vérifier la validité du code dynamique de sécurité pour la transaction en amont du serveur configuré pour autoriser ou refuser la transaction, et lorsque la validité du code dynamique est vérifiée de substituer ce code dynamique de sécurité par un code statique de sécurité pour que celui-ci soit vérifié par ce serveur.Thus, and in a general manner, the invention proposes according to this first aspect, to verify the validity of the dynamic security code for the transaction upstream of the server configured to allow or refuse the transaction, and when the validity of the dynamic code is verified to substitute this dynamic security code with a static security code for it to be verified by this server.

Le serveur configuré pour autoriser ou refuser la transaction n'a donc pas besoin d'être modifié pour être en mesure de vérifier les codes dynamiques de sécurité.The server configured to allow or deny the transaction does not need to be modified to be able to check the dynamic security codes.

En particulier, lorsque l'invention est utilisée dans le domaine bancaire, les serveurs bancaires n'ont pas à être modifiés, la vérification du code dynamique de sécurité s'effectuant en amont dans le réseau.In particular, when the invention is used in the banking field, the bank servers do not have to be modified, the verification of the dynamic security code being performed upstream in the network.

Cette solution est très avantageuse car elle ne nécessite aucune autre modification dans la chaîne de transaction, puisqu'in fine, l'autorisation ou le refus de la transaction reste sous la responsabilité du serveur en fin de chaîne, le serveur bancaire par exemple.This solution is very advantageous because it does not require any other modification in the transaction chain, since in fine, the authorization or the refusal of the transaction remains under the responsibility of the server at the end of the chain, the banking server for example.

Dans un mode particulier de réalisation, le serveur de vérification de code de sécurité conforme à l'invention est configuré pour envoyer un message de refus de la transaction à un serveur apte à réaliser la transaction si les premier et deuxième codes dynamiques sont différents.In a particular embodiment, the security code verification server according to the invention is configured to send a refusal message of the transaction to a server capable of performing the transaction if the first and second dynamic codes are different.

Ainsi, dans ce mode de réalisation, le serveur configuré pour vérifier la validité du code statique de sécurité pour autoriser ou refuser la transaction, le serveur bancaire par exemple, n'est pas sollicité. L'invention vise aussi un système de vérification d'un code de sécurité comportant : - un serveur de vérification de code dynamique de sécurité tel que mentionné ci-dessus ; - le serveur configuré pour vérifier la validité dudit code statique de sécurité pour autoriser ou refuser ladite transaction ; et - un module d'interface apte à recevoir des données de transaction comportant soit un code statique de sécurité soit un code dynamique de sécurité et à transmettre lesdites données de transaction : - au serveur de vérification de code dynamique de sécurité selon l'invention si les données de transaction comportent un code dynamique de sécurité ; ou - au serveur configuré pour vérifier la validité dudit code statique de sécurité si les données de transaction comportent un code statique de sécurité.Thus, in this embodiment, the server configured to check the validity of the static security code to allow or refuse the transaction, the bank server for example, is not solicited. The invention also relates to a system for verifying a security code comprising: a dynamic security code verification server as mentioned above; the server configured to check the validity of said static security code to authorize or refuse said transaction; and an interface module able to receive transaction data comprising either a static security code or a dynamic security code and to transmit said transaction data to the security dynamic code verification server according to the invention if the transaction data comprises a dynamic security code; or - the server configured to check the validity of said static security code if the transaction data comprises a static security code.

Autrement dit, dans ce mode de réalisation, l'invention propose un module d'interface apte à rediriger les données de transaction soit vers le serveur selon l'invention soit vers le serveur configuré pour vérifier la validité dudit code statique de sécurité (par exemple le serveur bancaire) en fonction du type dynamique/statique du code de sécurité compris dans les données de transaction.In other words, in this embodiment, the invention proposes an interface module able to redirect the transaction data either to the server according to the invention or to the server configured to check the validity of said static security code (for example the bank server) according to the dynamic / static type of the security code included in the transaction data.

Ce module d'interface offre aux opérateurs une solution modulaire pour intégrer le serveur de vérification de code dynamique de sécurité selon l'invention dans les réseaux interbancaires existants.This interface module provides operators with a modular solution for integrating the dynamic security code verification server according to the invention into existing interbank networks.

Dans un mode particulier de réalisation, le serveur de vérification de code dynamique de sécurité est implémenté dans le serveur configuré pour vérifier la validité du code statique de sécurité (par exemple un serveur bancaire).In a particular embodiment, the security dynamic code verification server is implemented in the server configured to check the validity of the static security code (for example a bank server).

Dans un mode particulier de réalisation, le module d'interface selon l'invention est également implémenté dans le serveur configuré pour vérifier la validité du code statique de sécurité.In a particular embodiment, the interface module according to the invention is also implemented in the server configured to check the validity of the static security code.

Dans un mode particulier de réalisation, le système selon l'invention comporte : - une carte à microcircuit comportant, un code statique de sécurité et un écran pour afficher un code dynamique de sécurité généré par ladite carte pour réaliser une transaction ; - le serveur de vérification de code dynamique de sécurité selon l'invention étant apte à vérifier la validité du code dynamique de sécurité généré par ladite carte ; - le serveur configuré pour vérifier la validité du code statique de sécurité étant apte à vérifier le code statique de sécurité de cette carte.In a particular embodiment, the system according to the invention comprises: a microcircuit card comprising a static security code and a screen for displaying a dynamic security code generated by said card to perform a transaction; the dynamic security code verification server according to the invention being able to verify the validity of the dynamic security code generated by said card; the server configured to check the validity of the static security code being able to check the static security code of this card.

Dans un mode de réalisation, ce système comporte: - un terminal permettant à un utilisateur de se connecter à un serveur pour réaliser la transaction, ce terminal comportant une interface homme-machine permettant à l'utilisateur de saisir les données de la transaction dont ledit code dynamique de sécurité généré par la carte pour cette transaction ; - le serveur pour réaliser la transaction étant apte à transmettre ces données de transaction au serveur de vérification de code dynamique de sécurité selon le protocole ISO 8583.In one embodiment, this system comprises: a terminal allowing a user to connect to a server to perform the transaction, this terminal comprising a human-machine interface allowing the user to enter the transaction data of which said dynamic security code generated by the card for this transaction; the server for carrying out the transaction being able to transmit these transaction data to the dynamic security code verification server according to the ISO 8583 protocol.

Dans les modes de réalisation décrits ci-dessus, lorsque le serveur de vérification de code dynamique de sécurité selon l'invention vérifie la validité du code dynamique de sécurité pour la transaction, il sollicite le serveur configuré pour autoriser ou refuser la transaction pour que celui-ci vérifie le code statique de sécurité.In the embodiments described above, when the dynamic security code verification server according to the invention verifies the validity of the dynamic security code for the transaction, it requests the server configured to authorize or refuse the transaction so that the -ci verifies the static security code.

Dans une autre variante conforme à l'invention, lorsque le serveur vérifie la validité du code dynamique de sécurité il envoie directement un message au serveur réalisant la transaction, sans solliciter le serveur configuré pour autoriser ou refuser la transaction, typiquement le serveur bancaire.In another variant according to the invention, when the server verifies the validity of the dynamic security code it sends a message directly to the server performing the transaction, without requesting the server configured to allow or refuse the transaction, typically the bank server.

Plus précisément, selon ce deuxième aspect, l'invention concerne un serveur de vérification de code dynamique de sécurité comportant : - un module de communication apte à recevoir, dans un réseau de communication, des données de transaction comportant un identifiant et un premier code dynamique de sécurité généré par un dispositif associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité générés par ce dispositif, ces données de transaction étant destinées à un serveur configuré pour vérifier la validité d'un code statique de sécurité pour autoriser ou refuser ladite transaction ; - un module de génération d'un deuxième code dynamique de sécurité à partir de l'identifiant et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité générés par ce module pour cet identifiant ; - un module de comparaison des premier et deuxième codes dynamiques de sécurité ; - le module de communication étant apte à envoyer à un serveur apte à réaliser la transaction, et ce uniquement en cas d'égalité des premier et deuxième codes dynamiques, un message d'autorisation pour réaliser ladite transaction, le serveur de vérification de code dynamique de sécurité étant implémenté dans un équipement d'interface entre le réseau et le serveur configuré pour vérifier la validité d'un code statique de sécurité.More precisely, according to this second aspect, the invention relates to a dynamic security code verification server comprising: a communication module able to receive, in a communication network, transaction data comprising an identifier and a first dynamic code; security device generated by a device associated with this identifier from a time data or a counter of the number of first dynamic security codes generated by this device, these transaction data being intended for a server configured to check the validity of a static security code to allow or deny said transaction; a module for generating a second dynamic security code from the identifier and a time datum or a counter of the number of second dynamic security codes generated by this module for this identifier; a comparison module of the first and second dynamic security codes; the communication module being able to send to a server capable of carrying out the transaction, and only if the first and second dynamic codes are equal, an authorization message for carrying out said transaction, the dynamic code verification server; security scheme being implemented in an interface equipment between the network and the server configured to check the validity of a static security code.

Corrélativement, l'invention concerne un procédé de vérification de code dynamique de sécurité comportant : - une étape de réception, dans un réseau de communication, de données de transaction comportant un identifiant et un premier code dynamique de sécurité généré par un dispositif associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité générés par ce dispositif, les données de transaction étant destinées à un serveur configuré pour vérifier la validité d'un code statique de sécurité pour autoriser ou refuser la transaction ; - une étape de génération d'un deuxième code dynamique de sécurité à partir de l'identifiant et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité générés par le module pour cet identifiant ; - une étape de comparaison des premier et deuxième codes dynamiques de sécurité ; - une étape d'envoi, à un serveur apte à réaliser la transaction, et ce uniquement en cas d'égalité des premier et deuxième codes dynamiques, d'un message d'autorisation pour réaliser la transaction, ce procédé étant mis en œuvre dans un équipement d'interface entre le réseau et le serveur configuré pour vérifier la validité d'un code statique de sécurité. L'invention vise aussi un système de vérification d'un code de sécurité comportant : - une carte à microcircuit comportant, un code statique de sécurité et un écran pour afficher un code dynamique de sécurité généré par cette carte pour réaliser une transaction ; - un serveur de vérification de code dynamique de sécurité selon ce deuxième aspect de l'invention apte à vérifier la validité du code dynamique de sécurité généré par ladite carte et à envoyer un message d'autorisation de la transaction à un serveur apte à réaliser la transaction, uniquement lorsque la validité dudit code dynamique a été vérifiée.Correlatively, the invention relates to a security dynamic code verification method comprising: a step of receiving, in a communication network, transaction data comprising an identifier and a first dynamic security code generated by a device associated with this identifying from a time data or a counter the number of first dynamic security codes generated by this device, the transaction data being intended for a server configured to check the validity of a static security code to authorize or refuse the transaction; a step of generating a second dynamic security code from the identifier and a time data or a counter of the number of second dynamic security codes generated by the module for this identifier; a step of comparing the first and second dynamic security codes; a step of sending, to a server capable of carrying out the transaction, and only if the first and second dynamic codes are equal, an authorization message for carrying out the transaction, this method being implemented in an interface equipment between the network and the server configured to check the validity of a static security code. The invention also relates to a system for verifying a security code comprising: a microcircuit card comprising a static security code and a screen for displaying a dynamic security code generated by this card to perform a transaction; a dynamic security code verification server according to this second aspect of the invention able to verify the validity of the dynamic security code generated by said card and to send an authorization message of the transaction to a server capable of carrying out the transaction, only when the validity of said dynamic code has been verified.

Dans un mode de réalisation ce système comporte : - un terminal permettant à un utilisateur de se connecter au serveur pour réaliser la transaction, le terminal comportant une interface homme-machine permettant audit utilisateur de saisir les données de ladite transaction dont le code dynamique de sécurité généré par la carte pour cette transaction ; - ledit serveur pour réaliser la transaction étant apte à transmettre ces données de transaction au serveur de vérification de code dynamique de sécurité selon le protocole ISO 8583 et à recevoir selon ce protocole un message d'autorisation de ladite transaction en provenance de ce serveur.In one embodiment, this system comprises: a terminal enabling a user to connect to the server to carry out the transaction, the terminal comprising a human-machine interface enabling said user to enter the data of said transaction whose dynamic security code generated by the card for this transaction; said server for carrying out the transaction being able to transmit these transaction data to the dynamic security code verification server according to the ISO 8583 protocol and to receive according to this protocol an authorization message for said transaction from this server.

Dans un mode particulier de réalisation, les différentes étapes du procédé de vérification d'un code dynamique de sécurité selon le premier aspect ou le deuxième aspect de l'invention sont déterminées par des instructions de programmes d'ordinateurs.In a particular embodiment, the various steps of the verification method of a dynamic security code according to the first aspect or the second aspect of the invention are determined by computer program instructions.

En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en œuvre dans un serveur ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d’un procédé de vérification d'un code dynamique de sécurité tel que décrit ci-dessus.Consequently, the invention also relates to a computer program on an information carrier, this program being capable of being implemented in a server or more generally in a computer, this program comprising instructions adapted to the implementation of performing steps of a method for verifying a dynamic security code as described above.

Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de codes source, codes objet, ou de codes intermédiaires entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus.This program can use any programming language, and be in the form of source codes, object codes, or intermediate codes between source code and object code, such as in a partially compiled form, or in any other desirable shape. The invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above.

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, RAM, PROM, EPROM, CD ROM, DVD ou un disque dur. 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 l'invention peut être en particulier téléchargé sur un réseau de type Internet.The information carrier may be any entity or device capable of storing the program. For example, the medium may include storage means, such as a ROM, RAM, PROM, EPROM, CD ROM, DVD or hard drive. On the other hand, the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can be downloaded in particular on an Internet type network.

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.Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

Brève description des dessinsBrief description of the drawings

Des caractéristiques et avantages particuliers de la présente invention ressortiront de la description détaillée faite aux figures dans lesquelles : - la figure 1 représente un dispositif permettant d'effectuer des transactions, en l'espèce une carte à microcircuit ; - la figure 2 représente un premier système de vérification de code de sécurité conforme à mode de réalisation de l'invention ; - la figure 3 représente sous forme d'organigramme les principales étapes d'un procédé de vérification de code de dynamique de sécurité conforme à mode de réalisation de l'invention ; - la figure 4 représente un deuxième système de vérification de code de sécurité conforme à mode de réalisation de l'invention ; - la figure 5 représente sous forme d'organigramme des étapes mises en œuvre par un module d'interface du système de la figure 4 ; - les figures 6 et 7 représentent le système de vérification de code de sécurité de la figure 4 selon deux architectures alternatives ; - la figure 8 représente sous forme d'organigramme les principales étapes d'un procédé de vérification de code de dynamique de sécurité conforme à autre mode de réalisation de l'invention ; - la figure 9 représente une table pouvant être utilisée par un serveur de vérification de code dynamique de sécurité ; - la figure 10 représente sous forme d'organigramme des étapes mises en œuvre par un serveur de vérification de code dynamique de sécurité qui utilise la table de la figure 9 ; - la figure 11 représente une autre table pouvant être utilisée par un serveur de vérification de code dynamique de sécurité ; - la figure 12 représente sous forme d'organigramme des étapes mises en œuvre par un serveur de vérification de code dynamique de sécurité qui utilise la table de la figure 11.Particular features and advantages of the present invention will emerge from the detailed description given in the figures in which: FIG. 1 represents a device making it possible to carry out transactions, in this case a microcircuit card; FIG. 2 represents a first security code verification system according to an embodiment of the invention; FIG. 3 represents in flowchart form the main steps of a security dynamic code verification method according to an embodiment of the invention; FIG. 4 represents a second security code verification system according to an embodiment of the invention; FIG. 5 represents in flowchart form the steps implemented by an interface module of the system of FIG. 4; FIGS. 6 and 7 represent the security code verification system of FIG. 4 according to two alternative architectures; FIG. 8 represents in flowchart form the main steps of a security dynamic code verification method according to another embodiment of the invention; FIG. 9 represents a table that can be used by a security dynamic code verification server; FIG. 10 represents in flowchart form the steps implemented by a security dynamic code verification server which uses the table of FIG. 9; FIG. 11 represents another table that can be used by a security dynamic code verification server; FIG. 12 represents in flowchart form the steps implemented by a security dynamic code verification server which uses the table of FIG. 11.

Description détaillée d'un premier mode de réalisation de l'inventionDetailed description of a first embodiment of the invention

Ce mode de réalisation est décrit dans le contexte particulier d'une application financière, plus précisément d'une application de paiement en ligne.This embodiment is described in the particular context of a financial application, specifically an online payment application.

La figure 1 représente un dispositif 1000 permettant d'effectuer des transactions en ligne.Figure 1 shows a device 1000 for performing online transactions.

Dans les modes de réalisation décrits ci-après, le dispositif 1000 est une carte à microcircuit (en anglais smartcard) de paiement. En variante, le dispositif 1000 peut être constitué par un terminal, par exemple de téléphonie mobile, mettant en œuvre une application permettant de réaliser des transactions.In the embodiments described below, the device 1000 is a smart card (in English smartcard) payment. Alternatively, the device 1000 may be constituted by a terminal, for example mobile telephony, implementing an application to perform transactions.

Dans le mode de réalisation décrit ici, la carte à microcircuit 1000 est conforme à la norme IS07816. Elle comporte en particulier une interface à contacts 1300. La carte à microcircuit 1000 est par exemple au format ID-1 (dimensions : 85,60 x53,98 mm) et d'épaisseur 0.76 mm environ. Elle est par exemple en matière plastique.In the embodiment described here, the microcircuit card 1000 is in accordance with the IS07816 standard. In particular, it comprises a contact interface 1300. The microcircuit card 1000 is, for example, in ID-1 format (dimensions: 85.60 × 53.98 mm) and is approximately 0.76 mm thick. It is for example plastic.

De façon connue, le nom NOM du titulaire de la carte à microcircuit, un numéro de compte bancaire PAN (par exemple à 16 chiffres), une date d'expiration EXP sont imprimés et/ou embossés sur la carte à microcircuit 1000. La carte comporte en outre un code statique de sécurité CW, celui-ci pouvant être ou ne pas être imprimé sur la carte. Pour plus de renseignements sur : - le code statique de sécurité CW, l'homme du métier peut consulter le document [REFCW] ; - le numéro de compte bancaire PAN, l'homme du métier peut consulter le document [REFPAN].In known manner, the name of the card holder NIC microcircuit, a bank account number PAN (for example 16 digits), expiration date EXP are printed and / or embossed on the microcircuit card 1000. The card furthermore includes a security code CW which may or may not be printed on the card. For more information on: - the security code CW, the person skilled in the art can consult the document [REFCW]; the PAN bank account number, the person skilled in the art can consult the document [REFPAN].

Cette carte à microcircuit 1000 comporte un contrôleur 1200 comportant un module apte à fournir la date courante, par exemple une horloge CLK, ce contrôleur 1200 étant apte à calculer un code dynamique de sécurité DCCVi en appliquant une fonction cryptographique secrète à des paramètres comportant le numéro de compte bancaire PAN et un paramètre temporel.This microcircuit card 1000 comprises a controller 1200 comprising a module capable of supplying the current date, for example a CLK clock, this controller 1200 being able to calculate a dynamic security code DCCVi by applying a secret cryptographic function to parameters comprising the number bank account and a time parameter.

Dans le mode de réalisation décrit ici, le code dynamique de sécurité DCCVi est varié de façon périodique, selon une période prédéterminée.In the embodiment described here, the dynamic security code DCCVi is varied periodically, according to a predetermined period.

Au contraire, le code statique de sécurité CW est constant dans le temps.On the contrary, the security code CW is constant in time.

La carte à microcircuit 1000 comporte un écran 1100 d'affichage de ce code dynamique de sécurité DCCVi. Cet écran peut comporter par exemple 3 ou 4 zones élémentaires selon la taille de ce code dynamique.The microcircuit card 1000 includes a display 1100 for displaying this dynamic security code DCCVi. This screen may comprise for example 3 or 4 elementary zones depending on the size of this dynamic code.

Dans le mode de réalisation décrit ici, la carte à microcircuit 1000 comporte en outre une batterie non représentée et un bouton poussoir 1400 pour allumer ou éteindre l'écran d'affichage 1100 et donc le code dynamique de sécurité DCCVi. Ce bouton-poussoir ou tout moyen équivalent (bouton capacitif, ...) pour allumer ou éteindre l'écran 1100 est optionnel. L'écran d'affichage 1100 peut se trouver sur la face de la carte à microcircuit 1000 opposée à celle où sont imprimés et/ou embossés le numéro de carte bancaire PAN et la date d'expiration EXP. En variante, ils sont sur la même face.In the embodiment described here, the microcircuit card 1000 further comprises a not shown battery and a push button 1400 for turning on or off the display screen 1100 and therefore the dynamic safety code DCCVi. This push button or any equivalent means (capacitive button, ...) to turn on or off the 1100 screen is optional. The display screen 1100 may be on the face of the microcircuit card 1000 opposite that where are printed and / or embossed the bank card number PAN and EXP expiry date. Alternatively, they are on the same side.

La figure 2 représente un terminal utilisateur 2000 muni d'une interface homme-machine HMI, par exemple un ordinateur personnel, un téléphone intelligent (en anglais smartphone) ou une tablette, un serveur 3000 d'un site Web marchand, le système bancaire 6000 de l'entité émettrice de la carte à microcircuit 1000, et un dispositif 5000 de vérification de code dynamique de sécurité conforme à l'invention.FIG. 2 represents a user terminal 2000 equipped with an HMI human-machine interface, for example a personal computer, a smartphone or a tablet, a server 3000 of a merchant website, the banking system 6000. the entity issuing the microcircuit card 1000, and a security dynamic code verification device 5000 according to the invention.

Dans le mode de réalisation décrit ici, le terminal 2000 accède au site Web marchand 3000 par le réseau Internet ; le site Web marchand 3000, le système bancaire 6000 et le dispositif 5000 de vérification communiquent via un réseau interbancaire 4000.In the embodiment described here, the terminal 2000 accesses the merchant web site 3000 through the Internet; the merchant web site 3000, the banking system 6000 and the verification device 5000 communicate via an interbank network 4000.

Le système bancaire 6000 comporte un module 6100 d'authentification et d'autorisation des transactions bancaires. D'une façon générale, le dispositif 5000 de vérification de code dynamique de sécurité vise à sécuriser le code statique de sécurité CW de la carte à microcircuit 1000.The banking system 6000 includes a module 6100 for authentication and authorization of banking transactions. In general, the security dynamic code verification device 5000 aims at securing the static security code CW of the microcircuit card 1000.

Le serveur 5000 de vérification de code dynamique de sécurité est conforme à l'invention. Il comporte notamment : - un module 5100 apte à obtenir la date courante, soit en utilisant des moyens internes, soit par exemple à partir d'un autre équipement ou d'un autre réseau, par des moyens de communications sans fil ou filaires ; - un module 5200 de communication apte à recevoir des données de transaction bancaires DT(DCCVi) comportant, le numéro de compte bancaire PAN, la date d'expiration EXP de la carte et le premier code dynamique de sécurité DCCVi calculé par la carte à microcircuit 1000 pour une transaction ; - un module 5300 de génération d'un deuxième code dynamique de sécurité DCCV2 pour cette transaction en ligne en utilisant le numéro de compte bancaire PAN, une fonction cryptographique secrète et une donnée temporelle ; - un module 5400 de comparaison des premier et deuxième codes dynamiques de sécurité ; - un module 5800 apte à recevoir le code statique de sécurité CW d'une carte à microcircuit ou à générer ce code statique CW en utilisant le numéro de compte bancaire PAN de la carte, sa date d'expiration EXP et une clef secrète à l'aide d'un algorithme cryptographique ; - le module de communication 5200 étant apte à envoyer au serveur bancaire 6000, et ce uniquement en cas d'identité des premier et deuxième codes dynamiques DCCVi, DCCV2, les données de transaction reçues du serveur 3000 dans lesquelles la code dynamique de sécurité DCCVi est remplacé par le code statique de sécurité CW obtenu par le module 5800.The security dynamic code verification server 5000 is in accordance with the invention. It comprises in particular: a module 5100 capable of obtaining the current date, either by using internal means or, for example, from another equipment or another network, by means of wireless or wired communications; a communication module 5200 capable of receiving bank transaction data DT (DCCVi) including the bank account number PAN, the expiration date EXP of the card and the first dynamic security code DCCVi calculated by the microcircuit card; 1000 for a transaction; a module 5300 for generating a second dynamic security code DCCV2 for this online transaction using the bank account number PAN, a secret cryptographic function and a time data; a module 5400 comparing the first and second dynamic security codes; a module 5800 able to receive the static security code CW of a microcircuit card or to generate this static code CW by using the bank account number PAN of the card, its expiration date EXP and a secret key to the card using a cryptographic algorithm; the communication module 5200 being able to send to the bank server 6000, and only in case of identity of the first and second dynamic codes DCCVi, DCCV2, the transaction data received from the server 3000 in which the dynamic security code DCCVi is replaced by the static security code CW obtained by the 5800 module.

De façon connue, le serveur bancaire 6000 comporte un module 6100 d'authentification et de sécurisation des transactions apte à vérifier le code statique de sécurité CW pour autoriser ou refuser la transaction. Il est fondamental de noter que cette vérification utilise le code statique de sécurité CW de sorte que le serveur bancaire 6000 n'a pas besoin de mettre en œuvre les fonctions de calcul du deuxième code dynamique de sécurité DCCV2.In a known manner, the bank server 6000 includes an authentication and transaction securing module 6100 able to check the security code CW for authorization or refusal of the transaction. It is important to note that this check uses the security code CW so that the bank server 6000 does not need to implement the calculation functions of the second dynamic security code DCCV2.

En référence à la figure 3, nous supposerons qu'un utilisateur se connecte, en utilisant le terminal 2000 au site Web marchand 3000 pour réaliser une transaction, et que cet utilisateur saisit (étape E10) dans une page Web émise par le site marchand 3000 ou par le serveur 5000 des données de transaction DT(DCCVi) comportant: - les informations PAN de la carte 1000 ; - la date EXP d'expiration de la carte 1000 ; et - le code dynamique de sécurité DCCVi affiché sur l'écran 1100 au moment de cette transaction.Referring to Figure 3, we will assume that a user logs on, using the terminal 2000 to the merchant web site 3000 to complete a transaction, and that user enters (step E10) into a web page issued by the merchant site 3000 or by the server 5000 transaction data DT (DCCVi) comprising: the PAN information of the card 1000; EXP expiry date of the card 1000; and the dynamic security code DCCVi displayed on the screen 1100 at the time of this transaction.

Ces données de transaction DT(DCCVi) sont transmises par le site marchand 3000 au serveur 5000 de vérification, dans une requête d'autorisation de transaction au format IS08583. Le serveur 5000 reçoit cette requête au cours d'une étape E20. L'utilisation du format IS08583 n'est obligatoire ni pour les communications entrantes ni pour les communications sortantes du serveur 5000 ; un autre format peut être utilisé.This transaction data DT (DCCVi) is transmitted by the merchant site 3000 to the verification server 5000, in a transaction authorization request in the format IS08583. The server 5000 receives this request during a step E20. The use of IS08583 format is not required for incoming or outgoing communications from the 5000 server; another format can be used.

Au cours, d'une étape E30, le serveur de vérification 5000 génère un deuxième code dynamique DCCV2 pour la transaction, à partir des données reçues à l'étape E20 et d'un paramètre temporel.During a step E30, the verification server 5000 generates a second dynamic code DCCV2 for the transaction, from the data received in step E20 and a time parameter.

Au cours d'une étape E40, le serveur de vérification 5000 vérifie si ce deuxième code dynamique DCCV2 est égal au premier code dynamique DCCVi calculé par la carte à microcircuit 1000.During a step E40, the verification server 5000 checks whether this second dynamic code DCCV2 is equal to the first dynamic code DCCVi calculated by the microcircuit card 1000.

Si ces codes dynamiques sont égaux, le serveur de vérification 5000 envoie, au cours d'une étape E50, au serveur bancaire 6000, les données de transaction reçues du serveur 3000 dans lesquelles le code dynamique de sécurité DCCVi est remplacé par le code statique de sécurité CW de la carte 1000. Ces données de transaction modifiées sont notées DT(CW). De façon connue, l'établissement bancaire qui opère le serveur bancaire 6000 peut être identifié par un code BIN correspondant aux premiers chiffres du numéro PAN.If these dynamic codes are equal, the verification server 5000 sends, during a step E50, to the bank server 6000, the transaction data received from the server 3000 in which the dynamic security code DCCVi is replaced by the static code of CW security of the card 1000. This modified transaction data is denoted DT (CW). In a known manner, the bank that operates the bank server 6000 can be identified by a BIN code corresponding to the first digits of the PAN number.

Dans le mode de réalisation décrit ici, si les codes dynamiques sont différents, le serveur de vérification 5000 envoie un message de refus de la transaction au serveur du site marchand 3000 au cours d'une étape E45. En variante, le serveur de vérification 5000 peut envoyer au serveur bancaire 6000 des données de transaction modifiées DT(ÇW) avec un code de sécurité statique CW faux pour déclencher le refus de la transaction par le serveur bancaire.In the embodiment described here, if the dynamic codes are different, the verification server 5000 sends a refusal message of the transaction to the server of the merchant site 3000 during a step E45. Alternatively, the verification server 5000 can send to the bank server 6000 modified transaction data DT (ÇW) with a false CW security code to trigger the refusal of the transaction by the bank server.

Le module 6100 d'authentification et de sécurisation des transactions du serveur bancaire 6000 vérifie les données de transaction DT(CW) reçues du serveur de vérification 5000 au cours d'une étape E60 pour autoriser ou refuser la transaction.The authentication and transaction securing module 6100 of the bank server 6000 checks the transaction data DT (CW) received from the verification server 5000 during a step E60 to allow or refuse the transaction.

Si le serveur bancaire 6000 autorise la transaction, il envoie un message d'autorisation au serveur du site marchand 3000 au cours d'une étape E70 qui délivre les biens ou services correspondants à l'utilisateur.If the bank server 6000 authorizes the transaction, it sends an authorization message to the server of the merchant site 3000 during a step E70 which delivers the goods or services corresponding to the user.

Si le serveur bancaire 6000 refuse la transaction, il envoie un message de refus de transaction au serveur du site marchand 3000 au cours d'une étape E80. L'autorisation ou le refus est envoyée au serveur du site marchand dans un message de réponse d'autorisation au format ISO 8583.If the bank server 6000 refuses the transaction, it sends a transaction refusal message to the server of the merchant site 3000 during a step E80. The authorization or refusal is sent to the merchant site server in an ISO 8583 format response response message.

Description détaillée d'un deuxième mode de réalisation de l'inventionDETAILED DESCRIPTION OF A SECOND EMBODIMENT OF THE INVENTION

La figure 4 représente un système 10 de vérification de code de sécurité comportant : - un serveur 5000 de vérification de code dynamique de sécurité et un serveur bancaire 6000 tels que décrits précédemment en référence aux figures 2 et 3 ; et - un module d'interface 5500 conforme à l'invention.FIG. 4 represents a security code verification system 10 comprising: a security dynamic code verification server 5000 and a bank server 6000 as described above with reference to FIGS. 2 and 3; and an interface module 5500 according to the invention.

Ce module d'interface 5500 est apte à recevoir des données de transaction DT d'un serveur de site marchand 3000 comportant soit un code statique de sécurité CW soit un code dynamique de sécurité DCWi, et à décider du traitement de ces données de transaction en fonction du critère statique/dynamique du code de sécurité.This interface module 5500 is able to receive transaction data DT from a merchant site server 3000 comprising either a security code CW or a dynamic security code DCWi, and to decide on the processing of these transaction data into according to the static / dynamic criterion of the security code.

Plus, précisément, en référence à la figure 5, le module d'interface 5500 détermine au cours d'une étape F10 si le code de sécurité compris dans les données de transaction DT est un code statique de sécurité CW ou un code dynamique de sécurité DCWi ; et - Si le code est un code dynamique de sécurité, le module d'interface transmet ces données de transaction DT(DCWi) au serveur 5000 de vérification de code dynamique de sécurité pour que celui-ci vérifie le code dynamique de sécurité DCCVi (étapes E30 et E40) et transmette les données de transaction DT(CW) comportant le code statique de sécurité CW au serveur 6000 (étape E50) ; - Si le code est un code statique de sécurité, le module d'interface transmet ces données de transaction DT(CW) au serveur bancaire 6000 pour que celui-ci réalise directement le traitement décrit en référence aux étapes E60 à E80 de la figure 3.More specifically, with reference to FIG. 5, the interface module 5500 determines during a step F10 whether the security code included in the transaction data DT is a security code CW or a dynamic security code DCWi; and if the code is a dynamic security code, the interface module transmits these transaction data DT (DCWi) to the security dynamic code verification server 5000 for it to check the dynamic security code DCCVi (steps E30 and E40) and transmits the transaction data DT (CW) including the security code CW to the server 6000 (step E50); If the code is a static security code, the interface module transmits these transaction data DT (CW) to the bank server 6000 so that it directly realizes the processing described with reference to the steps E60 to E80 of FIG. .

Description détaillée d'un troisième et d'un quatrième modes de réalisation de l'inventionDetailed description of third and fourth embodiments of the invention

Dans le mode de réalisation de la figure 4, le module d'interface 5500 et le serveur 5000 de vérification de code dynamique de sécurité sont implémentés dans des équipements indépendants du serveur bancaire 6000.In the embodiment of FIG. 4, the interface module 5500 and the security dynamic code verification server 5000 are implemented in equipment independent of the bank server 6000.

Dans un autre mode de réalisation de l'invention représenté à la figure 6, le module d'interface 5500 reste un équipement indépendant du serveur bancaire 6000 mais le serveur 5000 de vérification de code dynamique de sécurité est implémenté dans le serveur bancaire.In another embodiment of the invention shown in FIG. 6, the interface module 5500 remains an independent equipment of the bank server 6000 but the security dynamic code verification server 5000 is implemented in the banking server.

Dans un autre mode de réalisation de l'invention représenté à la figure 7, le module d'interface 5500 et le serveur 5000 de vérification de code dynamique de sécurité sont implémentés dans le serveur bancaire 6000.In another embodiment of the invention shown in FIG. 7, the interface module 5500 and the security dynamic code verification server 5000 are implemented in the bank server 6000.

Dans ces deux modes de réalisation, il est préférable que les fonctions du module d'interface 5500 et du serveur 5000 de vérification du code dynamique de sécurité ne soient pas intégrées dans le module 6100 d'authentification et de sécurisation des transactions en charge de la vérification du code statique de sécurité statique CW.In these two embodiments, it is preferable that the functions of the interface module 5500 and the server 5000 for verifying the dynamic security code are not integrated in the authentication and transaction security module 6100 in charge of the verification of static static security code CW.

Description détaillée d'un cinquième mode de réalisation de l'inventionDETAILED DESCRIPTION OF A FIFTH EMBODIMENT OF THE INVENTION

Dans le premier mode de réalisation décrit en référence aux figures 1 à 3 et dans le deuxième mode de réalisation décrit en référence aux figures 4 et 5, lorsque le serveur 5000 de vérification de code dynamique de sécurité détermine que les codes de sécurité dynamiques DCWi et DCW2 sont égaux (résultat du test E40 positif), il envoie les données de transaction (étape E50) au serveur bancaire 6000 en remplaçant le code dynamique de sécurité DCCVi par le code statique de sécurité CW pour vérification de ce code par le serveur bancaire 6000.In the first embodiment described with reference to FIGS. 1 to 3 and in the second embodiment described with reference to FIGS. 4 and 5, when the security dynamic code verification server 5000 determines that the dynamic security codes DCWi and DCW2 are equal (result of the test E40 positive), it sends the transaction data (step E50) to the bank server 6000 by replacing the dynamic security code DCCVi by the security code CW for verification of this code by the bank server 6000 .

Dans un cinquième mode de réalisation de l'invention représenté en référence à la figure 8 dans lequel il n'est pas nécessaire d'impliquer le serveur bancaire 6000, le serveur 5000 envoie directement un message d'autorisation au serveur du site marchand 3000 au cours d'une étape E46 pour que celui-ci délivre les biens ou services correspondants à l'utilisateur.In a fifth embodiment of the invention shown with reference to FIG. 8 in which it is not necessary to involve the bank server 6000, the server 5000 sends an authorization message directly to the server of the merchant site 3000. during a step E46 so that it delivers the goods or services corresponding to the user.

Description détaillée d'un sixième mode de réalisation de l'inventionDetailed description of a sixth embodiment of the invention

Dans un mode particulier de réalisation de l'invention, le serveur 5000 de vérification de code dynamique de sécurité est également apte à vérifier le code statique de sécurité CW associé à un compte bancaire PAN. A cet effet, et comme représenté à la figure 9, le serveur 5000 gère une table 5600 dans laquelle il mémorise, pour chaque numéro de compte bancaire PAN, un mode de vérification « S/D » indiquant si la vérification d'une transaction doit porter sur le code statique de sécurité CW (mode « S ») ou sur le code dynamique de sécurité DCWi (mode « D »). Le serveur 5000 mémorise dans cette table 5600, le code dynamique de sécurité CW au moins pour les cartes à microcircuits 1000 pour lesquelles le mode de vérification est le mode statique « S ».In a particular embodiment of the invention, the security dynamic code verification server 5000 is also able to check the static security code CW associated with a PAN bank account. For this purpose, and as shown in FIG. 9, the server 5000 manages a table 5600 in which it stores, for each bank account number PAN, a verification mode "S / D" indicating whether the verification of a transaction must use the security code CW (mode "S") or the dynamic security code DCWi (mode "D"). The server 5000 stores in this table 5600, the dynamic security code CW at least for the microcircuit cards 1000 for which the verification mode is the static mode "S".

Le mode de vérification S/D peut être modifié par le serveur 5000 sur réception d'un message en provenance d'un serveur 7000 de gestion de la sécurisation représenté à la figure 2.The S / D verification mode may be modified by the server 5000 upon receipt of a message from a security management server 7000 shown in FIG. 2.

Dans le mode de réalisation décrit ici, le détenteur de la carte à microcircuit 1000 peut contacter le serveur 7000 de gestion de la sécurisation pour lui demander que la vérification de ses transactions, par défaut réalisée en utilisant le code dynamique de sécurité DCCVi, utilise au moins pendant un certain temps, le code statique de sécurité CW. L'utilisateur peut faire une telle demande en particulier lorsque l'afficheur 1100 de la carte à microcircuit 1000 est hors d'usage ou lorsque la batterie de cette carte est insuffisamment chargée.In the embodiment described here, the holder of the microcircuit card 1000 can contact the security management server 7000 to ask him that the verification of his transactions, by default carried out using the dynamic security code DCCVi, uses the less for a while, the static security code CW. The user can make such a request especially when the display 1100 of the microcircuit card 1000 is out of use or when the battery of this card is insufficiently loaded.

On notera que dans de telles circonstances, l'utilisateur peut également demander au serveur 7000 de générer un code statique de sécurité CW* à durée de vie limitée comme décrit ultérieurement en référence au septième mode de réalisation de l'invention.It will be appreciated that in such circumstances, the user may also instruct the server 7000 to generate a limited life security code CW * as later described with reference to the seventh embodiment of the invention.

Dans le mode particulier de réalisation décrit ici, le serveur 7000 de gestion de la sécurisation possède des moyens pour authentifier l'utilisateur pour prendre en compte le changement de mode de vérification et le transmettre au serveur 5000 de vérification de code dynamique. Ces moyens d'authentification peuvent notamment utiliser un mot de passe, un mécanisme de défi ou des fonctions cryptographiques.In the particular embodiment described here, the security management server 7000 has means for authenticating the user to take into account the change of verification mode and transmit it to the dynamic code verification server 5000. These authentication means may in particular use a password, a challenge mechanism or cryptographic functions.

Dans un mode particulier de réalisation, l'utilisateur peut, après authentification, communiquer son code statique de sécurité CW au serveur 7000 pour que celui-ci le transmette au serveur 5000 de vérification de code dynamique de sécurité.In a particular embodiment, the user can, after authentication, communicate his static security code CW to the server 7000 so that it transmits it to the server 5000 for verifying dynamic security code.

Dans le mode particulier de réalisation décrit ici, le mode de vérification est par défaut le mode de vérification « D » basé sur le code dynamique de sécurité DCCVi et le basculement dans le mode de vérification statique n'est que temporaire. A cet effet, dans le mode de réalisation décrit ici, la table 5600 comporte une colonne « TL » dans laquelle le serveur 5000 de vérification de code dynamique mémorise un critère permettant de déterminer si la vérification du code statique CW est toujours autorisée.In the particular embodiment described here, the verification mode is by default the verification mode "D" based on the dynamic security code DCCVi and the switchover in the static verification mode is only temporary. For this purpose, in the embodiment described here, the table 5600 includes a "TL" column in which the dynamic code verification server 5000 stores a criterion for determining whether the verification of the static code CW is still allowed.

Ce critère peut par exemple être une date limite fournie au serveur 5000 par le serveur 7000 de gestion de la sécurisation ; une telle date peut aussi être calculée par le serveur 5000 à partir de la date de réception du message en provenance de ce serveur 7000.This criterion may for example be a deadline provided to the server 5000 by the security management server 7000; such a date can also be calculated by the server 5000 from the date of receipt of the message from this server 7000.

En variante, le serveur 5000 de vérification de code dynamique de sécurité peut réaliser des vérifications basées sur le code statique de sécurité CW : - jusqu'à recevoir un message prédéterminé du serveur 7000 de gestion de la sécurisation ; ou - tant qu'un nombre prédéterminé de transactions n'a pas été dépassé ; ou - tant qu'un montant cumulé total de transactions n'a pas été atteint.Alternatively, the security dynamic code verification server 5000 may perform checks based on the security code CW: - until receiving a predetermined message from the security management server 7000; or - as long as a predetermined number of transactions has not been exceeded; or - as long as a cumulative total amount of transactions has not been reached.

La figure 10 représente sous forme d'organigramme un procédé mis en œuvre par le serveur 5000 de vérification de code dynamique de sécurité dans ce mode de réalisation.Figure 10 illustrates in flowchart form a method implemented by the security dynamic code verification server 5000 in this embodiment.

Au cours d'une étape G10, le serveur 5000 initialise le mode de vérification au mode dynamique « D » pour tous les comptes bancaires PAN.During a step G10, the server 5000 initializes the verification mode to the dynamic mode "D" for all PAN bank accounts.

Si le serveur 5000 reçoit (étape G20) un message MSG du serveur 7000 pour un compte PAN, il bascule le mode de vérification au mode statique.If the server 5000 receives (step G20) a message MSG from the server 7000 for a PAN account, it switches the verification mode to static mode.

Dans cet exemple le code statique de sécurité CW pour ce compte PAN est communiqué au serveur 5000 dans le message MSG.In this example the static security code CW for this PAN account is communicated to the server 5000 in the MSG message.

En variante, le serveur 5000 calcule le code statique de sécurité CW comme décrit précédemment en utilisant son module 5800 en utilisant le numéro de compte bancaire PAN de la carte, sa date d'expiration EXP et une clef secrète à l'aide d'un algorithme cryptographique.Alternatively, the server 5000 calculates the static security code CW as previously described using its module 5800 using the bank account number PAN of the card, its expiration date EXP and a secret key using a cryptographic algorithm.

La table 5600 est mise à jour avec le code statique de sécurité reçu du serveur 7000 ou calculé par le serveur 5000 et avec le critère TL permettant de déterminer si la vérification basée sur le code statique est autorisée.The table 5600 is updated with the static security code received from the server 7000 or calculated by the server 5000 and with the criterion TL making it possible to determine whether the verification based on the static code is authorized.

Comme mentionné précédemment ce critère peut être constitué par une durée reçue du serveur 7000 ou lié à la réception d'un message du serveur 7000 pour rebasculer dans le mode dynamique « D », un montant total cumulé ou nombre maximum de transactions autorisées.As mentioned previously, this criterion can be constituted by a duration received from the server 7000 or linked to the reception of a message from the server 7000 to switch back to the dynamic mode "D", a cumulative total amount or maximum number of authorized transactions.

Si au cours d'une étape G30, le serveur 5000 est sollicité pour vérifier une transaction pour un compte bancaire PAN, il vérifie dans la table 5600 (étape G40), si le mode de vérification pour ce compte PAN est le mode statique « S » et le critère TL pour réaliser des vérifications sur la base du code statique de sécurité CW est vérifié.If during a step G30, the server 5000 is requested to verify a transaction for a bank account PAN, it checks in the table 5600 (step G40), if the verification mode for this account PAN is the static mode "S And the TL criterion for performing checks on the basis of the security code CW is verified.

Si ces deux conditions sont réunies, le serveur 5000 de vérification de code dynamique de sécurité vérifie la transaction sur la base du code statique de sécurité CW mémorisé dans la table 5600 (étape G50).If these two conditions are met, the security dynamic code verification server 5000 checks the transaction on the basis of the security code CW stored in the table 5600 (step G50).

Sinon, le serveur 5000 calcule un code dynamique de sécurité DCCV2 et vérifie la transaction sur la base de ce code dynamique de sécurité (étape G60). En cas de succès, et selon le mode de réalisation de l'invention, le serveur 5000 : - envoie directement un message au serveur 3000 du site marchand pour valider la transaction ; ou - transmet les données de transactions après avoir remplacé le code dynamique de sécurité DCCVi par avec le code statique de sécurité CW au serveur bancaire 6000.Otherwise, the server 5000 calculates a dynamic security code DCCV2 and verifies the transaction on the basis of this dynamic security code (step G60). If successful, and according to the embodiment of the invention, the server 5000: - sends a message directly to the server 3000 of the merchant site to validate the transaction; or - transmits the transaction data after replacing the dynamic security code DCCVi by with the security code CW to the security server 6000.

Dans ce mode de réalisation, les architectures décrites aux figures 2, 4, 6 et 7 peuvent être utilisées : le serveur 5000 de vérification de code dynamique de sécurité peut être ou non associé à un module d'interface 5500, chacune des entités 5000 et 5500 pouvant éventuellement être implémentée dans le serveur bancaire 6000.In this embodiment, the architectures described in FIGS. 2, 4, 6 and 7 may be used: the security dynamic code verification server 5000 may or may not be associated with an interface module 5500, each of the entities 5000 and 5500 possibly being implemented in the bank server 6000.

Description détaillée d'un septième mode de réalisation de l'inventionDetailed description of a seventh embodiment of the invention

Dans un mode particulier de réalisation, et comme représenté à la figure 11, le serveur 5000 de vérification de code dynamique de sécurité mémorise dans une table 5700, au moins pour certains comptes bancaires PAN, un code statique de sécurité CW* à durée limitée, et en association avec ce code, un critère TL permettant de déterminer jusqu'à quand ce code statique de sécurité CW* peut être valablement utilisé.In a particular embodiment, and as shown in FIG. 11, the security dynamic code verification server 5000 stores in a table 5700, at least for certain PAN bank accounts, a limited duration security code CW *, and in association with this code, a TL criterion for determining until when this security code CW * can be validly used.

Ce critère de durée de vie TL peut notamment être : - un nombre maximum de transactions ; - associée à un montant maximum cumulé de transactions ; ou - une date limite d'utilisation.This TL lifetime criterion can be: - a maximum number of transactions; - associated with a cumulative maximum amount of transactions; or - a deadline for use.

Dans le mode de réalisation décrit ici, le détenteur de la carte à microcircuit 1000 peut contacter le serveur 7000 de gestion de la sécurisation pour lui demander, après authentification, de générer un code statique de sécurité CW* à durée de vie limitée au moyen d'une clef cryptographique par exemple.In the embodiment described here, the holder of the microcircuit card 1000 can contact the security management server 7000 to ask him, after authentication, to generate a lifetime security code CW * with a limited lifetime by means of a cryptographic key for example.

La génération du code statique de sécurité CW* à durée de vie limitée peut éventuellement nécessiter une interaction avec le détenteur de la carte à microcircuit 1000, au moyen de son terminal via un site Web ou par un serveur vocal par exemple.The generation of the limited-life security code CW * may possibly require interaction with the holder of the microcircuit card 1000, by means of his terminal via a website or by a voice server for example.

Le code statique de sécurité CW* à durée de vie limitée est ensuite communiqué au détenteur de la carte à microcircuit 1000, par exemple par un serveur vocal, par SMS, par email ou via une interface Web de ce serveur 7000 affichée sur l'écran du terminal utilisateur 2000.The lifetime limited security code CW * is then communicated to the holder of the microcircuit card 1000, for example by a voice server, by SMS, by email or via a Web interface of this server 7000 displayed on the screen. of the user terminal 2000.

Dans un mode particulier de réalisation, le terminal utilisateur 2000 possède une application et un module apte à communiquer le code statique de sécurité CW* à durée de vie limitée à des moyens de communication à champ proche de la carte à microcircuit 1000 et le code CW* est présenté à l'utilisateur sur l'écran 1100 de la carte. La carte peut éventuellement utiliser un bouton pour permettre l'établissement de cette communication à champ proche.In a particular embodiment, the user terminal 2000 has an application and a module capable of communicating the lifetime limited security code CW * to near-field communication means of the microcircuit card 1000 and the code CW * is presented to the user on the 1100 screen of the card. The card may optionally use a button to enable the establishment of this near-field communication.

En référence à la figure 12, ce code statique de sécurité CW* à durée de vie limitée peut être reçu par le serveur 5000 de vérification de code dynamique de sécurité 5000 du serveur 7000 au cours d'une étape H10.With reference to FIG. 12, this limited life security code CW * can be received by the security dynamic code verification server 5000 of the server 7000 7000 during a step H10.

Dans le mode de réalisation décrit ici, le serveur 5000 de vérification de code dynamique de sécurité obtient l'information TL de durée de vie au cours d'une étape H20. En pratique, cette information peut être calculée par le serveur 5000 ou par le serveur 7000 de gestion de la sécurisation, préférentiellement à partir de règles de calcul propres au détenteur de la carte à microcircuit 1000 et mémorisées par le serveur 7000.In the embodiment described here, the security dynamic code verification server 5000 obtains the lifetime information TL during a step H20. In practice, this information can be calculated by the server 5000 or by the security management server 7000, preferably from calculation rules specific to the holder of the microcircuit card 1000 and stored by the server 7000.

Lorsque le serveur 5000 de vérification de code dynamique de sécurité est sollicité pour vérifier une transaction (étape H30), il commence, dans ce mode de réalisation par générer un code dynamique de sécurité DCCV2 (étape H40) et à vérifier si le code de sécurité CS reçu dans les données de transactions est identique à ce code (étape H50).When the security dynamic code verification server 5000 is requested to verify a transaction (step H30), it begins, in this embodiment, to generate a dynamic security code DCCV2 (step H40) and to check whether the security code CS received in the transaction data is identical to this code (step H50).

Si tel est le cas, en fonction du mode de réalisation de l'invention, le serveur 5000 (étape H60) : - envoie directement un message au serveur 3000 du site marchand pour valider la transaction ; ou - transmet les données de transaction au serveur bancaire 6000 après avoir remplacé le code dynamique de sécurité CS par avec le code statique de sécurité CW de la carte 1000.If this is the case, depending on the embodiment of the invention, the server 5000 (step H60): sends a message directly to the server 3000 of the merchant site to validate the transaction; or - transmits the transaction data to the bank server 6000 after replacing the dynamic security code CS with the static security code CW of the card 1000.

Lorsque le code de sécurité dynamique DCCV2 calculé à l'étape H40 est différent du code de sécurité CS compris dans les données de transaction, le serveur 5000 vérifie (étape H70) si ce code de sécurité correspond au code statique de sécurité CW* à durée de vie limitée pour ce compte PAN et, en fonction du paramètre TL, si ce code est encore valable. Bien entendu, il est possible de commencer par vérifier à l'étape H50 si le code de sécurité CS correspond au code statique de sécurité CW* à durée de vie limitée, et si ce n'est pas le cas, à l'étape H70 si si le code de sécurité CS correspond au code dynamique de sécurité DCCV2 généré à l'étape H40.When the dynamic security code DCCV2 calculated in step H40 is different from the security code CS included in the transaction data, the server 5000 checks (step H70) whether this security code corresponds to the security code CW * duration limited life for this PAN account and, depending on the TL parameter, whether this code is still valid. Of course, it is possible to start by checking in step H50 whether the security code CS corresponds to the security code CW * with limited lifetime, and if it is not the case, in step H70 if if the security code CS corresponds to the dynamic security code DCCV2 generated in step H40.

Quoiqu'il en soit, en cas de succès de cette double vérification, le serveur 5000 exécute l'étape H60 précédemment décrite pour autoriser la transaction, soit directement, soit indirectement.Be that as it may, in case of success of this double check, the server 5000 executes the step H60 previously described to authorize the transaction, either directly or indirectly.

Sinon, le serveur 5000 de vérification du code de sécurité dynamique envoie (étape H80) un message au serveur 3000 du site marchand pour refuser la transaction. En variante, et comme mentionné précédemment, le serveur de vérification 5000 peut envoyer au serveur bancaire 6000 des données de transaction modifiées DT(£YY) avec un code de sécurité statique CW faux pour déclencher le refus de la transaction par le serveur bancaire. L'utilisation d'un code statique de sécurité CW* à durée de vie limitée peut notamment permettre au détenteur de la carte à microcircuit 1000 de prêter sa carte pour une durée limitée, un nombre de transactions ou un montant maximum de transactions.Otherwise, the dynamic security code verification server 5000 sends (step H80) a message to the server 3000 of the merchant site to refuse the transaction. Alternatively, and as mentioned previously, the verification server 5000 may send the bank server 6000 modified transaction data DT (£ YY) with a false security code CW false to trigger the refusal of the transaction by the bank server. The use of a lifetime limited security code CW * may in particular allow the holder of the microcircuit card 1000 to lend his card for a limited time, a number of transactions or a maximum amount of transactions.

Comme dans les autres modes de réalisation, les architectures décrites aux figures 2, 4, 6 et 7 peuvent être utilisées : le serveur 5000 de vérification de code dynamique de sécurité peut être ou non associé à un module d'interface 5500, chacune des entités 5000 et 5500 pouvant éventuellement être implémentée dans le serveur bancaire 6000.As in the other embodiments, the architectures described in FIGS. 2, 4, 6 and 7 may be used: the security dynamic code verification server 5000 may or may not be associated with an interface module 5500, each of the entities 5000 and 5500 can possibly be implemented in the bank server 6000.

Variantes possibles communes à tous les modes de réalisation L'invention a été décrite ci-dessus dans le contexte particulier d'une application de paiement en ligne. Elle peut s'appliquer : - pour d'autres applications financières ; mais aussi - dans d'autres dès lors qu'il s'agit de vérifier un code de sécurité saisi par un utilisateur par exemple pour vérifier un numéro de document d'identification d'identité, un identifiant de sécurité sociale, un code d'ouverture de porte, un code d'accès à un site Web.Possible Variants Common to All Embodiments The invention has been described above in the particular context of an online payment application. It can apply: - for other financial applications; but also - in others when it is a matter of verifying a security code entered by a user for example to check an identification document number, a social security identifier, a security code. door opening, an access code to a website.

Dans les modes de réalisation décrits précédemment, la génération du code dynamique de sécurité DCWi par la carte et du code dynamique de sécurité DCCV2 utilisent un paramètre temporel. L'homme du métier comprendra que ces paramètres temporels doivent être synchronisés pour permettre la comparaison de ces codes. En pratique, pour palier à ces problèmes de synchronisation, le serveur peut générer plusieurs deuxièmes codes de sécurité en utilisant différents paramètres temporels, une transaction étant autorisée dès lors que l'un de ces deuxièmes codes de sécurité correspond au code dynamique de sécurité reçu de la carte à microcircuit.In the previously described embodiments, the generation of the dynamic security code DCWi by the card and the dynamic security code DCCV2 use a time parameter. Those skilled in the art will understand that these time parameters must be synchronized to allow the comparison of these codes. In practice, to overcome these synchronization problems, the server can generate several second security codes using different temporal parameters, a transaction being authorized when one of these second security codes corresponds to the dynamic security code received from the microcircuit card.

En variante, le paramètre temporel peut être remplacé par un compteur incrémenté : - du côté de la carte à microcircuit 1000 à chaque fois la carte génère un nouveau code dynamique de sécurité, par exemple lorsque l'utilisateur appuie sur le bouton poussoir 1400 ; et - du côté du serveur 5000 de vérification de code dynamique de sécurité à chaque fois que celui-ci génère de son côté un code dynamique de sécurité pour vérifier la validité d'un code dynamique de sécurité généré par la carte à microcircuit 1000. Là encore, l'homme du métier comprendra que ces compteurs doivent être synchronisés pour permettre la comparaison de ces codes. En pratique, pour palier à ces problèmes de synchronisation, le serveur peut générer plusieurs deuxièmes codes de sécurité en utilisant différentes valeurs de compteur, une transaction étant autorisée dès lors que l'un de ces deuxièmes codes de sécurité correspond au code dynamique de sécurité reçu de la carte à microcircuit. Références : [REFAA] : Demande de brevet européen n° EP 2 568 448 publiée le 13 mars 2013 pour une « carte de crédit ou de débit avec un code de sécurité ».Alternatively, the time parameter can be replaced by an incremented counter: - on the microcircuit card side 1000 each time the card generates a new dynamic security code, for example when the user presses the push button 1400; and on the side of the security dynamic code verification server 5000, each time that the latter generates a dynamic security code for its part to check the validity of a dynamic security code generated by the microcircuit card 1000. again, those skilled in the art will understand that these counters must be synchronized to allow the comparison of these codes. In practice, in order to overcome these synchronization problems, the server can generate several second security codes by using different counter values, a transaction being authorized when one of these second security codes corresponds to the dynamic security code received. of the microcircuit card. References: [REFAA]: European Patent Application No. EP 2 568 448 published on March 13, 2013 for a "credit or debit card with a security code".

[REFCW] : en.wikipedia.org/wiki/card_security_code [REFPAN] : en.wikipedia.org/wiki/Bank_card_number[REFCW]: en.wikipedia.org/wiki/card_security_code [REFPAN]: en.wikipedia.org/wiki/Bank_card_number

Claims (15)

REVENDICATIONS 1. Serveur (5000) de vérification de code dynamique de sécurité comportant : - un module (5200) de communication apte à recevoir des données de transaction bancaires (DT(DCCVi)) comportant un identifiant (PAN) et un premier code dynamique de sécurité (DCCVi) généré par un dispositif (1000) associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité (DCCVi) générés par ledit dispositif (1000) ; - un module (5300) de génération d'un deuxième code dynamique de sécurité (DCCV2) à partir dudit identifiant (PAN) et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité (DCCV2) générés par ledit module (5300) pour ledit identifiant (PAN) ; - un module (5400) de comparaison des premier et deuxième codes dynamiques de sécurité ; - ledit module de communication (5200) étant apte à envoyer à un serveur (6000), et ce uniquement en cas d'égalité des premier et deuxième codes dynamiques (DCCVi, DCCV2), lesdites données de transaction dans lesquelles ledit code dynamique de sécurité (DCCVi) est remplacé par un code statique de sécurité (CW) associé audit dispositif (1000), ledit serveur (6000) étant configuré pour vérifier la validité dudit code statique de sécurité (CW) pour autoriser ou refuser ladite transaction.A dynamic security code verification server (5000) comprising: a communication module (5200) capable of receiving bank transaction data (DT (DCCVi)) comprising an identifier (PAN) and a first dynamic security code; (DCCVi) generated by a device (1000) associated with this identifier from a time data or a counter of the number of first dynamic security codes (DCCVi) generated by said device (1000); a module (5300) for generating a second dynamic security code (DCCV2) from said identifier (PAN) and a time data or a counter for the number of second dynamic safety codes (DCCV2) generated by said module (5300) for said identifier (PAN); a module (5400) for comparing the first and second dynamic safety codes; said communication module (5200) being able to send to a server (6000), and only in case of equality of the first and second dynamic codes (DCCVi, DCCV2), said transaction data in which said dynamic security code (DCCVi) is replaced by a security code (CW) associated with said device (1000), said server (6000) being configured to check the validity of said security code (CW) to allow or deny said transaction. 2. Serveur (5000) de vérification de code dynamique de sécurité selon la revendication 1, caractérisé en ce que le dit serveur est configuré pour envoyer un message de refus de ladite transaction à un serveur configuré pour réaliser la transaction (3000) si lesdits premier et deuxième codes dynamiques (DCCVi, DCCV2) sont différents.The dynamic security code verification server (5000) according to claim 1, characterized in that said server is configured to send a refusal message of said transaction to a server configured to perform the transaction (3000) if said first and second dynamic codes (DCCVi, DCCV2) are different. 3. Module d'interface (5500) apte à recevoir des données de transaction comportant soit un code statique de sécurité (CW) soit un code dynamique de sécurité (DCWi) et à transmettre lesdites données de transaction : - à un serveur (5000) de vérification de code dynamique de sécurité selon la revendication 1 ou 2 si lesdites données de transaction comportent un code dynamique de sécurité (DCWi) ; ou - à un serveur (6000) configuré pour vérifier la validité du code statique de sécurité (CW) pour autoriser ou refuser ladite transaction si lesdites données de transaction comportent un code statique de sécurité (CW).3. Interface module (5500) capable of receiving transaction data comprising either a security code (CW) or a dynamic security code (DCWi) and transmitting said transaction data: - to a server (5000) dynamic security code verification method according to claim 1 or 2 if said transaction data comprises a dynamic security code (DCWi); or - a server (6000) configured to check the validity of the security code (CW) to allow or deny said transaction if said transaction data comprises a security code (CW). 4. Système (10) de vérification d'un code de sécurité comportant : - un serveur (5000) de vérification de code dynamique de sécurité selon l'une quelconque des revendications 1 à 3 ; - un serveur (6000) configuré pour vérifier la validité dudit code statique de sécurité (CW) pour autoriser ou refuser ladite transaction ; et - un module d'interface (5500) selon la revendication 3.A system (10) for verifying a security code comprising: - a security dynamic code verification server (5000) according to any of claims 1 to 3; a server (6000) configured to check the validity of said security code (CW) to allow or refuse said transaction; and an interface module (5500) according to claim 3. 5. Système selon la revendication 4 dans lequel ledit serveur (5000) de vérification de code dynamique de sécurité est implémenté dans ledit serveur (6000) configuré pour vérifier la validité dudit code statique de sécurité (CW).The system of claim 4 wherein said security dynamic code verification server (5000) is implemented in said server (6000) configured to verify the validity of said security code (CW). 6. Système selon la revendication 5 dans lequel ledit module d'interface (5500) est implémenté dans ledit serveur (6000) configuré pour vérifier la validité dudit code statique de sécurité (CW).The system of claim 5 wherein said interface module (5500) is implemented in said server (6000) configured to verify the validity of said security code (CW). 7. Système selon l'une quelconque des revendications 4 à 6 caractérisé en ce qu'il comporte : - une carte à microcircuit (1000) comportant, un code statique de sécurité (CW) et un écran (1400) pour afficher un code dynamique de sécurité (DCCVi) généré par ladite carte pour réaliser une transaction ; - ledit serveur (5000) de vérification de code dynamique de sécurité étant apte à vérifier la validité dudit code dynamique de sécurité (DCCVi) généré par ladite carte ; - ledit serveur (6000) configuré pour vérifier la validité dudit code statique de sécurité (CW) étant apte à vérifier la validité dudit code statique de sécurité (CCV) de ladite carte pour autoriser ou refuser ladite transaction.7. System according to any one of claims 4 to 6 characterized in that it comprises: - a microcircuit card (1000) comprising a static security code (CW) and a screen (1400) for displaying a dynamic code security card (DCCVi) generated by said card for performing a transaction; said security dynamic code verification server (5000) being able to check the validity of said dynamic security code (DCCVi) generated by said card; said server (6000) configured to check the validity of said static security code (CW) being able to verify the validity of said security code (CCV) of said card to allow or refuse said transaction. 8. Système selon la revendication 7 caractérisé en ce qu'il comporte : - un terminal (2000) permettant à un utilisateur de se connecter à un serveur (3000) pour réaliser ladite transaction, ledit terminal (2000) comportant une interface homme-machine permettant audit utilisateur de saisir les données de ladite transaction dont ledit code dynamique de sécurité (DCCVi) généré par ladite carte pour cette transaction ; - ledit serveur (3000) pour réaliser la transaction étant apte à transmettre lesdites données de transaction audit serveur (5000) de vérification de code dynamique de sécurité selon le protocole ISO 8583.8. System according to claim 7 characterized in that it comprises: - a terminal (2000) allowing a user to connect to a server (3000) to perform said transaction, said terminal (2000) having a human-machine interface enabling said user to enter the data of said transaction including said dynamic security code (DCCVi) generated by said card for this transaction; said server (3000) for performing the transaction being able to transmit said transaction data to said dynamic security code verification server (5000) according to the ISO 8583 protocol. 9. Procédé de vérification d'un code dynamique de sécurité comportant : - une étape (E20) de réception de données de transaction bancaires (DT(DCCVi)) comportant un identifiant (PAN) et un premier code dynamique de sécurité (DCCVi) généré par un dispositif (1000) associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité (DCCVi) générés par ledit dispositif (1000) ; - une étape (E30) de génération d'un deuxième code dynamique de sécurité (DCCV2) à partir dudit identifiant (PAN) et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité (DCCV2) générés par ledit module (5300) pour ledit identifiant (PAN) ; - une étape (E40) de comparaison des premier et deuxième codes dynamiques de sécurité ; - une étape (E50) d'envoi à un serveur (6000), et ce uniquement en cas d'égalité des premier et deuxième codes dynamiques (DCCVi, DCCV2), desdites données de transaction dans lesquelles ledit code dynamique de sécurité (DCCVi) est remplacé par un code statique de sécurité (CW) associé audit dispositif (1000), ledit serveur (6000) étant configuré pour vérifier la validité dudit code statique de sécurité (CW) pour autoriser ou refuser ladite transaction.9. A method for verifying a dynamic security code comprising: a bank transaction data reception step (E20) (DT (DCCVi)) comprising an identifier (PAN) and a first dynamic security code (DCCVi) generated; by a device (1000) associated with this identifier from a time data or a counter of the number of first dynamic safety codes (DCCVi) generated by said device (1000); a step (E30) for generating a second dynamic security code (DCCV2) from said identifier (PAN) and a time data or a counter of the number of second dynamic safety codes (DCCV2) generated by said module (5300) for said identifier (PAN); a step (E40) for comparing the first and second dynamic safety codes; a step (E50) of sending to a server (6000), and only in case of equality of the first and second dynamic codes (DCCVi, DCCV2), said transaction data in which said dynamic security code (DCCVi) is replaced by a security code (CW) associated with said device (1000), said server (6000) being configured to check the validity of said security code (CW) to allow or deny said transaction. 10. Serveur (5000) de vérification de code dynamique de sécurité : - un module (5200) de communication apte à recevoir, dans un réseau de communication (4000), des données de transaction (DT(DCCVi)) comportant un identifiant (PAN) et un premier code dynamique de sécurité (DCCVi) généré par un dispositif (1000) associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité (DCCVi) générés par ledit dispositif (1000), lesdites données de transaction étant destinées à un serveur (6000) configuré pour vérifier la validité d'un code statique de sécurité (CW) pour autoriser ou refuser ladite transaction ; - un module (5300) de génération d'un deuxième code dynamique de sécurité (DCCV2) à partir dudit identifiant (PAN) et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité (DCCV2) générés par ledit module (5300) pour ledit identifiant (PAN) ; - un module (5400) de comparaison des premier et deuxième codes dynamiques de sécurité ; - ledit module de communication (5200) étant apte à envoyer à un serveur (3000) apte à réaliser ladite transaction, et ce uniquement en cas d'égalité des premier et deuxième codes dynamiques (DCCVi, DCCV2), un message d'autorisation pour réaliser ladite transaction, ledit serveur (5000) de vérification de code dynamique de sécurité étant implémenté dans un équipement (5000) d'interface entre ledit réseau (4000) et ledit serveur (6000) configuré pour vérifier la validité d'un code statique de sécurité (CW).10. Server (5000) for dynamic security code verification: - a communication module (5200) capable of receiving, in a communication network (4000), transaction data (DT (DCCVi)) including an identifier (PAN ) and a first dynamic security code (DCCVi) generated by a device (1000) associated with this identifier from a time data or a counter of the number of first dynamic security codes (DCCVi) generated by said device ( 1000), said transaction data being for a server (6000) configured to check the validity of a security code (CW) to allow or deny said transaction; a module (5300) for generating a second dynamic security code (DCCV2) from said identifier (PAN) and a time data or a counter for the number of second dynamic safety codes (DCCV2) generated by said module (5300) for said identifier (PAN); a module (5400) for comparing the first and second dynamic safety codes; said communication module (5200) being able to send to a server (3000) capable of carrying out said transaction, and only in case of equality of the first and second dynamic codes (DCCVi, DCCV2), an authorization message for performing said transaction, said security dynamic code verification server (5000) being implemented in an interface equipment (5000) between said network (4000) and said server (6000) configured to check the validity of a static code of security (CW). 11. Système (10) de vérification d'un code de sécurité comportant : - une carte à microcircuit (1000) comportant, un code statique de sécurité (CW) et un écran (1400) pour afficher un code dynamique de sécurité (DCCVi) généré par ladite carte pour réaliser une transaction ; - un serveur (5000) de vérification de code dynamique de sécurité selon la revendication 10 apte à vérifier la validité dudit code dynamique de sécurité (DCCVi) généré par ladite carte et à envoyer un message d'autorisation de ladite transaction à un serveur (3000) apte à réaliser ladite transaction, uniquement lorsque la validité dudit code dynamique a été vérifiée.11. System (10) for verifying a security code comprising: - a microcircuit card (1000) comprising a security code (CW) and a screen (1400) for displaying a dynamic security code (DCCVi) generated by said card to perform a transaction; a security dynamic code verification server (5000) according to claim 10 able to verify the validity of said dynamic security code (DCCVi) generated by said card and to send an authorization message of said transaction to a server (3000 ) able to perform said transaction, only when the validity of said dynamic code has been verified. 12. Système selon la revendication 11 caractérisé en ce qu'il comporte : - un terminal (2000) permettant à un utilisateur de se connecter audit serveur (3000) pour réaliser ladite transaction, ledit terminal (2000) comportant une interface homme-machine permettant audit utilisateur de saisir les données de ladite transaction dont ledit code dynamique de sécurité (DCCVi) généré par ladite carte pour cette transaction ; - ledit serveur (3000) pour réaliser la transaction étant apte à transmettre lesdites données de transaction audit serveur (5000) de vérification de code dynamique de sécurité selon le protocole ISO 8583 et à recevoir selon ce protocole un message d'autorisation de ladite transaction en provenance de ce serveur (5000).12. System according to claim 11 characterized in that it comprises: - a terminal (2000) allowing a user to connect to said server (3000) to perform said transaction, said terminal (2000) having a man-machine interface allowing user audit to enter the data of said transaction including said dynamic security code (DCCVi) generated by said card for this transaction; said server (3000) for performing the transaction being able to transmit said transaction data to said security dynamic code verification server (5000) according to the ISO 8583 protocol and to receive according to this protocol an authorization message of said transaction in accordance with from this server (5000). 13. Procédé de vérification de code dynamique de sécurité comportant : - une étape (E20) de réception, dans un réseau de communication (4000), de données de transaction (DT(DCCVi)) comportant un identifiant (PAN) et un premier code dynamique de sécurité (DCCVi) généré par un dispositif (1000) associé à cet identifiant à partir d'une donnée temporelle ou d'un compteur du nombre de premiers codes dynamiques de sécurité (DCCVi) générés par ledit dispositif (1000), lesdites données de transaction étant destinées à un serveur (6000) configuré pour vérifier la validité d'un code statique de sécurité (CW) pour autoriser ou refuser ladite transaction ; - une étape (E30) de génération d'un deuxième code dynamique de sécurité (DCCV2) à partir dudit identifiant (PAN) et d'une donnée temporelle ou d'un compteur du nombre de deuxièmes codes dynamiques de sécurité (DCCV2) générés par ledit module (5300) pour ledit identifiant (PAN) ; - une étape (E40) de comparaison des premier et deuxième codes dynamiques de sécurité ; - une étape (E46) d'envoi, à un serveur (3000) apte à réaliser ladite transaction, et ce uniquement en cas d'égalité des premier et deuxième codes dynamiques (DCCVi, DCCV2), d'un message d'autorisation pour réaliser ladite transaction, ledit procédé étant mis en œuvre dans un équipement (5000) d'interface entre ledit réseau (4000) et ledit serveur (6000) configuré pour vérifier la validité d'un code statique de sécurité (CW).13. A dynamic security code verification method comprising: - a step (E20) for receiving, in a communication network (4000), transaction data (DT (DCCVi)) comprising an identifier (PAN) and a first code; security dynamic (DCCVi) generated by a device (1000) associated with this identifier from a time data or a counter of the number of first dynamic security codes (DCCVi) generated by said device (1000), said data transaction method for a server (6000) configured to check the validity of a security code (CW) to allow or deny said transaction; a step (E30) for generating a second dynamic security code (DCCV2) from said identifier (PAN) and a time data or a counter of the number of second dynamic safety codes (DCCV2) generated by said module (5300) for said identifier (PAN); a step (E40) for comparing the first and second dynamic safety codes; a sending step (E46) to a server (3000) capable of carrying out said transaction, and only if the first and second dynamic codes (DCCVi, DCCV2) are equal, an authorization message for performing said transaction, said method being implemented in an interface equipment (5000) between said network (4000) and said server (6000) configured to check the validity of a security code (CW). 14. Programme d'ordinateur comportant des instructions pour mettre en œuvre les étapes d'un procédé de vérification de code dynamique de sécurité selon la revendication 9 ou 13 lorsque ce programme est exécuté par un ordinateur.A computer program comprising instructions for implementing the steps of a dynamic security code verification method according to claim 9 or 13 when the program is executed by a computer. 15. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de vérification de code dynamique de sécurité selon la revendication 9 ou 13.15. A computer-readable recording medium on which a computer program is recorded including instructions for performing the steps of the dynamic security code verification method according to claim 9 or 13.
FR1556118A 2015-06-30 2015-06-30 SERVER AND METHOD FOR VERIFYING DYNAMIC SECURITY CODE Active FR3038417B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1556118A FR3038417B1 (en) 2015-06-30 2015-06-30 SERVER AND METHOD FOR VERIFYING DYNAMIC SECURITY CODE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1556118 2015-06-30
FR1556118A FR3038417B1 (en) 2015-06-30 2015-06-30 SERVER AND METHOD FOR VERIFYING DYNAMIC SECURITY CODE

Publications (2)

Publication Number Publication Date
FR3038417A1 true FR3038417A1 (en) 2017-01-06
FR3038417B1 FR3038417B1 (en) 2018-07-27

Family

ID=54608653

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1556118A Active FR3038417B1 (en) 2015-06-30 2015-06-30 SERVER AND METHOD FOR VERIFYING DYNAMIC SECURITY CODE

Country Status (1)

Country Link
FR (1) FR3038417B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909519A (en) * 2019-11-18 2020-03-24 湖南一路畅行互联科技有限公司 Bill dynamic code generation method based on time limitation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060278698A1 (en) * 2005-06-13 2006-12-14 Robert Lovett System, method and program product for account transaction validation
US20080110983A1 (en) * 2006-11-15 2008-05-15 Bank Of America Corporation Method and apparatus for using at least a portion of a one-time password as a dynamic card verification value

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060278698A1 (en) * 2005-06-13 2006-12-14 Robert Lovett System, method and program product for account transaction validation
US20080110983A1 (en) * 2006-11-15 2008-05-15 Bank Of America Corporation Method and apparatus for using at least a portion of a one-time password as a dynamic card verification value

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909519A (en) * 2019-11-18 2020-03-24 湖南一路畅行互联科技有限公司 Bill dynamic code generation method based on time limitation
CN110909519B (en) * 2019-11-18 2023-06-06 湖南一路畅行互联科技有限公司 Ticket dynamic code generation method based on time limit

Also Published As

Publication number Publication date
FR3038417B1 (en) 2018-07-27

Similar Documents

Publication Publication Date Title
EP2873045B1 (en) Secure electronic entity for authorizing a transaction
FR2989799A1 (en) METHOD FOR TRANSFERRING A DEVICE TO ANOTHER RIGHTS OF ACCESS TO A SERVICE
WO2015059389A1 (en) Method for executing a transaction between a first terminal and a second terminal
FR2923635A1 (en) SYSTEM FOR ELECTRONIC COMMERCE TRANSACTIONS, PORTABLE ELECTRONIC DEVICE, COMMUNICATION NETWORK, CORRESPONDING COMPUTER PROGRAM PRODUCT AND METHOD.
EP3417592B1 (en) System for authenticating a user to a server
WO2017001757A1 (en) Server and method for verifying security code
WO2017093182A1 (en) Payment method and device using said method
FR3038417A1 (en) SERVER AND METHOD FOR VERIFYING DYNAMIC SECURITY CODE
WO2008065271A2 (en) Method and system for withdrawing money using a mobile telephone
FR3038419A1 (en) SERVER AND METHOD OF VERIFYING SECURITY CODE
EP2159763B1 (en) System and method for delivering a good or a service to a user
FR2927453A1 (en) METHOD AND SYSTEM FOR DISTRIBUTING BANK NOTES FROM A TICKET DISTRIBUTOR
EP1354288B1 (en) Method using electronic banking cards for making secure transactions
EP2204765B1 (en) Portable device allowing an individual to obtain and use a dematerialised voucher
EP3395042B1 (en) Authentication server for controlling access to a service
WO2016071602A1 (en) Simplified transaction using a payment device and a communication terminal
FR3011111A1 (en) SECURING A TRANSMISSION OF IDENTIFICATION DATA
FR2973184A1 (en) METHOD FOR GENERATING AND USING A DEMATERIALIZED TITLE IN A PORTABLE DEVICE AND CORRESPONDING TITLE MANAGEMENT SYSTEM
WO2022136236A1 (en) Method for creating a payment instrument for a third-party beneficiary
FR3115625A1 (en) Card not present transactions with a card verification value chosen by the cardholder
WO2017072443A1 (en) Remote payment method and system using a payment card
FR2994006A1 (en) Method for conducting bank payment between e.g. mobile phone, and vending machine delivering e.g. food products, or services, involves generating control command to execute request for control of goods or services on standby state
EP2397981A1 (en) Terminal and method for distributing electronic tickets
WO2014020244A1 (en) Secure payment method and device intended for implementing said method
FR3074944A1 (en) METHOD FOR SECURING AN ELECTRONIC TRANSACTION

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170106

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20180618

CJ Change in legal form

Effective date: 20180618

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9