Authenticating a chip card interface device

A system is configured for authenticating a chip card interface device (CCID) during a transaction with the CCID. The system has a communication device configured for communicating with the CCID over a network and a processing device coupled with the communication device. The processing device is configured for receiving a transaction initiation communication from the CCID and instructing the communication device to communicate a request for authentication information including a random number to the CCID. The CCID encrypts the random number with a unique chip key (UCK) previously created with a master chip key (MCK). Then, the CCID communicates the encrypted random number to the system along with a serial number. The system recalculates the UCK using the serial number, encrypts a copy of the random number using the recalculated UCK and compares the encrypted copy with the encrypted random number received from the CCID to authenticate the CCID.

FIELD

In general, embodiments of the invention relate to devices used in reading and writing to chip cards and, more particularly, relate to systems, methods, and computer program products for authenticating a chip card interface device with a backend system during a transaction.

BACKGROUND

Bank cards, including credit and debit cards, are used by cardholders to make purchases, cash withdrawals, and other financial transactions at bank card machines, such as automated teller machines (ATMs), point-of-sale (POS) terminals, and the like. For example, one type of bank card has a magnetic stripe that holds information about a credit or debit account. The cardholder can then access the credit or debit account by, for example, swiping the bank card by a magnetic stripe reader on the bank card machine. A newer type of bank card, generally referred to as a “chip card,” “smart card,” or “integrated circuit card” includes an on-card electronic chip such as a processor, microprocessor, memory, another type of electronic chip, or combinations of these devices.

Such chip cards provide the opportunity for localized storing of application(s) and data such as one or more personal identification number(s) (PINS) in a secure format. During a transaction, authentication can be performed locally at the POS terminal without requiring online authentication. Such local authentication is more effective than previous attempts for local authentication because of the possibility of additional security such as encryption of PINs stored on chip cards.

When a chip card is issued by an issuing bank, the PIN is determined beforehand and stored in the memory of the chip card. The PIN can be changed by the account-owner (referred to as a “customer”) by establishing an online connection to the backend systems maintained by an issuing bank through an ATM. In fact, in some arrangements, card issuers and/or regulators require changes of the PIN periodically in order to strengthen security. Chip card interface devices (CCIDs) such as the CCID discussed in patent application Ser. No. 12/752,567 titled “Personal Identification Number Changing System and Method” and discussed below provide an interface with the chip cards, such as, for reading and/or writing data to and/or from the chip card. Unfortunately, some or all data stored on a CCID and/or a chip card is sensitive and, in some cases, compromise of such data would be considered a significant security breach by the customer and the issuing bank. Fraudsters could potentially gain access to sensitive data saved on a CCID and/or accessed by a CCID during an interaction between the CCID and the chip card in a variety of ways. For example, in one scheme, a fraudster breaks into a housing of a CCID and installs a keylogger device for recording data from any chip card interacting with the CCID. For example, in another scheme, the fraudster installs a replacement, fraudulent processing device in the CCID.

Therefore, systems, methods, and computer program products are needed for authenticating a chip card interface device with a backend system during a transaction.

SUMMARY

According to embodiments of the present invention, systems, methods, and computer program products are provided for authenticating a chip card interface device (CCID) during a transaction with the CCID. The system has a communication device configured for communicating with the CCID over a network and a processing device coupled with the communication device. The processing device is configured for receiving a transaction initiation communication from the CCID and instructing the communication device to communicate a request for authentication information including a random number to the CCID. The CCID encrypts the random number with a unique chip key (UCK) previously created with a master chip key (MCK). Then, the CCID communicates the encrypted random number to the system along with a serial number. The system recalculates the UCK using the serial number, encrypts a copy of the random number using the recalculated UCK and compares the encrypted copy with the encrypted random number received from the CCID to authenticate the CCID.

According to embodiments of the present invention, a chip card interface device (CCID) is configured for authenticating with a backend system during a transaction with the backend system and includes a network communication device configured for communicating with the backend system over a network, a processing device coupled with the network communication device, and the processing device is configured for instructing the network communication device to communicate a transaction initiation communication to the backend system, receiving a request for authentication information from the backend system, and instructing the network communication device to communicate an authentication communication to the backend system, the authentication communication including information configured to indicate an identity of the processing device such that the backend system can authenticate the identity of the processing device and complete the transaction.

In some embodiments, the request for authentication information from the backend system comprises a random number, the CCID further comprises a memory device configured for storing a unique chip key created by the backend system based at least in part on a master chip key of the backend system and based at least in part on a serial number of the processing device of the CCID, and the processing device is further configured for symmetrically encrypting the random number based at least in part on the unique chip key stored in the memory device. In some such embodiments, the authentication communication comprises the encrypted random number and the serial number of the processing device, and the serial number is to be used by the backend system to recalculate the unique chip key using the master chip key, the recalculated unique chip key is to be used by the backend system to encrypt a copy of the random number previously received at the CCID from the backend system, and the encrypted copy of the random number is to be compared to the encrypted random number, thereby indicating whether the identity of the processing device is authenticated.

In some embodiments, the processing device is further configured for receiving a successful authentication communication from the backend system, the CCID further configured for completing the transaction.

According to embodiments of the present invention, a method for authenticating a chip card interface device (CCID) with a backend system during a transaction with the backend system includes instructing, by a processing device of the CCID, the network communication device to communicate a transaction initiation communication to the backend system, receiving, at the processing device, a request for authentication information from the backend system, and instructing, by the processing device, the network communication device to communicate an authentication communication to the backend system, the authentication communication including information corresponding to an identity of the processing device such that the backend system can authenticate the identity of the processing device and complete the transaction.

In some embodiments, the request for authentication information from the backend system includes a random number, and the method also includes storing, by a memory device of the CCID, a unique chip key created by the backend system based at least in part on a master chip key of the backend system and based at least in part on a serial number of the processing device of the CCID and symmetrically encrypting, by the processing device, the random number based at least in part on the unique chip key stored in the memory device. In some such embodiments, instructing the network communication device to communicate an authentication communication to the backend system includes instructing the network communication device to communicate an encrypted random number and a serial number of the processing device to the backend system. In such embodiments, the serial number is to be used by the backend system to recalculate the unique chip key using the master chip key, the recalculated unique chip key is to be used by the backend system to encrypt a copy of the random number previously received at the CCID from the backend system, and the encrypted copy of the random number is to be compared to the encrypted random number, thereby indicating whether the identity of the processing device is authenticated such that the transaction can be completed.

In some embodiments, the method also includes receiving, at the processing device, a successful authentication communication from the backend system, and completing, by the processing device, the transaction with the backend system.

According to embodiments of the present invention, a computer program product includes a non-transitory computer-readable medium including computer-readable instructions for execution by a chip card interface device (CCID), the instructions configured for authenticating the CCID with a backend system during a transaction with the backend system. The instructions include instructions for instructing, by a processing device of the CCID, a network communication device to communicate a transaction initiation communication to the backend system, instructions for receiving, at the processing device, a request for authentication information from the backend system, and instructions for instructing, by the processing device, the network communication device to communicate an authentication communication to the backend system, the authentication communication including information corresponding to an identity of the processing device such that the backend system can authenticate the identity of the processing device and complete the transaction.

In some embodiments, the request for authentication information from the backend system comprises a random number; and the instructions also include instructions for storing, by a memory device of the CCID, a unique chip key created by the backend system based at least in part on a master chip key of the backend system and based at least in part on a serial number of the processing device of the CCID and instructions for symmetrically encrypting, by the processing device, the random number based at least in part on the unique chip key stored in the memory device. In some such embodiments, the instructions for instructing the network communication device to communicate an authentication communication to the backend system include instructions for instructing the network communication device to communicate an encrypted random number and a serial number of the processing device to the backend system. In such embodiments, the serial number is to be used by the backend system to recalculate the unique chip key using the master chip key, the recalculated unique chip key is to be used by the backend system to encrypt a copy of the random number previously received at the CCID from the backend system, and the encrypted copy of the random number is to be compared to the encrypted random number, thereby indicating whether the identity of the processing device is authenticated such that the transaction can be completed.

In some embodiments, the instructions also include instructions for receiving, at the processing device, a successful authentication communication from the backend system, and instructions for completing, by the processing device, the transaction with the backend system.

According to embodiments of the present invention, a system configured for authenticating a chip card interface device (CCID) during a transaction with the CCID includes a communication device configured for communicating with the CCID over a network, a processing device coupled with the communication device. The processing device is configured for receiving a transaction initiation communication from the CCID, instructing the communication device to communicate a request for authentication information to the CCID, receiving an authentication communication from the CCID in response to the request for authentication information, the authentication communication including information configured to indicate an identity of a processing device of the CCID, and determining whether the identity of the processing device corresponds with a processing device allowed to conduct the transaction.

In some such embodiments, the system also includes a memory device coupled with the processing device, the memory device configured for storing a master chip key. In some such embodiments, the processing device is further configured for creating a unique chip key based at least in part on a serial number of the processing device of the CCID and based at least in part on the master chip key, the unique chip key configured for storage at a memory device of the CCID and configured for assisting authentication of the CCID with the backend system. In some such embodiments, the processing device is configured for instructing the communication device to communicate the unique chip key to the CCID and instructing the communication device to communicate instructions to store the unique chip key in the memory device of the CCID to the CCID.

In some embodiments, the processing device is further configured for instructing the communication device to communicate a random number to the CCID as part of the request for authentication information. In some such embodiments, the processing device is further configured for receiving, via the communication device, an encrypted random number, the encrypted random number being an encryption of the random number based at least in part on a unique chip key based at least in part on a serial number of the processing device of the CCID and based at least in part on the master chip key. In some such embodiments, the processing device is further configured for receiving, via the communication device, a serial number of a processing device of the CCID. In some such embodiments, the processing device is configured for re-calculating the unique chip key by encrypting the received serial number and the stored master chip key. In some such embodiments, the processing device is configured for encrypting a copy of the random number communicated to the CCID based at least in part on the recalculated unique chip key. In some such embodiments, the processing device is further configured for comparing the encrypted copy of the random number with the encrypted random number received from the CCID.

In other such embodiments, the processing device is further configured for logging the serial number of the CCID as a potentially fraudulent device when the encrypted copy of the random number does not match the encrypted random number received from the CCID. In yet other other such embodiments, the processing device is further configured for terminating the transaction. In yet other such embodiments, the processing device is further configured for proceeding with the transaction when the encrypted copy of the random number matches the encrypted random number received from the CCID.

According to embodiments of the present invention, a method for authenticating a chip card interface device (CCID) during a transaction with the CCID includes communicating, by a communication device of a system, with the CCID over a network, receiving, at a processing device of the system coupled with the communication device of the system, a transaction initiation communication from the CCID, instructing, by the processing device, the communication device to communicate a request for authentication information to the CCID, receiving, at the processing device, an authentication communication from the CCID in response to the request for authentication information, the authentication communication including information configured to indicate an identity of a processing device of the CCID, and determining, by the processing device of the system, whether the identity of the processing device of the CCID corresponds with a processing device allowed to conduct the transaction.

In some embodiments, the method also includes storing, at a memory device coupled with the processing device, a master chip key. In some such embodiments, the method also includes creating a unique chip key based at least in part on a serial number of the processing device of the CCID and based at least in part on the master chip key, the unique chip key configured for storage at a memory device of the CCID and configured for assisting authentication of the CCID with the backend system. In some such embodiments, the method also includes instructing, by the processing device, the communication device to communicate the unique chip key to the CCID and instructing the communication device to communicate instructions to store the unique chip key in the memory device of the CCID to the CCID.

In some embodiments, the method also includes instructing, by the processing device, the communication device to communicate a random number to the CCID as part of the request for authentication information. In some such embodiments, the method also includes receiving, at the processing device, via the communication device, an encrypted random number, the encrypted random number being an encryption of the random number based at least in part on a unique chip key based at least in part on a serial number of the processing device of the CCID and based at least in part on the master chip key. In some such embodiments, the method also includes receiving, at the processing device, via the communication device, a serial number of a processing device of the CCID. In some such embodiments, the method includes re-calculating, by the processing device, the unique chip key by encrypting the received serial number and the stored master chip key.

In some such embodiments, the method also includes encrypting, by the processing device, a copy of the random number communicated to the CCID based at least in part on the recalculated unique chip key. In some such embodiments, the method also includes comparing, by the processing device, the encrypted copy of the random number with the encrypted random number received from the CCID.

In some such embodiments, the method also includes logging the serial number of the CCID as a potentially fraudulent device when the encrypted copy of the random number does not match the encrypted random number received from the CCID. In yet other such embodiments, the method also includes terminating, by the processing device, the transaction, and in yet others, the method also includes proceeding, by the processing device, with the transaction when the encrypted copy of the random number matches the encrypted random number received from the CCID.

According to embodiments of the present invention, a computer program product includes a non-transitory computer-readable medium including computer-readable instructions for execution by a chip card interface device (CCID). The instructions are configured for authenticating a chip card interface device (CCID) during a transaction with the CCID and include instructions for communicating, by a communication device of a system, with the CCID over a network, instructions for receiving, at a processing device of the system coupled with the communication device of the system, a transaction initiation communication from the CCID, instructions for instructing, by the processing device, the communication device to communicate a request for authentication information to the CCID, instructions for receiving, at the processing device, an authentication communication from the CCID in response to the request for authentication information, the authentication communication including information configured to indicate an identity of a processing device of the CCID, and instructions for determining, by the processing device of the system, whether the identity of the processing device of the CCID corresponds with a processing device allowed to conduct the transaction.

In some embodiments, the instructions also include instructions for storing, at a memory device coupled with the processing device, a master chip key. In some such embodiments, the instructions also include instructions for creating a unique chip key based at least in part on a serial number of the processing device of the CCID and based at least in part on the master chip key, the unique chip key configured for storage at a memory device of the CCID and configured for assisting authentication of the CCID with the backend system. In some such embodiments, the instructions also include instructions for instructing, by the processing device, the communication device to communicate the unique chip key to the CCID and instructions for instructing the communication device to communicate instructions to store the unique chip key in the memory device of the CCID to the CCID.

In some embodiments, the instructions also include instructions for instructing, by the processing device, the communication device to communicate a random number to the CCID as part of the request for authentication information. In some such embodiments, the instructions also include instructions for receiving, at the processing device, via the communication device, an encrypted random number, the encrypted random number being an encryption of the random number based at least in part on a unique chip key based at least in part on a serial number of the processing device of the CCID and based at least in part on the master chip key. In some such embodiments, the instructions also include instructions for receiving, at the processing device, via the communication device, a serial number of a processing device of the CCID. In some such embodiments, the instructions also include instructions for re-calculating, by the processing device, the unique chip key by encrypting the received serial number and the stored master chip key, and in some such embodiments, the instructions also include instructions for encrypting, by the processing device, a copy of the random number communicated to the CCID based at least in part on the recalculated unique chip key.

In some such embodiments, the instructions also include instructions for comparing, by the processing device, the encrypted copy of the random number with the encrypted random number received from the CCID. In some such embodiments, the instructions also include instructions for logging the serial number of the CCID as a potentially fraudulent device when the encrypted copy of the random number does not match the encrypted random number received from the CCID.

In some embodiments, the instructions also include instructions for terminating, by the processing device, the transaction. In other embodiments, the instructions also include instructions for proceeding, by the processing device, with the transaction when the encrypted copy of the random number matches the encrypted random number received from the CCID.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Systems, methods, and computer program products are provided for authenticating a chip card interface device (CCID) during a transaction with the CCID. The system has a communication device configured for communicating with the CCID over a network and a processing device coupled with the communication device. The processing device is configured for receiving a transaction initiation communication from the CCID and instructing the communication device to communicate a request for authentication information including a random number to the CCID. The CCID encrypts the random number with a unique chip key (UCK) previously created with a master chip key (MCK). Then, the CCID communicates the encrypted random number to the system along with a serial number. The system recalculates the UCK using the serial number, encrypts a copy of the random number using the recalculated UCK and compares the encrypted copy with the encrypted random number received from the CCID to authenticate the CCID.

As used herein, unless specifically limited by the context, the term “transaction” may refer to a purchase of goods or services, a withdrawal of funds, an electronic transfer of funds, a payment transaction, a credit transaction, a PIN change transaction, any other interaction between a CCID and a bank, such as a server and/or backend system of a bank, or any other interaction involving a bank account. As used herein, a “bank card” refers to a credit card, debit card, ATM card, check card, or the like, and a “bank account” refers to a credit account, debit account, deposit account, checking account, or the like. Although the phrases “bank card” and “bank account” include the term “bank,” the card need not be issued by a bank, and the account need not be maintained by a bank and may instead be issued by and/or maintained by other financial institutions. As discussed above, as used herein the terms “chip card” or “smart card” refer to a bank card having one or more electronic devices included in or on the card. The electronic device(s) may be or include processing device(s), memory device(s), communication device(s), the like, or any other electronic device(s).

As used herein, a “processing device” generally refers to a device or combination of devices having circuitry used for implementing the communication and/or logic functions of a particular system. For example, a processing device may include a digital signal processor device, a microprocessor device, and various analog-to-digital converters, digital-to-analog converters, and other support circuits and/or combinations of the foregoing. Control and signal processing functions of the system are allocated between these processing devices according to their respective capabilities. Further, in some embodiments, a processing device includes both a processor and a collocated or proximally located memory, that is, both located either on a single device, such as a chip, or multiple devices, such as multiple chips, proximate one another.

As used herein, a “communication device” generally includes a modem, server, transceiver, and/or other device for communicating with other devices directly or via a network, and/or a user interface for communicating with one or more users. As used herein, a “user interface” generally includes a display, mouse, keyboard, button, touchpad, touch screen, microphone, speaker, LED, light, joystick, switch, buzzer, bell, and/or other user input/output device for communicating with one or more users.

As used herein, a “memory device” generally refers to a device or combination of devices including one or more forms of computer-readable media for storing instructions, computer-executable code, and/or data thereon. Computer-readable media is defined in greater detail herein below. It will be appreciated that, as with the processing device, each communication interface and memory device may be made up of a single device or many separate devices that conceptually may be thought of as a single device.

FIG. 1illustrates one embodiment of a chip card system100. The system100generally involves a cardholder105holding a chip card110. As described above, the chip card110may be, for example, a credit, debit, or other type of card including an electronic device embedded in or on the card. The chip card110is used during a transaction involving one or more accounts associated with the chip card110and maintained by an issuing bank115. In a typical bank card transaction, the cardholder105is the customer who owns the account maintained by the issuing bank115. However, in other chip card transactions or attempted chip card transactions, the cardholder105is not the customer. For example, the customer may authorize a friend or family member to perform a transaction with the chip card110, in which case the friend or family member is considered the “cardholder” for purposes herein. In another example, the customer is a victim of a robbery where the robber steals the customer's chip card110and attempts to perform a transaction with the chip card110.

The issuing bank115is the bank or other financial institution that maintains the customer's bank account, which, as described above, may be a credit account, debit account, or other account. Accordingly, the issuing bank115is also, typically, the financial institution that issues the chip card110. In this regard, the issuing bank115includes a memory system housing a datastore of customer account information120. The memory system housing the customer account information is typically part of or in communication with one or more backend systems160maintained by the issuing bank.

A “backend system” is one or more computers or computer-like devices such as one or more server systems, and a backend system typically has one or more processing devices such as a server and typically includes one or more memory devices as well as one or more communication devices.

The customer account information120generally includes an account number, an account balance, transaction information about previous transactions, and/or other financial and non-financial information about the customer and the customer's account. As described in greater detail below, embodiments of the present invention permit customers to change a PIN associated with an account without requiring access to an ATM. In some instances, accounts have more than one associated PIN for various purposes. For example, in one application, an account is given a regular PIN as well as a “panic” PIN for the customer to enter if he or she is being robbed. Generally, the PIN or PINS are stored as part of the customer account information120at the backend systems using an offset value that represents the value of the PIN. The PIN(s) are also stored on the chip card110associated with one or more accounts and issued by the issuing bank115. In one embodiment, the PIN is a string of numbers, such as a string of four or six numbers. In other embodiments, however, the PIN may not be a number at all and may include a string of alphabetic or alphanumeric characters and/or other symbols and characters.

In some embodiments, the “Europay MasterCard VISA” (EMV) standard is used as the protocol for communication between the chip card110and a chip card-compatible bank card machine125or a chip card interface device150in accordance with the present invention. In other embodiments other standards of communication are used. EMV is a standard for interoperation of chip cards110and chip card-compatible bank card machines125such as POS terminals, ATMs and the like that was named for the three companies that originally cooperated to develop the standard. The EMV standard defines the interaction between the chip cards and chip card input/output devices. EMV governed transactions typically utilize cryptographic algorithms generally considered safer than traditional offline magnetic stripe transaction authentication. Types of algorithms used include, but are not limited to, DES, Triple-DES, RSA, SHA, and the like.

The system100generally also includes a bank card machine125. In one embodiment, the bank card machine125is an ATM. In other embodiments, the bank card machine125is a point-of-sale terminal, such as a bank card terminal at the register of a grocery store or a pay-at-the-pump terminal at a gas station. The bank card machine125is configured to communicate with the issuing bank115via a network130. The bank card machine125is owned, held, or otherwise associated with a bank card machine owner/holder135. In one embodiment, the bank card machine owner/holder135is the issuing bank115. For example, many banks have their own ATMs. In such an embodiment, the bank card machine125may communicate directly with the issuing bank115over the network130or through one or more other entities.

In other embodiments, however, the bank card machine owner/holder135, is another bank or financial institution, a merchant, or the like. In such embodiments, the bank card machine125may communicate with the issuing bank115through the bank card machine owner/holder135, the bank card machine owner/holder's bank140, and/or one or more other entities.

The bank card machine owner/holder135may have a bank140that maintains a bank account for the bank card machine owner/holder135. The bank card machine owner/holder's bank140may be the same as or different from the issuing bank115. For example, where the bank card machine125is a POS terminal at a merchant's store, the bank card machine owner/holder135may be the merchant, and the bank card machine owner/holder's bank140may be the receiving bank that maintains the merchant's account and obtains payment from the issuing bank115for bank card purchases made at the merchant's store.

In another example, the bank card machine125is a kiosk-style ATM owned or leased by a merchant, such as a gas station or convenience store. In such an embodiment, although the bank card machine owner/holder (the “merchant” in this example)135may provide the money in the bank card machine125, the bank card machine125may be operated by a host processor bank145. In such an embodiment, the bank card machine125may communicate with the issuing bank115through the host processor bank145. Where the transaction involves a withdrawal of cash from the bank card machine125, the issuing bank115transfers funds to the host processor bank145via, for example, an electronic funds transfer, and the host processor bank145then transfer the funds via the Automated Clearing House (ACH) to the merchant's bank account maintained by the merchant's bank140. In this way, the merchant135is reimbursed for the funds dispensed at the bank card machine125.

During some transactions, the bank card machine125establishes a connection to the backend systems160for various purposes including, potentially, verification of cardholder PIN inputs. Such a connection is considered an “online” transaction, and an “offline” transaction is one in which the bank card machine125does not establish a connection with the backend systems160of the issuing bank115.

In order to change the PIN number associated with the account and stored on the chip card110, a cardholder105must either perform an online transaction at the bank card machine125, which communicates with the issuing bank115via one or more of the several pathways discussed in greater detail above, or, the cardholder105can use a chip card interface device150(CCID) in accordance with embodiments of the present invention. The chip card interface device150forms an online connection to the issuing bank115via a host155such as, but not limited to, a personal computer and through the network130such as, but not limited to, the Internet.

The chip card interface device150is configured for recognizing the chip carried on or in the chip card110, reading data from the chip, and writing data to the chip. The chip card interface device150is also configured for connecting with the issuing bank115via the host155and the network130. For example, the chip card interface device150is configured for connecting with a host155such as a computer, ATM, POS terminal, mobile telephone or smartphone or the like via a communication protocol, either wired or wireless. For example, in one embodiment, the chip card110communicates with the chip card interface device150, which communicates with a personal computer via a Universal Serial Bus (USB) connection. The chip card interface device150is configured to provide local or “offline” authentication of the customer's PIN in some applications, but is configured for making an online authentication during a PIN change process. The device150is also configured for providing the cardholder105an interface with which to change the PIN(s) saved on the chip card110and associated with one or more of the accounts associated with the chip card.

As shown inFIG. 2, the host155includes a cardholder interface270and a peripheral interface280in some embodiments. The cardholder interface270is any device configured for interacting with a user, including either communicating to the user, receiving input from the user or both. The cardholder interface270, in some embodiments, for example is one or more of a display, a keyboard, a keypad, a mouse, a roller ball, a track pad, a touch pad, a touch screen, a speaker, and the like. The peripheral interface280is a device and/or software control module configured for connecting with a peripheral using one or more wired or wireless protocols. For example, in one embodiment the peripheral interface is a USB port controlled by a USB controller script running on the host155. In this example, the CCID150network communication device240may be a USB interface for coupling with the USB port running on the host155.

Numerous other entities may also be involved in embodiments of the present invention, but are not shown inFIG. 1andFIG. 2discussed below for the sake of clarity. For example, the system may involve an automated clearing house and/or one or more other financial institutions involved in processing bank card transactions, such as POS purchase transactions and ATM transactions.

Furthermore, although only a single representation of a network130is illustrated inFIG. 1andFIG. 2discussed below, the network130may comprise a plurality of separate and discrete networks. For example, the network130that is used to communicate information between the issuing bank115and the bank card machine125may be the same or different than the network130used to communicate information between the issuing bank115and the chip card interface device150. The network130may include a local area network (LAN), a wide area network (WAN), and/or a global area network (GAN). In this regard, the network130may include the Internet, an intranet, an extranet, a telephonic network, and/or a combination of these networks. The network130may also include a direct electrical, optical, or wireless connection between one or more of the entities and devices shown inFIGS. 1 and 2.

FIG. 2illustrates a chip card interface device150interacting with a chip card110and a network130. The chip card interface device150includes, in some embodiments, a housing205, a processing device210connected to and configured for controlling a memory device220, a chip card input/output device230configured for communicating with the chip card110, a network communication device240configured for communicating with the network130, and a PIN entry device (PED)250configured for receiving cardholder input such as input corresponding to the current PIN associated with the chip card or input corresponding to the cardholder's desired new PIN.

The chip card input/output device230is configured for reading data, such as account data corresponding to one or more accounts, from the chip card110as well as transmitting data to be updated on the chip card110. In some embodiments, the chip card110includes electrical contacts and the chip card input/output device230also includes electrical contacts for coupling with and communicating via the electrical contacts of the chip card110. For example, in some embodiments, the chip card communicates using the International Organization for Standardization (ISO) 7816 and ISO 7810 standards. In other embodiments, the chip card110includes a wireless communication device and the chip card input/output device230also includes a wireless communication device for coupling with and communicating via the wireless communication device of the chip card110. For example, in some embodiments, the chip card communicates using the ISO 14443 standard for contactless smartcard communications, and in other embodiments other types of communication such as radio frequency identification (RFID) wireless communication is used.

The network communication device240is configured for communicating with the network130via the host155, and in some embodiments with the backend systems160. As mentioned above, the backend systems are or include, in various embodiments, one or more processing devices160A, one or more memory devices160B, and one or more communication devices160C. In some embodiments, the network communication device240includes a wired interface for connecting with a personal computer such as a Universal Serial Bus (USB) connection, an IEEE 1394 (“Firewire”) protocol connection, or the like. In other embodiments, the network communication device240includes a wireless interface for connecting with the cardholder's personal computer such as a Bluetooth device, a Wi-Fi device, a radio frequency communication device, or the like.

The PED250is configured for receiving a cardholder current PIN input from the cardholder. The PED250is also configured for receiving a cardholder desired PIN input corresponding to the cardholder's desired new PIN. The PED250, in some embodiments, is part of the chip card interface device150, and in other embodiments, it is part of the host155. In yet other embodiments, the PED250is a standalone device in communication with the chip card interface device150. The PED250is any input device capable of receiving input from the cardholder indicating a PIN. For example, in one embodiment, the cardholder input device245is a nine-digit keypad. In other embodiments, the cardholder input device245is a keyboard or included on a keyboard, a touch-screen, or the like.

In some embodiments the CCID150includes a data protection system288configured for protecting data stored at the CCID in the event of a compromise. As shown inFIG. 2, the data protection system288, in some embodiments, includes the processing device210and the memory device220. In other embodiments, the processing device and/or the memory device220are not included in the data protection system288, but rather another processing device and/or memory device (not shown) are included in the data protection system288. As shown, in some embodiments, the processing device210, as discussed elsewhere herein, includes a processor210A and a memory210B, and in some embodiments the processing device is disposed on a chip. In some such embodiments, the processing device210and its processor210A and memory210B are also disposed on the same chip. In some embodiments, the memory device220, although part of the data protection system288, is disposed separate from, but coupled with, the processing device210. In other words, in some embodiments, the memory device220is not collocated with the processing device210, for example, on a single chip. Thus, in some such embodiments, the data protection system288includes more than one memory, for example, the memory210B of the processing device210as well as the memory device220. Of course, in various embodiments, the various other components are coupled directly with the components of the data protection system288despite the illustration ofFIG. 2showing various components coupled with the data protection system288. For example, in some embodiments discussed herein, the network communication device interacts with the processing device210. Likewise, in some embodiments discussed herein, the PED250and the chip card input/output device230interact with the processing device210. In various embodiments, the various components of the CCID are coupled directly with other components within the CCID regardless of the fact that some components, in some embodiments, are included within other components. In some embodiments, such as those discussed regarding PIN change transactions, the processing device210and/or the memory device220perform functions other than data protection functions, and in this regard, they are not only used for data protection, but for other functionalities. In some embodiments, processing device210and memory device220are generally considered the primary processing device and memory device of the CCID150, that is, they perform functions generally associated with the processing device and the memory device of the CCID150such as the processing device210controlling the various components within the CCID150and the memory device220storing important CCID150data such as, but not limited to, PIN data, authentication data, sensitive data, non-sensitive data, application data, and/or log data. In some embodiments, the processing device210and the processing device294(discussed below) are the same device or are part of the same device. In some embodiments, memory device220and memory device296(discussed below) are the same device or are part of the same device.

In some embodiments of the CCID150, a compromise detection system290is coupled with the data processing system288. For example, in various embodiments, the compromise detection system290is coupled with the processing device210, the memory device220, or both. The compromise detection system290is configured for detecting a compromise of the CCID150and taking action to mitigate or eliminate the possible disclosure of sensitive data to a dishonest individual. A compromise, in some embodiments, for example, is a structural compromise of the housing205of the CCID150. For example, a dishonest individual physically manipulates the housing205in order to gain physical access to the components housed therein. In various embodiments of the housing205the housing includes two or more pieces that are fit and secured together upon assembly of the CCID150. In such a case, a dishonest individual seeking access to the components of the CCID150may physically separate the two or more pieces of the housing205thereby gaining access. In some instances, such dishonest individuals will connect a fraud device such as a keylogging device or keylogger with one or more components of the CCID150, such as the processing device210and/or the memory device220in order to access sensitive information stored or passing through. The device, in some instances, includes short range wireless communication capabilities such as radio communication, RFID, Bluetooth, Near Field Communication, or some other wireless communication capabilities. In such cases, the dishonest individual might place a receiver within communication range of the device for receiving and storing sensitive data transmitted from the device.

To protect against such a physical invasion of the CCID150, the compromise detection system290is configured to detect the physical compromise, generate a detection signal for indicating the compromise, and communicate the detection signal to the data protection system288. The data protection system288is configured to protect data stored by the CCID150, or in other words, to take appropriate action to mitigate or eliminate the possibility of a dishonest individual gaining access to sensitive information.

In some embodiments of the compromise detection system290, the system includes one or more detection devices292such as one or more sensors, for example, disposed proximal or adjacent an intersection between the pieces of the housing205. In some such embodiments, the one or more detection devices292are configured to detect a separation of the pieces of the housing205. In some embodiments, for example, the one or more detection devices292include one or more pressure sensors disposed on or adjacent an intersection between two or more pieces of the housing205such that if the pieces are separated, the one or more pressure sensors detects the separation and generates the detection signal configured for indicating the separation. In some embodiments, the one or more detection devices292include one or more contacts configured for completing a circuit when the pieces of the housing are secured and opening a circuit when the pieces of the housing are separated. In this regard, a detection signal indicating the separation can be generated. In other embodiments, the open circuit performs a similar function as the detection signal and the open circuit itself communicates the separation. For example, in one embodiment, the circuit is coupled with a switch, and once the circuit has been opened the switch is thrown and a detection signal is created, thereby indicating the separation of the housing pieces. In another embodiment, for example, the circuit is coupled with a processing device, and once the circuit is opened, a signal is no longer received at the processing device. In this embodiment, the processing device is configured, through program code, to recognize the lack of signal as an indication that the housing pieces have been separated. In some other embodiments, the one or more detection devices292are configured such that a minimal separation of the pieces of the housing does not trigger the sensors to generate a detection signal. In other embodiments, the one or more detection devices292are configured to communicate a detection signal regardless of the amount of separation between the pieces of the housing205.

In some embodiments, the compromise detection system290includes a processing device294for receiving the detection signal from the one or more detection devices292and analyzing the detection signal to determine whether a breach of the housing205has occurred. In some embodiments, the one or more detection devices292communicate directly with the processing device210of the data protection system288rather than with a processing device294of the compromise detection system290. In some embodiments, a predetermined distance threshold between the pieces of the housing205is stored at the processing device294and/or a memory device296of the compromise detection system290. In some other embodiments, the predetermined distance threshold between the pieces of the housing205is stored at the processing device210and/or the memory device220of the data protection system288. In some such embodiments, the detection signal generated by the one or more detection devices292is conditioned, if necessary, and then compared to the predetermined threshold to determine whether a breach of the housing205has occurred.

In other embodiments of the compromise detection system290, the one or more detection devices292are, for example, one or more light sensors disposed within the housing205in order to detect changes, namely increases in ambient light reaching the interior of the CCID150such as might occur if he housing were compromised. In some such embodiments, the housing205of the CCID150is manufactured of opaque or substantially opaque materials such that little or no light is allowed to enter the housing205after the pieces of the housing are secured during manufacture. In other embodiments, for example, one or more detection devices292are disposed within the CCID150and configured to detect changes in the shape of the interior of the housing. In some embodiments, for example, one or more detection devices205monitor the interior surface of the housing205to ensure the housing205is not breached by cutting, drilling, puncture, or some other type of physical breach. In some such embodiments, the housing205is manufactured of one piece rather than two or more pieces, and therefore, a dishonest individual could not simply separate the two or more pieces of the housing to gain physical access, but rather, must physically alter the housing205in order to gain access. In some embodiments, the one or more detection devices292include one or more motion sensors, such as accelerometers, configured to measure acceleration or motion of the CCID150. These embodiments may find use in a configuration where the CCID150is permanently mounted. Such motion sensors, should a dishonest individual attempt to dislodge the CCID150from its mount, are configured to detect the motion.

In some embodiments, the data protection system288is configured to erase some or all of the data stored within the CCID150in the event of a compromise of the housing205. In some embodiments, the data protection system288is configured to lock the processing device210and/or the processing device294in the even of a compromise of the housing205. In some such embodiments, the data protection system288is configured to both erase some or all the data stored within the CCID150as well as lock one or more processing devices, such as210and/or294in the event of a compromise of the housing205.

In some embodiments, the data stored within the CCID150is split. In some such embodiments, the processing device210is a chip and includes both a processor and a memory on the same chip. Further, in some embodiments, the CCID150includes a both a memory device220in addition to a memory210B collocated with a processor210A at the processing device210. In some embodiments, the processing device210includes two physically separated memories collocated with a processor on one chip. In various other embodiments, various other configurations of processors and memories are envisioned, but in some embodiments, there are two or more physical memories in the CCID150.

In some embodiments, for example, the processing device210has a memory210B and the CCID150also has another memory, memory device220. In some such embodiments, for example, the data of the CCID is separated into sensitive data and non-sensitive data. In some embodiments, the sensitive data is stored on the memory210B of the processing device210while the non-sensitive data is stored on the memory device220of the CCID150. According to embodiments of the invention, in some instances, the processing device210erases or formats the sensitive data and retains the non-sensitive data in the event of a compromise. Sensitive data, in some embodiments, includes authentication data, also referred to as challenge/response data, such as, for example, key data and/or PIN data. This authentication data is typically used during authentication between the CCID150and the backend systems160during a transaction, such as a PIN change transaction. Non-sensitive data, in some embodiments, includes application data, such as data or instructions for performing the function of the CCID. In some embodiments, the application data includes instructions for performing a PIN change transaction. Furthermore, in some embodiments, non-sensitive data includes log data for logging the activities of the CCID150including data regarding the number, type and characteristics of transactions involving the CCID150.

In other embodiments, for example, the processing device210is configured to be locked, and thereby rendered inoperable, in the event of compromise. In some embodiments, the processing device210locks itself, and in others, another component, such as another processing device, such as processing device294, locks processing device210. For example, in one embodiment, the processing device210receives a detection signal from the compromise detection system290, and the processing device210includes code stored in its memory210B instructing it to activate a locking function, such as by toggling a locking bit, thus effectively locking the processor210A of the processing device210and rendering it inoperable. In other embodiments, the processing device294of the compromise detection system290receives the detection signal from the detection device292and instructs the processing device210of the CCID150to toggle a locking bit effectively locking the processor210A of the processing device210and rendering it inoperable. In such a case, if the CCID150was compromised accidentally by its owner or other honest user, for example, the CCID150could be returned to the bank for refurbishment or replacement of the locked processing device210.

In some instances, a dishonest individual may recognize the processing device210has been locked and seek to replace the processing device210with his own processing device, thereby allowing the dishonest individual to collect sensitive information as the CCID is subsequently used in transactions. Some embodiments of the present invention are configured for preventing this type of activity by implementation of an authentication method or “challenge/response method” as discuss in greater detail below with reference toFIGS. 15-17.

In some embodiments of the compromise detection system290, the system290includes one or more software modules, stored on the memory device296, stored on the memory device220, and/or stored on memory210B configured to minimize or eliminate compromise of data, such as sensitive data, when executed by processing device294and/or processing device210. Several embodiments of such software modules, methods and computer program products embodying such software modules and methods are discussed below with reference toFIGS. 11-14.

FIG. 3is a flowchart illustrating a method300for authenticating and changing a PIN stored in the memory device of the chip card110. First, as represented by block310, the cardholder105provides a chip card110to the CCID205having a chip card input/output device230. The chip card input/output device reads card account identification information from the chip card110. For example, the chip card stores data corresponding to an account number identifying an account associated with the chip card110. The chip card input/output device230determines the account number by reading the data stored on the chip card110.

Next, as represented by block320, a host155initiates an “online” session with the backend systems160maintained by the issuing bank115. The host155also receives stored account identification information from the backend systems160. For example, in one embodiment, an account owner's account number is stored in the backend system and is retrieved by the host155during initiation of the online session.

As represented by block330, the CCID150compares the card account identification information to the stored account identification information received from the backend systems160in order to authenticate the cardholder as the account owner. This step, in some embodiments, is performed by the host155, and in some embodiments, it is optional. That is, in some applications, for example, this additional layer of authentication is not required, such as during a transaction involving an amount of money under a pre-determined threshold.

Next, as represented by block340, the PED250of the CCID150receives cardholder input corresponding to the current PIN. Then, the PED250receives cardholder input corresponding to the cardholder's desired new PIN as represented by block350. In some embodiments, as discussed in further detail below, the desired new PIN is entered more than once and the entries are compared for consistency in order to ensure the cardholder properly entered the desired new PIN.

Next, as represented by block360, the network communication device240of the CCID150communicates the new PIN to the backend systems160through the host155and the network130. The backend systems160then store the PIN. In some embodiments, the backend systems160store data related to the actual PIN value, such as, for example an offset value that can be manipulated by applying a re-generable default PIN value in order to determine the actual PIN value. Storing an offset value in this manner provides an additional layer of protection over and above merely storing the PIN value itself.

Finally, as represented by block370, the chip card input/output device230of the CCID150sends information regarding the new PIN to the chip card110. As discussed in further detail below, the new PIN is communicated from the backend systems160as part of or in addition to a change PIN script created by the backend systems160for instructing the chip card to replace the previous PIN with the new PIN.

Referring now toFIG. 4, one embodiment of step310, reading card account identification information from the chip card110, is illustrated in further detail. In a first sub-step represented by block410, the chip card input/output device230sends an EMV READ RECORD command to the chip card110. The command instructs the chip card110to retrieve the requested information from its memory and communicate the account information associated with the chip card110to the chip card input/output device230, as represented by block420.

Referring now toFIG. 5, one embodiment of step320is illustrated in further detail. In step320, the host155initiates an online session with the backend systems160maintained by the issuing bank115. First, the cardholder interface270of the host155receives network banking authentication information from the cardholder105as represented by block510. Typically, “network banking” refers to Internet banking solutions such as, for example, a secure webpage maintained by the issuing bank115designed to provide an account owner various tools for managing the owner's bank account while connected to the network, that is, the Internet. In other embodiments, various other networks could be used individually or in combination as discussed further regarding network130.

Next, as represented by block520, the host155communicates network banking authentication information received from the cardholder105over a network130to the backend systems160. Then, as represented by block530, the backend systems160compare the network banking authentication information received from the cardholder105with stored network banking authentication information. If the two match, then the cardholder105is authenticated as the account owner. The network banking authentication information, in one embodiment, includes a username and a password associated with the username and both associated with one or more accounts. The username and password, in this example, can be stored open, that is, with any security measures to deter fraud, or may be locked, encrypted, or otherwise protected while stored in the backend systems160.

Next, as represented by blocks540and550, the backend systems160communicate the result of the authentication as well as the stored account identification information to the host155across the network130. Then, as represented by block560, the cardholder interface270of the host155communicates a “Change PIN” option to the cardholder105. In one embodiment, for example, the “Change PIN” message is a link such as a hyperlink on the network/online banking webpage discussed above. In other embodiments, the option to change the PIN is communicated in another way such as a text or video message displayed on a video monitor that is part of the host155, and in another embodiment, the change PIN option is communicated aurally, and the cardholder is given the option to respond verbally or otherwise, such as by providing input to another cardholder interface270.

Referring now toFIG. 6, one embodiment of step340is illustrated in further detail. In step340, the PED of the CCID receives cardholder105input corresponding to the current PIN. The first sub-step in this embodiment is represented by block610, in which the cardholder interface270of the host155communicates a message to the cardholder105requesting the current PIN. Then, as represented by block620, the PED receives the cardholder input corresponding to the current PIN in response to the communicated message. Next, as represented by block630, the chip card input/output device230sends an EMV VERIFY command including data corresponding to the current PIN entered by the cardholder105to the chip card110. The chip card110, as represented by block640, then validates the PIN entered by the cardholder by comparing it with the current PIN stored on the chip card110.

If the PIN entered by the cardholder does not match the current PIN stored on the chip card110, as represented by decision block650, the PIN try limit is reduced by one as represented by block660, and the process is re-started at sub-step610. The PIN try limit is a pre-determined threshold of changes for a user to input a PIN before the host155, the PED250, the CCID150and/or the chip card110disallow the user from attempting additional PIN entries. The process ofFIG. 6may be repeated several times until a sufficient number of PIN entries have been attempted such that the PIN try limit is achieved. In some embodiments, additional measures are taken such as contacting the account owner to inform the owner that the PIN try limit was eclipsed or taking other similar pre-cautionary measures.

If the PIN entered by the cardholder does match the current PIN stored on the chip card110, as represented by decision block650, then the chip card110communicates positive validation to the chip card input/output device230of the CCID150.

Referring now toFIG. 7, one embodiment of step350is illustrated in greater detail. In step350, the PED receives cardholder input corresponding to the desired new PIN. In the first sub-step, as represented by block710, the cardholder interface270of the host155communicates a message to the cardholder105requesting the desired new PIN. Next, as represented by block720, the PED250receives cardholder105input corresponding to the desired new PIN in response to the communicated message. Then, in some embodiments, the desired new PIN is entered one or more additional times in order to ensure consistency and accuracy of the desired new PIN. Specifically, as represented by block730, the cardholder interface270of the host155communicates another message to the cardholder105requesting the cardholder105provide the desired new PIN a second time. Then, the PED250, as represented by block740, receives the cardholder105input corresponding to the desired new PIN in response to the second communicated message.

Next, the CCID150and/or chip card110compares the first received desired new PIN with the second received desired new PIN as represented by block750. As represented by decision block760, if the first received new PIN does not match the second received new PIN, the process is repreated to sub-step710, requesting cardholder105entry of the desired new PIN. If the PINs match, the CCID150and/or chip card110locks (or encrypts) the new PIN using a key stored on the chip card110and/or in the CCID150as represented by block770.

Various types of encryption individually or in combination are used in various embodiments and in various steps and sub-steps of the methods of the invention. For example, in one embodiment, symmetric keys such as Triple-DES or AES are used to encrypt and decrypt the various messages and data communicated to and from the chip card110. In another embodiment, for example, asymmetric keys such as RSA are used. In other embodiments, other types of encryption, cryptography or other security measures are used to secure communications and data.

Referring now toFIG. 8, one embodiment of step360is illustrated in greater detail. In step360, the network communication device240of the CCID150communicates the new PIN to the backend systems160through the host155and the network130. First, the network communication device240of the CCID150communicates the locked new PIN to the peripheral interface280of the host155as represented by block810. Then, the host155communicates the locked new PIN, via the pre-established, secure online session between the host155and the backend systems160, across the network to the backend systems160. In one embodiment, for example, there is already established a Secure Sockets Layer (SSL) or Transport Layer Security (TLS) tunnel or data communication pathway established by the initiation of an online session during step320. Accordingly, the new PIN is both locked and communicated across an encrypted tunnel for multiple layers of security.

Next, in some embodiments, the backend systems160re-create the key used to lock the new PIN as represented by block830. In other embodiments, the backend systems160use a “secret” or private key corresponding to the public key previously used to lock the new PIN, and in these embodiments, re-creating the key (step830) is typically unnecessary. Then, the backend systems160unlock the new PIN using the re-created key or the secret key as represented by block840. In other embodiments, as discussed above, various other methods of encryption and decryption are used. Finally, as represented by block850, the backend systems160store an offset value representing the new PIN. The offset value, as discussed above, provides a layer of protection because the PIN itself is not stored. In other embodiments, however, the PIN itself is stored or other storage methods are used, either secure or insecure.

Referring now toFIG. 9, one embodiment of step370is illustrated in greater detail. In step370, the chip card input/output device230of the CCID150communicates information enabling replacing the current PIN with the new PIN on the chip card110. In the first sub-step, as represented by block910, the backend systems160prepare a PIN change script including data representing the new PIN. The script is an encrypted or message authenticated (in some embodiments) software module intended for execution by the chip card110. Next, as represented by block920, the backend systems160communicate the PIN change script across the network130, through the host155to the network communication device240of the CCID150. Then, as represented by block930, the chip card input/output device230of the CCID150communicates the PIN change script to the chip card110. Next, the chip card110decrypts or authenticates the PIN change script and runs the decrypted PIN change script, which instructs the chip card110to store the new PIN in place of the current PIN. Then, as represented by block950, the chip card110communicates through the CCID150to the host155that the PIN was changed successfully. Finally, as represented by block960, the cardholder interface270of the host155communicates a message to the cardholder105that the PIN was changed successfully.

Referring now toFIG. 10, one embodiment of a method1000for confirming the PIN change is illustrated. Method1000may be included along with various embodiments of method300. For example, method1000may be performed immediately following method300discussed above.

In step1010, the cardholder interface270of the host155communicates a message to the cardholder requesting cardholder input regarding checking the validity of the new PIN stored on the chip card110. Next, as represented by block1020, the PED250of the CCID150receives cardholder105input corresponding to the new PIN in response to the communicated message. Then the chip card input/output device230send an EMV VERIFY command including data corresponding to the cardholder input to the chip card110as represented by block1030. Next, as represented by block1040, the chip card110, validates the PIN entered by the cardholder by comparing it with the current PIN stored on the chip card110.

If the PIN entered does not match the current PIN stored on the chip card110, as represented by decision block1050, then the cardholder interface270of the host155communicates a message to the cardholder indicating the failed validation as represented by block1060. At that time, the cardholder has several options including re-trying method1000, requesting a new PIN be issued by the issuing bank, or others. If the PIN entered by the cardholder105matches the current PIN stored on the chip card110as represented by decision block1050, the chip card communicates positive validation to the chip card input/output device230of the CCID150, and in some embodiments, a message indicating the same is communicated to the cardholder via the cardholder interface270.

Referring now toFIG. 11, according to embodiments of the present invention, a method1100for protecting data stored in a CCID in the event of compromise is illustrated. First, as represented by block1105, the compromise detection system290of the CCID150detects a compromise of the CCID150. The compromise, in some instances, is a structural compromise of the integrity of the CCID housing205. As discussed above, in some embodiments, one or more detection devices292detect a compromise of the housing205, which in various instances includes separation of two or more pieces of the housing205or breach of the housing205by cutting, drilling, puncturing or the like. In the next step, represented by block1110, the compromise detection system290of the CCID150generates a detection signal indicating the compromise has occurred. In some embodiments, the one or more detection devices292generate the detection signal, and in other embodiments, the one or more detection devices292are coupled with a processing device294that generates the detection signal. In some embodiments, the one or more detection devices292generate initial signals that a processing device, such as294, conditions, such as by amplification, filtering and the like, thereby generating the detection signal. The compromise detection system290, as discussed above, is coupled with other components of the CCID150such as the data protection system288and one or more of its components, such as the processing device210and/or the memory device220. The compromise detection system290communicates the detection signal to the data protection system288, as represented by block1115. In some embodiments, the compromise detection system290communicates the detection signal to the processing device210, which receives and analyses the detection signal as represented by block1120. In some other embodiments, the compromise detection system290generates a detection signal, which is a raw signal generated by the one or more detection devices292, and immediately communicates the detection signal without conditioning. In some such embodiments, the processing device210of the CCID, alone, or in conjunction with additional circuitry, such as conditioning circuitry, conditions the detection signal if necessary.

Then, in some embodiments, the processing device210of the data protection system288analyses the detection signal to determine whether the detection signal indicates a compromise, which is also represented by decision block1125. If the processing device210determines the detection signal does not indicate a compromise, the CCID150resumes normal operation, as represented by block1130. In some embodiments, the compromise detection system290continuously, periodically, or regularly generates a signal representing the status of the one or more detection devices292such that the signal indicates whether a compromise has occurred. The compromise detection system290then communicates the detection signal to the processing device210, in various embodiments, continuously, periodically and/or regularly. Further, in some such embodiments, the continuous, periodic, or regular detection signal generated and communicated by the compromise detection system290sometimes indicates there has been no compromise if that is the case and indicates there has been a compromise if that is the case. In other words, in these embodiments, the detection signal, merely because it is generated and communicated to the processing device210does not necessary indicate a compromise has taken place. For example, in one embodiment, the detection signal is generated and communicated constantly at a level of five volts; however, if a compromise occurs, the compromise detection system290is configured to generate and communicate a detection signal at a level of one volt. The processing device210of the data protection system288is programmed to analyze the detection signal and determine whether a compromise has occurred. Specifically, for example, the processing device210may determine that, if the detection signal drops below a predetermined threshold, such as two volts, for a predetermined period of time, such as five seconds, then the compromise detection system is indicating that a compromise has occurred. In other example embodiments, the detection signal generated and communicated is a digital signal and indication that a compromise has occurred is, in some embodiments, based on whether a predetermined bit in a bitstream is positive or negative, or a one or zero.

If the processing device determines the detection signal indicates a compromise has occurred, as represented by decision block1125, the data protection system288protects data stored at the CCID150based at least in part on the received and analyzed detection signal, as represented by block1135. In various embodiments of step1135, the data protection system288takes one or more data protection steps as discussed below with reference toFIGS. 12-14. In some embodiments, memory is erased, in other embodiments, the processing device is rendered inoperable, and in yet other embodiments, both the memory is erased and the processing device is rendered inoperable.

Referring now toFIG. 12, a method1200for erasing data stored in the CCID is illustrated. Step1135fromFIG. 11involves the data protection system288protecting data stored at the CCID150based at least in part on the received and analyzed detection signal. In the embodiment shown inFIG. 12, for example, step1135includes erasing data. As represented by block1210, the data protection system processing device210, based at least in part on the analyzed detection signal indicating a compromise, communicates instructions to erase some or all data stored in the CCID150. In some embodiments, the data to be erased is stored in the memory device220, the memory210B, or both. As represented by block1220, the data protection system memory device220and/or the memory210B of the processing device210receive the instructions communicated from the processing device210. As represented by block1230, the data protection system memory device220and/or memory210B of the processing device210erase some or all data stored thereon based at least in part on the instructions received from the data protection system processing device210. In some embodiments, the data is permanently erased and/or the memory(ies) is/are formatted.

In some embodiments, as discussed above, the processing device210only instructs the memory(ies) to erase a portion of the stored data, which, in some such embodiments is the sensitive data such as key data and PIN data. In some embodiments, the sensitive data is physically separated from the non-sensitive data so that erasure of the sensitive data in the event of compromise allows for retaining non-sensitive data such as application data and/or log data. In some embodiments, a processor or processing device other than the processing device210instructs erasure of some or all the stored data. In some other embodiments, some or all the data to be erased is stored in one or more memories or memory devices other than memory device220or memory210B.

Referring now toFIG. 13, a method1300for locking a processing device of the CCID is illustrated. Step1135fromFIG. 11involves the data protection system288protecting data stored at the CCID150based at least in part on the received and analyzed detection signal. In the embodiment shown inFIG. 13, for example, step1135includes locking the processing device. As represented by block1310, the data protection system processing device210receives instructions, based at least in part on the analyzed detection signal indicating a compromise, to lock the data protection system processing device210, thereby rendering it inoperable. In some embodiments, the instructions were generated and communicated by the compromise detection system processing device294, based at least in part on the analyzed detection signal indicating a compromise. In such embodiments, the processing device210may not have received a previous communication, such as a detection signal, indicating the compromise, but rather, merely receives a communication including instructions for locking itself. In other embodiments, the processing device210, receives and analyzes the detection signal and determines instructions for locking itself based on the indicated compromise.

Next, as represented by block1320, the data protection system processing device210activates a locking function, thereby locking the processing device and rendering it inoperable. As discussed above, in some embodiments, the processing device210locks itself (and/or its processor210A and memory210B) and in other embodiments another component of the CCID, such as another processor or processing device, for example processing device294of the compromise detection system290sends instructions for locking the processing device210(and/or its processor210A and memory210B).

As mentioned above, in some embodiments, both methods1200and1300are performed in the event of a compromise. In some embodiments, method1200is performed before step1300, as the processing device must, in some cases, instruct the erasure of the memory before it is rendered inoperable. In some embodiments, methods1200and1300are performed concurrently or substantially concurrent if possible. Of course, in these embodiments, if the processing device210is instructing erasure of the memory, it must perform such instructions before being rendered inoperable. However, in some embodiments, the memory is erased by one or more other devices, such as by another processing device, for example processing device294of the compromise detection system290. In such cases, and in some embodiments therefore, method1300can be performed before, overlapping, concurrently with, or after step1200.

Referring now toFIG. 14, a method1400for erasing only sensitive data stored in the CCID is illustrated. First, as represented by block1410, the data protection system processing device210separates sensitive data from non-sensitive data. In some embodiments, the sensitive data is initially stored in a particular location within a specific memory or memory device, such as at memory210B. Likewise, in some embodiments, the non-sensitive data is initially stored in a particular location within a specific memory or memory device, such as memory device220. In various other embodiments, the sensitive data is stored in any location on memory210B and non-sensitive data is stored in any location on memory device220. In other embodiments, the sensitive data is stored in a specific location on a memory or memory device and the non-sensitive data is stored in a specific location different than the sensitive data on the same memory or memory device. In some embodiments, the sensitive data and the non-sensitive data is stored co-mingled and the processing device separates it subsequently, and in other embodiments, the data is stored co-mingled, but a log of the locations of the separate types of data is kept so that retrieval of sensitive data for erasure is made possible.

Next, the compromise detection system of the CCID detects a compromise of the CCID, a detection signal is generated and communicated, and the processing device analyzes the detection signal (as discussed above with reference toFIG. 12). Method1200is represented inFIG. 14by block1200and includes the data protection system processing device210instructing one or more memory(ies) to erase some or all data stored thereon based on the analyzed detection signal, and the one or more memory(ies) erasing the data as instructed. In the embodiment shown, however, only sensitive data is to be destroyed. Thus, as represented by block1420, the data protection system processing device210, based at least in part on the detected compromise, permanently erases or formats only the sensitive data stored at the CCID so that it cannot be accessed. As represented by block1430, the data protection system memory device220and/or the memory210B of the processing device210receive instructions communicated from the processing device210. Finally, as represented by block1440, the data protection system memory device220and/or the memory210B of the processing device210erase some or all sensitive data stored thereon and retain some or all non-sensitive data based at least in part on the instructions received from the processing device210. In some embodiments, all the sensitive data is erased and all the non-sensitive data is retained. In others, various portions of sensitive data are retained and various portions of non-sensitive data are erased. In embodiments where non-sensitive data is retained, it can be accessed in the future. As discussed elsewhere, sensitive data, in some embodiments, includes, for example, authentication data such as PINS and/or key data, and non-sensitive data includes, for example, application data and log data.

In some alternate embodiments, however, the processing device210instructs the memory(ies) to erase non-sensitive data as well. For example, in the event of a compromise non-sensitive data such as application data and/or log data can be erased. In some instances, erasing application data is useful as it can deter the dishonest individual from attempting to reuse the processing device in further fraudulent endeavors. As discussed elsewhere, of course, the sophisticated dishonest individual could replace the processing device having no application data with a different processing device and attempt to reuse the CCID, in which case, the authentication methods, as discussed below, should prevent the dishonest individual from succeeding.

Referring now toFIG. 15, according to embodiments of the present invention, a method1500for authenticating the CCID with the backend system is illustrated. First, as represented by block1510, the CCID initiates a transaction with the backend system. In one embodiment, for example, a PIN change transaction for a chip card is initiated. Next, as represented by block1520, the backend system validates the identity of the CCID. In one embodiment, for example, the backend system uses an encryption technique to authenticate an encryption key stored at the CCID during manufacture, thereby validating the identity of the CCID. Example embodiments of this technique are discussed with reference toFIGS. 16 and 17below.

Next, as represented by block1530, the backend system makes a determination as to whether the CCID is authentic and therefore has permission to continue the initiated transaction. If the backend system determines the CCID is not authentic, the backend system terminates the transaction as represented by block1540. If the backend system determines the CCID is authentic, and therefore has permission to continue with the initiated transaction, the backend system resumes and completes the transaction, as represented by block1550.

Referring now toFIG. 16, a method1600for setting up encryption authentication is illustrated according to embodiments of the present invention. First, as represented by block1610, the backend systems store a master chip key (MCK). Next, as represented by block1620, the backend systems create a unique chip key (UCK) corresponding with the MCK. For example, in one embodiment, the UCK is based on the serial number of the processing device210and/or processor210A of the CCID150and is created using the MCK. The UCK is configured for storage at the CCID, either in the memory device220or memory210B. The UCK is further configured for subsequently assisting in authenticating the CCID with the backend systems. Finally, as represented by block1630, the CCID stores the UCK. In some embodiments, the UCK is stored in the memory device220, and in others the UCK is stored in the memory210B collocated with the processing device210. In some embodiments, the UCK is stored as sensitive data in the memory210B of the processing device210, and in some such embodiments, the processing device210is a chip. Once the UCK has been stored at the CCID, the CCID is typically given to the customer for use in transactions, such as, for example, for use in online PIN change transactions with a chip card.

Referring now toFIG. 17A and 17B, a method1700for authenticating a CCID with a backend system according to embodiments of the present invention is illustrated. Method1700is also referred to as a challenge/response method. First, as represented by block1710, the CCID initiates an interaction with the backend system. For example, in one embodiment, the customer has requested a PIN change for a chip card, and the CCID initiates the PIN change transaction with the backend system. Next, as represented by block1720, the backend system sends a random number (RN) to the CCID. The CCID receives the RN at its network communication device, and in some embodiments stores the RN, either at the memory device220and/or at the memory210B. Next, as represented by block1730, the CCID symmetrically encrypts the RN with the UCK stored on the memory device220or the memory210B. Various methods of encryption are used in various embodiments. For example, in one embodiment, the triple data encryption algorithm (3DES) is used, and in another embodiment, for example, the advanced encryption standard (AES) is used. In various other embodiments, types of encryption other than these examples are used. Next, as represented by block1740, the network communication device of the CCID communicates the encrypted RN and the CCID serial number to the backend system. The CCID serial number, in some embodiments is the serial number or identification number of the processing device210and in other embodiments it is the serial number or identification number of processor210A (which may be the same as processing device210). In other embodiments, the CCID has a serial number or identification number separate and distinct from the processing device and/or its processor, and that number is communicated to the backend systems in some embodiments. In various other embodiments, some other type of identification number is communicated, such as a number corresponding with one or more of the other components of the CCID. In some embodiments, the processing device210is or includes a chip, and the serial number corresponds to the chip.

Referring now toFIG. 17B, method1700continues at block1750, which represents the backend system recalculating the UCK by encrypting the received serial number using the stored MCK. Next, as represented by block1760, the backend system encrypts a copy of the RN originally sent to the CCID in step1720using the recalculated UCK. The backend system, as represented by block1770, then compares the encrypted copy of the RN originally sent to the CCID and the encrypted RN received from the CCID. The backend system then makes a determination whether the encrypted copy of the RN matches the received encrypted RN as represented by decision block1780. If it does not, as represented by block1785, the backend system terminates the transaction, and in some embodiments, logs the serial number received from the CCID as a potentially fraudulent device. If the encrypted copy of the RN matches the received encrypted RN, as represented by block1790, the CCID is considered authentic, and the backend system proceeds with the transaction. In one embodiment, for example, the backend system proceeds with the PIN change transaction initiated by the CCID.

In various embodiments, both methods1200and1300are performed, and in other embodiments, only one or the other are performed in response to a compromise. Further, in various embodiments, various combinations of methods1100,1200,1300,1400,1500,1600, and1700are used. For example, in one embodiment, the CCID and backend systems are configured to perform the authentication methods, namely methods1500,1600, and1700or variations thereof and do not perform method1100including erasing the memory (method1200) and locking the processor (method1300). In another embodiment, for example, the CCID is configured to lock the processor (method1300) and the CCID and backend systems are configured for the authentication methods and/or variations thereof (methods1500-1700). In yet another embodiment, for example, the CCID is configured to erase the memory (method1200), is not configured to lock the processor (method1300), but is configured to perform the authentication methods and/or variations thereof (methods1500-1700).

In summary, systems, methods, and computer program products are provided for authenticating a chip card interface device (CCID) during a transaction with the CCID. The system has a communication device configured for communicating with the CCID over a network and a processing device coupled with the communication device. The processing device is configured for receiving a transaction initiation communication from the CCID and instructing the communication device to communicate a request for authentication information including a random number to the CCID. The CCID encrypts the random number with a unique chip key (UCK) previously created with a master chip key (MCK). Then, the CCID communicates the encrypted random number to the system along with a serial number. The system recalculates the UCK using the serial number, encrypts a copy of the random number using the recalculated UCK and compares the encrypted copy with the encrypted random number received from the CCID to authenticate the CCID.

As will be appreciated by one of skill in the art, the present invention may be embodied as a method, apparatus (including a system), computer program product, or a combination of the foregoing. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects that may generally be referred to herein as a “system.”

Furthermore, embodiments of the present invention may take the form of a computer program product comprising a computer-readable storage medium having computer-usable program code/computer-readable instructions embodied in the medium. Any suitable computer-readable medium may be utilized. The computer-readable medium may be, for example but not limited to, a non-transitory, tangible medium such as an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires; a tangible medium such as a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a compact disc read-only memory (CD-ROM), or other tangible optical or magnetic storage device; or transmission media such as those supporting the Internet or an intranet.

Computer-readable instructions for carrying out operations of the present invention may be written in an object-oriented, scripted or unscripted programming language such as Java, Perl, Smalltalk, C++, or the like. However, the computer-readable instructions for carrying out operations of the invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages.

Embodiments of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams shown inFIGS. 1-17, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable instructions. These computer-readable instructions may be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.