Keystroke dynamics obfuscation using key grouping

Itay Hazan, Oded Margalit, Lior Rokach

Research output: Contribution to journalArticlepeer-review


Keystroke dynamics is one of the most widely adopted identity verification techniques in remote systems. It is based on modeling users’ specific patterns of typing on the keyboard. When utilized in conjunction with the commonly used passwords, the use of keystroke dynamics can dramatically increase the level of security without interfering with the user experience. However, aspects of keystroke dynamics that applied on passwords, such as processing keystroke events and storing feature vectors or user models, can expose users to identity theft and a new set of privacy risks, thus questioning the added value of keystroke dynamics. In addition, common encryption techniques will be unable to mitigate these threats, since the user's behavior changes from one session to another. In this paper, we suggest key grouping as an obfuscation method to ensure keystroke dynamics privacy. When applied on the keystroke events, the key grouping dramatically reduces the possibility of password theft. To perform the key grouping optimally, we present a novel method which produces groups that can integrated with any keystroke dynamics algorithm. Our method divides the keys into groups using hierarchical clustering with dedicated statistical heuristics algorithm. We tested our method's key grouping output on five keystroke dynamics algorithms using a public dataset and managed to show a consistent improvement of up to 7% in the AUC over other, more intuitive key groupings and random key groupings.

Original languageAmerican English
Article number113091
JournalExpert Systems with Applications
StatePublished - 1 Apr 2020


  • Behavioral biometrics
  • Hierarchical clustering
  • Keystroke dynamics

All Science Journal Classification (ASJC) codes

  • General Engineering
  • Artificial Intelligence
  • Computer Science Applications


Dive into the research topics of 'Keystroke dynamics obfuscation using key grouping'. Together they form a unique fingerprint.

Cite this