The present invention relates to a Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) program implemented via a computer system. More particular to a computer system and method for capturing and transmitting an image of a user performing a requested action via a camera device and verifying the same.
A CAPTCHA program is implemented in a computer system to determine the difference between humans and a computer program based on their respective abilities to solve a problem. It is commonly used on web pages where a user registers for an account to prevent the use of computer-programmed registrations used for unsolicited bulk messaging (e.g., SPAM).
A typical CAPTCHA program may prompt a user to look at an image and type the alphabetic or numeric characters shown within the image. Further, other CAPTCHAs may request that users recognize and tag images. Some problems associated with these CAPTCHAs are that they are sometimes too challenging and complicated to allow the user to gain access to a website or it may be possible for a computer program to imitate a valid user and gain unauthorized access to the computer system.
According to one embodiment of the present invention, a computer-implemented method for determining whether a user of a computer system is a human or a computer program is provided. The method includes determining whether a camera device is connected with the computer system, requesting the user to perform an action and recording an image (still or video) of the user performing an action via the camera device, when it is determined that a camera device is connected with the computer, reviewing the recorded image and validating whether the requested action has been performed by the user, based on one or more of a determined level of confidence that the user is a human and any detected error in the recorded image; and accepting or rejecting the recorded image based on policy settings of a service provider in view of the one or more of the determined confidence level and any detected error in the recorded image; wherein accepting the recorded image corresponds to a determination that the user is a human.
According to other embodiments of the present invention, a computer system and computer-program product capable of performing the above-mentioned method are provided.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with the advantages and the features, refer to the description and to the drawings.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The forgoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
Embodiments of the present invention, involve communication between a client and a server. For example,
Some communications from humans to computers are based on keyboard and an input device such as a mouse joystick, control wand, or digital control glove. The present invention introduces the use of image and movement recognition technology to further enhance the communication between humans and computers. Embodiments of the present invention, allow the computer system 100 at the request of the server 50, to validate that a user is human using a camera device and movement and gesture recognition technology. Movement or gesture recognition is a part of Human Machine Interaction. Some examples of the use of this technology are Logitech™ avatar technology and Playstation™ eye technology. The Playstation™ eye allows users bodies to act as their game controller by recording them and then using motion recognition technology to map their movements into the games. The Logitech™ avatar and special effects track a user's gestures and facial movements and then layer effects or make the avatars mimic these movements.
Additionally, referring back to
ROM 120 contains the basic operating system for computer system 100. The operating system may alternatively reside in RAM 115 or elsewhere as is known in the art. Examples of removable data and/or program storage device 130 include magnetic media such as floppy drives and tape drives and optical media such as CD ROM drives and flash drives. An example of mass data and/or a program storage device 135 includes hard disk drives. In addition to keyboard 145 and mouse 150, other user input devices such as trackballs, writing tablets, pressure pads, microphones, light pens and position-sensing screen displays may be connected to user interface 140. Examples of display devices include cathode-ray tubes (CRTs) and liquid crystal displays (LCDs). For the purposes of the present invention, a camera device 180 and a microphone 190 may be included as input devices to the computer system 100. The camera device 180 and microphone 190 may be built-in to the computer system 100 or external devices connected to the computer system 100 through an interface 195 to the system bus 110 as shown in
According to an embodiment of the present invention, as mentioned above, the server 50 and the computer system 100 at the client side communicate over a network 75 via web services. According to one embodiment, the computer system 100 may store the user's video or stream it and send it over to the server 50 (i.e., web server) in order to perform the method discussed below with reference to
According to another embodiment of the present invention, a computer program with an appropriate application interface may be created and stored on the system 100 or a data and/or program storage device to perform the method according to embodiments of the present invention as discussed below with reference to
Additional details regarding the system and method for determining whether a user is a human or a computer program will now be discussed below with reference to
On the other hand, if a camera device 180 is in fact present, the process moves to operation 305, where it is determined whether the camera device 180 is capable of performing video recording, whether alone or in combination with the client 50 and/or or server 100. If it is determined at operation 305 that the camera device 180 does not have video recording capabilities, the process proceeds to operation 302 as described above. Otherwise, it is determined whether the user would like to enable video recording via the camera device 180 in operation 310. For example, according to an embodiment of the present invention, the user may be prompted by a message such as “Would you allow your webcam to record a short video of you performing a simple gesture in order to confirm that you are a human? This video will not be associated with any of your account data or personal information, and will not be used outside of our user verification system, and will be permanently deleted from all of our systems shortly after verifying that you are a human.” Reply options will also be made available to the user such as “Allow this one time”, “Do not allow at this time”, “Always allow”, or “Never allow”.
If answered in the affirmative, the process will continue to operation 315, where the user will be prompted by the system to perform an action via the camera device 180 in order to prove the user is a human. Any such action performed by the user is recorded via the camera device 180. If answered in the negative, the process will proceed to operation 302 as described above.
According to an embodiment of the present invention, the requested action may include at least one gesture to be performed via a face, hand or other body part of the user.
According to an embodiment of the present invention, status information may be provided to the user. The status information may be displayed to the user via a status message area 405 as shown in
According to an embodiment of the present invention, the system 100 may wait to record/transmit any data until the user makes a selection via a selection mechanism (e.g., a button) 407 to do so.
According to an embodiment of the present invention, a selection option 409 may be available to the user for requesting a different type of verification method, for example, a CAPTCHA program that provides for input of alphabet or numeric characters instead of image capturing options. This is to preserve the privacy of users who normally would be fine with having their image recorded, but are currently in an inappropriate or uncomfortable setting.
Filtering operations may also be applied to the recorded image 404 to reduce privacy concerns of the user. Additional images depicting various gestures may be requested to determine if a user is a human, and different types of filtering operations applied to the images may also be implemented within embodiments of the present invention. The filtering of the image may be performed via software of the camera device 180 or via instructions provided by installing a driver.
For example, a user's image may be displayed via the display device 170, with the user being requested to smile. The user's image is captured and filtered in black and white as requested by the user. In another example, the user is requested to touch an ear and the image of the user having performed the requested action is captured and filtered via a different type of filtering operation. Still another example may include the user being requested to put his hand over his chest, or to open his mouth and the image is captured and displayed via the display device 170. Embodiments of the present invention are not limited to any particular type of filtering operation performed on the images however the amount of image obfuscation is limited to avoid interference with the system's ability to recognize images and associated gestures.
Alternatively, instead of capturing an image of the user, the user may be replaced by an avatar image (i.e., a computer user's representation of himself/herself or alter ego in the form of an image). If an avatar is transmitted to the recognition service, it will only be able to recognize whether or not the requested gesture or motion was performed. An optional client side program may be installed at the computer system 100 to recognize if the original unfiltered non-avatar image looked human and send a “yes” or “no” along with the Avatar data to the server 50. Also, the site or service using the CAPTCHA, service according to an embodiment of the present invention, may determine that gesture recognition is sufficient verification by itself that the user is a human.
Referring back to
Referring back to operation 330, if option a) or b) occurs, the process returns to operation 320 where the validation process is repeated. If the user input is accepted at operation 325, the process continues to operation 335 where it is confirmed that the user is a human. Next, at operation 340, the recorded image may be immediately deleted or stored for a predetermined period of time based on user-defined or system-defined settings to compare to potential unauthorized users (e.g., spammers). This information may be stored at the computer system 100 or the server 50. Alternatively, if option c) is selected at operation 330, the process ends at operation 332 as indicated above.
Embodiments of the present invention provide a system and method for determining whether a computer user is a human or a computer program in order to authenticate the user. Thus, the advantages associated with the present invention include preventing unauthorized access to web pages and unsolicited bulk messaging.
In view of the above, the present method embodiment may therefore take the form of computer or controller implemented processes and apparatuses for practicing those processes. The disclosure can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer or controller, the computer becomes an apparatus for practicing the invention. The disclosure may also be embodied in the form of computer program code or signal, for example, whether stored in a storage medium, loaded into and/or executed by a computer or controller, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits. A technical effect of the executable instructions is to implement the exemplary method described above.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one ore more other features, integers, steps, operations, element components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated
The flow diagrams depicted herein are just one example. There may be many variations to this diagram or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention had been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.