Patent ID: 12254466

DETAILED DESCRIPTION OF THE DISCLOSURE

Systems, apparatus and methods for dynamic multi-level detection of compromised transaction receivers.

The apparatus may include a transaction receiver. The transaction receiver may be a point of sale (“PoS”) device, an automated teller machine (“ATM”), a card reader and/or any suitable computing device that includes card reading capabilities. The card may be a payment card, such as a credit card or debit card, a smart card and/or any suitable transaction card. The card may include a magnetic strip. The card may include a microprocessor chip. The transaction receiver may be configured to read the magnetic strip and/or the chip.

The apparatus may include a sensor communication module (“SCM”). The SCM may execute on a computing device. The computing device may be a desktop computer, laptop, tablet, smartphone and/or any other suitable computing device. The computing device may include a processor and any other suitable hardware and/or software. The computing device may be part of the transaction receiver. The computing device may be separate from the transaction receiver. The computing device may be in electronic communication with the transaction receiver. The SCM may monitor an attempted transaction between the card and the card reader.

The SCM may be in electronic communication with a sensor module. The sensor module may be installed in the card reader. The sensor module may include one or more capacitive and magnetic sensors. The one or more capacitive and magnetic sensors may be installed in the card reader. The one or more sensors may be installed at strategic points in the card reader, such as, for example, where contact between the card and the card reader is expected. The one or more sensors may continuously monitor changes in capacitance between the card and the card reader. The one or more sensors may continuously monitor the presence of additional magnetic fields between the card and the card reader.

The one or more capacitive sensors may measure changes between the card and the card reader by detecting variations in capacitance. The one or more capacitive sensors may be calibrated to establish a baseline capacitance level when there is no card present at the card reader. The baseline may serve as a reference for detecting capacitance changes. A change in capacitance may indicate the presence and/or strength of a skimming and/or shimming device. The one or more capacitive sensors may identify the presence and strength of skimming and/or shimming devices.

The one or more magnetic sensors may measure changes in magnetic fields surrounding the card and the card reader. The magnetic sensors may identify the presence and strength of skimming and/or shimming devices. The one or more magnetic sensors may include inductive magnetic sensors. Inductive magnetic sensors may operate on the principle of electromagnetic induction. It should be noted that changes in the magnetic field may induce a voltage in a coil, and this voltage may be used by the magnetic sensors to measure field strength. Inductive sensors may be used for non-contact position sensing and metal detection.

A threshold may be set for capacitance changes and/or for additional magnetic fields that may indicate card insertion or removal. This threshold may be based on the expected range of capacitance variations during normal usage. The threshold may be stored in a threshold lookup table. The threshold lookup table may be stored in a memory location. The memory location may be included in the transaction receiver. The memory location may be remote from the transaction reader. The memory location be located within random access memory (“RAM”), read only memory (“ROM”), electrically erasable programmable read-only memory (“EEPROM”), flash memory, cache memory, cloud memory and/or any suitable memory location. The threshold lookup table may be a dynamic lookup table. The threshold lookup table may be updated by the SCM module. The threshold lookup table may be updated continually by the SCM module.

The SCM module may include a communication module. The communication module may receive and transmit sensor data transmitted from the one or more capacitive and magnetic sensors. The communication module may transmit the sensor data to a terminal software module (“TSM”). The communication module may include a transceiver. The communication module may receive and transmit sensor data using any suitable data transfer methods.

The TSM may execute on the computing device. The TSM may receive the sensor data transmitted from the communication module. The TSM may compare the received sensor data to the data stored in the threshold lookup table. Based on the comparison the TSM may output a threshold status. The threshold status may identify a threshold violation or threshold confirmation. The threshold status may include a threshold violation. The threshold violation may indicate that the sensor data fails to conform with the data included in the threshold lookup table. The threshold status may include a threshold confirmation. The threshold confirmation may indicate that the sensor data conforms with the data included in the threshold lookup table. The TSM may output a threshold violation or a threshold confirmation.

The TSM may transmit the threshold status to a dynamic mutual cryptographic authenticator (“DMCA”). The DMCA may execute on the computing device. The DMCA may receive the threshold status. In response to receipt of the threshold violation, the DMCA may terminate the transaction. Terminating the transaction may include instructing the card reader to terminate communication with the card. In the event that the transaction is terminated, the DMCA may transmit an alert to a cardholder of the card. The alert may be transmitted via the card reader. The alert may include a vibration. The alert may include a blinking light indicator.

In response to receipt of the threshold confirmation, the DMCA may initiate (or instantiate an instance of) an encrypted challenge response communication module (“ECRCM”). The ECRCM may execute on the computing device. The ECRCM may initiate a challenge response protocol through the communication module.

The challenge response protocol may trigger the card reader to transmit a first challenge to the card. The first challenge may be a randomized number to be authenticated. The randomized number may be included in a cryptographic token. The first challenge may include any suitable authenticator. In response to receiving the first challenge, the card may encrypt the first challenge at the card using a first private key included in the card. After encrypting the first challenge the card may transmit the encrypted first challenge from the card to the card reader.

The card reader may receive the encrypted first challenge from the card. In response to receiving the encrypted first challenge, the card reader may decrypt the encrypted first challenge using a second private key included in the card reader. After successfully decrypting the encrypted first challenge, the card reader may send a first confirmation confirming the decryption of the encrypted first challenge to the card.

In response to receipt of the first confirmation confirming decryption of the encrypted first challenge by the card reader, the card may transmit a second challenge to the card reader. The second challenge may be a second randomized number to be authenticated. The second randomized number may be included in a cryptographic token. The second challenge may be any suitable authenticator. The second challenge may be different from the first challenge. The second challenge may be encrypted with a first public key included in the card. The card reader may receive the second challenge. In response to receiving the second challenge, the card reader may decrypt the second challenge using the second private key. After decrypting the second challenge, the card reader may re-encrypt the second challenge using a second public key included in the card reader. After re-encrypting the second challenge the card reader may transmit the re-encrypted second challenge to the card.

The card may receive the re-encrypted second challenge. The card may decrypt the re-encrypted second challenge. The card may transmit a second confirmation confirming decryption of the re-encrypted second challenge to the card reader. In response to receiving a second confirmation confirming decryption of the re-encrypted second challenge by the card, the card reader may authenticate the transaction.

In the event that that the card does not receive the first confirmation and/or the card reader does not receive the second confirmation, the transaction may be terminated. Terminating the transaction may include instructing the card reader to terminate communication with the card. In the event that the transaction is terminated, an alert may be transmitted to a user associated with the card. The alert may be transmitted via the card reader. The alert may include a vibration. The alert may include a blinking light indicator.

Encrypting the first challenge may include encrypting using an advanced encryption standard (“AES”) algorithm. Encrypting the first challenge may include encrypting using a Rivest-Shamir-Adleman (“RSA”) algorithm. Encrypting the second challenge may include encrypting using an AES algorithm. Encrypting the second challenge may include encrypting using an RSA algorithm. Challenges may be dynamically changed by including a timestamp, location, unique device identifier for key exchange and signatures and/or any other suitable changes. Different challenges may be used for different transactions to prevent pre-recorded attacks.

Illustrative method steps may be combined. For example, an illustrative method may include steps shown in connection with another illustrative method.

The steps of methods may be performed in an order other than the order shown or described herein. Embodiments may omit steps shown or described in connection with illustrative methods. Embodiments may include steps that are neither shown nor described in connection with illustrative methods.

Apparatus may omit features shown or described in connection with illustrative apparatus. Embodiments may include features that are neither shown nor described in connection with the illustrative apparatus. Features of illustrative apparatus may be combined. For example, an illustrative embodiment may include features shown in connection with another illustrative embodiment.

FIG.1shows an illustrative block diagram of system100that includes computer101. Computer101may alternatively be referred to herein as an “engine,” “server,” or a “computing device.” Computer101may be a workstation, desktop, laptop, tablet, smartphone and/or any other suitable computing device. Elements of system100, including computer101, may be used to implement various aspects of the systems and methods disclosed herein. Each of the systems, methods and algorithms illustrated below may include some or all of the elements and apparatus of system100.

Computer101may include processor103for controlling the operation of the device and its associated components, and may include RAM105, ROM107, input/output (“I/O”)109, and a non-transitory or non-volatile memory115. Machine-readable memory may be configured to store information in machine-readable data structures. Processor103may also execute software running on the computer. Other components commonly used for computers, such as EEPROM or flash memory or any other suitable components, may also be part of computer101.

Memory115may include any suitable permanent storage technology, such as a hard drive. Memory115may store software including the operating system117and application program(s)119along with any data111needed for the operation of the system100. Memory115may also store videos, text and/or audio assistance files. The data stored in memory115may also be stored in cache memory and/or any other suitable memory.

I/O module109may include connectivity to a microphone, keyboard, touch screen, mouse and/or stylus through which input may be provided into computer101. The input may include input relating to cursor movement. The input/output module may also include one or more speakers for providing audio output and a video display device for providing textual, audio, audiovisual and/or graphical output. The input and output may be related to computer application functionality.

System100may be connected to other systems via a local area network (“LAN”) interface113. System100may operate in a networked environment supporting connections to one or more remote computers, such as terminals141and151. Terminals141and151may be personal computers or servers that include many or all of the elements described above relative to system100. The network connections depicted inFIG.1include LAN125and a wide area network (“WAN”)129but may also include other networks. When used in a LAN networking environment, computer101may connect to LAN125through LAN interface113or an adapter. When used in a WAN networking environment, computer101may include modem127or other means for establishing communications over WAN129, such as Internet131.

It will be appreciated if the network connections shown are illustrative and other means of establishing a communications link between computers may be used. The existence of various well-known protocols such as TCP/IP, Ethernet, FTP, HTTP and the like is presumed, and the system can be operated in a client-server configuration to permit retrieval of data from a web-based server or application programming interface (“API”). Web-based, for the purposes of this application, is to be understood to include a cloud-based system. The web-based server may transmit data to any other suitable computer system. The web-based server may also send computer-readable instructions, together with the data, to any suitable computer system. The computer-readable instructions may include instructions to store the data in cache memory, the hard drive, secondary memory and/or any other suitable memory.

Additionally, application program(s)119, which may be used by computer101, may include computer executable instructions for invoking functionality related to communication, such as e-mail, Short Message Service (“SMS”), and voice input and speech recognition applications. Application program(s)119(which may be alternatively referred to herein as “plugins,” “applications,” or “apps”) may include computer executable instructions for invoking functionality related to performing various tasks. Application program(s)119may utilize one or more algorithms that process received executable instructions, perform power management routines or other suitable tasks.

The invention may be described in the context of computer-executable instructions, such as application(s)119, being executed by a computer. Generally, programs include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, programs may be located in both local and remote computer storage media including memory storage devices. It should be noted that such programs may be considered for the purposes of this application, as engines with respect to the performance of the particular tasks to which the programs are assigned.

Computer101and/or terminals141and151may also include various other components, such as a battery, speaker and/or antennas (not shown). Components of computer system101may be linked by a system bus, wirelessly or by other suitable interconnections. Components of computer system101may be present on one or more circuit boards. In some embodiments, the components may be integrated into a single chip. The chip may be silicon-based.

Terminal141and/or terminal151may be portable devices such as a laptop, cell phone, tablet, smartphone or any other computing system for receiving, storing, transmitting and/or displaying relevant information. Terminal141and/or terminal151may be one or more user devices. Terminals141and151may be identical to system100or different. The differences may be related to hardware components and/or software components.

The invention may be operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, tablets, mobile phones, smart phones and/or other personal digital assistants (“PDAs”), multiprocessor systems, microprocessor-based systems, cloud-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.

FIG.2shows illustrative apparatus200that may be configured in accordance with the principles of the disclosure. Apparatus200may be a computing device. Apparatus200may include one or more features of the apparatus shown inFIG.1. Apparatus200may include chip module202, which may include one or more integrated circuits, and which may include logic configured to perform any suitable logical operations.

Apparatus200may include one or more of the following components: I/O circuitry204, which may include a transmitter device and a receiver device and may interface with fiber optic cable, coaxial cable, telephone lines, wireless devices, PHY layer hardware, a keypad/display control device or any other suitable media or devices; peripheral devices206, which may include counter timers, real-time timers, power-on reset generators or any other suitable peripheral devices; logical processing device208, which may compute data structural information and structural parameters of the data; and machine-readable memory210.

Machine-readable memory210may be configured to store in machine-readable data structures: machine executable instructions, (which may be alternatively referred to herein as “computer instructions” or “computer code”), applications such as applications219, signals, and/or any other suitable information or data structures.

Components202,204,206,208, and210may be coupled together by a system bus or other interconnections212and may be present on one or more circuit boards such as circuit board220. In some embodiments, the components may be integrated into a single chip. The chip may be silicon-based.

FIG.3shows an illustrative skimming and shimming detection process300. Process300may be executed in real-time during transaction processing. Process300may detect and/or validate the absence of a skimmer and/or shimmer at a card reader in real-time during and/or prior to the processing of a transaction.

Prior to the execution of process300, the system components, including the sensor communication module (“SCM”)306, terminal software module (“TSM”)308(including the baseline threshold lookup table), dynamic mutual cryptographic authenticator (“DMCA”)320, DMCA communication module and an alert system may be instantiated and initialized prior to transaction processing.

It should be noted that a cardholder may be able to opt-in for skimming/shimming detection services. As such, in the event that a cardholder does not opt-in for skimming/shimming detection services, process300may be skipped and the transaction may be processed.

It should also be noted that process300does not retrieve card data from the card until the validation of the absence of a skimmer and/or shimmer has been completed. As such, the card data does not become vulnerable to a skimmer and/or shimmer until the card reader is verified as not being linked to a skimmer and/or shimmer.

Automated teller machine (“ATM”)316may include card reader318. At step1, card reader318may receive card326. Card reader318may include SCM306. SCM306may include sensor module312. Sensor module312may include magnetic sensor304and capacitive sensor310. At step2, capacitive sensor310and magnetic sensor304may sense card326being input into card reader318. SCM306may include communication module314. Sensor data from magnetic sensor304and capacitive sensor310may be transmitted to communication module at step3. At step4, communication module314may transmit sensor data relating to card326from sensor module312to TSM308.

TSM308may receive sensor data from communication module314in real-time during a pending transaction. TSM308may compare the sensor data with data included in a threshold lookup table. Data included in a threshold lookup table may include baseline sensor data. TSM308may compare real-time data input from a pending transaction to the baseline sensor data (included in the threshold lookup table). In response to determining that the sensor data fails to conform with the data included in the threshold lookup table, at step5, TSM308may output a threshold violation. In response to a determination that the sensor data conforms with the data included in the threshold lookup table, at step6, TSM308may output a threshold confirmation.

TSM308may output the threshold violation or threshold confirmation to DMCA320. In response to receiving a threshold violation at step7A, DMCA320may initiate end interaction332at step9A. Prior to initiating end transaction332, alert330may be triggered at step8A. Alert330may alert a user of card326that a skimming/shimming device was detected. Alert330may also alert an entity associated with card reader318or ATM316that a skimming and/or shimming device was detected.

In response to receiving a threshold confirmation at step7B, DMCA320may transmit a first encrypted challenge via DMCA communication module321to card326at step8B. At step9B, in response to receiving the first encrypted challenge, card326may transmit a first encrypted challenge response to DMCA320. At step10B-A, DMCA320may decrypt the first encrypted challenge response and transmit a decryption success notification to card326. In response to determining that the decryption was successful, card326may send a second encrypted challenge to DMCA320at step11B-A. At step12B-A, in response to receiving the second encrypted challenge, DMCA320may transmit a second encrypted challenge response to card326.

At step13B-A card326may decrypt the second encrypted challenge response. In response to a successful decryption of the second encrypted challenge response at step14B-A-B, the transaction may be enabled and/or processed at step15B-A-B.

In response to a failure to decrypt the first encrypted challenge response by DMCA320at step10B-B, end interaction332may be initiated at step12B-B. Prior to initiating end transaction332, alert330may be triggered at step11B-B. Alert330may alert a user of card326that a skimming/shimming device was detected. Alert330may also alert an entity associated with card reader318or ATM316that a skimming and/or shimming device was detected.

In response to a failure to decrypt the second encrypted challenge response by card326at step14B-A-A, end interaction332may be initiated at step16B-A-A. Prior to initiating end transaction332, alert330may be triggered at step15B-A-A. Alert330may alert a user of card326that a skimming/shimming device was detected. Alert330may also alert an entity associated with card reader318or ATM316that a skimming and/or shimming device was detected.

FIG.4shows illustrative skimming and shimming detection flow diagram. Process400may be executed in real-time during transaction processing. At step404, customer402may insert card428into card reader406. Card reader406may include card reader sensors408. Card reader sensors408may include capacitance sensors414and magnetic sensor412. Card reader sensors408may be in electronic communication with communication module415. Card reader sensors408and/or communication module415may be located at (or in close proximity to) the card reader. Terminal software module416and baseline threshold lookup table418may be located at (or in close proximity to) the card reader. Terminal software module416and baseline threshold lookup table418may be located remote from the card reader. As such, the communication between communication module415and terminal software module416may be a communication over a network. The network may be wired or wireless.

Communication module415may transmit sensor data to terminal software module416. Terminal software module416may compare sensor data to data included in baseline threshold lookup table418. At step420, based on the comparison terminal software module416may determine whether there is skimming or shimming devices. In response to identifying the presence of one or more skimming and shimming devices, card428may alert customer402at step434. After alerting customer402, step436may include ending the transaction.

In response to determining that there are no skimming and shimming devices, DMCA426may transmit a first encrypted challenge via DMCA communication module425to card428. In response to receiving the first encrypted challenge, card428may transmit a first encrypted challenge response to DMCA426. DMCA426may decrypt the first encrypted challenge response. In response to determining that the decryption was successful at step424, card428may send a second encrypted challenge to DMCA426. DMCA426may transmit a second encrypted challenge response to card428. At step430, in response to a successful decryption of the second challenge by card428, the transaction may be authenticated at step432.

In response to a failure to decrypt the first encrypted challenge response by DMCA426at step424and/or a failure to decrypt the second encrypted challenge response by card428at step430, card428may alert customer402at step434. After alerting customer402, step436may include terminating the transaction.

Thus, methods and apparatus for a SKIMMER AND SHIMMER IDENTIFICATION AND PREVENTION SYSTEM are provided. Persons skilled in the art will appreciate that the present disclosure can be practiced by other than the described embodiments, which are presented for purposes of illustration rather than of limitation and that the present disclosure is limited only by the claims that follow.