The present invention relates generally to magnetic stripe card readers and more specifically to magnetic stripe card readers that encrypt information extracted from a magnetic stripe.
Documents bearing magnetic stripes, such as magnetic stripe cards, are commonly used in a variety of transactions. In many instances data read from the magnetic stripe can be provided to a server to verify that the document bearing the magnetic stripe is authentic.
A number of different approaches are known for authenticating a document bearing a magnetic stripe. One approach is to extract data stored on the magnetic stripe and verify the authenticity of the data. Another approach that can foil attempts to reproduce information recorded on a magnetic stripe is to extract data concerning the physical characteristics of the magnetic stripe itself. Observations of the materials used to construct magnetic stripes have revealed that each material is unique and generates magnetic field with unique characteristics that are observable. When a signal is generated that is indicative of the magnetic field, the component of the signal that is indicative of this unique characteristic is often referred to as the remanent noise signal of the material. A number of authentication processes compare information concerning the remanent noise signal of a magnetic stripe on the document presented with known information concerning the remanent noise characteristic of the magnetic stripe of the authentic document. Correlation between the information suggests that the document presented is in fact authentic. Processes that seek to extract information that is unique to a particular magnetic stripe or data recorded on a magnetic stripe are commonly referred to as ‘Magnetic Fingerprinting’ techniques.
The invention relates to a card reader for use in web based transactions. In one embodiment, the invention relates to a method for establishing a secure connection between a card reader and a server, the method including receiving a first challenge request, generating a response to the first challenge request using a first encryption key, sending the response to the first challenge request, sending a second challenge request, receiving an encrypted response to the second challenge request, verifying the encrypted response to the second challenge request; and, if the encrypted response is verified, reading data card information from a data card, the data card information including an intrinsic magnetic characteristic and recorded data on the data card, generating a magnetic fingerprint based on the intrinsic magnetic characteristic, and sending the magnetic fingerprint to authenticate the data card.
In another embodiment, the invention relates to a system for establishing a secure connection between a card reader and a server, the system including, the card reader including a read head configured to read data card information from a data card, the data card information including an intrinsic magnetic characteristic and recorded data on the data card, and a processor coupled to the read head, the processor configured to receive a first challenge request, generate a response to the first challenge request using a first encryption key, send the response to the first challenge request, send a second challenge request, receive an encrypted response to the second challenge request, verify the encrypted response to the second challenge request, generate a magnetic fingerprint based on the intrinsic magnetic characteristic, and send the magnetic fingerprint.
In another embodiment, the invention relates to a method for establishing a secure connection between a card reader and a server, the method including receiving a challenge request, decrypting the challenge request using a first encryption key, generating a response to the challenge request using a second encryption key, sending the response to the challenge request, receiving an encrypted magnetic fingerprint, decrypting the encrypted magnetic fingerprint, generating a score indicative of a degree of correlation between the magnetic fingerprint and a reference magnetic fingerprint, and sending the score.
Turning now to the drawings, embodiments of the present invention that include a magnetic stripe reader that is connected to a terminal are shown. The magnetic stripe reader extracts information from magnetic stripes on documents, encrypts some of the extracted information and provides at least some of the unencrypted information and some of the encrypted information to the terminal. In one aspect of the invention, the terminal can display some unencrypted information so that a terminal operator can identify any discrepancies between information on the document that is visually apparent and information contained on the magnetic stripe of the document. In another aspect of the invention, the terminal provides the unencrypted and the encrypted information received from the magnetic stripe reader to a host system or server. In many embodiments, the data terminal provides the information to the server via a network. In a number of embodiments, the reader is constructed with a tamper resistant housing and can identify itself with an encrypted and/or unencrypted serial number. Several embodiments also include USB ports to enable the connection of the reader between a keyboard and a computer. Embodiments that are interposed between a keyboard and a computer can enable the selective encryption of the output of the keyboard. By encrypting the output, an unsecured keyboard can provide encrypted PINs to the computing device for use in financial transactions.
In another aspect of the invention, the magnetic stripe reader and a server can engage in a challenge response mutual authentication process that verifies the authenticity of both the magnetic stripe reader and the server so that secure communications can be executed. Once the authenticity of the server has been established, the magnetic stripe reader can indicate to the user of the reader using a visible, audible or tactile indicator that the server is authentic. In some embodiments, the server is a website server. In several embodiments, the indicator is positioned on the housing of the magnetic stripe reader. In one embodiment, the indicator is a light emitting diode (LED).
A network in accordance with an embodiment of the present invention is shown in
In many embodiments, the magnetic stripe card reader 12 is configured to read magnetic stripes on documents such as credit cards. When a credit card is presented to the magnetic stripe card reader that complies with ISO Standard 7810/7811, the magnetic stripe card reader 12 can extract information from tracks 1, 2 and/or 3 of the magnetic stripe card. Tracks 1, 2 and 3 commonly include information such as an account number, the name of the account holder and the expiration date of the card. In addition to extracting recorded data, the magnetic stripe card reader can also extract a magnetic fingerprint of the magnetic stripe. In many embodiments, techniques such as those described in U.S. Pat. No. 6,098,881 to Deland, Jr., et al., U.S. Pat. No. 7,210,627 to Morley, Jr., et al. and U.S. patent application Ser. Nos. 11/014,930 and 11/015,271 which are hereby incorporated by reference in their entirety, can be used to extract a magnetic fingerprint of a magnetic stripe.
Once the magnetic stripe card reader 12 has extracted information from a magnetic stripe, the magnetic stripe card reader is configured to encrypt a portion of the extracted data. In many embodiments, the extracted data includes an account number, name and expiration date, which the magnetic stripe card reader can partially encrypt. In a number of embodiments, a sufficient portion of the extracted data is left unencrypted so that a comparison can be performed between the unencrypted information and information displayed visually on the document. In some embodiments, a sufficient portion, an unmasked portion, of an unencrypted account number is provided by the reader such that a comparison can be performed between the portion of the account number and information visually displayed on a document. In such case, the reader can provide an account number having both a masked portion and an unmasked portion. In some embodiments, the masked portion consists of a number of digits of the account number where the digits have been replaced by one or more masking digits. In one embodiment, the masking digit is an asterisk. In another embodiment, masking digits are selected according to the Luhn algorithm, or “mod 10” algorithm, described in U.S. Pat. No. 2,950,048. In one such case, the terminal knows which digits are masked and which digits are unmasked and only considers the unmasked digits for the purposes of comparison. The masked digits can be zeros and/or additional calculated digits arranged within the masked portion to allow the entire account number to pass a validation check based on the Luhn algorithm.
In addition to information extracted from the magnetic stripe card, the magnetic stripe card reader 12 can also encrypt at least a portion of information (such as a serial number) that uniquely identifies the magnetic stripe card reader and/or the magnetic reading head used to capture the information. The serial number can then be used to authenticate the reader to the server independently of the process used for authentication of a data card.
The magnetic stripe card reader 12 is also configured to provide the unencrypted and encrypted information to a terminal. As discussed above, the unencrypted information can be compared to information that is visually apparent on the document. Typically, a terminal will include a display device and the unencrypted information can be displayed on the display device so that a terminal operator can perform a comparison between the unencrypted information and information visually apparent on the card. In many embodiments, the unencrypted information is displayed in conjunction with meaningless characters (such as ‘X’) that denote a character that has been encrypted and, therefore, is not available for display by the terminal. In the event that the information does not correspond, then the terminal operator can cancel the transaction. In the absence of an interruption by a terminal operator, both the unencrypted and encrypted information are provided to the server 16 via the network 18. In addition to transmitting the unencrypted and encrypted information provided by the magnetic stripe card reader 12, the terminal can also transmit information that uniquely identifies the terminal. The terminal identification information can be encrypted or unencrypted.
In many embodiments, the server 16 includes a database of information concerning valid documents bearing magnetic stripes. In order to ascertain whether the information received from a terminal is associated with a valid document, the server 18 can decrypt the encrypted information and combine the decrypted information with the unencrypted information transmitted by the terminal. The combined information can then be compared against the records maintained in the database and a determination made concerning the authenticity of the document from which the information was extracted. The determination with respect to authenticity is transmitted to the terminal via the network and the determination used by the terminal in deciding whether to proceed with the transaction.
In many embodiments, a public key/private key encryption scheme is used by the magnetic stripe card reader 12. In a number of embodiments, each magnetic stripe card reader possesses a unique encryption key and in several embodiments, the server can change the encryption key. In a number of embodiments an encryption scheme complying with a standard commonly used by the financial industry such as Triple Data Encryption Standard (Triple DES) developed by International Business Machines Corporation of Armonk, N.Y. can be used. Many such embodiments derive a different encryption key for each transaction (commonly referred to by the acronym ‘DUKPT’, which stands for Derived Unique Key Per Transaction and is specified as ANSI X9.24). In other embodiments, other encryption techniques can be used.
A process in accordance with the present invention that can be performed by a magnetic stripe card reader and terminal is shown in
A process in accordance with the present invention that can be performed by a server is shown in
A process that can be implemented by a magnetic stripe card reader and a terminal for verifying the authenticity of a document bearing a magnetic stripe is shown in
A process that can be implemented by a server in accordance with the present invention for determining the authenticity of a document based upon unencrypted and encrypted information extracted from a magnetic stripe on the document is shown in
An embodiment of a magnetic stripe reader in accordance with the present invention is shown in
In addition to the embodiment shown in
In the embodiment shown in
In the discussion above, the authentication of information provided by a document bearing a magnetic stripe is discussed. In a number of embodiments, the information on a document can be supplemented with information entered via a keyboard or other input device. If the input device is not secured, then the input from the input device can be intercepted. Magnetic card readers in accordance with several embodiments of the invention attempt to frustrate efforts to intercept data entered by input devices that provide unencrypted outputs. The unencrypted input devices are connected to the magnetic card readers and the magnetic card readers are connected to the terminal such that the magnetic card readers are located between the unencrypted input devices and the terminal. The magnetic card reader passes information unencrypted, unless the terminal and/or the input device indicate that the information is intended to remain secure. In the event that the information is intended to remain secure, the information is encrypted by the magnetic card reader before transmission to the terminal. By physically disconnecting the input device from the terminal, the magnetic card reader creates a hardware firewall between the input device and the terminal.
An embodiment of a magnetic card reader connected between a keyboard and a personal computer in accordance with an embodiment of the invention is shown in
Although a keyboard is illustrated, any of a variety of devices that produce an unencrypted output can be combined with an appropriately configured magnetic stripe reader in accordance with the present invention. Moreover, the magnetic stripe reader can be connected between an input device and any of a variety of terminals. Although USB connections are illustrated, any appropriate communication protocols can be used to connect the input device to the terminal. In a number of embodiments, the protocols used to connect the magnetic stripe reader to the input device are the same as those used to connect the magnetic stripe reader and the terminal. In other embodiments, the system is designed to include the magnetic stripe reader and different protocols can be used for the communications between the input device and the magnetic stripe reader and the communications between the magnetic stripe reader and the terminal.
In several embodiments, a magnetic stripe card reader can be used to authenticate a remote server/website and to establish a secure connection with the authenticated server/website. In a number of embodiments, the magnetic stripe card reader can engage in a mutual authentication protocol with the website that allows the magnetic stripe card reader to verify that the website is authentic and allows the website to verify the authenticity of the magnetic stripe card reader. When the magnetic stripe card reader and website have verified mutual authenticity, the magnetic stripe card reader can notify the user of the magnetic stripe card reader using an indicator associated with the magnetic stripe card reader. In one embodiment, the website and/or terminal can notify the user of the authentication of the magnetic stripe card reader via the terminal.
A perspective view of a magnetic stripe card reader having an indicator in accordance with an embodiment of the invention is illustrated in
In one embodiment, the components of the magnetic stripe card reader can further include any of the components indicated
In operation, a data card (not shown) can be swiped through the card path 202 and the magnetic read head (not shown) can obtain information from the magnetic stripe of the data card. Information read from the data card can be at least partially encrypted or left at least partially unencrypted and sent to terminal (see 14 of
The magnetic stripe card reader 212 can be connected to the terminal 14 of
When the magnetic stripe card reader has established a secure connection with an authenticated website or server, the card reader can notify the user of the card reader using the indicator 206. In one embodiment, the indicator is a light emitting diode (LED) or any other device capable of attracting the attention of the user of the card reader. In one embodiment, the indicator is an audible indicator such as a bell or other sound. In another embodiment, the indicator is a tactile indicator such as a buzzer, vibrating mechanism or other tactile device. In another embodiment, the indicator is implemented using some combination of a visual, audible and/or tactile indicator. In several embodiments, the card reader notifies the terminal that a secure and authenticated connection with the website was established using a predetermined protocol for communication between the card reader and the terminal. In several embodiments, the website also provides a message indicating that a secure connection with an authenticated reader has been established. The website can further instruct the user to verify that the indicator on the card reader indicates that a secure connection has been established. For example, the website could state “Please verify that your intelligent card reader has its green LED flashing”, or something to that effect.
A flow chart of a process for establishing an authenticated connection between a server and a magnetic stripe card reader in accordance with an embodiment of the invention is illustrated in
In several embodiments, the user is informed (230) using an indicator associated with the magnetic stripe card reader. In some embodiments, the user is informed by a message on the terminal. In some embodiments, the user is informed using both the indicator and one or more messages on the terminal. In one embodiment, the user is instructed to check the indicator by a message on the terminal. Visual cues from the reader and website can thus instruct the user of a secure connection with an authentic website. Phishing and other consumer deception schemes can thus be prevented.
In one embodiment, secure transactions that can be established and protected also include transactions relating to non-financial websites that require confidential information such as a driver's license number, a date of birth, a social security number, medical information or other confidential information. In such secure transactions, the card reader can act in essence like a security feedback system that is transparent to the user.
A block diagram/flow chart of a process for implementing challenge-response mutual authentication (CRMA) between a client and a server in accordance with an embodiment of the invention is illustrated in
In other embodiments, other methods of executing a challenge response mutual authentication process can be used. In one embodiment, a Kerberos challenge response method is used. In some embodiments, challenge response mutual authentication may be implemented using symmetric encryption, one way functions, public key encryption and/or digital signatures. In another embodiment, any method of implementing a challenge response mutual authentication process known to one skilled in the art may be used to establish a secure and authenticated connection between the client and the server. In several embodiments, the card reader is the client and a website is the server for the CRMA process. In other embodiments, other methods of achieving mutual authentication can be used instead of CRMA.
The process can begin when a customer using the reader/PC client visits (311) the website of the website server. The website can respond by sending (312) a challenge request to the reader. In a number of embodiments, the reader can respond to the challenge request issued by the website by sending the challenge request back to the website in an encrypted form using a common encryption key. The reader then transmits (313) a challenge to the authentication server. The authentication server decrypts (314) the reader's challenge and formulates an encrypted response. The authentication server then sends (315) the formulated response to the reader. The reader validates (316) the response. A blinking LED on the reader can indicate a valid website. The customer enters (317) the customer's username/password and swipes the data card through the reader. The reader sends (318) triple DES (3DES) DUKPT encrypted card data to the website. The website validates (319) the customer's username/password. The website then sends (320) the encrypted card data to the authentication server. The authentication server decrypts (321) the card data including magnetic fingerprint data and authenticates the magnetic fingerprint data. The authentication server then returns (322), to the website, the decrypted card data and a score indicative of the degree of correlation between the magnetic fingerprint data read from the data card during the transaction and a stored value. The website uses (323) the decrypted data to authenticate the customer and/or customer transaction. The website can then complete (324) the services requested by the customer using standard procedures.
In one embodiment, the process can perform the sequence of actions depicted in
In several embodiments, the username can be an identifier intended for one time use. In such case, the identifier can include the magnetic fingerprint of the data card engaged in the current transaction. In one embodiment, the password can be a value intended for one time use. In such case, the password value can include the magnetic fingerprint of the data card engaged in the current transaction. In another embodiment, the username, password and magnetic fingerprint of the data card engaged in the current transaction can be combined to form a digital signature intended for one time use.
In one embodiment, the reader is configured to output encrypted data including card track data, magnetic fingerprint data, sequence counter data and cyclic redundancy check (CRC) data. In another embodiment, the reader is configured to output unencrypted or clear text data including key serial number data, DUKPT counter data, masked data, CRC data, and reader serial number data.
In another embodiment, the authentication server is also the transaction terminal. In such case, authentication of a card can take place at the transaction terminal. In this example of localized authentication, the card authentication information including the intrinsic magnetic characteristics of the data card can be stored in an encoded form (stored reference fingerprint) on the data card. The transaction terminal can receive the intrinsic magnetic characteristic of the card (transaction fingerprint) and stored information including the stored reference fingerprint from the card reader. Using this information, the terminal can perform the scoring process at the terminal. A score indicative of the degree of correlation of the fingerprint read from the card and the stored fingerprint can be generated. Based on the score, the terminal can determine whether or not the card is authentic.
In another embodiment, the data card reader includes a remote key loading feature which enables a remote server or other computing device to load an encryption key onto the reader. In one embodiment, the authentication system, including the authentication server and/or the trusted scoring system, can enable remote key loading. In one such case, a data card reader can include a secure mode for securely loading encryption keys. Special information provided to the reader can cause the reader to enter the secure mode. In another embodiment, the data card reader can include multiple levels of security. In such case, each level can correspond to a different degree of security and a level of encryption used. In one embodiment, the highest level of security can require that all data received and sent by the reader is encrypted. In one embodiment, a remote computing device can use an existing encryption key, one that is generally used for encrypting data read by the data card reader, in conjunction with a security sequence to enter the secure mode and remotely load one or more encryption keys. In another embodiment, the remote computing device can use a special manufacturing encryption key in conjunction with a security sequence to enter the secure mode and remotely load one or more encryption keys. In such case, the remotely loaded keys can replace the existing encryption keys. In several embodiments, the encryption keys used are DUKPT encryption keys. In some embodiments, the manufacturing key can be known only by the card reader itself and the manufacturer of the reader.
In a number of embodiments, the data card reader is equipped with a means of providing audio, visual or tactile feedback to the user. In a number of embodiments, the feedback can relate to whether the card reader has been authenticated and/or whether a swiped data card has been authenticated. In a number of embodiments, the visual feedback can be conveyed using one or more LEDs. In one embodiment, the audio feedback is conveyed using a speaker.
In many embodiments including the embodiment of
In a number of embodiments, the reader process exchanges information involved in the mutual authentication process with a website server and/or an authentication server. In one embodiment, the process can perform the sequence of actions depicted in
In one embodiment, the card reader can include a read head having a housing enclosing a number of components generally found in the card reader. Embodiments of such read heads are described in U.S. patent application Ser. No. 11/949,722, entitled “ENCRYPTING THE OUTPUT OF A CARD READER IN A CARD AUTHENTICATION SYSTEM”, which is hereby incorporated by reference in its entirety.
In a number of embodiments, the server process exchanges information involved in the mutual authentication process with a card reader and/or a website server. In one embodiment, the process can perform the sequence of actions depicted in
While the above description contains many specific embodiments of the invention, these should not be construed as limitations on the scope of the invention, but rather as an example of one embodiment thereof. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents.
The present application claims the benefit of Provisional Application No. 60/886,810, filed Jan. 26, 2007, entitled “CARD READER FOR USE IN WEB BASED TRANSACTIONS”, the contents of which are expressly incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
4423415 | Goldman | Dec 1983 | A |
4476468 | Goldman | Oct 1984 | A |
4489318 | Goldman | Dec 1984 | A |
4546352 | Goldman | Oct 1985 | A |
4568936 | Goldman | Feb 1986 | A |
4630845 | Sanner | Dec 1986 | A |
4635054 | Goldman | Jan 1987 | A |
4650978 | Hudson et al. | Mar 1987 | A |
4689477 | Goldman | Aug 1987 | A |
4748679 | Gold et al. | May 1988 | A |
4752837 | DeLand, Jr. | Jun 1988 | A |
4785290 | Goldman | Nov 1988 | A |
4806740 | Gold et al. | Feb 1989 | A |
4807287 | Tucker et al. | Feb 1989 | A |
4812903 | Wagensonner et al. | Mar 1989 | A |
4837426 | Pease et al. | Jun 1989 | A |
4906988 | Copella | Mar 1990 | A |
4916294 | Goldman | Apr 1990 | A |
4985614 | Pease et al. | Jan 1991 | A |
5023923 | Sanner et al. | Jun 1991 | A |
5177344 | Pease | Jan 1993 | A |
5216229 | Copella et al. | Jun 1993 | A |
5235166 | Fernadez | Aug 1993 | A |
5254843 | Hynes et al. | Oct 1993 | A |
5365586 | Indeck et al. | Nov 1994 | A |
5396369 | Deland, Jr. et al. | Mar 1995 | A |
5408505 | Indeck et al. | Apr 1995 | A |
5428683 | Indeck et al. | Jun 1995 | A |
5430279 | Fernadez | Jul 1995 | A |
5434917 | Naccache et al. | Jul 1995 | A |
5524072 | Labaton et al. | Jun 1996 | A |
5546462 | Indeck et al. | Aug 1996 | A |
5587654 | Indeck et al. | Dec 1996 | A |
5602381 | Hoshino et al. | Feb 1997 | A |
5612528 | Green et al. | Mar 1997 | A |
5616904 | Fernadez | Apr 1997 | A |
5625689 | Indeck et al. | Apr 1997 | A |
5627357 | Cheng et al. | May 1997 | A |
5646621 | Cabler et al. | Jul 1997 | A |
5647003 | Pease | Jul 1997 | A |
RE35599 | Pease | Sep 1997 | E |
5729230 | Jensen et al. | Mar 1998 | A |
5739517 | Hoshino et al. | Apr 1998 | A |
5740244 | Indeck et al. | Apr 1998 | A |
5767495 | DeLand, Jr. | Jun 1998 | A |
5829743 | DeLand, Jr. et al. | Nov 1998 | A |
5838270 | Kiriaki | Nov 1998 | A |
5920628 | Indeck et al. | Jul 1999 | A |
5988500 | Litman | Nov 1999 | A |
6053406 | Litman | Apr 2000 | A |
6075860 | Ketcham | Jun 2000 | A |
6098881 | DeLand, Jr. et al. | Aug 2000 | A |
6400302 | Amazeen et al. | Jun 2002 | B1 |
6431445 | DeLand, Jr. et al. | Aug 2002 | B1 |
6470240 | Haynes et al. | Oct 2002 | B1 |
6476743 | Brown et al. | Nov 2002 | B1 |
6535561 | Boesch et al. | Mar 2003 | B2 |
6760841 | Fernandez | Jul 2004 | B1 |
6830182 | Izuyama | Dec 2004 | B2 |
6899269 | Deland | May 2005 | B1 |
7051002 | Keresman, III et al. | May 2006 | B2 |
7064538 | Kernhof | Jun 2006 | B2 |
7090130 | DeLand, Jr. et al. | Aug 2006 | B2 |
7210627 | Morley, Jr. et al. | May 2007 | B2 |
20020038286 | Koren et al. | Mar 2002 | A1 |
20030191711 | Jamison et al. | Oct 2003 | A1 |
20050165695 | Berardi et al. | Jul 2005 | A1 |
20050167495 | Morley et al. | Aug 2005 | A1 |
20050173530 | DeLand, Jr. et al. | Aug 2005 | A1 |
20050210247 | Ong et al. | Sep 2005 | A1 |
20050218229 | Morley, Jr. et al. | Oct 2005 | A1 |
20060059073 | Walzak | Mar 2006 | A1 |
20060210076 | Knighton et al. | Sep 2006 | A1 |
20070006150 | Walmsley | Jan 2007 | A9 |
20080040276 | Hammad et al. | Feb 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20080179401 A1 | Jul 2008 | US |
Number | Date | Country | |
---|---|---|---|
60886810 | Jan 2007 | US |