Related application “Secure User Authentication using a Master Secure Element”, Attorney Docket No. 81494882US01 filed on the same day and assigned to the same assignee is incorporated by reference herein in its entirety.
Related application “Validating a Transaction with a Secure Input without Requiring PIN Code Entry”, Attorney Docket No. 81526126US01 filed on the same day and assigned to the same assignee is incorporated by reference herein in its entirety.
Mobile platforms or connected devices such as smart phones, personal computers, tablet PCs are integrating a secure element to authenticate the platform, to protect user credentials or to secure transactions. The secure element is typically a highly tamper resistant device that provides a secure execution environment isolated from the host processor. The secure element may be integrated into various form factors such as, for example, SIM cards, SD cards, or small outline packages attached directly on the printed circuit board (embedded secure element) and is especially useful for payment applications such as bank cards, mobile wallets and the like.
A payment transaction often requires the authentication of the user to either activate the application or to validate the transaction. A payment transaction is usually performed on a secure terminal with trusted user interfaces (i.e. secure display and keypad) for added security. In the typical mobile handset type architecture, a user enters their PIN code or activates the confirmation button located directly on the handset keypad. The entry of the PIN code or the activation of the confirmation button is typically handled by the host processor which operates in a non-secure and open environment. Because mobile handsets are typically connected to a network, the handsets can be infected by malware that can operate to intercept the entered PIN code or cause an invalid transaction to be confirmed.
Typical transaction validation involves two factors: 1) the application needs to be assured that only the user can validate the transaction; 2) the user needs to be assured that only the transaction the user accepts is completed. Typical solutions to the validation issue in current mobile handset architecture are typically software solutions that attempt to isolate the PIN code entry device and the display drivers showing the transaction from other processes running on the host processor. The various techniques of process isolation or virtualization create a secure environment that is typically not tamper resistant and also typically increases the complexity of the required software architecture. One example of such an approach is the TEE (Trusted Execution Environment) proposed by GlobalPlatform TEE White Paper, February 2011 and incorporated herein by reference in its entirety which states in part:
a shows two keypad layouts.
b shows a virtual keypad which supports letter input.
c shows a keypad mask on a polarizer layer in accordance with the invention.
d shows the layers of a virtual keypad in accordance with the invention.
a shows an embodiment in accordance with the invention.
b shows an embodiment in accordance with the invention.
Related application “Secure User Authentication using a Master Secure Element”, referenced above, describes an exemplary embodiment where master secure element 120 is used as a secure processor and controls user input into the handset keypad (or touch screen) 110 to secure the user authentication based on, for example, the entry of a PIN code (see
With reference to
In embodiments in accordance with the invention, transactions may be secured on mobile handsets, PCs, tablets and similar devices equipped with a secure input and a non-secure output. When application 155 running on SP 120 validates a transaction, keypad 110 is fully controlled by SP 120. This allows the user to safely enter confidential data such as a PIN code that is directly transferred to application 155.
For mobile handsets, PCs, tablets and similar devices where keypad 110 is physical (i.e. keypad 110 is not a touch screen keypad on non-secure display 130), a typical way to validate the transaction, in an embodiment in accordance with the invention, is to use the transaction amount such as the price of an item or service as “Data*” that is read by the user from display 130 and entered into keypad 110. The user determines if the transaction amount is correct, say the advertised price of an item. If the transaction amount “Data*” and the transaction amount “Data” transferred from host 115 to SP 120 do not match, the transaction is cancelled. Hence, if there is malware running on host processor 115 that is able to manipulate the transaction amount “Data” sent to SP 120, SP 120 will detect it in step 250. If there is malware running on host processor 115 that is able to alter the transaction amount “Data*” showing on display 130, the user will cancel the transaction.
However, when a mobile handset, PC, tablet or similar device is equipped with a touch screen keypad (i.e. not a physical keypad) host processor 115 typically controls both display 130 and virtual keypad 110a which is projected onto display 130. Touch screen 135 overlays display 130 and is controlled by SP 120 when virtual keypad 110a is displayed. However, malware running on host processor 115 can control virtual keypad 110a and manipulate the layout of keypad 110a underneath touch screen 135. This can lead to the user entering an amount that is different from the one the user believes is being entered. For example, with reference to
In an embodiment in accordance with the invention, the integrity of keypad 110a may be verified to differentiate virtual keypad layout 310 from virtual keypad layout 320. The user enters, in addition to the transaction amount, secret data such as a PIN code having, for example at least four digits, that is shared between the user and SP 120. However, note that there is a security vulnerability if the PIN code contains only the numbers “4”, “5”, “6” and “0” as the positions of those numbers do not change in going from keypad 310 to keypad 320. For a four digit PIN code, 2.56% of the available PIN codes would have this security vulnerability. Using PIN codes with more than four digits can also be used to reduce this security vulnerability. For example, a six digit PIN code, only 0.4% of the available PIN codes have this vulnerability.
The malware may also attack the integrity of virtual keypad layout 310 by just reversing the positions of cancel and validate, tricking the user into validating a transaction when the user wished to cancel it. This may be solved, for example, by having green and red markers or other indicators (for “OK” and “CXL”, respectively) on the mobile handset case that are below the correct positions of the “OK” and “CXL” keys so that the user can detect when the positions have been switched.
b shows virtual keypad 351 which supports letters and allows a PIN code to be replaced by a password to improve the security. Using secret data such as a PIN code, birth date or password, for example, strengthens the transaction validation with user authentication. Using a PIN code, birth date or password for the transaction provides an integrity check for virtual keypad 351 with the use of a PIN code typically providing the weakest solution.
c shows an exemplary embodiment in accordance with the invention where keypad mask 356 has been added to polarized layer 355 underneath touch screen 135 as shown in
In an embodiment in accordance with the invention, SP 120 drives two input lines of polarized layer 355 to activate keypad mask 356, one to control the background of predefined keypad layout 310.
a shows an embodiment in accordance with the invention using both the transaction amount and the PIN code on a mobile handset, PC, tablet or similar device for transaction validation. The transaction is validated when the user enters both the agreed to transaction amount and the user's PIN code. Knowledge of the PIN code is restricted to the user and SP 120 and only the user can enter both the PIN code and the transaction amount. Hence, if the transaction amount entered by the user on keypad 110a and the transaction amount sent to SP 120 by host processor 115 are different, the transaction is cancelled by SP 120.
In step 410 of
Note that for embodiments in accordance with the invention, it is not necessary for the transaction amount to originate from host processor 115. It may also come from another device directly connected to SP 120 such as a near field communications (NFC) controller 499 as shown in
In step 455 of
SP 120 in accordance with the invention requires a security indicator such as, for example, an LED to inform the user that the system is operating in secure mode and prevent phishing although any data intercepted by malware running on host processor 115 typically cannot be introduced into SP 120. SP 120 is designed such that user data can only be entered through keypad 110/110a.
Note that for embodiments in accordance with the invention, it is not necessary for the transaction amount data to originate from host processor 115. It may also come from another device directly connected to SP 120 such as a Near Field Communications (NFC) controller if the mobile handset, PC, tablet or similar device is NFC enabled, for example. However, the transaction amount is still communicated to host processor 115 for validation by the user. Also the PIN code need not be verified directly by SP 120. For online transactions, for example, the PIN code entered by the user may be encrypted by SP 120 and sent to a back end server for authentication. Transaction data such as amount, card number or expiration date may be either encrypted together with the PIN code or encrypted separately when communicated to the back end server.
While the invention has been described in conjunction with specific embodiments, it is evident to those skilled in the art that many alternatives, modifications, and variations will be apparent in light of the foregoing description. Accordingly, the invention is intended to embrace all other such alternatives, modifications, and variations that fall within the spirit and scope of the appended claims.