Abstract:
A computerized method of providing access to a secure resource includes, to each of a plurality of authorized users, providing a link to the secure resource. Each link includes a unique password embedded therein and each unique password relates to a particular user identification (userID) and personal identification number (PIN). The method also includes receiving a request to access the resource using a link having a password embedded therein, which request originates at a web browser. The method further includes directing the browser to a login screen and receiving via the login screen a userID and PIN. The method also includes determining whether the userID and PIN relate to one another and to the password and allowing or denying access to the resource in accordance with the determination.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
     This application is a continuation of U.S. Non-Provisional patent application Ser. No. 12/272,489, filed Nov. 17, 2008, now U.S. Pat. No. 8,015,598 which is the nonprovisional of, and claims the benefit of, U.S. Provisional Patent Application No. 60/988,526, filed Nov. 16, 2007, entitled “Two-Factor Anti-Phishing Authentication Systems and Methods,” the entirety of which is herein incorporated by reference for all purposes. 
     This application is related to U.S. patent application Ser. No. 12/272,205, filed Nov. 17, 2008, entitled “Controlled Client-Side Authentication Module Systems and Methods,” which is a non-provisional of, and claims the benefit of, U.S. Provisional Patent Application No. 60/988,502, filed Nov. 16, 2007, and also to U.S. Published Patent Application No. 2007/0022473, entitled “Server-Token Lockstep Systems and Methods,” the entirety of which applications are incorporated herein by reference for all purposes. 
    
    
     FIELD OF THE INVENTION 
     Embodiments of the present invention relate generally to electronic security. More specifically, embodiments of the present invention relate to systems and methods to protect electronic resources by thwarting fraudulent attempts to gain access thereto. 
     BACKGROUND OF THE INVENTION 
     With the widespread use of the Internet, attempts to defraud people have also increased. Thus it is vital to develop strong authentication techniques. Two prevalent fraud attempts are phishing and man-in-the-middle (MITM) attacks. Phishing involves the non-real-time collection of usernames and passwords and other sensitive data. These data could later be used by the attacker to defraud users. MITM can be described as phishing plus real-time proxying. Several solutions are available for phishing and MITM attacks. 
     Potter et al. (E. R. Potter and P. M. Skirvin, “Validated Mutual Authentication”, U.S. Pat. No. 7,266,693, Sep. 4, 2007) teach authentication using fractal images. The user, while registering chooses a fractal image from out of a number of images. Subsequently, during each transaction the user wants to perform, (s)he will be provided with a list of images from which the user is required to choose the right one. 
     Lev (Z. H. Lev, “System and Method of Generic Symbol Recognition and User Authentication Using a Communication Device with Imaging Capabilities”, U.S. Pat. No. 7,263,205, Aug. 28, 2007) presents a method for a user with an imaging device to send digital information appearing on a screen or in print to a remote server. The digital image that has authentication data will then be processed by image processing software to validate the user. 
     Steeves et al. (D. J. Steeves and M. W. Snyder, “Secure Online Transactions Using a Captcha Image as a Watermark”, U.S. Pat. No. 7,200,576, Apr. 3, 2007) teach supplying a user with a device that is capable of generating identifiers from a user-specific key. When the user wants to conduct a transaction, (s)he contacts the transaction provider. The transaction provider determines an identifier that should be currently generated by the user&#39;s device. It creates a captcha image of the identifier and watermarks a transaction verification page with this captcha image. The user is then sent this page and asked to provide the next identifier her/his device generates. If the user is successful in sending the correct identifier, the transaction is verified. Otherwise the transaction is rejected. 
     Gasparini et al. (L. A. Gasparini and C. E. Gotlieb, “Method and Apparatus for Authentication of Users and Websites”, U.S. Pat. No. 7,100,049, Aug. 29, 2006) propose a method of mutual authentication. For example, when a user requests a page from a website, customization information that can be recognized by the user is sent to the user. The user then checks if the page is the right one. Also, the website examines a signed and encrypted cookie stored on the user&#39;s system to validate the user. 
     The aforementioned techniques are fairly involved and are quite expensive to implement. They all have weaknesses, and the user remains vulnerable to social engineering attacks. There is, therefore, a need for more robust solutions for phishing and MITM attacks with respect to ease of implementation, cost of implementation, level of security, and/or the like. 
     SUMMARY OF THE INVENTION 
     Embodiments of the present invention relate to a computerized method of providing access to a secure resource. The method includes, to each of a plurality of authorized users, providing a link to the secure resource. Each link includes a unique password embedded therein and each unique password relates to a particular user identification (userID) and personal identification number (PIN). The method also includes receiving a request to access the resource using a link having a password embedded therein. The request originates at a web browser. The method further includes directing the browser to a login screen and receiving via the login screen a userID and PIN. The method also includes determining whether the userID and PIN relate to one another and to the password. The method further includes allowing or denying access to the resource in accordance with the determination. In some embodiments, providing the link may include sending the link as an email attachment or as a file stored on a USB drive. 
     Other embodiments provide a computerized method of providing access to a secure resource. The method includes, to each of a plurality of authorized users, providing a link to the secure resource. Each link includes a unique password embedded therein and each unique password relates to a particular user identification (userID) and personal identification number (PIN). The method also includes receiving a request to access the resource using a link not having a password embedded therein. The request originates at a web browser. The method further includes directing the browser to a login screen and receiving via the login screen a userID and PIN. The method also includes determining that the userID and PIN relate to a user also having a password. The method further includes directing the user to login via a bookmark having the password. The method includes receiving a subsequent request to access the resource using a link having a password embedded therein, directing the browser to the login screen, and receiving via the login screen the userID and PIN. The method also includes determining whether the userID and PIN relate to one another and to the password and allowing or denying access to the resource in accordance with the determination. 
     Still other embodiments provide a computerized method of providing access to a secure resource. The method includes a custodian of the resource providing to each of a plurality of authorized users a link to the secure resource. Each link includes a unique password embedded therein and each unique password relates to a particular user identification (userID) and personal identification number (PIN). The method further includes an unauthorized user obtaining a userID and password from an authorized user, the unauthorized user attempting to access the resource without providing the embedded password, and the custodian directing the unauthorized user to attempt to access the resource using link having the password. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       A further understanding of the nature and advantages of the present invention may be realized by reference to the following drawings. In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label. 
         FIG. 1  illustrates an exemplary system within which embodiments of the invention may be implemented. 
         FIG. 2  depicts an exemplary method according to embodiments of the present invention, which method may be implemented in the system of  FIG. 1 . 
         FIGS. 3A-C  depict various “swim” diagrams depicting various embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Embodiments of the present invention relate to electronic security generally and to Internet security specifically. In order to provide a context for describing embodiments of the present invention, embodiments of the invention will be described herein with reference to a user logging into a bank website. Those skilled in the art will recognize, however, that the present invention is not limited to such embodiments. 
     The ensuing description provides preferred exemplary embodiment(s) only, and is not intended to limit the scope, applicability or configuration of the invention. Rather, the ensuing description of the preferred exemplary embodiment(s) will provide those skilled in the art with an enabling description for implementing a preferred exemplary embodiment of the invention. It is to be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims. 
     Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, systems may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. 
     Also, it is noted that the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function. 
     Moreover, as disclosed herein, the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine-readable mediums for storing information. The term “computer-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and various other mediums capable of storing, containing or carrying instruction(s) and/or data. 
     Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium such as a storage medium. A processor(s) may perform the necessary tasks. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc. 
     Phishing and MITM attacks prey on users making poor judgments, induced to do so through trickery. Embodiments of the present invention are directed toward preventing these attacks by removing user judgment from the process. According to embodiments of the invention, the user (herein also “customer,” or “consumer”) is provided a bookmark with which to log into a secure site. The bookmark comprises a URL having a web address for a secure site and a password. The bookmark serves to bind the act of going to a website and presenting a password into an indivisible unit, thereby making phishing impossible. Upon following the bookmark, the user is taken to a web page that requests, in addition, the user&#39;s userID and personal identification number (PIN). If the provided PIN and the password portion of the URL do not match corresponding stored values for the userID, then the user is not allowed to access the site. Importantly, the user will recognize an attempt to obtain the URL as a possible fraud attack and be reluctant to provide it. The foregoing is referred to herein as “Login Via Bookmarks,” or LVB. It is a method of accomplishing two-factor anti-phishing authentication using bookmarks. 
     Having described embodiments of the invention generally, attention is directed to  FIG. 1 , which depicts an exemplary system  100  according to embodiments of the invention. Those skilled in the art will appreciate that the system  100  is merely exemplary of a number of possible system embodiments. The system  100  includes a user computer  102  and a secure resource  104  that the user desires to access via a network  106 . The secure resource  104  includes a database of user records, each having a user ID, password, and PIN. Passwords are provided to the secure server via a URL contained in a bookmark. The user&#39;s userID and PIN are supplied via a web page rendered on the user computer  102 . 
     The system  100  may include a fraudster&#39;s computer  108 . The fraudster may attempt to acquire the user&#39;s secure information via an MITM attack or via phishing. According to embodiments of the invention, however, both attempts would fail to obtain the user&#39;s password unless the user sends a copy of the bookmark containing the password to the fraudster. 
     Having described a system according to embodiments of the invention, attention is directed to  FIG. 2 , which depicts an exemplary method  200  according to embodiments of the invention. The method may be implemented in the system  100  of  FIG. 1  or other appropriate system. Those skilled in the art will appreciate that the method  200  is merely exemplary of a number of possible method embodiments and that other exemplary methods may include more, fewer, or different steps than those illustrated and described herein. 
     The method begins at block  202  at which location a secure site, a bank in this exemplary embodiment, creates a URL having both a website address and a password. The password is unique to each user and is coupled to the user&#39;s userID and PIN. In a specific embodiment, the password is a 16 character, second factor password, and the PIN is user definable or re-definable. 
     At block  204 , the URL is delivered to the user in any of a number of ways. For example, the bank (i.e., custodian of the secure resource) may send the URL to the user in an email that instructs the user to follow the URL. An exemplary URL is: 
     https://www.anybank.comilvb?user=foo&amp;secondfactor=2ea5f800cd8d4b75 
     At block  206 , the user follows the URL and may be instructed to bookmark the page. In another embodiment, the user is redirected to a different page at block  208  via a URL having a different password. Hence, the password in the emailed URL is no longer applicable. In either case, the user is instructed to bookmark the page at block  210 . In some embodiments, the user is instructed to close her browser and follow the bookmark to thereby train the user to access the page via the bookmark. This takes place at block  212 . 
     In some embodiments, the URL is provided to the user on a portable storage medium, such as a USB fob. The URL may be included in a bookmark, such as a Microsoft IE “exported bookmarks” file. The user may then “import” the bookmark. Alternatively, the USB fob could contain a small executable that, when run, creates a bookmark. In still other embodiments, an activation code, communicated out of band, could be used during a first-time login, to release the above URL, with instructions to bookmark it. 
     At block  214 , the user attempts to log into the site by, for example, following a link to the www.&lt;anybank&gt;.com website. The site recognizes the user&#39;s attempt to log in and instructs her to use the saved bookmark at block  216 . The user&#39;s session context may be preserved using, for example, cookies. If the user does not use the bookmark, she has no way of logging in. 
     At block  218 , the user follows the saved bookmark and is prompted to enter her userID and PIN at block  220 . The password component of the URL, together with the PIN, are checked by the server against values stored in a database at block  222 . Upon completion of authentication, the user&#39;s session continues as smoothly as for any other login technology, even though the bookmarked URL has been used. 
     If the user is being phished (or MITM-attacked), and is really at a different web site (e.g., wwW.anybank.com), she is unable to reveal her long password to the phishers. She would have to be cajoled into copying the URL value of the saved link and pasting it into the phisher&#39;s web page. This is unlikely because getting access to the link data is a rather elaborate and messy thing to do during a banking session. Moreover, most users would not be able to copy and paste the value of a bookmarked link even if they wanted to. If the user is savvy enough to copy it, she is also savvy enough to know what the point of the link is, and know that something is amiss. 
     Nevertheless, additional measures may be employed to prevent copying. For example, in some embodiments a URL may be used that is too long to fit into a copy buffer. In other embodiments, “NEVER COPY THIS,” or the like, could be interspersed with the password characters. 
     In some embodiments, the user&#39;s userID is included in the saved link, but the user may nevertheless be instructed to enter it again in case she has unintentionally selected a different family member&#39;s bookmark for the same site. 
     In some embodiments, any cookies from a preliminary browsing session, before login, are sent with the saved-link login, even if the user has closed the original browser/tab. Thus the login context continues transparently. 
     Embodiments of the invention also may be employed for roaming users. For example, a bookmark on a USB fob allows users to access the site using different computers. Procedures could be employed to counter attacks by malware or the like configured to capture bookmarks. 
     Attention is directed to  FIGS. 3A-3C , which include swim diagrams depicting embodiments of the present invention and interactions among various participants. The swim diagram of  FIG. 3A  depicts actions by an authorized user  302  and a secure resource  304 . The authorized user may be using a web browser to access the secure resource, which may be a server, for example. At block  306 , an authorized user requests access to or enrollment into “login via bookmark.” At block  308 , the operator of the secure resource creates a URL having a password embedded therein. The operator links the password to the user&#39;s userID and PIN by, for example, storing the three together as a record in a database. The operator supplies the URL to the user in any of the aforementioned ways. 
     At block  310  the user uses the supplied URL to access the resource. The secure resource receives the request at block  312  and identifies it as an initial LVB request. Accordingly, the secure resource directs the user&#39;s browser to a login screen at block  314 . The secure resource instructs the user to bookmark the login screen at block  316 , which the user does at block  318 . 
     At block  320 , the user continues the login process by supplying a userID and PIN. At block  322 , the secure resource tests the userID and PIN and determines whether they correlate with the password. If so, the user is allowed access; if not, access is denied, both of which are represented by block  324 . 
       FIG. 3B  depicts a subsequent attempt by the authorized user to access the secure resource. At block  330 , the user attempts to access the resource not using the saved bookmark. This may take place in any of several ways. For example, the secure resource may direct all users to attempt access using links or bookmarks having embedded passwords, or the user may use a login screen that allows access by users who have not enrolled in LVB, in which case the user supplies a userID and possibly a password. At block  332 , the secure resource recognizes the user as an LVB user and instructs the user to login via bookmark. 
     At block  334 , the user requests access using a bookmark having a password, the secure resource directs the user&#39;s browser to a login screen at block  336 , and the user supplies a usedlD and PIN at block  338 . At block  340 , the secure resource tests the user&#39;s userID and PIN and allows or denies the user accordingly at block  342 . 
     Continuing with the swim diagram depicted in  FIG. 3C , which includes a fraudster  350 , the fraudster attempts to obtain the user&#39;s userID and PIN at block  352 . The user complies at block  354 . The fraudster then attempts to access the secure resource at block  356 . The secure resource, however, recognizes the userID and/or PIN as being associated with a user enrolled in LVB. Accordingly, the secure resource instructs the requester to login using a bookmark having a password at block  358 . Because the fraudster does not know the user&#39;s password, however, the fraudster is unable to continue and the resource remains secure. 
     Compared to other high security solutions, Login Via Bookmarks is easy to manage, understand, and use. Technical support is straightforward for a customer who cannot log in. Many sensible users (including non-technical users) today use a folder of saved bookmarks for their high security websites. This solves two problems: remembering or finding out the correct website domain name (sometimes not a trivial task), and avoiding possible mistyping, which can put one into the clutches of waiting phishers (or MITM attackers). The solution herein is hardly more complicated than that. 
     The preceding embodiments represent stand-alone solutions that require no browser modification. Other embodiments can be designed into browser programming. For example, a browser could accommodate bookmarks having URL&#39;s bound to passwords as disclosed herein. Such bookmarks could be stored apart from other bookmarks and mask the password from the user to thereby allow the user to see only the high-level name of the login target. A button or the like supports import and use of these bookmarks. In other embodiments, the browser could fetch the URL of the login target site, but instead of transmitting the password as part of the URL (corresponding to the GET method of HTTP), the browser could transmit the password using the POST method. Accordingly, the user will not see the password as a part of the URL shown to the user after retrieval. The browser may store the necessary information, integrating it with plugins and other applications, and submitting the password as part of URL retrieval. 
     Having described several embodiments, it will be recognized by those of skill in the art that various modifications, alternative constructions, and equivalents may be used without departing from the spirit and scope of the invention. Additionally, a number of well-known processes and elements have not been described in order to avoid unnecessarily obscuring the present invention. Accordingly, the above description should not be taken as limiting the scope of the invention, which is defined in the following claims.