DE102018005861A1 - Method for anonymizing a cardholder's PAN - Google Patents

Method for anonymizing a cardholder's PAN Download PDF

Info

Publication number
DE102018005861A1
DE102018005861A1 DE102018005861.2A DE102018005861A DE102018005861A1 DE 102018005861 A1 DE102018005861 A1 DE 102018005861A1 DE 102018005861 A DE102018005861 A DE 102018005861A DE 102018005861 A1 DE102018005861 A1 DE 102018005861A1
Authority
DE
Germany
Prior art keywords
pan
database
encrypted
encrypted code
random number
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.)
Ceased
Application number
DE102018005861.2A
Other languages
German (de)
Inventor
Ajit Kulkarni
Christian Boelle
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.)
Giesecke and Devrient Mobile Security GmbH
Original Assignee
Giesecke and Devrient Mobile Security GmbH
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 Giesecke and Devrient Mobile Security GmbH filed Critical Giesecke and Devrient Mobile Security GmbH
Priority to DE102018005861.2A priority Critical patent/DE102018005861A1/en
Publication of DE102018005861A1 publication Critical patent/DE102018005861A1/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • 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
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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
    • G06Q20/3827Use of message hashing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)

Abstract

Die vorliegende Erfindung besteht darin, ein Verfahren zum Anonymisieren einer PAN eines Karteninhabers, verwendet in einer Zahlungskarte für Finanztransaktionen, bereitzustellen. Die PAN wird in einer ersten Datenbank gespeichert. Wenn die PAN zwischen der ersten Datenbank und einer entfernten Stelle ausgetauscht wird, wird die PAN verschlüsselt, um einen ersten verschlüsselten Code zu erhalten. Der erste verschlüsselte Code wird mit zumindest einer dynamisch generierten Zufallszahl noch einmal verschlüsselt, um ein Token zu generieren, wobei es das Token der entfernten Stelle ermöglicht, die tatsächliche PAN für vielfältige Zwecke zu verwenden, wodurch es das Hacken der PAN verhindert. Die Zufallszahl oder -zahlen wird bzw. werden zum Zeitpunkt des Berechnens des Tokens mit einem Algorithmus identifiziert, was dann die spätere Verwendung der tatsächlichen PAN für vielfältige Zwecke möglich macht.

Figure DE102018005861A1_0000
The present invention is to provide a method for anonymizing a PAN of a cardholder used in a payment card for financial transactions. The PAN is stored in a first database. When the PAN is exchanged between the first database and a remote location, the PAN is encrypted to obtain a first encrypted code. The first encrypted code is re-encrypted with at least one dynamically generated random number to generate a token, the token of the remote location allowing the actual PAN to be used for a variety of purposes, thereby preventing the PAN from being hacked. The random number or numbers are identified at the time of calculating the token using an algorithm, which then makes the later use of the actual PAN possible for a variety of purposes.
Figure DE102018005861A1_0000

Description

Gebiet der ErfindungField of the Invention

Die vorliegende Erfindung betrifft ein Verfahren zum Anonymisieren von sensiblen Daten. Insbesondere betrifft die Erfindung ein Verfahren zum Anonymisieren einer PAN eines Karteninhabers während der Durchführung von Finanztransaktionen und vielfältigen anderen Zwecken.The present invention relates to a method for anonymizing sensitive data. In particular, the invention relates to a method for anonymizing a PAN of a cardholder during the execution of financial transactions and various other purposes.

Hintergrund der ErfindungBackground of the Invention

Die PAN-Nummer oder Primary Account Number ist eine Kartenkennung und identifiziert nicht direkt die Bankkontonummer/n, mit welchem/n die Karte von dem herausgebenden Unternehmen verbunden ist. Insbesondere ist die PAN eine eindeutige Kennung, die sensible Daten enthält, die ein primäres Konto zum Durchführen von Finanztransaktionen bezeichnet. Jede PAN ist ein numerischer Code. Ein Token wird berechnet, um die PAN zu repräsentieren. Das Paar von PAN und seinem Token bezeichnet eine bestimmte Information über die Kontonummer. Diese sensible Information ist jedoch auf eine Weise verschlüsselt, dass, falls ein Hacker irgendwie den Zugang zu mehreren Token-PAN-Paaren bekommen hat, eine hohe Wahrscheinlichkeit besteht, dass der Hacker den Schlüssel oder die Logik, der bzw. die verwendet wurde, um die Tokens abzuleiten, extrahieren kann und dann eine oder alle der durch die Tokens repräsentierten sensiblen PANs identifizieren kann.The PAN number or primary account number is a card identifier and does not directly identify the bank account number (s) to which the card from the issuing company is connected. In particular, the PAN is a unique identifier that contains sensitive data that designates a primary account for performing financial transactions. Each PAN is a numeric code. A token is calculated to represent the PAN. The pair of PAN and its token designate certain information about the account number. However, this sensitive information is encrypted in such a way that if a hacker has somehow gained access to several token-PAN pairs, there is a high probability that the hacker will use the key or logic that was used derive, extract, and then identify one or all of the sensitive PANs represented by the tokens.

Eine zentrale Karteninhaber-Datenbank, zum Beispiel eine Bank, speichert sensible Karteninhaberdaten, wie beispielsweise Primary Account Number (PAN), in verschlüsselter Form. Falls Daten zwischen einer zentralen Datenbank und einer entfernten Stelle während der Durchführung einer Finanztransaktion gesendet werden, besteht die Möglichkeit des Hackens dieser Daten, und die Hacker können mehrere Transaktionen mit den abgeleiteten Daten durchführen. Daher ist ein Sichern der sensiblen Daten, wie der PAN, wichtig, um eine sichere Transaktion durchzuführen.A central cardholder database, for example a bank, stores sensitive cardholder data, such as primary account number (PAN), in encrypted form. If data is sent between a central database and a remote location during the execution of a financial transaction, there is a possibility of hacking that data and the hackers can perform multiple transactions with the derived data. It is therefore important to back up sensitive data, such as the PAN, in order to carry out a secure transaction.

Daher besteht ein Bedarf für ein Verfahren zum Anonymisieren der PAN eines Karteninhabers während der Durchführung von Finanztransaktionen, welches einige oder alle der Nachteile der existierenden Verfahren von Finanztransaktionen überwindet.Therefore, there is a need for a method of anonymizing a cardholder's PAN while performing financial transactions that overcomes some or all of the disadvantages of existing financial transaction methods.

Aufgaben der ErfindungObjects of the invention

Eine Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zum Anonymisieren einer PAN eines Karteninhabers während der Durchführung von Finanztransaktionen bereitzustellen.An object of the present invention is to provide a method for anonymizing a PAN of a cardholder while financial transactions are being carried out.

Insbesondere ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Anonymisieren einer PAN eines Karteninhabers während der Durchführung von Finanztransaktionen bereitzustellen, welches die Transaktion sichert und ein Hacken der PAN verhindert.In particular, it is an object of the present invention to provide a method for anonymizing a PAN of a cardholder during the execution of financial transactions, which secures the transaction and prevents the PAN from being hacked.

Insbesondere ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Anonymisieren einer PAN eines Karteninhabers während der Durchführung von Finanztransaktionen bereitzustellen, welches eine Entschlüsselung der sensiblen Daten, um die betrügerische Transaktion auszuführen, verhindert.In particular, it is an object of the present invention to provide a method for anonymizing a PAN of a cardholder during the execution of financial transactions, which prevents decryption of the sensitive data in order to carry out the fraudulent transaction.

Insbesondere ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Anonymisieren einer PAN eines Karteninhabers während der Durchführung von Finanztransaktionen bereitzustellen, welches einfach im Betrieb ist.In particular, it is an object of the present invention to provide a method for anonymizing a PAN of a cardholder during the execution of financial transactions, which is simple in operation.

Zusammenfassung der ErfindungSummary of the invention

Die Aufgabe wird gelöst durch eine Erfindung, wie in den unabhängigen Ansprüchen beschrieben. Ausführungsbeispiele der Erfindung sind in abhängigen Ansprüchen beschrieben. Gemäß der Erfindung wird ein Verfahren zum Anonymisieren einer PAN eines Karteninhabers gemäß der vorliegenden Erfindung bereitgestellt. Die PAN wird in einer ersten Datenbank, zum Beispiel einer Bank-Datenbank, gespeichert und ist für den Karteninhaber für Finanztransaktionen verfügbar.The object is achieved by an invention as described in the independent claims. Embodiments of the invention are described in dependent claims. According to the invention, a method for anonymizing a PAN of a cardholder according to the present invention is provided. The PAN is stored in a first database, for example a bank database, and is available to the cardholder for financial transactions.

Beim Durchführen einer Finanztransaktion sollte eine PAN zwischen der ersten Datenbank oder einer Quelle und einer entfernten Stelle ausgetauscht werden. Die erste Datenbank ist eine Bank-Datenbank und die entfernte Stelle ist die Empfänger-Stelle, an welche die Transaktion durchgeführt werden soll. Das Verfahren stellt eine sichere Speicherung und Verwendung der PAN in der entfernten Stelle sicher. Die PAN aus der ersten Datenbank wird in einen ersten verschlüsselten Code verschlüsselt. Der erste verschlüsselte Code wird durch Zerhacken („Hashing“) der PAN unter Verwendung eines Hashing-Algorithmus erhalten, welcher von der ersten Datenbank durchgeführt wird. Es kann für einen Fachmann naheliegend sein, einen beliebigen Hashing-Algorithmus zu verwenden, um die PAN zu hashen, um den ersten verschlüsselten Code zu erhalten.When performing a financial transaction, a PAN should be exchanged between the first database or a source and a remote location. The first database is a bank database and the remote location is the recipient location to which the transaction is to be carried out. The procedure ensures secure storage and use of the PAN in the remote location. The PAN from the first database is encrypted in a first encrypted code. The first encrypted code is obtained by hashing ("hashing") the PAN using a hashing algorithm which is carried out by the first database. It may be obvious to a person skilled in the art to use any hashing algorithm to hash the PAN to get the first encrypted code.

Sobald die PAN in den ersten verschlüsselten Code gehasht ist, dann wird die gehashte PAN von der ersten Datenbank an eine zweite Datenbank übertragen, welche die verschlüsselte PAN speichert. Die zweite Datenbank kann mit einem Applikationsmodul ausgestattet sein, welches den ersten verschlüsselten Code in einen zweiten verschlüsselten Code konvertiert. Das Applikationsmodul kann zumindest ein Salt oder eine Zufallszahl generieren, um den ersten verschlüsselten Code in einen zweiten verschlüsselten Code zu konvertieren. Das Applikationsmodul ist mit einer Nachschlagetabelle ausgestattet, welche den ersten verschlüsselten Code und die entsprechenden Zufallszahlen indiziert.As soon as the PAN is hashed into the first encrypted code, the hashed PAN is transferred from the first database to a second database, which stores the encrypted PAN. The second database can be equipped with an application module which converts the first encrypted code into a second encrypted code. The application module can generate at least one salt or a random number in order to convert the first encrypted code into a second encrypted code. The application module is equipped with a look-up table that indexes the first encrypted code and the corresponding random numbers.

In einem Ausführungsbeispiel werden der erste verschlüsselte Code und die entsprechende Zufallszahl im Applikationsmodul indiziert. Der erste verschlüsselte Code und die entsprechende Zufallszahl werden in der zweiten Datenbank indiziert. In einem anderen Ausführungsbeispiel wird eine vordefinierte Zufallszahl in einer einzigen Spalte in der zweiten Datenbank indiziert.In one embodiment, the first encrypted code and the corresponding random number are indexed in the application module. The first encrypted code and the corresponding random number are indexed in the second database. In another embodiment, a predefined random number is indexed in a single column in the second database.

In noch einem anderen Ausführungsbeispiel wird der erste verschlüsselte Code zum Generieren eines Tokens oder des zweiten verschlüsselten Codes mit einer Mehrzahl von Zufallszahlen verschlüsselt, und jede der Zufallszahlen wird in der zweiten Datenbank indiziert. Die Zufallszahlen werden in mehreren Nachschlagetabellen in der zweiten Datenbank generiert und gespeichert. Die gegebene generierte Zufallszahl wird an der durch den Index in der Nachschlagetabelle gegebenen Position gespeichert. Der zweite verschlüsselte Code oder das Token wird durch Verschlüsseln des ersten verschlüsselten Codes und der entsprechenden Zufallszahl(en) oder Salt(s) berechnet. Das Token wird in der Datenbank der entfernten Stelle für vielfältige Zwecke gespeichert, wodurch es ein Hacken der PAN verhindert.In yet another embodiment, the first encrypted code to generate a token or the second encrypted code is encrypted with a plurality of random numbers, and each of the random numbers is indexed in the second database. The random numbers are generated and saved in several lookup tables in the second database. The given generated random number is stored in the position given by the index in the look-up table. The second encrypted code or token is calculated by encrypting the first encrypted code and the corresponding random number (s) or salt (s). The token is stored in the remote site database for a variety of purposes, preventing the PAN from being hacked.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Die Vorteile und Merkmale der vorliegenden Erfindung werden mit Bezug auf die folgende detaillierte Beschreibung und Ansprüche, genommen in Verbindung mit den begleitenden Zeichnungen, besser verstanden, wobei gleiche Elemente mit gleichen Symbolen identifiziert sind, und in welchen:The advantages and features of the present invention will be better understood with reference to the following detailed description and claims, taken in conjunction with the accompanying drawings, wherein like elements are identified with like symbols, and in which:

1 ein Blockdiagramm darstellt, das einen Ablauf eines Verfahrens zum Anonymisieren einer PAN eines Karteninhabers gemäß der vorliegenden Erfindung wiedergibt. 1 FIG. 4 is a block diagram illustrating a flow of a method for anonymizing a PAN of a cardholder according to the present invention.

Detaillierte Beschreibung der ErfindungDetailed description of the invention

Die offenbarten Ausführungsbeispiele sind lediglich beispielhaft für die Erfindung, welche in vielfältigen Formen verkörpert sein kann.The disclosed embodiments are merely examples of the invention, which can be embodied in a variety of forms.

Nun bezugnehmend auf 1 ist ein Blockdiagramm dargestellt, das den Ablauf eines Verfahrens zum Anonymisieren einer PAN eines Karteninhabers gemäß der vorliegenden Erfindung wiedergibt. Die PAN ist in einer Zahlungskarte zum Durchführen von Finanztransaktionen eingebettet. Die PAN ist auch in einer ersten Datenbank 100 gespeichert, wie beispielsweise einer Bank-Datenbank, und ist in der Zahlungskarte des Karteninhabers zum Durchführen von Finanztransaktionen bereitgestellt. Jede Zahl oder jedes Zahlenpaar in der PAN bezeichnet bestimmte sensible Informationen, welche zum Identifizieren der Kontonummer des Karteninhabers benötigt werden.Now referring to 1 A block diagram is shown which shows the sequence of a method for anonymizing a PAN of a cardholder according to the present invention. The PAN is embedded in a payment card for carrying out financial transactions. The PAN is also in a first database 100 stored, such as a bank database, and is provided in the cardholder's payment card for performing financial transactions. Each number or pair of numbers in the PAN designates certain sensitive information that is required to identify the cardholder's account number.

Zum Beispiel sollte beim Durchführen einer Finanztransaktion die PAN zwischen der ersten Datenbank 100 oder einer Quelle und einer entfernten Stelle 300 ausgetauscht werden. Die erste Datenbank 100 ist eine Bank-Datenbank und die entfernte Stelle 300 ist die Empfänger-Stelle, an welche die Transaktion durchgeführt werden soll. Das Verfahren stellt eine sichere Übertragung der PAN an die entfernte Stelle 300 sicher. Beim Durchführen der Transaktion wird die PAN von der ersten Datenbank 100 in einen ersten verschlüsselten Code verschlüsselt. Der erste verschlüsselte Code wird durch Hashen der PAN unter Verwendung eines Hashing-Algorithmus, welcher von der ersten Datenbank 100 durchgeführt wird, erhalten. Es kann für einen Fachmann naheliegend sein, einen beliebigen Hashing-Algorithmus zu verwenden, um die PAN zu hashen, um den ersten verschlüsselten Code zu erhalten.For example, when performing a financial transaction, the PAN should be between the first database 100 or a source and a remote location 300 be replaced. The first database 100 is a bank database and the remote place 300 is the recipient location where the transaction is to be carried out. The method ensures secure transmission of the PAN to the remote location 300 for sure. When performing the transaction, the PAN is from the first database 100 encrypted in a first encrypted code. The first encrypted code is obtained by hashing the PAN using a hashing algorithm which is derived from the first database 100 is carried out. It may be obvious to a person skilled in the art to use any hashing algorithm to hash the PAN to obtain the first encrypted code.

Sobald die PAN in den ersten verschlüsselten Code gehasht ist, dann wird die gehashte PAN von der ersten Datenbank 100 an eine zweite Datenbank 200 übertragen, welche die verschlüsselte PAN speichert. Die zweite Datenbank 200 kann ein Server sein und kann mit einem Applikationsmodul ausgestattet sein, welches den ersten verschlüsselten Code in einen zweiten verschlüsselten Code konvertiert. Das Applikationsmodul generiert zumindest einen Salt oder eine Zufallszahl, um den ersten verschlüsselten Code in einen zweiten verschlüsselten Code zu konvertieren. Das Applikationsmodul ist mit einer Nachschlagetabelle ausgestattet, welche den ersten verschlüsselten Code und die entsprechenden Zufallszahlen indiziert. Des Weiteren wird die Zuordnung der für eine gegebene PAN verwendeten Zufallszahl durch den Algorithmus zum Zeitpunkt der ersten Berechnung des Tokens oder zu einem anderen Zeitpunkt sichergestellt. Die Zufallszahl oder -zahlen wird bzw. werden mit einem Algorithmus zum Zeitpunkt des Berechnens des Tokens identifiziert, was dann die spätere Verwendung der tatsächlichen PAN für vielfältige Zwecke möglich macht. Once the PAN is hashed into the first encrypted code, the hashed PAN from the first database 100 to a second database 200 transmitted, which stores the encrypted PAN. The second database 200 can be a server and can be equipped with an application module which converts the first encrypted code into a second encrypted code. The application module generates at least one salt or a random number in order to convert the first encrypted code into a second encrypted code. The application module is equipped with a look-up table that indexes the first encrypted code and the corresponding random numbers. Furthermore, the assignment of the random number used for a given PAN is ensured by the algorithm at the time of the first calculation of the token or at another time. The random number or numbers are identified using an algorithm at the time of calculating the token, which then enables the actual use of the PAN for a variety of purposes.

In einem Ausführungsbeispiel werden der erste verschlüsselte Code und die entsprechende Zufallszahl im Applikationsmodul indiziert. Die Zufallszahl wird zur Laufzeit dynamisch generiert und wird in der zweiten Datenbank 200 gespeichert. Die generierte Zufallszahl wird an der durch den Index in der Nachschlagetabelle gegebenen Position gespeichert.In one embodiment, the first encrypted code and the corresponding random number are indexed in the application module. The random number is generated dynamically at runtime and is in the second database 200 saved. The generated random number is stored in the position given by the index in the look-up table.

Zum Beispiel,For example,

Indexindex SaltSalt 524018319832495524018319832495 22371554843169187432237155484316918743 393008010178192393008010178192 30175395828076793623017539582807679362 ........ ........

Die Zahlen in der Index-Spalte geben den numerischen Wert des ersten verschlüsselten Codes an und sind mit einer entsprechenden Zufallszahl indiziert. In dem Ausführungsbeispiel muss die Länge (Anzahl von Zeilen) der Tabelle, die in dem Algorithmus verwendete Variable „tableLength“, nicht die tatsächliche Länge sein, sondern eine beabsichtigte Länge, aber der Algorithmus stellt sicher, dass der „Index“ immer kleiner ist als diese Länge. Die Tabellenlänge ist die beabsichtigte Anzahl von Zeilen in der Nachschlagetabelle. Die Nachschlagetabelle wird dynamisch befüllt, indem für jede anonymisierte PAN eine Zeile hinzugefügt wird.The numbers in the index column indicate the numerical value of the first encrypted code and are indexed with a corresponding random number. In the embodiment, the length (number of rows) of the table, the variable "tableLength" used in the algorithm, must not be the actual length, but an intended length, but the algorithm ensures that the "index" is always less than this length. The table length is the intended number of rows in the lookup table. The lookup table is filled dynamically by adding a line for each anonymized PAN.

Der zweite verschlüsselte Code oder das Token wird durch Verschlüsseln des ersten verschlüsselten Codes (durch einen Hash der PAN erhaltener Wert) und der entsprechenden Zufallszahl oder des Salts berechnet. Der zweite verschlüsselte Code kann unter Verwendung eines von dem Applikationsmodul besessenen zugehörigen Schlüssels weiter verschlüsselt werden, während er in der zweiten Datenbank 200 gespeichert wird. Das Token wird für die Transaktionen, wie eine Suche nach der tatsächlichen PAN, verwendet, aber gleichzeitig kann die PAN aus dem Token nicht extrahiert oder gehackt werden.The second encrypted code or token is calculated by encrypting the first encrypted code (value obtained by hashing the PAN) and the corresponding random number or salt. The second encrypted code can be further encrypted using an associated key owned by the application module while it is in the second database 200 is saved. The token is used for the transactions, such as a search for the actual PAN, but at the same time, the PAN cannot be extracted or hacked from the token.

In einem anderen Ausführungsbeispiel wird eine vordefinierte Zufallszahl in einer einzigen Spalte indiziert. In diesem Ausführungsbeispiel muss die Nachschlagetabelle eine vordefinierte Zufallszahl enthalten, welche über den Lebenszyklus der Benutzerinformation intakt bleibt.In another embodiment, a predefined random number is indexed in a single column. In this exemplary embodiment, the look-up table must contain a predefined random number which remains intact over the life cycle of the user information.

Zum Beispiel, Salt 2237155484316918743 3017539582807679362 ...... For example, Salt 2237155484316918743 3017539582807679362 ......

Die Nachschlagetabelle weist nur eine Spalte auf, die die Zufallszahlen speichert. Die zu verwendende Zufallszahl wird basierend auf der Indexposition identifiziert.The lookup table has only one column that stores the random numbers. The random number to be used is identified based on the index position.

Zum Beispiel in der obigen Tabelle, falls der für eine gegebene PAN berechnete Index 2 ist, dann ist die verwendete Zufallszahl 3017539582807679362. Da die Zufallszahl- oder Salt-Spalte indiziert ist, wäre ein Lokalisieren des n-ten Eintrags für die Datenbanken nicht zeitintensiv. Des Weiteren muss die Länge der Tabelle, die in dem Algorithmus verwendete Variable „tableLength“, die tatsächliche Anzahl von Zeilen in der Tabelle sein.For example, in the table above, if the index calculated for a given PAN is 2, then the random number used is 3017539582807679362. Since the random number or salt column is indexed, locating the nth entry would not be time consuming for the databases. Furthermore, the length of the table, the "tableLength" variable used in the algorithm, must be the actual number of rows in the table.

In einem anderen Ausführungsbeispiel wird der erste verschlüsselte Code zum Generieren eines Tokens mit einer Mehrzahl von Zufallszahlen verschlüsselt, und jede der Zufallszahlen wird indiziert. In diesem Ausführungsbeispiel kann die Nachschlagetabelle mehrere Nachschlagetabellen enthalten, die Zufallszahlen wie einen SALT1, einen SALT2, einen SALT3, und so weiter enthalten.In another embodiment, the first encrypted code to generate a token is encrypted with a plurality of random numbers, and each of the random numbers is indexed. In this embodiment, the lookup table may include multiple lookup tables that contain random numbers such as a SALT1, a SALT2, a SALT3, and so on.

Des Weiteren könnte in diesem Ausführungsbeispiel die Länge oder Anzahl von Zeilen der Nachschlagetabellen unterschiedlich sein, z.B. SALT1 = 10000, SALT2 = 1000, SALT3 = 500 und dergleichen.Furthermore, in this embodiment, the length or number of rows of the lookup tables could be different, e.g. SALT1 = 10000, SALT2 = 1000, SALT3 = 500 and the like.

Zum Beispiel wird aus dem ersten verschlüsselten Code ein Index berechnet, um in die SALTI-Tabelle hineinzugehen. Hier muss die „tableLength“ gleich einer tatsächlichen Länge der SALTI-Tabelle sein. Danach wird aus dem ersten verschlüsselten Code + Salt1 (Salt-Wert aus der SALT1-Tabelle) ein Index berechnet, um in die SALT2-Tabelle hineinzugehen. Hier muss die verwendete „tableLength“ größer als die tatsächliche Länge der SALT2-Tabelle sein, um die Möglichkeit für eine „Index außerhalb der Grenzen“-Situation zu haben. Dann wird aus dem ersten verschlüsselten Code + Salt1 + Salt2, der Index berechnet, um in die SALT3 hineinzugehen. Hier muss die verwendete „tableLength“ größer als die tatsächliche Länge der SALT3-Tabelle sein, um die Möglichkeit für eine „Index außerhalb der Grenzen“-Situation zu haben.For example, an index is calculated from the first encrypted code to go into the SALTI table. Here the "tableLength" must be equal to an actual length of the SALTI table. An index is then calculated from the first encrypted code + Salt1 (salt value from the SALT1 table) in order to enter the SALT2 table. Here, the "tableLength" used must be greater than the actual length of the SALT2 table in order to have the possibility for an "index outside the limits" situation. Then the index is calculated from the first encrypted code + Salt1 + Salt2 in order to enter the SALT3. Here, the "tableLength" used must be greater than the actual length of the SALT3 table in order to have the possibility for an "index outside the limits" situation.

Die Logik, die nächste Zufallszahl zu identifizieren, hängt von der früheren Zufallszahl oder den früheren Zufallszahlen ab, die aus den Nachschlagetabellen verwendet wurde bzw. wurden. Je mehr Nachschlagetabellen, desto höher ist die Sicherheit. Die Zufallszahlen erschweren es, die nachfolgende Zufallszahl oder die nachfolgenden Zufallszahlen (Salt oder Salts) zu kennen, die zum Berechnen des Tokens verwendet wurde bzw. wurden. Jede Nachschlagtabelle wird nicht notwendigerweise für jede gegebene Berechnung verwendet. Dies wird zur Laufzeit festgestellt. Die Reihenfolge und die Länge der verwendeten Tabellen sind jedoch fest, um sicherzustellen, dass garantiert wird, dass der gleiche Salt (oder Salts) für einen gegebenen Hash einer PAN verwendet wird, während das Token berechnet wird.The logic to identify the next random number depends on the previous random number or numbers used from the lookup tables. The more lookup tables, the higher the security. The random numbers make it difficult to know the subsequent random number or the subsequent random numbers (salt or salts) that were or were used to calculate the token. Each lookup table is not necessarily used for any given calculation. This is determined at runtime. However, the order and length of the tables used are fixed to ensure that it is guaranteed that the same salt (or salts) will be used for a given hash of a PAN while the token is being calculated.

Daher hat die vorliegende Erfindung einen Vorteil beim Bereitstellen eines Verfahrens zum Anonymisieren einer PAN eines Karteninhabers während der Durchführung von Finanztransaktionen, welches die Transaktion sichert und ein Hacken sensibler Daten der PAN verhindert. Das Verfahren verhindert auch ein Entschlüsseln der sensiblen Daten, um die betrügerische Transaktion zu blockieren.The present invention therefore has an advantage in providing a method for anonymizing a PAN of a cardholder during the execution of financial transactions, which secures the transaction and prevents sensitive PAN data from being hacked. The process also prevents the sensitive data from being decrypted to block the fraudulent transaction.

Claims (6)

Verfahren zum Anonymisieren einer in einer Zahlungskarte für Finanztransaktionen verwendeten PAN eines Karteninhabers, wobei die PAN in einer ersten Datenbank 100 gespeichert ist; wobei die PAN zwischen der ersten Datenbank 100 und einer entfernten Stelle 300 ausgetauscht wird, wobei die PAN verschlüsselt wird, um einen ersten verschlüsselten Code zu erhalten, und der erste verschlüsselte Code mit zumindest einer dynamisch generierten Zufallszahl noch einmal verschlüsselt wird, um ein Token zu generieren, wobei es das Token der entfernten Stelle 300 ermöglicht, die tatsächliche PAN für vielfältige Zwecke zu verwenden, wodurch es ein Hacken der PAN verhindert.Method for anonymizing a PAN of a cardholder used in a payment card for financial transactions, the PAN being stored in a first database 100; wherein the PAN is exchanged between the first database 100 and a remote location 300, the PAN is encrypted to obtain a first encrypted code, and the first encrypted code is encrypted again with at least one dynamically generated random number to give a token generate, whereby the token of the remote site 300 enables the actual PAN to be used for a variety of purposes, thereby preventing the PAN from being hacked. Verfahren nach Anspruch 1, wobei der erste verschlüsselte Code und die entsprechende Zufallszahl in einer zweiten Datenbank 200 indiziert werden.Procedure according to Claim 1 , wherein the first encrypted code and the corresponding random number are indexed in a second database 200. Verfahren nach Anspruch 1, wobei eine vordefinierte Zufallszahl in einer einzigen Spalte in einer zweiten Datenbank 200 indiziert wird.Procedure according to Claim 1 , where a predefined random number is indexed in a single column in a second database 200. Verfahren nach Anspruch 1 und 2, wobei der erste verschlüsselte Code zum Generieren eines Tokens mit einer Mehrzahl von Zufallszahlen verschlüsselt wird, und jede der Zufallszahlen in einer zweiten Datenbank 200 indiziert wird.Procedure according to Claim 1 and 2nd , wherein the first encrypted code for generating a token is encrypted with a plurality of random numbers, and each of the random numbers is indexed in a second database 200. Verfahren nach Anspruch 1, wobei die Zuordnung einer für eine gegebene PAN verwendeten Zufallszahl durch den Algorithmus zum Zeitpunkt der ersten Berechnung des Tokens oder zu einem anderen Zeitpunkt sichergestellt wird.Procedure according to Claim 1 , the assignment of a random number used for a given PAN being ensured by the algorithm at the time of the first calculation of the token or at another time. Verfahren nach Anspruch 1, wobei der erste verschlüsselte Code durch Hashen der PAN unter Verwendung eines Hashing-Algorithmus erhalten wird.Procedure according to Claim 1 , wherein the first encrypted code is obtained by hashing the PAN using a hashing algorithm.
DE102018005861.2A 2018-07-25 2018-07-25 Method for anonymizing a cardholder's PAN Ceased DE102018005861A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018005861.2A DE102018005861A1 (en) 2018-07-25 2018-07-25 Method for anonymizing a cardholder's PAN

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018005861.2A DE102018005861A1 (en) 2018-07-25 2018-07-25 Method for anonymizing a cardholder's PAN

Publications (1)

Publication Number Publication Date
DE102018005861A1 true DE102018005861A1 (en) 2020-03-12

Family

ID=69620908

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018005861.2A Ceased DE102018005861A1 (en) 2018-07-25 2018-07-25 Method for anonymizing a cardholder's PAN

Country Status (1)

Country Link
DE (1) DE102018005861A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0387599B1 (en) * 1989-03-14 1995-09-27 Tandem Computers Incorporated Method of encrypting transmitted data using a unique key
US20080040284A1 (en) * 2004-09-07 2008-02-14 Hazel Patrick K Method and system for secured transactions
US20120039469A1 (en) * 2006-10-17 2012-02-16 Clay Von Mueller System and method for variable length encryption
US20140287816A1 (en) * 2011-11-09 2014-09-25 Novomatic Ag Method of and device for generating true random numbers and a gaming system
US20150019443A1 (en) * 2013-07-15 2015-01-15 John Sheets Secure remote payment transaction processing
US20150312038A1 (en) * 2014-04-23 2015-10-29 Karthikeyan Palanisamy Token security on a communication device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0387599B1 (en) * 1989-03-14 1995-09-27 Tandem Computers Incorporated Method of encrypting transmitted data using a unique key
US20080040284A1 (en) * 2004-09-07 2008-02-14 Hazel Patrick K Method and system for secured transactions
US20120039469A1 (en) * 2006-10-17 2012-02-16 Clay Von Mueller System and method for variable length encryption
US20140287816A1 (en) * 2011-11-09 2014-09-25 Novomatic Ag Method of and device for generating true random numbers and a gaming system
US20150019443A1 (en) * 2013-07-15 2015-01-15 John Sheets Secure remote payment transaction processing
US20150312038A1 (en) * 2014-04-23 2015-10-29 Karthikeyan Palanisamy Token security on a communication device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Oracle® Hospitality Simphony. PA-DSS Implementation Guide. Release 2.8. Part Number: E66804-01, April 2016. URL: https://docs.oracle.com/cd/E66669_01/doc.28/e66804.pdf [abgerufen am 26. März 2019] *
Oracle® Hospitality Simphony. PA-DSS Implementation Guide. Release 2.8. Part Number: E66804-01, April 2016. URL: https://docs.oracle.com/cd/E66669_01/doc.28/e66804.pdf [abgerufen am 26. März 2019]
TransArmor® / Tokenization. Payeezy.com, 22. März 2018. URL: https://support.payeezy.com/hc/en-us/articles/203731189-TransArmor-Tokenization- [abgerufen am 26. März 2019] *
TransArmor® / Tokenization. Payeezy.com, 22. März 2018. URL: https://support.payeezy.com/hc/en-us/articles/203731189-TransArmor-Tokenization- [abgerufen am 26. März 2019]

Similar Documents

Publication Publication Date Title
EP3256977B1 (en) Computer-implemented method for access control
DE69334091T2 (en) Access control subsystem and method for a distributed computing system that uses locally stored authentication data
DE69424729T2 (en) Procedure for verifying signatures in a communication system
DE112011100182B4 (en) Data security device, computing program, terminal and system for transaction verification
EP3452941B1 (en) Method for electronically documenting license information
DE112016006077T5 (en) SYSTEMS AND METHOD FOR PROVIDING A BLOCK CHAIN-BASED MULTIFACTOR IDENTITY TESTING OF PERSONS
DE112012005033B4 (en) Cross-system secure login
EP3743844B1 (en) Blockchain-based identity system
EP3735650B1 (en) Personal document block chain structure
EP2735991A1 (en) Computer implemented method for replacing a data string
DE69736283T2 (en) ACCESS CONTROL SYSTEM TO A FUNCTION IN WHICH THE CHIFFRATION CONTAINS MULTIPLE DYNAMIC VARIABLE
DE60100363T2 (en) SEQUENCE NUMBERING MECHANISM FOR SECURING EXECUTION INTEGRITY OF INTERDEPENDENT SMART CARD APPLICATIONS
DE102021004548A1 (en) METHOD AND TRANSACTION SYSTEM FOR TRANSFERRING TOKENS IN AN ELECTRONIC TRANSACTION SYSTEM
EP4381408A1 (en) Secure element, method for registering tokens, and token reference register
EP3480724B1 (en) Computer implemented method for replacing a data string with a placeholder
EP3629516B1 (en) Decentralised identity management solution
DE112018002723T5 (en) SYSTEM, METHOD AND DEVICE FOR HIDDEN DEVICE OPERATIONS
DE102018005861A1 (en) Method for anonymizing a cardholder's PAN
DE112020005557B4 (en) REGISTRATION FACILITY, SEARCH OPERATIONS FACILITY, DATA MANAGEMENT FACILITY, REGISTRATION PROGRAM, SEARCH OPERATIONS PROGRAM AND DATA MANAGEMENT PROGRAM
DE102014018892A1 (en) Method for operating a computer unit and such a computer unit
WO2018130426A1 (en) Anonymization of a block chain
DE102018204447B4 (en) Automated process for the protection of electronic data for the purpose of data processing by third parties, including transparent and uninterrupted remuneration
DE202021100647U1 (en) Personal data anonymization system (PDAS) with customer-specific token
DE102020104904A1 (en) PROCEDURE, TERMINAL DEVICE, MONITORING INSTANCE AND PAYMENT SYSTEM FOR MANAGING ELECTRONIC COIN DATA RECORDS
DE102018006313A1 (en) Procedure with safe-error-defense measure

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final