WO2009038657A2 - Method and apparatus for preventing phishing attacks - Google Patents

Method and apparatus for preventing phishing attacks Download PDF

Info

Publication number
WO2009038657A2
WO2009038657A2 PCT/US2008/010573 US2008010573W WO2009038657A2 WO 2009038657 A2 WO2009038657 A2 WO 2009038657A2 US 2008010573 W US2008010573 W US 2008010573W WO 2009038657 A2 WO2009038657 A2 WO 2009038657A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
personal attribute
dynamic personal
website
message
Prior art date
Application number
PCT/US2008/010573
Other languages
French (fr)
Other versions
WO2009038657A3 (en
Inventor
Paulo A. Santos
Maarten Wegdam
Original Assignee
Acatel-Lucent Usa Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Acatel-Lucent Usa Inc. filed Critical Acatel-Lucent Usa Inc.
Priority to CN200880107742.7A priority Critical patent/CN101919219B/en
Priority to JP2010525807A priority patent/JP2010539618A/en
Priority to KR1020107006161A priority patent/KR101148627B1/en
Publication of WO2009038657A2 publication Critical patent/WO2009038657A2/en
Publication of WO2009038657A3 publication Critical patent/WO2009038657A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing

Definitions

  • the invention relates to the field of communication networks and, more specifically, to preventing phishing attacks.
  • phishing is an attempt to trick an Internet user into providing personal information to the phishing attacker.
  • the information typically sought by phishing attackers is Internet user login information (e.g., the login name and password for an Internet user) and, sometimes, other information such as credit card information, birth date, birth place, and the like.
  • the phishing attackers use the obtained Internet user information in order to steal the identity of the Internet user.
  • a phishing attack may be used in order to obtain information to impersonate the Internet user (e.g., to log into e-mail accounts, to authorize credit card transactions, and to perform similar actions in the name of the Internet user).
  • Phishing attackers may use various different schemes to launch phishing attacks.
  • a phishing attacker may use Domain Name Service (DNS) spoofing to direct users to a website owned by the attacker when users enter a Uniform Resource Locator (URL) of a real website.
  • DNS Domain Name Service
  • the spoofed website owned by the attacker is often a good look-alike; not exactly the same as the real website, but sufficiently convincing to not alert the user.
  • the spoofed website may even connect to the real website in the back-end, acting as a pass-through to the real website.
  • phishing attackers may register a domain name that closely resembles a well-known domain name (e.g., registering www.googel.com instead of www.google.com to attack users that mistype the real domain name).
  • the phishing attackers may wait until users enter the URL in an attempt to access the legitimate website or, alternatively, the phishing attackers may launch the attack by sending emails or instant messages to users that contain links to the spoofed website that is imitating the legitimate website.
  • the emails or instant messages appear to originate from the legitimate server of the legitimate website (e.g., by faking email addresses and using text and images similar to the those commonly used by the legitimate websites).
  • the legitimate server of the legitimate website e.g., by faking email addresses and using text and images similar to the those commonly used by the legitimate websites.
  • users are often duped into clicking on the links included in the phishing emails and instant messages.
  • attempts to prevent phishing attacks include using dedicated hardware solutions, one-time passwords, server-side certificates, graphical indications of security level (e.g., displaying an icon representing a padlock if the website displayed in the Internet browser is secure), client-side browser extensions (e.g., to check for typical signs of phishing, such as checking website URLs and checking the syntax of presented website pages), blacklists (e.g., maintaining lists of phishing webpages locally on a client or remotely on a server).
  • static information is sometimes displayed to the user during login for use by the user in determining whether the website is legitimate.
  • a first method for informing a user that a remote server is valid, includes receiving a request for information available from the remote server where the request includes an identifier, obtaining a dynamic personal attribute associated with the user using the identifier, and propagating the dynamic personal attribute toward the user, wherein the dynamic personal attribute is adapted for use by the user in validating the remote server.
  • the remote server may be a web server, an authentication server, or any other remote device with which the user may desire to authenticate.
  • a second method for informing a user that a received message is associated with a valid website, includes obtaining a dynamic personal attribute associated with a user, generating a message for the user where the message is adapted to enable the user to request a website and includes the dynamic personal attribute associated with the user, and propagating the message toward the user.
  • the received message may be any type of message, such as an email message, an instant message, a text message, and the like.
  • FIG. 1 depicts a high-level block diagram of a communication system according to one embodiment of the present invention
  • FIG. 2 depicts a method according to one embodiment of the present invention
  • FIG. 3 depicts a method according to one embodiment of the present invention
  • FIG. 4 depicts a method according to one embodiment of the present invention
  • FIG. 5 depicts a method according to one embodiment of the present invention
  • FIG. 6 depicts a method according to one embodiment of the present invention
  • FIG. 7 depicts a high-level block diagram of a communication network according to one embodiment of the present invention
  • FIG. 8 depicts a high-level block diagram of a more general system within which the present invention may be applied;
  • FIG. 9 depicts a method according to one embodiment of the present invention.
  • FIG. 10 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein.
  • the present invention enables a user to review a dynamic personal attribute before authenticating with a remote server.
  • the dynamic personal attribute of the user may be provided to the user during the authentication process (e.g. in response to a request from the user via a user terminal) or before the login process (e.g., in an out-of-band communication, such as an email, instant message, and the like). Since the dynamic personal attribute is provided to the user before the user enters sensitive authentication credentials, the dynamic personal attribute may be used to distinguish valid servers from invalid servers (i.e., because the servers would not know the dynamic personal attribute) before the user enters any sensitive information.
  • the personal nature of the dynamic personal attribute and the dynamic nature of the dynamic personal attribute provide a higher level of security for users than existing user authentication schemes in which static values are used for server validation during user authentication. This is at least partly because both the personal and dynamic nature of the dynamic personal attribute make it more difficult for a phishing attacker to obtain the dynamic personal attribute and, furthermore, even if the phishing attacker does somehow obtain the dynamic personal attribute, the dynamic nature of the dynamic personal attribute ensures that the dynamic personal attribute will be quickly outdated.
  • the present invention is primarily depicted and described herein within the context of user authentication with a web server (e.g., for enabling the user to login to a website); however, as described herein, those skilled in the art will appreciate the present invention is not limited to user authentication with a web server.
  • FIG. 1 depicts a high-level block diagram of a communication system according to one embodiment of the present invention.
  • communication system 100 of FIG. 1 includes a user device 110 and a web server 120 in communication via a communication network 115.
  • user device 110 includes a web browser 112 and web server 120 hosts a website 122.
  • a user associated with user device 110 uses web browser 112 to interact with website 122 hosted by web server 120.
  • the communication network 115 may be any type of communication network adapted for facilitating communications between user device 110 and web server 120 (e.g., a wireline network and/or a wireless network).
  • the user device 110 includes any device adapted for enabling a user to interact with network-based content.
  • user device 110 may include a desktop computer, a laptop computer, a mobile phone, a personal data assistant, and the like, as well as various combinations thereof.
  • the web browser 112 includes any browser adapted for requesting and displaying web pages.
  • web browser 112 may include at least one of Microsoft INTERNET EXPLORER, Mozilla FIREFOX, and the like, as well as various combinations thereof.
  • the operation of user device 110 and web browser 112 in performing various functions of the present invention may be better understood with respect to FIG. 2 and FIG. 4.
  • the web server 120 includes any device adapted for hosting a website, including processing requests for webpages of the website.
  • the web server 120 is adapted for storing a dynamic personal attribute for each user registered with website 122.
  • the web server 120 is adapted for providing a dynamic personal attribute to a user of user device 110 (or causing a dynamic personal attribute to be provided to a user of user device 110) in order to enable the user of user device 110 to distinguish website 122 from a spoofed version of website 122 (i.e., in order to prevent a phishing attack).
  • the operation of web server 120 in performing various functions of the present invention may be better understood with respect to FIG. 3, FIG. 4, and FIG. 6.
  • user device 110 includes various other components (e.g., processors, memory, network interface modules, input/output modules, and the like, as well as various combinations thereof, e.g., as depicted and described in FIG. 4).
  • web server 120 includes various other components (e.g., processors, memory, network interface modules, and the like, as well as various combinations thereof, e.g., as depicted and described in FIG. 4) adapted for hosting website 122, and, optionally other websites (omitted for purposes of clarity).
  • the present invention uses a dynamic personal attribute associated with a user for a particular website in order to enable the user to distinguish the website from invalid versions of the website (i.e., which may be malicious web servers hosting spoofed versions of the website used for phishing attacks).
  • the valid website ensures that the dynamic personal attribute is provided to the user in order to enable the user to distinguish the valid website from invalid versions of the website.
  • the dynamic personal attribute may be provided to the user during the authentication process (e.g., after the user enters a username but before the user enters a password or any other sensitive information).
  • the dynamic personal attribute may be provided to the user before the authentication process (e.g., in an out-of-band message such as an email message, instant message, and the like).
  • the dynamic personal attribute is information that is: (1 ) personal to the user and (2) adapted for being updated dynamically due to the nature of the information used as the dynamic personal attribute (i.e., without requiring the user to actively update the dynamic personal attribute).
  • the dynamic personal attribute is adapted for being updated automatically on a regular basis (e.g., at least once per day, at least once per month, and the like).
  • the frequency with which the dynamic personal attribute is updated may depend on one or more factors, such as the frequency with which the user accesses the website (or is expected to access the website), the type of information used as the dynamic personal attribute, and the like, as well as various combinations thereof.
  • a dynamic personal attribute may be information such as the current location of the user's cell phone, the location of the user's cell phone at a certain time in the near past, the location of the user's cell phone during the last call, the most recent incoming call received by the user, the most recent outgoing call placed by the user, the sender of the most recent incoming text message received by the user, the receiver of the most recent outgoing text message sent by the user, the current status message in an instant message (IM) client associated with the user, and the like, as well as various combinations thereof.
  • IM instant message
  • a dynamic personal attribute may be information such as the date the most recent payment was made by the user (e.g., for an account associated with the website for which the information is being used as the dynamic personal attribute), the amount of the most recent payment made by the user (e.g., for an account associated with the website for which the information is being used as the dynamic personal attribute), the location of the most recent ATM withdrawal made by the user, the amount of the most recent ATM withdrawal made by the user, the location of the most recent purchase made by the user with a credit card, the amount of the most recent purchase made by the user with a credit card, and the like, as well as various combinations thereof.
  • the dynamic personal attribute is updated automatically (e.g., as the user goes about the activities of his or her life).
  • the dynamic personal attribute of the present invention is updated regularly and, further, the dynamic personal attribute is information that is either capable of being instantly known by the user (e.g., where the information is the current location of the wireless device of the user or other presence information) or is at least information that is fresh in the mind of the user (e.g., the location of the last ATM withdrawal, the amount of the last payment made, and the like).
  • the frequency with which the dynamic personal attribute is updated may depend on the type of information used as the dynamic personal attribute. For example, where the dynamic personal attribute is the current location of the cell phone of the user, the dynamic personal attribute may be updated many times each day, once each day, and the like. For example, where the dynamic personal attribute is the amount or location of the most recent ATM withdrawal, the dynamic personal attribute may be updated weekly, monthly, and the like.
  • the dynamic personal attribute is the amount of the most recent payment made by the user (e.g., most recent payment of a credit card, most recent payment of wireless bill, and the like)
  • the dynamic personal attribute may be updated once every other week, monthly, and the like.
  • specific information e.g., information related to communications by the user or information related to financial transactions by the user
  • the dynamic personal attribute may be any information that is personal and dynamic.
  • the dynamic personal attribute does not necessarily have to be the most recent information associated with a user.
  • the dynamic personal attribute may be the next-to-most-recent information.
  • the next-to-most recent information may be the amount of the next-to-most-recent payment (e.g., the amount paid by the user for the bill the previous month), the location of the next-to-most recent ATM withdrawal, the next-to-most-recent incoming call received by the user, the next-to-most-recent outgoing call placed by the user, and the like, as well as various combinations thereof.
  • the dynamic personal attribute may include timing information such that the user can match the dynamic personal attribute to the timing information.
  • the dynamic personal attribute may include a location of an ATM withdrawal and a date on which the ATM withdrawal took place so that the user can validate that the indicated ATM withdrawal did in fact occur at the indicated location on the indicated date.
  • only a portion of the information of the dynamic personal attribute may be provided as the dynamic personal attribute.
  • the dynamic personal attribute instead of providing the full telephone number of the last incoming call received by the user, only a portion of the telephone number (e.g., the last four digits) of the last incoming call received by the user may be provided as the dynamic personal attribute.
  • the dynamic personal attribute instead of providing the full amount of the last payment made by the user, only a portion of the amount of the last payment (e.g., the cents) made by the user may be provided as the dynamic personal attribute.
  • Similar types of information protection schemes may be employed for other types of information which may be provided as the dynamic personal attribute.
  • the dynamic personal attribute may be associated with one user, a group of users, an account, and the like, as well as various combinations thereof.
  • the dynamic personal attribute may be associated with a single website or multiple websites.
  • the present invention may be used in various different ways to protect individual users or groups of users, for individual websites or groups of websites, from phishing attacks which may be directed at the users and/or websites.
  • the dynamic personal attribute may be stored in any manner, which may depend on the type of information used as the dynamic personal attribute, the source of the information used as the dynamic personal attribute, and like factors. Similarly, the dynamic personal attribute may be retrieved in any manner, which may depend on the manner in which the dynamic personal attribute is stored, as well as other factors, which may or may not include factors associated with the manner in which the dynamic personal attribute is stored.
  • the dynamic personal attribute may be stored and retrieved based on some information associated with the user with which the dynamic personal attribute is associated.
  • the dynamic personal attribute may be stored and retrieved such that the dynamic personal attribute is associated with a username of the user (and/or some other information associated with the user, such as a user identifier, a user device identifier, and the like, as well as various combinations thereof).
  • the dynamic personal attribute may be provided to the user based on some non-sensitive information associated with the user, thereby enabling the dynamic personal attribute to be provided to the user for validation before the user is required to enter any sensitive information (e.g., before the user is required to enter his or her password to access the website or is required to enter any other sensitive information associated with the user).
  • the dynamic personal attribute provides numerous advantages over existing website validation schemes.
  • the dynamic personal attribute is much more intuitive for users than certificate-based website validation schemes and, thus, is much easier for users to understand and use in a manner for preventing phishing attacks.
  • the dynamic and personal nature of the dynamic personal attribute provides a higher level of security for users than existing website validation schemes in which static values are used for website validation because: (1) both the personal nature and the dynamic nature of the dynamic personal attribute each make it more difficult for a malicious entity to obtain or guess the dynamic personal attribute; and (2) if the dynamic personal attribute is somehow obtained or guessed by a malicious entity, the dynamic personal attribute is quickly, automatically outdated.
  • the dynamic personal attribute provides at least one additional layer of security with respect to the ability of a malicious entity to obtain and utilize sensitive information.
  • An invalid web server may not know that an attribute should be provided to the user, may know that an attribute should be provided to the user but may not know that the attribute should be a personal attribute, may know that a personal attribute should be provided to the user but may not know the type of personal information that should be provided to the user, may know what type of personal information should be provided to the user but may not know an exact value of the personal information that should be provided to the user, or may know an exact value of the personal information that should be provided to the user (e.g., information that was somehow captured by the invalid web server) but, due to the dynamic nature of the personal attribute, may not know the most recent value of the personal information that should be provided to the user).
  • FIG. 2 depicts a method according to one embodiment of the present invention.
  • method 200 of FIG. 2 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user.
  • the method 200 of FIG. 2 is primarily described from the perspective of the user because the user does not know whether the website is a valid website or an invalid website.
  • the method 200 begins at step 202 and proceeds to step 204.
  • an identifier (or identifiers) is provided.
  • the identifier(s) may be provided manually by the user and/or automatically by the user device of the user.
  • the user enters an identifier in a login page for use by the web server and retrieving and providing the dynamic personal attribute.
  • the identifier may be a username of the user.
  • the identifier may be an identifier other than a username of the user (i.e., in order to enable the user to verify the validity of the website before providing a username).
  • the user device automatically provides an identifier for use by the web server and retrieving and providing the dynamic personal attribute.
  • the identifier may include one or more of a MAC address of the user device, one or more cookies, and the like, as well as various combinations thereof.
  • the user may be requested to provide authentication information before a dynamic personal attribute is displayed to the user (or the user may be requested to review and validate authentication information provided to the user before a dynamic personal attribute is displayed to the user).
  • the authentication information may include any information which may be used as a security measure before the dynamic personal attribute is displayed to the user.
  • the authentication information may include device authentication information (e.g., MAC address), one or more cookies, one or more additional passwords, user profile information (e.g., Mother's maiden name, date of birth, and the like), and the like, as well as various combinations thereof.
  • a dynamic personal attribute is displayed to the user.
  • the dynamic personal attribute is displayed to the user based on the identifier(s) provided by the user and/or user device.
  • the dynamic personal attribute is displayed as long as the identifier(s) is validated.
  • the dynamic personal attribute is displayed as long as the identifier(s) is validated, and, further, the additional authentication information is deemed to be valid.
  • the determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device.
  • step 210 the user deems the website to be a valid website (i.e., the true version of the website that the user is attempting to access) and, thus the user does continue the authentication process. If the user previously entered a username for the website, the user now enters a password for the website. If the user previously entered an identifier other than the usemame, the user enters the username and password for the website.
  • step 212 the user deems the website to be an invalid website (e.g., a spoofed version of the real website that is phishing for user information) and, thus, the user does not continue the authentication process (i.e., the user does not enter the username or password; or, where the user previously entered the username the user does not enter the password for the website). From steps 210 and 212, method 200 proceeds to step 214. At step 212, the user deems the website to be an invalid website (e.g., a spoofed version of the real website that is phishing for user information) and, thus, the user does not continue the authentication process (i.e., the user does not enter the username or password; or, where the user previously entered the username the user does not enter the password for the website). From steps 210 and 212, method 200 proceeds to step 214. At step 212
  • method 200 ends; however, although the authentication process using the dynamic personal attribute ends, the user has been authenticated (i.e., assuming that the password entered by the user is valid) and, thus, may continue to interact with the various webpages of the website. Although omitted for purposes of clarity, those skilled in the art will appreciate that the functions of method 200 of FIG. 2 are enabled by a series of interactions between the user device used by the user to access the website and the web server hosting the website accessed by the user.
  • a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user is depicted and described with respect to FIG. 3.
  • FIG. 3 depicts a method according to one embodiment of the present invention.
  • method 300 of FIG. 3 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user.
  • the method 300 of FIG. 3 is primarily described from the perspective of the interactions between the user device and the web server in order to describe the functions of the web server in providing the dynamic personal attribute which enables the user to identify the website as a valid website.
  • FIG. 3 begins at step 302 and proceeds to step 304.
  • a user requests a website using a user device.
  • the user may request the web page by typing the domain name of the website in an address bar of a web browser.
  • the user may request the web page by clicking a hyperlink (e.g., from another website, from an e-mail, and the like).
  • the user may request the web page in any other manner for requesting a web page.
  • the user device transmits a website request message to a web server (i.e., the web server hosting the website requested by the user).
  • a web server i.e., the web server hosting the website requested by the user.
  • the web server receives the website request message from the user device.
  • the web server retrieves a login webpage of the requested website.
  • the web server transmits the login webpage to the user device.
  • the login webpage is adapted to accept a USERNAME value from the user via a web browser of the user device.
  • the user device receives the login webpage from the web server.
  • the user device displays the login webpage using the web browser.
  • the user enters a usemame for the website in the login webpage.
  • the user device transmits the username for the website to the web server. For example, the user may enter the username in a USERNAME field of the login page and trigger communication of the username to the web server (e.g., by pressing ENTER, clicking some button or link in the login webpage, and the like).
  • the web server receives the username from the user device.
  • the web server retrieves a dynamic personal attribute for the user.
  • the web server retrieves the dynamic personal attribute using the username.
  • the web server transmits an authentication webpage to the user device.
  • the authentication webpage includes the dynamic personal attribute (and may or may not be adapted to accept a password from the user via a web browser of the user device).
  • the authentication webpage i.e., the authentication webpage provided at step 326
  • the user device receives the authentication webpage from the web server.
  • the user device displays the authentication webpage (including displaying the dynamic personal attribute, which the user may use in order to determine whether the website is valid) using the web browser.
  • the determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device. If the dynamic personal attribute is invalid, method 300 proceeds to step 350, at which point method 300 ends (i.e., the user deems the website to be an invalid website that is phishing for user information and, thus, the user does not continue the authentication process, i.e., the user does not enter the password). If the dynamic personal attribute is valid, method 300 proceeds to step 350, at which point method 300 ends (i.e., the user deems the website to be an invalid website that is phishing for user information and, thus, the user does not continue the authentication process, i.e., the user does not enter the password). If the dynamic personal attribute is valid, method 300 proceeds to step
  • the user deems the website to be a valid website (i.e., the legitimate website that the user is attempting to access) and, thus the user does continue the authentication process (i.e., the user enters a password for the website).
  • the user enters a password for the website in the authentication webpage.
  • the user device transmits the password (and, optionally, the username) for the website to the web server.
  • the user may enter the password in a PASSWORD field of the authentication page and trigger communication of the password to the web server (e.g., by pressing ENTER, clicking some button or link in the authentication webpage, and the like).
  • the web server receives the password from the user device.
  • a determination is made as to whether the password is valid.
  • the determination as to whether the password is valid may be performed in any manner for validating a password.
  • the username provided by the user may be used to retrieve a valid password for the username (e.g., from an authentication database), and the password received from the user device may be compared against the valid password in order to determine whether the password received from the user device is valid.
  • step 342 the web server transmits an error webpage to the user device.
  • the error webpage is adapted to inform the user that the user may not access the website (e.g., the password provided by the user is invalid) and, optionally, may invite the user to re-attempt the authentication process.
  • step 344 the web server transmits a website webpage to the user device.
  • the website webpage may be any webpage of the website (e.g., a default webpage provided upon successful authentication to the website, a webpage specifically requested by the user, and the like).
  • the user device receives the webpage from the web server (i.e., either the error webpage or the website webpage).
  • the user device displays the received web page using the web browser. From step 348, method 300 proceeds to step 350, where method 300 ends. Although the authentication process ends, the user may continue to interact with the web server, or other web servers, as desired.
  • the user is required to enter a username before the personal dynamic attribute is displayed to the user for validating the web server. While this embodiment is secure in most instances, situations may arise in which it may be disadvantageous for the user to enter a username before validating the web server using a dynamic personal attribute because a phishing attacker would then be able to obtain the username used by that user for the requested website. For example, in some instances a phishing attacker may be able to use an obtained username to retrieve the dynamic personal attribute from the legitimate website (e.g., either manually or automatically). This is basically a man-in-the-middle attack.
  • an additional identifier i.e., other than the username and password, and, optionally, other sensitive information
  • FIG. 4 depicts a method according to one embodiment of the present invention. Specifically, method 400 of FIG. 4 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user. The method 400 of FIG.
  • step 402 begins at step 402 and proceeds to step 404.
  • a user requests a website using a user device.
  • the user may request the web page by typing the domain name of the website in an address bar of a web browser.
  • the user may request the web page by clicking a hyperlink (e.g., from another website, from an e-mail, and the like).
  • the user may request the web page in any other manner for requesting a web page.
  • the user device transmits a website request message to a web server (i.e., the web server hosting the website requested by the user).
  • the website request message includes an identifier adapted for retrieving a dynamic personal attribute for the user and providing the dynamic personal attribute to the user for use in validating the web server before entering any sensitive information (e.g., before entering a username and password).
  • the identifier included within the website request message may be an identifier that is automatically provided by the user device.
  • the identifier may be a value associated with the user device.
  • the identifier may be a MAC address of the user device, a cookie stored on the user device, an identifier computed based one on or more such values available from the user device, and the like, as well as various combinations thereof.
  • the web server receives the website request message including the identifier from the user device.
  • the web server retrieves a login webpage of the requested website.
  • the web server retrieves a dynamic personal attribute for the user.
  • the web server retrieves the dynamic personal attribute using the identifier included in the website request message.
  • the web server transmits the login webpage, including the dynamic personal attribute, to the user device.
  • the login webpage is adapted to accept username and password values from the user via a web browser of the user device.
  • the user device receives the login webpage, including the dynamic personal attribute, from the web server.
  • the user device displays the login webpage, including the dynamic personal attribute, using the web browser. The user may then use the dynamic personal attribute to determine the validity of the web server from which the login webpage is received before the user enters a username and password (or any other sensitive information).
  • the determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device.
  • step 438 at which point method 400 ends (i.e., the user deems the website to be an invalid website that is phishing for user information and, thus, the user does not continue the authentication process, i.e., the user does not enter authentication credentials for the website).
  • step 408 the user deems the website to be a valid website (i.e., the legitimate website that the user is attempting to access) and, thus the user does continue the authentication process (i.e., the user enters authentication credentials for the website).
  • the user enters authentication credentials for the website in the login webpage.
  • the user device transmits the authentication credentials for the website to the web server.
  • the authentication credentials may include any information which may be used to authenticate the user with the web server.
  • the authentication credentials may include a username and password, a device identifier and pin number, or any other information which may be used for authentication.
  • the user may enter a username value in a USERNAME field of the login page, enter a password value in a PASSWORD field of the login page, and trigger communication of the username value and the password value to the web server (e.g., by pressing ENTER, clicking some button or link in the login webpage, or performing some other similar action which triggers the transaction).
  • the web server receives the authentication credentials from the user device.
  • a determination is made as to whether the authentication credentials are valid. The determination as to whether the authentication credentials are valid may be performed in any manner for authenticating a user.
  • the username provided by the user may be used to retrieve a valid password associated with the username (e.g., from an authentication database), and the password received from the user device may be compared against the valid password in order to determine whether the password received from the user device is valid.
  • step 430 the web server transmits an error webpage to the user device.
  • the error webpage is adapted to inform the user that the user may not access the website (e.g., the authentication credentials provided by the user are invalid) and, optionally, may invite the user to re-attempt the authentication process.
  • step 432 the web server transmits a website webpage to the user device.
  • the website webpage may be any webpage of the website (e.g., a default webpage provided upon successful authentication to the website, a webpage specifically requested by the user, and the like).
  • the user device receives the webpage from the web server (i.e., either the error webpage or the website webpage).
  • the user device displays the received web page using the web browser.
  • step 438 method 400 ends.
  • the authentication process ends, the user may continue to interact with the web server, or other web servers, as desired.
  • a malicious web server may launch an active phishing attack by emailing a user inviting the user to login to a website.
  • the email is typically formatted to give the appearance of being from a valid website, and, further, typically includes a hyperlink having the appearance of being a hyperlink for a valid website, but which is in fact a hyperlink to the malicious website (e.g., providing a hyperlink to www.alactel-lucent.com/login instead of www.alcatel- lucent.com/login).
  • a hyperlink having the appearance of being a hyperlink for a valid website, but which is in fact a hyperlink to the malicious website (e.g., providing a hyperlink to www.alactel-lucent.com/login instead of www.alcatel- lucent.com/login).
  • an unsuspecting or inattentive user may click the hyperlink to the malicious website without realizing that the hyperlink will redirect the user to the malicious website instead of the valid website being spoofed by that malicious website.
  • a dynamic personal attribute may be provided to a user for a website before the user attempts to login to the website.
  • the dynamic personal attribute may be provided to a user for a website before the user attempts to login to the website.
  • the dynamic personal attribute may be provided to a user for a website before the user attempts to login to the website using any messaging or signaling (e.g., email, SMS text message, instant message, and the like) adapted for providing the dynamic personal attribute.
  • a dynamic personal attribute for a website may be provided to a user in an email message from the website.
  • the email to a user may invite the user to access the website for one or more reasons.
  • a website may initiate an email to a registered user for a variety of reasons, e.g., to inform a user that a new bill is available, to inform the user that a bill is past due, to inform the user of new products or services in which the user may be interested, to invite the user to verify that personal information is up-to-date, and the like, as well as various other combinations thereof.
  • the email message in addition to providing the dynamic personal attribute of the user in the email message, may include one or more hyperlinks to webpages of the website, or may simply invite the user to access the website.
  • the website enables the user to confirm the validity of the email before accessing the website (e.g., before clicking the hyperlink(s) in the email or typing the URL in the address bar of the web browser).
  • a method according to one such embodiment, from the perspective of the user is depicted and described herein with respect to FIG. 5.
  • a method according to one such embodiment, from the perspective of the web server, is depicted and described herein with respect to FIG. 6.
  • FIG. 5 depicts a method according to one embodiment of the present invention.
  • method 500 of FIG. 5 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user, where the dynamic personal attribute is provided to the user in an email message.
  • the method 500 of FIG. 5 is primarily described from the perspective of the user because the user does not know whether the website is a valid website or an invalid website. Although depicted and described as being performed serially, at least a portion of the steps of method 500 of FIG. 5 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 5.
  • the method 500 begins at step 502 and proceeds to step 504.
  • a user receives an email message.
  • the email message is associated with a website.
  • the email message invites the user to login to the website.
  • the email message includes a dynamic personal attribute.
  • the email message may include a hyperlink to a login webpage of the website or a hyperlink to a home webpage of the website, or may just include an invitation for the user to access the website.
  • the determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device.
  • step 508 the user deems the email to be from a valid source (i.e., from valid website from which the email appeared to originate) and, thus the user does continue the authentication process (e.g., the clicks the hyperlink included in the email).
  • a valid source i.e., from valid website from which the email appeared to originate
  • the user does continue the authentication process (e.g., the clicks the hyperlink included in the email).
  • step 510 the user deems the email message to be from an invalid source (e.g., from a spoofed version of the real website that is phishing for user information) and, thus, the user does not continue the authentication process (e.g., the user does not click the hyperlink included in the email message).
  • an invalid source e.g., from a spoofed version of the real website that is phishing for user information
  • step 512 method 500 ends; however, although authentication of the email using the dynamic personal attribute ends, the user will most likely still be required to proceed through the website authentication process in order to access the website from which the email originated.
  • the authentication process may proceed in any manner by which a website may authenticate a user before allowing the user to access the website. For example, after the user clicks the hyperlink included in the email, the login webpage (i.e., only allowing the user to enter a usemame) or the authentication webpage (i.e., allowing the user to enter both a username and a password) may be displayed to the user.
  • the website may provide additional authentication capabilities. For example, the website may display additional authentication information to the user for verification by the user before the user enters a username in the login webpage. For example, the website may request additional authentication information from the user before providing the authentication webpage.
  • the website may provide additional authentication capabilities.
  • the authentication webpage may simply include a USERNAME field and a PASSWORD field by which the user may enter a username and password in order to be authenticated to access the website.
  • the authentication webpage may include a USERNAME field, a PASSWORD field, and authentication information that is displayed to the user for verification by the user before the user enters a username and password in the authentication webpage.
  • method 500 of FIG. 5 are enabled by a series of interactions between the user device used by the user to access the website and the web server hosting the website accessed by the user.
  • a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user is depicted and described with respect to FIG. 6.
  • FIG. 6 depicts a method according to one embodiment of the present invention.
  • method 600 of FIG. 6 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user, where the dynamic personal attribute is provided to the user in an email message.
  • the method 600 of FIG. 6 is primarily described from the perspective of the web server in order to describe the functions of the web server in providing the dynamic personal attribute which enables the user to identify the website as a valid website. Although depicted and described as being performed serially, at least a portion of the steps of method 600 of FIG. 6 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 6.
  • the method 600 begins at step 602 and proceeds to step 604.
  • the web server generates an email message intended for the user.
  • the email message invites the user to login to the website.
  • the email message includes a dynamic personal attribute.
  • the email message may include a hyperlink to a login webpage of the website or a hyperlink to a home webpage of the website, or may just include an invitation for the user to access the website.
  • the web server transmits the email message to the user device.
  • the user device receives the email message.
  • the user device displays the email message, including displaying the dynamic personal attribute (e.g., when the user accesses an email program, when a user accesses online email, and the like).
  • the determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device.
  • step 644 the user deems the email message to be from an invalid source (e.g., from a spoofed version of the real website that is phishing for user information) and, thus, the user does not continue the authentication process (e.g., the user does not click the hyperlink included in the email message). In other words, the login process continues.
  • an invalid source e.g., from a spoofed version of the real website that is phishing for user information
  • the user does not continue the authentication process (e.g., the user does not click the hyperlink included in the email message). In other words, the login process continues.
  • step 614 the user deems the email to be from a valid source (i.e., from valid website from which the email appeared to originate) and, thus the user does continue the authentication process (e.g., the clicks the hyperlink included in the email). In other words, the login process is terminated.
  • a valid source i.e., from valid website from which the email appeared to originate
  • the user does continue the authentication process (e.g., the clicks the hyperlink included in the email). In other words, the login process is terminated.
  • the user requests the website identified in the email message.
  • the user may request the website identified in the email message in any manner (e.g., by typing the web address of the website in an address bar of a web browser, by clicking a hyperlink included in the email message, and the like).
  • the user device transmits a website request message to the web server (i.e., the web server hosting the website associated with the received email message).
  • the web server receives the website request message from the user device.
  • the web server retrieves a login webpage of the requested website.
  • the web server transmits the login webpage to the user device.
  • the login webpage is adapted to accept USERNAME and PASSWORD values from the user via a web browser of the user device.
  • the user device receives the login webpage.
  • the user device displays the login page.
  • the user enters authentication credentials into the login page.
  • the authentication credentials may include any information adapted for use in authenticating the user with the web server (e.g., such as a username and associated password).
  • the user device transmits the authentication credentials to the web server.
  • the web server receives the authentication credentials from the user device.
  • a determination is made as to whether the authentication credentials are valid. The determination as to whether the authentication credentials are valid may be performed in any manner for validating authentication credentials.
  • the username provided by the user may be used to retrieve a valid password for the username (e.g., from an authentication database), and the password received from the user device may be compared against the valid password in order to determine whether the password received from the user device is valid.
  • step 636 the web server transmits an error webpage to the user device.
  • the error webpage is adapted to inform the user that the user may not access the website (e.g., at least a portion of the authentication credentials provided by the user is invalid) and, optionally, may invite the user to re-attempt the authentication process.
  • step 638 the web server transmits a website webpage to the user device.
  • the website webpage may be any webpage of the website (e.g., a default webpage provided upon successful authentication to the website, a webpage specifically requested by the user, and the like).
  • the user device receives the webpage from the web server (i.e., either the error webpage or the website webpage).
  • the user device displays the received web page using the web browser. From step 642, method 600 proceeds to step 644, where method 600 ends. Although the authentication process ends, the user may continue to interact with the web server, or other web servers, as desired.
  • communications between the user device and the web server may use any protocol adapted for facilitating such communications (e.g., using Hypertext Transfer Protocol (HTTP), Secure HTTP (HTTPS), and the like, as well as various combinations thereof).
  • HTTP Hypertext Transfer Protocol
  • HTTPS Secure HTTP
  • the user device and web server may exchange non-critical information using a standard communication protocol (e.g., HTTP) and exchange critical information (e.g., where the user device provides login credentials such as username and password to the web server, or the web server provides the dynamic personal attribute to the user device) using a secure communication protocol (e.g. HTTPS).
  • HTTP Hypertext Transfer Protocol
  • HTTPS Secure HTTPS
  • a dynamic personal attribute may be provided to a user using any out-of-band messaging (e.g., in an email message, in a SMS text message, in an instant message, and the like).
  • a dynamic personal attribute may be provided to a user in a text message propagated to a mobile phone.
  • a dynamic personal attribute may be provided to a user in an instant message propagated in response to a determination that the user logs into the instant messaging application.
  • one or more additional non-dynamic attributes may be provided to a user along with the one or more dynamic personal attributes provided to the user.
  • the dynamic personal attribute may be stored on any networked device and may be provided to the user from any networked device in any manner.
  • the dynamic personal attribute is stored on a networked device(s) other than the web server hosting the website with which the dynamic personal attribute is associated.
  • the dynamic personal attribute may be stored on a network element operated by the web content provider (i.e., the web content provider that operates the web server hosting the website with which the dynamic personal attribute is associated), one or more communication service providers, one or more third party providers, and the like, as well as various combinations thereof.
  • the networked devices may be devices that are dedicated to maintaining dynamic personal attributes (i.e., network devices not dedicated to performing other functions, but which may perform other functions).
  • network devices i.e., network devices not dedicated to performing other functions, but which may perform other functions.
  • web content providers, communications service providers, third-party providers, and the like, as well as various combinations thereof, may maintain servers and/or databases dedicated to maintaining dynamic personal attributes.
  • the networked devices may be devices that are dedicated to performing other functions, but which have information which may be used as the dynamic personal attribute.
  • the networked devices may include billing systems of communications service providers, location tracking devices of wireless service providers (e.g., devices capable of knowing the current location of a wireless device of a particular user), and the like, as well as various combinations thereof.
  • the information used as the dynamic personal attribute may include information available from the website for which the dynamic personal attribute is maintained.
  • the dynamic personal attribute for a website operated by the cellular phone company with which the user has cellular phone service may include information such as the last incoming/outgoing call that was received/placed by the user, the amount of the last payment made by the user, and the like, as well as various combinations thereof.
  • the dynamic personal attribute for a website operated by the credit card company with which the user has a credit card account may include information such as the location of the last purchase made with the credit card, the amount of the last payment made by the user, and the like, as well as various combinations thereof.
  • the information used as the dynamic personal attribute may include information that is not available from the web server hosting the website for which the dynamic personal attribute is maintained.
  • the web server hosting the website for which the dynamic personal attribute is required may retrieve some or all of the information from one or more other sources of dynamic personal attribute information and provide the information to the user as a dynamic personal attribute.
  • the dynamic personal attribute for a website operated by an online shopping company with which the user has an account may include information such as the current location of the cell phone of the user where that information is available from the wireless service provider of the user and provided by the wireless service provider to the online shopping company, the last incoming/outgoing call that was received/placed by the user that is available from the wireless service provider where that information is provided by the wireless service provider to the online shopping company, and the like, as well as various combinations thereof.
  • the web server hosting the website for which the dynamic personal attribute is required may direct one or more other sources of the dynamic personal attribute information to provide the information directly to the user as a dynamic personal attribute.
  • the dynamic personal attribute for a website operated by a bank with which the user has an account may include information such as the current location of the cell phone of the user where that information is available from the wireless service provider of the user and provided by the wireless service provider directly to the user, the last incoming/outgoing call that was received/placed by the user that is available from the wireless service provider where that information is provided by the wireless service provider directly to the user, and the like, as well as various combinations thereof.
  • the source(s) of the dynamic personal attributes may be operated by any providers, e.g., by the web content provider, one or more communications service providers, one or more third party providers, and the like, as well as various combinations thereof.
  • the dynamic personal attributes may be stored in any manner. In other words, the dynamic personal attribute may be retrieved from any source and provided from the source to the user in any manner.
  • FIG. 7 depicts a high-level block diagram of a communication network according to one embodiment of the present invention.
  • communication network 700 of FIG. 7 includes a user device 710 and a web server 720 in communication via a communication network 715.
  • communication network 700 includes a plurality of network elements 730i - 73O N (collectively, network elements 730).
  • the network elements 730 are any network elements which may store dynamic personal attributes or information which may be used as dynamic personal attributes.
  • the network elements 730 may provide a dynamic personal attribute to web server 720 directly or indirectly (e.g., by providing the dynamic personal attribute to web server 720 which, in turn, propagates the dynamic personal attribute to user device 710).
  • network elements 730 may include dedicated servers and/or databases (i.e., devices dedicated to storing dynamic personal attributes) or other network elements which may store information which may be used as dynamic personal attributes (e.g., devices operated by the web content provider, communications service providers, third-party providers of dynamic personal attributes, and the like, as well as various combinations thereof).
  • databases i.e., devices dedicated to storing dynamic personal attributes
  • other network elements which may store information which may be used as dynamic personal attributes (e.g., devices operated by the web content provider, communications service providers, third-party providers of dynamic personal attributes, and the like, as well as various combinations thereof).
  • the present invention may be used in various other applications.
  • the present invention may be used to enable a user using a terminal device to validate a remote server.
  • This more general application of the present invention may be better understood with respect to the following exemplary applications of the dynamic personal attribute of the present invention.
  • the terminal device is an ATM terminal and the remote server is a bank server.
  • the terminal device by retrieving a dynamic personal attribute and displaying the dynamic personal attribute to the user via the ATM terminal (e.g., in response to the user inserting the card into the ATM machine), the user will be able to determine whether or not the ATM terminal is legitimate (e.g., that the ATM terminal is really connected to the bank and not to some malicious device).
  • the terminal device may be a point-of-sale terminal (or other similar terminal related to financial transactions) and the remote server is a financial institution server (e.g., server of a bank, a credit card company, and the like).
  • the terminal device is a user terminal (e.g., laptop, cell phone, and the like) and the remote server is a network access device (e.g., WiFi access node, cellular access node, and the like).
  • the remote server is a network access device (e.g., WiFi access node, cellular access node, and the like).
  • the user will be able to determine whether or not the network access device is legitimate (e.g., that the network access device is not a malicious device made available for unsuspecting users looking for WiFi service, cellular service, or some other network access).
  • the dynamic personal attribute of the present invention may be used in various other applications.
  • the dynamic personal attribute of the present invention may be used in applications such as domain authentication (e.g., for network domains such as WANs, LANs, and the like), door access controls (e.g., using magnetic cards, fingerprints retinal scans, and the like), and the like.
  • a dynamic personal attribute may be used by a user to validate any remote device.
  • a more general application of the present invention is depicted and described with respect to FIG. 8 and FIG. 9.
  • FIG. 8 depicts a high-level block diagram of a more general system within which the present invention may be applied.
  • system 800 of FIG. 8 includes a user terminal 810 and a remote server 820.
  • the user terminal 810 and remote server 820 communicate via a communication network 815 for exchanging information, including authentication parameters, such as user authentication parameters, dynamic personal attributes, and the like, as well as various combinations thereof.
  • the communication network 815 may be any type of communication network adapted for facilitating communications between user terminal 810 and remote server 820 (e.g., a wireline network and/or a wireless network).
  • the user terminal 810 includes any device adapted for enabling a user to interact with remote server 820.
  • user terminal 810 may include a computer, a phone, a personal data assistant, an ATM machine, a user entry interface, and the like, as well as various combinations thereof.
  • the user terminal 810 may include any means for enabling the user to interact with remote server 820, including entering and reviewing information.
  • user terminal 810 may include one or more display screens, keyboards, speakers, touch pads, magnetic card readers, retinal scanners, and the like, as well as various combinations thereof.
  • the remote server 820 includes any device which the user would like to validate before the user enters any sensitive information.
  • remote server 820 may include a web server, a financial institution server (e.g., a bank server serving an ATM machine, a bank server serving a point- of-sale terminal by which a user may pay using a debit card, a credit card company server serving a point-of-sale terminal by which a user may pay using a debit card, and the like), a network access point, and the like, as well as various combinations thereof.
  • the remote server 820 may operate in any manner for enabling a dynamic personal attribute to be propagated to the user for use by the user in validating the remote server 820.
  • FIG. 9 depicts a method according to one embodiment of the present invention.
  • method 900 of FIG. 9 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user.
  • the method 900 of FIG. 9 is primarily described from the more general perspective of the interactions between a user terminal and a remote server which, as described herein, may be utilized for enabling the user to validate the remote server in a various applications in which the present invention may be employed. Although depicted and described as being performed serially, at least a portion of the steps of method 900 of FIG. 9 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 9.
  • the method 900 begins at step 902 and proceeds to step 904.
  • the user initiates a transaction.
  • the user initiates the transaction via a user terminal.
  • the transaction and the manner in which the transaction is initiated each vary depending on depending on the application of the present invention.
  • the transaction may be a request to authenticate with an ATM machine, a request to access a network via a network access point, and the like.
  • the user terminal transmits a request including an identifier.
  • the request is transmitted in response to the initiation of the transaction by the user.
  • the request e.g., type of request, format of request, and the like
  • the identifier included within the request e.g., whether the identifier is associated with the user and/or the user terminal
  • the request may include the account number of the bank card that the user inserts into the ATM machine.
  • the identifier may include an identifier of the user device by which the user is attempting to access the network.
  • the remote server receives the request including the identifier.
  • the remote server retrieves a dynamic personal attribute based on the identifier.
  • the remote server transmits the dynamic personal attribute to the user terminal.
  • the dynamic personal attribute may be propagated to the user terminal in other ways.
  • the user terminal receives the dynamic personal attribute.
  • the user terminal presents the dynamic personal attribute to the user.
  • the dynamic personal attribute may be presented to the user in various different ways, which may vary depending on the application of the present invention.
  • the dynamic personal attribute may be displayed to the user on the display screen of the ATM machine, thereby enabling the user to determine the validity of the remote server prior to entering authentication information for the ATM account (e.g., prior to entering a pin for that ATM card).
  • the dynamic personal attribute may be displayed to the user on the display screen of the computer or other user device by which the user is attempting to access the access network, thereby enabling the user to determine the validity of the remote server prior to entering any authentication information.
  • method 900 ends. Although depicted as ending, it should be noted that the process may or may not continue depending on whether the user has determined that the remote server is valid.
  • the transaction is a request to authenticate with an ATM machine
  • the user may enter a pin for that ATM card and, once authenticated by the ATM machine, may proceed to check an account balance, withdraw cash from the ATM machine, or perform other similar operations available from an ATM machine.
  • FIG. 10 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein. As depicted in FIG.
  • system 1000 comprises a processor element 1002 (e.g., a CPU), a memory 1004, e.g., random access memory (RAM) and/or read only memory (ROM), an authentication security module 1005, and various input/output devices 1006 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, an output port, and a user input device (such as a keyboard, a keypad, a mouse, and the like)).
  • processor element 1002 e.g., a CPU
  • memory 1004 e.g., random access memory (RAM) and/or read only memory (ROM)
  • ROM read only memory
  • various input/output devices 1006 e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker
  • the present invention may be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents.
  • ASIC application specific integrated circuits
  • the present authentication security process 1005 can be loaded into memory 1004 and executed by processor 1002 to implement the functions as discussed above.
  • authentication security process 1005 (including associated data structures) of the present invention can be stored on a computer readable medium or carrier, e.g., RAM memory, magnetic or optical drive or diskette and the like.

Abstract

The invention includes a method and apparatus for preventing phishing attacks. A first method, for informing a user that a remote server is valid, includes receiving a request for information available from the remote server where the request includes an identifier (408), obtaining a dynamic personal attribute associated with the user using the identifier (412), and propagating the dynamic personal attribute toward the user (414), wherein the dynamic personal attribute is adapted for use by the user in validating the remote server (420). The remote server may be a web server, an authentication server, or any other remote device with which the user may desire to authenticate. A second method, for informing a user that a received message is associated with a valid website, includes obtaining a dynamic personal attribute associated with a user, generating a message for the user where the message is adapted to enable the user to request a website and includes the dynamic personal attribute associated with the user (604), and propagating the message toward the user (606). The received message may be any type of message, such as an email message, an instant message, a text message, and the like.

Description

METHOD AND APPARATUS FOR PREVENTING PHISHING ATTACKS
FIELD OF THE INVENTION
The invention relates to the field of communication networks and, more specifically, to preventing phishing attacks.
BACKGROUND OF THE INVENTION
As Internet usage increases, Internet-based crime is blooming. One prevalent crime is "phishing", which is an attempt to trick an Internet user into providing personal information to the phishing attacker. The information typically sought by phishing attackers is Internet user login information (e.g., the login name and password for an Internet user) and, sometimes, other information such as credit card information, birth date, birth place, and the like. The phishing attackers use the obtained Internet user information in order to steal the identity of the Internet user. For example, a phishing attack may be used in order to obtain information to impersonate the Internet user (e.g., to log into e-mail accounts, to authorize credit card transactions, and to perform similar actions in the name of the Internet user).
Phishing attackers may use various different schemes to launch phishing attacks. A phishing attacker may use Domain Name Service (DNS) spoofing to direct users to a website owned by the attacker when users enter a Uniform Resource Locator (URL) of a real website. The spoofed website owned by the attacker is often a good look-alike; not exactly the same as the real website, but sufficiently convincing to not alert the user. Sometimes, the spoofed website may even connect to the real website in the back-end, acting as a pass-through to the real website. Furthermore, phishing attackers may register a domain name that closely resembles a well-known domain name (e.g., registering www.googel.com instead of www.google.com to attack users that mistype the real domain name). In such schemes, where phishing attackers use DNS spoofing, the phishing attackers may wait until users enter the URL in an attempt to access the legitimate website or, alternatively, the phishing attackers may launch the attack by sending emails or instant messages to users that contain links to the spoofed website that is imitating the legitimate website. Where the phishing attacker launches the attack, the emails or instant messages appear to originate from the legitimate server of the legitimate website (e.g., by faking email addresses and using text and images similar to the those commonly used by the legitimate websites). Unfortunately, users are often duped into clicking on the links included in the phishing emails and instant messages.
Many attempts have been made to prevent phishing attacks. For example, attempts to prevent phishing attacks include using dedicated hardware solutions, one-time passwords, server-side certificates, graphical indications of security level (e.g., displaying an icon representing a padlock if the website displayed in the Internet browser is secure), client-side browser extensions (e.g., to check for typical signs of phishing, such as checking website URLs and checking the syntax of presented website pages), blacklists (e.g., maintaining lists of phishing webpages locally on a client or remotely on a server). Furthermore, static information is sometimes displayed to the user during login for use by the user in determining whether the website is legitimate.
Disadvantageously, despite these attempts to prevent phishing attacks, users are still easily tricked by phishing attacks. For example, users often fail to check the validity of a website and, further, when they do check the users typically cannot tell the difference between a valid certificate and an invalid certificate. Furthermore, as phishing attempts proliferate and users become more educated about them, users are becoming more skeptical of clicking on links in emails and instant messages purporting to be from legitimate senders. While this reduces the success of phishing attacks, it also significantly impacts the ability of legitimate providers to contact their own users for legitimate reasons. Therefore, there is clearly a need for an improved technique for preventing phishing attacks.
SUMMARY OF THE INVENTION
Various deficiencies in the prior art are addressed through the invention of a method and apparatus for preventing phishing attacks. A first method, for informing a user that a remote server is valid, includes receiving a request for information available from the remote server where the request includes an identifier, obtaining a dynamic personal attribute associated with the user using the identifier, and propagating the dynamic personal attribute toward the user, wherein the dynamic personal attribute is adapted for use by the user in validating the remote server. The remote server may be a web server, an authentication server, or any other remote device with which the user may desire to authenticate.
A second method, for informing a user that a received message is associated with a valid website, includes obtaining a dynamic personal attribute associated with a user, generating a message for the user where the message is adapted to enable the user to request a website and includes the dynamic personal attribute associated with the user, and propagating the message toward the user. The received message may be any type of message, such as an email message, an instant message, a text message, and the like.
BRIEF DESCRIPTION OF THE DRAWINGS The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
FIG. 1 depicts a high-level block diagram of a communication system according to one embodiment of the present invention;
FIG. 2 depicts a method according to one embodiment of the present invention;
FIG. 3 depicts a method according to one embodiment of the present invention;
FIG. 4 depicts a method according to one embodiment of the present invention; FIG. 5 depicts a method according to one embodiment of the present invention;
FIG. 6 depicts a method according to one embodiment of the present invention; FIG. 7 depicts a high-level block diagram of a communication network according to one embodiment of the present invention;
FIG. 8 depicts a high-level block diagram of a more general system within which the present invention may be applied; FIG. 9 depicts a method according to one embodiment of the present invention; and
FIG. 10 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
DETAILED DESCRIPTION OF THE INVENTION The present invention enables a user to review a dynamic personal attribute before authenticating with a remote server. The dynamic personal attribute of the user may be provided to the user during the authentication process (e.g. in response to a request from the user via a user terminal) or before the login process (e.g., in an out-of-band communication, such as an email, instant message, and the like). Since the dynamic personal attribute is provided to the user before the user enters sensitive authentication credentials, the dynamic personal attribute may be used to distinguish valid servers from invalid servers (i.e., because the servers would not know the dynamic personal attribute) before the user enters any sensitive information. The personal nature of the dynamic personal attribute and the dynamic nature of the dynamic personal attribute provide a higher level of security for users than existing user authentication schemes in which static values are used for server validation during user authentication. This is at least partly because both the personal and dynamic nature of the dynamic personal attribute make it more difficult for a phishing attacker to obtain the dynamic personal attribute and, furthermore, even if the phishing attacker does somehow obtain the dynamic personal attribute, the dynamic nature of the dynamic personal attribute ensures that the dynamic personal attribute will be quickly outdated. The present invention is primarily depicted and described herein within the context of user authentication with a web server (e.g., for enabling the user to login to a website); however, as described herein, those skilled in the art will appreciate the present invention is not limited to user authentication with a web server. The present invention may be utilized to provide secure user authentication for various other user authentication applications, such as user authentication for financial transactions (e.g., ATM machines, debit card and credit card transactions, and the like), user authentication for network access, and the like. FIG. 1 depicts a high-level block diagram of a communication system according to one embodiment of the present invention. Specifically, communication system 100 of FIG. 1 includes a user device 110 and a web server 120 in communication via a communication network 115. As depicted in FIG. 1 , user device 110 includes a web browser 112 and web server 120 hosts a website 122. A user associated with user device 110 uses web browser 112 to interact with website 122 hosted by web server 120. The communication network 115 may be any type of communication network adapted for facilitating communications between user device 110 and web server 120 (e.g., a wireline network and/or a wireless network). The user device 110 includes any device adapted for enabling a user to interact with network-based content. For example, user device 110 may include a desktop computer, a laptop computer, a mobile phone, a personal data assistant, and the like, as well as various combinations thereof. The web browser 112 includes any browser adapted for requesting and displaying web pages. For example, web browser 112 may include at least one of Microsoft INTERNET EXPLORER, Mozilla FIREFOX, and the like, as well as various combinations thereof. The operation of user device 110 and web browser 112 in performing various functions of the present invention may be better understood with respect to FIG. 2 and FIG. 4. The web server 120 includes any device adapted for hosting a website, including processing requests for webpages of the website. The web server 120 is adapted for storing a dynamic personal attribute for each user registered with website 122. The web server 120 is adapted for providing a dynamic personal attribute to a user of user device 110 (or causing a dynamic personal attribute to be provided to a user of user device 110) in order to enable the user of user device 110 to distinguish website 122 from a spoofed version of website 122 (i.e., in order to prevent a phishing attack). The operation of web server 120 in performing various functions of the present invention may be better understood with respect to FIG. 3, FIG. 4, and FIG. 6.
Although omitted for purposes of clarity, those skilled in the art will appreciate that, in addition to web browser 112, user device 110 includes various other components (e.g., processors, memory, network interface modules, input/output modules, and the like, as well as various combinations thereof, e.g., as depicted and described in FIG. 4). Similarly, although omitted for purposes of clarity, those skilled in the art will appreciate that, in addition to website 122, web server 120 includes various other components (e.g., processors, memory, network interface modules, and the like, as well as various combinations thereof, e.g., as depicted and described in FIG. 4) adapted for hosting website 122, and, optionally other websites (omitted for purposes of clarity).
The present invention uses a dynamic personal attribute associated with a user for a particular website in order to enable the user to distinguish the website from invalid versions of the website (i.e., which may be malicious web servers hosting spoofed versions of the website used for phishing attacks). The valid website ensures that the dynamic personal attribute is provided to the user in order to enable the user to distinguish the valid website from invalid versions of the website. In one embodiment, the dynamic personal attribute may be provided to the user during the authentication process (e.g., after the user enters a username but before the user enters a password or any other sensitive information). In one embodiment, the dynamic personal attribute may be provided to the user before the authentication process (e.g., in an out-of-band message such as an email message, instant message, and the like). The dynamic personal attribute is information that is: (1 ) personal to the user and (2) adapted for being updated dynamically due to the nature of the information used as the dynamic personal attribute (i.e., without requiring the user to actively update the dynamic personal attribute). The dynamic personal attribute is adapted for being updated automatically on a regular basis (e.g., at least once per day, at least once per month, and the like). The frequency with which the dynamic personal attribute is updated may depend on one or more factors, such as the frequency with which the user accesses the website (or is expected to access the website), the type of information used as the dynamic personal attribute, and the like, as well as various combinations thereof.
For example, a dynamic personal attribute may be information such as the current location of the user's cell phone, the location of the user's cell phone at a certain time in the near past, the location of the user's cell phone during the last call, the most recent incoming call received by the user, the most recent outgoing call placed by the user, the sender of the most recent incoming text message received by the user, the receiver of the most recent outgoing text message sent by the user, the current status message in an instant message (IM) client associated with the user, and the like, as well as various combinations thereof. For example, a dynamic personal attribute may be information such as the date the most recent payment was made by the user (e.g., for an account associated with the website for which the information is being used as the dynamic personal attribute), the amount of the most recent payment made by the user (e.g., for an account associated with the website for which the information is being used as the dynamic personal attribute), the location of the most recent ATM withdrawal made by the user, the amount of the most recent ATM withdrawal made by the user, the location of the most recent purchase made by the user with a credit card, the amount of the most recent purchase made by the user with a credit card, and the like, as well as various combinations thereof.
From these examples, it is clear that the dynamic personal attribute is updated automatically (e.g., as the user goes about the activities of his or her life). Thus, the dynamic personal attribute of the present invention is updated regularly and, further, the dynamic personal attribute is information that is either capable of being instantly known by the user (e.g., where the information is the current location of the wireless device of the user or other presence information) or is at least information that is fresh in the mind of the user (e.g., the location of the last ATM withdrawal, the amount of the last payment made, and the like). This advantageously obviates any need for the user to consciously remember the dynamic personal attribute (along with all of the other usernames and passwords the user may already be responsible for) and, further, obviates any need for the user to consciously remember to update the dynamic personal attribute. From these examples, it is further clear that the frequency with which the dynamic personal attribute is updated may depend on the type of information used as the dynamic personal attribute. For example, where the dynamic personal attribute is the current location of the cell phone of the user, the dynamic personal attribute may be updated many times each day, once each day, and the like. For example, where the dynamic personal attribute is the amount or location of the most recent ATM withdrawal, the dynamic personal attribute may be updated weekly, monthly, and the like. For example, where the dynamic personal attribute is the amount of the most recent payment made by the user (e.g., most recent payment of a credit card, most recent payment of wireless bill, and the like), the dynamic personal attribute may be updated once every other week, monthly, and the like. Although primarily depicted and described with respect to using specific information (e.g., information related to communications by the user or information related to financial transactions by the user) as the dynamic personal attribute for a user, the dynamic personal attribute may be any information that is personal and dynamic.
Although primarily described with respect to providing the most recent information as the dynamic personal attribute (e.g., the location of the most recent ATM withdrawal, the amount of the most recent ATM withdrawal, and the like), the dynamic personal attribute does not necessarily have to be the most recent information associated with a user.
In one embodiment, for example, the dynamic personal attribute may be the next-to-most-recent information. For example, the next-to-most recent information may be the amount of the next-to-most-recent payment (e.g., the amount paid by the user for the bill the previous month), the location of the next-to-most recent ATM withdrawal, the next-to-most-recent incoming call received by the user, the next-to-most-recent outgoing call placed by the user, and the like, as well as various combinations thereof. In one embodiment, for example, the dynamic personal attribute may include timing information such that the user can match the dynamic personal attribute to the timing information. For example, the dynamic personal attribute may include a location of an ATM withdrawal and a date on which the ATM withdrawal took place so that the user can validate that the indicated ATM withdrawal did in fact occur at the indicated location on the indicated date.
In one embodiment, in order to protect sensitive personal data from being compromised, only a portion of the information of the dynamic personal attribute may be provided as the dynamic personal attribute. For example, instead of providing the full telephone number of the last incoming call received by the user, only a portion of the telephone number (e.g., the last four digits) of the last incoming call received by the user may be provided as the dynamic personal attribute. For example, instead of providing the full amount of the last payment made by the user, only a portion of the amount of the last payment (e.g., the cents) made by the user may be provided as the dynamic personal attribute. Similar types of information protection schemes may be employed for other types of information which may be provided as the dynamic personal attribute. The dynamic personal attribute may be associated with one user, a group of users, an account, and the like, as well as various combinations thereof. The dynamic personal attribute may be associated with a single website or multiple websites. Thus, depending on the types of websites and the source(s) of the dynamic personal attribute, the present invention may be used in various different ways to protect individual users or groups of users, for individual websites or groups of websites, from phishing attacks which may be directed at the users and/or websites.
The dynamic personal attribute may be stored in any manner, which may depend on the type of information used as the dynamic personal attribute, the source of the information used as the dynamic personal attribute, and like factors. Similarly, the dynamic personal attribute may be retrieved in any manner, which may depend on the manner in which the dynamic personal attribute is stored, as well as other factors, which may or may not include factors associated with the manner in which the dynamic personal attribute is stored.
In one embodiment, for example, the dynamic personal attribute may be stored and retrieved based on some information associated with the user with which the dynamic personal attribute is associated. For example, the dynamic personal attribute may be stored and retrieved such that the dynamic personal attribute is associated with a username of the user (and/or some other information associated with the user, such as a user identifier, a user device identifier, and the like, as well as various combinations thereof). In this manner, the dynamic personal attribute may be provided to the user based on some non-sensitive information associated with the user, thereby enabling the dynamic personal attribute to be provided to the user for validation before the user is required to enter any sensitive information (e.g., before the user is required to enter his or her password to access the website or is required to enter any other sensitive information associated with the user).
The dynamic personal attribute provides numerous advantages over existing website validation schemes. The dynamic personal attribute is much more intuitive for users than certificate-based website validation schemes and, thus, is much easier for users to understand and use in a manner for preventing phishing attacks. The dynamic and personal nature of the dynamic personal attribute provides a higher level of security for users than existing website validation schemes in which static values are used for website validation because: (1) both the personal nature and the dynamic nature of the dynamic personal attribute each make it more difficult for a malicious entity to obtain or guess the dynamic personal attribute; and (2) if the dynamic personal attribute is somehow obtained or guessed by a malicious entity, the dynamic personal attribute is quickly, automatically outdated.
The dynamic personal attribute provides at least one additional layer of security with respect to the ability of a malicious entity to obtain and utilize sensitive information. An invalid web server may not know that an attribute should be provided to the user, may know that an attribute should be provided to the user but may not know that the attribute should be a personal attribute, may know that a personal attribute should be provided to the user but may not know the type of personal information that should be provided to the user, may know what type of personal information should be provided to the user but may not know an exact value of the personal information that should be provided to the user, or may know an exact value of the personal information that should be provided to the user (e.g., information that was somehow captured by the invalid web server) but, due to the dynamic nature of the personal attribute, may not know the most recent value of the personal information that should be provided to the user).
As such, as described herein, both the personal nature of the dynamic personal attribute and the dynamic nature of the dynamic personal attribute provide significant additional security capable of preventing the user from falling victim to a phishing attack. These benefits, as well as other benefits, of the dynamic personal attribute of the present invention may be better understood with respect to FIG. 2 - FIG. 9. FIG. 2 depicts a method according to one embodiment of the present invention. Specifically, method 200 of FIG. 2 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user. The method 200 of FIG. 2 is primarily described from the perspective of the user because the user does not know whether the website is a valid website or an invalid website. Although depicted and described as being performed serially, at least a portion of the steps of method 200 of FIG. 2 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 2. The method 200 begins at step 202 and proceeds to step 204. At step 204, an identifier (or identifiers) is provided. The identifier(s) may be provided manually by the user and/or automatically by the user device of the user.
In one embodiment, the user enters an identifier in a login page for use by the web server and retrieving and providing the dynamic personal attribute. In one such embodiment, the identifier may be a username of the user. In another such embodiment, the identifier may be an identifier other than a username of the user (i.e., in order to enable the user to verify the validity of the website before providing a username). In one embodiment, the user device automatically provides an identifier for use by the web server and retrieving and providing the dynamic personal attribute. The identifier may include one or more of a MAC address of the user device, one or more cookies, and the like, as well as various combinations thereof.
At step 205 (an optional step), the user may be requested to provide authentication information before a dynamic personal attribute is displayed to the user (or the user may be requested to review and validate authentication information provided to the user before a dynamic personal attribute is displayed to the user).
The authentication information may include any information which may be used as a security measure before the dynamic personal attribute is displayed to the user. For example, the authentication information may include device authentication information (e.g., MAC address), one or more cookies, one or more additional passwords, user profile information (e.g., Mother's maiden name, date of birth, and the like), and the like, as well as various combinations thereof.
At step 206, a dynamic personal attribute is displayed to the user. The dynamic personal attribute is displayed to the user based on the identifier(s) provided by the user and/or user device. In one embodiment (in which step 206 proceeds from step 204), the dynamic personal attribute is displayed as long as the identifier(s) is validated. In one embodiment, in which step 208 proceeds from step 205), the dynamic personal attribute is displayed as long as the identifier(s) is validated, and, further, the additional authentication information is deemed to be valid.
At step 208, a determination is made as to whether the dynamic personal attribute is valid. The determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device.
If the dynamic personal attribute is valid, method 200 proceeds to step 210, at which point the user deems the website to be a valid website (i.e., the true version of the website that the user is attempting to access) and, thus the user does continue the authentication process. If the user previously entered a username for the website, the user now enters a password for the website. If the user previously entered an identifier other than the usemame, the user enters the username and password for the website.
If the dynamic personal attribute is invalid, method 200 proceeds to step 212, at which point the user deems the website to be an invalid website (e.g., a spoofed version of the real website that is phishing for user information) and, thus, the user does not continue the authentication process (i.e., the user does not enter the username or password; or, where the user previously entered the username the user does not enter the password for the website). From steps 210 and 212, method 200 proceeds to step 214. At step
214, method 200 ends; however, although the authentication process using the dynamic personal attribute ends, the user has been authenticated (i.e., assuming that the password entered by the user is valid) and, thus, may continue to interact with the various webpages of the website. Although omitted for purposes of clarity, those skilled in the art will appreciate that the functions of method 200 of FIG. 2 are enabled by a series of interactions between the user device used by the user to access the website and the web server hosting the website accessed by the user. A method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user (including messaging between the user device and the web server) is depicted and described with respect to FIG. 3.
FIG. 3 depicts a method according to one embodiment of the present invention. Specifically, method 300 of FIG. 3 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user. The method 300 of FIG. 3 is primarily described from the perspective of the interactions between the user device and the web server in order to describe the functions of the web server in providing the dynamic personal attribute which enables the user to identify the website as a valid website. Although depicted and described as being performed serially, at least a portion of the steps of method 300 of FIG. 3 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 3. The method 300 begins at step 302 and proceeds to step 304. At step 304, a user requests a website using a user device. The user may request the web page by typing the domain name of the website in an address bar of a web browser. The user may request the web page by clicking a hyperlink (e.g., from another website, from an e-mail, and the like). The user may request the web page in any other manner for requesting a web page.
At step 306, the user device transmits a website request message to a web server (i.e., the web server hosting the website requested by the user). At step 308, the web server receives the website request message from the user device. At step 310, the web server retrieves a login webpage of the requested website. At step 312, the web server transmits the login webpage to the user device. The login webpage is adapted to accept a USERNAME value from the user via a web browser of the user device.
At step 314, the user device receives the login webpage from the web server. At step 316, the user device displays the login webpage using the web browser. At step 318, the user enters a usemame for the website in the login webpage. At step 320, the user device transmits the username for the website to the web server. For example, the user may enter the username in a USERNAME field of the login page and trigger communication of the username to the web server (e.g., by pressing ENTER, clicking some button or link in the login webpage, and the like).
At step 322, the web server receives the username from the user device. At step 324, the web server retrieves a dynamic personal attribute for the user. The web server retrieves the dynamic personal attribute using the username. At step 326, the web server transmits an authentication webpage to the user device. The authentication webpage includes the dynamic personal attribute (and may or may not be adapted to accept a password from the user via a web browser of the user device).
As depicted in FIG. 3, for purposes of clarity assume that the authentication webpage (i.e., the authentication webpage provided at step 326) is adapted to accept a password from the user (rather than merely providing the dynamic personal attribute and requiring a separate set of transactions between the user device and web server in order to provide a webpage adapted to accept a password from the user). At step 328, the user device receives the authentication webpage from the web server. At step 330, the user device displays the authentication webpage (including displaying the dynamic personal attribute, which the user may use in order to determine whether the website is valid) using the web browser.
At step 332, a determination is made as to whether the dynamic personal attribute displayed in the authentication webpage is valid. The determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device. If the dynamic personal attribute is invalid, method 300 proceeds to step 350, at which point method 300 ends (i.e., the user deems the website to be an invalid website that is phishing for user information and, thus, the user does not continue the authentication process, i.e., the user does not enter the password). If the dynamic personal attribute is valid, method 300 proceeds to step
334, at which point the user deems the website to be a valid website (i.e., the legitimate website that the user is attempting to access) and, thus the user does continue the authentication process (i.e., the user enters a password for the website). At step 334, the user enters a password for the website in the authentication webpage. At step 336, the user device transmits the password (and, optionally, the username) for the website to the web server. For example, the user may enter the password in a PASSWORD field of the authentication page and trigger communication of the password to the web server (e.g., by pressing ENTER, clicking some button or link in the authentication webpage, and the like).
At step 338, the web server receives the password from the user device. At step 340, a determination is made as to whether the password is valid. The determination as to whether the password is valid may be performed in any manner for validating a password. In one embodiment, for example, the username provided by the user may be used to retrieve a valid password for the username (e.g., from an authentication database), and the password received from the user device may be compared against the valid password in order to determine whether the password received from the user device is valid.
If the password is invalid, method 300 proceeds to step 342, at which point the web server transmits an error webpage to the user device. The error webpage is adapted to inform the user that the user may not access the website (e.g., the password provided by the user is invalid) and, optionally, may invite the user to re-attempt the authentication process.
If the password is valid, method 300 proceeds to step 344, at which point the web server transmits a website webpage to the user device. The website webpage may be any webpage of the website (e.g., a default webpage provided upon successful authentication to the website, a webpage specifically requested by the user, and the like).
At step 346, the user device receives the webpage from the web server (i.e., either the error webpage or the website webpage). At step 348, the user device displays the received web page using the web browser. From step 348, method 300 proceeds to step 350, where method 300 ends. Although the authentication process ends, the user may continue to interact with the web server, or other web servers, as desired.
In an embodiment as depicted and described with respect to FIG. 3, the user is required to enter a username before the personal dynamic attribute is displayed to the user for validating the web server. While this embodiment is secure in most instances, situations may arise in which it may be disadvantageous for the user to enter a username before validating the web server using a dynamic personal attribute because a phishing attacker would then be able to obtain the username used by that user for the requested website. For example, in some instances a phishing attacker may be able to use an obtained username to retrieve the dynamic personal attribute from the legitimate website (e.g., either manually or automatically). This is basically a man-in-the-middle attack. While the dynamic personal attribute will become outdated automatically due to the dynamic nature of the dynamic personal attribute, it may still be desirable to prevent a phishing attacker from obtaining the dynamic personal attribute (e.g., to prevent the phishing attacker from knowing the type of information used as the dynamic personal attribute). Due to the possibility of such a man-in-the-middle attack, another embodiment of the present invention may prevent the user from supplying a usemame before the dynamic personal attribute is displayed to the user for validating the web server. This embodiment requires the use of an additional identifier (i.e., other than the username and password, and, optionally, other sensitive information) which may be used to provide the dynamic personal attribute to the user before the user even enters a username. While this additional identifier used to retrieve the dynamic personal attribute may be another value that is manually entered by the user, such an implementation would still be vulnerable to a man-in-the-middle attach. Thus, in one embodiment, the additional identifier used to provide the dynamic personal attribute to the user may be a value that is automatically provided by the user device being used by the user. A method according to one such embodiment of the present invention is depicted and described with respect to FIG. 4. FIG. 4 depicts a method according to one embodiment of the present invention. Specifically, method 400 of FIG. 4 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user. The method 400 of FIG. 4 is primarily described from the perspective of the interactions between the user device and the web server in order to describe the functions of the web server in providing the dynamic personal attribute which enables the user to identify the website as a valid website. Although depicted and described as being performed serially, at least a portion of the steps of method 400 of FIG. 4 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 4. The method 400 begins at step 402 and proceeds to step 404.
At step 404, a user requests a website using a user device. The user may request the web page by typing the domain name of the website in an address bar of a web browser. The user may request the web page by clicking a hyperlink (e.g., from another website, from an e-mail, and the like). The user may request the web page in any other manner for requesting a web page.
At step 406, the user device transmits a website request message to a web server (i.e., the web server hosting the website requested by the user). The website request message includes an identifier adapted for retrieving a dynamic personal attribute for the user and providing the dynamic personal attribute to the user for use in validating the web server before entering any sensitive information (e.g., before entering a username and password). In one embodiment, the identifier included within the website request message may be an identifier that is automatically provided by the user device. The identifier may be a value associated with the user device. For example, the identifier may be a MAC address of the user device, a cookie stored on the user device, an identifier computed based one on or more such values available from the user device, and the like, as well as various combinations thereof.
At step 408, the web server receives the website request message including the identifier from the user device. At step 410, the web server retrieves a login webpage of the requested website. At step 412, the web server retrieves a dynamic personal attribute for the user. The web server retrieves the dynamic personal attribute using the identifier included in the website request message. At step 414, the web server transmits the login webpage, including the dynamic personal attribute, to the user device. The login webpage is adapted to accept username and password values from the user via a web browser of the user device.
At step 416, the user device receives the login webpage, including the dynamic personal attribute, from the web server. At step 418, the user device displays the login webpage, including the dynamic personal attribute, using the web browser. The user may then use the dynamic personal attribute to determine the validity of the web server from which the login webpage is received before the user enters a username and password (or any other sensitive information).
At step 420, a determination is made as to whether the dynamic personal attribute displayed in the login webpage is valid. The determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device.
If the dynamic personal attribute is invalid, method 400 proceeds to step 438, at which point method 400 ends (i.e., the user deems the website to be an invalid website that is phishing for user information and, thus, the user does not continue the authentication process, i.e., the user does not enter authentication credentials for the website).
If the dynamic personal attribute is valid, method 400 proceeds to step 422, at which point the user deems the website to be a valid website (i.e., the legitimate website that the user is attempting to access) and, thus the user does continue the authentication process (i.e., the user enters authentication credentials for the website).
At step 424, the user enters authentication credentials for the website in the login webpage. At step 426, the user device transmits the authentication credentials for the website to the web server. The authentication credentials may include any information which may be used to authenticate the user with the web server. For example, the authentication credentials may include a username and password, a device identifier and pin number, or any other information which may be used for authentication. For example, the user may enter a username value in a USERNAME field of the login page, enter a password value in a PASSWORD field of the login page, and trigger communication of the username value and the password value to the web server (e.g., by pressing ENTER, clicking some button or link in the login webpage, or performing some other similar action which triggers the transaction).
At step 426, the web server receives the authentication credentials from the user device. At step 428, a determination is made as to whether the authentication credentials are valid. The determination as to whether the authentication credentials are valid may be performed in any manner for authenticating a user.
In one embodiment, for example, where the authentication credentials include a username and password, the username provided by the user may be used to retrieve a valid password associated with the username (e.g., from an authentication database), and the password received from the user device may be compared against the valid password in order to determine whether the password received from the user device is valid.
If the authentication credentials are invalid, method 400 proceeds to step 430, at which point the web server transmits an error webpage to the user device. The error webpage is adapted to inform the user that the user may not access the website (e.g., the authentication credentials provided by the user are invalid) and, optionally, may invite the user to re-attempt the authentication process.
If the authentication credentials are valid, method 400 proceeds to step 432, at which point the web server transmits a website webpage to the user device. The website webpage may be any webpage of the website (e.g., a default webpage provided upon successful authentication to the website, a webpage specifically requested by the user, and the like).
At step 434, the user device receives the webpage from the web server (i.e., either the error webpage or the website webpage). At step 436, the user device displays the received web page using the web browser. From step 436, method 400 proceeds to step 438, where method 400 ends. Although the authentication process ends, the user may continue to interact with the web server, or other web servers, as desired. As described herein, in addition to passively launching a phishing attack by tricking a user into requesting a webpage from a malicious web server, a malicious web server may launch an active phishing attack by emailing a user inviting the user to login to a website. The email is typically formatted to give the appearance of being from a valid website, and, further, typically includes a hyperlink having the appearance of being a hyperlink for a valid website, but which is in fact a hyperlink to the malicious website (e.g., providing a hyperlink to www.alactel-lucent.com/login instead of www.alcatel- lucent.com/login). Unfortunately, an unsuspecting or inattentive user may click the hyperlink to the malicious website without realizing that the hyperlink will redirect the user to the malicious website instead of the valid website being spoofed by that malicious website.
Thus, as described herein, in addition to providing a dynamic personal attribute to a user for a website during login to the website, a dynamic personal attribute may be provided to a user for a website before the user attempts to login to the website. The dynamic personal attribute may be provided to a user for a website before the user attempts to login to the website. The dynamic personal attribute may be provided to a user for a website before the user attempts to login to the website using any messaging or signaling (e.g., email, SMS text message, instant message, and the like) adapted for providing the dynamic personal attribute.
In one embodiment, for example, since websites often initiate emails to registered users inviting the registered users to access the respective websites, a dynamic personal attribute for a website may be provided to a user in an email message from the website. In this embodiment, the email to a user may invite the user to access the website for one or more reasons. For example, a website may initiate an email to a registered user for a variety of reasons, e.g., to inform a user that a new bill is available, to inform the user that a bill is past due, to inform the user of new products or services in which the user may be interested, to invite the user to verify that personal information is up-to-date, and the like, as well as various other combinations thereof.
In this embodiment, in addition to providing the dynamic personal attribute of the user in the email message, the email message may include one or more hyperlinks to webpages of the website, or may simply invite the user to access the website. In either case, by including a dynamic personal attribute in the email to the user, the website enables the user to confirm the validity of the email before accessing the website (e.g., before clicking the hyperlink(s) in the email or typing the URL in the address bar of the web browser). A method according to one such embodiment, from the perspective of the user, is depicted and described herein with respect to FIG. 5. A method according to one such embodiment, from the perspective of the web server, is depicted and described herein with respect to FIG. 6. FIG. 5 depicts a method according to one embodiment of the present invention. Specifically, method 500 of FIG. 5 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user, where the dynamic personal attribute is provided to the user in an email message. The method 500 of FIG. 5 is primarily described from the perspective of the user because the user does not know whether the website is a valid website or an invalid website. Although depicted and described as being performed serially, at least a portion of the steps of method 500 of FIG. 5 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 5. The method 500 begins at step 502 and proceeds to step 504.
At step 504, a user receives an email message. The email message is associated with a website. The email message invites the user to login to the website. The email message includes a dynamic personal attribute. The email message may include a hyperlink to a login webpage of the website or a hyperlink to a home webpage of the website, or may just include an invitation for the user to access the website.
At step 506, a determination is made as to whether the dynamic personal attribute included in the email is valid. The determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device.
If the dynamic personal attribute is valid, method 500 proceeds to step 508, at which point the user deems the email to be from a valid source (i.e., from valid website from which the email appeared to originate) and, thus the user does continue the authentication process (e.g., the clicks the hyperlink included in the email).
If the dynamic personal attribute is invalid, method 500 proceeds to step 510, at which point the user deems the email message to be from an invalid source (e.g., from a spoofed version of the real website that is phishing for user information) and, thus, the user does not continue the authentication process (e.g., the user does not click the hyperlink included in the email message).
From steps 508 and 510, method 500 proceeds to step 512. At step 512, method 500 ends; however, although authentication of the email using the dynamic personal attribute ends, the user will most likely still be required to proceed through the website authentication process in order to access the website from which the email originated.
The authentication process may proceed in any manner by which a website may authenticate a user before allowing the user to access the website. For example, after the user clicks the hyperlink included in the email, the login webpage (i.e., only allowing the user to enter a usemame) or the authentication webpage (i.e., allowing the user to enter both a username and a password) may be displayed to the user. In embodiments in which the login webpage is displayed, the website may provide additional authentication capabilities. For example, the website may display additional authentication information to the user for verification by the user before the user enters a username in the login webpage. For example, the website may request additional authentication information from the user before providing the authentication webpage.
In embodiments in which the authentication webpage is displayed, the website may provide additional authentication capabilities. For example, the authentication webpage may simply include a USERNAME field and a PASSWORD field by which the user may enter a username and password in order to be authenticated to access the website. For example, the authentication webpage may include a USERNAME field, a PASSWORD field, and authentication information that is displayed to the user for verification by the user before the user enters a username and password in the authentication webpage.
Although omitted for purposes of clarity, those skilled in the art will appreciate that the functions of method 500 of FIG. 5 are enabled by a series of interactions between the user device used by the user to access the website and the web server hosting the website accessed by the user. A method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user (including messaging between the user device and the web server) is depicted and described with respect to FIG. 6.
FIG. 6 depicts a method according to one embodiment of the present invention. Specifically, method 600 of FIG. 6 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user, where the dynamic personal attribute is provided to the user in an email message. The method 600 of FIG. 6 is primarily described from the perspective of the web server in order to describe the functions of the web server in providing the dynamic personal attribute which enables the user to identify the website as a valid website. Although depicted and described as being performed serially, at least a portion of the steps of method 600 of FIG. 6 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 6. The method 600 begins at step 602 and proceeds to step 604.
At step 604, the web server generates an email message intended for the user. The email message invites the user to login to the website. The email message includes a dynamic personal attribute. The email message may include a hyperlink to a login webpage of the website or a hyperlink to a home webpage of the website, or may just include an invitation for the user to access the website.
At step 606, the web server transmits the email message to the user device. At step 608, the user device receives the email message. At step 610, the user device displays the email message, including displaying the dynamic personal attribute (e.g., when the user accesses an email program, when a user accesses online email, and the like).
At step 612, a determination is made as to whether the dynamic personal attribute included in the email is valid. The determination as to whether the dynamic personal attribute is valid may be made by the user and/or the user device.
If the dynamic personal attribute is invalid, method 600 proceeds to step 644, at which point the user deems the email message to be from an invalid source (e.g., from a spoofed version of the real website that is phishing for user information) and, thus, the user does not continue the authentication process (e.g., the user does not click the hyperlink included in the email message). In other words, the login process continues.
If the dynamic personal attribute is valid, method 600 proceeds to step 614, at which point the user deems the email to be from a valid source (i.e., from valid website from which the email appeared to originate) and, thus the user does continue the authentication process (e.g., the clicks the hyperlink included in the email). In other words, the login process is terminated.
At step 614, the user requests the website identified in the email message. The user may request the website identified in the email message in any manner (e.g., by typing the web address of the website in an address bar of a web browser, by clicking a hyperlink included in the email message, and the like). At step 616, the user device transmits a website request message to the web server (i.e., the web server hosting the website associated with the received email message). At step 618, the web server receives the website request message from the user device. At step 620, the web server retrieves a login webpage of the requested website. At step 622, the web server transmits the login webpage to the user device. The login webpage is adapted to accept USERNAME and PASSWORD values from the user via a web browser of the user device.
At step 624, the user device receives the login webpage. At step 626, the user device displays the login page. At step 628, the user enters authentication credentials into the login page. The authentication credentials may include any information adapted for use in authenticating the user with the web server (e.g., such as a username and associated password). At step 630, the user device transmits the authentication credentials to the web server.
At step 632, the web server receives the authentication credentials from the user device. At step 634, a determination is made as to whether the authentication credentials are valid. The determination as to whether the authentication credentials are valid may be performed in any manner for validating authentication credentials.
In one embodiment, for example, the username provided by the user may be used to retrieve a valid password for the username (e.g., from an authentication database), and the password received from the user device may be compared against the valid password in order to determine whether the password received from the user device is valid.
If the authentication credentials are invalid, method 600 proceeds to step 636, at which point the web server transmits an error webpage to the user device. The error webpage is adapted to inform the user that the user may not access the website (e.g., at least a portion of the authentication credentials provided by the user is invalid) and, optionally, may invite the user to re-attempt the authentication process.
If the authentication credentials are valid, method 600 proceeds to step 638, at which point the web server transmits a website webpage to the user device. The website webpage may be any webpage of the website (e.g., a default webpage provided upon successful authentication to the website, a webpage specifically requested by the user, and the like).
At step 640, the user device receives the webpage from the web server (i.e., either the error webpage or the website webpage). At step 642, the user device displays the received web page using the web browser. From step 642, method 600 proceeds to step 644, where method 600 ends. Although the authentication process ends, the user may continue to interact with the web server, or other web servers, as desired.
Although omitted from the method flow diagrams for purposes of clarity, communications between the user device and the web server may use any protocol adapted for facilitating such communications (e.g., using Hypertext Transfer Protocol (HTTP), Secure HTTP (HTTPS), and the like, as well as various combinations thereof). For example, the user device and web server may exchange non-critical information using a standard communication protocol (e.g., HTTP) and exchange critical information (e.g., where the user device provides login credentials such as username and password to the web server, or the web server provides the dynamic personal attribute to the user device) using a secure communication protocol (e.g. HTTPS).
Although primarily depicted and described with respect to providing a dynamic personal attribute in an email message, a dynamic personal attribute may be provided to a user using any out-of-band messaging (e.g., in an email message, in a SMS text message, in an instant message, and the like). For example, a dynamic personal attribute may be provided to a user in a text message propagated to a mobile phone. For example, a dynamic personal attribute may be provided to a user in an instant message propagated in response to a determination that the user logs into the instant messaging application.
Although primarily depicted and described with respect to providing one dynamic personal attribute to a user, multiple dynamic personal attributes may be provided to a user. Furthermore, although primarily depicted and described only with respect to dynamic personal attributes, in one embodiment one or more additional non-dynamic attributes (which may include static personal attributes and/or static non-personal attributes) may be provided to a user along with the one or more dynamic personal attributes provided to the user.
Although primarily depicted and described herein with respect to embodiments in which the dynamic personal attribute is stored on the web server hosting the website requested by the user, and provided directly to the user from web server hosting the website requested by the user, the dynamic personal attribute may be stored on any networked device and may be provided to the user from any networked device in any manner.
In one embodiment, the dynamic personal attribute is stored on a networked device(s) other than the web server hosting the website with which the dynamic personal attribute is associated. For example, the dynamic personal attribute may be stored on a network element operated by the web content provider (i.e., the web content provider that operates the web server hosting the website with which the dynamic personal attribute is associated), one or more communication service providers, one or more third party providers, and the like, as well as various combinations thereof.
In some such embodiments, the networked devices may be devices that are dedicated to maintaining dynamic personal attributes (i.e., network devices not dedicated to performing other functions, but which may perform other functions). For example, web content providers, communications service providers, third-party providers, and the like, as well as various combinations thereof, may maintain servers and/or databases dedicated to maintaining dynamic personal attributes.
In some such embodiments, the networked devices may be devices that are dedicated to performing other functions, but which have information which may be used as the dynamic personal attribute. For example, the networked devices may include billing systems of communications service providers, location tracking devices of wireless service providers (e.g., devices capable of knowing the current location of a wireless device of a particular user), and the like, as well as various combinations thereof.
In one embodiment, the information used as the dynamic personal attribute may include information available from the website for which the dynamic personal attribute is maintained. For example, the dynamic personal attribute for a website operated by the cellular phone company with which the user has cellular phone service may include information such as the last incoming/outgoing call that was received/placed by the user, the amount of the last payment made by the user, and the like, as well as various combinations thereof.
For example, the dynamic personal attribute for a website operated by the credit card company with which the user has a credit card account may include information such as the location of the last purchase made with the credit card, the amount of the last payment made by the user, and the like, as well as various combinations thereof.
In one embodiment, the information used as the dynamic personal attribute may include information that is not available from the web server hosting the website for which the dynamic personal attribute is maintained.
In one such embodiment, the web server hosting the website for which the dynamic personal attribute is required may retrieve some or all of the information from one or more other sources of dynamic personal attribute information and provide the information to the user as a dynamic personal attribute.
For example, the dynamic personal attribute for a website operated by an online shopping company with which the user has an account may include information such as the current location of the cell phone of the user where that information is available from the wireless service provider of the user and provided by the wireless service provider to the online shopping company, the last incoming/outgoing call that was received/placed by the user that is available from the wireless service provider where that information is provided by the wireless service provider to the online shopping company, and the like, as well as various combinations thereof.
In another such embodiment, the web server hosting the website for which the dynamic personal attribute is required may direct one or more other sources of the dynamic personal attribute information to provide the information directly to the user as a dynamic personal attribute.
For example, the dynamic personal attribute for a website operated by a bank with which the user has an account may include information such as the current location of the cell phone of the user where that information is available from the wireless service provider of the user and provided by the wireless service provider directly to the user, the last incoming/outgoing call that was received/placed by the user that is available from the wireless service provider where that information is provided by the wireless service provider directly to the user, and the like, as well as various combinations thereof.
Although primarily depicted and described herein with respect to specific implementations, the present invention is not intended to be limited by such exemplary implementations. As described herein, the source(s) of the dynamic personal attributes may be operated by any providers, e.g., by the web content provider, one or more communications service providers, one or more third party providers, and the like, as well as various combinations thereof. As further described herein, the dynamic personal attributes may be stored in any manner. In other words, the dynamic personal attribute may be retrieved from any source and provided from the source to the user in any manner.
FIG. 7 depicts a high-level block diagram of a communication network according to one embodiment of the present invention. Specifically, communication network 700 of FIG. 7 includes a user device 710 and a web server 720 in communication via a communication network 715. Additionally, communication network 700 includes a plurality of network elements 730i - 73ON (collectively, network elements 730).
The network elements 730 are any network elements which may store dynamic personal attributes or information which may be used as dynamic personal attributes. The network elements 730 may provide a dynamic personal attribute to web server 720 directly or indirectly (e.g., by providing the dynamic personal attribute to web server 720 which, in turn, propagates the dynamic personal attribute to user device 710).
For example, network elements 730 may include dedicated servers and/or databases (i.e., devices dedicated to storing dynamic personal attributes) or other network elements which may store information which may be used as dynamic personal attributes (e.g., devices operated by the web content provider, communications service providers, third-party providers of dynamic personal attributes, and the like, as well as various combinations thereof).
Furthermore, although primarily depicted and described herein with respect to a specific application of the present invention (namely, enabling a user using a network communication device to validate a web server hosting a website), those skilled in the art will understand that the present invention may be used in various other applications. Thus, more generally, the present invention may be used to enable a user using a terminal device to validate a remote server. This more general application of the present invention may be better understood with respect to the following exemplary applications of the dynamic personal attribute of the present invention.
In one embodiment, for example, the terminal device is an ATM terminal and the remote server is a bank server. In this example, by retrieving a dynamic personal attribute and displaying the dynamic personal attribute to the user via the ATM terminal (e.g., in response to the user inserting the card into the ATM machine), the user will be able to determine whether or not the ATM terminal is legitimate (e.g., that the ATM terminal is really connected to the bank and not to some malicious device). Similarly, in other related embodiments, the terminal device may be a point-of-sale terminal (or other similar terminal related to financial transactions) and the remote server is a financial institution server (e.g., server of a bank, a credit card company, and the like).
In another embodiment, for example, the terminal device is a user terminal (e.g., laptop, cell phone, and the like) and the remote server is a network access device (e.g., WiFi access node, cellular access node, and the like). In this example, by retrieving a dynamic personal attribute and displaying the dynamic personal attribute to the user via the user terminal, the user will be able to determine whether or not the network access device is legitimate (e.g., that the network access device is not a malicious device made available for unsuspecting users looking for WiFi service, cellular service, or some other network access).
Although specific embodiments and examples of the present invention have been provided, those skilled in the art will appreciate that the dynamic personal attribute of the present invention may be used in various other applications. For example, the dynamic personal attribute of the present invention may be used in applications such as domain authentication (e.g., for network domains such as WANs, LANs, and the like), door access controls (e.g., using magnetic cards, fingerprints retinal scans, and the like), and the like. In other words, a dynamic personal attribute may be used by a user to validate any remote device. A more general application of the present invention is depicted and described with respect to FIG. 8 and FIG. 9.
FIG. 8 depicts a high-level block diagram of a more general system within which the present invention may be applied. Specifically, system 800 of FIG. 8 includes a user terminal 810 and a remote server 820. The user terminal 810 and remote server 820 communicate via a communication network 815 for exchanging information, including authentication parameters, such as user authentication parameters, dynamic personal attributes, and the like, as well as various combinations thereof. The communication network 815 may be any type of communication network adapted for facilitating communications between user terminal 810 and remote server 820 (e.g., a wireline network and/or a wireless network).
The user terminal 810 includes any device adapted for enabling a user to interact with remote server 820. For example, user terminal 810 may include a computer, a phone, a personal data assistant, an ATM machine, a user entry interface, and the like, as well as various combinations thereof. The user terminal 810 may include any means for enabling the user to interact with remote server 820, including entering and reviewing information. For example, user terminal 810 may include one or more display screens, keyboards, speakers, touch pads, magnetic card readers, retinal scanners, and the like, as well as various combinations thereof.
The remote server 820 includes any device which the user would like to validate before the user enters any sensitive information. For example, remote server 820 may include a web server, a financial institution server (e.g., a bank server serving an ATM machine, a bank server serving a point- of-sale terminal by which a user may pay using a debit card, a credit card company server serving a point-of-sale terminal by which a user may pay using a debit card, and the like), a network access point, and the like, as well as various combinations thereof. The remote server 820 may operate in any manner for enabling a dynamic personal attribute to be propagated to the user for use by the user in validating the remote server 820.
FIG. 9 depicts a method according to one embodiment of the present invention. Specifically, method 900 of FIG. 9 includes a method for using a dynamic personal attribute associated with a user for preventing a phishing attack against that user. The method 900 of FIG. 9 is primarily described from the more general perspective of the interactions between a user terminal and a remote server which, as described herein, may be utilized for enabling the user to validate the remote server in a various applications in which the present invention may be employed. Although depicted and described as being performed serially, at least a portion of the steps of method 900 of FIG. 9 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 9. The method 900 begins at step 902 and proceeds to step 904. At step 904, the user initiates a transaction. The user initiates the transaction via a user terminal. The transaction and the manner in which the transaction is initiated each vary depending on depending on the application of the present invention. For example, the transaction may be a request to authenticate with an ATM machine, a request to access a network via a network access point, and the like.
At step 906, the user terminal transmits a request including an identifier. The request is transmitted in response to the initiation of the transaction by the user. The request (e.g., type of request, format of request, and the like) and the identifier included within the request (e.g., whether the identifier is associated with the user and/or the user terminal) each vary depending on the application of the present invention.
For example, where the transaction is a request to authenticate with an ATM machine, the request may include the account number of the bank card that the user inserts into the ATM machine. For example, where the transaction is a request to access a network via a network access point, the identifier may include an identifier of the user device by which the user is attempting to access the network.
At step 908, the remote server receives the request including the identifier. At step 910, the remote server retrieves a dynamic personal attribute based on the identifier. At step 912, the remote server transmits the dynamic personal attribute to the user terminal. Although primarily depicted and described with respect to an embodiment in which the remote server transmits the dynamic personal attribute to the user terminal, the dynamic personal attribute may be propagated to the user terminal in other ways.
At step 914, the user terminal receives the dynamic personal attribute. At step 914, the user terminal presents the dynamic personal attribute to the user. The dynamic personal attribute may be presented to the user in various different ways, which may vary depending on the application of the present invention.
For example, where the transaction is a request to authenticate with an ATM machine, the dynamic personal attribute may be displayed to the user on the display screen of the ATM machine, thereby enabling the user to determine the validity of the remote server prior to entering authentication information for the ATM account (e.g., prior to entering a pin for that ATM card).
For example, where the transaction is a request to access a network via a network access point, the dynamic personal attribute may be displayed to the user on the display screen of the computer or other user device by which the user is attempting to access the access network, thereby enabling the user to determine the validity of the remote server prior to entering any authentication information.
At step 918, method 900 ends. Although depicted as ending, it should be noted that the process may or may not continue depending on whether the user has determined that the remote server is valid.
For example, where the transaction is a request to authenticate with an ATM machine, upon determining that the dynamic personal attribute is valid (and, thus, the remote server is valid), the user may enter a pin for that ATM card and, once authenticated by the ATM machine, may proceed to check an account balance, withdraw cash from the ATM machine, or perform other similar operations available from an ATM machine.
For example, where the transaction is a request to access a network via a network access point, upon determining that the dynamic personal attribute is valid (and, thus, the remote server is valid), the user may enter a login and password and, once authenticated by the remote server, may proceed to access the Internet or other resources available from the accessed network or perform other similar operations available from the network. FIG. 10 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein. As depicted in FIG. 10, system 1000 comprises a processor element 1002 (e.g., a CPU), a memory 1004, e.g., random access memory (RAM) and/or read only memory (ROM), an authentication security module 1005, and various input/output devices 1006 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, an output port, and a user input device (such as a keyboard, a keypad, a mouse, and the like)).
It should be noted that the present invention may be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents. In one embodiment, the present authentication security process 1005 can be loaded into memory 1004 and executed by processor 1002 to implement the functions as discussed above. As such, authentication security process 1005 (including associated data structures) of the present invention can be stored on a computer readable medium or carrier, e.g., RAM memory, magnetic or optical drive or diskette and the like.
It is contemplated that some of the steps discussed herein as software methods may be implemented within hardware, for example, as circuitry that cooperates with the processor to perform various method steps. Portions of the present invention may be implemented as a computer program product wherein computer instructions, when processed by a computer, adapt the operation of the computer such that the methods and/or techniques of the present invention are invoked or otherwise provided. Instructions for invoking the inventive methods may be stored in fixed or removable media, transmitted via a data stream in a broadcast or other signal bearing medium, and/or stored within a working memory within a computing device operating according to the instructions. Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.

Claims

What is claimed is:
1. A method for informing a user that a remote server is valid, comprising: receiving a request for information available from the remote server, the request comprising an identifier; obtaining a dynamic personal attribute associated with the user using the identifier; and propagating the dynamic personal attribute toward the user, wherein the dynamic personal attribute is adapted for use by the user in validating the remote server.
2. The method of claim 1 , wherein the identifier comprises one of an identifier associated with the user for the remote server and an identifier associated with a user terminal of the user.
3. The method of claim 1 , wherein the identifier comprises an identifier associated with a user terminal of the user.
4. The method of claim 3, wherein the dynamic personal attribute is propagated toward the user as part of a webpage adapted for accepting authentication credentials from the user.
5. The method of claim 1 , wherein the identifier comprises a usemame associated with the user, wherein the dynamic personal attribute is propagated toward the user as part of a webpage adapted for accepting a password from the user.
6. The method of claim 1 , wherein the dynamic personal attribute comprises at least one of an amount of a bill paid by the user, an amount of a purchase made by the user with a credit card, a location of a purchase made by the user with a credit card, an amount of an ATM withdrawal made by the user with an ATM card, a location of an ATM withdrawal made by the user using an ATM card, information associated with an incoming call received by the user, information associated with an outgoing call placed by the user, a sender of a text message received by the user, a receiver of a text message sent by the user, a current location of a mobile device of the user, a location of a wireless phone of the user during a call, and a status message in an instant message (IM) client associated with the user.
7. An apparatus for informing a user that a remote server is valid, comprising: means for receiving a request for information available from the remote server, the request comprising an identifier; means for obtaining a dynamic personal attribute associated with the user using the identifier; and means for propagating the dynamic personal attribute toward the user, wherein the dynamic personal attribute is adapted for use by the user in validating the remote server.
8. A method for informing a user that a message is associated with a valid website, comprising: obtaining a dynamic personal attribute associated with the user; generating a message for the user, wherein the message is adapted to enable the user to request a website, wherein the message includes the dynamic personal attribute associated with the user for the website; and propagating the message toward the user.
9. The method of claim 8, wherein the message includes one of an email message, an instant message, and a text message.
10. The method of claim 8, wherein the dynamic personal attribute comprises at least one of an amount of a bill paid by the user, an amount of a purchase made by the user with a credit card, a location of a purchase made by the user with a credit card, an amount of an ATM withdrawal made by the user with an ATM card, a location of an ATM withdrawal made by the user using an ATM card, information associated with an incoming call received by the user, information associated with an outgoing call placed by the user, a sender of a text message received by the user, a receiver of a text message sent by the user, a current location of a mobile device of the user, a location of a wireless phone of the user during a call, and a status message in an instant message (IM) client associated with the user.
PCT/US2008/010573 2007-09-19 2008-09-10 Method and apparatus for preventing phishing attacks WO2009038657A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200880107742.7A CN101919219B (en) 2007-09-19 2008-09-10 Method and apparatus for preventing phishing attacks
JP2010525807A JP2010539618A (en) 2007-09-19 2008-09-10 Method and apparatus for preventing phishing attacks
KR1020107006161A KR101148627B1 (en) 2007-09-19 2008-09-10 Method and apparatus for preventing phishing attacks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/857,675 US8122251B2 (en) 2007-09-19 2007-09-19 Method and apparatus for preventing phishing attacks
US11/857,675 2007-09-19

Publications (2)

Publication Number Publication Date
WO2009038657A2 true WO2009038657A2 (en) 2009-03-26
WO2009038657A3 WO2009038657A3 (en) 2009-05-07

Family

ID=40380126

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/010573 WO2009038657A2 (en) 2007-09-19 2008-09-10 Method and apparatus for preventing phishing attacks

Country Status (5)

Country Link
US (1) US8122251B2 (en)
JP (2) JP2010539618A (en)
KR (1) KR101148627B1 (en)
CN (1) CN101919219B (en)
WO (1) WO2009038657A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003411A (en) * 2010-06-15 2012-01-05 Yahoo Japan Corp Log-in seal management system and management server
GB2507315A (en) * 2012-10-25 2014-04-30 Christopher Douglas Blair Authentication of messages using dynamic tokens
CN105227532A (en) * 2014-06-30 2016-01-06 阿里巴巴集团控股有限公司 A kind of blocking-up method of malicious act and device

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293249A1 (en) * 2009-05-15 2010-11-18 Novatel Wireless Method and apparatus for loading landing page
US7896228B1 (en) * 2007-01-11 2011-03-01 Diebold Self-Service Systems Cash dispensing automated banking machine system and method
US8533821B2 (en) 2007-05-25 2013-09-10 International Business Machines Corporation Detecting and defending against man-in-the-middle attacks
US20100042687A1 (en) * 2008-08-12 2010-02-18 Yahoo! Inc. System and method for combating phishing
US20100269162A1 (en) 2009-04-15 2010-10-21 Jose Bravo Website authentication
US8452858B2 (en) 2009-05-15 2013-05-28 Novatel Wireless, Inc. Method and apparatus for loading landing page
US8683609B2 (en) 2009-12-04 2014-03-25 International Business Machines Corporation Mobile phone and IP address correlation service
US8984604B2 (en) * 2010-05-07 2015-03-17 Blackberry Limited Locally stored phishing countermeasure
KR20120000378A (en) * 2010-06-25 2012-01-02 (주)씽크에이티 E-business system using telephone certification
US8832855B1 (en) 2010-09-07 2014-09-09 Symantec Corporation System for the distribution and deployment of applications with provisions for security and policy conformance
US9043863B1 (en) * 2010-09-07 2015-05-26 Symantec Corporation Policy enforcing browser
US8955152B1 (en) 2010-09-07 2015-02-10 Symantec Corporation Systems and methods to manage an application
CN102542672A (en) * 2010-12-13 2012-07-04 周锡卫 System and method for actively preventing information cards from being stolen
CN102096781B (en) * 2011-01-18 2012-11-28 南京邮电大学 Fishing detection method based on webpage relevance
US8838988B2 (en) 2011-04-12 2014-09-16 International Business Machines Corporation Verification of transactional integrity
CN102780686A (en) * 2011-05-13 2012-11-14 中国银联股份有限公司 Credible resource based method and device for protecting bank user information
US20120297469A1 (en) * 2011-05-20 2012-11-22 Microsoft Corporation Security Indicator Using Timing to Establish Authenticity
JP5691853B2 (en) * 2011-06-02 2015-04-01 富士通株式会社 Access monitoring program, information processing apparatus, and access monitoring method
CN102868668A (en) * 2011-07-07 2013-01-09 陈国平 Method for preventing phishing website from stealing sensitive information of user
US9420459B2 (en) * 2011-11-16 2016-08-16 Cellco Partnership Method and system for redirecting a request for IP session from a mobile device
CN104063494B (en) * 2011-12-30 2017-11-14 北京奇虎科技有限公司 Page altering detecting method and black chain data library generating method
US8484741B1 (en) * 2012-01-27 2013-07-09 Chapman Technology Group, Inc. Software service to facilitate organizational testing of employees to determine their potential susceptibility to phishing scams
CN103516693B (en) * 2012-06-28 2017-10-24 中国电信股份有限公司 Differentiate the method and apparatus of fishing website
WO2014005148A1 (en) 2012-06-29 2014-01-03 Id Dataweb, Inc. System and method for establishing and monetizing trusted identities in cyberspace with personal data service and user console
US8917826B2 (en) 2012-07-31 2014-12-23 International Business Machines Corporation Detecting man-in-the-middle attacks in electronic transactions using prompts
CN103634351B (en) * 2012-08-24 2018-03-16 腾讯科技(深圳)有限公司 Control the method and system of network application operation
CN102867266B (en) * 2012-08-27 2016-03-09 北京联嘉众赢网络技术有限公司 A kind of news valency method and device
US10068083B2 (en) 2012-09-28 2018-09-04 International Business Machines Corporation Secure transport of web form submissions
US8869274B2 (en) 2012-09-28 2014-10-21 International Business Machines Corporation Identifying whether an application is malicious
US20140172985A1 (en) * 2012-11-14 2014-06-19 Anton G Lysenko Method and system for forming a hierarchically complete, absent of query syntax elements, valid Uniform Resource Locator (URL) link consisting of a domain name followed by server resource path segment containing syntactically complete e-mail address
CN102984162B (en) * 2012-12-05 2016-05-18 北京奇虎科技有限公司 The recognition methods of credible website and gathering system
CN103929406B (en) * 2013-01-15 2017-03-01 中国银联股份有限公司 Pseudo- Web page detection method and system
US9344449B2 (en) 2013-03-11 2016-05-17 Bank Of America Corporation Risk ranking referential links in electronic messages
CN104144146B (en) * 2013-05-10 2017-11-03 中国电信股份有限公司 A kind of method and system of access website
KR101516997B1 (en) * 2013-11-07 2015-05-04 주식회사 엘지유플러스 Method and apparatus for protecting smishing
CN104753883B (en) * 2013-12-30 2017-01-25 腾讯科技(深圳)有限公司 interface display method, device and system
US9971878B2 (en) * 2014-08-26 2018-05-15 Symantec Corporation Systems and methods for handling fraudulent uses of brands
US9398047B2 (en) 2014-11-17 2016-07-19 Vade Retro Technology, Inc. Methods and systems for phishing detection
US11023117B2 (en) * 2015-01-07 2021-06-01 Byron Burpulis System and method for monitoring variations in a target web page
US10250594B2 (en) 2015-03-27 2019-04-02 Oracle International Corporation Declarative techniques for transaction-specific authentication
US10164971B2 (en) 2015-10-22 2018-12-25 Oracle International Corporation End user initiated access server authenticity check
US10225283B2 (en) 2015-10-22 2019-03-05 Oracle International Corporation Protection against end user account locking denial of service (DOS)
US10257205B2 (en) 2015-10-22 2019-04-09 Oracle International Corporation Techniques for authentication level step-down
JP6895431B2 (en) 2015-10-23 2021-06-30 オラクル・インターナショナル・コーポレイション Passwordless authentication for access control
US9961086B2 (en) * 2015-12-18 2018-05-01 Ebay Inc. Dynamic content authentication for secure merchant-customer communications
US20180270215A1 (en) * 2017-03-16 2018-09-20 Ca, Inc. Personal assurance message over sms and email to prevent phishing attacks
US11689925B2 (en) * 2017-09-29 2023-06-27 Plume Design, Inc. Controlled guest access to Wi-Fi networks
US11496902B2 (en) 2017-09-29 2022-11-08 Plume Design, Inc. Access to Wi-Fi networks via two-step and two-party control
US20210105302A1 (en) * 2018-02-09 2021-04-08 Bolster, Inc. Systems And Methods For Determining User Intent At A Website And Responding To The User Intent
US11159566B2 (en) 2018-08-21 2021-10-26 International Business Machines Corporation Countering phishing attacks
WO2020101522A1 (en) * 2018-11-15 2020-05-22 Публичное Акционерное Общество "Сбербанк России" Method and system for identifying devices connected to fraudulent phishing activity
JP2021043675A (en) * 2019-09-10 2021-03-18 富士通株式会社 Control method, control program, information processing device, and information processing system
US11870801B2 (en) * 2021-01-27 2024-01-09 Paypal, Inc. Protecting computer system end-points using activators
US11741213B2 (en) * 2021-06-24 2023-08-29 Bank Of America Corporation Systems for enhanced bilateral machine security

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060200855A1 (en) * 2005-03-07 2006-09-07 Willis Taun E Electronic verification systems
US20070094727A1 (en) * 2005-10-07 2007-04-26 Moneet Singh Anti-phishing system and methods
US20070162961A1 (en) * 2005-02-25 2007-07-12 Kelvin Tarrance Identification authentication methods and systems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950949B1 (en) * 1999-10-08 2005-09-27 Entrust Limited Method and apparatus for password entry using dynamic interface legitimacy information
JP2001117873A (en) * 1999-10-19 2001-04-27 Hitachi Ltd Method for identifying terminal
JP2002073561A (en) * 2000-09-01 2002-03-12 Toyota Motor Corp Method and system for authenticating user to perform access through communication network and information processing system utilizing the same
JP2002101091A (en) * 2000-09-22 2002-04-05 Hitachi Information Systems Ltd User authentication method and user authentication program
US7606938B2 (en) * 2002-03-01 2009-10-20 Enterasys Networks, Inc. Verified device locations in a data network
US7434044B2 (en) * 2003-02-26 2008-10-07 Cisco Technology, Inc. Fast re-authentication with dynamic credentials
US7240192B1 (en) * 2003-03-12 2007-07-03 Microsoft Corporation Combining a browser cache and cookies to improve the security of token-based authentication protocols
DE10353853A1 (en) * 2003-11-18 2005-06-30 Giesecke & Devrient Gmbh Authorization of a transaction
US20050172229A1 (en) * 2004-01-29 2005-08-04 Arcot Systems, Inc. Browser user-interface security application
WO2005107137A2 (en) * 2004-04-23 2005-11-10 Passmark Security, Inc. Method and apparatus for authenticating users using two or more factors
US7617532B1 (en) * 2005-01-24 2009-11-10 Symantec Corporation Protection of sensitive data from malicious e-mail
JP4698239B2 (en) * 2005-01-31 2011-06-08 エヌ・ティ・ティ・ソフトウェア株式会社 Web site impersonation detection method and program
JP4718917B2 (en) * 2005-06-30 2011-07-06 株式会社三井住友銀行 Authentication method and system
JP4668734B2 (en) * 2005-08-23 2011-04-13 株式会社野村総合研究所 Authentication apparatus, authentication method, and authentication program
JP4755866B2 (en) * 2005-08-23 2011-08-24 株式会社野村総合研究所 Authentication system, authentication server, authentication method, and authentication program
US7886343B2 (en) * 2006-04-07 2011-02-08 Dell Products L.P. Authentication service for facilitating access to services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070162961A1 (en) * 2005-02-25 2007-07-12 Kelvin Tarrance Identification authentication methods and systems
US20060200855A1 (en) * 2005-03-07 2006-09-07 Willis Taun E Electronic verification systems
US20070094727A1 (en) * 2005-10-07 2007-04-26 Moneet Singh Anti-phishing system and methods

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003411A (en) * 2010-06-15 2012-01-05 Yahoo Japan Corp Log-in seal management system and management server
GB2507315A (en) * 2012-10-25 2014-04-30 Christopher Douglas Blair Authentication of messages using dynamic tokens
US9253131B2 (en) 2012-10-25 2016-02-02 Software Hothouse Ltd. System and method for authentication of communications
CN105227532A (en) * 2014-06-30 2016-01-06 阿里巴巴集团控股有限公司 A kind of blocking-up method of malicious act and device

Also Published As

Publication number Publication date
CN101919219A (en) 2010-12-15
KR101148627B1 (en) 2012-05-23
JP2013211020A (en) 2013-10-10
US20090077637A1 (en) 2009-03-19
WO2009038657A3 (en) 2009-05-07
JP2010539618A (en) 2010-12-16
CN101919219B (en) 2014-09-10
US8122251B2 (en) 2012-02-21
KR20100049653A (en) 2010-05-12
JP5719871B2 (en) 2015-05-20

Similar Documents

Publication Publication Date Title
US8122251B2 (en) Method and apparatus for preventing phishing attacks
US8019995B2 (en) Method and apparatus for preventing internet phishing attacks
TWI620090B (en) Login failure sequence for detecting phishing
US7562222B2 (en) System and method for authenticating entities to users
US8230489B2 (en) Secure authentication systems and methods
KR101019458B1 (en) Extended one­time password method and apparatus
US7870201B2 (en) Apparatus for executing an application function using a mail link and methods therefor
EP2375688B1 (en) Managing automatic log in to Internet target resources
US7870202B2 (en) Apparatus for executing an application function using a smart card and methods therefor
Harini et al. 2CAuth: A new two factor authentication scheme using QR-code
US8051465B1 (en) Mitigating forgery of electronic submissions
EP1713227B1 (en) System and Method for providing user's security when setting-up a connection over insecure networks
RU2570838C2 (en) Strong authentication by providing number
US20130125197A1 (en) Relying Party Specifiable Format for Assertion Provider Token
US9009800B2 (en) Systems and methods of authentication in a disconnected environment
EP3623972A1 (en) Secure data leak detection
US20220086133A1 (en) Email-based authentication for sign in and security
CN108605037B (en) Method for transmitting digital information
US11165768B2 (en) Technique for connecting to a service
US10834074B2 (en) Phishing attack prevention for OAuth applications
US9210155B2 (en) System and method of extending a host website
KR20190111006A (en) Authentication server, authentication system and method
US20170230416A1 (en) System and methods for preventing phishing attack using dynamic identifier
Varshney et al. Push notification based login using BLE devices
EP1713230A1 (en) System and method for providing user's security when setting-up a connection over insecure networks

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880107742.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08831449

Country of ref document: EP

Kind code of ref document: A2

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1470/CHENP/2010

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2010525807

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 20107006161

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08831449

Country of ref document: EP

Kind code of ref document: A2