Abstract:
The authenticity of a website is determined using a unique string of characters known only to the user and the website on each page of the website that is displayed to the user, with a false site being incapable of displaying this unique string of characters, thereby putting the user on notice that the current site is not the authentic one the user desires to access. Voice methods for conveying one-time pass codes to users and for permitting customer institutions to select authentication rules are also disclosed.

Description:
RELATED APPLICATIONS 
     This application is a continuation-in-part of and claims priority from co-pending U.S. patent application Ser. No. 11/257,421, filed Oct. 24, 2005, which is a continuation-in-part of U.S. patent application Ser. No. 11/077,948, filed Mar. 11, 2005, which in turn is a CIP of Ser. No. 10/892,584, filed Jul. 15, 2004 now U.S. Pat. No. 7,676,834, all of which are incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to providing secure access to a website with sensitive data, such as an online banking server. 
     BACKGROUND OF THE INVENTION 
     Passwords are a ubiquitous way to provide a minimal level of authentication to a computer user seeking to access a network computer such as a Web site. For instance, online banking requires a user to log in to a Web server of a financial institution using a user name and password that have been previously given to the user by the server. In this way, only a user (hopefully, the true account owner) who possesses both the user name and password can gain access to the user&#39;s account. 
     As another example, some Web servers provide subscription services. For instance, users can subscribe to a Web site to receive news publications, music titles, etc. To ensure that only users who have paid the subscription fee can access the content, a user seeking access is required to log in using a user name and password. 
     In either case, it is possible that a password can be stolen and information intended only for the rightful owner of the password consequently fall into the hands of a password thief. Some estimates for the year 2003 indicate that as many as two million Americans have had their online bank accounts raided, at an average loss of $1200 for a total loss in excess of $2 billion. A common way for thieves to gain access is to send official-looking emails to bank customers, requesting user names and passwords which, if the illegitimate requests are complied with, are then used to log in to online accounts and drain them of money. This tactic of user deception is commonly referred to as “phishing” and it is not the only possible way to spoof innocent users from divulging sensitive information to thieves. 
     SUMMARY OF THE INVENTION 
     A method is disclosed for selectively granting a user access to data while ensuring the user he or she is not being “phished”. The method includes, at a Web server, receiving a user name and password from a user computer containing a valid machine ID and login key, and only if a cookie previously deposited on the user computer by the server, the user name, and the password are valid, granting access to the data to the user computer. As an anti-phishing measure, the method includes displaying a user-approved secret on one or more pages presented to the user so that the user can view the secret for anti-phishing confirmation. 
     The cookie can include a login key and a machine ID. The login key can be a first login key, and if the cookie, user name, and password are valid and access is granted to the user computer, a new cookie is downloaded to the user computer, with the new cookie including the machine ID and a second login key different from the first login key. The new cookie is then used in a subsequent login to the Web server, which may be, without limitation, an online banking server, a content subscription server, or a VPN server. 
     In another aspect, a system for impeding a thief possessing a password of a user from accessing information intended to be accessed by the user includes a user computer associated with the user and a server computer controlling access to the information. The server computer grants access to the information only upon receipt of a valid password and determination that a valid verification string resides on the user computer. The server computer also presents, on plural web pages presented to the user, a secret previously approved by the user and correlated to a user identification. 
     In still another aspect, a method for selectively granting a user access to data includes, at a server, receiving a user name and password from a user computer, and determining whether a cookie previously deposited on the user computer includes a machine ID matching a machine ID prestored in a database and a login key matching a login key prestored in a database. If so, the user computer is granted access to the data and the login key is refreshed. Also, a secret associated with an identification of the user is retrieved and presented on one or more web pages presented to the user. 
     In another embodiment, a method for selectively granting a user access to data includes receiving a user name and password at a Web server from a user computer. The method also includes providing a one-time pass code to the user over a phone link, and only if a cookie previously deposited on the user computer by the server, the user name, the password, and the one-time pass code are valid is access granted to the data to the user computer. 
     In example implementations an audible phrase can be received over the phone link and compared to a stored biometric, and based on the comparison it is determined whether to provide the pass code over the phone link. The pass code may be provided over the phone link as a secondary mode only if a primary mode of provision of the pass code has failed, or it can be provided over the phone link as a primary mode of provision of the pass code. 
     In another embodiment, a system for impeding a thief possessing a password of a user from accessing information intended to be accessed by the user from a user computer includes a server computer controlling access to the information. The server grants access to the information only upon receipt of a valid password and determination that a valid verification string resides on the user computer and further upon reception of a valid one-time pass code. The pass code is selectively provided to the user over a phone link. 
     In another aspect, a method for selectively granting a user access to data includes, at a server, receiving a user name and password from a user computer, and at a server determining whether a cookie previously deposited on the user computer includes a machine ID matching a machine ID stored in a database and a login key matching a login key stored in a database. If so, the user computer is granted access to the data, and the login key is refreshed. On the other hand, if the machine ID does not match the machine ID stored in a database, a pass code is sent to a telephone associated with the user. Access is granted only if the pass code is received from the user computer. 
     In another embodiment, a service is disclosed for permitting a customer institution to establish authentication rules for end users to access information at a server operated by the institution. The service includes permitting the customer institution to access an authentication web page listing plural authentication factors and permitting the customer institution to select one or more factors on the list for implementation thereof in allowing end users to access information at the server operated by the institution. The factors may include custom security questions being properly answered, predefined security questions being properly answered, one-time pass code being correctly input, pass code delivery to user via email, pass code delivery to user via short message service (SMS), pass code delivery to user via interactive voice response (IVR), pass code delivery to user using voice biometrics, proper cookie on user machine seeking access, authentication based on satisfactory geographic location of user machine seeking access, authentication based on proper browser version of machine seeking access, authentication based on acceptable internet service provider of machine seeking access. The factors may further include authentication options related to the voice biometric factor including one or more of a number of devices required for enrollment, whether enrollment is optional or required, a frequency with which end users much re-enroll, a human language used to deliver the pass code, a telephone number to dial to access a voice pass code delivery system, an expiration time of a session ID, and an expiration time of the pass code. 
     The details of the present invention, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which: 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of an exemplary system for implementing the present invention; 
         FIG. 2  is a flow chart of the registration logic; 
         FIG. 3  is a flow chart of the subsequent log in logic; 
         FIG. 4  is a block diagram of another non-limiting system; 
         FIG. 5  is a high level flow chart of the logic used by the system shown in  FIG. 4 ; 
         FIG. 6  is a flow chart of geographic verification logic; 
         FIG. 7  is a flow chart of logic for verifying the authenticity of a website; 
         FIG. 8  is a schematic block diagram of an architecture to allow a customer to select authentication methods; 
         FIG. 9  is a flow chart of example logic for selecting example features in the architecture of  FIG. 8 ; and 
         FIG. 10  is example logic for using interactive voice response (IVR) for authentication. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring initially to  FIG. 1 , a system is shown, generally designated  10 , that includes plural user computers  12  (only a single user computer shown for clarity) each of which can have a processor  14  and disk and/or solid state program storage  16  for storing software embodying logic. Also, each user computer  12  can include one or more input devices  18  such as keyboards, mice, voice recognition devices, etc. as well as one or more output devices  20  such as monitors, printers, other computers, etc. The authentication logic executed by the present system and discussed herein may be used in applications such as but not limited to online banking, secure online e-commerce, and VPN access control. 
     As shown in  FIG. 1 , the user computer  12  communicates with a Web server  22  over the Internet  24 . The server  22  has a processor  26  and disk and/or solid state program storage  28  for storing software embodying logic including all or part of the logic discussed further below. The server  22  may access a customer information database  30  that contains the log in and registration information on users set forth further below, it being understood that the database can be pre-populated with user information on existing customers who elect to start up the present service. Also, the server  22  may access an information database  32  to supply users with desired information, e.g., bank account records, subscription content, etc. The databases  30 ,  32  may be implemented in a single data structure if desired. 
     Now referring to the initial registration logic of  FIG. 2 , commencing at block  34 , the user logs in for the initial time. Moving to block  36 , a user name and a password are established, for instance by allowing the user to select a user name and password or with the server  22  conferring a user name and password on the user. In block  38 , additional user information can be obtained if desired. Such user information might include billing information and validation information. The validation information can be confidential to the user so as to protect his account from outside unwanted users who might have stolen the users account information, in accordance with further logic set forth below. It is to be understood that the validation information alternatively can be previously obtained from the user in various ways, online or off-line. 
     At block  40 , at the same time the user registers or subsequently in the case of users who are already registered with the server for other purposes but now for the first time commence the present service, the user(s) computer is sent a verification string. The verification string is preferably but not necessarily one that does not require user interaction or special software, such as a cookie that can have a machine ID and a login key, e.g., a 4096 bit string with randomly generated value. The cookie may also have a user ID that is unique to a person. The cookie requires no special client software and is completely invisible to the user. Both the machine ID and the login key are randomly generated, stored on the server, and associated with that user&#39;s account. Once the users account is established, the machine ID and the login key become associated with that user&#39;s account. Access is granted if all user information and user account information is correct, shown in block  42 . 
     After registration the logic that can be implemented by the server  22  moves to  FIG. 3  for subsequent attempts by the user to log on to the server  26  and access the user information contained in the database  32  shown in  FIG. 1 . Beginning with block  44 , upon subsequent logins the user enters the user name and password. At decision diamond  46 , the server checks the user name and password&#39;s validity. If the user name and password are not correct, user access is denied at block  48 . 
     If, at decision diamond  46 , it is determined that the user name and password are correct, the logic flows to decision diamond  50  wherein the server checks the users computer to verify the correct cookie is stored on the user(s) computer by, e.g., comparing the cookie on the user&#39;s computer with server cookie records. If the server determines the cookie is present and correct, access to the user information in the database  32  is granted at block  52 . Then, at block  54 , assuming that the machine being used is not a newly entered machine as discussed further below in relation to block  58 , a new login key carried on a new cookie preferably over an SSL encrypted link is downloaded. This new cookie with new login key is used for the next user login using the same machine. The login key in the new cookie is different from the login key of the old cookie but the machine ID stays constant. 
     In contrast, if, at decision diamond  50 , it is determined that the cookie on the user computer is not correct, in some optional embodiments the server  22  moves to decision diamond  56  to determine whether all the computers that have been allocated to the user have accessed the server  22 . In other words, in some applications such as online banking the server may allocate to the user at registration, in response to a user request, more than a single computer (i.e., to use N computers, N&gt;1) to access the information in the database  32 . For instance, an online banking customer might want to access his bank account from both an office computer and a home computer. If all of the AN@ allocated computers that have been allocated to the user have accessed the server  22  and have been granted cookies, meaning that the currently used computer is in excess of the authorized number, user access is denied and the logic flows to block  57  to trigger a validation process. If desired, to foil a dictionary attack only a limited number of login/cookie verification attempts may be allowed from any one machine, after which the machine is locked out until successful validation occurs. 
     In a non-limiting implementation, the validation process can include the user entering the confidential information initially given in the initial login process. The validation information can be the user&#39;s mother&#39;s maiden name, the user&#39;s social security number, or some other information that preferably is personal to the user. The server  22  then checks the user input against the validation information that was gathered at block  38  in  FIG. 2 . If a match is found, validation is successful and the user is granted access; otherwise, validation is unsuccessful and access is denied. 
     In some implementations the validation process can include sending an email to the user. The email can contain a hyperlink to a Web site at which a new cookie that is valid for accessing the data may be obtained. If desired, access to the Web site at which a new cookie may be obtained can be disabled after the user clicks once on the hyperlink. Or, the validation process can include prompting the user to call a telephone number to verify predetermined information, or to access a Web site to verify predetermined information online. Once validation is successful, the server  22  permits access to the information in the database  32 . 
     In contrast, if the server determines at decision diamond  56  that not all machines that have been allocated have accessed the server  22 , a new cookie with a new machine ID and login key is downloaded to the new computer at block  58 . The logic then loops back to block  52  to grant access, in some embodiments only after having triggered the validation first as described at block  57  to ensure that the correct user is logging in. 
     In the context of adding a new machine when more than a single user computer is authorized, the new machine can be automatically added at its first login in accordance with the logic above (assuming the above-described conditions have been met), or the server can ask the user of the new machine whether the new machine is to count as one of the N authorized machines, temporarily or otherwise. If the user indicates that the machine is to be temporary only (e.g., if the user is operating a terminal at a hotel), the user could specify an expiration date and/or number of logins after which any access to the user information from that machine would be denied, or at the least would trigger the verification process once again. This can be done by causing the cookie to be designated “expired” at the end of the period. For instance, at an in-hotel room terminal, a user might specify an expiration at the expected check out time, or a user could specify a number of logins to allow from that machine before the verification process is triggered again. The expiration information is stored at the server. When a machine expires, the number of new machines remaining to be added to the user&#39;s account may be reset by one. In contrast, the user would not be asked for temporary use information when communicating with the server from a core set of computers from which the user has authorized permanent access. One or more pieces of the above information that is transmitted between computers may be encrypted using, e.g., AES encryption. 
       FIGS. 4 and 5  show specific preferred implementations of the above logic and system. For simplicity,  FIG. 4  omits certain details such as input devices and output devices. A preferred system  100  can include one or more user computers  102  that communicate via the Internet with, e.g., an information server  104  of a financial institution. The information server  104  communicates with an authentication server  106 . Both the servers  104 ,  106  preferably are behind a firewall  108 . While only a single information server  104  and only a single authentication server  106  are shown, it is to be understood that server clusters can be used. For instance, J2EE clusters that use memory replication session persistence can be used, where individual objects in the Httpsession are serialized to a backup server as they change, providing high performance and scalability. Also, when the authentication server  106  is behind the firewall  108 , the use of secure socket layer (SSL) may not be necessary, although if access is required from an Extranet, SSL may be used. 
     In any case, the purpose of the system  100  is to permit controlled access of the user computer  102  to data in a sensitive information database  110 , using authentication information in an authentication database  112 . The information server  104  and sensitive information database  110  may be the conventional server/database used by, e.g., a financial institution, with the exceptions noted below. In contrast, the authentication server  106  and authentication database  112  may be add-ons in accordance with present principles. In any case, the databases herein may be, e.g., SQL servers, DB2 servers, Oracle servers, or lower end servers such as MySQL. 
     The logic of a preferred implementation of the logic is shown in  FIG. 5 . 
       FIG. 5  shows a high level logic flow that may be implemented by the system  100  shown in  FIG. 4 . Commencing at block  114 , the user contacts the information server  104  using the user computer  102 . This contact usually entails an initial authentication such as a login process that includes entering a user name and password. If the login process fails at decision diamond  116  the logic ends, but if it is successful the present invention proceeds to block  118 , wherein user computer communication, transparently to the user, is transferred to the authentication server  106 . Communication between the servers  104 ,  106  may use SOAP principles known in the art. 
     At the authentication server  106 , it is determined at decision diamond  120  whether the machine is recognized (using the machine ID in the above-disclosed cookie) and has been previously secured by the user (using the login key). This can be thought of as a secondary authentication process. If the test passes, the logic moves to block  122  to (transparently to the user) transfer the user back to the information server  104  for further service, e.g., for online banking transactions. On the other hand, if the test at decision diamond  120  fails, the logic can move to block  124  to challenge the user in accordance with principles set forth herein, which challenge might be thought of as a tertiary authentication process. For instance, an email or wireless telephone short message service (SMS) message or outbound telephone call using Interactive Voice Response (IVR) principles can be sent to the user, containing a randomly generated single-use only personal identification number (PIN) code which is supplied by the authentication server  106 . This single-use PIN code can then be sent by the user to the authentication server  106  using the user computer  102 , to prove that the user is authorized access. The below-described biometric information test may also be used to trigger this challenge or indeed after reception of the PIN code to further verify user authenticity. 
     If the challenge is met successfully at decision diamond  126 , the user is given the option at block  128  of securing the specific machine being used for future use, and then the user is redirected to the information server at block  122 . Otherwise, the process ends without giving the user access. 
     Now referring to  FIG. 6 , in addition to (e.g., at any convenient point in the logic) or indeed in lieu of the logic of  FIG. 4  or  5 , geographic location can be used to determine whether to challenge a user to provide additional authentication information. In the example shown in  FIG. 6 , the IP address of a computer attempting to gain access is received by the authentication server, which accesses a database of IP addresses at block  202  that correlates IP addresses to geographic location, typically country, state, city, and postal code. Other examples of geographic location can be ISP (since the ISP has a location related to the user attempting to log on), and time zone. In addition, geographic location can be tied to a location type, e.g., a cyber cafe. In any case, the database may be obtained from or operated by an independent entity. Using the IP address as entering argument, the geographic location associated with the IP address is obtained. 
     Proceeding to decision diamond  204 , it is determined whether the geographic location, e.g., country and/or state and/or city and/or postal code and/or time zone and/or ISP identity and/or location type, e.g., a cyber cafe, is an approved location. This determination may take on several facets. For example, a list of “disapproved” locations may be implemented, and if the looked-up geographic location is not on the list, the test at decision diamond  208  is positive. Or, a list of only approved locations may be implemented, and only if the looked-up geographic location is on the list is the test at decision diamond  206  positive. Yet again, a combination of the two lists may be used, so that, for example, entire countries may be placed on a “disapproved list” and if the geographic location is not on the “disapproved” list, the logic accesses an “approved list” to determine, e.g., whether the particular postal code is an approved postal code or not. 
     One non-limiting way to determine whether a location should be approved or not is to observe the IP addresses associated with failed log in attempts and note whether a disproportionate number of failed attempts comes from IP addresses associated with a particular location. 
     If the geographic location is approved, access authorization is granted at block  206 . In the alternative, depending on where the logic of  FIG. 6  is implemented in conjunction with other authentication logic, e.g., depending on where the geographic location logic is inserted into the flow of  FIG. 4  or  5 , the remaining authentication process is allowed to proceed. 
     In contrast, if the geographic location is not approved, the logic may simply end without granting access, but more preferably the logic flows to block  208  to issue a challenge such as one of the above-mentioned challenges. The user&#39;s response to the challenge is tested at decision diamond  210  for sufficiency, and if the user successfully responds to the challenge the logic loops back to block  206 . Otherwise, access is denied at block  212 . 
     In addition to using geographic location as a test, biometric information may be used. For example, the logic of  FIG. 6  may replace the geographic location test with a biometric test, e.g., to determine whether the user&#39;s voice as might be received over a VOIP connection matches an approved voice. A successful match may precipitate access authorization or at least permission to undertake the remaining logic of  FIG. 4  or  5 , for instance. Other biometric tests such as eye recognition or fingerprint recognition may be used. 
     Now referring to  FIG. 7 , in addition to the above logic, logic may be provided to confirm for a user the authenticity of the website. Beginning at block  302 , the user establishes a secret with the web site. This unique secret is known only to the particular user and the site itself, and may be a word, sentence, or random character string selected by the user. At block  304  the web site stores the unique secret associated with the user&#39;s unique identifier in the web site&#39;s database (i.e., secrets and respective user IDs are stored on a one-to-one relationship basis) so that the secret may be displayed to the user when the user accesses web pages associated with the authentic web site. 
     Once the initial secret has been established, at block  306  a user must enter at least one unique identifier, such as a username and/or a password. This identifier is referenced at block  308  by the genuine website, which recognizes the unique identifier. Once the unique identifier has been associated with the particular user, the logic concludes at block  310  where the secret associated with (and, recall, determined by) the particular user can be displayed on the page being viewed. In some implementations the secret is displayed on every subsequent page of the web site, including the rest of the login pages such as a page where a password must be entered or any alternative or additional validation steps that may be associated with a login. 
     By displaying the unique secret, the website enables the user to verify the authenticity of the site. A false, or “phished,” site would not display the unique secret on each page. Only an authentic site will display the unique secret on subsequent screens because the unique secret can only be produced by the authentic website. If the unique secret is not displayed or does not match the predetermined secret created at block  202 , then the user may determine that the site being displayed is not the authentic site the user intends to access and take steps accordingly, such as alerting the user&#39;s bank by phone. 
     In some implementations, the features above may be provided to customers of the system in what might be thought of as a “cocktail” approach in which a customer may select some features (custom security questions, defined security questions, pass code (sometimes referred to as a one-time PIN) via email, pass code via SMS, pass code via IVR, pass code via voice biometrics, and verification link) and authentication criteria (device ID/encrypted cookie, login count, location (country, state, city and zip code) as well as network information such as ISP and browser version) to choose from based on their customer (obtrusiveness and convenience) and security (what threats are they mostly concerned with) needs. 
     Moreover, the above-described features are not necessarily constrained to Web applications. For example, the systems and methods described above may be implemented in virtual private networks, automatic teller machines, operating systems, PDA/Smart Phone (wireless) devices, and other non-web applications. 
     As indicated above, there may be times when the two-factor authentication provided by the login information (user ID and password) and cookie information (including machine ID and one-use only login key) may need to be supplemented by additional authentication steps. In addition, the present invention provides a way for individual customer institutions, e.g., banks to further tailor authentication if they so desire by requiring various authentication steps even when the login information and cookie information are found to be valid. 
     In other words, some non-limiting implementations of the present invention can adopt a holistic approach to authentication in providing an authentication framework with a unique set of security tools and configuration options for each customer. A number of different authentication challenges can be triggered when suspicious transactions, policy violations or out-of-norm behavior is recognized. These security options can be customized by a client institution such as a bank and configured for different user groups through a centralized administration console in real time, as shown in  FIG. 8  and described further below. The solution is completely software based and does not require any hardware tokens or client-side software downloads although it could easily be extended to include non-software based components. The solution can either be deployed onsite behind customer firewalls and proxies or as a service. This services-based model allows organizations to invoke desired authentication services from anywhere in the world leveraging shared hardware and software resources from a centralized location. The solution delivers multi-factor authentication through the use of every day devices that are already in the hands of end users, such as cell phones, home phones, web connected computers, and office phones. This dramatically lowers the cost and greatly reduced the complexity of providing strong authentication to a large, diverse population. Example embodiments of the system can also provide end users with real time fraud alert that is triggered any time a fraudster is able to produce a password linked to a given user name. 
     As shown in  FIG. 8 , a customer institution can use an enterprise customer computer  350  to access an authentication options web site  352  to select authentication features from a graphical user interface (GUI) such as the non-limiting screen display  354  shown in  FIG. 8 , it being understood that the screen  354  is provided by the web site  352  to the enterprise customer computer  350 . As shown, one or more of a number of different authentication methods can be selected using the GUI, including SMS delivered pass code to a wireless phone, voice delivered pass code to a wireless or landline phone using Interactive Voice Response (IVR) discussed further below in reference to  FIG. 10 , voice delivered pass code to a wireless or landline phone using voice biometric speaker identification, text delivered pass code to an email account, user defined security questions, institution defined security questions, email delivered verification link and knowledge based authentication from both public and private data sources. In addition, a number of configuration options may be provided to dictate criteria for when to provide stronger authentication by invoking further challenges on the end user. Those include, in addition to checking for a proper device ID (cookie), login counts and patterns, behavior analytics, location based analytics via IP Geolocation and network based analytics and comparisons. 
     Furthermore, the institution may be permitted to choose a number of additional configuration options for the voice biometric feature discussed below in reference to  FIG. 9 . This can include the number of devices required for enrollment, whether enrollment is optional or required, the frequency with which end users much re-enroll, the language the system speaks in to deliver the pass code, the number to dial to access the voice system, the expiration time of the session ID, and the expiration time of the pass code. This authentication method can be used in combination with any other authentication method in the solution set. 
     As recognized herein, this layered approach of providing authentication options for the customer institution to configure based on perceived security threats, user intrusiveness, flexibility and intuitiveness in real time provides an extremely powerful solution that allows the customer institution to maximize adoption and reinforce loyalty. 
       FIG. 9  shows non-limiting logic that can be used to enroll end users (such as bank customers) of a client enterprise (such as a bank) to enroll in a voice biometric system that allows the end users to retrieve individual pass codes by calling a number and having their voiceprint authenticated. This authentication method can be used either as a backup option in case the end user&#39;s primary delivery method (email, text message or voice) fails to deliver the pass code or as a primary authentication method. 
     Beginning at block  356 , a registration screen is displayed to a user at login. In some embodiments, the following logic may be invoked only upon receipt of proper login name and password and verification that the previously-deposited cookie is present on the user&#39;s machine in accordance with above principles. 
     Assuming login and cookie verification are successful when these tests are required, the logic moves to decision diamond  358  to determine whether the particular institution into which the user is trying to gain access has imposed a further authentication requirement in the form of proper entry of a one-time pass code that is different from the password described above. If not, at block  360  the user is permitted to enroll in a voice biometric program, wherein if the user wishes to enroll, he is prompted at block  362  to call a predetermined phone number, enter a session ID number if desired, and repeat a predetermined phrase a predetermined number of times. The user&#39;s voice is recorded and correlated to the user&#39;s name, and then the user is sent to the target page of the institution at block  364 . When the user does not wish to enroll and no pass code is required by the institution, the user is sent directly to the target page from block  360 . 
     On the other hand, when the institution has levied the additional requirement of proper receipt of a one-time pass code, the logic moves from decision diamond  358  to block  366  to present a challenge screen to the user, demanding entry of the one-time code. As mentioned above, the pass code may be delivered via a secondary channel upon successful login in one of various ways, e.g., by SMS text message to the user&#39;s phone, email, etc. In some implementations, these are primary delivery mechanisms and the below-described interactive voice response (IVR) is secondary; in other implementations, IVR is primary. 
     Block  368  indicates that if the user is found to be enrolled in voice biometrics he can be permitted to choose to receive the pass code by voice biometrics. This might be the user&#39;s choice when, for instance, a primary pass code delivery mode did not work properly (e.g., if the user&#39;s email server is down), and the user cannot otherwise obtain the pass code for input. Or, it can be the user&#39;s choice when the voice delivery of the pass code is the primary delivery mode. 
     If the user is not already enrolled in voice biometrics, the logic can move to decision diamond  370  to determine whether the user input the correct pass code on his user computer in response to the onscreen challenge at block  366 . If not, the challenge screen is presented again. If the user successfully input the pass code, however, the logic may move to block  360  to allow the user to enroll in voice biometrics as described above, eventually sending the user to the target page at block  364  in accordance with previous disclosure. 
     Returning to block  368 , if the user is enrolled but elects not to retrieve the pass code via voice biometrics at decision diamond  372 , the user can be sent to the target page at block  364  assuming proper entry at decision diamond  373  of the pass code, which has been delivered to the user by the other means discussed above. Of course, as indicated by decision diamond  373  if the user fails to enter to correct one-time pass code in response to the challenge the process reverts to block  366 . 
     If the user chooses to obtain the pass code by voice biometrics at decision diamond  372 , the process can move to block  374 . A screen can be presented to the user prompting the user to call a predetermined phone number, enter a session ID number if desired, and repeat a predetermined phrase. If a match with the voice biometrics recorded during enrollment at block  362  is found at decision diamond  376 , the logic may move to block  378  to deliver the pass code to the user by automated voice over the phone. The logic of  FIG. 10  may be invoked for this purpose, or the pass code may be immediately delivered in the same telephone call to the user. Upon proper entry of the pass code into the challenge screen the user can be directed to the target page at block  364 . Failure of a voice biometric match at decision diamond  376  may result in looping back to block  366  as shown. 
     The user may update his test voice print if desired by being presented an update page, which can be selected to re-invoke the enrollment process discussed above. 
     When analyzing the user&#39;s voice both during enrollment and subsequent pass code delivery, the invention may analyze voice samples for both audio quality and consistency. End users must repeat the same phrase essentially the same way. If the samples have good audio quality and sound similar to each other, they are accepted by the system. 
       FIG. 10  shows how a one-time pass code can be delivered to a user by means of interactive voice response (IVR). In summary, the Interactive Voice Response feature may place an outbound call and transmit a spoken one-time pass code to a wireless or land line phone that has been pre-registered by the end user. The administration screen  354  shown in  FIG. 8  may permit the institution to define a number of different configuration options for the IVR feature. These can include the language the system speaks to deliver the pass code, whether the pass code should be delivered to voice mail if the end user does not answer or is not reachable, the number of times the pass code should be repeated, the number of times the outbound call is made if there is no answer, and the expiration time of the pass code. This authentication method can be used in combination with any other authentication method in the solution set. 
     Turning to the details of  FIG. 10 , beginning at start state  380  the system waits for a dial request at block  382 . Web services application programming interfaces (API) can be used to accept call requests. If no valid request is received at decision diamond  384 , a message can be presented to the user at block  386  to the effect that pass code delivery cannot be made. 
     On the other hand, when a valid request is present at decision diamond  384  the logic can move to block  388  to dial the user&#39;s telephone number. If the phone is busy (block  390 A) or there is no answer (block  390 B) or there is a dial error (block  390 C), the logic may move to decision diamond  392  to determine if a dial retry count (which equals the number of dial attempts made since a valid request was received at decision diamond  384 ) equals a predetermined counter, and if so the process ends at state  393 . Otherwise, the retry count may be incremented at block  394 , the systems can disconnect at block  396 , and then loop back to block  388  to redial. 
     If, at block  398 , a user&#39;s answering machine answers the call that was placed at block  388 , the logic can proceed to decision diamond  400  to determine whether the institution and/or user has permitted a pass code message to be left on the machine. If not, the logic can move to decision diamond  392  to proceed as explained above. If a message has been authorized, however, the logic can move to block  403  to pause to wait for the recorded greeting to end, and then to audibly deliver an introduction message if desired at block  404  prior to audibly delivering the pass code at block  406 , along with a time for which the code will remain valid, if this feature has been enabled by the institution. The process then ends at state  393 . 
     If, at block  408 , a user&#39;s live voice answers the call that was placed at block  388 , the logic may audibly deliver an introduction message if desired at block  410  prior to audibly delivering the pass code at block  412 . If a time for which the code will remain valid has been enabled by the institution as indicated by a negative test at decision diamond  414 , the user may be audibly informed at block  416  of the length of time the code will remain valid. In either case, the user may be given the option of repeating the code at block  418 , which if selected causes the logic to loop back to block  412 . If desired, a message repeat limit can be set, in which case the logic can determine at decision diamond  420  whether the message has repeated the predetermined number of times, incrementing a repeat counter at block  422  when it has not and otherwise ending at state  393  when it has. 
     While the particular SYSTEM AND METHOD FOR BLOCKING UNAUTHORIZED NETWORK LOG IN USING STOLEN PASSWORD is herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present invention is limited only by the claims.