IP Library Granted Patent US 11,423,130
Granted Patent B2
US 11,423,130 · App. 16/783,590 · Granted Aug 23, 2022

Method for generating a human likeness score

Inventors: Tyler James Paxton (Ann Arbor, MI); Reid Michael Tatoris (Ann Arbor, MI); Benjamin Trenda (Ann Arbor, MI); Elvis Jakupovic (Ann Arbor, MI); Steven P. Burkett (Ann Arbor, MI); Adam Michael Janower (Ann Arbor, MI)
Assignee: Imperva, Inc.
G06F21/316G06F16/24578G06F21/32G06F21/36G06F21/31G06F2221/2103G06F2221/2133H04L63/083
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,423,130
App. No.
16/783,590
Granted
Aug 23, 2022
Kind
B2
Abstract

One embodiment of the invention is a method utilizing a CAPTCHA to generate a human likeness score including blocks: a) receiving a user solution to the CAPTCHA; b) receiving a user interaction pattern descriptive of an interaction undertaken by the user, through a graphical interface of the CAPTCHA, to achieve the user solution; c) determining the accuracy of the user solution; d) comparing the user interaction pattern against an interaction model generated from interaction patterns of previous users; e) calculating the human likeness score based upon the determination of block c) and the comparison of block d), wherein the human likeness score lies within a continuum of human likeness scores.

Claims (51)

1. An apparatus, comprising:

a database; and

a server operatively coupled to the database, the server configured to:

receive a request for a human likeness score of a user accessing a service provided by a host compute device;

collect a cursor motion entered by the user associated with a Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) when accessing a graphical user interface (GUI) associated with the service;

identify a pattern in the cursor motion by the user;

extract a noise component of the cursor motion;

retrieve a motion model characterizing patterns in cursor motions previously entered into graphical user interfaces by known humans different from the user;

retrieve a noise model characterizing noise patterns of the cursor motions;

compare the pattern in the cursor motion by the user with the motion model and compare the noise component of the cursor motion with the noise model;

calculate the human likeness score of the user based on the comparison of the pattern in the cursor motion with the motion model and the comparison of the noise component of the cursor motion with the noise model;

compare the human likeness score of the user with a threshold likeness score; and

send the comparison of the human likeness score with the threshold likeness score to the host compute device such that the host compute device can allow or restrict access to the service by the user.

2. The apparatus of claim 1 , wherein:

the server is configured to identify the pattern in the cursor motion based on at least one of a geometry of a path of the cursor motion, an average noise in the path of the cursor motion, a length of the path of the cursor motion, an average speed of the cursor motion, or where along the path of the cursor motion a mouse click is generated.

3. The apparatus of claim 1 , wherein:

the server is configured to identify the pattern in the cursor motion based on a geometry of a path of the cursor motion, the geometry of the path defined by one or more visible angles of direction change or one or more visible linearities of portions of the path of the cursor motion.

4. The apparatus of claim 1 , wherein:

the cursor motion includes including a cursor input path within the GUI having smooth input portions and oscillation input portions, the noise component being defined by at least some of the oscillation input portions of the cursor input path.

5. The apparatus of claim 1 , wherein:

the noise model includes a model signal-to-noise ratio pattern;

the server is configured to determine a signal-to-noise ratio of the cursor motion;

the server is configured to compare the signal-to-noise ratio of the cursor motion with the model signal-to-noise ratio pattern; and

the server is configured to calculate the human likeness score of the user based on the comparison of the signal-to-noise ratio of the cursor motion with the model signal-to-noise ratio pattern.

6. The apparatus of claim 1 , wherein:

the motion model includes a decision tree having a plurality of decision elements to select the human likeness score.

7. The apparatus of claim 1 , wherein:

the motion model includes a machine learning algorithm.

8. The apparatus of claim 1 , further comprising:

categorizing the user into a user group from a plurality of user groups based on the human likeness score, the plurality of user groups including at least one of automated software, human spammer, or human.

9. The apparatus of claim 8 , wherein the plurality of user groups includes a plurality of subgroups including at least one of demographic subgroups for humans or location subgroups for human spammers.

10. The apparatus of claim 1 , wherein:

the cursor motion entered by the user includes a solution to the CAPTCHA and user interaction within the GUI;

comparing the pattern in the cursor motion by the user with the motion model includes (1) comparing the solution to the CAPTCHA with a reference CAPTCHA solution and (2) comparing a pattern of the user interaction with a model user interaction pattern in the motion model; and

calculating the human likeness score of the user by calculating a weighted average based on (1) the comparison of the solution to the CAPTCHA with the reference CAPTCHA solution and (2) the comparison of the pattern of the user interaction with the model user interaction pattern.

11. The apparatus of claim 10 , further comprising:

determining a first reliability value based on the comparison of the solution to the CAPTCHA with the reference CAPTCHA;

determining a second reliability value based on the comparison of the pattern of the user interaction with the model user interaction pattern; and

calculating the human likeness score of the user based on the first reliability value and the second reliability value.

12. The apparatus of claim 1 , furthering comprising:

collecting identification data of the user; and

associating the identification data of the user with a human determination based on the comparison of the human likeness score of the user with the threshold likeness score.

13. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:

collect a cursor motion entered by a user associated with a Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) when accessing a graphical user interface (GUI) associated with a service provided by a host device;

identify a user interaction pattern based on the cursor motion;

extract a noise component of the cursor motion;

retrieve an interaction model characterizing interaction patterns in cursor motions previously entered into graphical user interfaces by known humans different from the user;

retrieve a noise model characterizing noise patterns of the cursor motions;

calculate a human likeness score of the user based on a comparison of the user interaction pattern with the interaction model and a comparison of the noise component of the cursor motion with the noise model;

categorize the user into a user group from a plurality of user groups based on the human likeness score, the plurality of user groups including at least one of automated software, human spammer, or human; and

send an indication of the user group to the host device such that the host device can allow or restrict access to the service by the user based on the user group.

Assignments (4)
CONFIRMATORY ASSIGNMENT Recorded Mar 24, 2022
From: PAXTON, TYLER JAMES; TATORIS, REID MICHAEL; TRENDA, BENJAMIN; JAKUPOVIC, ELVIS; BURKETT, STEVEN P.; JANOWER, ADAM MICHAEL; ARE YOU A HUMAN, INC.
To: DISTIL NETWORKS, INC.
Reel/Frame 059499/0230 →
CHANGE OF ASSIGNEE ADDRESS Recorded Mar 23, 2022
From: IMPERVA, INC.
To: IMPERVA, INC.
Reel/Frame 059486/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2020
From: PAXTON, TYLER JAMES; TATORIS, REID MICHAEL; TRENDA, BENJAMIN; JAKUPOVIC, ELVIS; BURKETT, STEVEN P.; JANOWER, ADAM MICHAEL; ARE YOU A HUMAN, INC.
To: DISTIL NETWORKS, INC.
Reel/Frame 051753/0885 →
NUNC PRO TUNC ASSIGNMENT Recorded Feb 7, 2020
From: DISTIL NETWORKS, INC.
To: IMPERVA, INC.
Reel/Frame 051753/0914 →
Continuity (6)
Continuation 16118771 · Aug 31, 2018
Continuation 14734806 · Jun 9, 2015
Continuation In Part 14292266 · May 30, 2014
Continuation 13411071 · Mar 2, 2012
Provisional Application 61467124 · Mar 24, 2011
Related Publication 20200257781A1 · Aug 13, 2020