WO2008128349A1 - Privacy identifier remediation - Google Patents

Privacy identifier remediation Download PDF

Info

Publication number
WO2008128349A1
WO2008128349A1 PCT/CA2008/000746 CA2008000746W WO2008128349A1 WO 2008128349 A1 WO2008128349 A1 WO 2008128349A1 CA 2008000746 W CA2008000746 W CA 2008000746W WO 2008128349 A1 WO2008128349 A1 WO 2008128349A1
Authority
WO
WIPO (PCT)
Prior art keywords
token
identifier
privacy
credit card
server
Prior art date
Application number
PCT/CA2008/000746
Other languages
French (fr)
Inventor
Christopher K. Renter
Denis A. Niles
Original Assignee
Telus Communications Company
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
Priority claimed from CA2586248A external-priority patent/CA2586248C/en
Priority claimed from US11/739,031 external-priority patent/US20080263645A1/en
Application filed by Telus Communications Company filed Critical Telus Communications Company
Publication of WO2008128349A1 publication Critical patent/WO2008128349A1/en

Links

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/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
    • 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/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • 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/22Payment schemes or models
    • G06Q20/24Credit schemes, i.e. "pay after"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/12Card verification
    • G07F7/122Online card verification
    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Definitions

  • a method and apparatus is provided for privacy identifier remediation using a secure server installation.
  • the secure server installation abstracts privacy identifiers from its server, network, application and database environments, thus reducing investment in securing, segregating and/or isolating these environments in their entirety.
  • the secure server installation intercepts transactions using privacy identifiers that are sent from front end applications to back end applications, and forwards tokens in replacement of privacy identifiers for processing by the back end applications.
  • the secure sen er component also acts as a mediation gateway to connect to external agencies or processing systems.
  • the privacy identifiers comp ⁇ se credit card numbers.
  • Fig. i is schematic showing the processing components of an embodiment of a secure server installation and its environment
  • Fig. 2 is flow diagram illustrating method steps of a privacy identifier remediation process
  • Fig. 3 is a flow diagram illustrating further riefhod steps of a pri ⁇ acy identifier remediation process
  • Fig. 4 shows details of the process of Fig. 2 applied to the specific example of credit cards.
  • Fig. 5 shows details of the process of Fig. 3 applied to the specific example of credit cards.
  • secure server installation 10 is physically isolated in a secure location and logically connected via firewall 12 and router 14 to a variety of front end servers 16.
  • back end systems 1 8. systems 20 and external processing systems.
  • the front end servers 16 comprise any server or device that captures one or more privacy identifiers such as credit card data, social insurance numbers, bank account numbers. dri ⁇ er's license numbers, contract numbers and phone numbers from a person such as a customer or consumer.
  • the back end systems 18 comprise for example application and database servers that process privacy transactions, that is, a transaction that involves a privacy identifier.
  • the systems 20 compose privacy data ⁇ alidation servers, and may include for example end systems and users that need to connect to the secure server installation 10 for purposes of maintenance & operations, monitoring, logging of privacy data for purposes of audits, financial reporting and investigations.
  • the connection links between the elements shown in Fig. 1 represent logical connections formed upon request o ⁇ er any communications link including optical fiber, w ireless and wired connections, and may include intervening netw orks of any suitable kind such as portions of the internet.
  • SSL or equivalent or better communications secu ⁇ t should be used to secure communications, and for that purpose the secure sen er installation 10 ma> be connected via a firewall 12 to the router 14 by an SSL device 15 such as an SSL accelerator, as for example an SSL accelerator from F5 Networks.
  • the secure server installation 10 comprises in the embodiment shown a first server 22. referred to here for convenience as the A ⁇ alon server 22 (token management server), a second server 24, referred to here for com enience as the HSM server (hardware security module) and a third server 26, which acts as a database server.
  • a ⁇ alon server 22 token management server
  • HSM server hardware security module
  • HSM server hardware security module
  • third server 26 acts as a database server.
  • Other configurations of fewer or more servers could be used, and the entire functionality of the secure server installation in some embodiments could comprise a single server.
  • the sen ers 22, 24 and 26 are connected together in this embodiment ⁇ ia multiple IP 'Ethernet inter-connects in a bind configuration (for example an Ether-Channel) into a switch 28 such as a Cisco L2 or L3 switch.
  • Database sen'er 26 in this embodiment connects to a storage system, for example a disk array 27. via a suitable switch 29.
  • a suitable switch 29 such as a Brocade FC sw itch.
  • Other arrangements may be used for storage, such as flash memory, tape or optical disk.
  • a front end sen er 16 captures a privacy identifier (PI) (as for example credit card data that may include a credit card identifier (CCI) and. in step 32, forwards the privacy identifier to the secure server installation 10.
  • PI privacy identifier
  • CCI credit card identifier
  • a token uniquely associated with the privacy identifier is generated by an irreversible function in step 36.
  • the token and encrypted privacy identifier and key hash of the privacy identifier are stored in a manner that they are associated with each other in step 38.
  • the token is then forwarded to a back end sen'er 1 8 in step 40 for further processing according to the nature of the transaction in step 42, where the token is processed as a proxy for the privacy identifier.
  • the transaction ma ⁇ in some embodiments proceed as follows for the purpose of validating the privacy transaction, as for example a credit card validation where credit card data, and in some embodiments other privacy data, is validated.
  • step 44 the transaction ma ⁇ in some embodiments proceed as follows for the purpose of validating the privacy transaction, as for example a credit card validation where credit card data, and in some embodiments other privacy data, is validated.
  • the back end sen crs 18 request privacy identifier validation by generating a validation request message, and sending the validation request message to a information ⁇ alidation sen er 20 such as a credit card validation server.
  • the validation request message contains the token and not the privacy identifier.
  • the token is removed from the validation request message and replaced by the privacy identifier in step 46.
  • the ⁇ 'alidation request message is forwarded to an end system 20, such as a information validation sen'er.
  • a confirmation message is returned to the back end user 1 8 that requested ⁇ alidation.
  • the privacy identifier (PI) is not included in the confirmation message to 18. If there is a privacy identifier (PI), it is removed by secure sen er installation 10.
  • the Avalon sen d er 22 is configured to generate unique and meaningless tokens, to request a search and match of tokens for association of correct credit card identifiers and an authentication code for the credit card identifiers via database sen er 26, to extract credit card identifiers and insert tokens for internal backend system processing and to extract tokens and insert credit card idenlifiers for external communications processing for payment ⁇ 'alidation.
  • a token is substituted for a privacy identifier for all back end transactions.
  • the token is unique to the privacy identifier and meaningless in relation to the privacy identifier. That is. the privacy identifier cannot be determined from the token.
  • One manner of accomplishing generation of a meaningless token is to select a length of characters by an irre ⁇ ersible function such as generating the token in sequential order as credit card identifiers are processed by the Avalon sender 22.
  • the token may thus be obtained by looking up an ordered sequence of tokens, and selecting an unused token from the ordered sequence.
  • a suitably long token should be adopted to cover variable length privacy identifiers.
  • the characters may include any suitable characters, such as numerals and letters but may include other characters.
  • all tokens have a one-to-one relationship with privacy identifiers such as credit card numbers and other privacy identifiers.
  • privacy identifiers such as credit card numbers and other privacy identifiers.
  • the transactions may always use the same token that was issued the first time the customer completes a transaction using the secure server installation 10. The same applies to other privacy identifiers. If an individual pro ⁇ ides the same ID for any number of financial transactions, the token associated with that ID will always be the same one utilized during the processing of the transaction.
  • a suitably long token for example in one embodiment a numerical entity 21 digits long, there will never be more tokens issued to any particular individual than the total possible number of unique credit card identifiers and other privacy identifiers that an individual possesses and uses in the system. For example, as an extreme scenario, if an individual uses 40 different credit card identifiers and provides 40 pieces of different ID for various financial transactions, this individual would require a total of 80 unique tokens from the secure server installation 10. If we consider a total adult population of 500.000.000 (500 Million) for this scenario, the total number of tokens that the secure server installation would need to issue is 40.000.000.000 (40 Billion) tokens (80 x 500 Million). Thus, a token of length 21 digits will not be exhausted in practice. However, longer tokens could be used.
  • Tokens in one ernoouiment are issueu in a sequential l ⁇ imat ior every request tne system receives. Each request received however is completely random with no discernable pattern or ability to anticipate the type of value associated with the token.
  • Token requests may- come in from a variety of front end servers 16 and the generated token delivered to any of a large number of back end servers I 8. The token requests may be processed in batches amongst other individual requests coming into the back end servers 18.
  • Token requests may be associated with different types of identifiers (credit card verses other privacy identifiers), different credit card suppliers, different privacy identifiers (such as drivers license, bank account. PIN, Student Card, Government Employee #. etc...) and may be issued during any time of the day. Accordingly, due to the randomness, types of requests and data to be tokenized being sent to the secure server installation 10 it is quite impossible to define or construct a usable pattern of token issuing.
  • Request for tokens are restricted to specific applications whose authorization and authentication is tracked each time those applications need to communicate with the secure server installation 10. Once communication and access hia ⁇ e been granted to the system, the activity to request a token, encryption, decryption or hashing service may be monitored, tracked and written to a log file. Tracking software may also be applied to the back end servers 1 8 which need to connect to the secure server installation 1 0. Thus there are multiple areas where processes are in place to ensure the secure request and issuing of tokens. The same security measures apply to those teams which need to access secure server installation 10 such as audit teams, reverse payment teams, system administrators and security officers.
  • Tokens are stored in the clear within the backend systems 18. If the token is sufficiently long, such as for example longer than any credit card or other privacy identifier, the token has no meaning that can be deduced from its lsngth. In addition, even if the token was truncated, the specific format of the digits' numbering scheme would not meet the ⁇ 'alidation process of a credit card identifier. By generaling the token from an irreversible function such as a sequential number generator, the token is completely independent of the credit card or privacy identifier randomly submitted by a particular person or business for the secure server installation 10 to process.
  • an irreversible function such as a sequential number generator
  • the secure server installation 10 is the last step in the communication stream between the back end sen ers I 8 and external privacy identifier processing sen ers.
  • FIG. 4 further details of operation of a secure sen'er installation are described in an exemplary embodiment applied to credit card transactions.
  • the same process of token insertion and credit card identifier (CCT) encryption process may be applied to other privacy identifiers as for example bank account identifiers .
  • CCT credit card identifier
  • Step 60 Front End Sen'er 1 6 -> Avalon Server 22 (Token Request)
  • a process of credit card remediation begins v> ith generation of a token request by a front end sen er 16 during a credit card processing request.
  • the front end server 16 may be a web tier application that requires use of a credit card payment to complete a transaction.
  • the front end sen er 16 will need to communicate with a back end sen'er 1 8 fcr the purpose of completing the transaction.
  • the normal transaction process using a credit card is commenced, but the front end sen'er 16 pauses the transaction process for the time required to send the credit card identifier to the secure server installation 1 0 for a token request receipt. Communication stream between the front end server 16 and secure sen er installation 10 is secured via SSL.
  • Step 62 Avalon Sewer 22 -> HSM Sender 24 (Encryption Request)
  • the Avalon se ⁇ er 22 at the secure sen'er installation 10 receives credit card identifier and sends it to the HSM Sen'er 24 for encryption and generation of the keyed hash of credit card identifier, for example by a KEYed Hash process.
  • Step 64 HSM Encryption
  • the cryptography key for decryption is kept at the HSM sen er 24.
  • An example of an authentication code is a keyed hash based on the credit card identifier - a 256 bit KEY (using Key ⁇ 2)
  • the strength of encryption KEY vl and KEY #2 should be sufficiently strong to meet security standards applicable to the transaction process.
  • An example authentication code is a keyed-hash message authentication code, or HMAC, calculated using a cryptographic hash function in combination with a secret key. As with any MAC. it may be used to simultaneously verify both the data integrity and the authenticity of a message. Any suitably strong iterative cryptographic hash function, such as JvI D5. SHA-I or better, may be used in the calculation of an HMAC for this purpose.
  • the cryptographic strength of the HMAC depends upon the cryptographic strength of the underlying hash function, on the size and quality of the key and the size of the hash output length in bits.
  • Step 66 HSM Server 24 -> Avalon Server 22 (Return CCI)
  • the HSM server 24 returns the encrypted Credit card identifier and authentication code to the Avalon server 22.
  • Step 68 Avalon Server 22 -> Database Server 26 (Existing Token?)
  • the Avalon Server 22 sends the authentication code and. in some embodiments, an entity type to the database server 26 to search for an existing token.
  • An entity type may be an additional security code basec on a feature of the transaction being paused, as for example based on the credit card issuer (such as VISATM). Look up in the database server 26 is done via the authentication code and the entity type to lower or avoid the possibility of collisions (or token mismatch).
  • Step 70 Database Server 26 -> Avalon Server 22 (Existing token returned) If a match on authentication code and entity type is found, fie database server 26 returns the token matched.
  • Step 72 Database Server 26 -> Avalon Sen er 22 (No existing token) If no match is found, the database sen er 26 returns a "'null" response indicating to the A ⁇ alon sen'er 22 that a new token must be created.
  • Step 74 A ⁇ alon sen'er 22 (Create token). If no existing token is returned from the database sender 26, the Avalon sen'er 22 generates a new token as for example a unique sequential and meaningless number. The Avalon sen'er 22 associates the token with an encrypted credit card identifier, the authentication code, and entity type, and also any other suitable identification information, such as a table name or key label, used the database.
  • Step 76 Avalon sender 22 -> Database Sen"er (Store Token).
  • the Avalon sen'er 22 sends the token, encrypted credit card identifier, authentication code, entity type and other suitable identification information to the database sen er 26 for processing and storage.
  • the database sen er 26 returns an acknowledge message when this process is complete.
  • Step 78 Avalon sei ⁇ er 22 -> Back End Sen ; er 18 (Forward Token).
  • the Avalon server 22 sends the token to the back end sen'er 1 8. where the token is used by the back end sen ⁇ r 1 8 to carry out the transaction requested by the front end server 16 that requested the transaction and originally forwarded the credit card identifier that has now been substituted by the token.
  • steps 80-96 detail the payment confirmation process.
  • Step 80 Back End Server 1 8 -> Secure sen'er installation 1 0 (Verification Request) If credit card verification is required, the following steps may be taken. Once the back end sen'er 18 has completed its processing, the back end sen'er 1 8 sends its financial transaction data stream (which includes the unique token) to the secure server installation 10 for credit card identifier lookup and re-insertion. Communication stream between the two entities is secured via SSL.
  • Step 82 Avalon sen'er 22 (Token'CCI Exchange Request)
  • the Avalon sen'er 22 receives the data stream from the back end sen er 1 8 and pauses the transaction process for the time required to extract unique token, look up credit card identifier in the database 27 and re-insert credit card identifier in 1he data stream.
  • Step 84 Avalon server 22 -7 Database Server 26 (Find encrypted CCI).
  • Avalon server 22 sends the token to the database sen'er 26 for encrypted credit card identifier look up.
  • Step 86 Database Sen'er 26 -> Avalon server 22 (Return encrypted CCI)
  • the database sen'er 26 receives unique token, searches for matching token and associated encrypted credit card identifier.
  • the database sen'er 26 sends the encrypted credit card identifier to the Avalon sen'er 22.
  • Step 88 Avalon sen'er 22 - ⁇ HSM Sen'er 24 (Request CCI).
  • the Avalon sen'er 22 receives the encrypted credit card identifier with the cryptography key label and sends it to the HSM server 24 for decryption.
  • Step 90 HSM Server 24 -> Aval on server 22 (Decryption and CCI Insertion)
  • the HSM server 24 recedes encrypted credit card identifier, decrypts and sends the decrypted CCI to the Avalon server 22.
  • the A ⁇ alon server 22 receives decrypted credit card identifier and inserts into transaction stream in place of token.
  • Step 92 Avalon server 22 -> Private Information Validation Company 20 (Payment Completion Request, for example).
  • the transaction stream from the back end server 18 with decrypted or real credit card identifier is sent to the Credit Card Validation Company 20 for payment process completion.
  • Step 94 Private Information Validation Company 20 -> Avalon server 22 (Payment Completion).
  • the Private Information Validation Company 20 returns payment confirmation details to Avalon server 22. If the Private Information Validation Company 20 returns the private information identifier as part of its confirmation data to Avalon server 22. the private information identifier is stripped out prior to re-directing the completed transaction stream back to the back end server 1 8.
  • Step 96 Server 18 -> Front End Server 16 (Complete Transaction).
  • the completed transaction with associated confirmation data is sent to the originating front end server 16.
  • the transaction terminates where it originated from.
  • a user could be a connected user to sen er 16 (a web browser for example).
  • the Avalon server 22 may in some embodiments track, monitor, log and audit all activity relating to credit card processing done by the secure server installation 10. If separate servers 22, 24 and 26 are used, they should be clustered for reliability . [0039]
  • the HSM server 24 should be permitted to communicate only with the Avalen sen er 22 by suitable identification measures. In some embodiments, for strictest security, no device other than the Aval on sen er 22 should be able tD issue requests to the HSM sen'er 24. Some systems 20 may be permitted access to the Aval on sen'er 22 for purposes of maintenance, operations, audits and im estigations.
  • the HSM Sen er 26 provides encryption, decryption, authentication code, keyed hash generation and key management for the secure se ⁇ er installation 10.

Abstract

A secure server installation is provided that abstracts credit card identifiers from its server, network, application and database environments, thus reducing investment in securing, segregating and/or isolating these environments in their entirety. The secure server installation intercepts credit card transactions sent from front end applications to back end applications, and forwards tokens in replacement of credit card identifiers for processing by the back end applications. The same secure server installation can be applied for the encryption, storage (data-at-rest), transmission of private data within a network of other private or sensitive data not limited to social insurance numbers, drivers license numbers, phone numbers, bank account numbers,etc.

Description

PRIVACY IDENTIFIER REMEDIATION
BACKGROUND
[0001] As credit card fraud and identify fraud becomes more prevalent, credit card issuers and personal information providers (government agencies, etc) are requiring greater security by companies that process transactions using credit cards or other personal information. The software applications used by these companies must meet strict standards for credit card processing required by credit card issuers and personal information. The standards include providing secure processing and storage of credit card information, and other privacy identifiers such as driver's license, banking or other financial data as for example as may be achieved by suitable encryption of credit card identifiers, identification numbers or bank account numbers. However, it is very difficult for companies with existing credit card and other identifiable information (driver's license, social security numbers, banking information, etc) to meet these requirements.
SUMMARY
[0002] A method and apparatus is provided for privacy identifier remediation using a secure server installation. The secure server installation abstracts privacy identifiers from its server, network, application and database environments, thus reducing investment in securing, segregating and/or isolating these environments in their entirety. The secure server installation intercepts transactions using privacy identifiers that are sent from front end applications to back end applications, and forwards tokens in replacement of privacy identifiers for processing by the back end applications. The secure sen er component also acts as a mediation gateway to connect to external agencies or processing systems. In an embodiment, the privacy identifiers compπse credit card numbers.
[0003] These and other aspects of the apparatus and method are set out in the claims, which are incorporated here by reference.
BRIEF DESCRIPTION OF THE FIGURES
[0004] Embodiments will now be described with reference to the figures, in which like reference characters denote like elements, by wa\ of example, and in which:
Fig. i is schematic showing the processing components of an embodiment of a secure server installation and its environment;
Fig. 2 is flow diagram illustrating method steps of a privacy identifier remediation process;
Fig. 3 is a flow diagram illustrating further riefhod steps of a priλ acy identifier remediation process;
Fig. 4 shows details of the process of Fig. 2 applied to the specific example of credit cards; and
Fig. 5 shows details of the process of Fig. 3 applied to the specific example of credit cards.
DETAILED DESCRIPTION
[0005] In the claims, the word "comprising" is used in its inclusive sense and docs not exclude other elements being present. The indefinite article "a" before a claim feature does not exclude more than one of the claim feature being present. Each one of the individual features described here may be used in one or more embodiments and is not. by virtue only of being described here, to be construed as essential to all embodiments as defined b\ the claims.
[0006] In Fig. 1. secure server installation 10 is physically isolated in a secure location and logically connected via firewall 12 and router 14 to a variety of front end servers 16. back end systems 1 8. systems 20 and external processing systems. The front end servers 16 comprise any server or device that captures one or more privacy identifiers such as credit card data, social insurance numbers, bank account numbers. dri\ er's license numbers, contract numbers and phone numbers from a person such as a customer or consumer. The back end systems 18 comprise for example application and database servers that process privacy transactions, that is, a transaction that involves a privacy identifier. The systems 20 compose privacy data Λ alidation servers, and may include for example end systems and users that need to connect to the secure server installation 10 for purposes of maintenance & operations, monitoring, logging of privacy data for purposes of audits, financial reporting and investigations. The connection links between the elements shown in Fig. 1 represent logical connections formed upon request o\er any communications link including optical fiber, w ireless and wired connections, and may include intervening netw orks of any suitable kind such as portions of the internet. SSL or equivalent or better communications secuπt) should be used to secure communications, and for that purpose the secure sen er installation 10 ma> be connected via a firewall 12 to the router 14 by an SSL device 15 such as an SSL accelerator, as for example an SSL accelerator from F5 Networks.
[0007] The secure server installation 10 comprises in the embodiment shown a first server 22. referred to here for convenience as the A\ alon server 22 (token management server), a second server 24, referred to here for com enience as the HSM server (hardware security module) and a third server 26, which acts as a database server. Other configurations of fewer or more servers could be used, and the entire functionality of the secure server installation in some embodiments could comprise a single server. The sen ers 22, 24 and 26 are connected together in this embodiment Λ ia multiple IP 'Ethernet inter-connects in a bind configuration (for example an Ether-Channel) into a switch 28 such as a Cisco L2 or L3 switch. Database sen'er 26 in this embodiment connects to a storage system, for example a disk array 27. via a suitable switch 29. such as a Brocade FC sw itch. Other arrangements may be used for storage, such as flash memory, tape or optical disk.
[0008] In operation, the system of Fig. 1 operates as follows according to the steps of Fig. 2 and 3. The process steps may be applied to any privacy identifier for example a credit card transaction, as for example when a customer seeks to purchase sen'ices using a credit card. As shown in Fig. 2. beginning w ith step 30. a front end sen er 16 captures a privacy identifier (PI) (as for example credit card data that may include a credit card identifier (CCI) and. in step 32, forwards the privacy identifier to the secure server installation 10. At the secure sen'er installation, the privacy identifier is encrypted in step 34. In addition, a token uniquely associated with the privacy identifier is generated by an irreversible function in step 36. The token and encrypted privacy identifier and key hash of the privacy identifier are stored in a manner that they are associated with each other in step 38. The token is then forwarded to a back end sen'er 1 8 in step 40 for further processing according to the nature of the transaction in step 42, where the token is processed as a proxy for the privacy identifier. [0009] As shown in Fig. 3. the transaction ma\ in some embodiments proceed as follows for the purpose of validating the privacy transaction, as for example a credit card validation where credit card data, and in some embodiments other privacy data, is validated. In step 44. the back end sen crs 18 request privacy identifier validation by generating a validation request message, and sending the validation request message to a information \ alidation sen er 20 such as a credit card validation server. The validation request message contains the token and not the privacy identifier. At the secure sender installation 10. the token is removed from the validation request message and replaced by the privacy identifier in step 46. In step 48. the λ'alidation request message is forwarded to an end system 20, such as a information validation sen'er. Upon validation of the request, in step 50 a confirmation message is returned to the back end user 1 8 that requested λ alidation. The privacy identifier (PI) is not included in the confirmation message to 18. If there is a privacy identifier (PI), it is removed by secure sen er installation 10.
[0010] As outlined below, in one exemplar}' embodiment applied to credit card identifiers, although similar operations may also be applied to other privacy identifiers, the Avalon sender 22 is configured to generate unique and meaningless tokens, to request a search and match of tokens for association of correct credit card identifiers and an authentication code for the credit card identifiers via database sen er 26, to extract credit card identifiers and insert tokens for internal backend system processing and to extract tokens and insert credit card idenlifiers for external communications processing for payment λ'alidation.
[0011] A token is substituted for a privacy identifier for all back end transactions. The token is unique to the privacy identifier and meaningless in relation to the privacy identifier. That is. the privacy identifier cannot be determined from the token. One manner of accomplishing generation of a meaningless token is to select a length of characters by an irreλ ersible function such as generating the token in sequential order as credit card identifiers are processed by the Avalon sender 22. The token may thus be obtained by looking up an ordered sequence of tokens, and selecting an unused token from the ordered sequence. A suitably long token should be adopted to cover variable length privacy identifiers. The characters may include any suitable characters, such as numerals and letters but may include other characters.
[0012] In one embodiment, all tokens have a one-to-one relationship with privacy identifiers such as credit card numbers and other privacy identifiers. Thus, in the case where the privacy identifier is a credit card number, no matter how many times a customer issues a credit purchase with the same credit card identifier, the transactions may always use the same token that was issued the first time the customer completes a transaction using the secure server installation 10. The same applies to other privacy identifiers. If an individual proλides the same ID for any number of financial transactions, the token associated with that ID will always be the same one utilized during the processing of the transaction.
[0013] By selecting a suitably long token, for example in one embodiment a numerical entity 21 digits long, there will never be more tokens issued to any particular individual than the total possible number of unique credit card identifiers and other privacy identifiers that an individual possesses and uses in the system. For example, as an extreme scenario, if an individual uses 40 different credit card identifiers and provides 40 pieces of different ID for various financial transactions, this individual would require a total of 80 unique tokens from the secure server installation 10. If we consider a total adult population of 500.000.000 (500 Million) for this scenario, the total number of tokens that the secure server installation would need to issue is 40.000.000.000 (40 Billion) tokens (80 x 500 Million). Thus, a token of length 21 digits will not be exhausted in practice. However, longer tokens could be used.
[0014] Tokens in one ernoouiment are issueu in a sequential lϋimat ior every request tne system receives. Each request received however is completely random with no discernable pattern or ability to anticipate the type of value associated with the token. Token requests may- come in from a variety of front end servers 16 and the generated token delivered to any of a large number of back end servers I 8. The token requests may be processed in batches amongst other individual requests coming into the back end servers 18. Token requests may be associated with different types of identifiers (credit card verses other privacy identifiers), different credit card suppliers, different privacy identifiers (such as drivers license, bank account. PIN, Student Card, Government Employee #. etc...) and may be issued during any time of the day. Accordingly, due to the randomness, types of requests and data to be tokenized being sent to the secure server installation 10 it is quite impossible to define or construct a usable pattern of token issuing.
[0015] Request for tokens are restricted to specific applications whose authorization and authentication is tracked each time those applications need to communicate with the secure server installation 10. Once communication and access hiaλ e been granted to the system, the activity to request a token, encryption, decryption or hashing service may be monitored, tracked and written to a log file. Tracking software may also be applied to the back end servers 1 8 which need to connect to the secure server installation 1 0. Thus there are multiple areas where processes are in place to ensure the secure request and issuing of tokens. The same security measures apply to those teams which need to access secure server installation 10 such as audit teams, reverse payment teams, system administrators and security officers. Thus only those systems and/or individuals with strict secure pre-defined credentials are able to request a credit card identifier for decryption by submitting a token. Each role of the audit teams, rcλ crse payment teams, system administrators and security officers are granted specific levels of security without overlap of the other roles, further reducing risk.
[0016] Tokens are stored in the clear within the backend systems 18. If the token is sufficiently long, such as for example longer than any credit card or other privacy identifier, the token has no meaning that can be deduced from its lsngth. In addition, even if the token was truncated, the specific format of the digits' numbering scheme would not meet the λ'alidation process of a credit card identifier. By generaling the token from an irreversible function such as a sequential number generator, the token is completely independent of the credit card or privacy identifier randomly submitted by a particular person or business for the secure server installation 10 to process. Further, there is no association between the token and credit card identifier except for the token being the prime search key to find the encrypted credit card identifier which enables the completion of the requested financial transaction by a particular backend system 18. Additionally, this process is a one-way stream m which the back end system 18 cannot and does not see the privacy identifier when a transaction is processed. The secure server installation 10 is the last step in the communication stream between the back end sen ers I 8 and external privacy identifier processing sen ers.
[0017] Referring to Fig. 4, further details of operation of a secure sen'er installation are described in an exemplary embodiment applied to credit card transactions. The same process of token insertion and credit card identifier (CCT) encryption process may be applied to other privacy identifiers as for example bank account identifiers .
[0018] Step 60 Front End Sen'er 1 6 -> Avalon Server 22 (Token Request) A process of credit card remediation begins v> ith generation of a token request by a front end sen er 16 during a credit card processing request. The front end server 16 may be a web tier application that requires use of a credit card payment to complete a transaction. The front end sen er 16 will need to communicate with a back end sen'er 1 8 fcr the purpose of completing the transaction. The normal transaction process using a credit card is commenced, but the front end sen'er 16 pauses the transaction process for the time required to send the credit card identifier to the secure server installation 1 0 for a token request receipt. Communication stream between the front end server 16 and secure sen er installation 10 is secured via SSL.
[0019] Step 62 Avalon Sewer 22 -> HSM Sender 24 (Encryption Request) The Avalon seπ er 22 at the secure sen'er installation 10 receives credit card identifier and sends it to the HSM Sen'er 24 for encryption and generation of the keyed hash of credit card identifier, for example by a KEYed Hash process.
[0020] Step 64 HSM (Encryption) The HSM sen'er 24 encrypts the credit card identifier (using a strong encryption KEY =fl hash, as for ex amp1 e using a 1024 bit key) and builds an authentication code corresponding to the credit card identifier for look up purposes. The cryptography key for decryption is kept at the HSM sen er 24. An example of an authentication code is a keyed hash based on the credit card identifier - a 256 bit KEY (using Key ^2) The strength of encryption KEY vl and KEY #2 should be sufficiently strong to meet security standards applicable to the transaction process. An example authentication code is a keyed-hash message authentication code, or HMAC, calculated using a cryptographic hash function in combination with a secret key. As with any MAC. it may be used to simultaneously verify both the data integrity and the authenticity of a message. Any suitably strong iterative cryptographic hash function, such as JvI D5. SHA-I or better, may be used in the calculation of an HMAC for this purpose. The cryptographic strength of the HMAC depends upon the cryptographic strength of the underlying hash function, on the size and quality of the key and the size of the hash output length in bits.
[0021] Step 66 HSM Server 24 -> Avalon Server 22 (Return CCI) The HSM server 24 returns the encrypted Credit card identifier and authentication code to the Avalon server 22.
[0022] Step 68 Avalon Server 22 -> Database Server 26 (Existing Token?) In an embodiment, before creating a token, the Avalon Server 22 sends the authentication code and. in some embodiments, an entity type to the database server 26 to search for an existing token. An entity type may be an additional security code basec on a feature of the transaction being paused, as for example based on the credit card issuer (such as VISA™). Look up in the database server 26 is done via the authentication code and the entity type to lower or avoid the possibility of collisions (or token mismatch).
[0023] Step 70 Database Server 26 -> Avalon Server 22 (Existing token returned) If a match on authentication code and entity type is found, fie database server 26 returns the token matched.
[0024] Step 72 Database Server 26 -> Avalon Sen er 22 (No existing token) If no match is found, the database sen er 26 returns a "'null" response indicating to the A\ alon sen'er 22 that a new token must be created.
[0025] Step 74 A\ alon sen'er 22 (Create token). If no existing token is returned from the database sender 26, the Avalon sen'er 22 generates a new token as for example a unique sequential and meaningless number. The Avalon sen'er 22 associates the token with an encrypted credit card identifier, the authentication code, and entity type, and also any other suitable identification information, such as a table name or key label, used
Figure imgf000010_0001
the database.
[0026] Step 76 Avalon sender 22 -> Database Sen"er (Store Token). In this step, the Avalon sen'er 22 sends the token, encrypted credit card identifier, authentication code, entity type and other suitable identification information to the database sen er 26 for processing and storage. The database sen er 26 returns an acknowledge message when this process is complete.
[0027] Step 78 Avalon seiΥer 22 -> Back End Sen;er 18 (Forward Token). Once an acknowledge response from the database server 26 has been received, the Avalon server 22 sends the token to the back end sen'er 1 8. where the token is used by the back end sen εr 1 8 to carry out the transaction requested by the front end server 16 that requested the transaction and originally forwarded the credit card identifier that has now been substituted by the token.
[0028] Referring to Fig. 5, steps 80-96 detail the payment confirmation process.
[0029] Step 80 Back End Server 1 8 -> Secure sen'er installation 1 0 (Verification Request) If credit card verification is required, the following steps may be taken. Once the back end sen'er 18 has completed its processing, the back end sen'er 1 8 sends its financial transaction data stream (which includes the unique token) to the secure server installation 10 for credit card identifier lookup and re-insertion. Communication stream between the two entities is secured via SSL.
[0030] Step 82 Avalon sen'er 22 (Token'CCI Exchange Request) The Avalon sen'er 22 receives the data stream from the back end sen er 1 8 and pauses the transaction process for the time required to extract unique token, look up credit card identifier in the database 27 and re-insert credit card identifier in 1he data stream.
[0031] Step 84 Avalon server 22 -7 Database Server 26 (Find encrypted CCI). Avalon server 22 sends the token to the database sen'er 26 for encrypted credit card identifier look up.
[0032] Step 86 Database Sen'er 26 -> Avalon server 22 (Return encrypted CCI) The database sen'er 26 receives unique token, searches for matching token and associated encrypted credit card identifier. The database sen'er 26 sends the encrypted credit card identifier to the Avalon sen'er 22.
[0033] Step 88 Avalon sen'er 22 -} HSM Sen'er 24 (Request CCI). The Avalon sen'er 22 receives the encrypted credit card identifier with the cryptography key label and sends it to the HSM server 24 for decryption.
[0034] Step 90 HSM Server 24 -> Aval on server 22 (Decryption and CCI Insertion) The HSM server 24 recedes encrypted credit card identifier, decrypts and sends the decrypted CCI to the Avalon server 22. The A\ alon server 22 receives decrypted credit card identifier and inserts into transaction stream in place of token.
[0035] Step 92 Avalon server 22 -> Private Information Validation Company 20 (Payment Completion Request, for example). The transaction stream from the back end server 18 with decrypted or real credit card identifier is sent to the Credit Card Validation Company 20 for payment process completion.
[0036] Step 94 Private Information Validation Company 20 -> Avalon server 22 (Payment Completion). The Private Information Validation Company 20 returns payment confirmation details to Avalon server 22. If the Private Information Validation Company 20 returns the private information identifier as part of its confirmation data to Avalon server 22. the private information identifier is stripped out prior to re-directing the completed transaction stream back to the back end server 1 8.
[0037] Step 96 Server 18 -> Front End Server 16 (Complete Transaction). The completed transaction with associated confirmation data is sent to the originating front end server 16. The transaction terminates where it originated from. A user could be a connected user to sen er 16 (a web browser for example). mm o i TfU ^ Λ . — 1 , Ti ; ~ „ — C, ^. Λ C — 1 „ , , „; „ „ ,; f nι,i „ „ „ &„ ,„„„ + „ ,„„ ,„„<-„
[(IUJ Oj i iit Λ \ -i i)ii Λci v c-i /-/- i s uu u n y ui ou i ui ^Λ<αi ipj c us i ng s αnαu iL au n n αi L iu gu iu aii. unique & meaningless sequential numbers for variable field length credit card identifiers and privacy identifier fields. The tokens should thus have a sufficient number of digits to cover various length identifiers. While one type of encryption KEY may be used for the credit card identifier, other encryption keys may be used for other fields, such as privacy identifier fields, that require encryption. The Avalon server 22 may in some embodiments track, monitor, log and audit all activity relating to credit card processing done by the secure server installation 10. If separate servers 22, 24 and 26 are used, they should be clustered for reliability . [0039] The HSM server 24 should be permitted to communicate only with the Avalen sen er 22 by suitable identification measures. In some embodiments, for strictest security, no device other than the Aval on sen er 22 should be able tD issue requests to the HSM sen'er 24. Some systems 20 may be permitted access to the Aval on sen'er 22 for purposes of maintenance, operations, audits and im estigations.
[0040] The HSM Sen er 26 provides encryption, decryption, authentication code, keyed hash generation and key management for the secure seπ er installation 10.
[0041] Immaterial modifications may be made to the embodiments described here without departing from what is covered by the claims.

Claims

What is claimed is:
1. A method of privacy identifier remediation, comprising the steps of: capturing a privacy identifier at a front end server; forwarding the privacy identifier to a secure server installation; at the secure server installation, obtaining a token to replace the privacy identifier, the token being unique and meaningless in relation to the privacy identifier; forwarding the token from the secure server installation to a back end server; and processing the token as a proxy for the privacy identifier at the back end server.
2. The method of claim 1 in which obtaining the token comprises: checking for a pre-existing token corresponding to the privacy identifier; if there is a pre-existing token corresponding to the privacy identifier, then forwarding the pre-existing token in replacement of the privacy identifier; and if there is no pre-existing token corresponding to the privacy identifier, then generating a token and forwarding the generated token in replacement of the privacy identifier.
3. The method of claim 2 in which: generating a token is carried out in a token management server; and pre-existing tokens are stored in a storage medium managed by a database server.
4. The method of claim 2 in which generating the token comprises looking up an ordered sequence of tokens and selecting an unused token from the ordered sequence of tokens.
5. The method of any one of claims 1-4 further comprising: requesting private information identifier validation by generating a validation request message for sending to a private information validation server, the validation request message containing the token; at the secure server installation, replacing the token in the validation request message by the private information identifier; and forwarding the validation request message to the private information validation server.
6. The method of any one of claims 1-5 further comprising the step of: encrypting the privacy identifier at the secure server installation to generate an encrypted privacy identifier with a keyed hash the privacy identifier; and associating the token with the encrypted privacy identifier.
7. The method of claim 6 in which: encrypting the privacy identifier is carried out at a secure encryption server; and associating the token with the encrypted privacy identifier is carried out at a token management server.
8. The method of claim 7 in which obtaining the token comprises: checking for a pre-existing token corresponding to the privacy identifier with the search of the keyed hash of the privacy identifier; if there is a pre-existing token corresponding to the privacy identifier, then forwarding the pre-existing token in replacement of the privacy identifier; and if there is no pre-existing token corresponding to the privacy identifier, then generating a token and forwarding the generated token in replacement of the privacy identifier.
9. The method of claim 8 in which: generating a token is carried out in the token management server; and pre-existing tokens are stored in a storage medium managed by a database server.
10. The method of claim 9 in which generating the token comprises looking up an ordered sequence of tokens and selecting an unused token from the ordered sequence of tokens.
11. The method of claim 10 farther comprising: requesting privacy identifier validation by generating a validation request message for sending to a private information validation server, the validation request message containing the token; at the secure server installation, replacing the token in the validation request message by the privacy identifier; and forwarding the validation request message to the private information validation server.
12. The process of any one of claims 1-11 in which the privacy identifier comprises a credit card number.
13. Apparatus configured to carry out the steps of any one of method claims 1-12.
14. A method of privacy identifier remediation, comprising the steps of: capturing a privacy identifier at a front end server; forwarding the privacy identifier to a secure server installation; at the secure server installation, encrypting the privacy identifier to generate an encrypted privacy identifier with the keyed hash of the privacy identifier, generating a token uniquely associated with the privacy identifier, the token being meaningless in relation to the privacy identifier and storing the token and encrypted privacy identifier; forwarding the token to a back end server; and processing the token as a proxy for the privacy identifier at the back end server.
15. The method of claim 14 further comprising the steps of: requesting privacy identifier validation by generating a validation request message for sending to a private information validation server, the validation request message containing the token; at the secure server installation, replacing the token in the validation request message by the privacy identifier; and forwarding the validation request message to the private information validation server.
16. The method of claim 15 further comprising confirming transaction completion after validation of the privacy identifier at the privacy validation server.
17. The method of claim 16 in which the privacy identifier comprises a credit card number.
18. A method of credit card identifier remediation, comprising the steps of: receiving a credit card processing request, the request containing a credit card identifier; obtaining a token to replace the credit card identifier, the token being unique and meaningless in relation to the credit card identifier; and forwarding the token for processing as a proxy for the credit card identifier.
19. The method of claim 18 in which obtaining the token comprises: checking for a pre-existing token corresponding to the credit card identifier; if there is a pre-existing token corresponding to the credit card identifier, then forwarding the pre-existing token in replacement of the credit card identifier; and if there is no pre-existing token corresponding to the credit card identifier, then generating a token and forwarding the generated token in replacement of the credit card identifier.
20. The method of claim 19 in which checking for a pre-existing token is carried out by searching for a keyed hash of the credit card identifier associated with the token.
21. The method of claim 19 in which: generating a token is carried out in a token management server; and pre-existing tokens are stored in a storage medium managed by a database server.
22. The method of any one of claims 18-21 in which obtaining the token comprises looking up an ordered sequence of tokens and selecting an unused token from the ordered sequence of tokens.
23. The method of any one of claims 18-22 further comprising the step of: encrypting the credit card identifier to generate an encrypted credit card identifier; and associating the token with the encrypted credit card identifier.
24. The method of claim 23 in which: encrypting the credit card and the keyed hash of the credit card identifier is carried out at a secure encryption server; and associating the token with the encrypted credit card identifier is carried out at a token management server.
25. The method of claim 24 in which obtaining the token comprises: checking for a pre-existing token corresponding to the credit card identifier; if there is a pre-existing token corresponding to the credit card identifier, then forwarding the pre-existing token in replacement of the credit card identifier; and if there is no pre-existing token corresponding to the credit card identifier, then generating a token and forwarding the generated token in replacement of the credit card identifier.
26. The method of claim 25 in which checking for a pre-existing token is carried out by searching for a keyed hash of the credit card identifier associated with the token
27. The method of claim 26 in which: generating a token is carried out in the token management server; and pre-existing tokens are stored in a storage medium managed by a database server.
28. The method of claim 27 in which generating the token comprises looking up an ordered sequence of tokens and selecting an unused token from the ordered sequence of tokens.
29. Apparatus configured to carry out the steps of method claims 18-28.
30. A secure server installation, comprising: one or more servers connected via a firewall to a network router; and the one or more servers being configured to: receive a privacy processing request, the request containing a privacy identifier; encrypting the privacy identifier for safe storage of the encrypted privacy identifier, the encrypted privacy identifier being encrypted with a key for decryption; obtain a token to replace the privacy identifier, the token being unique and meaningless in relation to the privacy identifier; and forward the token for processing as a proxy for the privacy identifier
31. The secure server installation of claim 30 in which the one or more servers comprise: a secure encryption server for carrying out encryption and decryption functions; and a token management server for coordinating selection of a token.
32. The secure server installation of claim 31 in which the one or more servers comprise a database server for managing storage of tokens and encrypted privacy identifiers.
PCT/CA2008/000746 2007-04-23 2008-04-23 Privacy identifier remediation WO2008128349A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CA2586248A CA2586248C (en) 2007-04-23 2007-04-23 Privacy identifier remediation
US11/739,031 2007-04-23
US11/739,031 US20080263645A1 (en) 2007-04-23 2007-04-23 Privacy identifier remediation
CA2,586,248 2007-04-23

Publications (1)

Publication Number Publication Date
WO2008128349A1 true WO2008128349A1 (en) 2008-10-30

Family

ID=39875029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2008/000746 WO2008128349A1 (en) 2007-04-23 2008-04-23 Privacy identifier remediation

Country Status (1)

Country Link
WO (1) WO2008128349A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497940A (en) * 2011-12-21 2013-07-03 Veritape Ltd Proxy server for forwarding detokenized or decrypted data
US10715610B2 (en) * 2017-12-15 2020-07-14 Slack Technologies, Inc. System, method, and apparatus for generating a third party resource usage map in a group based communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978918A (en) * 1997-01-17 1999-11-02 Secure.Net Corporation Security process for public networks
US6760841B1 (en) * 2000-05-01 2004-07-06 Xtec, Incorporated Methods and apparatus for securely conducting and authenticating transactions over unsecured communication channels
WO2006014043A1 (en) * 2004-08-05 2006-02-09 Electronics And Telecommunications Research Institute Transactions certification method and system to protect privacy on details of electronic transactions
US20070250704A1 (en) * 2006-04-25 2007-10-25 Verisign, Inc. Privacy enhanced identity scheme using an un-linkable identifier

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978918A (en) * 1997-01-17 1999-11-02 Secure.Net Corporation Security process for public networks
US6760841B1 (en) * 2000-05-01 2004-07-06 Xtec, Incorporated Methods and apparatus for securely conducting and authenticating transactions over unsecured communication channels
WO2006014043A1 (en) * 2004-08-05 2006-02-09 Electronics And Telecommunications Research Institute Transactions certification method and system to protect privacy on details of electronic transactions
US20070250704A1 (en) * 2006-04-25 2007-10-25 Verisign, Inc. Privacy enhanced identity scheme using an un-linkable identifier

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOLVA R. ET AL.: "Authentication Method with Impersonal Token Cards", 1993 IEEE COMPUTER SOCIETY SYMPOSIUM ON RESEARCH IN SECURITY AND PRIVACY, OAKLAND, CA, USA, 24 May 1993 (1993-05-24) - 26 May 1993 (1993-05-26), pages 56 - 65, XP000416060 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497940A (en) * 2011-12-21 2013-07-03 Veritape Ltd Proxy server for forwarding detokenized or decrypted data
GB2497940B (en) * 2011-12-21 2016-02-17 Eckoh Uk Ltd Method and apparatus for mediating communications
US9887966B2 (en) 2011-12-21 2018-02-06 Eckoh UK Ltd. Method and apparatus for mediating communications
US10263963B2 (en) 2011-12-21 2019-04-16 Eckoh Uk Limited Method and apparatus for mediating communications
US10715610B2 (en) * 2017-12-15 2020-07-14 Slack Technologies, Inc. System, method, and apparatus for generating a third party resource usage map in a group based communication system
US11489932B2 (en) 2017-12-15 2022-11-01 Slack Technologies, Llc System, method, and apparatus for generating a third party resource usage map in a group based communication system
US11863640B2 (en) 2017-12-15 2024-01-02 Salesforce, Inc. System, method, and apparatus for generating a third-party resource usage map in a group based communication system

Similar Documents

Publication Publication Date Title
US20080263645A1 (en) Privacy identifier remediation
CN102932136B (en) Systems and methods for managing cryptographic keys
CN109687959B (en) Key security management system, key security management method, key security management medium, and computer program
AP626A (en) Cryptographic system and method with key escrow feature.
US8898086B2 (en) Systems and methods for transmitting financial account information
US20010050990A1 (en) Method for initiating a stream-oriented encrypted communication
CN104079573A (en) Systems and methods for securing data in the cloud
CN108737442A (en) A kind of cryptographic check processing method
CN103384196A (en) Secure data parser method and system
CN101939946A (en) Systems and methods for securing data using multi-factor or keyed dispersal
CN104917780A (en) Systems and methods for securing data in motion
CN103563325A (en) Systems and methods for securing data
JP2005522775A (en) Information storage system
NO331571B1 (en) System for protecting an encrypted information unit
US11711349B2 (en) Methods and systems for secure cross-platform token exchange
US20230259899A1 (en) Method, participant unit, transaction register and payment system for managing transaction data sets
CN101075967B (en) System for processing SWIFT message
CN109889343B (en) Electronic invoice circulation control method, device and system
WO2008128349A1 (en) Privacy identifier remediation
US11775677B2 (en) Tokenization and encryption for secure data transfer
CA2586248C (en) Privacy identifier remediation
Huang Transaction Database Encryption Technology based on Blockchain Technology
EP2658203A1 (en) Method and computer communication system for the authentication of a client system
CN115880088A (en) Accounting processing method, access server, node server and accounting processing system
CN103190129B (en) To moving medial according to the system and method protected

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08748161

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08748161

Country of ref document: EP

Kind code of ref document: A1