IP Library › Granted Patent US 11,095,435
Granted Patent B2
US 11,095,435 · App. 16/554,790 · Granted Aug 17, 2021

Keystroke dynamics anonimization

Inventors: Itay Hazan (Beer Sheva, IL); Eitan Menahem (Beer Sheva, IL)
Assignee: International Business Machines Corporation
H04L9/0662H04L9/0643H04L9/0863
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,095,435
App. No.
16/554,790
Granted
Aug 17, 2021
Kind
B2
Abstract

A keystroke dynamics anonymization technique that includes: receiving a plain-text password from a computer user; providing at least the plain-text password as a seed to a pseudorandom mapping function; applying the pseudorandom mapping function to keycodes that are produced by the computer responsive to keystrokes of the computer user, to map the keycodes to a set of mapped, anonymized keycodes; and providing the set of mapped, anonymized keycodes to a keystroke dynamics algorithm, to enable the keystroke dynamics algorithm to (a) learn a keystroke dynamics model of the computer user, and (b) authenticate an identity of the computer user.

Claims (38)

1. A method comprising operating at least one hardware processor to:

receive a plain-text password from a computer user;

provide at least the plain-text password as a seed to a pseudorandom mapping function;

apply the pseudorandom mapping function to keycodes that are produced by the computer responsive to keystrokes of the computer user, to map the keycodes to a set of mapped keycodes; and

provide the set of mapped keycodes to a keystroke dynamics algorithm, to enable the keystroke dynamics algorithm to (a) learn a keystroke dynamics model of the computer user, and (b) authenticate an identity of the computer user.

2. The method according to claim 1 , wherein some of the keycodes that are produced by the computer form sensitive information that is at least one of: a password, personally-identifiable information, and a user name.

3. The method according to claim 1 , further comprising, after the keycodes are mapped, preventing the keycodes from being stored in the computer.

4. The method according to claim 1 , further comprising, after at least the plain-text password is provided as the seed to the pseudorandom mapping function, preventing the plain-text password from being stored in the computer.

5. The method according to claim 1 , wherein the pseudorandom mapping function is a shuffling function that shuffles the keycodes to produce the set of mapped keycodes, such that the keystroke dynamics algorithm processes the mapped keycodes as if they were the keycodes.

6. The method according to claim 1 , wherein the pseudorandom mapping function is a hash function, such that the mapped keycodes are hash codes.

7. The method according to claim 1 , wherein a unique user identifier is provided, in addition to the plain-text password, as the seed.

8. A system comprising:

(a) at least one hardware processor; and

(b) a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by said at least one hardware processor to:

receive a plain-text password from a computer user,

provide at least the plain-text password as a seed to a pseudorandom mapping function,

apply the pseudorandom mapping function to keycodes that are produced by the computer responsive to keystrokes of the computer user, to map the keycodes to a set of mapped keycodes, and

provide the set of mapped keycodes to a keystroke dynamics algorithm, to enable the keystroke dynamics algorithm to (i) learn a keystroke dynamics model of the computer user, and (ii) authenticate an identity of the computer user.

9. The system according to claim 8 , wherein some of the keycodes that are produced by the computer form sensitive information that is at least one of: a password, personally-identifiable information, and a user name.

10. The system according to claim 8 , wherein the program code is further executable by said at least one hardware processor to:

after the keycodes are mapped, prevent the keycodes from being stored in the computer.

11. The system according to claim 8 , wherein the program code is further executable by said at least one hardware processor to:

after at least the plain-text password is provided as the seed to the pseudorandom mapping function, preventing the plain-text password from being stored in the computer.

12. The system according to claim 8 , wherein the pseudorandom mapping function is a shuffling function that shuffles the keycodes to produce the set of mapped keycodes, such that the keystroke dynamics algorithm processes the mapped keycodes as if they were the keycodes.

13. The system according to claim 8 , wherein the pseudorandom mapping function is a hash function, such that the mapped keycodes are hash codes.

14. The system according to claim 8 , wherein a unique user identifier is provided, in addition to the plain-text password, as the seed.

15. A computer program product comprising a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by at least one hardware processor to:

receive a plain-text password from a computer user;

provide at least the plain-text password as a seed to a pseudorandom mapping function;

apply the pseudorandom mapping function to keycodes that are produced by the computer responsive to keystrokes of the computer user, to map the keycodes to a set of mapped keycodes; and

provide the set of mapped keycodes to a keystroke dynamics algorithm, to enable the keystroke dynamics algorithm to (i) learn a keystroke dynamics model of the computer user, and (ii) authenticate an identity of the computer user.

16. The computer program product according to claim 15 , wherein some of the keycodes that are produced by the computer form sensitive information that is at least one of: a password, personally-identifiable information, and a user name.

17. The computer program product according to claim 15 , wherein the program code is further executable by the at least one hardware processor to:

after the keycodes are mapped, prevent the keycodes from being stored in the computer.

18. The computer program product according to claim 15 , wherein the program code is further executable by the at least one hardware processor to:

after at least the plain-text password is provided as the seed to the pseudorandom mapping function, preventing the plain-text password from being stored in the computer.

19. The computer program product according to claim 15 , wherein the pseudorandom mapping function is a shuffling function that shuffles the keycodes to produce the set of mapped keycodes, such that the keystroke dynamics algorithm processes the mapped keycodes as if they were the keycodes.

20. The computer program product according to claim 15 , wherein a unique user identifier is provided, in addition to the plain-text password, as the seed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: HAZAN, ITAY; MENAHEM, EITAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 050209/0068 →
Continuity (1)
Related Publication 20210067322A1 · Mar 4, 2021