FR3051613A1 - - Google Patents

Download PDF

Info

Publication number
FR3051613A1
FR3051613A1 FR1654400A FR1654400A FR3051613A1 FR 3051613 A1 FR3051613 A1 FR 3051613A1 FR 1654400 A FR1654400 A FR 1654400A FR 1654400 A FR1654400 A FR 1654400A FR 3051613 A1 FR3051613 A1 FR 3051613A1
Authority
FR
France
Prior art keywords
computer
credit card
barcode
token
payment
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
FR1654400A
Other languages
French (fr)
Other versions
FR3051613B1 (en
Inventor
Ruiz Pablo Aparicio
Mathieu Tahon
Malagon Daniel Espejo
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.)
Amadeus SAS
Original Assignee
Amadeus SAS
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 Amadeus SAS filed Critical Amadeus SAS
Priority to FR1654400A priority Critical patent/FR3051613B1/en
Priority to CN201710350516.2A priority patent/CN107403319B/en
Priority to ES17000854T priority patent/ES2797111T3/en
Priority to EP17000854.4A priority patent/EP3246866B1/en
Publication of FR3051613A1 publication Critical patent/FR3051613A1/fr
Application granted granted Critical
Publication of FR3051613B1 publication Critical patent/FR3051613B1/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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3274Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being displayed on the M-device
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3276Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
    • 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • 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

Landscapes

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

Abstract

Des procédés, des systèmes, et des produits-programmes d'ordinateur pour effectuer un échange sécurisé d'un jeton de carte de crédit avec un ordinateur externe, dans le cadre de l'achat d'un produit. Le système inclut un ou un ou plusieurs processeurs, une mémoire et une caméra couplée avec au moins un processeur. Le système numérise un premier code-barres à l'aide de la caméra. Le premier code-barres est publié sur l'écran d'un ordinateur externe et indique une pluralité de paramètres de paiements du produit. Le système décode le premier code-barres pour en extraire les paramètres de paiement. Le système publie les paramètres de paiement pour affichage à l'intention d'un utilisateur. Le système reçoit une première saisie, la première saisie indiquant un numéro de carte de crédit pour l'achat du produit, et un jeton correspondant au numéro de la carte de crédit est sauvegardé dans la mémoire.Methods, systems, and computer program products for securely exchanging a credit card token with an external computer, as part of the purchase of a product. The system includes one or more processors, a memory and a camera coupled with at least one processor. The system scans a first barcode using the camera. The first barcode is published on the screen of an external computer and indicates a plurality of payment parameters of the product. The system decodes the first barcode to extract the payment parameters. The system publishes the payment settings for display to a user. The system receives a first entry, the first entry indicating a credit card number for the purchase of the product, and a token corresponding to the number of the credit card is saved in the memory.

Description

ÉCHANGE SÉCURISÉ DE DONNÉES SENSIBLES SUR UN RÉSEAU SUR LA BASE DE CODE-BARRES ET DE JETONS DOMAINE TECHNIQUESECURE EXCHANGE OF SENSITIVE DATA ON A NETWORK BASED ON BAR CODE AND TOKENS TECHNICAL FIELD

[0001] L’invention concerne de façon générale des ordinateurs et des logiciels d’ordinateur, et en particulier des procédés, des systèmes, et des produits-programmes d’ordinateurs pour effectuer des échanges sécurisés de données sensibles sur un réseau.The invention generally relates to computers and computer software, and in particular methods, systems, and computer program products for securely exchanging sensitive data over a network.

CONTEXTECONTEXT

[0002] En raison des nombreuses possibilités pour que des données sensibles, telles que des donnéès de carte de crédit, soient compromises lors d'un paiement, il est impératif d'utiliser des dispositifs qui sont conformes à la norme de l’industrie en matière de sécurité applicable aux données de carte de paiement (PCI-DSS) permettant de réduire les vulnérabilités et de protéger les données du détenteur de carte. Cependant, il peut être extraordinairement difficile et coûteux de se conformer à la norme PCI-DSS. Dans une approche pour protéger des données sensibles, la substitution des doimées par un jeton ou un alias peut être utilisée en remplacement des données actuelles de la carte de crédit. Le jeton peut être utilisé à la place de la carte de crédit actuelle d'un individu lors d'une transaction de paiement. Par exemple, un utilisateur peut se servir de son smartphone ou d’un autre dispositif électronique portable pour régler un produit. De façon spécifique, l'utilisateur peut télécharger une application logicielle sur un smartphone. L'utilisateur peut ensuite saisir les informations relatives à une carte de crédit et envoyer les informations par un réseau à un groupe de serveurs. En réponse à la réception des informations associées à la carte de crédit de l'utilisateur, les serveurs peuvent générer un jeton correspondant aux informations de la carte de crédit de l'utilisateur. Les hommes de métier comprendront que les jetons, en eux-mêmes, n’ont pas de sens et ne peuvent donc pas être utilisés seuls. Par ailleurs, la génération de jetons peut s'avérer moins coûteuse et plus sécurisée qu'un cryptage de bout en bout.Because of the many possibilities for sensitive data, such as credit card data, to be compromised during a payment, it is imperative to use devices that comply with the industry standard. credit card data security (PCI-DSS) to reduce vulnerabilities and protect cardholder data. However, it can be extraordinarily difficult and expensive to comply with PCI-DSS. In an approach to protect sensitive data, substitution of the data by a token or alias can be used instead of the current credit card data. The token can be used instead of an individual's current credit card during a payment transaction. For example, a user may use his or her smartphone or other portable electronic device to adjust a product. Specifically, the user can download a software application on a smartphone. The user can then enter the credit card information and send the information over a network to a group of servers. In response to receiving the information associated with the user's credit card, the servers may generate a token corresponding to the credit card information of the user. Those skilled in the art will understand that tokens, in and of themselves, are meaningless and therefore can not be used alone. In addition, the generation of tokens can be less expensive and more secure than end-to-end encryption.

[0003] Par exemple, les agents de réservation tiers (c.-à-d., les agents de voyage), ou les voyageurs peuvent utiliser des dispositifs informatiques afin de créer une réservation de voyage, ce qui ouvre des possibilités pour que les données de la carte de crédit du voyageur soient compromises lors du paiement. Parfois un voyageur peut avoir besoin, pendant son déplacement, de payer la réservation de voyage elle-même ou tout autre frais accessoire, tel que des frais de bagages. C'est-à-dire, que le voyageur peut avoir besoin de payer sur place, dans un aéroport ou dans un autre endroit, tel qu'une gare, des frais liés au voyage.For example, third-party booking agents (i.e., travel agents), or travelers can use computer devices to create a travel reservation, which opens up opportunities for traveler's credit card data are compromised during payment. Sometimes a traveler may need, while traveling, to pay the travel reservation itself or any other incidental charges, such as baggage fees. That is, the traveler may need to pay on the spot, at an airport or in another place, such as a train station, for travel related expenses.

[0004] En plus des difficultés, mentionnées ci-dessus pour protéger les données du détenteur de carte, on remarquera que les voyageurs peuvent aussi être confrontés à d'autres problèmes en essayant d’effectuer un paiement pour confirmer une réservation de voyage, dans un aéroport ou autre endroit similaire. Par exemple, Putilisation d’un smartphone pour payer une réservation peut s’avérer problématique pour le voyageur lorsqu'il est de passage dans un pays étranger. Cela s'explique par le fait que de nombreux fournisseurs de services cellulaires n'ofïfent peut-être pas de tels services dans un autre pays, ou peuvent facturer des tarifs très élevés pour les données d'itinérance lorsque le voyageur est à l'étranger. Ainsi, l'acceptation de paiements de la part des voyageurs, même lorsque leur smartphone n'est pas connecté à un réseau, constitue un besoin. Par ailleurs, on remarquera qu'il peut aussi être incommode et fastidieux pour un voyageur de sortir sa carte de crédit de son portefeuille qui se trouve dans sa poche, surtout s’il est pressé et a beaucoup de bagages à porter pendant son déplacement. De la même manière, il peut aussi être incommode pour une voyageuse de fouiller dans son sac à main pour récupérer sa carte de crédit, surtout si ses mains sont déjà prises par des sacs à porter pendant son déplacement [0005] Ainsi, des procédés, des systèmes et des produits-programmes d’ordinateurs améliorés sont nécessaires pour permettre l'échange sécurisé de données sensibles sur un réseau. RÉSUMÉ [0006] Dans un mode de réalisation de l'invention, un système pour l'échange sécurisé d'un Jeton d'une carte de crédit entre un premier ordinateur et un ordinateur externe pour acheter un produit. Le premier ordinateur inclut un ou plusieurs processeurs, une mémoire, et une caméra couplée à au moins un processeur. Le premier ordinateur numérise le code-barres à l'aide de la caméra. Le premier code-barres est publié sur un écran d'affichage de l'ordinateur externe et indique une pluralité de paramètres de paiement pour le paiement du produit. Le premier ordinateur décode le premier code-barres pour en extraire les paramètres de paiement. Le premier ordinateur publie les paramètres de paiement pour affichage à l'intention d'un utilisateur. Le premier ordinateur reçoit une première saisie dans laquelle la première saisie indique un numéro de carte de crédit pour l'achat d'un produit, et un Jeton de carte de crédit correspondant au numéro de la carte de crédit est sauvegardé en mémoire. En réponse à la réception de la première saisie, le premier ordinateur génère un second code-barres qui contient les premières données cryptées de charge utile. Les premières données cryptées de charge utile incluent le jeton de carte de crédit. Le premier ordinateur publie le second code-barres pour affichage, ledit second code-barres étant lisible par un dispositif optique de l'ordinateur externe.In addition to the difficulties mentioned above to protect the data of the cardholder, it will be noted that travelers may also be faced with other problems in trying to make a payment to confirm a travel reservation, in an airport or similar place. For example, using a smartphone to pay for a reservation can be problematic for the traveler when he is in a foreign country. This is because many cellular service providers may not provide such services in another country, or may charge very high roaming charges when the traveler is abroad . Thus, the acceptance of payments by travelers, even when their smartphone is not connected to a network, is a need. Moreover, it will be noted that it can also be inconvenient and tedious for a traveler to take his credit card out of his wallet which is in his pocket, especially if he is in a hurry and has a lot of luggage to wear while traveling. In the same way, it can also be inconvenient for a traveler to search his handbag to recover his credit card, especially if his hands are already taken by bags to carry during his journey. [0005] Thus, methods, Enhanced computer systems and program products are required to enable the secure exchange of sensitive data over a network. SUMMARY [0006] In one embodiment of the invention, a system for the secure exchange of a credit card token between a first computer and an external computer to purchase a product. The first computer includes one or more processors, a memory, and a camera coupled to at least one processor. The first computer scans the barcode using the camera. The first barcode is published on a display screen of the external computer and indicates a plurality of payment parameters for the payment of the product. The first computer decodes the first barcode to extract the payment parameters. The first computer publishes the payment settings for display to a user. The first computer receives a first entry in which the first entry indicates a credit card number for the purchase of a product, and a credit card token corresponding to the credit card number is stored in memory. In response to receiving the first input, the first computer generates a second barcode that contains the first encrypted payload data. The first encrypted payload data include the credit card token. The first computer publishes the second barcode for display, said second barcode being readable by an optical device of the external computer.

[0007] Dans certains modes de réalisation, le système comprend par ailleurs un troisième ordinateur et une chambre forte de Jetons en communication avec l'ordinateur externe. L'ordinateur externe envoie le second code-barres au troisième ordinateur. Dans un mode de réalisation, le troisième ordinateur décode le second code-barres, valide le contenu des premières données cryptées de charge utile pour obtenir le Jeton de la carte de crédit et récupère un numéro de carte de crédit originale dans la chambre forte de jetons sur la base du jeton de la carte de crédit. Dans certains modes de réalisation, le troisième ordinateur communique avec un réseau de paiement pour déterminer la validité du numéro de la carte de crédit originale et, en réponse au numéro de la carte de crédit originale s'avérant valide, le réseau de paiement autorise le paiement du produit et envoie une approbation au troisième ordinateur. Dans certains modes de réalisation, l'ordinateur externe reçoit l'approbation du troisième ordinateur pour le paiement du produit, génère un troisième code-barres qui contient un reçu de paiement pour le produit et publie le troisième code-barres pour affichage. Le troisième code-barres est numérisé par la caméra.In some embodiments, the system further comprises a third computer and a Token vault in communication with the external computer. The external computer sends the second barcode to the third computer. In one embodiment, the third computer decodes the second barcode, validates the contents of the first encrypted payload data to obtain the credit card token, and retrieves an original credit card number from the chip vault. based on the credit card token. In some embodiments, the third computer communicates with a payment network to determine the validity of the original credit card number and, in response to the original credit card number being valid, the payment network authorizes the payment. payment of the product and sends an approval to the third computer. In some embodiments, the external computer receives approval from the third computer for payment of the product, generates a third barcode that contains a payment receipt for the product, and publishes the third barcode for display. The third barcode is scanned by the camera.

[0008] Dans certains modes de réalisation, la pluralité des paramètres de paiement inclut au moins un montant monétaire, un type spécifique de devise sur lequel le montant monétaire est basé, une description du produit et une référence du paiement sous forme d'identifiant (ID).In some embodiments, the plurality of payment parameters includes at least a monetary amount, a specific type of currency on which the monetary amount is based, a product description and a payment reference in the form of an identifier ( ID).

[0009] Dans certains modes de réalisation, avant la numérisation du premier code-barres par la caméra, le premier ordinateur et un troisième ordinateur sont connectés à un réseau, le premier ordinateur reçoit une seconde saisie indiquant le numéro de la carte de crédit et, en réponse à la réception de la seconde saisie, le premier ordinateur génère des secondes données cryptées de charge utile qui contieiment le numéro de la carte de crédit. Dans certains modes de réalisation, le premier ordinateur transmet sur le réseau une demande de provisionnement de carte incluant les secondes données cryptées de charge utile, le troisième ordinateur reçoit la demande de provisionnement de carte sur le réseau et, en réponse à la réception de la demande de provisionnement de carte, le troisième ordinateur décrypte les secondes données cryptées de charge utile pour obtenir le numéro de la carte de crédit. Dans certains modes de réalisation, le troisième ordinateur envoie le numéro de la carte de crédit à une application de tokénisation et en réponse à la réception du numéro de la carte de crédit, l'application de tokénisation génère le jeton de la carte de crédit. Dans certains modes de réalisation, le jeton de la carte de crédit est sauvegardé dans une chambre forte de jetons et est aussi transmis par le troisième ordinateur au premier ordinateur via le réseau, et le premier ordinateur conserve le jeton de la carte de crédit sous forme d'une empreinte numérique (hash) en mémoire. Dans certains modes de réalisation, les processeurs font partie d'un dispositif électronique portable.In some embodiments, before the scanning of the first barcode by the camera, the first computer and a third computer are connected to a network, the first computer receives a second entry indicating the credit card number and , in response to receiving the second input, the first computer generates second payload encrypted data which conti nes the credit card number. In some embodiments, the first computer transmits on the network a card provisioning request including the second payload encrypted data, the third computer receives the card provisioning request on the network and, in response to receiving the Card provisioning request, the third computer decrypts the second encrypted payload data to obtain the credit card number. In some embodiments, the third computer sends the credit card number to a tokenization application and in response to receiving the credit card number, the tokenization application generates the credit card token. In some embodiments, the credit card token is stored in a token vault and is also transmitted by the third computer to the first computer via the network, and the first computer retains the credit card token in the form of a token vault. a digital print (hash) in memory. In some embodiments, the processors are part of a portable electronic device.

[0010] Selon un autre aspect, un procédé est révélé pour l'échange sécurisé d'un jeton de carte de crédit entre un premier ordinateur et un ordinateur externe dans le cadre de l'achat d'un produit Le procédé inclut la numérisation d'un premier code-barres à l’aide d’une caméra d’un premier ordinateur dans lequel le premier code-barres est publié pour affichage sur un écran de l'ordinateur externe, et le premier code-barres indique une pluralité des paramètres de paiement du produit. Le procédé comprend par ailleurs le décodage du premier code-barres, par le premier ordinateur, pour en extraire les paramètres de paiement. Le procédé inclut aussi la publication des paramètres de paiement par le premier ordinateur, pour affichage sur l’écran d'un utilisateur. Le procédé inclut par ailleurs la réception d'une première saisie par le premier ordinateur, dans laquelle la première saisie indique un numéro de carte de crédit pour l'achat du produit, et un jeton de carte de crédit, correspondant au numéro de la carte de crédit, est sauvegardé dans la mémoire du premier ordinateur. En réponse à la réception de la première saisie, le procédé inclut la génération, par le premier ordinateur, d'un second code-barres contenant les premières données cryptées de charge utile, dans lesquelles les premières données cryptées de charge utile incluent le jeton de la carte de crédit. Enfin, le procédé inclut la publication du second code-barres pour affichage sur l'écran du premier ordinateur, dans laquelle le second code-barres est lisible à l’aide d’un dispositif optique de l'ordinateur externe.In another aspect, a method is disclosed for the secure exchange of a credit card token between a first computer and an external computer as part of the purchase of a product. a first barcode using a camera of a first computer in which the first barcode is published for display on a screen of the external computer, and the first barcode indicates a plurality of parameters payment of the product. The method further comprises decoding the first barcode, by the first computer, to extract the payment parameters. The method also includes the publication of the payment parameters by the first computer, for display on the screen of a user. The method further includes receiving a first entry by the first computer, wherein the first entry indicates a credit card number for the purchase of the product, and a credit card token, corresponding to the card number. credit, is saved in the memory of the first computer. In response to receiving the first input, the method includes generating, by the first computer, a second bar code containing the first payload encrypted data, wherein the first payload encrypted data includes the payload token. credit card. Finally, the method includes the publication of the second barcode for displaying on the screen of the first computer, wherein the second barcode is readable by means of an optical device of the external computer.

[0011] Dans certains modes de réalisation, l'ordinateur externe envoie le second code-barres à un troisième ordinateur via un réseau. Le troisième ordinateur décode le second code-barres, valide le contenu des premières données cryptées de charge utile pour obtenir le jeton de la carte de crédit et récupère un numéro de la carte de crédit originale dans une chambre forte de jetons sur la base du jeton de la carte de crédit. Dans certains modes de réalisation, le troisième ordinateur envoie une communication à un réseau de paiement. En réponse à la réception de la communication, le réseau de paiement détermine si le numéro de la carte de crédit originale est valide. En réponse au numéro de la carte de crédit originale s'avérant valide, le réseau de paiement autorise le paiement du produit via le réseau de paiement et envoie une autorisation au troisième ordinateur. Dans certains modes de réalisation, le troisième ordinateur reçoit l'autorisation pour le paiement du produit, envoie l'autorisation à l'ordinateur externe via le réseau, génère un troisième code-barres contenant un reçu de paiement du produit et publie le troisième code-barres pour affichage par l'ordinateur externe, dans lequel le troisième code-barres est numérisé par la caméra du premier ordinateur.In some embodiments, the external computer sends the second barcode to a third computer via a network. The third computer decodes the second barcode, validates the contents of the first encrypted payload data to obtain the credit card token, and retrieves an original credit card number from a token vault based on the token. credit card. In some embodiments, the third computer sends a communication to a payment network. In response to receiving the communication, the payment network determines whether the original credit card number is valid. In response to the original credit card number being valid, the payment network authorizes the payment of the product via the payment network and sends an authorization to the third computer. In some embodiments, the third computer receives the authorization for the payment of the product, sends the authorization to the external computer via the network, generates a third barcode containing a payment receipt of the product and publishes the third code -barres for display by the external computer, wherein the third barcode is digitized by the camera of the first computer.

[0012] Dans certains modes de réalisation, le premier ordinateur et le troisième ordinateur sont connectés à un réseau avant la numérisation du premier code-barres par le premier ordinateur. Le premier ordinateur reçoit une seconde saisie indiquant le numéro de la carte de crédit et, en réponse à la réception de la seconde saisie, génère des secondes données cryptées de charge utile contenant le numéro de la carte de crédit. Le premier ordinateur transmet une demande de provisionnement de carte incluant les données cryptées de charge utile via le réseau. Le troisième ordinateur reçoit la demande de provisionnement de carte via le réseau et, en réponse à la réception de la demande de provisionnement de carte, décrypte les secondes données cryptées de charge utile pour obtenir le numéro de carte de crédit. Le troisième ordinateur envoie le numéro de carte de crédit à une application de tokénisation du troisième ordinateur et, en réponse à la réception du numéro de carte de crédit, génère le jeton de carte de crédit à l'aide de l'application de tokénisation. Dans certains modes de réalisation, le troisième ordinateur sauvegarde le jeton de carte de crédit dans une chambre forte de jetons et transmet le jeton de carte de crédit via le réseau. Le premier ordinateur reçoit le jeton de carte de crédit par le système via le réseau et conserve le jeton de carte de crédit sous forme d'empreinte numérique dans la mémoire du système. Dans certains modes de réalisation, le premier ordinateur est un dispositif électronique portable.In some embodiments, the first computer and the third computer are connected to a network before scanning the first barcode by the first computer. The first computer receives a second entry indicating the credit card number and, in response to receiving the second entry, generates second payload encrypted data containing the credit card number. The first computer transmits a card provisioning request including the encrypted payload data via the network. The third computer receives the card provisioning request via the network and, in response to receiving the card provisioning request, decrypts the second encrypted payload data to obtain the credit card number. The third computer sends the credit card number to a tokenizing application of the third computer and, in response to receiving the credit card number, generates the credit card token using the tokenization application. In some embodiments, the third computer saves the credit card token in a vault of tokens and transmits the credit card token via the network. The first computer receives the credit card token from the system via the network and retains the credit card token as a digital fingerprint in the system memory. In some embodiments, the first computer is a portable electronic device.

[0013] Selon un autre aspect, un produit-programme d'ordinateur est fourni pour l'échange sécurisé d'un jeton de carte de crédit avec un ordinateur externe dans le cadre de l'achat d'un produit. Le produit programme d'ordinateur comprend un support de stockage durable lisible par ordinateur et un code de programme enregistré sur le support de stockage durable lisible par ordinateur qui, lorsqu'il est exécuté par un ou plusieurs processeurs, amène un ou plusieurs processeurs à numériser un premier code-barres à l’aide d’une caméra, dans lequel le premier code-barres est publié pour affichage sur un écran de l'ordinateur externe et le premier code-barres indique une pluralité des paramètres de paiement du produit. Les processeurs sont par ailleurs amenés à décoder le premier code-barres pour en extraire les paramètres de paiement. Les processeurs sont par la suite amenés à publier les paramètres de paiement pour affichage à l’intention d’un utilisateur. Puis les processeurs sont amenés à recevoir une première saisie, dans laquelle la première saisie indique un numéro de carte de crédit pour l'achat du produit et un jeton de carte de crédit correspondant au numéro de carte de crédit est sauvegardé dans la mémoire. En réponse à la réception de la première saisie, les processeurs sont ensuite amenés à générer un second code-barres qui contient les premières données cryptées de charge utile dans lesquelles les premières données cryptées de charge utile incluent le jeton de carte de crédit. Les processeurs sont par ailleurs amenés à publier le second code-barres pour affichage. Le second code-barres est lisible à l’aide d’un dispositif optique de l'ordinateur externe.In another aspect, a computer program product is provided for the secure exchange of a credit card token with an external computer as part of the purchase of a product. The computer program product includes a computer-readable, durable storage medium and program code recorded on the computer-readable, durable storage medium that, when executed by one or more processors, causes one or more processors to be digitized. a first barcode using a camera, wherein the first barcode is published for display on a screen of the external computer and the first barcode indicates a plurality of payment parameters of the product. The processors are also led to decode the first barcode to extract the payment parameters. Processors are then required to publish the payment parameters for display to a user. Then the processors are required to receive a first entry, in which the first entry indicates a credit card number for the purchase of the product and a credit card token corresponding to the credit card number is saved in the memory. In response to receiving the first input, the processors are then caused to generate a second bar code that contains the first encrypted payload data in which the first encrypted payload data includes the credit card token. Processors are also required to publish the second barcode for display. The second barcode is readable by an optical device of the external computer.

[0014] Le préambule ci-dessus est bref et simplifié pour permettre une compréhension basique de certains aspects des systèmes et/ou procédés décrits dans les présentes. Ce résumé n'est pas un aperçu extensif des systèmes ét/ou procédés décrits dans les présentes. Il ne prétend ni identifier des éléments clés ou décisifs, ni définir l'étendue de tels systèmes et/ou procédés. Son seul but est de présenter certains concepts de façon simplifiée en guise de préface à la description plus détaillée qui est exposée par la suite.The preamble above is brief and simplified to allow a basic understanding of certain aspects of the systems and / or methods described herein. This summary is not an extensive overview of the systems and / or processes described herein. It does not claim to identify key or decisive elements, nor to define the extent of such systems and / or processes. Its sole purpose is to present some concepts in a simplified way as a preface to the more detailed description that is exposed later.

BRÈVE DESCRIPTION DES DESSINSBRIEF DESCRIPTION OF THE DRAWINGS

[0015] Les dessins qui accompagnent font partie intégrante des spécifications ; ils illustrent des modes variés de réalisation de l'invention et, conjointement à la description générale de l'invention ci-dessus et la description détaillée des modes de réalisation donnée ci-après, servent à expliquer les modes de réalisation de l'invention.The accompanying drawings are an integral part of the specifications; they illustrate various embodiments of the invention and, together with the general description of the invention above and the detailed description of the embodiments given below, serve to explain the embodiments of the invention.

[0016] FIG. 1 est une vue schématique d'un environnement d'exploitation exemplaire pour échanger un jeton de carte de crédit dans le cadre de l'achat d'un produit, dans lequel l'environnement d’exploitation inclut un dispositif client, un système commerçant et un serveur.FIG. 1 is a schematic view of an exemplary operating environment for exchanging a credit card token in connection with the purchase of a product, wherein the operating environment includes a client device, a merchant system and a waiter.

[0017] FIG. 2 et une vue schématique d'un système informatique exemplaire de la FIG. 1.FIG. 2 and a schematic view of an exemplary computer system of FIG. 1.

[0018] FIG. 3 est une vue schématique du dispositif client illustré dans la FIG 1. en cours de téléchargement d'une application logicielle.FIG. 3 is a schematic view of the client device shown in FIG. 1 being downloaded from a software application.

[0019] FIG. 4 est une vue schématique du dispositif client et du système commerçant illustrés dans la FIG. 1, dans laquelle le dispositif client et le système commerçant peuvent afficher des codes-barres uniques.FIG. 4 is a schematic view of the client device and the trading system illustrated in FIG. 1, in which the client device and the merchant system can display unique barcodes.

DESCRIPTION DÉTAILLÉEDETAILED DESCRIPTION

[0020] Faisant maintenant référence à la FIG. 1, un environnement d'exploitation 10, conforme à un mode de réalisation de l'invention, peut inclure un dispositif client 12, un système commerçant 14 et un ou plusieurs serveurs 16. Ainsi qu'expliqué de façon plus détaillée ci-dessous, le serveur 16 peut être en communication avec une chambre forte de jetons 18 ainsi qu'un serveur de paiement 20. Les hommes de métier comprendront que la chambre forte de jetons 18 est un serveur sécurisé où les jetons et le numéro principal de compte correspondant (Primary Account Number, ou (PAN)) sont conservés de façon sécurisée. Le PAN, qui comporte typiquement entre quatorze et seize chiffres, est un numéro de carte de crédit associé à la carte de crédit du détenteur d’un compte. La chambre forte de jetons 18 est la seule composante du système d'exploitation 10 où le jeton peut être mappé pour obtenir le PAN. Par ailleurs, on remarquera également que la chambre forte de jetons 18 répond aux spécifications relatives à la norme de l'industrie en matière de sécurité applicable aux données de carte de paiement (PCI-DSS). Chaque dispositif client 12, chaque système commerçant 14 et chaque serveur 16 peut communiquer par l'intermédiaire d’un réseau 26. Le réseau 26 peut inclure un ou plusieurs réseaux privés ou publics (par ex., Internet) qui permettent l'échange de données.[0020] Referring now to FIG. 1, an operating environment 10, in accordance with an embodiment of the invention, may include a client device 12, a merchant system 14 and one or more servers 16. As explained in more detail below, the server 16 may be in communication with a token vault 18 and a payment server 20. Those skilled in the art will understand that the token vault 18 is a secure server where the tokens and the corresponding principal account number ( Primary Account Number, or (PAN)) are kept securely. The PAN, which typically has between fourteen and sixteen digits, is a credit card number associated with the credit card of the account holder. The token vault 18 is the only component of the operating system 10 where the token can be mapped to obtain the PAN. On the other hand, it will also be noted that the token vault 18 meets the requirements of the industry standard for payment card data security (PCI-DSS). Each client device 12, each merchant system 14, and each server 16 may communicate through a network 26. The network 26 may include one or more private or public networks (eg, the Internet) that enable the exchange of data. data.

[0021] Le dispositif client 12 peut, par exemple, être une tablette numérique, un smartphone, ou tout autre dispositif informatique approprié. On remarquera que du fait que Tutilisateur final en déplacement durant un voyage peut éventuellement utiliser le dispositif client 12, le dispositif client 12 peut être un dispositif électronique portable. C'est-à-dire, que la taille du dispositif client 12 est telle que le dispositif client 12 jjeut être transporté dans le sac à main, un bagage cabine, un portefeuille, ou même dans la poche du voyageur. Ainsi qu'il le sera expliqué en détail ci-dessous, un utilisateur final peut se servir du dispositif client 12 pour confirmer et régler une réservation de voyage en accédant au système commerçant 14. Par exemple, le voyageur peut lancer une application de navigateur et utiliser l'application du navigateur pour effectuer le paiement d'une réservation de voyage. On remarquera que le voyageur peut d'abord télécharger une application 27 sur la mémoire du dispositif client 12 avant que le dispositif client 12 ne soit utilisé pour confirmer et payer la réservation de voyage.The client device 12 may, for example, be a digital tablet, a smartphone, or any other appropriate computer device. Note that since the end user traveling during a trip may possibly use the client device 12, the client device 12 may be a portable electronic device. That is, the size of the client device 12 is such that the client device 12 can be carried in the purse, a cabin bag, a wallet, or even in the traveler's pocket. As will be explained in detail below, an end user can use the client device 12 to confirm and set a travel reservation by accessing the merchant system 14. For example, the traveler can launch a browser application and use the browser application to make payment for a travel reservation. Note that the traveler can first download an application 27 to the memory of the client device 12 before the client device 12 is used to confirm and pay the travel reservation.

[0022] Le dispositif client 12 peut inclure une caméra 22 ainsi qu'un écran 24. La caméra 22 est capable de capturer des images. Par ailleurs, on remarquera également que le dispositif client 12 est capable de reconnaître et de décoder des codes-barres capturés par la caméra 22. Des exemples de codes-barres qui peuvent être capturés par la caméra 22 et décodés par le dispositif client 12 incluent, sans que ce soit limitatif, des codes à réaction rapide (QR codes). L'écran 24 du dispositif client 12 peut, par exemple, être un écran d'affichage à cristaux liquides (LCD) qui affichent électroniquement des graphiques, tels que des textes, des images, et des animations.The client device 12 may include a camera 22 and a screen 24. The camera 22 is capable of capturing images. Furthermore, it will also be noted that the client device 12 is capable of recognizing and decoding barcodes captured by the camera 22. Examples of barcodes that can be captured by the camera 22 and decoded by the client device 12 include , without being limiting, QR codes. The screen 24 of the client device 12 may, for example, be a liquid crystal display (LCD) screen that electronically displays graphics, such as text, images, and animations.

[0023] Le système commerçant 14 peut être associé à un fournisseur ou des fournisseurs de voyage spécifiques. Dans un mode de réalisation, le système commerçant 14 peut inclure une application commerçante 28, un dispositif optique 30 et un écran 32. Ainsi qu'il le sera expliqué de façon plus détaillée ci-dessous, l'application commerçante 28 peut être utilisée conjointement avec le dispositif client 12 afin de permettre l'échange sécurisé d'un jeton de carte de crédit dans le cadre de l'achat d'un produit. On remarquera que le système commerçant 14 peut aussi être mobile. Dans un mode de réalisation non limitatif, le produit peut être un produit de voyage tel que, par exemple, un voyage aérien, un voyage en train, un voyage en ferry, des chambres d'hôtel, des locations de voitures, du tourisme et d'autres activités liées au voyage. Le produit peut aussi inclure non seulement des produits de voyage, mais aussi d'autres dépenses liées au voyage telles que, par exemple, des frais de bagages qui peuvent survenir pendant les déplacements ou le surclassement d'une réservation de voyage existante. Le dispositif optique 30 peut être tout type de dispositif permettant la capture d'image tel que, par exemple, un scanner ou une caméra Web. De façon spécifique, le système commerçant 14 peut reconnaître et décoder les codes-barres qui sont affichés sur l'écran 24 du dispositif client 12. L'écran 32 du systèrne commerçant 14 peut, par exemple, être un LCD qui affiche électroniquement des graphiques tels que du texte, des illustrations et des images animées.The merchant system 14 may be associated with a specific supplier or travel suppliers. In one embodiment, the merchant system 14 may include a merchant application 28, an optical device 30, and a monitor 32. As will be explained in more detail below, the merchant application 28 may be used in conjunction with one another. with the client device 12 to allow the secure exchange of a credit card token in connection with the purchase of a product. It will be noted that the trading system 14 can also be mobile. In a non-limitative embodiment, the product may be a travel product such as, for example, air travel, train travel, ferry trip, hotel rooms, car rentals, tourism and other activities related to the trip. The product may also include not only travel products, but also other travel-related expenses such as, for example, baggage fees that may arise while traveling or upgrading an existing travel reservation. The optical device 30 may be any type of device for image capture such as, for example, a scanner or a web camera. Specifically, the merchant system 14 can recognize and decode the bar codes that are displayed on the screen 24 of the client device 12. The display 32 of the merchant system 14 may, for example, be an LCD that electronically displays graphs such as text, illustrations and animated images.

[0024] Le serveur 16 peut être en communication avec la chambre forte de jetons 18 ainsi qu'avec le serveur de paiement 20 par l’intermédiaire du réseau 26. Le serveur de paiement 20 peut être en communication avec un réseau de paiement 34 et un fournisseur de services de paiement (PSP) 36 par l'intermédiaire du serveur de paiement 20. Ainsi qu’expliqué de façon plus détaillée ci-dessous, le serveur 16 peut récupérer un numéro de carte de crédit originale de la chambre forte de jetons 18 sur la base du jeton de carte de crédit. Le serveur 16 peut recevoir une autorisation en provenance du réseau de paiement 34 validant le numéro de la carte de crédit originale et confirmer avec le PSP 36 que le système commerçant 14 est bien autorisé à effectuer un paiement pour l'achat d'un produit particulier.The server 16 may be in communication with the token vault 18 as well as with the payment server 20 via the network 26. The payment server 20 may be in communication with a payment network 34 and a payment service provider (PSP) 36 through the payment server 20. As explained in more detail below, the server 16 can retrieve an original credit card number from the token vault. 18 based on the credit card token. The server 16 may receive an authorization from the payment network 34 validating the number of the original credit card and confirm with the PSP 36 that the merchant system 14 is authorized to make a payment for the purchase of a particular product .

[0025] Faisant maintenant référence à la FIG. 2, le dispositif client 12, le système commerçant 14 et le serveur 16 de l'environnement d'exploitation 10 peuvent être implémentés sur un ou plusieurs dispositifs ou systèmes informatiques, tels que le système informatique exemplaire 40. Le système informatique 40 peut inclure un processeur 42, une mémoire 44, un dispositif de stockage de mémoire de masse 46, une interface saisie/sortie (I/O) 48 et une interface homme-machine (HMI) 50. Le système informatique 40 peut aussi être couplé de façon fonctionnelle à une ou plusieurs ressources externes 52 par l'intermédiaire du réseau 26 ou de l'interface I/O 48. Les ressources externes peuvent inclure, mais de façon non exhaustive, des serveurs, des bases de données, des dispositifs de stockage de mémoire de masse, des dispositifs périphériques, des services de réseau cloud, ou toute autre ressource informatique appropriée qui peut être utilisée avec l'ordinateur 40.[0025] Referring now to FIG. 2, the client device 12, the merchant system 14 and the server 16 of the operating environment 10 may be implemented on one or more computing devices or systems, such as the exemplary computer system 40. The computer system 40 may include a processor 42, a memory 44, a mass storage device 46, an input / output (I / O) interface 48 and a human-machine interface (HMI) 50. The computer system 40 can also be operably coupled. to one or more external resources 52 via the network 26 or the I / O interface 48. The external resources may include, but not limited to, servers, databases, memory storage devices mass, peripheral devices, cloud network services, or any other appropriate computer resource that can be used with the computer 40.

[0026] Le processeur 42 peut inclure un ou plusieurs dispositifs sélectionnés : microprocesseurs, microcontrôleurs, processeurs de signal numérique, micro-ordinateurs, unités centrales de traitement, des réseaux de portes programmables, des dispositifs logiques programmables, des machines à état défini, des circuits logiques, des circuits analogiques, des circuits numériques, ou tout autre dispositif servant à manipuler des signaux (analogues ou numériques) sur la base des instructions de fonctionnement enregistrées dans la mémoire 44. La mémoire 44 peut inclure un seul dispositif ou une pluralité de dispositifs de mémoire, notamment, mais de façon non exhaustive, la mémoire à lecture seule (read-only memory (ROM)), la mémoire à accès aléatoire (random access memory (RAM)), la mémoire volatile, la mémoire non volatile, la mémoire vive statique (SRAM), la mémoire dynamique à accès aléatoire (DRAM), la mémoire flash, l'antémémoire (cache memory), ou tout autre dispositif capable de stocker des informations. Le dispositif de stockage de mémoire de masse 46 peut inclure des dispositifs de stockage de données tels qu'un disque dur, un disque optique, un dérouleur de bande magnétique, un circuit à l'état solide volatile ou non volatile, ou tout autre dispositif capable de stocker des informations.The processor 42 may include one or more selected devices: microprocessors, microcontrollers, digital signal processors, microcomputers, central processing units, programmable gate networks, programmable logic devices, defined state machines, logic circuits, analog circuits, digital circuits, or any other device used to manipulate signals (analog or digital) based on the operating instructions stored in the memory 44. The memory 44 may include a single device or a plurality of memory devices, including, but not limited to, read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, or any another device capable of storing information. The mass storage device 46 may include data storage devices such as a hard disk, an optical disk, a tape drive, a volatile or nonvolatile solid state circuit, or any other device able to store information.

[0027] Le processeur 42 peut fonctionner sous le contrôle d'un système d'exploitation 56 qui réside dans la mémoire 44. Le système d'exploitation 56 peut gérer les ressources informatiques de telle sorte que le code de programme de l’ordinateur intégré sous forme d'une ou de plusieurs applications logicielles, telles que l'application 58 qui réside dans la mémoire 44, puisse contenir des instructions exécutables par le processeur 42. Dans un mode de réalisation, le processeur 42 peut exécuter l'application 58 directement et dans ce cas le système d'exploitation 56 peut être omis. Une ou plusieurs structures de données 60 peuvent aussi résider dans la mémoire 44 et peuvent être utilisées par le processeur 42, le système d'exploitation 56 ou l'application 58 pour conserver ou manipuler des données.The processor 42 can operate under the control of an operating system 56 which resides in the memory 44. The operating system 56 can manage the computing resources so that the program code of the integrated computer in the form of one or more software applications, such as the application 58 which resides in the memory 44, may contain instructions executable by the processor 42. In one embodiment, the processor 42 may execute the application 58 directly and in this case the operating system 56 may be omitted. One or more data structures 60 may also reside in the memory 44 and may be used by the processor 42, the operating system 56 or the application 58 to store or manipulate data.

[0028] L'interface I/O 48 peut fournir une interface machine qui couple de façon fonctionnelle le processeur 42 aux autres dispositifs et systèmes, tels que le réseau 26 ou la ressource externe 52. L'application 58 peut ainsi collaborer avec le réseau 26 ou la ressource externe 52 en communiquant par l'intermédiaire de l'interface I/O 48 afin de fournir une variété de caractéristiques, de fonctions, d'applications logicielles, de processus, ou de modules comprenant les modes de réalisation de l'invention. L'application 58 peut aussi avoir un code de programme exécutable par une ou plusieurs ressources externes 52, ou reposant autrement sur des fonctions ou signaux fournis par d'autres systèmes ou par des composants de réseaux externes au système informatique 40. En effet, au vu des configurations matérielles et logicielles presque infinies possibles, les hommes de métier comprendront que les modes de réalisation de l'invention peuvent inclure des applications localisées extérieurement au système informatique 40, distribuées à des ordinateurs multiples et à d'autres ressources externes 52, ou apportées par des ressources informatiques (matérielles et logicielles) telles qu'un service de cloud computing, fournies comme services via le réseau 26.The I / O interface 48 can provide a machine interface that functionally couples the processor 42 to other devices and systems, such as the network 26 or the external resource 52. The application 58 can thus collaborate with the network. 26 or the external resource 52 by communicating via the I / O interface 48 to provide a variety of features, functions, software applications, processes, or modules comprising the embodiments of the I / O 48 interface. invention. The application 58 may also have program code executable by one or more external resources 52, or otherwise based on functions or signals provided by other systems or by network components external to the computer system 40. given almost infinite hardware and software configurations, it will be understood by those skilled in the art that the embodiments of the invention may include applications located externally to the computer system 40, distributed to multiple computers and other external resources 52, or provided by computer resources (hardware and software) such as a cloud service, provided as services via the network 26.

[0029] Le HMI50 peut être couplé de façon fonctionnelle au processeur 42 du système informatique 40 d'une façon connue pour permettre à un utilisateur d'interagir directement avec le système informatique 40. Le HMI 50 peut inclure des écrans vidéos ou alphanumériques, un écran tactile, un haut-parleur et tout autre indicateur visuel et audio capable de fournir des données à l'utilisateur. Le HMI 50 peut aussi inclure des dispositifs de saisie et des contrôles tels qu'un clavier alphanumérique, un périphérique de pointage, des claviers, des boutons poussoir, des boutons de commande, des microphones, etc., capables d'accepter des commandes ou des saisies de l'utilisateur, et de les transmettre au processeur 42.The HMI50 may be operatively coupled to the processor 42 of the computer system 40 in a known manner to allow a user to interact directly with the computer system 40. The HMI 50 may include video or alphanumeric displays, a touch screen, a speaker and any other visual and audio indicator capable of providing data to the user. The HMI 50 may also include input devices and controls such as an alphanumeric keypad, pointing device, keyboards, push buttons, control buttons, microphones, etc. capable of accepting commands or user inputs, and transmit them to the processor 42.

[0030] Une base de données 50 peut résider sur le dispositif de mémoire de masse 46, et peut être utilisée pour recueillir et organiser les données utilisées par les différents systèmes et modules décrits dans les présentes. La base de données 54 peut inclure des données et des structures de données qui les supportent pour stocker et organiser les données. En particulier, la base de données 54 peut être agencée selon toute organisation ou structure de base de données incluant, mais de façon non exhaustive, une base de données relationnelle, une base de données de type hiérarchique, une base de données en réseau, ou des combinaisons de celles-là. Un système de gestion de base de données, sous fonme d'une application logicielle d'ordinateur qui exécute les instructions du processeur 42, peut être utilisé pour accéder aux informations ou aux données stockées dans des enregistrements de la base dè données 54 en réponse à une demande, lorsque la demande peut être déterminée de façon dynamique et exécutée par le système d'exploitation 56, les autres applications 58, ou un ou plusieurs modules.A database 50 may reside on the mass memory device 46, and may be used to collect and organize the data used by the various systems and modules described herein. The database 54 may include data and data structures that support them to store and organize the data. In particular, the database 54 may be arranged according to any organization or database structure including, but not limited to, a relational database, a hierarchical database, a networked database, or combinations of these. A database management system, as a computer software application that executes processor instructions 42, can be used to access information or data stored in records in database 54 in response to a request, when the request can be dynamically determined and executed by the operating system 56, the other applications 58, or one or more modules.

[0031] Faisant maintenant référence à la FIG. 3, le dispositif client 12 peut télécharger l'application 27 en mémoire. De façon spécifique, le dispositif client 12 peut connecter un serveur d'applications 70 via le réseau 26 et télécharger l'application 27 sur la mémoire du dispositif client 12. Comme on le voit sur la FIG.3, un certificat public (certificat PubA) peut être associé à l'application 27. Une fois que l'application 27 a été téléchargée avec succès, un utilisateur final, tel qu'un voyageur, peut créer un mot de passe. Le mot de passe peut être exigé pour accéder à l'application 27. Dans un mode de réalisation, le mot de passe peut être saisi manuellement dans le dispositif client 12 en utilisant un clavier (non illustré). Cependant, les hommes de métier comprendront que d'autres approches peuvent aussi être utilisées pour saisir le mot de passe. Dans un mode de réalisation, il peut être nécessaire de saisir le mot de passe à deux reprises afin d'empêcher une saisie erronée. Une fois que le mot de passe est créé, le mot de passe peut être conservé sous forme d'empreinte numérique dans la mémoire du dispositif client 12 pour un usage ultérieur. Les hommes de métier comprendront que le hachage de mots de passe consiste à créer, à partir d’un mot de passe de longueur variable, un mot de passe cryptique de longueur fixe, basé sur le mot de passe d'origine de longueur variable.[0031] Referring now to FIG. 3, the client device 12 can download the application 27 into memory. Specifically, the client device 12 can connect an application server 70 via the network 26 and download the application 27 to the memory of the client device 12. As seen in FIG. 3, a public certificate (PubA certificate ) can be associated with the application 27. Once the application 27 has been downloaded successfully, an end user, such as a traveler, can create a password. The password may be required to access the application 27. In one embodiment, the password may be entered manually into the client device 12 using a keyboard (not shown). However, those skilled in the art will understand that other approaches can also be used to enter the password. In one embodiment, it may be necessary to enter the password twice to prevent erroneous entry. Once the password is created, the password can be kept as a fingerprint in the memory of the client device 12 for later use. Those skilled in the art will understand that the password hash is to create, from a variable length password, a fixed length cryptic password, based on the original variable length password.

[0032] Le dispositif client 12 peut aussi générer une paire de clés asymétriques (PubP, PrivP). PubP représente la clé publique et PrivP représente une clé secrète. La cryptographie asymétrique, aussi désignée comme cryptographie de clé publique, est un système cryptographique qui utilise une paire de clés. Notamment, la clé publique (PubP) peut être largement disséminée et la clé secrète (PrivP) peut avoir un accès contrôlé grâce à l'utilisation du mot de passe. Les clés asymétriques sont enregistrées dans la mémoire du dispositif client 12.The client device 12 can also generate a pair of asymmetric keys (PubP, PrivP). PubP is the public key and PrivP is a secret key. Asymmetric cryptography, also known as public key cryptography, is a cryptographic system that uses a pair of keys. In particular, the public key (PubP) can be widely disseminated and the secret key (PrivP) can have controlled access through the use of the password. The asymmetric keys are stored in the memory of the client device 12.

[0033] Une fois que l'application 27 et les clés asymétriques sont enregistrées dans la mémoire du dispositif client 12, l'utilisateur final peut s'identifier sur l'application 27. Spécifiquement, l'utilisateur final peut s'identifier sur l'application 27 et saisir le mot de passe. Si le mot de passe haché saisi par l'utilisateur correspond à l'empreinte numérique sauvegardée précédemment dans la mémoire du dispositif client 12, l'accès à la clé secrète PrivP ainsi que l'accès à des transactions ultérieures sont accordés. Spécifiquement, Tutilisateur final peut maintenant enregistrer une ou plusieurs cartes de crédit qui peuvent être utilisées pour l'achat d'un produit, par exemple un billet d'avion, en utilisant l'application 27. Chaque carte de crédit est associée à un numéro de carte de crédit unique.Once the application 27 and the asymmetric keys are stored in the memory of the client device 12, the end user can identify himself on the application 27. Specifically, the end user can identify himself on the application 27 and enter the password. If the hashed password entered by the user corresponds to the digital fingerprint previously saved in the memory of the client device 12, access to the PrivP secret key and access to subsequent transactions are granted. Specifically, the end user can now register one or more credit cards that can be used to purchase a product, for example an airline ticket, using the application 27. Each credit card is associated with a number credit card.

[0034] Faisant maintenant référence à la FIG. 1, on remarquera que le dispositif client 12 doit être connecté au réseau 26 avant que la carte de crédit ne soit enregistrée. L'enregistrement d'une carte de crédit unique à l'aide de l'application 27 du dispositif client 12 est maintenant expliquée. Tout d'abord, l'utilisateur final peut choisir une option pour enregistrer un nouveau numéro de carte de crédit à l'aide du dispositif client 12. Par exemple, l'utilisateur final peut choisir une option telle que, par exemple, « Enregistrer une carte », sur un menu qui est affiché sur l'écran 24 du dispositif client 12. L'utilisateur final peut ensuite saisir le numéro de carte de crédit et les autres détails liés à la carte de crédit à l'aide d'un clavier ou d'une autre interface utilisateur du dispositif client 12. Cependant, on remarquera que-d'autres approches peuvent être utilisées également pour saisir les informations de la carte de crédit telles que, par exemple, la véritable carte de crédit prise en photo, puis son analyse à l'aide d'une technologie de reconnaissance optique de caractères (OCR). Des détails de carte de crédit incluent, par exemple, mais de façon non limitative, une date d'expiration associée à la carte, le nom du principal détenteur de la carte, l'adresse du principal détenteur de la carte, et la valeur de vérification de la carte (CW) associée à la carte de crédit. Une fois que l'utilisateur final a saisi le numéro de la carte de crédit et les détails associés à la carte de crédit, une vérification de la carte de crédit peut être effectuée par l'application 27 pour confirmer la date d'expiration. L'application 27 peut aussi exécuter un algorithme de Luhn, qui consiste en une formule de somme de contrôle, pour vérifier que le numéro de carte de crédit ne comporte pas de chiffres erronés.[0034] Referring now to FIG. 1, it will be noted that the client device 12 must be connected to the network 26 before the credit card is registered. The registration of a single credit card using the application 27 of the client device 12 is now explained. First, the end user may choose an option to register a new credit card number using the client device 12. For example, the end user may choose an option such as, for example, "Save a map "on a menu that is displayed on the screen 24 of the client device 12. The end user can then enter the credit card number and other credit card details using a However, it should be noted that other approaches can also be used to enter credit card information such as, for example, the real credit card taken into the picture. then its analysis using Optical Character Recognition (OCR) technology. Credit card details include, but are not limited to, an expiry date associated with the card, the name of the primary cardholder, the address of the primary cardholder, and the value of the card. verification of the credit card (CW) associated with the credit card. Once the end user has entered the credit card number and the details associated with the credit card, a credit card verification may be performed by the application 27 to confirm the expiration date. The application 27 can also execute a Luhn algorithm, which consists of a checksum formula, to verify that the credit card number does not have erroneous digits.

[0035] Une fois que le numéro de carte de crédit et les détails associés à la carte de crédit sont vérifiés, l'application 27 et le dispositif client 12 peuvent construire des données cryptées de charge utile, désignées comme les données de charge utile de provisionnement de la carte. De façon spécifique, l'application 27 du dispositif client 12 peut obtenir le certificat public PubA. L'application 27 peut ensuite générer une clé symétrique S1 et son vecteur initial associé II. La clé symétrique S1 et le vecteur initial II peuvent être concaténés et signés ensuite par la clé secrète (PrivP) afin d'obtenir (SI, Il)’*‘p, dans lequel le « » dénote que la valeur est signée. L'application 27 peut ensuite concaténer la clé symétrique SI, le vecteur initiai II et (SI, Ι1)”'ρ, puis crypter ces valeurs en utilisant le certificat public PubA sur la base d’un schéma de remplissage par cryptage asymétrique optique (Optical Asymmetric Encryption Padding, ou [OAEP]) pour obtenir (SI, II, (SI, Ι1)”'ρ'α, ou le « ' » dénote que la valeur est cryptée.Once the credit card number and the details associated with the credit card are verified, the application 27 and the client device 12 can build encrypted payload data, designated as the payload data of the payload. provisioning of the card. Specifically, the application 27 of the client device 12 can obtain the public certificate PubA. The application 27 can then generate a symmetric key S1 and its associated initial vector II. The symmetric key S1 and the initial vector II can be concatenated and then signed by the secret key (PrivP) in order to obtain (SI, II) '*' p, in which the "" denotes that the value is signed. The application 27 can then concatenate the symmetric key SI, the initial vector II and (SI, Ι1) "'ρ, and then encrypt these values by using the public certificate PubA on the basis of an optical asymmetric encryption filling scheme ( Optical Asymmetric Encryption Padding, or [OAEP]) to obtain (SI, II, (SI, Ι1) "'ρ'α, or the' '" denotes that the value is encrypted.

[0036] L'application 27 du dispositif client 12 peut ensuite signer le numéro de carte de crédit qui est dénoté dans les présentes comme N, à l’aide de la clé secrète PrivP pour obtenir la signature N* p. Le numéro de carte de crédit N peut ensuite être concaténé avec la signature N* p et crypté avec la clé symétrique SI pour obtenir (N, N* p)'si. Enfin, l'application 27 du dispositif client 12 peut concaténer le certificat de la clé publique PubP, le résultat étant désigné comme certP, avec (S 1,11, [SI, Il ]*p) » a et (N, N* p) » SI. Le résultat donne les données de charge utile de provisionnement de la carte. Le dispositif client 12 peut envoyer les données de charge utile de provisionnement de la carte, comprises dans la demande de provisionnement de la carte, au serveur 16 via le réseau 26.The application 27 of the client device 12 can then sign the credit card number which is denoted herein as N, using the PrivP secret key to obtain the signature N * p. The credit card number N can then be concatenated with the signature N * p and encrypted with the symmetric key S1 to obtain (N, N * p) 'si. Finally, the application 27 of the client device 12 can concatenate the certificate of the public key PubP, the result being designated as certP, with (S 1,11, [SI, II] * p) "a and (N, N * p) »SI. The result gives the payload data for provisioning the card. The client device 12 may send the card provisioning payload data included in the card provisioning request to the server 16 via the network 26.

[0037] En réponse à la réception de la demande de provisionnement de la carte, le serveur 16 peut en extraire les données de charge utile de provisionnement et décrypter ensuite les données de charge utile de provisionnement de la carte pour obtenir le numéro de la carte de crédit N. De façon spécifique, le serveur 16 peut par la suite obtenir la clé symétrique SI, le vecteur initial II et (SI, Il)*p, et déciypter chacune des valeurs avec un certificat privé PrivA. Le certificat privé PrivA est la clé secrète associée au certificat public PubA, et le certificat public PubA ainsi que le certificat privé Priv A sont générés avant que l'application 27 ne soit sauvegardée sur le serveur d'applications 70. Le serveur 16 peut ensuite vérifier la signature de (SI, 11)’"p de la clé symétrique SI et le vecteur initial II à l’aide du certificat concaténé de la clé publique certP. Le serveur 16 peut alors obtenir le numéro de la carte de crédit N et N* p et décrypter ces deux valeurs en utilisant la clé symétrique S1. Puis, la signature Ν’" p du numéro de la carte de crédit N peut être vérifiée à l’aide du certificat concaténé de la clé publique certP.In response to the receipt of the card provisioning request, the server 16 can extract the provisioning payload data and then decrypt the provisioning payload data of the card to obtain the card number. Specifically, the server 16 may subsequently obtain the symmetric key SI, the initial vector II and (SI, II) * p, and decipher each of the values with a PrivA private certificate. The private certificate PrivA is the secret key associated with the public certificate PubA, and the public certificate PubA and the private certificate Priv A are generated before the application 27 is saved on the application server 70. The server 16 can then verify the signature of (SI, 11) '"p of the symmetric key SI and the initial vector II using the concatenated certificate of the public key certP, the server 16 can then obtain the credit card number N and N * p and decrypt these two values using the symmetric key S1, then the signature Ν '"p of the credit card number N can be verified using the concatenated certificate of the public key certP.

[0038] Le serveur 16 peut ensuite envoyer le numéro de la carte de crédit N à une application de tokénisation74. L'application de tokénisation74 peut alors générer un jeton de carte de crédit T sur la base du numéro unique de carte de crédit N. Les hommes de métier comprendront que les jetons ne peuvent pas être utilisés en dehors du contexte d'une transaction unique spécifique avec un commerçant spécifique. L'application de tokénisation74 peut ensuite renvoyer le jeton de carte de crédit T au serveur 16. L'application de tokénisation 74 peut aussi envoyer le Jeton T ainsi que le numéro unique de la carte de crédit N à la chambre forte de Jetons 18. La chambre forte de Jetons 18 est le seul élément compris dans le système d'exploitation 10 où le Jeton de la carte de crédit T est mappé sur le numéro unique de la carte de crédit N.The server 16 can then send the credit card number N to a tokenization application74. The tokenization application74 can then generate a credit card token T based on the unique credit card number N. Those skilled in the art will understand that the tokens can not be used outside the context of a specific single transaction. with a specific trader. The tokenization application74 can then return the credit card token T to the server 16. The tokenization application 74 can also send the Token T and the unique number of the credit card N to the vault of Tokens 18. The vault of Tokens 18 is the only element included in the operating system 10 where the Token of the credit card T is mapped to the unique number of the credit card N.

[0039] En réponse à la réception du jeton de carte de crédit T en provenance de l'application de tokénisation74, le serveur 16 peut ensuite générer une clé symétrique S2 et son vecteur initial 12. Dans un mode de réalisation, la clé symétrique S2 est basée sur la norme de cryptage 128 bits avancée utilisant le mode de cryptage avec enchaînement de blocs de données (AES 128 CBC). Le serveur 16 peut ensuite concaténer la clé symétrique S2 et le vecteur initial 12, puis signer la valeur avec le certificat privé PrivA pour obtenir (S2, 12)*a. Le serveur 16 peut ensuite concaténer la clé symétrique S2, le vecteur initial 12 et (S2,12)* A et les crypter avec la clé publique PubP sur la base du schéma de remplissage OAEP pour obtenir (S2,12, [S2, 12]*a) » p. Le serveur 16 peut ensuite signer le Jeton de la carte de crédit T avec le certificat privé PrivA pour obtenir un Jeton signé T* a- Le serveur 16 peut ensuite concaténer le Jeton T avec le Jeton signé T*a, et crypter les deux valeurs avec la clé symétrique S2 pour obtenir (T, T*a) » sa. Enfin, le serveur 16 peut concaténer (S2,12, [S2, I2]*a) » p et (T, T*a) » sa- Les données de charge utile qui en résultent sont renvoyées dans une réponse de provisionnement de carte 76 via le réseau 26 au dispositif client 12.In response to the receipt of the credit card token T from the tokenization application74, the server 16 can then generate a symmetric key S2 and its initial vector 12. In one embodiment, the symmetric key S2 is based on the advanced 128-bit encryption standard using encryption mode with data block chaining (AES 128 CBC). The server 16 can then concatenate the symmetric key S2 and the initial vector 12, and then sign the value with the private certificate PrivA to obtain (S2, 12) * a. The server 16 can then concatenate the symmetric key S2, the initial vector 12 and (S2,12) * A and encrypt them with the public key PubP on the basis of the filling scheme OAEP to obtain (S2,12, [S2, 12 ] * a) »p. The server 16 can then sign the Token of the credit card T with the private certificate PrivA to obtain a signed Token T * a- The server 16 can then concatenate the Token T with the Token signed T * a, and encrypt the two values with the symmetric key S2 to obtain (T, T * a) »sa. Finally, the server 16 can concatenate (S2,12, [S2, I2] * a) "p and (T, T * a)" sa. The resulting payload data is returned in a map provisioning response. 76 via the network 26 to the client device 12.

[0040] En réponse à la réception de la réponse de provisionnement de carte 76, l'application 27 du dispositif client 12 peut vérifier le certificat concaténé du certificat privé PrivA, désigné comme certA, avec des clés à numéro personnel d'identification (PIN). Les hommes de métier comprendront que les clés PIN sont des mécanismes de sécurité permettant de résister au piratage faisant usage de certificat frauduleux. L'application 27 du dispositif client 12 peut ensuite obtenir la clé symétrique S2, le vecteur initial 12 et la signature (S2, I2)*a et décrypter ces valeurs avec la clé secrète PrivP. L'application du dispositif client 12 peut alors vérifier la signature (S2,12)* a de la clé symétrique S2 et le vecteur initial 12 avec le certificat concaténé du certificat privé certA. L'application 27 du dispositif client 12 peut ensuite obtenir le Jeton de la carte de crédit T ainsi que le Jeton signé T*a et décrypter ces valeurs à l'aide de la clé symétrique S2. Puis, l'application 27 du dispositif client 12 peut vérifier le Jeton signé T*a du Jeton de la carte de crédit T avec le certificat concaténé du certificat privé certA. Enfin, après la vérification du Jeton signé T* A, le Jeton de la carte de crédit T peut être conservé dans la mémoire du dispositif client 12.In response to the receipt of the card provisioning response 76, the application 27 of the client device 12 can verify the concatenated certificate PrivA private certificate, designated as certA, with personal identification number keys (PIN ). Those skilled in the art will understand that PIN keys are security mechanisms to resist piracy using fraudulent certificates. The application 27 of the client device 12 can then obtain the symmetric key S2, the initial vector 12 and the signature (S2, I2) * a and decrypt these values with the secret key PrivP. The application of the client device 12 can then check the signature (S2,12) * a of the symmetric key S2 and the initial vector 12 with the concatenated certificate of the private certificate certA. The application 27 of the client device 12 can then obtain the Token of the credit card T and the Token signed T * a and decrypt these values using the symmetrical key S2. Then, the application 27 of the client device 12 can verify the signed Token T * a Token of the credit card T with the concatenated certificate certA private certificate. Finally, after the verification of the Token signed T * A, the Token of the credit card T can be stored in the memory of the client device 12.

[0041] On remarquera que le dispositif client 12 enregistre lejeton de la carte de crédit T dans sa mémoire respective et que lejeton de la carte de crédit peut être utilisé ultérieurement lors d'une transaction de paiement. Si l'utilisateur final voyage et qu'il se trouve dans un pays étranger ou un autre endroit où le service cellulaire n'est pas disponible, ou qu'il est coûteux en raison des frais d'itinérance de données, l'utilisateur final n'a pas besoin de connectivité de réseau pour effectuer le paiement d'une réservation de voyage spécifique, puisque le jeton T de la carte de crédit de l'utilisateur final a déjà été enregistré en mémoire. Par ailleurs, en remarquera que plus d'un jeton de carte de crédit peut être sauvegardé en mémoire sur le dispositif client 12, chaque jeton de carte de crédit correspondant à une carte de crédit unique. Par exemple, en faisant référence à la FIG. 4, le dispositif client 12 publie le numéro de carte de crédit 80 sur l'écran 24. On remarquera que seuls les quatre derniers chiffres des numéros de carte de crédit 80 sont lisibles pour l'utilisateur final, et que le numéro intégral de la carte de crédit n'est pas conservé en mémoire sur le dispositif client 12.It will be noted that the client device 12 registers the card of the credit card T in its respective memory and that the card of the credit card can be used later during a payment transaction. If the end user travels and is in a foreign country or other location where cellular service is not available, or is expensive due to data roaming charges, the end user does not require network connectivity to make payment for a specific travel reservation, since the T token of the end user's credit card has already been stored in memory. In addition, note that more than one credit card token can be saved in memory on the client device 12, each credit card token corresponding to a single credit card. For example, with reference to FIG. 4, the client device 12 publishes the credit card number 80 on the screen 24. It will be noted that only the last four digits of the credit card numbers 80 are readable for the end user, and that the full number of the credit card is not kept in memory on the client device 12.

[0042] Pendant son voyage, l'utilisateur final peut avoir besoin de payer une réservation de voyage et/ou d'autres frais accessoires afférents, tels que par exemple, des frais d'excédent de bagages. Dans le mode de réalisation exemplaire montrée sur la FIG. 4, l'utilisateur final peut avoir besoin de payer des fi-ais d'excédent de bagages qui coûtent 50 euros. Cependant, on remarquera que le mode de réalisation illustré dans la FIG. 4 est purement de nature exemplaire et que divers autres produits et frais peuvent également faire l'objet d'un achat. Faisant maintenant référence aux deux FIGS. 1 et 4, un agent peut confirmer par la suite que l'utilisateur final souhaite payer le produit (par ex., les cinquante euros pour les frais d'excédent de bagages) en utilisant une des cartes de crédit ayant un jeton T de carte de crédit correspondant sauvegardé en mémoire sur le dispositif client 12. Une fois que cela est confirmé, l'agent peut ensuite utiliser un clavier ou un autre dispositif de saisie du système commerçant 14 (non illustré) pour indiquer que l'utilisateur final souhaite payer le produit à l’aide de son dispositif client 12.During his trip, the end user may need to pay a travel reservation and / or other incidental costs, such as, for example, excess baggage charges. In the exemplary embodiment shown in FIG. 4, the end user may need to pay excess baggage costs that cost 50 euros. However, it will be appreciated that the embodiment illustrated in FIG. 4 is purely exemplary in nature and that various other products and expenses may also be purchased. Now referring to both FIGS. 1 and 4, an agent may subsequently confirm that the end user wishes to pay for the product (eg, the fifty euros for excess baggage charges) by using one of the credit cards with a card token T Corresponding credit stored in memory on the client device 12. Once confirmed, the agent can then use a keypad or other input device of the merchant system 14 (not shown) to indicate that the end user wishes to pay the product using its client device 12.

[0043] En réponse à la réception d'une indication de l'agent, l'application commerçante 28 du système Commerçant 14 peut envoyer une demande au serveur 16 via le réseau 26. La demande envoyée au serveur 16 est pour un code-barres 82, ou pour des données de charge utile, indiquant une pluralité des paramètres de paiement concernant le produit. Dans le mode de réalisation exemplaire illustré dans la FIG. 4 le code-barres 82 est un code QR ; cependant, on remarquera que d'autres types de code-barres peuvent aussi être générés. Dans un mode de réalisation, les paramètres de paiement peuvent inclure, de façon non exhaustive, un montant monétaire dû (par ex., cinquante euros), un type de devise spécifique sur lequel est basé le montant monétaire (par ex., l'Euro), une description du produit (par ex., frais d'excédent de bagages) et un identifiant de référence de paiement (ID).In response to receiving an indication from the agent, the merchant application 28 of the merchant system 14 can send a request to the server 16 via the network 26. The request sent to the server 16 is for a barcode 82, or for payload data, indicating a plurality of the payment parameters relating to the product. In the exemplary embodiment illustrated in FIG. Bar code 82 is a QR code; however, it will be appreciated that other types of bar codes may also be generated. In one embodiment, the payment parameters may include, but are not limited to, a monetary amount due (e.g., fifty euros), a specific currency type upon which the monetary amount (e.g. Euro), a product description (eg excess baggage charge) and a payment reference identifier (ID).

[0044] En réponse à la réception d'une demande en provenance du système commerçant 14, le serveur 16 peut par la suite confirmer avec le PSP 36 que le système commerçant 14 est bien autorisé à effectuer un paiement en utilisant le code-barres 82. Si le système commerçant 14 est autorisé à effectuer un paiement à l'aide du code-barres 82, le PSP 36 peut alors générer le code-barres 82. Le code-barres 82 peut être encodé avec une paire temporaire de clés asymétriques. Le PSP 36 peut ensuite envoyer une autorisation au serveur 16. L'autorisation inclut le code-barres 82. En réponse à la réception d’une autorisation en provenance du PSP 36, le serveur 16 peut ensuite envoyer le code-barres 82 via le réseau 26 au système commerçant 14. En réponse à la réception du code-barres 82, l'application 28 du système commerçant 14 peut publier le code-barres 82 sur l'écran 24 correspondant.In response to the receipt of a request from the merchant system 14, the server 16 can subsequently confirm with the PSP 36 that the merchant system 14 is authorized to make a payment using the bar code 82 If the merchant system 14 is authorized to make a payment using the bar code 82, the PSP 36 can then generate the bar code 82. The bar code 82 may be encoded with a temporary pair of asymmetric keys. The PSP 36 can then send an authorization to the server 16. The authorization includes the bar code 82. In response to receiving an authorization from the PSP 36, the server 16 can then send the barcode 82 via the network 26 to the merchant system 14. In response to receipt of the bar code 82, the application 28 of the merchant system 14 can publish the bar code 82 on the corresponding screen 24.

[0045] Une fois que le code-barres 82 est publié sur l'écran 24 du système commerçant 14, l'utilisateur final peut ensuite positionner le dispositif client 12 de sorte que la caméra 22 peut numériser le code-barres 82. On remarquera que l'utilisateur final s'est déjà identifie sur l'application 27 du dispositif client 12 et a saisi le mot de passe avec succès. Le dispositif client 12 peut ensuite décoder le code-barres 82 afin d'en extraire les paramètres de paiement. Le dispositif client 12 peut ensuite publier les paramètres de paiement sur son écran 24. Par exemple, comme on le voit sur la FIG. 4, les paramètres de paiement indiquent que 50 € sont exigés pour le paiement des frais d’excédent de bagages. Le dispositif client 12 peut alors publier les numéros des cartes de crédit 80 ayant des jetons de cartes de crédit correspondants sauvegardés en mémoire sur le dispositif client 12.Once the bar code 82 is published on the screen 24 of the trading system 14, the end user can then position the client device 12 so that the camera 22 can scan the bar code 82. It will be noted that the end user has already identified himself on the application 27 of the client device 12 and has entered the password successfully. The client device 12 can then decode the bar code 82 in order to extract the payment parameters. The client device 12 can then publish the payment parameters on its screen 24. For example, as seen in FIG. 4, Payment parameters indicate that 50 € are required for the payment of excess baggage fees. The client device 12 can then publish the numbers of the credit cards 80 having corresponding credit card tokens saved in memory on the client device 12.

[0046] L'utilisateur final peut ensuite sélectionner ou saisir le numéro de carte de crédit 80 qui doit être utilisé pour l’achat du produit en utilisant le dispositif client 12. Dans un mode de réalisation, l’utilisateur final peut aussi utiliser un numéro de carte de crédit par défaut 80, présélectionné au moment du paiement, ou des règles plus complexes peuvent être utilisées pour une sélection automatique d'un numéro de carte de crédit spécifique. Dans l’éventualité où un numéro de carte de crédit unique 80 aurait un jeton T de carte de crédit correspondant sauvegardé en mémoire, l'utilisateur final peut alors simplement avoir besoin de confirmer l’utilisation du numéro unique de carte de crédit 80. En réponse à la réception d'une confirmation de la part de l'utilisateur final, l'application 17 du dispositif client 12 peut alors générer un autre code-barres 84. Dans le mode de réalisation exemplaire illustré dans la FIG. 4, le code-barres 84 est également un code QR ; cependant, on notera que d'autres types de code-barres peuvent aussi être utilisés. Le code-barres 84 inclut d'autres données cryptées de charge utile. La génération de ces données cryptées de charge utile est décrite ci-dessous.The end user can then select or enter the credit card number 80 to be used for the purchase of the product using the client device 12. In one embodiment, the end user can also use a Default credit card number 80, pre-selected at the time of payment, or more complex rules can be used for automatic selection of a specific credit card number. In the event that a single credit card number 80 has a corresponding credit card T token stored in memory, the end user may then simply need to confirm the use of the unique credit card number 80. response to receipt of a confirmation from the end user, the application 17 of the client device 12 can then generate another bar code 84. In the exemplary embodiment illustrated in FIG. 4, the bar code 84 is also a QR code; however, it will be appreciated that other types of bar codes may also be used. The bar code 84 includes other encrypted payload data. The generation of these encrypted payload data is described below.

[0047] L'application 27 du dispositif client 12 peut d'abord générer une clé symétrique S3 et son vecteur initial 13. L'application 27 du dispositif client 12 peut ensuite concaténer à la fois la clé symétrique S3 et le vecteur initial 13 et signer le résultat avec la clé secrète PrivP pour obtenir (S3,13)*p.The application 27 of the client device 12 can first generate a symmetric key S3 and its initial vector 13. The application 27 of the client device 12 can then concatenate both the symmetric key S3 and the initial vector 13 and sign the result with the secret key PrivP to obtain (S3,13) * p.

La clé symétrique S3, le vecteur initial 13 et (S3,13)’"p peuvent ensuite être ciyptés avec le certificat public PubA sur la base d'un schéma de remplissage OAEP pour obtenir (S3,13, [S3,13]*p) » a. L'application 27 du dispositif client 12 peut ensuite construire des données de charge utile L. Spécifiquement, les données de charge utile L peuvent inclure (S3,13, [S3, I3]'"p) » a et le jeton T de la carte de crédit. Les données de charge utile L sont ensuite signées avec la clé secrète PrivP pour obtenir L *p. Les données de charge utile L et les données de charge utile signées L*p sont aussi signées avec la clé symétrique S3 pour obtenir (L, L**P)'s3. Enfin, le certificat concaténé de la clé publique certP, (S3,13, [S3,13]*P) » a et (L, L*p) » S3 sont concaténés pour créer les données cryptées de charge utile.The symmetric key S3, the initial vector 13 and (S3,13) '"p can then be coded with the public certificate PubA on the basis of an OAEP filling scheme to obtain (S3,13, [S3,13] * p) "a. Application 27 of client device 12 may then construct payload data L. Specifically, payload data L may include (S3,13, [S3, I3] '" p) "a and the token T of the credit card. The payload data L is then signed with the secret key PrivP to obtain L * p. The payload data L and the signed payload data L * p are also signed with the symmetric key S3 to obtain (L, L ** P) 's3. Finally, the concatenated certificate of the public key certP, (S3,13, [S3,13] * P) "a and (L, L * p)" S3 are concatenated to create the encrypted payload data.

[0048] L'application 27 du dispositif client 12 pept ensuite publier le code QR 84 sur l'écran 24. Une fois que l'utilisateur final voit que le code QR 84 a été publié sur l'écran 24 du dispositif client 12, l'utilisateur final peut alors positionner le dispositif client 12 de sorte que le code QR 84 soit lu par le dispositif optique 30 du système commerçant 14 en utilisant la communication en lumière visible. Le système commerçant 14 peut ensuite envoyer le code QR 84 ou les données de charge utile du code QR via le réseau 26 au serveur 16. Le serveur 16 peut ensuite décoder et valider les données cryptées, de charge utile contenues dans le code QR 84. En particulier, le serveur 16 peut valider les données cryptées de charge utile afin d'obtenir le jeton de lacarte de crédit T. On remarquera que la transaction peut être annulée avant la validation. Ainsi, aucun paiement ne peut être fait en utilisant la carte de crédit de l'utilisateur final.The application 27 of the client device 12 pept then publish the QR code 84 on the screen 24. Once the end user sees that the QR code 84 has been published on the screen 24 of the client device 12, the end user can then position the client device 12 so that the QR code 84 is read by the optical device 30 of the merchant system 14 using the visible light communication. The merchant system 14 can then send the QR code 84 or the QR code payload data via the network 26 to the server 16. The server 16 can then decode and validate the encrypted, payload data contained in the QR code 84. In particular, the server 16 can validate the encrypted payload data in order to obtain the credit card token T. It will be noted that the transaction can be canceled before the validation. Thus, no payment can be made using the end user's credit card.

[0049] Le serveur 16 peut valider les données cryptées de charge utile en obtenant la clé symétrique S3, le vecteur initial 13 et (S3, I3)’"p et décrypter ces valeurs en utilisant le certificat privé PrivA. Le serveur 16 peut ensuite vérifier la signature (S3,13)’"? de la clé symétrique S3 et le vecteur initial 13 en utilisant le certificat concaténé de la clé publique certP pour obtenir les données de charge utile L et les données signées de charge utile L'*p. Les données signées de charge utile L·"? sont ensuite vérifiées par le certificat concaténé de la clé publique certP. La validation des données cryptées de charge utile permet au serveur 16 de récupérer le numéro de la carte de crédit originale N de la chambre forte de jetons 18.The server 16 can validate the encrypted payload data by obtaining the symmetric key S3, the initial vector 13 and (S3, I3) '"p and decrypt these values using the PrivA private certificate. check the signature (S3,13) '"? of the symmetric key S3 and the initial vector 13 using the concatenated certificate of the public key certP to obtain the payload data L and the signed payload data L '* p. The signed data of the payload L "" are then verified by the concatenated certificate of the public key certP The validation of the encrypted payload data enables the server 16 to recover the number of the original credit card N of the vault. of chips 18.

[0050] Une fois que le numéro de la carte de crédit originale a été récupéré, le serveur 16 peut ensuite effectuer une autorisation de paiement pour obtenir l'autorisation de l'émetteur de la carte de crédit. Spécifiquement, le serveur 16 peut envoyer une demande via le réseau 26 au réseau de paiement 34 pour déterminer si le numéro de la carte de crédit N est valide et si l'émetteur de la carte de crédit donne son accord pour le paiement. Le réseau de paiement 34 peut renvoyer l'autorisation au serveur 16 via le réseau 26. En réponse à la réception de l'autorisation de paiement du réseau de paiement, le serveur 16 peut ensuite envoyer une réponse au système commerçant 14 via le réseau 26. La réponse indique que le numéro de la carte de crédit N est valide et que le paiement a été confirmé par l'émetteur de la carte de crédit.Once the original credit card number has been recovered, the server 16 can then make a payment authorization to obtain authorization from the issuer of the credit card. Specifically, the server 16 may send a request via the network 26 to the payment network 34 to determine whether the credit card number N is valid and whether the credit card issuer agrees to the payment. The payment network 34 may return the authorization to the server 16 via the network 26. In response to the receipt of the payment authorization of the payment network, the server 16 can then send a response to the merchant system 14 via the network 26. The answer indicates that the credit card number N is valid and the payment has been confirmed by the credit card issuer.

[0051] En réponse à la réception de la réponse du serveur 16, le système commerçant 14 peut générer un reçu de paiement. En particulier, l'application commerçante 28 du système commerçant 14 peut générer un reçu de paiement qui est contenu dans le code-barres (non illustré). Le code-barres peut être publié sur l'écran 32 du système commerçant 14. L'utilisateur final peut alors positionner le dispositif client 12 de sorte que la caméra 22 peut numériser le code-barres publié sur l'écran 32 du système commerçant 14.In response to receiving the response from the server 16, the merchant system 14 can generate a payment receipt. In particular, the merchant application 28 of the merchant system 14 may generate a payment receipt that is contained in the barcode (not shown). The barcode can be published on the screen 32 of the merchant system 14. The end user can then position the client device 12 so that the camera 22 can scan the barcode published on the screen 32 of the merchant system 14 .

[0052] En se référant de façon générale aux dessins, le système divulgué apporte une approche commode et conviviale permettant au dispositif client de communiquer avec le système commerçant, même si le dispositif client a peu ou pas de connectivité à un réseau. On remarquera qu'il est possible que le voyageur ne puisse pas se connecter à Internet pendant son déplacement, et plus particulièrement lorsqu’il est de passage dans des pays étrangers ou des endroits dans le monde où la connectivité des réseaux est limitée ou inexistante. En effet, le système divulgué utilise le matériel existant sur un dispositif client (par ex., la caméra) pour numériser et décoder un code-barres qui est publié sur l'écran du système commerçant Le système divulgué apporte une approche plus efficace pour le voyageur, lui permettant ainsi de payer une réservation de voyage sans avoir besoin de sa carte de crédit physique. En d'autres termes, les voyageurs n'ont plus besoin de chercher leur carte de crédit physique, qui peut être difficile à trouver, et notaiiunent lorsque le voyageur porte de nombreux sacs pendant son déplacement Enfin, les cartes d'entreprise, les cartes partagées, les points de fidélité, ou même les cartes de crédit virtuelles peuvent aussi être utilisées.Referring generally to the drawings, the disclosed system provides a convenient and user-friendly approach for the client device to communicate with the merchant system, even if the client device has little or no connectivity to a network. It should be noted that the traveler may not be able to connect to the Internet while traveling, especially when traveling to foreign countries or places in the world where network connectivity is limited or non-existent. Indeed, the disclosed system uses existing hardware on a client device (eg, the camera) to scan and decode a barcode that is published on the merchant system screen. The disclosed system provides a more efficient approach to the problem. traveler, allowing him to pay a travel reservation without the need for his physical credit card. In other words, travelers no longer need to look for their physical credit card, which can be hard to find, and noticeable when the traveler carries many bags while on the move. Finally, business cards, cards shared, loyalty points, or even virtual credit cards can also be used.

[0053] Généralement les routines exécutées pour mettre en œuvre les modes de réalisation de l'invention, qu'elles soient implémentées dans le cadre d'un système d'exploitation ou d'une application spécifique, d'un composant d'un programme, d'un objet d’un module ou d'une séquence d'instructions, ou même un sous-ensemble de ceux-là, peuvent être désignées dans les présentes comme « code de programme informatique » ou simplement « code de programme. » Un code de programme comporte typiquement des instructions lisibles par ordinateur qui résident à divers moments dans divers dispositifs de mémoire et de stockage dans un ordinateur et qui, lorsqu'elles sont lues et exécutées par un ou plusieurs processeurs dans un ordinateur, amènent l'ordinateur à effectuer les opérations nécessaires à l'exécution d'opérations et/ou d'éléments propres à la mise en œuvre des aspects variés des modes de réalisation de l'invention. Les instructions d'un programme, lisibles par ordinateur, pour effectuer les opérations des modes de réalisation de l'invention peuvent être, par exemple, le langage d'assemblage, ou encore un code source ou un code objet écrit en combinaison avec un ou plusieurs langages de programmation.Generally the routines executed to implement the embodiments of the invention, whether implemented in the context of an operating system or a specific application, a component of a program , an object of a module or sequence of instructions, or even a subset thereof, may be referred to herein as "computer program code" or simply "program code." Program code typically includes computer readable instructions that reside at various times in various memory and storage devices in a computer and, when read and executed by one or more processors in a computer, bring the computer to perform the operations necessary to perform operations and / or elements specific to the implementation of various aspects of the embodiments of the invention. Computer-readable program instructions for carrying out the operations of the embodiments of the invention may be, for example, assembly language, or source code or object code written in combination with one or more several programming languages.

[0054] Divers codes de programme décrits dans les présentes peuvent être identifiés selon l'application dans laquelle ils sont implémentés dans des modes de réalisation spécifiques de l'invention. Cependant, on remarquera que toute nomenclature d'un programme particulier dans ce qui suit est utilisée uniquement par commodité ; ainsi l'invention ne peut être limitée à un seul usage dans toute application spécifique identifiée et/ou sous-entendue par ladite nomenclature. Par ailleurs, au vu du nombre généralement infini de moyens par lesquels les programmes informatiques peuvent être organisés selon des sous-programmes, procédures, procédés, modules, objets, et ainsi de suite, ainsi que les façons variées d'affecter les fonctionnalités d'un programme parmi diverses couches de logiciels qui sont résidents dans un ordinateur typique (par ex., les systèmes d'exploitation, les bibliothèques, les interfaces d'application de programme [API], les applications, les applications courtes [applets], etc.), on remarquera que les modes de réalisation de l'invention ne sont pas limités à l'organisation spécifique ou à l'affectation spécifique des fonctionnalités de programme telles qu'elles sont décrites dans les présentes.[0054] Various program codes described herein may be identified according to the application in which they are implemented in specific embodiments of the invention. However, it will be noted that any nomenclature of a particular program in the following is used solely for convenience; thus the invention can not be limited to a single use in any specific application identified and / or implied by said nomenclature. Moreover, in view of the generally infinite number of means by which computer programs can be organized according to subroutines, procedures, processes, modules, objects, and so on, as well as the various ways of affecting the functionalities of a program among various layers of software that are resident in a typical computer (eg, operating systems, libraries, program application interfaces [APIs], applications, short applications [applets], etc. .), it will be appreciated that the embodiments of the invention are not limited to the specific organization or assignment of the program features as described herein.

[0055] Le code de programme mis en œuvre dans toute application/module décrit(e) dans les présentes peut être distribué individuellement ou collectivement comme un produit programme d’ordinateur sous une variété de formes. En particulier, le code de programme peut être distribué en utilisant un support de stockage lisible par ordinateur, disposant d'instructions de programme lisibles par ordinateur, permettant à un processeur d'effectuer des aspects des modes de réalisation de l'invention.[0055] The program code implemented in any application / module described herein may be distributed individually or collectively as a computer program product in a variety of forms. In particular, the program code may be distributed using a computer readable storage medium having computer readable program instructions, allowing a processor to perform aspects of the embodiments of the invention.

[0056] Les supports de stockage lisibles par machine étant intrinsèquement non transitoires, peuvent inclure des médias tangibles volatiles et non volatiles, amovibles et non amovibles, implémentés dans tout procédé ou technologie de stockage d'information, tels que des instrpctions de programme lisibles par machine, des structures de données, des modules de programme, ou autres données. Les supports de stockage lisibles par ordinateur peuvent aussi comprendre des mémoires RAM, ROM, EPROM (mémoire à lecture exclusivement, programmable et effaçable), une mémoire flash, ou toute technologie de support solide de mémoire, CD-ROM (disque compact portable doté d'une mémoire à lecture seule), ou tout autre stockage optique, bandes d'enregistrement magnétique, mémoire à disque magnétique, ou tout autre support pouvant être utilisé pour stocker l'information désirée, et apte à être lu par un ordinateur. Un support de stockage lisible par ordinateur ne peut être interprété comme « signaux transitoires » en soi (par exemple, des ondes radio ou toute autre onde électromagnétique se propageant à travers un support de transmission tel qu'un guide d'ondes, ou des signaux électriques transmis par câble). Les instructions de programme lisibles par ordinateur peuvent être téléchargées sur un ordinateur, un autre type d'appareil de traitement de données programmable ou sur tout autre dispositif de support de stockage lisible par machine, ou vers un ordinateur externe ou vers un dispositif de stockage externe via un réseau.Machine readable storage media being inherently non-transient, may include volatile and nonvolatile, removable and non-removable tangible media, implemented in any information storage method or technology, such as program instructions readable by machine, data structures, program modules, or other data. Computer readable storage media may also include RAMs, ROMs, EPROMs (read-only, programmable and erasable memory), flash memory, or any solid storage media technology, CD-ROM (portable compact disc with read-only memory), or any other optical storage, magnetic recording tapes, magnetic disk storage, or any other medium that can be used to store the desired information, and readable by a computer. A computer-readable storage medium can not be interpreted as "transient signals" per se (for example, radio waves or any other electromagnetic wave propagating through a transmission medium such as a waveguide, or signals electric cables transmitted by cable). The computer readable program instructions may be downloaded to a computer, another type of programmable data processing apparatus, or to any other machine-readable storage medium device, or to an external computer or to an external storage device via a network.

[0057] Les instructions de programme lisibles par ordinateur, enregistrées sur un support lisible par ordinateur, peuvent être utilisées pour amener un ordinateur, d'autres types d'appareil programmable de traitement de données, ou d'autres dispositifs, à fonctionner d'une façon particulière, de sorte que les instructions enregistrées sur un support lisible par ordinateur produisent un article de fabrication comprenant les instructions qui mettent en œuvre les fonctions, les actions et/ou les opérations spécifiées dans les organigrammes, diagrammes de séquence, et/ou dia^ammes blocs. Les instructions de programme informatique peuvent être fournies à un ou plusieurs processeurs d'un ordinateur à usage général, un ordinateur dédié ou un autre appareil programmable de traitement de données pour produire une machine, de sorte que les instructions, lorsqu'elles sont exécutées à l'aide du ou des processeurs, accomplissent une série de calculs pour mettre en œuvre les fonctions, actions, et/ou les opérations spécifiées dans les organigrammes, diagrammes séquentiels et/ou diagrammes blocs.The computer readable program instructions, recorded on a computer readable medium, can be used to bring a computer, other types of programmable data processing apparatus, or other devices, to operate. a particular way, so that the instructions recorded on a computer-readable medium produce an article of manufacture comprising the instructions that implement the functions, actions and / or operations specified in the flowcharts, sequence diagrams, and / or blocks. The computer program instructions may be provided to one or more processors of a general purpose computer, a dedicated computer, or other programmable data processing apparatus for producing a machine, so that the instructions, when executed at using the processor (s), perform a series of calculations to implement the functions, actions, and / or operations specified in the flow charts, block diagrams, and / or block diagrams.

[0058] Dans certains autres modes de réalisation, les fonctions, les actions et/ou des opérations spécifiées dans les organigrammes, diagrammes de séquence, et/ou des diagrammes blocs peuvent être commandées à plusieurs reprises, traitées en série, et/ou traitées en même temps conformément aux modes de réalisation de l'invention. De plus, tout organigramme, diagramme séquentiel, et/ou diagramme bloc peut inclure plus ou moins de blocs que ceux illustrés tout en restant confonnes aux modes de réalisation de l'invention.In certain other embodiments, the functions, actions, and / or operations specified in the flowcharts, sequence diagrams, and / or block diagrams may be repeatedly commanded, serially processed, and / or processed. at the same time in accordance with the embodiments of the invention. In addition, any flow chart, block diagram, and / or block diagram may include more or less blocks than those illustrated while remaining consistent with the embodiments of the invention.

[0059] La terminologie utilisée dans les présentes a pour but de décrire uniquement des modes de réalisation particuliers et n'est pas destinée à limiter les modes de réalisation de l'invention. Par ailleurs, les termes « comprend », « comprennent » et/ou « comprenant », lorsqu'ils sont utilisés dans ces spécifications, précisent la présence de caractéristiques, de nombres entiers, d'étapes, d'opérations, d'éléments, et/ou de composants, mais n'excluent pas la présence ou l'ajout d'un(e) ou de plusieurs caractéristiques, nombres entiers, étapes, éléments, composants et/ou groupes, en cela. De plus, dans la mesure où les formes verbales « inclut », « ayant », « a », ou des variantes, sont utilisés dans la description détaillée des revendications, ces termes sont censés être inclusifs de façon similaire au verbe « comprendre ».The terminology used herein is intended to describe only particular embodiments and is not intended to limit the embodiments of the invention. In addition, the terms "includes", "include" and / or "including", when used in these specifications, specify the presence of characteristics, integers, stages, operations, elements, and / or components, but do not exclude the presence or addition of one or more characteristics, integers, steps, elements, components and / or groups, in that. Moreover, to the extent that the verb forms "includes", "having", "a", or variants, are used in the detailed description of the claims, these terms are meant to be inclusive in a manner similar to the verb "to understand".

[0060] Bien que l'invention soit illustrée par une description de divers modes de réalisation, et bien que ces modes de réalisation soient décrits de façon très détaillée, il n'est pas de l'intention du demandeur de restreindre ou de limiter, de quelque façon que ce soit, l'étendue des revendications des présentes à ces détails. Des avantages supplémentaires et des modifications possibles apparaîtront aisément aux hommes de métier. L'invention sous un angle plus large n'est donc pas limitée aux détails spécifiques, aux procédés et aux appareils représentatifs, ni aux illustrations montrées et décrites à titre d'exemple. Par conséquent, il est possible de s'éloigner de ces détails sans pour autant s'éloigner de l'esprit et de la portée du concept inventif général du demandeur.Although the invention is illustrated by a description of various embodiments, and although these embodiments are described in great detail, it is not the intention of the applicant to restrict or limit, in any way, the scope of the claims herein to these details. Additional benefits and possible modifications will be readily apparent to those skilled in the art. The invention in a broader perspective is therefore not limited to the specific details, representative methods and apparatus, or the illustrations shown and described by way of example. Therefore, it is possible to move away from these details without departing from the spirit and scope of the applicant's general inventive concept.

Claims (15)

REVENDICATIONS 1. Un système pour l'échange sécurisé d'un jeton de carte de crédit entre un premier ordinateur et un ordinateur externe pour l’achat d'un produit, le système comprenant : l'ordinateur externe ; le premier ordinateur avec un ou plusieurs processeurs, une caméra couplée à un ou plusieurs processeurs, et une mémoire couplée à un ou plusieurs processeurs, la mémoire stockant des données comprenant une base de données et un code de programme qui, lorsqu'il est exécuté par un ou plusieurs processeurs, amène le système à : numériser le premier code-barres àTaide de la caméra, dans lequel le premier code-barres est publié sur un écran d'affichage de l'ordinateur externe et le premier code-barres indique une pluralité de paramètres de paiement du produit ; décoder le premier code-barres pour en extraire les paramètres de paiement ; publier les paramètres de paiement pour affichage à l’intention de l'utilisateur ; recevoir une première saisie, dans laquelle la première saisie indique un numéro de carte de crédit pour l'achat d'un produit et un jeton de la carte de crédit correspondant au numéro de la carte de crédit, est sauvegardé dans la mémoire ; en réponse à la réception de la première saisie, générer un second code-barres qui contient les premières données cryptées de charge utile, dans lesquelles les premières données cryptées de charge utile incluent le jeton de la carte de crédit et publier le second code-barres pour affichage dans lequel le second code-barres est lisible par un dispositif optique de l'ordinateur externe.A system for securely exchanging a credit card token between a first computer and an external computer for the purchase of a product, the system comprising: the external computer; the first computer with one or more processors, a camera coupled to one or more processors, and a memory coupled to one or more processors, the memory storing data including a database and a program code which, when executed by one or more processors, causes the system to: scan the first barcode using the camera, wherein the first barcode is published on a display screen of the external computer and the first barcode indicates a plurality of payment parameters of the product; decode the first barcode to extract the payment parameters; Publish payment settings for viewing to the user receive a first entry, in which the first entry indicates a credit card number for the purchase of a product and a credit card token corresponding to the credit card number, is stored in the memory; in response to receiving the first input, generating a second barcode that contains the first encrypted payload data, wherein the first payload encrypted data includes the credit card token and issuing the second barcode for display in which the second barcode is readable by an optical device of the external computer. 2. Le système selon la revendication 1 comprenant par ailleurs : un troisième ordinateur en communication avec l'ordinateur externe dans lequel l'ordinateur externe est configuré pour envoyer le second code-barres au troisième ordinateur ; et une chambre forte de jetons en communication avec le troisième ordinateur ; dans laquelle le troisième ordinateur est configuré pour décoder le second code-barres, pour valider le contenu des données cryptées de charge utile afin d'obtenir le jeton de la carte de crédit et pour récupérer un numéro d'une carte de crédit originale dans la chambre forte de jetons sur la base du jeton de la carte de crédit.The system of claim 1 further comprising: a third computer in communication with the external computer in which the external computer is configured to send the second barcode to the third computer; and a token vault in communication with the third computer; wherein the third computer is configured to decode the second barcode, to validate the contents of the encrypted payload data to obtain the credit card token and to retrieve a number from an original credit card in the vault of tokens based on the credit card token. 3. Le système selon la revendication 2 dans lequel le troisième ordinateur est configuré pour communiquer avec un réseau de paiement afin de déterminer si le numéro de la carte de crédit originale est valide, et en réponse au numéro de la carte de crédit originale s'avérant valide, le réseau de paiement autorise le paiement du produit et envoie une autorisation au troisième ordinateur.The system of claim 2 wherein the third computer is configured to communicate with a payment network to determine whether the original credit card number is valid, and in response to the original credit card number. valid, the payment network authorizes the payment of the product and sends an authorization to the third computer. 4. Le système selon la revendication 3 dans lequel l'ordinateur externe est configuré pour recevoir l’autorisation de paiement pour le produit en provenance du troisième ordinateur, pour générer un troisième code-barres qui contient un reçu de paiement pour le produit, et pour publier le troisième code-barres pour affichage, dans lequel le troisième code-barres est numérisé à l’aide de la caméra.The system of claim 3 wherein the external computer is configured to receive the payment authorization for the product from the third computer, to generate a third barcode that contains a payment receipt for the product, and to publish the third barcode for display, wherein the third barcode is digitized using the camera. 5. Le système selon la revendication 1 dans lequel le premier ordinateur et un troisième ordinateur sont connectés à un réseau avant la numérisation du premier code-barres par la caméra, dans lequel le premier ordinateur est configuré pour : recevoir une seconde saisie indiquant le numéro de la carte de crédit ; générer des secondes données cryptées de charge utile qui contiennent le numéro de la carte de crédit, en réponse à la réception de la seconde saisie ; transmettre une demande de provisionnement de carte incluant les secondes données cryptées de charge utile via le réseau, dans lequel le troisième ordinateur est configuré pour : recevoir la demande de provisionnement de carte via le réseau, décrypter les secondes doimées cryptées de charge utile, en réponse à la réception d'une demande de provisionnement de carte, pour récupérer le numéro de la carte de crédit, envoyer le numéro de la carte de crédit à une application de tokénisation, et dans lequel, en réponse à la réception du numéro de carte de crédit, l’application de tokénisation génère un jeton de la carte de créditThe system of claim 1 wherein the first computer and a third computer are connected to a network prior to the scanning of the first barcode by the camera, wherein the first computer is configured to: receive a second input indicating the number credit card; generating second payload encrypted data which contains the credit card number, in response to receiving the second input; transmitting a card provisioning request including the second encrypted payload data via the network, wherein the third computer is configured to: receive the card provisioning request over the network, decrypt the second encrypted payload times, in response upon receipt of a card provisioning request, to retrieve the credit card number, send the credit card number to a tokenization application, and wherein, in response to receipt of the card number of credit, the tokenization application generates a credit card token 6. Le système selon la revendication 5 dans lequel le numéro de jeton de carte de crédit est sauvegardé dans une chambre forte de jetons et est également transmis via le réseau du troisième ordinateur au premier ordinateur, et dans lequel le premier ordinateur est configuré pour conserver le jeton de la carte de crédit en mémoire sous forme d'empreinte numérique.The system of claim 5 wherein the credit card token number is stored in a vault of tokens and is also transmitted via the network of the third computer to the first computer, and wherein the first computer is configured to hold the token of the credit card in memory in the form of a digital fingerprint. 7. Le système selon l'une quelconque des revendications 1 à 6 dans lequel un ou plusieurs processeurs font partie d'un dispositif électronique mobile.The system of any one of claims 1 to 6 wherein one or more processors are part of a mobile electronic device. 8. Un procédé pour l'échange sécurisé d'un jeton de carte de crédit entre un premier ordinateur et un ordinateur externe dans le cadre de l'achat d'un produit, le procédé comprenant : la numérisation d'un premier code-barres par une caméra d'un premier ordinateur, dans lequel le premier code-barres est publié sur un écran d'affichage de l'ordinateur externe et le premier code-barres indique une pluralité de paramètres de paiement du produit ; le décodage du premier code-barres, par le premier ordinateur, pour en extraire les paramètres de paiement ; la publication, par le premier ordinateur, des paramètres de paiement pour affichage à l'intention de l'utilisateur ; la réception, par le premier ordinateur, d'une première saisie, dans laquelle la première saisie indique un numéro de carte de crédit pour l'achat d'un produit et la sauvegarde dans la mémoire du premier ordinateur d’un jeton de carte de crédit correspondant au numéro de la carte de crédit ; en réponse à la réception d'une première saisie, la génération par le premier ordinateur, d'un second code-barres qui contient des premières données cryptées de charge utile, dans lesquelles les premières données cryptées de charge utile incluent le jeton de la carte de crédit ; et la publication par le premier ordinateur du second code-barres pour affichage, dans laquelle le second code-barres est lisible par un dispositif optique de l'ordinateur externe.A method for securely exchanging a credit card token between a first computer and an external computer as part of the purchase of a product, the method comprising: digitizing a first barcode by a camera of a first computer, wherein the first barcode is published on a display screen of the external computer and the first barcode indicates a plurality of payment parameters of the product; decoding the first barcode, by the first computer, to extract the payment parameters; the publication by the first computer of the payment parameters for display to the user; receiving, by the first computer, a first entry, in which the first entry indicates a credit card number for the purchase of a product and the saving in the memory of the first computer of a credit card token; credit corresponding to the number of the credit card; in response to receiving a first input, generating by the first computer, a second barcode which contains first encrypted payload data, wherein the first encrypted payload data includes the card token credit ; and publishing by the first computer the second barcode for display, wherein the second barcode is readable by an optical device of the external computer. 9. Le procédé selon la revendication 8 comprenant par ailleurs : l'envoi sur le réseau, par l'ordinateur externe, d'un second code-barres à un troisième ordinateur ; le décodage du second code-barres par le troisième ordinateur ; la validation du contenu des premières données cryptées de charge utile, par le troisième ordinateur, pour obtenir le jeton de la carte de crédit ; et la récupération, par le troisième ordinateur, d'un numéro de la carte de crédit originale d'une chambre forte de jetons, sur la base du jeton de carte de crédit9. The method of claim 8 further comprising: sending on the network, by the external computer, a second barcode to a third computer; decoding the second barcode by the third computer; validating the contents of the first encrypted payload data by the third computer to obtain the credit card token; and retrieving, by the third computer, an original credit card number of a token vault, based on the credit card token 10. Le procédé selon la revendication 9 comprenant par ailleurs : l'envoi, par le troisième ordinateur, d'une communication à un réseau de paiement ; en réponse à la réception de la communication, le réseau de paiement détermine la validité du numéro de la carte de crédit originale ; en réponse au numéro de la carte de crédit originale s'avérant valide, le réseau de paiement autorise le paiement pour le produit via le réseau de paiement ; et l'envoi, via le réseau de paiement, d'une autorisation au troisième ordinateur.10. The method of claim 9 further comprising: sending, by the third computer, a communication to a payment network; in response to the receipt of the communication, the payment network determines the validity of the number of the original credit card; in response to the original credit card number being valid, the payment network authorizes payment for the product via the payment network; and sending, via the payment network, an authorization to the third computer. 11. La procédé selon la revendication 10 comprenant par ailleurs : la réception, par le troisième ordinateur, de l'autorisation pour le paiement du produit ; l'envoi de l'autorisation via le réseau à l'ordinateur externe ; la génération, par l'ordinateur externe, d'un troisième code-barres qui contient un reçu de paiement pour le produit ; et la publication, par l'ordinateur externe, du troisième code-barres pour affichage, dans lequel le troisième code-barres est numérisé par la caméra du premier ordinateur.11. The method of claim 10 further comprising: receiving, by the third computer, the authorization for the payment of the product; sending the authorization via the network to the external computer; the generation by the external computer of a third barcode which contains a payment receipt for the product; and publishing, by the external computer, the third barcode for display, wherein the third barcode is digitized by the camera of the first computer. 12. Le procédé selon la revendication 8 comprenant par ailleurs : avant la numérisation du premier code-barres par le premier ordinateur, la connexion du premier ordinateur et du troisième ordinateur au réseau ; la réception, par le premier ordinateur, d'une seconde saisie indiquant le numéro de carte de crédit ; en réponse à la réception de la seconde saisie, la génération, par le premier ordinateur, de secondes données cryptées de charge utile contenant le numéro de carte de crédit ; la transmission, par le premier ordinateur, d'une demande de provisionnement de carte incluant les secondes données cryptées de charge utile, via le réseau ; la réception, par le troisième ordinateur, de la demande de provisionnement de carte, en provenance du réseau ; et en réponse à la réception de la demande de provisionnement de carte, le décryptage, par le troisième ordinateur, des secondes données cryptées de charge utile pour récupérer le numéro de carte de crédit ; l'envoi, par le troisième ordinateur, du numéro de carte de crédit à une application de tokénisation ; et . en réponse à la réception du numéro de carte de crédit, la génération, par l'application de tokénisation, du jeton de la carte de crédit.The method of claim 8 further comprising: prior to scanning the first barcode by the first computer, connecting the first computer and the third computer to the network; receiving, by the first computer, a second entry indicating the credit card number; in response to receiving the second input, generating, by the first computer, second encrypted payload data containing the credit card number; transmitting, by the first computer, a card provisioning request including the second encrypted payload data via the network; the receipt by the third computer of the card provisioning request from the network; and in response to receiving the card provisioning request, decrypting, by the third computer, second encrypted payload data to retrieve the credit card number; sending, by the third computer, the credit card number to a tokenization application; and. in response to the reception of the credit card number, the generation, by the tokenization application, of the credit card token. 13. Le procédé selon la revendication 12 comprenant par ailleurs : la sauvegarde, par le troisième ordinateur, du jeton de carte de crédit dans une chambre forte de jetons ; la transmission, par le troisième ordinateur, du jeton de carte de crédit, sur le réseau ; la réception sur le réseau, par le premier ordinateur, du jeton de carte de crédit ; et l'enregistrement du jeton de la carte de crédit, sous forme d'empreinte numérique, dans la mémoire du premier ordinateur.13. The method of claim 12 further comprising: the backup by the third computer, the credit card token in a vault of tokens; the transmission by the third computer of the credit card token on the network; receiving on the network, by the first computer, the credit card token; and registering the credit card token, in the form of a digital fingerprint, in the memory of the first computer. 14. Le procédé selon l'une quelconque des revendications 8 à 13 dans lequel le premier ordinateur est un dispositif électronique portable.The method of any one of claims 8 to 13 wherein the first computer is a portable electronic device. 15. Un produit-programme d'ordinateur pour l'échange sécurisé d'un jeton de carte de crédit avec un ordinateur externe dans le cadre de l'achat d'un produit, le produit-programme d'ordinateur comprenant : des portions/moyens/instructions de code de programme enregistrées sur un support lisible par ordinateur pour mettre en œuvre les étapes du procédé selon l'une quelconque des revendications 8 à 14 lorsque ledit programme fonctionne sur un ordinateur.15. A computer program product for the secure exchange of a credit card token with an external computer as part of the purchase of a product, the computer program product comprising: portions / program code means / instructions recorded on a computer readable medium for implementing the steps of the method according to any one of claims 8 to 14 when said program is running on a computer.
FR1654400A 2016-05-18 2016-05-18 SECURE EXCHANGE OF SENSITIVE DATA ON A NETWORK BASED ON BARCODES AND TOKENS Active FR3051613B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1654400A FR3051613B1 (en) 2016-05-18 2016-05-18 SECURE EXCHANGE OF SENSITIVE DATA ON A NETWORK BASED ON BARCODES AND TOKENS
CN201710350516.2A CN107403319B (en) 2016-05-18 2017-05-18 Secure exchange of sensitive data over a network based on bar codes and tokens
ES17000854T ES2797111T3 (en) 2016-05-18 2017-05-18 Secure exchange of sensitive data via a token and barcode-based network
EP17000854.4A EP3246866B1 (en) 2016-05-18 2017-05-18 Secure exchange of a sensitive data over a network based on barcodes and tokens

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1654400A FR3051613B1 (en) 2016-05-18 2016-05-18 SECURE EXCHANGE OF SENSITIVE DATA ON A NETWORK BASED ON BARCODES AND TOKENS
FR1654400 2016-05-18

Publications (2)

Publication Number Publication Date
FR3051613A1 true FR3051613A1 (en) 2017-11-24
FR3051613B1 FR3051613B1 (en) 2019-12-13

Family

ID=57136970

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1654400A Active FR3051613B1 (en) 2016-05-18 2016-05-18 SECURE EXCHANGE OF SENSITIVE DATA ON A NETWORK BASED ON BARCODES AND TOKENS

Country Status (1)

Country Link
FR (1) FR3051613B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111684759A (en) * 2017-12-29 2020-09-18 维亚塞斯公司 Method for establishing an encryption key shared between a first terminal and a second terminal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2478712A (en) * 2010-03-15 2011-09-21 David Jackson Authorisation system
US20130262317A1 (en) * 2012-04-02 2013-10-03 Mastercard International Incorporated Systems and methods for processing mobile payments by provisoning credentials to mobile devices without secure elements
EP2819080A1 (en) * 2013-06-28 2014-12-31 Sap Se Telecommunication system with authorization token
WO2015054697A1 (en) * 2013-10-11 2015-04-16 Visa International Service Association Network token system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2478712A (en) * 2010-03-15 2011-09-21 David Jackson Authorisation system
US20130262317A1 (en) * 2012-04-02 2013-10-03 Mastercard International Incorporated Systems and methods for processing mobile payments by provisoning credentials to mobile devices without secure elements
EP2819080A1 (en) * 2013-06-28 2014-12-31 Sap Se Telecommunication system with authorization token
WO2015054697A1 (en) * 2013-10-11 2015-04-16 Visa International Service Association Network token system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111684759A (en) * 2017-12-29 2020-09-18 维亚塞斯公司 Method for establishing an encryption key shared between a first terminal and a second terminal
CN111684759B (en) * 2017-12-29 2024-05-31 维亚塞斯公司 Method for establishing encryption key shared between first terminal and second terminal

Also Published As

Publication number Publication date
FR3051613B1 (en) 2019-12-13

Similar Documents

Publication Publication Date Title
US11720879B2 (en) Method, device and system for the transfer of data
EP0757338B1 (en) Secure payment system by electronic funds transfer through a bank interconnecting network
US20150242825A1 (en) Generation, storage, and validation of encrypted electronic currency
US20080243702A1 (en) Tokens Usable in Value-Based Transactions
CN103942897B (en) A kind of method realizing withdrawing the money without card on ATM
US10395232B2 (en) Methods for enabling mobile payments
EP2619941A1 (en) Method, server and system for authentication of a person
US20170337550A1 (en) Secure exchange of a sensitive data over a network based on barcodes and tokens
EP2987124B1 (en) Method and system for improving the security of electronic transactions
WO2020109972A1 (en) Un currency (virtual payment cards) issued by central bank or other issuer for mobile and wearable devices
EP2053554A1 (en) Portable electronic device for exchanging values and method of implementing such a device
CN107403319B (en) Secure exchange of sensitive data over a network based on bar codes and tokens
EP1451783B1 (en) Method, system and device for authenticating data transmitted and/or received by a user
FR3051613A1 (en)
WO2019150255A1 (en) Digital currency (virtual payment cards) issued by central bank for mobile and wearable devices
EP2824625B1 (en) Method for conducting a transaction, corresponding terminal and computer program
CN112712353B (en) Digital currency zero-payment method, system and terminal
EP2724305B1 (en) Method of dematerialized transaction
CA3161325A1 (en) Transaction authentication method, server and system using two communication channels
FR2932296A1 (en) METHODS AND DEVICE FOR ELECTRONIC ENTITIES FOR THE EXCHANGE AND USE OF RIGHTS
Madhwal et al. Privacy-Preserving Blockchain-Based Tips Service
WO2002005226A1 (en) Micropayment transaction management method, client devices, trader and financial intermediary
RU2714856C1 (en) User identification system for performing electronic transaction for provision of service or purchase of goods
WO2019175521A1 (en) System for providing ergonomics, comfort and security to user-machine interactions in on-line services
FR3050054A1 (en)

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20171124

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9