vides a high level of consistency for comparative anal-
ysis. This paper explains the design of the iProfile ap-
plication and how the application utilizes cloud ser-
vices, the algorithms used in the implementation, the
communication protocol with the database server, the
structure and format of the generated dataset and the
feature extraction approaches.
The proposed iProfile application can be used in
both static and continuous authentication. The app
can be used in various application domains, such as
preventing impersonation in online exams and ensur-
ing the entire session is secure and not affected by any
unauthorized accesses.
This paper is organized as follows. Section 2 dis-
cusses related work in the literature and explains the
difference between our approach and the work pub-
lished in this research area. Section 3 discusses the
details of the application design, including user in-
terface design, administration activities, user identi-
fication, connection with could services, etc. Sec-
tion 4 focuses on the feature extraction approaches
used to create an accurate user profile based on raw
data. This section compares different approaches and
uses machine-learning libraries to conduct compara-
tive analysis between different feature-sets. Section 5
presents a case study to show how researchers could
use this application to explore keystroke dynamics
authentication on Android smartphones. Finally, we
draw our conclusion and discuss future work in Sec-
tion 6.
2 LITERATURE REVIEW
There are three different research directions in the lit-
erature with respect to keystroke dynamics. The first
research direction focuses on the implementation of
data collection tools and the different techniques used
to collect as much information as possible from the
users’ keystrokes. The second approach discusses
the feature extraction and selection methods used to
create an accurate user profile. The third approach
discusses the utilization of machine learning algo-
rithms to classify users’ typing patterns into different
classes and identifying users based on their profiles.
Other research work also suggested mixing other
techniques, such as handwriting, with keystrokes to
create a unique profile (Condorelli, 2019).
An example of the first research direction is a soft-
ware tool for determining of the keystroke dynamics
parameters developed by Andrey A. Vyazigin et al.
(Vyazigin et al., 2019). The tool used Standard Java
libraries JAXB (Java Architecture for XML Binding)
and Java NIO.2 for conversion of java objects into ag-
gregated datasets and to implement the file I/O func-
tions, respectively. The advantage of using this design
style is that it makes it easy for developers to main-
tain the project because they have to maintain only
one workspace, while creating different interfaces for
different operating systems. However, this approach
does not capture the real touch screen events on the
main screen layout. For example, it does not handle
events on the activities in smartphone devices, such as
android nor the events on the storyboards in iOS.
Another example is the Android application devel-
oped by Antal et al. (Antal et al., 2015). This appli-
cation was developed using native Android Software
Development Kit (SDK) and created a custom layout
for the user login window to capture the keystroke dy-
namics. The application collected the touch events
time stamps and created a feature vector that has 71
features. Data collected from 42 participants with
different genders and age groups. Although this ap-
proach is more accurate than the first example in cap-
turing the touch events using the native SDK, there
is a major drawback. Authors decided to remove all
user inputs that had errors due to typos or backspaces.
Although this approach normalizes the datasets and
makes it easy for the classifier to identify similar pat-
terns, it generates a predictive model based on unre-
alistic assumptions because users make mistakes and
making typos or pressing a backspace button should
be handled in the pre-processing phase, not totally ig-
nored.
For the second research direction, data extraction
methods focused, in most cases, on the timing fea-
tures. The two main timing features that were con-
sidered in almost all research work are the dwell time
and the flight time (Stavanja et al., 2020). Dwell time
is defined as the time between a touch-down event
and the next touch-up event on the same key, whereas
flight time is defined as the time between a touch-up
event on one key and a touch-down events on the next
key. Researchers extended these two concepts to cal-
culate different time combinations, such as the time
between two consecutive touch-down events or touch-
up events. Researchers also collected other features
such keystroke pressure and touch area. An extension
to this approach is utilizing smartphone sensors. Cor-
pus et al. collected smartphone accelerometer sensor
data in conjunction with timing and swipe dynamics
features (Tse and Hung, 2019).
For the third research direction, researchers con-
sidered two different types of machine learning classi-
fiers: one-class classifiers and multi-class classifiers.
In the context of user authentication using keystroke
dynamics, one-class classifiers use binary classifica-
tion to label an instance (i.e. one sample) as positive
ICISSP 2022 - 8th International Conference on Information Systems Security and Privacy
622