IP Library Granted Patent US 8,249,993
Granted Patent B2
US 8,249,993 · App. 12/110,106 · Granted Aug 21, 2012

Transparently securing data for transmission on financial networks

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,249,993
App. No.
12/110,106
Granted
Aug 21, 2012
Kind
B2
Abstract

Systems and methods for performing financial transactions are provided. In one embodiment, the invention provides a method for processing token data for a bank card transaction, the method includes: receiving a string of first token data from a token at a token reader; modifying the first token data and generating second token data, the second token data including modified token data; performing a modulo arithmetic operation on the second token data and determining a mod 10 check digit that will cause a modulo arithmetic check of the second token data to yield the same result as the modulo arithmetic check would yield on the first token data; and inserting the mod 10 check digit in the second data string and forwarding the second data string for the transaction.

Claims (46)

1. A method for encrypting bank card data from a bank card presented for a purchase transaction and for presenting encrypted bank card data to a transaction processing network for the purchase, the method comprising:

a point of sale bank card reader receiving a first set of bank card data from the bank card presented to the point of sale card reader for the purchase transaction, wherein the first set of data comprises clear text bank card data read from the bank card at the point of sale;

the bank card reader encrypting a selected subset of characters of the clear text bank card data read from the bank card at the point of sale;

the bank card reader replacing the original selected subset of characters of the card data with the encrypted selected subset of characters of the card data thereby creating encrypted bank card transaction data;

the bank card reader performing a mod 10 calculation on the encrypted bank card transaction data;

the bank card reader determining a digit that can be inserted into the encrypted bank card transaction data to cause a modulo 10 arithmetic check of the encrypted bank card transaction data to yield the same result as a modulo 10 arithmetic check would yield on the clear text bank card data read from the bank card at the point of sale;

inserting the digit into the encrypted bank card transaction data; and

forwarding the encrypted bank card transaction data with the digit to the transaction processing network for the purchase transaction.

2. The method of claim 1 , wherein the encrypted bank card transaction data comprises a string of encrypted token data and clear text token data, and the encrypted hank card transaction data is assembled in the same format as the clear text bank card data.

3. The method of claim 1 , wherein the first set of bank card data comprises an account number.

4. The method of claim 1 , wherein the digit is inserted into the encrypted bank card transaction data at a predetermined location of the encrypted bank card transaction data and an original mod 10 check digit in the first set of bank card data remains in the encrypted bank card transaction data and is recoverable upon decryption of the encrypted bank card transaction data.

5. The method of claim 1 , wherein the first set of token data is track data from a track of the bank card.

6. The method of claim 1 , wherein the first set of token data is a personal account number encoded on the bank card.

7. The method of claim 1 , wherein the clear text bank card data comprises a mod 10 check digit.

8. The method of claim 1 , wherein the encrypting selected characters comprises converting the selected characters to eight bytes, and performing an triple DES encryption on the selected token data.

9. The method of claim 1 , wherein the selected subset of characters comprises some or all of the first set of bank card data.

10. The method of claim 1 , wherein the encrypting a selected subset of characters and creating encrypted bank card transaction data comprises:

converting X digits of the first set of bank card to a predetermined number of Y bytes; and

performing a Y-byte encryption on the converted card data; and

convert the encrypted Y bytes of encrypted data to X digits.

11. The method of claim 10 , wherein performing the modulo arithmetic and inserting the mod 10 check digit comprises performing a modulo calculation on the X digits to determine the mod 10 check digit and inserting the mod 10 check digit in the appended predetermined digit.

12. The method of claim 1 , wherein the encrypted selected subset of characters of the card data replaces the original selected subset of characters of the card data at the same location or locations in the first set of bank card data.

13. The method of claim 1 , wherein at least one of the steps of encrypting and replacing is performed inside a magnetic stripe read head of the point of sale bank card reader.

14. A computer program product comprising a computer readable non-transitory storage medium having computer readable code embodied thereon that is configured to cause a processor to perform a method for encrypting bank card data from a bank card presented for a purchase transaction and for presenting encrypted bank card data to a transaction processing network for the purchase, the method comprising:

a point of sale bank card reader receiving a first set of bank card data from the bank card presented to the point of sale card reader for the purchase transaction, wherein the first set of data comprises clear text bank card data read from the bank card at the point of sale;

the bank card reader encrypting a selected subset of characters of the clear text bank card data read from the bank card at the point of sale;

the bank card reader replacing the original selected subset of characters of the card data with the encrypted selected subset of characters of the card data thereby creating encrypted bank card transaction data;

the bank card reader performing a mod 10 calculation on the encrypted bank card transaction data;

the bank card reader determining a digit that can be inserted into the encrypted bank card transaction data to cause a modulo 10 arithmetic check of the encrypted bank card transaction data to yield the same result as a modulo 10 arithmetic check would yield on the clear text bank card data read from the bank card at the point of sale;

inserting the digit into the encrypted bank card transaction data; and

forwarding the encrypted bank card transaction data with the digit to the transaction processing network for the purchase transaction.

15. The computer program product of claim 14 , wherein the encrypted bank card transaction data comprises a string of encrypted token data and clear text token data, and the encrypted bank card transaction data is assembled in the same format as the clear text bank card data.

16. The computer program product of claim 14 , wherein the first set of bank card data comprises an account number.

17. The computer program product of claim 14 , wherein the digit is inserted into the encrypted bank card transaction data at a predetermined location of the encrypted bank card transaction data and an original mod 10 check digit in the first set of bank card data remains in the encrypted bank card transaction data and is recoverable upon decryption of the encrypted bank card transaction data.

18. The computer program product of claim 14 , wherein the first set of token data is track data from a track of the bank card.

19. The computer program product of claim 14 , wherein the first set of token data is a personal account number encoded on the bank card.

20. The computer program product of claim 14 , wherein the clear text bank card data comprises a mod 10 check digit.

21. The computer program product of claim 14 , wherein the encrypting selected characters comprises converting the selected characters to eight bytes, and performing an triple DES encryption on the selected token data.

22. The computer program product of claim 14 , wherein the selected subset of characters comprises some or all of the first set of bank card data.

23. The computer program product of claim 14 , wherein the encrypting a selected subset of characters and creating encrypted bank card transaction data comprises:

converting X digits of the first set of bank card to a predetermined number of Y bytes; and

performing a Y-byte encryption on the converted card data; and

converting the encrypted Y bytes of encrypted data to X digits.

24. The computer program product of claim 23 , wherein performing the modulo arithmetic and inserting the mod 10 check digit comprises performing a modulo calculation on the X digits to determine the mod 10 check digit and inserting the mod 10 check digit in the appended predetermined digit.

25. The computer program product of claim 14 , wherein the encrypted selected subset of characters of the card data replaces the original selected subset of characters of the card data at the same location or locations in the first set of bank card data.

26. The computer program product of claim 14 , wherein at least one of the steps of encrypting and replacing is performed inside a magnetic stripe read head of the point of sale bank card reader.

Assignments (13)
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 046920-0784 Recorded Apr 28, 2025
From: UBS AG, STAMFORD BRANCH, AS SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS ASSIGNOR
To: BARCLAYS BANK PLC, AS ASSIGNEE
Reel/Frame 071095/0667 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 46920/0817 Recorded May 10, 2019
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: VERIFONE SYSTEMS, INC.; VERIFONE, INC.; HYPERCOM CORPORATION
Reel/Frame 049150/0190 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 23, 2018
From: VERIFONE, INC.; HYPERCOM CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH AS COLLATERAL AGENT
Reel/Frame 046920/0784 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 23, 2018
From: VERIFONE, INC.; HYPERCOM CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH AS COLLATERAL AGENT
Reel/Frame 046920/0817 →
RELEASE (R033282F0757) Recorded Aug 21, 2018
From: JPMORGAN CHASE BANK, N.A.
To: VERIFONE, INC.; HYPERCOM CORPORATION; GLOBAL BAY MOBILE TECHNOLOGIES, INC.
Reel/Frame 046864/0909 →
RELEASE (R027472F0851) Recorded Aug 21, 2018
From: JPMORGAN CHASE BANK, N.A.
To: VERIFONE, INC.
Reel/Frame 046866/0016 →
CHANGE OF ADDRESS Recorded May 30, 2016
From: VERIFONE, INC.
To: VERIFONE, INC.
Reel/Frame 038845/0718 →
SECURITY INTEREST Recorded Jul 9, 2014
From: VERIFONE, INC.; HYPERCOM CORPORATION; GLOBAL BAY MOBILE TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 033282/0757 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT AND APPLICATION NUMBERS 12/188114,7162636,7171560,7543151,7725726 PREVIOUSLY RECORDED ON REEL 027472 FRAME 0851. ASSIGNOR(S) HEREBY CONFIRMS THE GRANT OF A SECURITY INTEREST TO JPMORGAN CHASE BANK, N.A. Recorded Apr 18, 2012
From: VERIFONE, INC.; HYPERCOM CORPORATION; VERIFONE MEDIA, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 028068/0570 →
SECURITY INTEREST Recorded Jan 4, 2012
From: VERIFONE, INC., A DELAWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027472/0851 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2010
From: VERIFONE SYSTEMS, INC.
To: VERIFONE, INC.
Reel/Frame 025328/0286 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2010
From: SEMTEK INNOVATIVE SOLUTIONS CORPORATION
To: VERIFONE SYSTEMS, INC.
Reel/Frame 025177/0121 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2008
From: VON MUELLER, CLAY W.
To: SEMTEK INNOVATIVE SOLUTIONS CORPORATION
Reel/Frame 021106/0164 →