IP Library Granted Patent US 11,934,498
Granted Patent B2
US 11,934,498 · App. 17/171,078 · Granted Mar 19, 2024

Method and system of user identification

Inventors: Pavel Vladimirovich Slipenchuk (Moscow, RU); Dmitrij Arkadevich Yankelevich (Moscow, RU)
Assignee: GROUP IB, LTD
G06F21/31G06F3/0489G06F11/3438G06N20/00
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,934,498
App. No.
17/171,078
Granted
Mar 19, 2024
Kind
B2
Abstract

A method and an electronic device for training a classifier to identify a user of the electronic device are provided. The method comprises: receiving training key stroke data associated with the user, a given portion of the training key stroke data having been generated in response to the user inputting a respective symbol of a predetermined text into the electronic device, by interacting with a given key of the plurality of keys; determining, based on the given portion of the training key stroke data, a plurality of time intervals associated with the user; determining most stable ones of the plurality of time intervals for inclusion thereof in a training set of data; training, based on the training set of data, the classifier to determine if the predetermined text inputted into the electronic device in future has been inputted by the user.

Claims (60)

1. A method of training a classifier to identify a user of an electronic device including a keyboard having a plurality of keys, the method comprising:

in a training phase:

receiving training key stroke data associated with the user,

a given portion of the training key stroke data having been generated in response to the user interacting with a given key of the plurality of keys used for inputting a predetermined text into the electronic device;

determining based on the given portion of the training key stroke data, a plurality of time intervals including:

a first time interval, during which the given key is pressed;

a plurality of second time intervals between respective moments of pressing the given key and pressing each one of those of the plurality of keys used for inputting the predetermined text;

a plurality of third time intervals between respective moments of releasing the given key and releasing each one of those of the plurality of keys used for inputting the predetermined text;

a plurality of fourth time intervals between respective moments of pressing the given key and releasing each one of those of the plurality of keys used for inputting the predetermined text;

a plurality of fifth time intervals between respective moments of releasing the given key and pressing each one of those of the plurality of keys used for inputting the predetermined text;

determining, for a given one of the plurality of time intervals, based on a plurality of instances of inputting, by the user, the predetermined text, a respective variance value;

ranking the plurality of time intervals in accordance with respective variance values associated therewith, thereby generating a ranked list of time intervals;

selecting from the ranked list of time intervals, a predetermined number of top time intervals having minimum respective variance values for inclusion in a training set of data;

the predetermined number of top time intervals being associated with a user identifier indicative of an association between the predetermined number of top time intervals and the user; and

training based on the training set of data, the classifier to determine if the predetermined text inputted into the electronic device in future has been inputted by the user.

2. The method of claim 1 , further comprising using the classifier, by executing, in an in-use phase following the training phase:

receiving in-use key stroke data, each portion of the in-use key stroke data having been generated in response to interacting with a respective key of the plurality of keys used for inputting the predetermined text into the electronic device;

receiving, for each portion of the in-use key stroke data, a respective timestamp indicative of a time of generating a respective portion of the in-use key stroke data;

aggregating each portion of the in-use key stroke data with the respective timestamp, thereby generating an in-use set of data; and

applying the classifier to the in-use set of data to determine a likelihood parameter indicative of whether the predetermined text has been inputted by the user or not, and wherein the method further comprises:

in response to the likelihood parameter being equal to or greater than a predetermined threshold value, determining that the predetermined text has been inputted by the user; and

in response to the likelihood parameter being lower than the predetermined threshold value, determining that the predetermined text has been inputted not by the user.

3. The method of claim 2 , wherein in response to the determining that the predetermined text has been inputted not by the user, the method further comprises generating a predetermined message.

4. The method of claim 1 , wherein the given one of the plurality of keys is a non-symbolic key used during the inputting the predetermined text.

5. The method of claim 1 , wherein the keyboard is divided into predetermined operation areas, each of which includes a respective sub-plurality of keys of the plurality of keys.

6. The method of claim 5 , wherein each of the predetermined operation areas of the keyboard is associated with a respective predetermined weight value assigned to each one of the respective sub-plurality of keys including the given key, and the method further comprises:

assigning the respective predetermined weight value to each one of the plurality of time intervals.

7. The method of claim 1 , wherein the training the classifier includes applying one or more machine learning algorithms.

8. The method of claim 1 , wherein the user comprises a plurality of users, and the given one of the plurality time intervals is associated with a group user identifier indicative of an association between the given one of the plurality time intervals and each one of the plurality of users.

9. An electronic device for training a classifier to identify a user of the electronic device having a keyboard including a plurality of keys, the electronic device comprising:

at least one processor;

at least one non-transitory computer-readable medium comprising instructions, which, when executed by the at least one processor, cause the electronic device to:

in a training phase:

receive training key stroke data associated with the user,

a given portion of the training key stroke data having been generated in response to the user interacting with a given key of the plurality of keys used for inputting a predetermined text into the electronic device;

determine, based on the given portion of the training key stroke data, a plurality of time intervals including:

a first time interval, during which the given key is pressed;

a plurality of second time intervals between respective moments of pressing the given key and pressing each one of those of the plurality of keys used for inputting the predetermined text;

a plurality of third time intervals between respective moments of releasing the given key and releasing each one of those of the plurality of keys used for inputting the predetermined text;

a plurality of fourth time intervals between respective moments of pressing the given key and releasing each one of those of the plurality of keys used for inputting the predetermined text;

a plurality of fifth time intervals between respective moments of releasing the given key and pressing each one of those of the plurality of keys used for inputting the predetermined text;

determine, for a given one of the plurality of time intervals, based on a plurality of instances of inputting, by the user, the predetermined text, a respective variance value;

rank, by the processor, the plurality of time intervals in accordance with respective variance values associated therewith, thereby generating a ranked list of time intervals;

select, from the ranked list of time intervals, a predetermined number of top time intervals having minimum respective variance values for inclusion in a training set of data;

the predetermined number of top time intervals being associated with a user identifier indicative of an association between the predetermined number of top time intervals and the user; and

train, based on the training set of data, the classifier to determine if the predetermined text inputted into the electronic device in future has been inputted by the user.

10. The electronic device of claim 9 , wherein the at least one processor further causes the electronic device to use the classifier, by executing, in an in-use phase following the training phase:

receiving in-use key stroke data, each portion of the in-use key stroke data having been generated in response to interacting with a respective key of the plurality of keys used for inputting the predetermined text into the electronic device;

receiving, for each portion of the in-use key stroke data, a respective timestamp indicative of a time of generating a respective portion of the in-use key stroke data;

aggregating each portion of the in-use key stroke data with the respective timestamp, thereby generating an in-use set of data; and

applying the classifier to the in-use set of data to determine a likelihood parameter indicative of whether the predetermined text has been inputted by the user or not, and wherein the at least one processer further causes the electronic device to execute:

in response to the likelihood parameter being equal to or greater than a predetermined threshold value, determining that the predetermined text has been inputted by the user; and

in response to the likelihood parameter being lower than the predetermined threshold value, determining that the predetermined text has been inputted not by the user.

11. The electronic device of claim 10 , wherein in response to the determining that the predetermined text has been inputted not by the user, the at least one processor further causes the electronic device to generate a predetermined message.

12. The electronic device of claim 9 , wherein the given one of the plurality of keys is a non-symbolic key used during the inputting the predetermined text.

13. The electronic device of claim 9 , wherein the keyboard is divided into predetermined operation areas, each of which includes a respective sub-plurality of keys of the plurality of keys.

14. The electronic device of claim 13 , wherein each of the predetermined operation areas of the keyboard is associated with a respective predetermined weight value assigned to each one of the respective sub-plurality of keys including the given key, and the at least one processor further causes the electronic device to:

assign the respective predetermined weight value to each one of the plurality of time intervals.

15. The electronic device of claim 11 , wherein to train the classifier, the at least one processor causes the electronic device to apply one or more machine learning algorithms.

16. The electronic device of claim 11 , wherein the user comprises a plurality of users, and the training set of data is associated with a group user identifier indicative of an association between the training set of data and the plurality of users.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2025
From: F.A.C.C.T. ANTIFRAUD LLC
To: GROUP-IB GLOBAL PRIVATE LIMITED
Reel/Frame 071438/0815 →
CHANGE OF NAME Recorded Jul 19, 2024
From: GROUP IB, LTD
To: F.A.C.C.T. ANTIFRAUD LLC
Reel/Frame 068462/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: SLIPENCHUK, PAVEL VLADIMIROVICH; YANKELEVICH, DMITRIJ ARKADEVICH
To: GROUP IB, LTD
Reel/Frame 055282/0550 →
Continuity (2)
Continuation PCTRU2019000126 · Feb 27, 2019
Related Publication 20210182369A1 · Jun 17, 2021