Systems and methods for distinguishing among human users and software robots
First Claim
1. A system, comprising:
- at least one computer; and
at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer, cause the at least one computer to perform;
receiving, via at least one network, a first communication from a device different from the at least one computer;
identifying, from the first communication, a request to access a web resource;
generating a shuffled image that encodes a challenge text, the generating comprising;
generating an initial image representing the challenge text;
dividing the initial image into image portions; and
generating the shuffled image as a shuffled arrangement of the image portions;
generating decoding information for revealing the challenge text encoded in the shuffled image, wherein the decoding information comprises a table storing correspondences between locations in the initial image and locations in the shuffled image;
transmitting, to the device and via the at least one network, the shuffled image, the decoding information, and software code, wherein the software code, when executed by the device, uses the decoding information to facilitate revealing, by the device, of the challenge text encoded in the shuffled image at least in part by using the correspondences stored in the table to rearrange the image portions in the shuffled arrangement to recover the initial image;
receiving, via the at least one network, a second communication from the device;
identifying, from the second communication, a response text; and
providing the device with access to the web resource based on a comparison between the challenge text and the response text.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique for distinguishing between a human user and a software robot. The technique includes: receiving a first communication from a device different from the at least one computer; identifying, from the first communication, a request to access a web resource; generating a shuffled image that encodes a challenge text, the generating comprising: generating an initial image encoding the challenge text; dividing the initial image into image portions; and generating the shuffled image as a shuffled arrangement of the image portions; generating decoding information for revealing the challenge text encoded in the shuffled image; transmitting the shuffled image and the decoding information to the device; receiving a second communication from the device; identifying, from the second communication, a response text; and providing the device with access to the web resource based on a comparison between the challenge text and the response text.
136 Citations
25 Claims
-
1. A system, comprising:
-
at least one computer; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer, cause the at least one computer to perform; receiving, via at least one network, a first communication from a device different from the at least one computer; identifying, from the first communication, a request to access a web resource; generating a shuffled image that encodes a challenge text, the generating comprising; generating an initial image representing the challenge text; dividing the initial image into image portions; and generating the shuffled image as a shuffled arrangement of the image portions; generating decoding information for revealing the challenge text encoded in the shuffled image, wherein the decoding information comprises a table storing correspondences between locations in the initial image and locations in the shuffled image; transmitting, to the device and via the at least one network, the shuffled image, the decoding information, and software code, wherein the software code, when executed by the device, uses the decoding information to facilitate revealing, by the device, of the challenge text encoded in the shuffled image at least in part by using the correspondences stored in the table to rearrange the image portions in the shuffled arrangement to recover the initial image; receiving, via the at least one network, a second communication from the device; identifying, from the second communication, a response text; and providing the device with access to the web resource based on a comparison between the challenge text and the response text. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, performed by at least one computer, the method comprising:
-
receiving, via at least one network, a first communication from a device different from the at least one computer; identifying, from the first communication, a request to access a web resource; generating a shuffled image that encodes a challenge text, the generating comprising; generating an initial image representing the challenge text; dividing the initial image into image portions; and generating the shuffled image as a shuffled arrangement of the image portions; generating decoding information for revealing the challenge text encoded in the shuffled image, wherein the decoding information comprises a table storing correspondences between locations in the initial image and locations in the shuffled image; transmitting, to the device and via the at least one network, the shuffled image, the decoding information, and software code, wherein the software code, when executed by the device, uses the decoding information to facilitate revealing, by the device, of the challenge text encoded in the shuffled image at least in part by using the correspondences stored in the table to rearrange the image portions in the shuffled arrangement to recover the initial image; receiving, via the at least one network, a second communication from the device; identifying, from the second communication, a response text; and providing the device with access to the web resource based on a comparison between the challenge text and the response text. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. At least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by at least one computer, cause the at least one computer to perform:
-
receiving, via at least one network, a first communication from a device different from the at least one computer; identifying, from the first communication, a request to access a web resource; generating a shuffled image that encodes a challenge text, the generating comprising; generating an initial image representing the challenge text; dividing the initial image into image portions; and generating the shuffled image as a shuffled arrangement of the image portions; generating decoding information for revealing the challenge text encoded in the shuffled image, wherein the decoding information comprises a table storing correspondences between locations in the initial image and locations in the shuffled image; transmitting, to the device and via the at least one network, the shuffled image, the decoding information, and software code, wherein the software code, when executed by the device, uses the decoding information to facilitate revealing, by the device, of the challenge text encoded in the shuffled image at least in part by using the correspondences stored in the table to rearrange the image portions in the shuffled arrangement to recover the initial image; receiving, via the at least one network, a second communication from the device; identifying, from the second communication, a response text; and providing the device with access to the web resource based on a comparison between the challenge text and the response text. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A device, comprising:
-
at least one hardware processor; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform; transmitting, to at least one computer and via at least one network, a first communication comprising a request to access a web resource; receiving, from the at least one computer and via the at least one network, a shuffled image that encodes a challenge text, decoding information, and software code, wherein; the shuffled image comprises a shuffled arrangement of image portions of an unshuffled image, the decoding information comprises a table storing correspondences between locations in the unshuffled image and locations in the shuffled image, and the software code is configured to use the decoding information to recover the unshuffled image from the shuffled image at least in part by using the correspondences stored in the table to rearrange the image portions in the shuffled arrangement; executing the software code, using the decoding information and the shuffled image, to generate the unshuffled image; displaying, to a user of the device, the unshuffled image to reveal the challenge text; receiving, from the user of the device, input specifying a response text; and transmitting, to the at least one computer and via the at least one network, a second communication comprising the response text. - View Dependent Claims (23, 24, 25)
-
Specification