Patent Publication Number: US-7596701-B2

Title: Online data encryption and decryption

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This application is a continuation-in-part of copending U.S. application Ser. No. 11/169,564, filed Jun. 29, 2005 which claims priority to U.S. Provisional Application No. 60/585,818, filed Jul. 7, 2004, both of which are incorporated by reference herein. 
     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
    
    
     FIELD OF INVENTION 
     The invention relates generally to systems and methods for providing encryption and decryption, including authentication, for transactions to be conducted on the Internet, or other networks, and to user interfaces adapted for use in such systems and methods. 
     BACKGROUND OF INVENTION 
     The growth in the volume of online transactions conducted by businesses and individuals over the Internet has been staggering. Sensitive, private identity information is typically used for authenticating a user for conducting online transactions. The increased use of identity information for Internet transactions has been accompanied by an increased danger of interception and theft of that information. Identity theft occurs when someone uses the password, username, Social Security number, credit card number, or other identifying personal information of another without consent, to commit fraud. According to a September 2003 Federal Trade Commission (FTC) survey, 27.3 million Americans have been victims of identity theft in a recent five-year period, including 9.9 million people in the year 2002 alone. Identity theft losses to businesses and financial institutions in 2002 totaled nearly $48 billion and consumer victims reported $5 billion in out-of-pocket expenses, according to the FTC survey. 
     One form of identity theft is perpetrated using a social engineering attack known as “phishing”. Phishing is defined according to the Internet encyclopedia Wikipedia as the fraudulent acquisition, through deception, of sensitive personal information such as passwords and credit card details, by masquerading as someone trustworthy with a real need for such information. Phishing fraud schemes typically use a masquerade website to generate email messages made to appear as originating as requests for necessary information from a trusted service provider, e.g., a bank or a merchant. The phishing email messages typically contain links to websites that also appear to belong to the service provider, but, in fact, are used by the “phishers”. The masquerade web site attempts to deceive users into giving up their password or other sensitive personal information. 
     Another form of identity theft is perpetrated using an attack known as “pharming”. In this type of attack, software solely intended for purposes of crime misdirects innocent users to fraudulent sites or proxy servers, typically through DNS hijacking or poisoning. Pharming is the exploitation of a DNS server software vulnerability that allows a hacker to acquire the Domain Name for a site, and to cause traffic directed to that web site to be redirected to another web site. DNS servers are the machines responsible for resolving Internet names into their real addresses; they function as the “signposts” of the Internet. If the web site receiving the redirected traffic is a fake web site, such as a copy of a bank&#39;s website, it can be used to “phish” or steal a computer user&#39;s passwords, PIN number, account number and/or other confidential information. 
     Various other fraudulent means to acquire confidential information entered by a user are known. For example, espionage software including keyboard loggers, mouse click loggers, and screen capture loggers are well-known and used for this purpose. Also, other types of espionage software, such as snoopware, spyware, non-viral malware, hackers utility, surveillance utility and Trojans are well known. As another example, “evil twin” attacks are becoming common. An evil twin is a home-made wireless access point, also known as a “hot spot” that masquerades as a legitimate one to gather personal or corporate information without the end user&#39;s knowledge. The attacker positions himself in the vicinity of the access point and lets his computer discover what name and radio frequency the legitimate access point uses. He then sends out his own radio signal on that frequency using the same name. For the purpose of the present invention, espionage software is any software program that aids in the unauthorized acquisition of information, such as information about a person or organization. Espionage software is also typically hidden from the user. Espionage software typically installs itself on a user&#39;s computer without consent and then monitors or controls the use of the device. Every user keystroke, all chat conversations, all websites visited, every user interaction with a browser, every application executed, every document printed and all text and images might be captured by the espionage software. Espionage software typically is capable of locally saving, and/or transmitting the captured data to third parties over the Internet, most often without the user&#39;s knowledge or consent. The keyboard loggers and mouse click loggers might also take the form of hardware connected between the keyboard/mouse cable and the computer or the hardware inside the keyboard/mouse device. 
     Another acquirer of confidential, sensitive personal information who uses it for fraud is known as an “over-the-shoulder” spy. This spy surreptitiously reads a user&#39;s display to acquire the information, such as alphanumeric or other forms of information. For example, conventional graphical user interfaces that use keypad and/or keyboard images for user data entry are vulnerable also to mouse click loggers, screen capture loggers and other schemes. Each alphanumeric character in the graphical interface is represented by a unique graphical image, e.g., the pixels comprising the number 1. Screen capture loggers utilize optical character recognition (OCR) technology to decipher the mouse clicks and corresponding alphanumeric graphic in order to ascertain the actual alphanumeric text characters of a user&#39;s ID and password. Sophisticated screen capture loggers also have the capability to utilize checksum and size characteristics of the graphic images in order to ascertain which identifier alphanumeric character corresponds to each graphic image selected by a user&#39;s mouse click during data entry. In these ways, the screen capture loggers may acquire the personal information even when the graphical user interface has rearranged the order of alphanumeric characters on the keypad or keyboard. 
     Known anti-virus and anti-spyware software products attempt to enable a user to protect against some identity thieves. However, these products are not capable of providing a secure defense to theft because they are inherently reactive. As such they all depend on a signature that is reproducible. They must be updated constantly and are useful only to the extent that they have been updated. They are always vulnerable to a new virus or form of attack. Thus, the use of outdated anti-virus and anti-spyware files provides minimal protection, at best, for defense of computer data against outside threats. Consequently, a drawback of these products is that the information used by the anti-virus and anti-spyware program must be constantly updated to reflect newly discovered schemes. In addition to keeping the virus information current, the system must be periodically scanned for potential infections. 
     Firewall software provides an additional line of defense available to a user. Firewall software is installed on the user&#39;s computer (personal or corporate Firewall) to alert a user if a program in the user&#39;s computer is accessing the network without the user&#39;s knowledge or assent. However, if a Trojan compromises an authorized program and port, then the Firewall allows the Trojan to transmit data through the port. 
     Transmission Control Protocol/Internet Protocol (TCP/IP) is the basic communication protocol of the Internet and some private networks. Hyper Text Transfer Protocol Secure (HTTPS) is a secure Internet communication protocol based on TCP/IP and which uses a Secure Socket Layer (SSL) protocol to allow secure data transfer using encrypted data streams. The primary purpose of HTTPS is to fetch hypertext objects from remote hosts, e.g., web pages, in a secure way. The SSL protocol allows clients, including web browsers and HTTP servers, to communicate over a secure connection. SSL offers encryption, source authentication, and data integrity as a means for protecting information exchanged over insecure, public networks. Many E-commerce applications use these protocols for securing transmissions between the server and the Internet. 
     Another drawback of known systems is their dependency, to a varying degree, upon a human to maintain their state of security. As described above, a user&#39;s information and/or system can be compromised despite taking security precautions. Other known methods to address identity theft include requiring a user to use a “token” or to keep a digital certificate on the user&#39;s system for use in authentication during a login process. A token is typically a credit card or key fob-sized authentication device required in order to access a service provider&#39;s system. The token usually displays numbers that change over time and synchronizes with an authentication server on the network. The token may also use a challenge/response scheme with the server. This method requires the user to have the token and enter information from the token for authentication in addition to a password and/or personal identification number (PIN). A problem with tokens is that the user must keep the token secure in addition to keeping the required password and/or pin secure. Also, customer support costs associated with lost or damaged tokens create additional problems. What is therefore also needed is a system and method for preventing identity theft that does not require costly hardware devices to be created and maintained in order to provide security for confidential information. 
     SUMMARY OF THE INVENTION 
     The systems and methods according to the present invention overcome the drawbacks of known systems and methods by providing user interfaces capable of encrypting user authentication credentials at the point of entry of data into the user&#39;s computer, as well as providing for encryption and decryption on computer implemented networks of virtually any data that may be represented by symbols such as alphanumeric, other symbols typically provided by word processing or other software and any other symbols capable of being processed on or over such networks. 
     An advantage of the systems and methods according to the present invention is that they allow the user to authenticate the identify of the server being accessed through the use of a user-defined graphical interface that is provided by the server. A user attempting to log on to his account is thus able to verify that the website or message appearing to originate from a particular service provider is in fact the genuine service provider. Sensitive personal information is thus not provided by the user to fraudulent entities masquerading as the actual provider. 
     Another advantage is that these systems and methods do not depend on tokens, cards and other similar hardware devices, digital certificates, anti-virus software, or personal firewall solutions for protecting end users against online identity theft. 
     One embodiment of an authentication interface system of the present invention may comprise a server connected to a computer network, a user computer connected to the computer network, the user computer and the server programmed to send and receive information from each other over the computer network; and a graphical interface comprising a combination image that includes a user-specific image correlated to a user-name, and an entry interface, wherein the server is programmed to send the graphical interface to the user computer in response to the user-name received from the user computer, and the user computer is programmed to receive and display the graphical interface sent by the server. The entry interface may be in the form of a keypad or a keyboard, and may be superimposed on the user-specific image The graphical interface may additionally comprise personalizing elements such as user-specific text elements, animated elements and photographs. 
     One embodiment of an authentication method between a user and an entity holding information of a user comprises the entity providing to the user a graphical interface comprising a combination image that includes a user-specific image correlated to the user and an entry interface, so that the user can authenticate the entity prior to attempting to access the information. The graphical interface may be provided to the user after the user enters a username, or some other indication of the identity of the information to be accessed. The user inputs an identifier to access the information only after authenticating the identity of the entity providing the combination image. The graphical interface additionally may comprise a user-specific text element, and may be encrypted by the entity. Furthermore, the entity may provide the graphical interface only after matching the identifier identifying the specific computer, to a computer listed on a pre-defined list of computers associated with the user. 
     These and other embodiments, features, aspects, and advantages of the invention will become better understood with regard to the following description, appended claims and accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The foregoing aspects and features of the present invention, as well as its attendant advantages will become more readily appreciated by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein: 
         FIG. 1  is a diagram illustrating an exemplary prior art system used for entering user authentication; 
         FIG. 2  illustrates an exemplary prior art keypad graphical user interface for enabling entry of authentication information; 
         FIG. 3  illustrates an exemplary prior art keyboard graphical user interface for enabling entry of authentication information; 
         FIG. 4  is a block diagram illustrating a typical prior art system enabling a user to enter information on a user computer connected via a network to a computer/server; 
         FIG. 5  illustrates a prior art keyboard image serving to facilitate explanation of novel features of embodiments of the invention illustrated in  FIGS. 6-10 ; 
         FIG. 6  illustrates a preferred, distortion type higher security keyboard graphical authentication interface according to an embodiment of the present invention; 
         FIG. 7  illustrates a preferred, distortion type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 8  illustrates a preferred, distortion type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 9  illustrates a preferred, file-size type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 10  illustrates a preferred, file-size type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 11  illustrates a preferred, hash type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 12  illustrates a preferred, hash type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 13  illustrates a prior art keyboard image serving to facilitate explanation of novel features of embodiments of the invention illustrated in  FIGS. 14-18 ; 
         FIG. 14  illustrates a preferred, shift type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 15  illustrates a preferred, shift type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 16  illustrates a preferred, shift type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 17  illustrates a preferred, check sum type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 18  illustrates a preferred, check sum type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 19  is a block diagram illustrating a preferred encryption and decryption process on the user end and the server end for the embodiments of  FIGS. 6-18 ; 
         FIG. 20  illustrates a preferred, dynamic graphical wheel-type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 21  illustrates a preferred, dynamic slider-type higher security keyboard graphical authentication interface according to an alternate embodiment of the present invention; 
         FIG. 22  is a block diagram illustrating a preferred encryption and decryption process for non-user personalized markers embodiments of the present invention; 
         FIG. 23  is a block diagram illustrating a preferred encryption and decryption process for user personalized markers embodiments of the present invention; 
         FIG. 24  is a block diagram illustrating a preferred client process flow for encryption and decryption for use in embodiments of the present invention; 
         FIG. 25  is a block diagram illustrating a prior art client/server interaction for an authentication process; 
         FIG. 26  is a block diagram illustrating a preferred client/server interaction with encryption and for use in embodiments of the present invention; 
         FIG. 27  is a block diagram illustrating an authentication process; 
         FIG. 28  is a block diagram illustrating a preferred authentication process for use in embodiments of the present invention; 
         FIG. 29  is a pseudo source code listing for a preferred implementation of the encryption and decryption process; 
         FIG. 30  is a pseudo source code listing for a preferred implementation of a graphic of the invention; 
         FIGS. 31  A-E illustrate preferred graphical authentication interfaces according to alternate embodiments of the present invention. 
     
    
    
     Reference symbols or names are used in the Figures to indicate certain components, aspects or features shown therein. Reference symbols common to more than one Figure indicate like components, aspects or features shown therein. 
     DETAILED DESCRIPTION 
     In accordance with embodiments of the present invention, encryption and decryption of information or data, such as user authentication information, and/or data that is representative of other information, for transactions on the Internet or other networks not later than at the point of entry of the information into the user&#39;s computer is achieved by a real time process of image processing and/or by creating images ahead of time to be used randomly in real time and with no set sequence so as to make data entry through the interface virtually unpredictable and therefore virtually immune to any illegitimate attempt to decode the image. Thus, the information or data is not vulnerable to theft on any such network. With reference to  FIGS. 1-28  and  31  A-E, several embodiments of encryption and decryption systems and methods of the present invention, in comparison to prior art methods and systems will be described. As will be explained, the most preferred embodiments of the present invention are used for authentication of users so that security for Internet or other network transactions may be assured. The invention, however, has a much broader scope and can be used to encrypt and decrypt information that is susceptible to being represented by symbols and is to be transmitted on a computer implemented network. 
     For conducting online transactions on the Internet or other computer network, a user typically uses the keyboard, mouse or other input device to enter his or her sensitive personal information using a web browser connected to the Internet or other computer network.  FIG. 1  is a diagram illustrating an exemplary, conventional system  20  and authentication process for verifying the credentials of the user based on a unique user name (user id) and password. In this example, the authentication information to be entered by a user comprises a user ID and password, each of which includes a number of elements. For the purpose of various embodiments of the present invention, the term identifier may refer to virtually any information that relates to information that the user knows and/or some attribute possessed by or related to the user. For example, such identifiers could include names, account numbers, social security numbers, addresses, passwords, personal identification numbers (PIN). Also, for the purpose of various embodiments of the present invention, the term element, as used in the context of identifiers could be virtually any symbol recognized by the system. Typically, for use as a user ID and/or password, the elements are preferably alphanumeric symbols set forth in a particular sequence. Typically the user ID and password are composed of a string of characters entered via a keyboard  22  while executing a web browser on a computing device  24 . A typical user entry interface  26  is provided by the browser to the user on a display as shown at  28 . Alternately, user entry of the data may be via mouse clicks on a graphical image of a numeric keypad  30 , as shown in  FIG. 2  or on an image of a keyboard  32 , as shown in  FIG. 3 .  FIG. 2  is a typical representation of the numeric interface that could be used by the end user to enter the password/code/PIN by clicking on the appropriate location of the interface. This interface permits entry of only alpha-numeric information, but the keypad could be modified to provide other symbols or icons.  FIG. 3  is a typical representation of the alpha-numeric interface which could be used by the end user to enter the password/code/PIN (alpha-numeric only in this instance or any other symbols/icons) by clicking on the interface. 
     In a preferred embodiment of the present invention, an interface is personalized specifically for a user attempting to gain access to a service of a provider, such as a user account with a bank. While the general website for the bank might have a standard format for all users, once a particular user has identified his account to be accessed, an authentication process begins to allow both the user and the bank to confirm each other&#39;s identity. The user first enters a user name into a standard interface sent by the service provider and displayed on the user computer. In response to the username, the service provider then sends a personalized authentication interface, specific to the particular user, and it is displayed on the user&#39;s computer. 
       FIG. 31  A illustrates a personalized graphical interface  160  wherein an entry interface in the form of a conventional keypad  163  and data window  162  is superimposed upon a background image  161  of a field of daisies. The entry interface could include a representation of a keypad  163  as shown in  FIG. 31  A, a keyboard  164  of  FIG. 31  C, variations thereof, or any one of the other input devices discussed herein. The entry interface may be superimposed, embedded, incorporated, adjacent or otherwise associated with an image that has been previously selected by the user.  FIG. 31  B illustrates an embodiment of a graphical interface with an entry interface comprised of only a data window  162  incorporated with an image  161  of a cat. In this instance, data is input by the user via another input device, for example the keyboard of the computer.  FIG. 31  D illustrates an embodiment wherein the entry interface is comprised of a personalized question  167  and multiple potential answers  168 . It is conceivable that the exact form of the entry interface may differ from conventional physical embodiments of input devices, and may in fact be comprised of elements of the image itself. 
     The personalization attributes could be made up of colors/shapes/actual data displayed on the graphical interface. The personalization attributes could potentially also be in the representation of the entry interface itself. An image  161  may be a photograph, diagram, drawing or other visual representational figure, for example. The image may further include patterns, geometric shapes, animated elements, or other visual indicia that serve to distinguish the image, thereby providing a user identifiable platform for the interface. Text elements  165  may also be provided in, around, or otherwise associated with the image to further personalize the interface. These text elements could take the form of individual letters, words, phrases or other groupings of text specific to the user. 
     Further, the image and interface itself may be encrypted, using the methods described herein, to deter the capture and fraudulent recreation of the interface. 
     The personalized attributes are preferably chosen by the user when the relationship between the user and the service provider is first established when setting up the user&#39;s account, or at least prior to the user&#39;s first attempt to access an account through the service provider. At this point the user could specify, either from a list of choices, or from his own preferences, the personalization elements to be incorporated into the graphical interface. Thus, once created, the personalized graphical interface would be instantly recognizable by the user, and nearly impossible to recreate by a fraudulent entity attempting to guess which of the many possible variations are incorporated into the interface. 
     Personalization of the interface allows the user to know that the interface has not been created without intelligence via an automated mass distribution of a phony interface to users, which may be attempted in computer attacks such as “phishing.” In phishing the fraudulent entity attempts to recreate an authentic interface in an effort to lure an unsuspecting user into revealing sensitive or confidential information. However, by having the genuine interface personalized, the user is alerted to the possible presence of a phony interface when it is displayed. This aids in thwarting phishing due to the great difficulty or inability of phishers to duplicate such personalized interfaces, and thus helps gain the confidence of the end user. Such applications are known as a mutual authentication processes. 
     Further protection from phishing and other attacks can be provided by an initial correlation of the user name with a specific computer for accessing the legitimate server. An attempt to input the user name from a computer other than a specific, pre-identified computer, would result in the presentation of a challenge interface that presents challenge questions to the person attempting to access the user&#39;s account. For example, as shown in  FIG. 31D , the challenge interface  166  could present one or more questions  167  whose answers would be known only to the legitimate user. Successfully answering the challenge questions would allow the user to access the personalized authentication interface, while failure would terminate the authentication process. The challenge interface could also be personalized using the methods described herein to add additional security to the system. 
     If the user is required to access the legitimate server from a number of different computers, the user could provide the legitimate server with a list of computers that will be used to access the server. Thus, only those attempts to access the user&#39;s account from an unlisted computer will result in the challenge interface being presented. 
     It is contemplated that these personalization attributes could be implemented in combination with differing types of interfaces to provide protection against the heretofore described computer attacks, and is not limited to the embodiments specifically described. Any of the interface embodiments described herein could be modified with personalized attributes. For instance, personalization of an interface with a standard text-input box as shown in  FIG. 31B  would provide protection to these types of interfaces. Another type of interface that allows for the on-line retrieval of archived documents could also be personalized in this manner as a verification of source and to allow access only to specified users.  FIG. 31E  discloses an interface  168  that allows for the retrieval of an archived document  169  may have some or all of its features hidden prior to authentication of the user. 
       FIG. 4  is a block diagram illustrating a typical prior art system  39  that includes a user computer  40 , and a user  42  who enters information on the computer  40 . Neither the computer nor the internet was designed with security in mind. Security was just an afterthought, and illustrative different weaknesses or possible points of data vulnerabilities within a typical transaction conducted by a user over the internet using his or her computer are shown. The computer  40  is connected to a computer/server  49  via a network. As illustrated in  FIG. 4 , sensitive information may be encrypted at  47 , using HTTPS for example, before transmission from the user&#39;s computer system  39  to the remote server  49  over the network. The system  39  and computer  40  are vulnerable to information theft, however, because the information remains in its raw form between the point of entry into the computer  40  and the point where the encryption process is invoked. For the purpose of the present invention, all points between the entry point and the encryption point are referred to generally as a loophole  41 . As schematically shown in  FIG. 4 , confidential data is created by the user at  42 , and, in an unencrypted form is entered into the user&#39;s computer system at  41 A through  10  device(s)  43 , and then flows at  41 B into the operating system (OS)  44  via the CPU and kernel(s) and supporting chip(s) at  45 , and then at  41 C to application(s)  46 . Outbound, unencrypted data then flows at  41 D, where it is encrypted at  47  and passed on to the OS  44  and I/O device(s)  43  via paths  41 E,  41 F and then transmitted at  41 G by the computer  40  to the server  49  via path  41 H using the router(s) or other networking gear as shown in  48 . As a result of the illustrative, specific loopholes  41 A- 41 H described above, as well as network vulnerabilities, threats such as cross-site scripting programs, keyboard loggers, mouse click loggers, screen capturers and man in the middle software could capture the sensitive information in its raw, pre-encrypted form. Thus, the network can be compromised even though data leaving the users computer system has been encrypted. This is because the encryption protocol can be bypassed or compromised anywhere in the loophole, e.g., at any point along the dataflow shown at locations  41 A- 41 H. The embodiments of the present invention provide systems and methods for enabling entry of data such as user authentication credentials that encrypt the authentication information not later than at the point of entry, and thus close these loopholes. 
       FIG. 5  illustrates a conventional graphical keypad  52  for the purpose of describing several embodiments of the present invention.  FIGS. 6-8  illustrates a preferred security keypad graphical interface  54 , 56 , 58  that is configured for providing higher than conventional security by including distortion of the keypad for data entry choices. This embodiment is referred to a distortion type known as “image distortion” due to the fact that the user&#39;s keypad interface has been distorted in comparison to the keypad interface  52  of  FIG. 5 . The distortion enables a human user to readily identify numbers or other symbols in the image, but prevents a screen capturer/OCR and x-y coordinate logger from linking mouse, or other pointing device clicks to a specific key of the interface. While  FIG. 6  shows one exemplary distortion, a virtually infinitely large number of permutations and combinations of distortions can be generated to distort the image of numbers, letters or other symbols within the confines of the window on the X-axis and Y-axis for reducing the possibility of unauthorized decoding of the image. For example,  FIG. 7  illustrates a keypad  56  that has been distorted to provide or display a different spatial relationship of the numbers and features shown on the keypad, each to the other, in comparison to the spatial relationships shown in the prior art keypad  52  of  FIG. 5 . In  FIG. 8  another distorted graphical keypad  58  interface is shown. In this embodiment the background features of the keypad  58  have been represented by dashed lines to signify that a different color or grayscale shading has been employed than employed in the conventional keypad of  FIG. 5 . The basis for successful theft of information is the ability to capture a screen display and then use it to predict the future entry of information. When the server sends to the client a different image each time an authentication session begins, it becomes difficult to use captured information as a basis for predicting future behavior. In regard to the  FIGS. 6-8  embodiments, distorting an image is possible using various conventional mathematical algorithms, such as Texture/Distortion/Noise/Pixel/etc. filters. These images could then be picked in real time randomly on the server and then displayed to the end user. The various algorithms could be applied in real time or pre-applied to the image and stored in a database. 
       FIGS. 9 and 10  illustrate other types of graphical interfaces that are useful and preferred alternate embodiments of the present invention. In  FIG. 9  the interface  60  is shown with a gray background  62  for the keypad surface surrounding the keys that each contains a number. In this type of embodiment the interface  60  is shaded and the degree of shading is provided by one or more random image processing algorithms. In this way a large number of possible permutations and combinations for the keypad are provided. The actual size of the file of any graphic image is purely a function of the resolution of the image or the pixels/inch represented within an image. These also determine the quality of the image. The server could then essentially pad extra values randomly to the same image in order to generate different file sizes which in turn could not be used effectively by a fraudulent entity to accurately identify the image which was displayed to the end user since the file size for the same visually similar image may not be the same every time. 
     As is also readily apparent, this type of embodiment is not limited to use with a keypad. Rather, a keyboard or other type of interface may be used. Also, in this and other types of interface embodiments discussed (but not shown) herein, the X-axis and/or Y-axis may be displaced a minor amount within the computer screen. Such a displacement provides additional difficulties for data logger type software to accurately capture the data shown on the screen that is readily understood by the user and the legitimate server to which the user&#39;s computer is connected via the network. Referring to  FIG. 10 , another shading type of encryption/decryption is illustrated. The keypad  64  has a background  66  that is shown to be different than the backgrounds of either of the backgrounds of the  FIG. 9  or  FIG. 5  keypads. 
     The displacements, background changes, jitters and distortions of the computer screen images used in the present invention and as described herein can be generated by conventional programming techniques. These displacements, background changers, jitters and distortions are effective to change the spatial relationship of the image of input data as it appears on the user&#39;s screen in comparison to what the user and the legitimate server know how the image of that data would appear on a conventional image display. These spatial relationship changes are preferably small, i.e., all kept to be within the main window, and are preferably made to be random, as will be described. As such, these spatial relationship changes are sufficiently cryptic to deter computer programs from decoding the encrypted data. 
     With reference to  FIGS. 11 and 12  another type of graphical interface embodiments of the present invention will be described. These images depict the actual data being sent over the network in response to a user click on the numerals. These values are generated in real time by the server and then sent with the image to the client. Upon interpreting the clicks the client then sends back the pre-assigned data back to the server. The server easily identifies the corresponding image based on pre-stored values. Thus, these two figures illustrate a hash-type of encryption/decryption of the present invention. On the left side of  FIG. 11  a conventional keypad image  68  is displayed. On the right side, in dashed lines a hashed display  70  is shown, with each of the keys having several letters arranged in random order. In this embodiment the server is used to send to the client mapping instructions so that when, for example, the user enters a ‘0’, the client maps the ‘0’ to ‘ej’ and transmits ‘ej’ to the server. For each authentication session, the server sends a different set of mapping instructions so that for each authentication session an entirely different mapping and transmission of authentic data takes place.  FIG. 12  illustrates this feature by showing the same conventional keypad image  68  on the left side, but with a different hashed display  72 , to represent a different set of mapping instructions sent by the server to the user&#39;s client computer. The hashed display  72  has a different, preferably randomized set of letters for each key. As may be apparent, other symbols may be used for the hashed keypad. Again, because of the random, different mapping used during each authentication session, theft of the user&#39;s security information is next to impossible. 
     Referring to  FIGS. 13-16 , other preferred embodiments of the invention that use a shift type encryption/decryption are shown. These images represent the effect of displacing the x and y values of the numeric interface within a larger outer background. The x and y values are randomly “jittered” or adjusted by a finite value so that the net effect is that the values of a x, y co-ordinate of mouse position, when captured, cannot be easily used to extrapolate/identify the exact numeral that was clicked on by the end user. For example, in  FIG. 13  a prior art keypad  74  is shown as a reference point for  FIGS. 14-16 . In  FIG. 14 , server sends to the client computer keypad shown (in dashed lines at  78 ) to the position shown in solid lines at  76 . For each authentication session a different mapping algorithm is used, so that the user&#39;s entry of identifiers can not be easily reproduced. In this figure the mapped keypad is shown to be the solid line keypad image display  76 , which is shown to be shifted down and to the right in comparison to the keypad position  78  displayed on the client computer. In  FIG. 15 , representing a different mapping for a different authentication session, the solid line keypad image  80  created on the server has been shifted to the right and up from the keypad image  82  on the client computer display. In  FIG. 16  the mapped, solid line image  84  created on the server has been shifted down and to the left of the keypad image  86  shown on the client computer display. For the purpose of the present invention, the term jitter is defined to mean the type of distortion shown in  FIGS. 14-16 , and the term is used as in “jittering” the interface. 
       FIGS. 17 and 18  illustrate another embodiment of the present invention that is referred to the check sum type of encryption/decryption. Each pixel in an image has a unique 2 dimensional identifier defined by the ‘x’ and ‘y’ values which are determined by its position in the image. The diagram depicts the RGB values of the pixels which are used to represent a sample pixel within the numeral  7  in the numeric interface. By taking the unique value of the R, G, B and adding them up with the x, y values also added to them one can find that the total value represented by an image may not be equal to another image even if there was only a slight difference in one of the R, G or B values of a pixel. As shown in  FIG. 17  keypad  88  has a key  90  bearing the numeral  7  shown in a certain, predetermined color. That numeral  7  has associated with it the x and y positions and the red (R or ‘r’), green (G or ‘g’) and blue (B or ‘b’) values of the color. By taking the unique value assigned to each of the R, G, B and adding those up with the x, y values, and a total value can be determined to represent that pixel. By repeating that process for each pixel, or a selected number of pixels, a total value for the image or a portion of the image can be determined. Box  92  in  FIG. 17  represents six adjacent pixels, with the different shading showing some difference in at least one of the five values. As illustrated in  FIG. 17 , in box  94  the ‘x’ value assigned is ‘70’, the assigned ‘y’ value is ‘111’, the assigned red or ‘r’ value is ‘211’, the assigned green or ‘g’ value is 211 and the assigned blue or ‘b’ value is ‘211. The total value for this pixel is represented by a ‘j’. An adjacent pixel has been assigned values in the same manner, as shown in box  96 , with the only difference being a change in the ‘x’ value by ‘1’, for a total ‘x’ value of ‘71’ thus yielding a different total value ‘w’ that is different by 1. Similarly,  FIG. 18  illustrates a keypad image  94 , and its ‘7’ located in the same position, but with different ‘r’, ‘g’ and ‘b’ values, so that the total value, ‘j’ is different. Also, the adjacent pixel has different ‘r’, ‘g’ and ‘b’ values in comparison to the corresponding pixel in  FIG. 17 . Thus, the file size of an image may not be equal to that of another image even if there was a slight difference in one of the R, G or B values of a pixel. These variations could also be applied to gray scale images or non-RGB type images. 
     With respect to the file size and check sum types of encryption illustrated in  FIGS. 9-10  and  17 - 18  the keyboard image may be distorted so that the entire image and/or the image of each individual key on the keyboard will yield a different check sum and/or file size so as to avoid identification of each individual key by sophisticated screen capture loggers. 
       FIG. 19  is a block diagram illustrating a typical implementation process for the types of encryption and decryption illustrated in  FIGS. 5-18 , as well as for the dynamic encryption/decryption methods and systems illustrated in  FIGS. 20-21 , as will be described. As shown a separate process is used on the server and on the client computer, i.e., the client end and the server end of a system for the keypad and/or keyboard graphical authentication interface embodiments shown in  FIGS. 5-18 . As can be seen in  FIG. 19 , the encryption and decryption process is asymmetrical in nature, because fewer steps are involved on the decryption side than on the encryption side. 
     Preferably, a three-step process is used to create the secure, unique keyboard graphical authentication interfaces of the types illustrated in  FIGS. 5-18 . In the first step, an encrypted key is generated and mapped to a unique graphic character of the keyboard. In the next step, the keyboard graphic image is randomly displaced within the confines of a larger X, Y-axis. In the third step, the graphical image is finitely distorted using known image processing algorithms. The levels or degrees to which these images are distorted, i.e., encrypted, are limited solely by the capacity of an end user to visually decipher the individual keyboard key images. The above encryption steps are, preferably made to be unique for each instance of use of the interface so as to increase the difficulty of deciphering the image over time. 
     As seen in  FIG. 19 , the decryption process preferably includes two steps. In the first decryption step, the user visually deciphers the encrypted keyboard (X, Y displacement and graphic distortion were the two steps used for encryption) and selects a key on the keyboard interface for entering the authentication information. In the second decryption step, the keyboard mappings are decrypted on the server by looking up the exact mappings. 
       FIG. 20  illustrates a dynamic graphical wheel multi-factor interface for enabling encryption/decryption for, most preferably, authentication information that is entered into the computer system by using mouse clicks and/or keyboard navigation for aligning alphanumeric and graphic symbols according to another embodiment of the present invention. The colors/icons/shapes/forms used as markers on the wheels could also be generated based on logic which is pre-determined by the end user or decided by the service provider in advance. This enables the end user to create and thereafter identify the wheel as her or his personalized wheel. Because the user selects the marker on the fly, this embodiment is referred to as a dynamic system and method. The wheel graphical user interface (GUI)  200  shown in  FIG. 20  is generated with conventional techniques on a server, and preferably includes two concentric wheels  202  and  204  for creating encryption at the point of data entry. A user simply guides reference points on the inner wheel  202  via navigational mouse clicks on a “right arrow” button  206  and/or using the keyboard for counter-clockwise rotation, and a “left arrow button”  208  for clockwise rotation, to the next element of the username field  2   1   0  or password field  212  on the outer wheel  204  in order to enter each element of data. A reference point, also referred to as a marker, positioned on the inner wheel  202  is selected by and known only to the user upon entry. Thus, the identity of a particular element of the user ID, password, etc. is indiscernible to outsiders, including being indiscernible to the various espionage software and “over-the-shoulder” spies. In other words, the user initially selects a reference point marker in his/her mind, i.e., a virtual marker. The user simply guides the selected reference point/virtual marker on the inner wheel  202  to a chosen element of the identifier, e.g., username field  210  or password field  212 , on the outer wheel  204  in order to input the identifier. The identifier is also referred to herein as the code or access code. The marker is known only to the end user and remains constant for the duration of the session during which all of the elements of the identifier are entered into the system. The user begins with entry of the first element of the code, such as the user ID. Then the user enters each next element of the code in sequence. After clicking the ‘ENTER’ button to enter a thus encrypted element of the code, the user then clicks on the “NEXT” button. The symbols on the wheels  202  and  204  are then, preferably, randomized and the user then rotates the inner wheel  202  so that the chosen symbol on the inner wheel matches or is positioned adjacent the next element of the code in sequence, and clicks ‘ENTER’. The system then transmits to the server data that corresponds to the actual degrees or rotational displacement through which the inner wheel  802  has moved from the point when the screen displays has been randomized after selection and entry of the first element until the wheel  802  has come to a standstill. In other words, the displacement information is sent to the server as degrees, or in some other form that is representative of the displacement of the wheel  802  that has taken place when the user has selected the second element. This process of clicking “NEXT”, randomizing the display, rotating the inner wheel  202  to match the chosen marker to the next code element in sequence is repeated until all of the code elements for the particular identifier have been entered into the system. 
     The sequencing of the image symbols and marker symbols, normally hosted by the server in a database, are sent over the network in an array form to the GUI to be displayed. The server also may be programmed to apply any of the other forms of encryption, as previously described, on the symbol images before sending them through the network. It is preferable that the sequencing of the marker symbols be randomized each time an element of the code is entered into the system, and this can be done through conventional techniques. While the sequencing of the identifier elements could also be randomized, it is preferable for most applications that they not be randomized during each session. 
     As another embodiment, not illustrated, the set of symbols for the markers and/or the data elements could be personalized, or made unique and be based on user preferences or set by the service provider. This uniqueness further ensures that the correct authentication device/GUI is being used by the user. This optional feature virtually eliminates the possibility that an identical, illegitimate or masquerade GUI is sent to the end user by for entry of his or her credentials, authentication data or other code. In one preferred implementation, the displacements on the GUI made by user interactions are calculated or determined by shifting the index of the marker array with respect to the identifier array. The resultant displacement values of each marker index for each element are then sent over the network to the server. With the server having been programmed to know the correct code, it can then use the displacement corresponding to entry of the first element of the identifier to determine which marker the user has chosen for that session. The server can then authenticate each subsequent element by verifying that the subsequent displacements correspond only to the displacement of the marker chosen by the user for that session. 
     Optionally, an ‘ENTER’ button, as seen in  FIG. 20 , may be used to designate that all of the elements for the username field  210  or password field  212  have been entered. The button designators shown are exemplary only; other button designators may be used in embodiments of the invention. Alternatively, the ‘ENTER’ button could be eliminated in other applications. The ‘ENTER’ button might not be needed, for example, for systems wherein the authentication identifier, e.g., username or password, is of a predetermined, fixed length. 
     Also with respect to the type of encryption/decryption illustrated in  FIG. 20 , preferably the entered elements are not displayed in either the username field  210  or password field  212 , to function as an aid in preventing an “over the shoulder” spy from viewing this information. An asterisk or other suitable symbol may be displayed in each field to signify entry of an element. For the purpose of the  FIG. 20  type embodiments of the present invention, the term identifier preferably refers to a user ID, password and/or PIN. However, as described above, the term may refer to virtually any information that a user may want to encrypt and enter into the system. For example, such identifiers could include names, account numbers, social security numbers, addresses and telephone numbers. Also, as described above, the term element could be virtually any symbol recognized by the system. Typically, for use in the context of a user ID and password, the elements are alphanumeric symbols set forth in a particular sequence. For the purpose of the various embodiments of the present invention, the term marker can also refer to virtually any symbol recognized by the system. For convenience, it is preferred that the markers be non-alphanumeric symbols. 
     In accordance with preferred embodiments of the type as shown in  FIG. 20  the server is made to pre-populate the marker arrays with randomized sequences of markers. Optionally, a plurality of sets of randomly generated marker candidates may be generated to account for the number of identifiers to be used and to provide for a number of extra sets to be available in the event of use of the RESET button, as shown but not numbered in  FIG. 20 , and further explained below in with reference to  FIG. 21 . For example, it is preferred that for a four-element identifier, such as “BANK” the number of sets of candidate markers would be at least  20 , thus, providing for five resets for each marker. 
     Values representative of the displacement associated with the entry of each element of an identifier, as discussed above is sent to, and decoded by the server. Because the server knows the correct elements and possible marker behaviors for any specific marker picked by the user for the specific authentication information, as well as the image details, such as “jitter”, file size, check sum, distortion, shift and combinations of such type of image details the server deduces the marker element based on expected logic. In such applications, the block diagram chart of  FIG. 19  would also apply, but must include steps relating to and applying the wheel type encryption/decryption actions described herein. 
     The logic for the wheel type process is that the server, knowing the first letter of the expected identifier looks for the marker the user chose to input the first identifier element. Then the server also knows the likely marker to be used for that session. For the second, and each subsequent input of the identifiers, the server identifies and verifies that the same and correct marker is used. Thus, the system is able to determine if the user has entered the correct authentication identifier for the session. The displacement coordinates are session-specific and unusable once the session ends. As may be appreciated, such encryption and decryption always uses displacement information that is unique, randomly generated at the point of entry into the system and virtually theft-proof. 
     With respect to an example of the creation of multiple sets of randomized markers for each session, the  FIG. 20  display shows inner wheel  202  having the first set of possible markers organized initially in random order. After each instance of input of an element of identifier data, the markers on the inner wheel are replaced with markers that have been randomized in the next set, as defined or randomized by the server, and as described above. 
     As an example of entry of an element of an identifier and with reference to  FIG. 20 , suppose the identifier of the user is the word ‘B A N K’. For entry of this identifier in accordance with the present invention, the user mentally selects a marker in one of the  16  delineated sections of the annular region, or sector of the interface that includes all of the markers, referred to above as the inner wheel  202 . As shown in  FIG. 20 , sixteen such sectors are used; however, an interface having fewer or more sectors are useful and within the scope of the invention. For an application that uses sixty-identifier elements, the most preferred number of markers and, hence sectors, is sixteen. 
     As also shown in  FIG. 20  the ♥, or ‘heart’ marker is located in sector  214 . Sector  214  extends adjacent to and inside of outer wheel  204  from  214 A to  214 B. The type, nature, shape, color, configuration and number of elements and of sectors on the wheels in  FIG. 20  are exemplary. Virtually any type, nature and number elements may be used, and they may have virtually an infinite number of shapes, sizes and configurations. As also shown in  FIG. 20 , the sector  214  of the inner wheel  202  is adjacent to a group of randomly selected identifier elements ‘b a Z Y’ that have been positioned in a sector of the outer wheel  804  that is radially outward of sector  214  and generally of the same shape and size. In this example, the user guides the inner wheel  202  by actuating button  206  and/or  208  so as to rotate it so that the user-chosen marker, i.e., ♥, is aligned with the first element of the identifier; i.e., the ‘B’. The system is preferably programmed so that the markers can be located within a few degrees of the element of the identifier in either direction and still be considered aligned. In other words a range of distances between the user-chosen marker and each element of the identifier can be defined as acceptable. Once the alignment is reached, the user stops rotating the inner wheel  202  and clicks on the ‘NEXT’ button. Then the system provides the second set of the markers, i.e., the same markers, but which have been randomized by the server in regard to sequence. The system is then ready for the user to enter the next element of the identifier. Next the user again actuates button  206  and/or  208  for rotating the inner wheel to align the chosen marker with the next element, and clicking the ‘NEXT’ button as described above. The user then repeats this process for each of the remaining elements of the identifier so that each one is entered, one after the other, in proper sequence. 
     Preferably, an ‘ENTER’ button is provided for the user to actuate to indicate that the last element of the identifier has been input. Alternatively, the ‘ENTER’ button need not be used where it is not needed, e.g., where the identifier is of a predetermined, fixed length. 
     According to an alternate embodiment, the inner and outer wheels, and the sectors may be interchangeable. In other words, the markers may be placed on and selectable from a sector of the outer wheel, and the inner wheel would include the identifier elements. In other alternate embodiments, the outer wheel may be made rotatable. 
       FIG. 21  illustrates another type of dynamic, graphical authentication interface in which the user chooses the markers on the fly, and relative motion of the region that includes the identifier elements relative to the motion of the markers is linear rather than rotational. The colors/icons/shapes/forms used as markers on the lower bar or the PIN assigned to the end user could also be generated based on logic that could be pre-determined by the end user or by the service provider. This also enables the end user to identify the personalized slider. 
     In the  FIG. 21  embodiment, the interface is referred to as the slider display  216 . The alphanumeric and non-alphanumeric symbols shown in  FIG. 20 , as well as in  FIG. 21  are exemplary, i.e., other graphical symbols and images may be used to practice the invention. Also, the shape, style, configuration, coloring, orientation of the various regions may be varied, so long as relative motion between the identifier elements and markers is provided and measurable. The slider display  216  includes, optionally, a username entry field  218 , password entry field  220 , and selectable arrow buttons  222  and  224  for moving one part or region of the display relative to another part or region upon actuation. In the  FIG. 21  embodiment, the two regions are positioned in rows, one above the other. Each region or row is divided into cells, preferably of about the same size on capable of being position one over the other. Thus the slider display  216  includes a movable lower row  226 , with a plurality of cells, each cell have a marker, such as a spade or trump symbol  228 , i.e., a ‘ ’ below the letter ‘B’ for this example, and a fixed upper row  230 . The lower row  226  is slidingly displaceable in operation through use of navigational mouse clicks on the ‘left arrow’ button  222  and ‘right arrow’ button  224 . Displacement of the moveable lower row  226  of the slider display  216  is measured relative to the fixed upper row  230  in the same manner as is the displacement of the wheel embodiment shown in  FIG. 20  and discussed above, except that the displacement of this type of display is linear rather than radial. The displacement value for each instance of entering an identifier element into the system is sent to and decoded by the server once the user signifies input of the data by using the ‘NEXT’ button  232 . Thus, the acts of transmission of displacement information to the server for the slider display  216  is analogous to that of the wheel embodiment of  FIG. 20 , except that the slider display  216  displacement is linear and the wheel display  200  displacement is rotational. 
     A ‘RESET’ button  234  is preferably provided to enable a user to restart entry of the username, password or other identifier or code. A similar reset capability may also be used with other embodiments, such as with that shown, but not numbered in  FIG. 20 . Icons  236  are provided, optionally, and preferably in the image for displaying the status of entry of elements of the identifier field to indicate how many elements of the username or password have been entered. Preferably the entered elements are not displayed in either the username field  218  or password field  220  as an aid in preventing an “over the shoulder” spy from viewing the field information. Alternatively, an asterisk can be shown in the entry input portions to signify entry of each element. 
     According to an alternate embodiment, the rows shown in  FIG. 21  may be interchanged, that is, the marker may be made to be selectable from the top row, which may be made to be slideable by the user for guiding the marker, and the bottom row may be made to include the possible elements of the identifier. 
     Alternatively, the elements and/or markers on the wheel of  FIG. 20 , and the elements and/or markers in the rows of  FIG. 21  may be customized for a user, e.g., pictures of animals, people, scenes or any other images. Alternatively the markers could use a logic which is known by the user and pre-defined by the server. 
     The user interfaces in  FIGS. 20 and 21  are shown with two identifiers, e.g., username and password. However, the present invention is not limited to two factors; additional factors may be included within the scope of the present invention. For example, a PIN code could be added to make the encryption/decryption system be a three-identifier system. 
     Each of the graphical interfaces shown in the above figures are preferably generated and sent to the user device using conventional software known to one of ordinary skill in the art, e.g., MACROMEDIA FLASH brand software or JAVA brand software or using SVG standards. In a preferred embodiment, FLASH software is used for generating the graphical interfaces. 
     Although specific embodiments of the invention have been described, various modifications, alterations, alternative constructions, and equivalents are also encompassed within the scope of the invention. 
     The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that additions, subtractions, deletions, and other modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims. 
     With reference to  FIGS. 22-28  block diagrams of various process features of the present invention will be described. In  FIG. 22  the server gets non user personalized markers for use in and as shown in the  FIG. 20  or  21  embodiments, and randomly selects some number ‘n’ of markers from the list of available markers and then returns the markers to the client computer&#39;s display. As shown in  FIG. 23 , essentially the same process is used, except that in getting the markers a database that contains user personalized markers is accessed and sets of those markers are selected and randomized prior to returning the sets of markers to the client computer. A preferred process flow at the client computer is illustrated in the  FIG. 24  block diagram, where the process begins with the user going to the login page. Then the client loads the application from the server, or from the local machine, and retrieves one of the randomized marker lists. The user then inputs the elements of the identifier or other code and the client computer then transmits the data over the network to the server. The server then processes the data, and if data entry was successful for that identifier, goes to the next page. If not successful, the server returns control back to the client computer to get another randomized marker list and continue the process as before. 
       FIG. 25  is a block diagram that illustrates the client/server interaction that takes place without encryption, and  FIG. 26  illustrates that interaction with encryption. In  FIG. 25  the client computer make a request and the server gets the market list and returns the list to the client. In  FIG. 26  a similar interaction takes place, but in addition the server decrypts the data received from the client prior to getting the marker list and returning the marker list to the client.  FIG. 27  illustrates the authentication interaction, where, once the data received from the client has been, optionally, decrypted, authentication of that data is performed and then the server returns a success or failure instruction to the client. In  FIG. 28  the authentication process is detailed, so that upon starting the process, mapping displacement to characters under the markers takes place, using the marker list chosen for that session. Then a determination on which marker has been selected by the user for the first element of the identifier, such as a password, is made, using the password stored in the database as a basis for the tentative determination. Next the system validates the rest of the identifier elements by comparing the displacements made by the marker and whether the correct element of the identifier has been matched for each element in sequence. If all correct matches were made, then the server sends a ‘success’ instruction to indicate that authentication was successful. If not all correct matches were made, the server sends a ‘failed’ instruction and the process resumes. 
     As an example of the code that could be used for the type of mappings used in the embodiments of  FIGS. 6-19 ,  FIG. 29-30  provide some typical, preferred pseudo source code that could be used. However, with respect to the coding needed to implement the features of the present invention herein described with reference to the figures, it is believed that all such coding is within the ordinary skill of the art in this field, and that specific applications could be readily provided.