Secure online transaction system and method

In one embodiment, an online financial account has an associated telephone registered to the account. The financial account may be accessed over a computer network, such as the Internet. Upon receipt of a request to access the account, a text message containing a dynamic password is forwarded to the telephone over a telephone network. The user trying to access the account may use the telephone to reply to the text message with another text message that includes the dynamic password. The request to access the account may be granted if the reply includes a portion that corresponds to the dynamic password.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to data processing, and more particularly but not exclusively to online transactions over a computer network.

2. Description of the Background Art

Various financial transactions may be performed over the Internet. Examples of these financial transactions include online banking, sending or receiving of payments for product purchases (e.g., use of PayPal™ system), credit card purchases, and so on. Unfortunately, the convenience of performing online financial transactions over the Internet not only attracts legitimate users but fraudsters as well. Fraudsters gain access to online financial accounts of their victims using a variety of techniques including by “phishing,” use of a Trojan horse, and man-in-the-middle attacks. Phishing involves some form of misrepresentation. In a typical phishing attack, the victim receives an email falsely claiming to be from the victim's financial institution. The email is made to look convincingly real, oftentimes complete with the look and feel of emails from the financial institution. The email includes a link to the fraudster's website, where the victim enters his financial account information (e.g., login ID and password) thinking he is providing the information to his financial institution.

A Trojan horse is an apparently useful program or data that contains malicious code. The malicious code allows the fraudster to keep track of keystrokes entered on a computer with the Trojan horse, access the computer, and perform other unauthorized actions on the computer. The Trojan horse thus allows the fraudster to get financial account information available in the computer.

Man-in-the-middle (“MITM”) attacks involve an intermediate computer intercepting communications between two other computers, such as a user's client computer and a financial institution's server computer. The intermediate computer monitors, and sometimes even modifies, intercepted communications, which may include financial account information.

Various IP and URL reputation services have been developed to prevent some of these attacks. Generally speaking, IP and URL reputation services combat phishing by checking the source IP address of an email or the URL of a website against a list of known phishing sites. However, reputation-based security measures only work against known phishing scams, are not easy to implement, and have difficulty preventing man-in-the-middle attacks and key-logging.

Once the fraudster gets a hold of legitimate financial account information, it is relatively easy for the fraudster to take advantage of the anonymity of the Internet to access the victim's financial account online and perform an unauthorized transaction, such as transferring funds out of the victim's account. What is needed is a way to enhance security of online transactions without unduly impacting the ease and convenience by which these transactions may be performed.

SUMMARY

In one embodiment, an online financial account has an associated telephone registered to the account. The financial account may be accessed over a computer network, such as the Internet. Upon receipt of a request to access the account, a text message containing a dynamic password is forwarded to the telephone over a telephone network. The user trying to access the account may use the telephone to reply to the text message with another text message that includes the dynamic password. The request to access the account may be granted if the reply includes a portion that corresponds to the dynamic password.

DETAILED DESCRIPTION

FIG. 1shows a schematic diagram of an online transaction computer100in accordance with an embodiment of the present invention. The computer100may have less or more components to meet the needs of a particular application. As shown inFIG. 1, the computer100may include a processor101, such as those from the Intel Corporation or Advanced Micro Devices, for example. The computer100may have one or more buses103coupling its various components. The computer100may include one or more input devices102(e.g., keyboard, mouse), a computer-readable storage medium (CRSM)105(e.g., floppy disk, CD-ROM), a CRSM reader104(e.g., floppy drive, CD-ROM drive), a display monitor109(e.g., LCD, cathode ray tube, flat panel display), a computer network interface106(e.g., network adapter, modem) for communicating over computer networks, one or more data storage devices107(e.g., hard disk drive), a main memory108(e.g., RAM), and a telephone network interface112for communicating over a telephone network (e.g., wireless telephone network). Software embodiments may be stored in a computer-readable storage medium105for reading into a data storage device107or main memory108. Software embodiments may also be received over a computer network by way of the computer network interface106. In the example ofFIG. 1, main memory108includes a later-described online transaction module114and an authentication module116, both of which may be executed by the processor101. The computer100is shown inFIG. 1as a single computer for clarity of illustration. As can be appreciated, the functionality of the computer100may also be distributed to two or more computers.

FIG. 2schematically shows an online transaction environment200in accordance with an embodiment of the present invention. The environment200includes the online transaction computer100, a client computer210, and a mobile phone220. In the example ofFIG. 2, the client computer210communicates with the computer100over the Internet, while the mobile phone220communicates with the computer100over a wireless telephone network. As will be more apparent below, each account accessible by way of the transaction computer200may have an associated registered telephone. Accordingly, the environment200may involve more than one mobile phone220and more than one client computer210. Only a single mobile phone220and a single client computer210are shown inFIG. 2for clarity of illustration. The computer220and the client computer210are example apparatus a user may employ to access his online financial account by way of the transaction computer100.

The online transaction computer100may comprise a server computer operated by a financial institution, such a bank that provides online banking services to pay for purchases, send and receive money, pay bills, and so on. A user having an account with the bank may employ the client computer210to access his account. Typically, accessing the account requires the user to provide account information, such as a login ID and a password. In the example ofFIG. 2, the user may access his account online by initiating communications with the transaction computer100over the Internet. The client computer210may include a commercially-available web browser212(e.g., Microsoft Internet Explorer™ web browser) for viewing web pages214of the transaction computer100.

The online transaction computer100may comprise the computer network interface106, the telephone network interface112, the online transaction module114, and the authentication module116. The computer network interface106may comprise a network interface card (e.g., Ethernet card) and associated software driver configured to allow the transaction computer100to communicate over a computer network. In the example ofFIG. 2, the computer network interface106allows the transaction computer100to send and receive data to and from the client computer210over the Internet.

The telephone network interface112may comprise an interface card and associated software driver configured to allow the computer100to communicate with telephones coupled to the Public Switched Telephone Network (PSTN) or similar circuit-switched telephone networks. The telephone network interface112may be configured to couple the transaction computer100to a wireless telephone network servicing the mobile phone220.

The online transaction module114may comprise computer-readable program code for allowing a user to access and manage a financial account with the financial institution operating the transaction computer100. For example, the online transaction module114may comprise banking software. Other conventional online transaction software may also be used without detracting from the merits of the present invention. Embodiments of the invention may be adapted for use by existing conventional online transaction software including those employed by banks, credit card companies, online payment services, and the like. The online transaction module114may include web pages that may be received by client computers210of users wishing to access their accounts over the Internet.

The authentication module116may comprise computer-readable program code for preventing unauthorized access to financial accounts accessible by way of the transaction computer100. In one embodiment, the authentication module116is configured to generate a dynamic password, send the dynamic password to the mobile phone220, receive a reply from the mobile phone220(or another telephone), and determine whether the reply corresponds to the dynamic password. The authentication module116may be configured to send and receive text messages, such as Short Message Service (SMS) message, to and from the mobile phone220. In one embodiment, the authentication module116sends a dynamic password to and receives a reply from the mobile phone220by SMS.

A dynamic password is provided to the user on as needed basis. In one embodiment, the authentication module116generates a “one-time” dynamic password in response to a request to access an online account. In that embodiment, the resulting one-time dynamic password is not provided to the user until after the request is received and is valid only for that particular transaction (i.e., the one-time dynamic password will not work for another transaction even with the same account). Use of one-time dynamic passwords helps improve security as it can only be used for one particular transaction. However, use of dynamic passwords, without more, still has a security issue in that it does not provide protection against man-in-the-middle attacks. That is, an intervening computer that is part of a man-in-the-middle attack may intercept the dynamic password and use it for the particular transaction for which the dynamic password is valid. As will be more apparent below, embodiments of the present invention addresses this security issue by using separate communication media for working with accounts versus sending and receiving of passwords.

The mobile phone220may comprise a conventional mobile phone capable of text messaging, such as sending and receiving of SMS text messages. The mobile phone220may have a display screen221for reading and composing text messages.

The online transaction module114may be configured to service a plurality of financial accounts, with each account having an associated telephone. A user may register a mobile phone220for his account. Upon receipt of a request to access an account, the online transaction module114may be configured to alert the authentication module116to authenticate the access request. In response to the access request, the authentication module116generates a dynamic password that has not been previously provided to the user. The authentication module116sends the dynamic password to the telephone registered with the account, which is the mobile phone220in this example. The authentication module116dials the telephone number of the mobile phone220to send it a text message containing the dynamic password. Assuming the user (not a fraudster) is making the access request, the user receives the text message from the authentication module116and replies to the authentication module116with another text message. If the reply from the user corresponds to the dynamic password, the authentication module116so informs the online transaction module114to allow the user to access the account. Otherwise, access to the account is prevented.FIGS. 3A-3Fschematically illustrate the just mentioned example.

InFIGS. 3A,3B,3E, and3F, the web pages214(i.e.,214-1,214-2, etc.) are provided by the online transaction module114of the transaction computer100, which in this example provides online banking services for a fictitious bank named “Online Bank.” The web pages214allow the online transaction module114to send and receive information to and from the user. A user having an account with the Online Bank may access his account over the Internet using his client computer210(seeFIG. 2). In the example ofFIGS. 3A-3F, authentication is performed whenever someone tries to perform an action involving money transfer. Of course, authentication may also be performed for other account accesses including simply logging onto the account.

InFIG. 3B, the web browser212displays the web page214-2, which is provided by the online transaction module114after the user logs on to account no. “123678” and requests to perform money transfer. InFIG. 3B, the user is trying to transfer $12,000 from account no. “123678” to account no. “234789-10.” Account no. “234789-10” may be another Online Bank account or an account with another financial institution. In response to this account access request, the authentication module116sends a dynamic password to the mobile phone220, which is the telephone registered with account no. “123678” in this example. In one embodiment, the dynamic password is sent as an SMS text message331(seeFIG. 3C) to the mobile phone220. Web page214-2provides status information so that the user can anticipate the text message.

InFIG. 3C, the mobile phone220receives the text message331and displays it in the display screen221. The text message331may include instructions on how to respond to the text message to complete the requested transaction. In the example ofFIG. 3C, the text message331informs the user to reply back with another text message that includes the noted dynamic password, which is “456dynamicpassword123” in this example.

InFIG. 3D, the user replies to the text message331with an SMS text message332. The text message332, shown as displayed in the display screen221of the mobile phone220, includes the dynamic password noted in the text message331received from the transaction computer100. The user then sends the text message332to the sender of the text message332.

The transaction computer100receives the text message332from the mobile phone220. There, the authentication module116parses the text message332for the dynamic password. If it finds texts corresponding to the dynamic password in the text message332, the authentication module116deems the request to transfer money as a legitimate transaction and accordingly informs the online transaction module114. In response, as shown inFIG. 3E, the online transaction module114provides the web page214-3to the user to indicate that the request to transfer money has been authenticated and completed.

Otherwise, if the text message332does not include texts corresponding to the dynamic password or is not received in the transaction computer100within a predetermined amount of time, the authentication module116so informs the online transaction module114, which then prevents the requested money transfer from proceeding. In that case, as shown inFIG. 3F, the online transaction module114may display the web page214-4to inform the user of the situation. Depending on implementation, the online transaction module114may allow for a predetermined number of retries before it prevents any further attempts to access the account.

FIG. 4shows a flow diagram of a method400of performing a secure online transaction in accordance with an embodiment of the present invention. The method400is described using the components of the environment200shown inFIG. 2. It should be understood, however, that the method400may also be performed using other components without detracting from the merits of the present invention.

In step401, the online transaction computer100receives from the client computer210a request to access an online financial account. The request may be submitted by a user accessing a web page of the online transaction computer100over the Internet. The request may be to simply logon to the account or to transfer money into or out of the account. In the online transaction computer100, the online transaction module114processes the request by first alerting the authentication module116to authenticate the request as a security measure. In some implementations, it may be advantageous to perform this security measure from the beginning (i.e., even to just logon to the account to check balances etc.) In other implementations, for ease of access to the account, it may be advantageous to perform this security measure only in transactions involving transfer of money.

In step402, the authentication module116determines a dynamic password in response to the request. The dynamic password may be generated randomly, for example. The dynamic password may be selected by the authentication module116from a list of passwords stored in the online transaction computer100(but not provided to the user) or generated on the fly when a request to access an account is received. In one embodiment, the dynamic password is valid only for the one particular request and is not valid for other transactions even those involving the same account. Also, the dynamic password is provided to the user only after submitting the request.

In step403, the authentication module116forwards the dynamic password to the mobile phone220registered with the account. In one embodiment, the authentication module116sends the dynamic password as an SMS text message to the mobile phone220.

In step404, the authentication module116waits for a reply from the mobile phone220. The reply may be in the form of another SMS text message. The authentication module116may wait for the reply for a predetermined amount of time (e.g., 15 minutes).

In steps405to406, if the authentication module116does not receive any reply from the mobile phone220within the predetermined amount of time, the authentication module116so informs the online transaction module114, which then prevents access to the online financial account.

In steps405to407, if the authentication module116receives a timely reply from the mobile phone220, the authentication module116parses the reply to check for texts corresponding to the dynamic password. In one embodiment, the authentication module116checks the reply for texts identical to the dynamic password. In other embodiments, the authentication module116checks the reply for texts that may be decoded to be the dynamic password. In yet other embodiments, the authentication module116checks the reply for texts that include the dynamic password (e.g., a concatenation of the dynamic password and a suffix or prefix). Other algorithms for determining textual or data relationships may also be used without detracting from the merits of the present invention.

In steps407to408, if the reply includes texts corresponding to the dynamic password, the authentication module116so informs the online transaction module114, which then allows access to the online financial account.

As can be appreciated, the present invention provides advantages heretofore unrealized. By utilizing two separate communication media, one for general account access and another for authentication, embodiments of the present invention prevent phishing and man-in-the-middle attacks. By using dynamic passwords, phishing attacks that rely on fraudulent schemes to obtain passwords are rendered ineffective. Man-in-the-middle attacks that intercept Internet traffic are also rendered ineffective because two-way authentication (i.e., sending of dynamic passwords and receiving of replies) are performed using a telephone rather than the client computer employed by the user for general access of the account.