# Patent

## Title
Passcode entry through motion sensing

## Abstract

A method of entering a passcode is disclosed. In one embodiment, the method includes: calculating locations of tactile inputs on the input component to interact with the passcode entry interface based at least partially on the recorded motion readings; and determining the passcode based at least in part on the tactile inputs by mapping the tactile inputs to a geometric layout of interactive elements of the passcode entry interface.

## Background
BACKGROUND
A financial transaction system, as used herein, is a system that allows a merchant to use, for example, a mobile device, to accept payment for selling a product or a service to a purchaser.
In one example, the financial transaction system includes a mobile device (e.g., an iPad, an iPhone, etc.) and a card reader. The card reader is in the form of an accessory and couples to the mobile electronic device (e.g., the card reader couples to the mobile device through the audio jack of the mobile device). In this example, a purchaser uses a financial transaction card (e.g., a credit card or a debit card) to purchase the seller's product or service by allowing his credit card to be swiped through the card reader. The card reader communicates the card's data to the mobile electronic device, allowing the mobile device to confirm authenticity of the card and further initiate authorization of the purchase transaction. In another example, the financial transaction system may include a mobile electronic device that accepts card-less payments from purchasers. In this example, a purchaser may convey his credit card information to the seller through a direct or indirect form of wireless communication with the seller's mobile device. A person of any skill in this space would easily be aware of countless other mechanisms that allow similar financial transactions to proceed in the context of such “mobile” payments.
While such mobile payment opportunities offer convenience and ease of use to both the seller and the purchaser, there are scenarios that may present new security concerns. For example, as part of the transaction flow, the purchaser may sometimes be required to enter a PIN code as an additional layer of security. Such PIN codes are required, for example, in debit-card based purchases and even in some credit-card (e.g., EMV card) based purchased. In such scenarios, the financial transaction system needs to protect the PIN from being discovered by, for example, malware or other phishing events.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is diagram illustrating a technique of passcode entry based on motion pattern readings involving an electronic device and a card reader.
FIG. 1B is a diagram illustrating a side view of the electronic device and the card reader of FIG. 1A.
FIG. 2 is a block diagram illustrating an electronic device, consistent with various embodiments.
FIG. 3 is a block diagram illustrating a card reader, consistent with various embodiments.
FIG. 4 is a sequence diagram of a process to operate an electronic device and a card reader to authenticate a financial transaction.
FIG. 5 is a flow chart of a process of detecting passcode entry through motion pattern readings from at least a motion sensor mechanically coupled to a display.
FIG. 6 is a block diagram of a passcode entry system including an electronic device and a card reader.



The figures depict various embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
DETAILED DESCRIPTION
The financial transaction system described herein involves a card reader and a general-purpose electronic device, such as a mobile device or a stationary/semi-stationary system. For example, the mobile device may be a mobile phone or a tablet and the stationary/semi-stationary system may be a point of sale system or a desktop computer. The card reader may be an external device (e.g., in the form of a mobile phone accessory) that can be coupled to the general-purpose electronic device. When the card reader detects a financial transaction card (based on, e.g., the card being swiped through the card reader, the card being brought in proximity to enable radio frequency (RF) or Bluetooth Low Energy (BLE) communication between the card and the reader, etc.), the card reader accesses card information stored on the financial transaction card to initiate a financial transaction through the general-purpose electronic device. The financial transaction card is a card storing financial account related data to be used in a financial transaction, such as to make a purchase. For example, the financial transaction card may be a credit card, a debit card, or an integrated circuit card in accordance with the Europay, MasterCard, or Visa (EMV) standard.
In some instances, a user (i.e., a purchaser) initiating the financial transaction may need to enter a passcode, such as a personal identification number (PIN) or a password, on a passcode entry interface to authenticate the financial transaction. The passcode entry interface may solicit the user to identify a sequence of symbols/digits representing the passcode. Such a passcode entry interface may be implemented on either the electronic device or the card reader, such as having the symbols/digits displayed on or printed on the electronic device or the card reader. For the purpose of the techniques discussed herein, it is understood that the passcode entry interface may not even require active components for soliciting
The disclosed technique involves using, for example, motion sensors to determine the passcode instead of recording the passcode entered by a user using a conventional input component (e.g., a touchscreen, buttons, or a keyboard) of the electronic device. The motion sensors may be contained in the electronic device or in the card reader or may also be distributed between the two devices. The card reader or the electronic device uses readings from the motion sensors to determine the passcode entered by the user—instead of inferring conventional key inputs as the basis for determining the PIN entry, the techniques described here allow for inferring locations on the mobile device the user made selections on and using the locations as the basis for determining the PIN entry.
A primary advantage of such a system is that the user's PIN is not actually perceived by or otherwise recorded by the electronic device. All the electronic device is exposed to is a couple of “touch” actions that cause the electronic device or the card reader (or both) to have corresponding spatial movements. These touch actions may then be used by the card reader or the electronic device to infer the PIN value without exposing the PIN value directly to the electronic device. In one example, the motion sensor readings may directly be transferred over to a secure server allowing the secure server to process the PIN value and simply convey an authentication of the PIN entry to the electronic device or the card reader, thus further removing the actual PIN values from the reach of malware or other phishing elements in the mobile device. Even though a set of numbers may be displayed on the electronic device to allow a purchaser to “key in” the PIN code, touch or other keying-in actions of these numbers do not result in the actual numbers being revealed to the mobile device. An incidental benefit here is that the electronic device or the card reader does not actually have to have a keyboard or a display to actually “display” the numbers. A user could simply touch on, for example, on a plastic or wooden surface (e.g., the back surface of a mobile phone) to enter in the PIN value by simply tapping on designated areas on the surface, thus obviating the need for even using the conventional screen or key input for obtaining the PIN values.
Elaborating further on the techniques, the motion sensors may be located in the electronic device or in the card reader, or, as discussed above, be distributed between both the card reader and the electronic device. In various embodiments, the electronic device or the card reader can determine the passcode by first determining locations/areas of tactile contact by the user based at least in part on the motion sensor readings. The determined locations/areas can correspond with tactile interactions with the passcode entry interface. Subsequently, the electronic device or the card reader can determine the passcode entered by the user by mapping the determined locations/areas to a geometric layout of the passcode entry interface. The geometric layout may include locations of interactive elements of the passcode entry interface corresponding to digits/symbols used to compose the passcode. The electronic device or the card reader can thus determine the passcode entered by the user by mapping the determined locations to a sequence of digits/symbols.
In embodiments, the motion sensors measure the motion pattern of the electronic device and/or the card reader to determine which part of the electronic device or the card reader is subject to a touch event. The electronic device or the card reader uses, for example, a pattern recognition process to determine the locations of the touch event based on a motion model, such as a mapping function or a machine learning model. As defined here, a motion sensor may be any type of sensor that is capable of detecting such movement or registering the requisite motions that would allow for determining what the passcode is. In the way of illustration here, the motion sensor may, for example, be a gyroscope, an accelerometer, a mechanical motion sensor, a compass, a directionality sensor, a vertical motion sensor, or just about any sensor for detecting movement.
In the embodiments where the motion sensors are located in the card reader and touch events occur on the general-purpose electronic device, a rigid connector between the card reader and the general-purpose electronic device may be used for electronic communication and for mechanically coupling movements between the electronic device and the card reader induced by the tactile contacts (e.g., touch events) from the user. Accordingly, the card reader can locate the individual tactile entries representing the passcode via the motion sensors of the card reader.
Accordingly, the disclosed technique provides an alternative method of capturing the passcode entered on the passcode entry interface and an alternative channel (i.e., through mechanical movement) to deliver the passcode to the system (e.g., the card reader) for verifying the passcode. As illustrated above, the alternative method and channel results in substantial alleviation of the security risk associated with passcode entry through a conventional input component (e.g., a keyboard or a touchscreen). In this manner, the passcode entered by the user is not stored electronically until the passcode verification system determines the passcode based at least in part on the motion pattern detected by the motion sensors. The following sections now present illustrative descriptions of this alternative passcode entry system in the context of FIGS. 1 through 6.
FIG. 1A is a diagram illustrating a technique of passcode entry based on motion pattern readings involving an electronic device 102 and a card reader 104. The electronic device 102 may be a general-purpose device. The electronic device 102 may be a mobile device, such as a mobile phone, an e-reader, or a tablet computer. The electronic device 102 may include and execute a general-purpose operating system capable of running one or more third-party applications, which may be downloaded, installed, and executed on the electronic device 102.
For example, the electronic device 102 may include a user interface application 106, such as a sales interface to facilitate consumer/merchant transactions. A display device 108 of the electronic device 102 can display the user interface application 106. The user interface application 106 at a certain point in time during its execution may generate and display a passcode interface on the display device 108. Alternatively, the card reader 104 can display the passcode interface. In some embodiments, the display device 108 may be a touchscreen. In other embodiments, the display device 108 is a display without tactile contact detection capabilities. In other alternative embodiments, the passcode interface may be a printed pattern on the electronic device 102 or the card reader 104, instead of being displayed by a display component.
The passcode interface allows a user of the electronic device 102 to authenticate an operation by the user, such as an operation to process a financial transaction. For example, the card reader 104 can detect a swipe of a financial transaction card. Upon detecting the swipe, the card reader 104 can initiate a financial transaction process on the electronic device 102, e.g., via the user interface application 106. The financial transaction process may require an authentication from the user, such as by entering a passcode. The passcode may take the form of a pattern, a numeric sequence, an alphabetical sequence, an alpha-numeric sequence, an answer to a particular question, or other forms of data that can be composed and replicated via buttons or other interactive elements of the passcode interface.
As the user enters the passcode by pressing, making contact, or performing gestures on the display device 108 of the electronic device 102, movements of the electronic device 102 can uniquely identify where and how the user has contacted the electronic device 102. A connection bridge 110 can carry the mechanical movements between the card reader 104 and the electronic device 102. The connection bridge 110 may include a rigid material that can translate the movements from the electronic device 102 to the card reader 104. The connection bridge 110 may also include one or more conducting wires to electrically connect the card reader 104 and the electronic device 102.
FIG. 1B is a diagram illustrating a side view of the electronic device 102 and the card reader 104 of FIG. 1A. In some embodiments, the electronic device 102 includes motion sensors 112 capable of detecting the movements that uniquely identify where and how the user contacts the electronic device 102 or the card reader 104. The motion sensors 112 are sensors that are capable of detecting movement. In these embodiments, the electronic device 102 can determine locations of tactile entries (e.g., touch events) from motion data of the motion sensors 112. The electronic device 102 can then determine the passcode entered by the user by mapping the locations of the tactile entries to symbols used to compose a passcode. The mapping may depend on where the symbols are displayed or printed on the electronic device 102 or the card reader 104. The sequence of the symbols corresponding to the locations is indicative of the passcode entered by the user through the touch events. For example, the symbols may be individual alphabets, individual numbers, or graphical icons that are displayed or printed on the electronic device 102 or the card reader 104. The electronic device 102 can use the locations of where the symbols are to determine the passcode from the locations of tactile entries.
In other embodiments, the card reader 104 includes motion sensors 114 capable of detecting the movements that uniquely identify where and how the user contacts the electronic device 102. The movements of the electronic device 102 can be mechanically carried over to the card reader 104. The card reader 104 can determine the locations of tactile entries (e.g., touch events) from motion data of the motion sensors 114. Similar to the embodiments described above, the card reader 104 can determine the passcode by mapping the locations of tactile entries to symbols used to compose a passcode. The mapping may depend on where the symbols are displayed or printed on the electronic device 102 or the card reader 104. The sequence of the symbols corresponding to the locations is indicative of the passcode entered by the user through the touch events. The electronic device 102 may transmit the locations of where the symbols are displayed or printed to the card reader 104 to facilitate the mapping of the tactile entries to the symbols.
In various embodiments, determining the locations of the tactile entries from the motion data may be based at least in part on a mapping function or a machine learning model. Prior to running the motion data through the mapping function or the machine learning model, the motion data may be normalized, preprocessed, combined, divided, or transformed into data features. A data feature is an individual measurable heuristic property of a phenomena being observed. Features can be numeric or structural, such as numbers, strings, trees, or graphs.
Part of the normalization process of the motion data may include subtracting out expected movements or range of movements. For example, the electronic device 102 or the card reader 104 can deploy a minimum and/or a maximum threshold of movement range to filter out movements that are known to be unrelated to tactile entries by the user. As an example, the normalization process can subtract out movement caused by components (e.g., a haptic feedback device 116) of the electronic device 102. As another example, the normalization process can use movements outside of a time window of entering the passcode to determine a nominal baseline movement level. The normalization process can then use the nominal baseline movement level to normalize the motion data within the time window to determine the locations of the tactile entries.
The machine learning model may be updated and trained across different devices, or trained specifically for the electronic device 102. The machine learning model can be trained for a specific user, or across different users. The machine learning model may by updated periodically or when the tactile entries are determined to occur on the passcode entry interface. For example, the electronic device 102 or the card reader 104 can update the machine learning model by comparing the determined locations of tactile entries against touchscreen data of the display device 108. The electronic device 102 or the card reader 104 may store a default machine learning model acting as a starting point before updating the model. The default machine learning model may be part of the factory setting of the electronic device 102 or the card reader 104. The electronic device 102 can download and install the default machine learning model from an external server. The machine learning model may be based on a Gaussian Mixture Model, a Hidden Markov Model, or a Support Vector Machine Model.
FIG. 2 is a block diagram illustrating an electronic device 200, consistent with various embodiments. The electronic device 200 may be the electronic device 102 of FIG. 1. The electronic device 200 can include a passcode interface generator module 202. The passcode interface generator module 202 is configured to generate a passcode interface on a display device 204, such as the display device 108 of FIG. 1. The passcode interface generator module 202 communicate and configure what to display on the display device 204 via a display driver 206. The passcode interface generator module 202 may further be configured to modify the passcode interface between user sessions, transaction instances, or tactile interactions (e.g., touch events) by the user. The passcode interface generator module 202 can record different arrangements and geometric configurations of instances of the passcode interface in a configuration history store 208.
The electronic device 200 can generate the passcode interface, in response to an external card reader detecting a swipe of a financial transaction card. The electronic device 200 can display the passcode interface to solicit a passcode entry for authenticating a financial transaction initiated by the card swipe. The electronic device 200 can communicate with the external card reader via a card reader communication module 214. An authentication module 216 can manage the process of authenticating the financial transaction. In various embodiments, the passcode interface generator module 202 may be part of the authentication module 216. Both the authentication module 216 and the passcode interface generator module 202 may be part of the user interface application 106 of FIG. 1.
In some embodiments, the authentication module 216 can determine locations or areas of where touch events by the user are occurring or have occurred. These touch events can represent user interactions with the passcode interface. In these embodiments, the electronic device 200 includes one or more motion sensors 218, such as the motion sensors 112 of FIG. 1. The authentication module 216 can collect motion data from the motion sensors 218, such as during a time window when the passcode interface is displayed. The motion data can be processed into data features. The data features can be processed through a mapping function or a machine learning model. The mapping function or the machine learning model can be stored in a motion model store 220. The authentication module 216 can run the data features through the mapping function or the machine learning model to determine the locations or areas of the touch events.
The authentication module 216 can determine the passcode entered by the user based at least in part on the determined locations/areas of the touch events. For example, the authentication module 216 can map the locations/areas of the touch events to digits or symbols represented by areas on the passcode interface. The authentication module 216 can determine the passcode as the sequence of digits or symbols corresponding to the locations/areas of a sequence of touch events. The areas corresponding to the digits or symbols can be stored in the one or more geometric configurations(s) stored in the configuration history store 208.
The authentication module 216 then verifies whether the passcode entry (i.e., passcode entered by the user) matches an authentic passcode by either verifying through the external card reader or through an external server (e.g., a financial service computer server). In some embodiments, the electronic device 200 disables recording of the touch locations as reported by a touchscreen display, while the user is entering the passcode. In some embodiments, no memory device in the electronic device 200 has an unencrypted record of the passcode entry by the user.
In other embodiments, the external card reader determines the locations/areas of the touch events instead of the electronic device 200. In some of these embodiments, no memory device in the electronic device 200 has a record of the touch event locations. The electronic device 200 can send the geometric configuration of the passcode interface to the external card reader through the card reader communication module 214. The geometric configuration is for mapping locations or areas of the touch events (as determined by the external card reader) to interactive elements of the passcode interface. The mapping to the interactive elements enables the external card reader to determine a sequence of symbols representing the passcode entered by the user.
In yet other embodiments, the external card reader can perform the determination of the passcode using motion data from the motion sensors 218 of the electronic device 200, instead of the motion sensors in the external card reader. In these embodiments, the electronic device 200 can send the motion data from the motion sensors 218 through the card reader communication module 214 to the external card reader. The card reader communication module 214 can also send a time window of when the passcode interface is being displayed on the electronic device 200 to the external card reader to facilitate the determination of the passcode.
FIG. 3 is a block diagram illustrating a card reader 300, consistent with various embodiments. The card reader 300 includes a logic circuitry 304. The logic circuitry 304 controls and executes processes operated by the card reader 300. The logic circuitry 304 may comprise one or more of an application-specific integrated circuit (ASIC), field programmable gate array (FPGA), a controller, a microprocessor, and other types of digital and/or analog circuitry.
The logic circuitry 304 can communicate with a read head 306. The read head 306 can detect presence of a financial transaction card, such as when the read head 306 detects a swipe of a card. The read head 306 may be a magnetic strip reader, a radiofrequency identification (RFID) reader, a radio frequency receiver, an optical reader, or any combination thereof.
The logic circuitry 304 can communicate with an electronic device, such as the electronic device 200 of FIG. 2, via a communication interface 308. The logic circuitry 304 can initiate a financial transaction with the electronic device through the communication interface 308 when the read head 306 detects the presence of the financial transaction card. The logic circuitry 304 can send a message to the electronic device through the communication interface 308 to initiate the financial transaction. In some embodiments, the message can cause the electronic device to generate and display a passcode interface. While the financial transaction is pending, the logic circuitry 304 can monitor motion data reported by motion sensors 310, such as the motion sensors 114 of FIG. 1. Optionally, the communication interface 308 can receive a message indicating a time window of when the passcode interface is displayed. The logic circuitry 304 can use the time window to normalize or pre-process the motion data.
To determine touch events based on the motion data from the motion sensors 310, the logic circuitry 304 can access one or more tactile entry models in a motion model store 312. The tactile entry models may be one or more mapping functions and/or one or more machine learning models. The logic circuitry can process the motion data into data features. The processing of the motion data may include data normalization, range filtering, joining, splitting, transforming, or any combination thereof. The logic circuitry 304 processes the data features through the tactile entry models to determine locations or areas of the touch events. The logic circuitry 304 can further use the geometric configurations of the interactive elements on the passcode interface to determine the passcode entered by the user. The communication interface 308 may receive a message indicating the geometric configurations of the passcode interface during the indicated time window of when the passcode interface is displayed. For example, the logic circuitry 304 can map the touch events to symbols represented by the interactive elements. The logic circuitry 304 can then determine the passcode entered as the sequence of the symbols corresponding to a sequence of the touch events.
In some embodiments, the logic circuitry 304 can transmit the determined passcode entry (i.e., the passcode entered by the user) through the communication interface 308 to either the electronic device or an external financial system to verify the passcode entry's authenticity. In other embodiments, the logic circuitry 304 compares the passcode entry with an authentic passcode accessible in the financial transaction card through the read head 306. In yet other embodiments, the logic circuitry 304 can verify the passcode entry's authenticity through the read head 306 without actually retrieving the authentic passcode (e.g., by comparing a hash function of both the determined passcode entry and the authentic passcode).
In various embodiments, the logic circuitry 304 may include a signal converter 316, a signal processor 318, and a security module 320. The signal converter 316 is circuitry that converts analog readings from the read head 306 into digital inputs. The signal processor 318 is circuitry for processing and interpreting the digital inputs from the signal converter 316 into card information, representative of financial account information of a user. Optionally, the logic circuitry 304 may include the security module 320 to encrypt and/or decrypt information to and from the financial transaction card.
Regarding FIGS. 2-3, blocks, components, and/or modules associated with the electronic device 200 or the card reader 300 each may be implemented in the form of special-purpose circuitry, or in the form of one or more appropriately programmed programmable processors, or a combination thereof. For example, the modules described can be implemented as instructions on a tangible storage memory capable of being executed by a processor or a controller on a machine. The tangible storage memory may be a volatile or a non-volatile memory. In some embodiments, the volatile memory may be considered “non-transitory” in the sense that it is not a transitory signal. Modules may be operable when executed by a processor or other computing device, e.g., a single board chip, application specific integrated circuit, a field programmable field array, a network capable computing device, a virtual machine terminal device, a cloud-based computing terminal device, or any combination thereof.
Each of the modules may operate individually and independently of other modules. Some or all of the modules may be executed on the same host device or on separate devices. The separate devices can be coupled via a communication module to coordinate its operations via an interconnect or wirelessly. Some or all of the modules may be combined as one module.
A single module may also be divided into sub-modules, each sub-module performing separate method step or method steps of the single module. In some embodiments, the modules can share access to a memory space. One module may access data accessed by or transformed by another module. The modules may be considered “coupled” to one another if they share a physical connection or a virtual connection, directly or indirectly, allowing data accessed or modified from one module to be accessed in another module. In some embodiments, some or all of the modules can be upgraded or modified remotely. The electronic device 200 or the card reader 300 may include additional, fewer, or different modules for various applications.
FIG. 4 is a sequence diagram of a process 400 to operate an electronic device 401 and a card reader 403 (e.g., the card reader 104 of FIG. 1 or the card reader 300 of FIG. 3) to authenticate a financial transaction. The process 400 includes step 402, where the card reader 403 initializes a financial transaction in response to detecting presence of a financial transaction card. Detection of the card's presence may include detecting a swipe of the financial transaction card at a read head of the card reader 403. The card reader 403 is attached to the electronic device 401, such as a mobile phone, a tablet, or a point of sale terminal, through a connection bridge, such as the connection bridge 110 of FIG. 1. The connection bridge may electrically couple the card reader 403 and the electronic device 401. The connection bridge may include a rigid portion to mechanically couple the card reader 403 and the electronic device 401 such that miniscule movements caused by user touch events may be carried over from the electronic device 401 to the card reader 403 and vice versa.
In response to initializing the financial transaction, the card reader 403 sends and the electronic device 401 receives, in step 404, card data associated with the financial transaction card. In response to receiving the card data, the electronic device 401 displays a passcode entry interface for authenticating the financial transaction in step 406. The passcode entry interface may be displayed on a display device, such as the display device 108 of FIG. 1 or the display device 204 of FIG. 2. The display device may be located in the electronic device 401 or the card reader 403. Alternatively, the passcode entry interface may be printed onto the electronic device 401 or the card reader 403. Step 406 may include sub-step 407, where the electronic device 401 notifies the card reader 403 regarding a duration of when the passcode entry interface is displayed on the electronic device 401. The electronic device 401 can anticipate the duration before the passcode entry interface is displayed. Alternatively, the electronic device 401 can notify the card reader 403 of the actual duration after the financial transaction is initiated.
In step 408, the card reader 403 can record a sequence of motion data for the duration of when the passcode entry interface is displayed. In some embodiments, the motion data may be captured via motion sensors (e.g., the motion sensors 114 of FIG. 1) in the card reader 403. In other embodiments, the motion data may be captured via motion sensors (e.g., the motion sensors 112 of FIG. 1) in the electronic device 401. In these embodiments, the electronic device 401 may send the motion data to the card reader 403 after the motion data is captured. The sequence of motion data may be a sequence of accelerometer readings or gyroscopes readings.
The card reader 403 can determine locations or areas of tactile presses (e.g., touch events) on the passcode entry interface from the sequence of motion data in step 410. Alternatively, the electronic device 401 or the card reader 403 can also recognize the sequence of motion data as tactile gestures or other patterns of contact. The distinct tactile presses, the tactile gestures, or the other touch patterns may be recognized as either absolute or relative sequences of locations. In some embodiments, the electronic device 401, instead of the card reader 403, can determine the locations or areas of the touch events from the sequence of motion data.
In various embodiments, only the motion pattern readings within a time window are used to determine the locations/areas of the touch events. The time window may be a period of time when the electronic device expects the user to enter the passcode entry. The card reader 403 can receive the time window from the electronic device 401. For example, the time window may be a time period of when the passcode entry interface is displayed on the electronic device 401. The card reader 403 may normalize motion pattern readings within the time window with motion pattern readings outside of the time window.
After the locations or areas of the touch events are determined, either the electronic device 401 or the card reader 403 may determine a passcode entry from the locations or areas based at least in part on a geometric map of interactive elements displayed on the passcode entry interface in step 412. For example, the electronic device 401 or the card reader 403 can map the locations or areas to a sequence of symbols shown on the passcode entry interface to solicit user interaction. The geometric map may include the locations of these symbols. The sequence of the symbols corresponding to the touch events can represent the passcode entered. When the card reader 403 is used to determine the passcode entry, step 412 may also include sub-step 414, where the card reader 403 receives the geometric map from the electronic device 401. Sub-step 414 may occur prior to or after step 412 begins. Sub-step 414 may occur before, concurrently, or after step 406.
Alternatively, the card reader 403 may determine the geometric map of the passcode entry interface by following a known sequence or algorithm. In various embodiments, the geometric map of the passcode entry interface can change between user sessions, financial transactions, or individual tactile contacts. The electronic device 401 can send a history of instances of the geometric map to the card reader 403.
After the passcode entry is determined, either the card reader 403 or the electronic device 401 may authenticate the financial transaction by verifying the passcode entry in step 416. For example, the card reader 403 can verify passcode entry with the financial transaction card via the read head of the card reader 403. As another example, the passcode entry may be verified on a remote server controlled by a financial entity.
FIG. 5 is a flow chart of a process 500 of detecting passcode entry through motion pattern readings from at least a motion sensor mechanically coupled to a display. The process 500 includes displaying a passcode entry interface on the display in step 502. Then, a first device mechanically coupled to the display can record a sequence of motion readings via a motion sensor in step 504. For example, the first device may be the electronic device 200 of FIG. 2 or the card reader 300 of FIG. 3. The display may be part of the first device. The display may also be part of a second device that is mechanically coupled to the first device such that movements made by user touch events on the second device may be measured on the first device. The second device may be in data communication with the first device.
The first device or the second device can calculate locations of tactile entries (e.g., contact with the display) on the display in step 506. The tactile entries may be tactile presses or tactile gestures on the display. The first device or the second device can calculate the locations based at least partly on the sequence of motion readings. For example, the locations can be calculated based on: the sequence of motion readings, a known weight of the first or second device, geometric measurements of the display, geometric measurements of the passcode entry interface, or any combination thereof. Calculating the locations may include normalizing the motion data, processing the motion data to generate data features, and running the data features through a machine learning model capable of determining regions of tactile contacts based on the data features.
After the locations of the tactile entries are determined, the first device or the second device can determine a passcode entry (i.e., the passcode entered by the user) from the locations or regions of the tactile entries based at least partly on a geometric map/layout of interactive components on the passcode entry interface in step 508. In some embodiments, the geometric layout of the interactive components can evolve during a duration of displaying the passcode entry interface. In these embodiments, the passcode entry can be calculated based at least partially by mapping the tactile entries spatially (i.e., matching in location) and temporally (i.e., matching in time) to one or more instances of the geometric map of the passcode entry interface.
While processes or blocks are presented in a given order in FIGS. 4 and 5, alternative embodiments may perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed in parallel, or may be performed at different times.
FIG. 6 is a block diagram of a passcode entry system 600 including an electronic device 602 (e.g., the electronic device 200 of FIG. 2) and a card reader 604 (e.g., the card reader 300 of FIG. 3). Note that the architecture shown in FIG. 6 is only one example architecture of the passcode entry system 600, and that the electronic device 602 could have more or fewer components than shown, or a different configuration of components. The various components shown in FIG. 6 can be implemented by using hardware, software, firmware or a combination thereof, including one or more signal processing and/or application specific integrated circuits.
The electronic device 602 that can include one or more computer-readable mediums 610, processing system 620, touch subsystem 630, display/graphics subsystem 640, communications circuitry 650, storage 660, and audio circuitry 670. These components may be coupled by one or more communication buses or other signal lines. The electronic device 602 can be the same as or similar to the electronic device 102, the electronic device 200, or the electronic device 401 of FIG. 4.
The communications circuitry 650 can include RF circuitry 652 and/or port 654 for sending and receiving information. The RF circuitry 652 permits transmission of information over a wireless link or network to one or more other devices and includes well-known circuitry for performing this function. The port 654 permits transmission of information over a wired link. The communications circuitry 650 can communicate, for example, with the card reader 604. Alternatively, the card reader 604 may be connected through the audio circuitry 670. The communications circuitry 650 can be coupled to the processing system 620 via a peripherals interface 624. The peripherals interface 624 can include various known components for establishing and maintaining communication between peripherals and the processing system 620.
The audio circuitry 670 can be coupled to an audio speaker (not shown), a microphone (not shown), the card reader 604, or any combination thereof and includes known circuitry for processing voice signals received from the peripherals interface 624 to enable a user to communicate in real-time with other users or system(s). In some embodiments, the audio circuitry 670 includes a headphone jack (not shown).
The peripherals interface 624 can couple various peripherals, such as the card reader 604, of the system to one or more processors 626 and the computer-readable medium 610. The one or more processors 626 can communicate with one or more computer-readable mediums 610 via a memory controller 622. The computer-readable medium 610 can be any device or medium that can store code and/or data for use by the one or more processors 626. The medium 610 can include a memory hierarchy, including but not limited to cache, main memory and secondary memory. The memory hierarchy can be implemented using any combination of RAM (e.g., SRAM, DRAM, DDRAM), ROM, FLASH, magnetic and/or optical storage devices, such as disk drives, magnetic tape, CDs (compact disks) and DVDs (digital video discs). The medium 610 may also include a transmission medium for carrying information-bearing signals indicative of computer instructions or data (with or without a carrier wave upon which the signals are modulated). For example, the transmission medium may include a communications network, including but not limited to the Internet, intranet(s), Local Area Networks (LANs), Wide Local Area Networks (WLANs), Storage Area Networks (SANs), Metropolitan Area Networks (MAN) and the like.
The one or more processors 626 can run various software components stored in the medium 610 to perform various functions for the electronic device 602. Note that the order of the modules in the medium 610 does not denote the order of a software stack as implemented in the medium 610. In some embodiments, the software components include an operating system 611, a communication module (or set of instructions) 612, a touch processing module (or set of instructions) 613, an interface module (or set of instructions) 615, such as the passcode interface generator module 202 of FIG. 2 or the user interface application 106 of FIG. 1, and one or more applications (or set of instructions) 618, for example, including the authentication module 216 of FIG. 2. Each of these modules and above noted applications correspond to a set of instructions for performing one or more functions described above and the methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise rearranged in various embodiments. In some embodiments, the medium 610 may store a subset of the modules and data structures identified above. Furthermore, the medium 610 may store additional modules and data structures not described above.
The operating system 611 can include various procedures, sets of instructions, software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
The communication module 612 facilitates communication with other devices using the communications circuitry 650 and includes various software components for handling data received from the RF circuitry 652 and/or the port 654.
The touch processing module 613 includes various software components for performing various tasks associated with touch hardware 634 including but not limited to receiving and processing touch input received from the I/O device 630 via a touch I/O device controller 632. For example, the touch processing module 613 can also include software components for performing tasks associated with other I/O devices (not shown). In some embodiments, the touch processing may be disabled to prevent tactile contact information from being discovered by malware running on the operating system 611.
The passcode interface module 615 is configured to present and maintain a passcode interface for a user to enter a passcode to authenticate the user's identity. The passcode interface module 615 can include various known software components for rendering, animating and displaying graphical objects on a display surface. In embodiments, in which the touch hardware 634 is a touch sensitive display (e.g., touch screen), the passcode interface module 615 includes components for rendering, displaying, and animating objects on the touch sensitive display. The passcode interface module 615 can provide graphics instructions (e.g., animation or still image) to graphics I/O controller 644, so that the graphics I/O controller 644 can display the graphics on display 646. The passcode interface module 615 can further control the audio circuitry 670 to provide an auditory component to the passcode interface.
One or more applications 618 can include any applications installed on the electronic device 602, including without limitation, modules of the electronic device 200, a browser, keyboard emulation, widgets, JAVA-enabled applications, encryption, digital rights management, voice recognition, voice replication, location determination capability (such as that provided by the global positioning system (GPS)), etc.
The touch I/O controller 632 is coupled to the touch hardware 634 for controlling or performing various functions. The touch hardware 632 communicates with the processing system 620 via the touch I/O device controller 632, which includes various components for processing user touch input (e.g., scanning hardware). One or more other input controllers (not shown) receives/sends electrical signals from/to other I/O devices (not shown). Other I/O devices may include physical buttons, dials, slider switches, sticks, keyboards, touch pads, additional display screens, or any combination thereof.
If embodied as a touch screen, the touch hardware 634 displays visual output to the user in a GUI. The visual output may include text, graphics, video, and any combination thereof. Some or all of the visual output may correspond to user-interface objects. The touch hardware 634 forms a touch-sensitive surface that accepts touch input from the user. The touch hardware 634 and the touch controller 632 (along with any associated modules and/or sets of instructions in the medium 610) detects and tracks touches or near touches (and any movement or release of the touch) on the touch hardware 634 and converts the detected touch input into interaction with graphical objects, such as one or more user-interface objects. In the case in which the touch hardware 634 and the display 646 are embodied as a touch screen, the user can directly interact with graphical objects that are displayed on the touch screen. Alternatively, in the case in which hardware 634 is embodied as a touch device other than a touch screen (e.g., a touch pad), the user may indirectly interact with graphical objects that are displayed on a separate display screen. In some embodiments, the touch controller 632 may be configured such that it is disabled when a passcode interface is being displayed by the display 646.
Embodiments in which the touch hardware 634 is a touch screen, the touch screen may use LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, OLED (organic light emitting diode), or OEL (organic electro luminescence), although other display technologies may be used in other embodiments.
Feedback may be provided by the touch hardware 634 based on the user's touch input as well as a state or states of what is being displayed and/or of the computing system. Feedback may be transmitted optically (e.g., light signal or displayed image), mechanically (e.g., haptic feedback, touch feedback, force feedback, or the like), electrically (e.g., electrical stimulation), olfactory, acoustically (e.g., beep or the like), or the like or any combination thereof and in a variable or non-variable manner.
In some embodiments, the peripherals interface 624, the one or more processors 626, and the memory controller 622 may be implemented on a single chip. In some other embodiments, they may be implemented on separate chips. The storage 660 can be any suitable medium for storing data, including, for example, volatile memory (e.g., cache, RAM), non-volatile memory (e.g., Flash, hard-disk drive), or a both for storing data, including pages used for transition animations.

## Claims

1. A method for authenticating a financial transaction transaction, comprising:
receiving card data from a card reader and initializing the financial transaction at a mobile device attached to the card reader, in response to detecting a swipe of a financial transaction card at the card reader;
displaying a passcode entry interface on a display component of the mobile device for enabling a user to enter, through tactile presses, a passcode that is used to authenticate the financial transaction, in response to receiving the card data;
recording a sequence of accelerometer readings from an accelerometer in the card reader, wherein the accelerometer readings are indicative of movements of the mobile device when the tactile presses occurred;
based at least in part on the accelerometer readings and a motion model of the mobile device, determining locations on the display component of the mobile device corresponding to the tactile presses entered by the user;
determining, based at least in part on the locations of the tactile presses, a passcode entry comprised of input symbols by matching the locations against a geometric map of buttons on the passcode entry interface; and
authenticating the financial transaction based at least in part on the determined passcode entry.

2. The method of claim 1, wherein a first instance of the geometric map of the buttons for the financial transaction is different from a second instance of the geometric map of the buttons for a previous financial transaction.

3. The method of claim 1, wherein determining the passcode entry includes determining each digit/symbol of the passcode entry based on different instances of the geometric map of the buttons, each instance corresponding to each of the tactile presses.

4. The method of claim 1, wherein authenticating the financial transaction includes initiating a process to verify the determined passcode via the card reader or via an external server.

5. The method of claim 1, wherein the display component is a touch screen component; and further comprising preventing recording of touch locations on the mobile device as reported by the touch screen component when the passcode entry interface is displayed.

6. The method of claim 1, wherein no memory device in the mobile device has a record of the tactile presses.

7. A method of operating a card reader to authenticate a financial transaction, comprising:
sending card data to an electronic device from the card reader coupled to the electronic device to initiate the financial transaction, the card data sent in response to receiving a swipe of a card at the card reader;
determining a plurality of motion pattern readings detected by the card reader in conjunction with entry of a passcode on the electronic device, the passcode for authentication of the financial transaction, the passcode entered as a sequence of tactile presses on an input component of the electronic device, wherein the motion pattern readings are indicative of movements of the electronic device when the tactile presses occurred;
based at least in part on the motion pattern readings and a motion model of the electronic device, determining a plurality of locations on the input component corresponding to the tactile presses;
determining, at the card reader and based at least in part on the determined plurality of locations, the passcode comprised of input symbols; and
initiating a process for authenticating the financial transaction using the determined passcode.

8. The method of claim 7, wherein determining the passcode includes determining the passcode based at least in part on a geometric layout of a passcode entry interface and the determined plurality of locations.

9. The method of claim 8, further comprising determining the geometric layout of the passcode entry interface at the card reader.

10. The method of claim 7, further comprising receiving a time window of when the electronic device expects a user to input the passcode; and wherein determining the plurality of locations is based at least in part on only the motion pattern readings within the time window.

11. The method of claim 10, further comprising normalizing motion pattern readings within the time window with motion pattern readings outside of the time window.

12. A non-transitory computer-readable data memory storing computer-executable instructions that, when executed by a computer system, cause the computer system to perform a computer-implemented method, the computer-executable instructions comprising:
instructions for receiving card data from a card reader and initializing the financial transaction at a mobile device attached to the card reader, in response to detecting a swipe of a financial transaction card at the card reader;
instructions for displaying a passcode entry interface on a display component of the mobile device for enabling a user to enter, through tactile presses, a passcode that is used to authenticate the financial transaction, in response to receiving the card data;
instructions for recording a sequence of accelerometer readings from an accelerometer in the card reader, wherein the accelerometer readings are indicative of movements of the mobile device when the tactile presses occurred;
instructions for based at least in part on the accelerometer readings and a motion model of the mobile device, determining locations on the display component of the mobile device corresponding to the tactile presses entered by the user;
instructions for determining, based at least in part on the locations of the tactile presses, a passcode entry comprised of input symbols by matching the locations against a geometric map of buttons on the passcode entry interface; and
instructions for authenticating the financial transaction based at least in part on the determined passcode entry.

13. The non-transitory computer-readable data memory of claim 12, wherein a first instance of the geometric map of the buttons for the financial transaction is different from a second instance of the geometric map of the buttons for a previous financial transaction.

14. The non-transitory computer-readable data memory of claim 12, wherein determining the passcode entry includes determining each digit/symbol of the passcode entry based on different instances of the geometric map of the buttons, each instance corresponding to each of the tactile presses.

15. The non-transitory computer-readable data memory of claim 12, wherein authenticating the financial transaction includes initiating a process to verify the determined passcode via the card reader or via an external server.

16. The non-transitory computer-readable data memory of claim 12, wherein the display component is a touch screen component; and further comprising preventing recording of touch locations on the mobile device as reported by the touch screen component when the passcode entry interface is displayed.

17. The non-transitory computer readable data memory of claim 12, wherein no memory device in the mobile device has a record of the tactile presses.

18. An apparatus, comprising:
a memory configured to store executable instructions; and
a processor configured by the executable instructions to execute a method, the method comprising:
sending card data to an electronic device from the card reader coupled to the electronic device to initiate the financial transaction, the card data sent in response to receiving a swipe of a card at the card reader;
determining a plurality of motion pattern readings detected by the card reader in conjunction with entry of a passcode on the electronic device, the passcode for authentication of the financial transaction, the passcode entered as a sequence of tactile presses on an input component of the electronic device, wherein the motion pattern readings are indicative of movements of the electronic device when the tactile presses occurred;
based at least in part on the motion pattern readings and a motion model of the electronic device, determining a plurality of locations on the input component corresponding to the tactile presses;
determining, at the card reader and based at least in part on the determined plurality of locations, the passcode comprised of input symbols; and
initiating a process for authenticating the financial transaction using the determined passcode.

19. The apparatus of claim 18, wherein the passcode is determined based at least in part on a geometric layout of a passcode entry interface and the determined plurality of locations.

20. The apparatus of claim 19, wherein the processor is further configured to determine the geometric layout of the passcode entry interface at the card reader.

21. The apparatus of claim 18, wherein the processor is further configured to receive a time window of when the electronic device expects a user to input the passcode; and wherein the plurality of locations are determined based at least in part on only the motion pattern readings within the time window.

22. The apparatus of claim 21, wherein the processor is further configured to normalize motion pattern readings within the time window with motion pattern readings outside of the time window.

23. An apparatus, comprising:
a memory configured to store executable instructions; and
a processor configured by the executable instructions to execute a method, the method comprising:
receiving card data from a card reader and initializing the financial transaction at a mobile device attached to the card reader, in response to detecting a swipe of a financial transaction card at the card reader;
displaying a passcode entry interface on a display component of the mobile device for enabling a user to enter, through tactile presses, a passcode that is used to authenticate the financial transaction, in response to receiving the card data;
recording a sequence of accelerometer readings from an accelerometer in the card reader, wherein the accelerometer readings are indicative of movements of the mobile device when the tactile presses occurred;
based at least in part on the accelerometer readings and a motion model of the mobile device, determining locations on the display component of the mobile device corresponding to the tactile presses entered by the user;
determining, based at least in part on the locations of the tactile presses, a passcode entry comprised of input symbols by matching the locations against a geometric map of buttons on the passcode entry interface; and
authenticating the financial transaction based at least in part on the determined passcode entry.

24. The apparatus of claim 23, wherein a first instance of the geometric map of the buttons for the financial transaction is different from a second instance of the geometric map of the buttons for a previous financial transaction.

25. The apparatus of claim 23, wherein the passcode entry is determined by determining each digit/symbol of the passcode entry based on different instances of the geometric map of the buttons, each instance corresponding to each of the tactile presses.

26. A non-transitory computer-readable data memory storing computer-executable instructions that, when executed by a computer system, cause the computer system to perform a computer-implemented method, the computer-executable instructions comprising:
instructions for sending card data to an electronic device from the card reader coupled to the electronic device to initiate the financial transaction, the card data sent in response to receiving a swipe of a card at the card reader;
instructions for determining a plurality of motion pattern readings detected by the card reader in conjunction with entry of a passcode on the electronic device, the passcode for authentication of the financial transaction, the passcode entered as a sequence of tactile presses on an input component of the electronic device, wherein the motion pattern readings are indicative of movements of the mobile device when the tactile presses occurred;
instructions for based at least in part on the motion pattern readings and a motion model of the electronic device, determining a plurality of locations on the input component corresponding to the tactile presses;
instructions for determining, at the card reader and based at least in part on the determined plurality of locations, the passcode comprised of input symbols; and
instructions for initiating a process for authenticating the financial transaction using the determined passcode.

27. The non-transitory computer-readable data memory of claim 26, wherein the computer-executable instructions comprises instructions for determining the passcode based at least in part on a geometric layout of a passcode entry interface and the determined plurality of locations.

28. The non-transitory computer-readable data memory of claim 27, wherein the computer-executable instructions comprises instructions for determining the geometric layout of the passcode entry interface at the card reader.

29. The non-transitory computer-readable data memory of claim 26, wherein the computer-executable instructions comprises instructions for receiving a time window of when the electronic device expects a user to input the passcode; and wherein the plurality of locations are determined based at least in part on only the motion pattern readings within the time window.

30. The non-transitory computer-readable data memory of claim 29, wherein the computer-executable instructions comprises instructions for normalizing motion pattern readings within the time window with motion pattern readings outside of the time window.