System and method for computer authentication using automatic image modification

Computers can be authenticated using automatically combined images. During an authentication process, a server transmits an image to a client. The transmitted image is combined with a stored image using a randomly selected logical operator to generate a combined image. The combined image is transmitted back to the server. The server has a copy of the transmitted image and the stored image and generates a series of template combined images using different logical operators selected from a set of logical operators to determine whether any of the template combined images match the received combined image. If the received combined image matches one of the template combined images, the user is authenticated.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present disclosure is directed to authentication systems in general and, more specifically, to a system and method for computer authentication using modification of an image using a shared secret.

2. Description of the Related Art

Early computer systems usually involved a large mainframe computer to which a number of terminals were directly connected. In early computer systems, these terminals were often in the form of teletype machines. Early computers also had card readers that were also directly connected to the machine. Network security generally involved simply providing a user identification (ID) and password.

The development of networked computer systems and a client server architecture meant that computer terminals were often connected together over great distances using a wide-area network (WAN), such as the Internet. Early computer terminals evolved from a “dumb” terminal to sophisticated computers with a significant amount of computing power in each of the various system servers and clients.

Computer security has become a much greater concern because of the accessibility of many computer networks via a WAN. Early computer security was generally directed towards authentication of a user wishing access to a computer system or network. Different techniques have evolved to provide authentication of the user. The most common form is a user name and password that should be known only to the individual user and to the server with which the user wishes to connect.

Although techniques have been developed to authenticate a user wishing access to a computer system or network, there is still a significant need for techniques to authenticate the computer system or network to the user. For example, a user accessing a bank account via the WAN wants to be sure they are communicating with their bank instead of an unscrupulous computer server that “spoofs” the actual bank website. If the user is fooled into believing that they have accessed their bank website, the user may unknowingly divulge confidential information such as user names, passwords, account numbers, credit card numbers, and the like. Unfortunately, the user often discovers the spoofing only after their account has been hacked and money has disappeared from their account.

Therefore, it can be appreciated that there is a significant need for techniques for computer and user authentication. The present disclosure provides this, and other advantages, as will be apparent from the following detailed description and accompanying figures.

DETAILED DESCRIPTION OF THE INVENTION

As noted in the background section, early computer security generally related to the problem of user authentication. However, the development of sophisticated computer networks or distributed networks accessible via a wide-area network (WAN), such as the Internet, have given rise to a need for the authentication of the computer system as well as the individual. In one example provided above, an individual wants to authenticate their bank computer network prior to providing any confidential information to an unauthenticated computer network. Similarly, government or military computer networks have a great need for increased security in the form of computer network authentication in addition to authentication of the individual seeking access to the computer network. That is, it is important for a user to authenticate that they are truly accessing a government or military computer network prior to disclosing any confidential or proprietary information. Similarly, large businesses may have distributed computer networks and employees accessing the network must be authenticated to the computer system. In addition, the techniques described herein can be used to authenticate the computer to the individual. Specifically, a secret is initially shared between two elements in the system. At least a portion of the shared secret is known to the user. At a subsequent time, when authentication is required, one system element creates an image using the shared secret and transmits that image. The other system element with knowledge of the shared secret captures the image and analyses it to determine if it was constructed in accordance with the shared secret. Since the shared secret was known only to two trusted elements within the system, if the image contains the shared secret, those elements can be authenticated. Furthermore, the user knows at least a portion of the shared secret, referred to herein as a shared modification secret, that will permit the user to modify the image and transmit the modified image back to the element of the system that generated the image to thereby authenticate the individual as well as the system elements.

The present disclosure is embodied, in one example, in a system100illustrated inFIG. 1. A computer102having a display104is coupled to a network106, such as the Internet, via a communication link108. The computer102includes a network interface controller (NIC) (not shown) to provide the necessary connectivity to the communication link108. The network106inFIG. 1generically represents networks and typically would represent a wide-area network (WAN). The network106may be implemented as the Internet, or a private WAN. The system100is not limited by the specific form of the network106. The system100provides a technique to verify the identity of a user of the computer102as well as the computer102and the server110. Once example of user authentication is described in pending U.S. application Ser. No. 12/961,392 filed on Dec. 6, 2010, entitled “System and Method for Identity Verification on a Computer,” and assigned to the assignee of the present disclosure. That application is incorporated herein by reference in its entirety. The computer102may be a private computer (e.g., an individual's personal computer) or a public computer (e.g. in a library or hotel lobby). Furthermore, although the computer102is illustrated as a personal computer, those skilled in the art will appreciate that the principles of the system100are applicable to any computing device capable of rendering images, such as an automated teller machine (ATM), point-of-sales (POS) terminal, or the like. Thus, the system100is not limited to a particular form of computing device.

The system100includes a server110coupled to the network106via a communication link112. In the following discussions, the server110generically represents the computer system or computer network which requires authentication to the user of the computer102. Those skilled in the art will appreciate that the server110can be implemented in a variety of different fashions as a single server, multi-server, large frame computer, or the like. The server110may also represent a computer network, such as a government, military, or corporate computer network that the computer102wishes to access. The system100is not limited by the specific implementation of the server110.

As will be described in greater detail below, the server110may initiate the authentication process. For example, the server110could host a website for on-line purchases. Alternatively, the server110may host the website for a bank or other financial institution. In yet another alternative embodiment, the server110may host a secure website, such as a business, law firm, or the like. In this embodiment, the server110effectively acts as a gateway and may provide access to a secure local area network (LAN). If the computer102wishes to access the server110, the server initiates the user authentication process. In a simple embodiment, user authentication may simply be a user ID and password. Other authentication processes, such as described in the above-referenced patent application (U.S. application Ser. No. 12/961,392) may be used.

In one embodiment, the system100utilizes a mobile communication network, such as a public land mobile network (PLMN)120coupled to the network106via a communication link122. Those skilled in the art will appreciate that the communication links108,112, and122may be implemented in many different forms, including hard wired, fiber optic, microwave, wireless, or the like. For example, the communication link108connecting the computer102to the network106may be implemented using a dial-up modem, cable modem, satellite connection, wireless network, or the like. The system100may be satisfactorily implemented by one or more of these technologies, alone or in combination, for the communication links108,112, and122. The system100is not limited by the specific form of these communication links.

A base station126is coupled to the PLMN120via a backhaul communication link128. Those skilled in the art will appreciate that a typical wireless communication network, such as the PLMN120, includes a large number of base stations. However, for the sake of clarity,FIG. 1illustrates only the base station126.

A mobile communication device130is coupled to and in communication with the base station126via a wireless link132. The mobile communication network, including the PLMN120, base station126, and mobile communication device130are illustrated inFIG. 1as a generic wireless communication system. Those skilled in the art will appreciate that the elements ofFIG. 1that make up the wireless network may be implemented in accordance with any known wireless communication system. For example, the PLMN120, base station126and mobile communication device130may be implemented in accordance with any known communication protocol, such as GSM, CDMA, WiFi, WiMAX, 3G, 4G, LTE, or the like. Operational details of these various communication protocols are known in the art and need not be described in greater detail herein.

As will be described in greater detail below, the server110generates an image134in accordance with the shared secret and transmits the image to the computer102via the network106. The image134is shown on the display104. In one embodiment, the shared secret is known to both the server110and the computer102. In this embodiment, the computer102may analyze the image134on the display104to determine if it was created in accordance with the shared secret. If the image134on the display104is generated in accordance with the shared secret, the server110is authenticated. To authenticate the user of the computer102, the user modifies the image134on the display104in accordance with the shared modification secret. For example, the user can draw a rectangle136around the image134as illustrated inFIG. 1. Other examples are provided below. The user-modified image is transmitted back to the server110where the server determines if the image modification has been made in accordance with the shared modification secret known to the user. If the image has been modified in accordance with the shared modification secret, the user is also now authenticated.

In an alternative embodiment, the mobile communication device130is used to authenticate the server110and the user of the computer102. To authenticate the server110, the user snaps a picture of the image on the display104using an imaging capability in the mobile communication device130, such as a camera. The image captured by the mobile communication device130is evaluated to determine if it contains the shared secret. If the image contains the shared secret, the server110is authenticated because only the server110and the mobile communication device130have knowledge of the shared secret. The user of the computer102and the mobile communication device130may be authenticated when the user modifies the image on the display at the mobile communication device130and transmits the modified image back to the server110via the PLMN120. In turn, the server110analyzes the modified image to determine if it has been modified in accordance with the shared modification secret. If the image transmitted from the mobile communication device130has been modified in accordance with the shared modification secret, the user of the computer102and mobile communication device130can be authenticated.

In addition, the server110has stored information relating the identity of the mobile communication device130to a particular user. When the image on the display104is captured by the mobile communication device130and modified in accordance with the shared modification secret, the captured and modified image transmitted from the mobile communication device130to the server110via the PLMN120also contains information identifying the mobile communication device. The server110may compare the information identifying the mobile communication device to determine that it is associated with the user of the computer102. This provides further authentication of the user in that the user of the computer102is associated with the identity of the mobile communication device130. This means that the user present at the computer102must also have possession of the mobile communication device130at the time the image134is shown on the display104. Furthermore, only the authenticated user would know the portion of the shared modification secret that will permit modification of the image on the display104that was captured by the mobile communication device130.

In yet another alternative embodiment, the image on the display104may be modified by the user operating the computer102such that the image on the display104is modified in accordance with the shared modification secret. In this embodiment, the mobile communication device130captures the modified image from the display104and transmits the captured modified image to the server110via the PLMN120in the manner described above. In either embodiment, the server110receives a modified image (modified by the computer102or the mobile communication device130) and analyzes the modified image to determine if it has been modified in accordance with the shared modification secret.

FIG. 2is a functional block diagram of the server110. The server110includes a central processing unit (CPU)140and a memory142. In general, the memory142contains data and instructions that are executed by the CPU140. The CPU140may be implemented as a conventional microprocessor, microcontroller, digital signal processor, application specific integrated circuit, or the like. The server110is not limited by the specific implementation of the CPU140.

Similarly, the memory142may be implemented with a variety of known technologies. The memory142may include random access memory, read-only memory, programmable memory, and the like. In one embodiment, a portion of the memory142may be integrated into the CPU140. The server110is not limited by the specific form of the memory142. The shared secret is stored in the memory142in association with the individual user. The shared secret may be stored in a protected form, such as encrypted data, secure location, or the like.

FIG. 2also illustrates a network interface controller (NIC)144. The NIC144generically represents the interface between the server110and the network106. The specific implementation of the NIC144depends on the particular interface type and is within the scope of knowledge of one of ordinary skill in the art. For example, the NIC144may be an Ethernet interface coupled to a network access point (not shown). Alternatively, the NIC144may be a wireless interface or other known form of interface depending on the nature of the communication link112between the server110and the network106. The server110is not limited by the specific implementation of the NIC144.

The server110also includes an image processor146and an image storage area148. As will be described in greater detail below, the image processor146may be used in one embodiment to generate images in accordance with the shared secret. If the image processor146generates the image for transmission to the computer102, a copy of the image is temporarily stored in the image storage area148for later comparison with a captured image. As described above, the user captures the image on the display104with the mobile communication device130and analyzes it to verify that the image on the display104contains the shared secret known only to the authentic server110and to the authentic computer and/or the mobile communication device130. If the image contains the shared secret, the server110is authenticated by the computer102and/or the mobile communication device130that determines that the image on the display104was generated in accordance with the shared secret.

If the computer102is a public computer (e.g., in a library or hotel lobby), it will not be aware of the shared secret. In this embodiment, the shared secret is known by the mobile communication device130. The computer102receives and displays the image on the display104, but cannot analyze the image because it does not know the shared secret. The mobile communication device130captures the image on the display104and performs the analysis to determine if the captured image was generated in accordance with the shared secret to thereby authenticate the server110. The user operates the mobile communication device130to modify the captured image in accordance with the shared modification secret. The mobile communication device130transmits the captured and modified image, via the PLMN120and the network106, to the authentication server110. The image processor146analyzes the modified image to determine if it was modified in accordance with the shared modification secret. If the image was modified in accordance with the shared modification secret, the user is thereby authenticated.

FIG. 2also illustrates a clock150. As will be described in greater detail below, the image processor146can use the clock150to generate a time of day or date stamp when generating an image or when selecting an image from the image storage area148. The date stamp can be used to make sure that the image is current. That is, the image is only valid for a predetermined period of time. In this embodiment, the modified image must be returned to the server110within a predetermined period of time.

The various components ofFIG. 2are coupled together by a bus system152. The bus system152may comprise an address bus, data bus, control bus, power bus, and the like. For the sake of clarity, those various buses are illustrated inFIG. 2as the bus system152.

Those skilled in the art will appreciate that some of the functional blocks inFIG. 2may be implemented as a set of instructions stored in the memory142and executed by the CPU140. For example, the image processor146can be implemented as a separate device (e.g., a digital signal processor) or implemented as a set of instructions stored in the memory142. Because the image processor146performs a separate function, it is illustrated as a separate block in the functional block diagram ofFIG. 2.

Similarly, the image storage area148may be implemented as a separate storage component or integrated into the memory142. The image storage area148may be implemented as any suitable data structure. In one embodiment, the image storage area148may be implemented as a database that may be an integral part of the server110or implemented as a separate component coupled to the authentication processor110. For example, the image storage area148may be coupled to the server110via a local area network (LAN). In a distributed computer network, the image storage area148may be coupled to the network106and in communication with the server110via the network106.

The mobile communication device130performs a number of functions. First, it takes a picture of an image displayed on the display104of the computer102. Secondly, it analyzes the captured image to determine whether the image is constructed in accordance with the shared secret. Details of the shared secret analysis and examples are provided below. If the image is constructed in accordance with the shared secret, the server110is authenticated. In that event, the mobile communication device130accepts user input to modify the image. The mobile communication device130provides a file name for the modified image. In an exemplary embodiment, the file name of the image may include the IMSI of the mobile communication device130and a time stamp indicating the time at which the image was captured or modified. In addition, the mobile communication device130sends the modified image to a predefined address. The mobile communication device130executes a simple application program that allows the capture and analysis of an image, the modification of the captured image, and the automatic transfer of the modified image, via the PLMN120, to a URL associated with the server110. It should be noted that the image generated in accordance with the shared secret does not contain any embedded data that requires extraction and analysis by the mobile communication device130. The shared secrets are intended to provide simple image analysis that may be readily performed by the client computer102or the mobile communication device130. Examples of images constructed in accordance with the shared secret are provided below.

FIG. 3is a functional block diagram of the mobile communication device130. The mobile communication device130includes a CPU160and memory162. In general, the memory162contains data and instructions that are executed by the CPU160. The CPU160may be implemented as a conventional microprocessor, microcontroller, digital signal processor, application specific integrated circuit, or the like. The mobile communication device130is not limited by the specific implementation of the CPU160.

Similarly, the memory162may be implemented with a variety of known technologies. The memory162may include random access memory, read-only memory, programmable memory, and the like. In one embodiment, a portion of the memory162may be integrated into the CPU160. The mobile communication device130is not limited by the specific form of the memory162. The memory162is also used to store the shared secret. As will be described in greater detail below, the shared secret is known only to the authentic server110and to the authentic client computer102and/or the authentic mobile communication device130. In this embodiment, the mobile communication device130captures the image on the display104(seeFIG. 1) of the computer102and analyzes the captured image using the shared secret stored in the memory162.

FIG. 3also illustrates a network transmitter164and a network receiver166. In many implementations, the transmitter164and receiver166share common circuitry and are implemented as a transceiver168. The transceiver168is coupled to an antenna170. The transceiver168is illustrated inFIG. 3as a generic device. Those skilled in the art will appreciate that the specific implementation of the transceiver168may depend on the particular PLMN120with which the mobile communication device130communicates. For example, the transceiver168in one mobile communication device130may be configured for operation in accordance with GSM standards while the transceiver168in a different mobile communication device may be configured for operation in accordance with CDMA or other communication protocols. However, as noted above, the system100may be readily implemented on mobile networks using various communication protocols and is not limited to any particular communication protocol.

In addition, the mobile communication device130includes a display172and keypad174. The display172may be a black and white or color display and, in some embodiments, may be a touch-sensitive display. In this embodiment, the functionality of the keypad174may be combined with the display172. These input/output devices operate in a conventional manner. In operation, the user manipulates the keypad174or, as is common in many modern mobile communication devices, uses a touch-sensitive display172to modify the captured image shown on the display. Examples of image modification will be described in detail below.

FIG. 3also illustrates an imaging device176. The imaging device176may include a charge-coupled device and a lens (not shown), as is common in many wireless devices. Technical details of the imaging device176to capture an image are well known in the art, and need not be described in greater detail herein.

An image analyzer178uses the shared secret stored in the memory162to analyze the captured image to determine whether the captured image contains the shared secret. In operation, the image analyzer178may typically be implemented as a set of instructions stored in the memory162and executed by the CPU160. Those skilled in the art will appreciate that the image analysis can be readily implemented by the mobile communication device130without extensive signal processing or excessive computations.

The various components inFIG. 3are coupled together by a bus system180. The bus system180may include an address bus, data bus, control bus, power bus, and the like. For the sake of clarity, those various buses are illustrated inFIG. 3as the bus system180.

FIG. 4is a flow chart illustrating an exemplary embodiment of a process to establish a shared secret. At a start200, there is the server110and the mobile communication device130. In step202, the mobile communication device130and authentication server110establish a secure connection. The secure connection can be established using a variety of known techniques. In one example, the mobile communication device130may have web browsing capability. In this embodiment, the mobile communication device130can establish a secure connection (e.g., https) with the server110via the network106. In another example, the mobile communication device130may be physically connected to the server110either directly or through another computer coupled to the server. In this embodiment, there is a secure hard wired connection between the mobile communication device130and the server110. In yet another embodiment, the secure connection can be established between the server110and another authenticated computer, such as the authenticated client computer102(not available if the computer102is a public computer) and the shared secret downloaded to a memory device, such as a flash drive. Subsequently, the flash drive can be connected to the authenticated computer to which the mobile communication device130can be connected. The shared secret is thus side-loaded from the memory device to the mobile communication device130. These are just a few examples of the number of different known techniques that can be used to establish the secure connection.

In step204, the server110shares a secret with the wireless communication device130. Those skilled in the art can appreciate that either element (i.e., the mobile communication device130or the server110) may initially generate the secret. As will be discussed in greater detail below, the secret will be related to an image such that analysis of the image will be relatively simple. The image need not be created at the time that the secret is shared, but must be generated in accordance with the shared secret. Furthermore, it is important to note that the image itself is not provided to the computer102or the mobile communication device130in advance of a log-in process and need not be known to the user at all. That is, the user may not be aware of all aspects of the shared secret used to generate the image. However, the user must be aware of the shared modification secret that will allow the user to modify the image transmitted by the server110.

Some conventional systems allow a user to select a single image during an initial set-up process. Anytime a user logs onto that web site, the user-selected image is displayed as a simple form of server authentication. However, this is not based on a shared secret contained within the image, as is described herein.

In step206, the mobile communication device130and the server110store the shared secret in a secure location within the respective devices and the process ends at208. At this point, at least one portion of the shared secret is known only to the mobile communication device130and the server110. The portion of the shared secret known to the mobile communication device130is that the image generated by the server110and transmitted to the computer102(seeFIG. 1) will be generated in accordance with the shared secret if the server110is the authentic server. However, the mobile communication device130need not be aware of the nature of the modification of the image to be generated by the user. This provides an even greater level of security. If the mobile communication device130is lost or stolen, an unauthorized individual who may find the mobile communication device cannot be authenticated because they do not know the manner in which the captured image must be modified. In contrast, the server110is aware of the user modification that must be made to the image. The various system elements are authenticated because the mobile communication device130can analyze the image from the server110to determine if it was generated in accordance with the shared secret thereby authenticating the server110. In turn, the user must modify the generated image in accordance with the shared modification secret known only to the authentic server110and the authentic user. The modified image is transmitted back to the server110to thereby complete the authentication process. Because the secret was initially shared during a secure connection, the mobile communication device130has confidence in the authenticity of the server110.

At a later point in time, the computer102wishes to establish a connection with the server110via, by way of example, the network106, as illustrated inFIG. 1. It is at this stage that the user of the computer102wishes to authenticate the server110. This process is illustrated inFIG. 5where, at a start220, the computer102and server110are each connected to the network106via their respective communication links108and112. At step222, the computer102generates a request to establish a communication link. This process may be initiated, for example, by the computer102navigating to a website associated with the server110.

In step224, the server110generates an image using the shared secret known only to the authentic server110and the authentic mobile communication device130. In one embodiment, the server110dynamically generates the image using the shared secret after the computer102requests access to the server110. However, those skilled in the art will appreciate that the server110may also generate the image using the shared secret in advance of any request for access by the computer102. The generated image may be stored in association with identity data for the authentic computer102or a specific user, in association with a user name (e.g., user ID) and password. Thus, step224may be executed in advance of the request for a communication link in step222with the generated image being stored for future use.

In step226, the server110transmits the image to the computer102via the network106and the communication links112and108. Examples of images generated using the shared secret are described below.

In step228, the user captures the image134on the display104(seeFIG. 1) using the imaging device176on the mobile communication device130(seeFIG. 3). In step230, the image analyzer178within the mobile communication device130analyses the image to determine if it contains an element in accordance with the shared secret.

In decision232, the mobile communication device130determines whether the image contains the shared secret. If the captured image does not contain the shared secret, the result of decision232is NO and, in step234, the server110is not authenticated. If the server110is not authenticated, the mobile communication device130will not permit the modification of the captured image and will not transmit the captured image back to the server110. In addition, the mobile communication device130may display a message on the display172indicating that the server110is not authenticated. The user may thus discontinue communication between the computer102and the unauthenticated server and the authentication process ends at248.

If the captured image does contain the shared secret, the result of decision232is YES and in step236, the server110is authenticated. In step238, the user operates the keypad174(seeFIG. 3) or the touch-sensitive display172to modify the image in accordance with the shared modification secret known only to the authentic user and the authentic server110. In step240, the mobile communication device130transmits the modified image back to the authentic server110via the PLMN120as described above.

The server110analyzes the modified image in decision242to determine if the image has been modified correctly. If the image has not been modified correctly, the result of decision242is NO and, in step244, the user is not authenticated. If the user is not authenticated, the server will terminate communications with the computer102(seeFIG. 1).

If the image has been modified correctly, the results of decision242is YES and, in step246, the user is authenticated by the server110. Following the user authentication in step246, or the failure to authenticate the server in step234or the failure to authenticate the user in step244, the process ends at248. Thus, the system100provides a technique for authenticating various system elements as well as the user in the examples described herein, the system authenticates the server110, the computer102, and the individual user operating the computer102and the mobile communication device130.

FIGS. 6-12provide non-limiting examples of the type of images that can be created using the shared secret. It is intended that the authentication process is based on elements within the image itself rather than some form of data encrypted or embedded within the image. Thus the images generated using the shared secret may be readily analyzed by the mobile communication device130to authenticate the server110. For example,FIGS. 6A and 7Aillustrate images where there is a geometric relationship between objects in the image.FIG. 6Aillustrates a seemingly random collection of geometric shapes, such as squares, triangles, rectangles, circles, at the like. However, the shared secret in the example ofFIG. 6is that the image must allow the formation of a square250by connecting the vertices of four triangles252. The precise location of the triangles252within the image is not critical. Rather, it is the spatial relationship between the triangles252that permits the square250to be formed by connecting lines between the vertices of the triangles. Without knowledge of this shared secret, the server110cannot generate an image having the appropriate geometric relationship. Furthermore, the mobile communication device130cannot analyze the image ofFIG. 6Awithout knowledge of the shared secret. Thus, each of the system elements (e.g., the mobile communication device130and the server110) must have knowledge of the shared secret. If either of these system elements is not the authentic system element, it will not contain the knowledge of the shared secret and cannot provide the proper authentication. In addition, the image ofFIG. 6Alooks like a random arrangement of objects unless one knows the shared secret.

As noted above, the user does not need to be aware of the shared secret shared between the server110and the mobile communication device130. The mobile communication device130can capture the image on the display104and perform the analysis described above. The user may be aware of the secret shared between the server110and the mobile communication device130. However, the user must be aware of the shared modification secret that dictates the modifications to the captured image that will be made by the user. As illustrated inFIG. 6B, the shared modification secret is that the user will draw a rectangle253around four triangles (e.g., the triangles252) in the captured image. The rectangle253can simply be a line around the triangles252, and the area within the rectangle253may be transparent or opaque. The mobile communication device130transmits the modified image ofFIG. 6Bto the server110via the PLMN120as described above. The server110is aware of the shared secret used to generate the image ofFIG. 6Aand is also aware of the shared modification secret shared that guides the modification of the image, as shown inFIG. 6B. The server110will analyze the received image ofFIG. 6Bto determine whether the image contains the shared modification secret. If the image is modified in accordance with the shared modification secret, the user is thereby authenticated. Other types of shared secrets, such as a circle around the triangles252, or a circle around a square, or other similar simple modification may also be used as the shared modification secret.

FIG. 7Acan be a picture of a real house or a graphically generated house. Again, without knowledge of the shared secret, the image inFIG. 7Aappears to be a normal house. However, the shared secret is that the tops of the windows254are all aligned. Thus, it is not merely the presence of the house in the image ofFIG. 7Athat authenticates the server110, but that the geometric relationship of the windows254is such that the tops of the windows are in alignment. Without knowledge of this shared secret, the server110cannot generate the appropriate image and the mobile communication device130cannot analyze the image in accordance with the shared secret. Conventional authentication systems may simply send the picture of a house that is known to the user. In contrast, the object inFIG. 7Ais not merely identified by the user as a known object, but must contain the shared secret element (e.g., the tops of the windows254in alignment). Furthermore, the image of the house may change from one authentication process to the next such that the image inFIG. 7Ais not a static image that is always presented to the user upon log-in. In an exemplary embodiment, the user of the mobile communication device130need not even know the shared secret used to generate the image ofFIG. 7A.

However, the user must be aware of the shared modification secret used to modify the image ofFIG. 7A. For example, the shared modification secret could be that the user must place an “X” in each of the windows254to generate the image illustrated inFIG. 7B. As noted above, the user need not know that the shared secret shared between the server110and the mobile communication device130is that the windows254are in alignment at the top. The user simply knows that he must place an “X” in each of the windows. Thus, the image ofFIG. 7Bis transmitted by the mobile communication device130to the server110via the PLMN120in the manner described above. The server110analyzes the modified image to determine if it has been modified in accordance with the shared modification secret. If the image has been appropriately modified, the user may thus be authenticated by the server110.

In another example embodiment, there is a mathematical relationship between objects in an image. For example,FIG. 8Ais similar toFIG. 6Ain that it illustrates a number of geometric shapes in what appears to be a random arrangement including a square256and a triangle258. However, in the example ofFIG. 8A, the shared secret is that the square256and triangle258are separated by a distance260that is 2.5 times the height of the square256. The absolute location of the square256and triangle258within the image is not critical. Similarly, the distance260between the square256and the triangle258can vary from one image to another. What is critical is that the distance separating these two objects has a precise mathematical relationship with the height of the square256. Thus, the image inFIG. 8Acan look different each time it is generated at a log-in request so long as the shared secret mathematical relationship between objects is maintained.

In the examples ofFIGS. 6B and 7B, the modification involved these elements that were part of the shared secret shared between the server110and the mobile communication device130. For example, inFIG. 6B, the user must draw the rectangle253around the triangles252that were used to form the square250. However, the shared modification secret need not be related to the elements that were part of the shared secret shared between the server110and the mobile communication device130. For example, inFIG. 8B, the shared modification secret is that the user must place a “+” sign261in a circle (e.g., the circle263inFIG. 8B). AlthoughFIGS. 8A-8Bcontain only one circle, it is possible that the image might contain multiple circles and the user can put a “+” sign in any of the circles, in all circles, in the smallest circle, in the largest circle, or the like. Those skilled in the art will appreciate that a number of variations (e.g., draw a triangle or a square around the circle263) may be utilized as the shared modification secret. As discussed with other modified images, the mobile communication device130transmits the modified image ofFIG. 8Bto the server110via the PLMN120, as described above. The server110analyzes the modified image ofFIG. 8Bto determine if it has been modified in accordance with the shared modification secret. The user is authenticated if, and only if, the image has been modified in accordance with the shared modification secret.

FIG. 9Aillustrates another example of the mathematical relationship between objects within the image.FIG. 9Ais similar toFIG. 7Ain that it can be a picture of a real house or a computer-generated image of a house. In the example ofFIG. 7A, the shared secret was that the tops of the windows254are in alignment. InFIG. 9A, the shared secret is that the windows254are separated by a distance262that is one-half the width of the right-most window. Thus, the shared secret may contain a mathematical relationship between objects in the image that are only known if the mobile communication device130and server110both know the shared secret.

In the example ofFIG. 9A, the shared modification secret may be that the user must draw an “X”262in the largest window to thereby generate the modified image ofFIG. 9B. Alternatively, the shared secret may be that the user places an “X” in the left most window, which would result in the same modified image ofFIG. 9B. Those skilled in the art will appreciate that a number of other shared modification secrets may also be utilized. For example, in one embodiment, the user must draw a circle around smoke anywhere in the image. In the image ofFIG. 9A, the smoke emanates from the chimney of the house. Thus, the user would draw a circle around the smoke coming from the chimney. In a different embodiment, the image could be that of a camp scene with smoke emanating from a campfire. Without any knowledge of the shared secret shared between the server110and the mobile communication device130, the user would simply know that they must circle smoke in the image. Other simple modifications, such as an “X” on the door, a circle around the two windows on the right, or other modifications may also be readily employed by the system100. As with other images, the captured image ofFIG. 9Bis transmitted by the mobile communication device130to the server110via the PLMN120. The server110analyzes the modified image to determine if it has been modified in accordance with the shared modification secret. If the image has been modified in accordance with the shared modification secret, the user may be authenticated.

In yet another example, the shared secret may be that the picture contains a predetermined number of objects or certain types of objects within the picture. For example, the image of the house inFIGS. 7A and 9Acontain different shared secrets in images that are quite similar. In yet another example of a shared secret, the image ofFIG. 7Amust contain exactly four windows254and one door. Thus, the same image (e.g.,FIG. 7A) may be used with different shared secrets.

Similarly, the same image (e.g.,FIG. 7B) may be used with a number of different shared modification secrets. For example, the user can place the “X”255in each of the windows254, as illustrated inFIG. 7B. Alternatively, the shared modification secret may be to place the “X”255only in the windows254to the right of the door, to the left of the door, to the closest windows on each side of the door, or the like. Furthermore, as discussed above, the shared modification secret may be unrelated to the elements of the shared secret shared between the server110and the mobile communication device130. For example, the shared modification secret may be to circle smoke in the image, to place a triangle around the smoke in the image, or the like. Those skilled in the art will appreciate that a number of different variations of the shared modification secret may be used for any given image.

In another example, the image inFIG. 10Aappears similar to the images inFIGS. 6A and 8Aand contains a number of different geometric shapes (e.g., circles, triangles, etc.). The shared secret inFIG. 10Ais that the image must contain exactly three triangles264-268. In yet another variation, the shared secret may be thatFIG. 10must contain the three triangles264-268, but that two of the triangles must be equilateral triangles (e.g., the triangles264-266), while the third triangle must be a right triangle (e.g., the triangle268). Thus, the shared secret may be the number of objects (e.g., the number of triangles) and/or type of objects (two equilateral triangles and one right triangle).

The shared modification secret can include a variety of possible modifications. One possible modification is to draw a circle267around the largest triangle (e.g., the triangle266) as shown inFIG. 10B. Alternatively, the shared modification secret may be to draw a circle around one equilateral triangle (e.g., either the triangle264or the triangle266). Other shapes, such as a square around the triangle266or a circle around a circle, a square around a circle, or the like may be used as the shared secret image shown inFIG. 10B. As discussed above, the mobile communication device130transmits the modified image ofFIG. 10Bto the server110via the PLMN120. The server110determines whether the image has been modified in accordance with the shared modification secret. If the image has been modified in accordance with the shared modification secret, the user is thereby authenticated.

FIG. 11Aillustrates yet another example of geometric shapes constructed in accordance with a shared secret. In the example ofFIG. 11A, the different geometric shapes must each have a different color with the exception of two triangles270, which must be blue. In this example, it is not the specific shape of the triangles (e.g., equilateral or right triangles), but the number of triangles (e.g., two triangles) and the color of the triangles (e.g., blue).

In turn, there may be a number of shared modification secrets. For example, the shared modification secret may be that the user must draw a circle around each triangle, or a circle272around the smallest triangle (e.g., the small triangle270) and a square274around the largest triangle (e.g., the large triangle270), as illustrated inFIG. 11B. Alternatively, the shared modification secret may require the user to place an “X” through the red object in the image. Alternatively, the user must draw a line between the two green images or the two squares, or the like in the image. Thus, those skilled in the art will appreciate that a number of different shared modification secrets may be used with the same image.

In yet another example, the shared secret shared between the server110and the mobile communication device130may be that the image always contains someone named “George,” such as illustrated inFIG. 12Awhere the picture of Mount Rushmore contains an image of George Washington. In turn, the shared modification secret may be that the user must draw a mustache on anyone named “George” in the image, to generate the modified image ofFIG. 12B. In examples where an image contains multiple persons named “George,” the user can modify the image to place a mustache on each person named “George” in the image. Other variations, such as placing a mustache on the image of the person named “George” on the left side of the image may also be used.

FIGS. 6A-12Aillustrate individual examples of shared secrets contained within images. However, those skilled in the art will appreciate that the shared secret may be combinations of objects described above or multiple shared secrets. For example, the image ofFIG. 7Amay be a combination of shared secrets such as the precise number of windows254and doors, the alignment of windows, and the color of the house. Furthermore, the spacing between the windows254inFIG. 7Amay be yet another shared secret.

Those skilled in the art can appreciate that the analysis of the images to determine whether the shared secret is present is relatively straight forward so long as the mobile communication device130and server110know the shared secret. The mobile communication device130can quickly analyze any of the images illustrated in the examples ofFIGS. 6A-12Ato determine whether the image contains the shared secret. Since only the authentic mobile communication device130and the authentic server110know the shared secret, only those two devices can perform the process described above. If the server110is not the authentic server, it cannot generate an image in accordance with the shared secret. The mobile communication device130can quickly discern that the image does not contain the shared secret such that the server would not be authenticated in step234ofFIG. 5. Thus, the mobile communication device130can readily authenticate the server110on the basis of the shared secret.

Similarly, the server110can readily determine whether the image has been modified in accordance with the shared modification secret. Thus, the system described herein can be used to authenticate both the server110by analysis of the shared secret shared between the server110and the mobile communication device130and also authenticate the user by virtue of the shared modification secret.

Those skilled in the art will appreciate that the process described above is particularly valuable when the computer102is a public computer whose authenticity cannot be readily verified. However, if the client computer102is a private computer that can be authenticated to the server110, the image analysis described above can be performed by the computer102itself rather than the mobile communication device130. In this alternative embodiment, it is not necessary to capture the image on the display104using the imaging device176in the mobile communication device130. Rather, the image analyzer178illustrated inFIG. 3can be implemented within the computer102to perform the same form of image analysis to thereby determine whether the image is constructed in accordance with the shared secret. In this embodiment, the shared secret is stored directly in the computer102. Furthermore, in this embodiment, the user can modify the image directly on the computer102. The various modifications illustrated inFIGS. 6B-12Bcan be easily performed on the computer102using readily available software programs. In this embodiment, the modified image can be sent directly from the computer102to the server110via the network106. Alternatively, the modified image on the display104can be captured by the mobile communication device130and transmitted back to the server110via the PLMN120as described above.

The shared secrets may be changed by both the mobile communication device130and the server110periodically or based on a network update mechanism or physical update mechanism to the mobile communication device130or the server110.

In yet another embodiment, the server110(seeFIG. 1) and the unauthenticated computer102and/or mobile communication device130share stored image data. In this embodiment, the server110transmits one image to the unauthenticated computer102in the manner described above. That is, the server110transmits a first image data to the unauthenticated computer102for display on the computer display104. In one embodiment, the image is known to the user and thus serves as a means of authenticating the server110itself. Alternatively, the image displayed on the display104may be unknown to the user. In either event, the image received from the server110is combined with a previously stored image.

In one embodiment, the previously stored image is stored within the unauthenticated computer102. In this embodiment, the image transmitted from the server110is combined with the image previously stored on the unauthenticated computer102to generate a combined image. The combination process will be described in greater detail below. The combined image may be returned to the server110directly by the unauthenticated computer102via the communication link108. Alternatively, the combined image may be shown on the display104and the combined image captured by the imaging device176(seeFIG. 3) on the mobile communication device130. In this embodiment, the combined image is captured by the mobile communication device130and returned to the server110via the PLMN120. The PLMN120may be coupled to the server110via the network106, or may have a direct link (not shown) to the server110.

In yet another alternative embodiment, the stored image is not stored within the unauthenticated computer102, but is stored within the mobile communication device130. In this embodiment, the server110transmits the first image to the unauthenticated computer102in the manner described above. The unauthenticated computer102displays the first image on the display104in its original form. In this embodiment, the imaging device176(seeFIG. 3) of the mobile communication device130captures the original image and combines the captured image with the image previously stored in the mobile communication device130. Thus, the combined image is generated within the mobile communication device130rather than the unauthenticated computer102. The combined image is returned to the server110via the PLMN120, as described above.

The combined image is generated by combining the original image transmitted from the server110with the previously stored image using a logical operator, such as AND, OR, NAND, NOR, and XOR, and the like. That is, the image transmitted from the server110is combined with the stored image using a selected one of the logical operators. The combination image is generated by combining image data bits using the selected logical operator. In one embodiment, the unauthenticated computer102or mobile communication device130that will combine the image transmitted from the server110with the stored image can use a pre-selected logical operator. In this embodiment, the combined image will always be generated using the pre-selected logical operator. For a greater level of security, the device generating the combined image (i.e., either the unauthenticated computer102or mobile communication device130) can randomly select one of the available logical operators for use in generating the combined image. In this manner, an unscrupulous individual has greater difficulty in attempting to generate a combined image because the combined image may look different from one authentication process to the next even though the image transmitted from the server110and the stored image are identical from one authentication to the next.

Because the image combining process merely uses a logical operator to combine data bits from the first and second images, the processing requirement by the unauthenticated computer102or mobile communication device130is relatively low.

As noted above, the combined image is sent to the server110. The server110stores both the original image transmitted to the unauthenticated computer102as well as the image stored within the unauthenticated computer or mobile communication device130. The server110can combine the originally transmitted image and the stored image to generate a template combined image using the logical operator. In one embodiment, the server110also knows which logical operator is used to combine the images. The template combined image is compared with the combined image received from the unauthenticated computer102or mobile communication device130. If the received combined image matches the template combined image, the device sending the combined image (i.e., the unauthenticated computer102or mobile communication device130) is thereby authenticated. If the device sending the combined image is the mobile communication device130, the user of the mobile communication device130is thereby authenticated. By inference, the unauthenticated computer102may thereby be authenticated for use by the user of the mobile communication device130. This will allow authentication of a computer, even when the computer102may be a public computer (e.g. in a library or hotel lobby). Thus, the process described herein permits authentication of the user and computer operated by the user.

In another embodiment, the server110does not know the particular logical operator used to combine the images. However, the server110does have knowledge of the set of logical operators that may have been used to generate the combined image. That is, the server110knows that one of the set of logical operators was used to combine the image transmitted to the unauthenticated computer102and combined with the previously stored image. In this embodiment, the server110can sequentially generate template combined images using the available set of logical operators to see if any of the template combined images match the combined image received from the unauthenticated computer102or mobile communication device130. For example, the server110can combine the original transmitted image and the stored image to generate a first template combined image using a first logical operator, such as an AND operator. The template combined image made with the AND operator is compared with the combined image received from the unauthenticated computer102or mobile communication device130. If the received combined image matches the template combined image, the device sending the combined image is thereby authenticated. If the template combined image generated with the AND operator does not match the received combined image, the server110can combine the original transmitted image and the stored image using a different logical operator, such as an OR operator to thereby generate a second template combined image. The second template combined image may be compared with the received combined image to determine if there is a match. Because there are a limited number of logical operators used to generate the combined image, the server110can readily generate a series of template combined images using the set of available of logical operators. Each of the template combined images may be sequentially generated and compared with the received combined image to determine if there is a match. If any of the template combined images matches the received combined image, the device sending the combined image is thereby authenticated.

Those skilled in the art will appreciate that the server110can dynamically generate the template combined images after the combined image is received from the unauthenticated computer102or mobile communication device130during the authentication process. Alternatively, the server110can generate one or more template combined images in advance and store the various possible combined images for retrieval upon receipt of the combined image from the unauthenticated computer102or mobile communication device130.

FIG. 13illustrates some example images. Examples 1 and 2 ofFIG. 13illustrate an example using the same transmitted image (i.e., the image transmitted from the server110to the unauthenticated computer102) and the same stored image (i.e., the image stored in the unauthenticated computer102or mobile communication device130). However, example 1 illustrates a combined image generated using an OR logical operator while example 2 shows a combined image generated using an XOR logical operator. Thus, the same transmitted and stored images can be combined using different logical operators to produce different combined images.

Example 3 illustrates a different transmitted and stored image that is combined using an OR logical operator. The images in examples 1 and 2 may be black and white images, while the image in example 3 uses half-tone images. Those skilled in the art will appreciate that color images may also be used for the transmitted image and the stored image. With color images, the overall shapes may be combined using the selected logical operator and the colors will also be combined using the selected logical operator. Two color images, or one color image and one black/white image, may be combined using a bit-wise logical operator in the same manner discussed above. That is, the pixels associated with each image are combined using the selected logical operator. In the case of color images, the color data in the pixels is also combined using the selected logical operator.

FIG. 14is a flow chart illustrating an exemplary implementation of the system described above. At a start300the server110(seeFIG. 1) has copies of the image to be transmitted to the unauthenticated computer102, as well as the image stored on the unauthenticated computer102or the mobile communication device130. In step302, the server receives an authentication request from the unauthenticated computer102. For example, the user can operate a web browser on the unauthenticated computer102to navigate to a website log-in page. In step304, the server110transmits the first image to the unauthenticated computer102.

In step306, the image transmitted from the server110is combined with the stored image using a selected one of the logical operators to thereby generate the combined image. As noted above, the stored image can be stored on the unauthenticated computer102. In this embodiment, the stored image may be combined with the image transmitted from the server110to the unauthenticated computer102. Alternatively, the stored image may be stored on the mobile communication device130. In this embodiment, the unauthenticated computer102displays the image transmitted from the server110on the computer display104. That displayed image is captured by the imaging device176(seeFIG. 3) on the mobile communication device130and the captured image is combined with the stored image using a selected logical operator to thereby generate the combined image on the mobile communication device130.

In step308, the combined image is sent back to the server. As noted above, there are a variety of optional pathways for the return of the combined image. If the combined image is generated by the unauthenticated computer102in step306, it may transmit the combined image directly back to the server110using the communication link108. Alternatively, the combined image may be generated by the unauthenticated computer102in step306and shown on the computer display104. The imaging device176on the mobile communication device130captures the combined image on the display104and transmits it back to the server110via the PLMN120.

In yet another alternative embodiment, the combined image is generated in the mobile communication device130. In this embodiment, the image transmitted from the server110to the unauthenticated computer102is shown on the display104and captured by the imaging device176of the mobile communication device130. The mobile communication device130generates the combined image (in step306) and, in step308, the mobile communication device130transmits the combined image to the server110via the PLMN120.

In step310, the server generates one or more template combined images. As noted above, the template combined images may be generated in advance and stored within the server or generated dynamically during the authentication process (e.g., when the first image is transmitted to the unauthenticated computer102or when the combined image is received by the server110).

In decision312, the server determines whether the template combined image matches the received combined image. If the template combined image does not match the received combined image, the result of decision2312is NO and, in step314, the device is not authenticated. As described above, in some embodiments, the server110does not know which of the set of logical operators were used to generate the combined image. In this embodiment, the process illustrated in decision312may be repeated for each of the possible logical operators to determine if any of those multiple template combined images match the received combined image.

If any of the template combined images match the received combined images, the result of decision312is YES. In that event, the server110can authenticate the device sending the combined image. After the device is authenticated in step316or not authenticated in step314, the process ends at318.