{'fraction_non_alphanumeric': 0.03153264468936885, 'fraction_numerical': 0.007215934364651806, 'mean_word_length': 4.878413712957583, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A novel non-linear transformation based multi-user identification algorithm for fixed text keystroke behavioral dynamics

In this paper, we propose a new technique to uniquely classify and identify multiple users accessing a single application using keystroke dynamics. This problem is usually encountered when multiple users have legitimate access to shared computers and accounts, where, at times, one user can inadvertently be logged in on another user's account. Since the login processes are usually bypassed at this stage, we rely on keystroke dynamics in order to tell users apart. Our algorithm uses the quantile transform and techniques from localization to classify and identify users. Specifically, we use an algorithm known as ordinal Unfolding based Localization (UNLOC), which uses only ordinal data obtained from comparing distance proxies, by"locating"users in a reduced PCA/Kernel-PCA/t-SNE space based on their typing patterns. Our results are validated with the help of benchmark keystroke datasets and show that our algorithm outperforms other methods.


INTRODUCTION
With increasing digital presence, securing sensitive and personal data in online applications is of prime importance for maintaining privacy and security [1]- [6]. In general, systems or web applications utilize one-time authentication using single sign-on for providing security. Banking and financial institutions generally use a knowledge-based mechanism to complement the existing authentication system. However, research shows that one-time knowledge-based systems are vulnerable to attack [7]. Also, in some situations, such as where multiple users share a computer or accounts (for example, a household with a single shared computer) there is a need to not only continuously secure the system from outside attack, but also determine if wrong accounts are being accessed inadvertently.
One solution is to authenticate users based on their behavioral biometrics [8]. Behavioral biometrics involves recognizing users based on how they interact with their devices. One example is keystroke dynamics [4], [9]- [20], where user profiles are modeled based on their typing patterns. Unlike other biometric modalities, it is easier to collect keystroke data in the background without impacting the users typing experience. Hence, keystroke-based security systems are a user-friendly and effective method of continuous user authentication.
Earlier studies have mostly focused only on single-user authentication [9], [12], [14], where a profile is built for only one user. The algorithms used in single-user authentication determine whether the user at the keyboard is the user in the model. Extending this to multi-user identification requires progressive testing of each user's template with the rest of the users, where prior class label information is required and implementation takes longer as the number of classes increases.
In this paper, the goal of our work is to determine which one user among many authorized users, is at the keyboard. One example use-case is with this approach would make sense in OTT/streaming platforms where multiple authorized users are authorized to use a single account, and have their own individual profiles within the same account. It is important to note here that since all the users are logging into the same account, they all use the same password. Currently, users have to log in first, and then select their profile to start streaming. With our proposed approach, the profile can automatically be selected based on the typing pattern of the user, which is seen as the password is entered. are present and our proposed algorithm can be added as an extra security layer to identify users and secure the platform based on users password typing pattern. We have demonstrated efficacy with up to 5 users demonstrating with more than 92.51% identification accuracy. In the problem we consider here, we assume no prior knowledge of the number of users or their keystroke features. Therefore, we propose a multi-user identification system utilizing keystroke dynamics. We note here that there is very limited work in the literature on the design of multi-user classifiers based on keystroke dynamics [24].
Another way for user authentication based on keystroke dynamics is with deep learning. In [25], the authors trained a Siamese network for keystroke authentication using 200 samples per user from the CMU keystroke dataset [12]. In [26], a multilayer deep belief network is proposed to authenticate users from 104 typing samples. Similarly, researchers have explored fast neural network architecture [27] and convolutional neural networks [28] to authenticate users. However, all these deep learning-based models require at least 200 keystroke samples per user to train. In contrast, we use far fewer keystrokes to achieve our goal of identification based on keystrokes from a password or a short phrase. Our algorithm consists of several steps including keystroke data preprocessing using quantile transformation followed by dimensionality reduction, data clustering, and localization to identify authorized users. The steps in our algorithm can be summarized as follows: • We transform the statistics of the keystroke features into a uniform distribution using the quantile transform.

•
We use dimensionality reduction techniques to extract features and project them to a reduced feature space. We compare different methods such as PCA, Kernel-PCA, and t-SNE.
• Unsupervised data clustering algorithms are used on the extracted features to identify the number of user clusters present in the reduced feature space. Different clustering algorithms, including DBSCAN, GMM, and X-Means, are evaluated for their effectiveness.
• Finally, we adapt and use a specific indoor target localization algorithm known as ordinal unfoldingbased localization (ordinal UNLOC [29]) to place the test sample in the reduced feature space, and then classify/identify the test sample.
As part of our work, we also evaluated multiple dimensionality reduction techniques and multiple unsupervised clustering techniques to identify the combination that is most suited to this application.
The rest of the paper is organized as follows. In Section 2, a brief review of the literature in keystroke dynamics is presented. Our algorithm method is introduced in Section 3. Results are presented in Section 5. A short summary, future work, and concluding remarks are presented in Section 6.

RELATED WORK
Keystroke dynamics is an active research domain. Early studies focused on authenticating users based on fixedtext such as passwords during the login process [30]. More recently, there has been a rapid increase in interest to continuously authenticate users while they are typing [13].
The keystroke features are primarily the timing information of the key down/hold/up events. The dwell time or press time of individual keys and the flight time between two keys are typically used. Diagraphs, which quantify the latencies between two successive keystrokes for specific letter-pairs are regularly exploited in studies [20]. Similarly, -graphs, which are time latencies between consecutive keys, have also been investigated. It has been shown that digraphs and -graphs can be used to authenticate users with high accuracy [13], [23], [31].
The relative flight times for different -graphs were used to formulate features and the results were found to be robust to intra-class variations. In [10], the authors used trigraphs and -graphs to design a relative, absolute distance based score among users to improve authentication performance in free-text. Peacock, et al. [32], surveyed recent developments in keystroke authentication, compared results of several metrics, and analyzed the potential roadblocks to widespread implementation of keystroke biometrics. In [33], the authors use key down and key up times, key press duration, and the key ASCII codes as features. Using the four features, authors achieved a false rejection rate of 1.45% and a false acceptance rate of 1.89% for user authentication. Meszaros, et al. [22], designed an adaptive distance-based threshold on features to authenticate users. Harun, et al. [34], proposed a multilayer perceptron neural network with a backpropagation learning algorithm as a classifier. Similarly, many machine learning and identification techniques based on methods such as distance [12], [20], Bayesian classifiers [13], SVM [35], fuzzy logic [21], neural networks [36], Knearest neighbor [11], and K-means [37] have been exploited in keystroke biometric research [12], [38].
In recent literature [39]- [44], Keystroke research focused on fixed text [39], [41], [44] and free text [40], [42], [43]. Earlier studies in literature focused only on single-user authentication or free text-based authentication. In singleuser authentication, the model is built for one user only. The algorithms are used to determine whether the user at the keyboard is the user in the model or not. However, in this paper, we focus on multi-user identification. We would also like to point out that this type of work is relatively unaddressed in literature, and we were only able to find one paper addressing this very important issue [24]. We would also like to note that relatively less work has been done with Clarkson Account Recovery Dataset [45], and therefore, we will not discuss it here, but leave it for future exploration.
All the algorithms except Hwang, et al. [24] are for single user authentication. Here, the authors used a variational-based Gaussian mixture model (VB-GMM) on raw keystroke features to determine whether the account is shared or not. They used a dataset consisting of 25 passwords from 16 users to test their model. However, profiling multiple users based on their keystrokes in a single system or application is still an open problem. Though Hwang, et al. [24] presented an algorithm to identify multiple users, the algorithm is not tested on available benchmark datasets.
To solve the multi-user classification problem, in this paper, we introduce a new algorithm that leverages concepts from data preprocessing, dimensionality reduction, data clustering, data embedding, and data localization, and can be directly applied to the raw keystroke data. To our knowledge, this is the first time such an approach has been used in keystroke dynamics. We discuss the algorithm in detail in Section 3, and demonstrate its effectiveness using two publicly available datasets in Section 5.

PROPOSED ALGORITHM
In what follows, we present an algorithm to identify multiple users accessing a single system or application based on their typing patterns. The proposed multi-user identification algorithm can be split into training and test phases. These are described below.

Training
The keystroke data is split into training and testing sets. The set of keystroke features, F train , are inputs to the training algorithm. A quantile transformation (Q-transform) is applied on the training set to transform the samples to a uniform distribution. Based on the original data distribution, the quantile transform will vary. Therefore, the specific quantile transform derived here, train (·), will be stored and used in the testing phase. The transformed training set,F train , is then projected to a reduced feature space by using dimensionality reduction techniques to give a new set of features,f train . Then, the number of user clusters, , is estimated using unsupervised clustering algorithms such as DBSCAN, GMM, and X-means. Then the cluster centroid of each user feature cloud, , = 1, 2, . . . , is estimated and is designated as the representative point for that user. In localization-terms, this point is called the anchor and will be used in the testing stage as described in Section 3.2.

Testing
Keystroke data samples from the testing set are used to identify which one of the many trained users they belongs to. Consider the keystroke sample from a test user (TU), test from the set of training data, F test . This sample is transformed by the same quantile transformation function, train (·), generated during the training process to give us . Using all keystroke data samplesF train from each of the known users (KU), two types of cross-distances are computed using the scaled Manhattan distance. These are: known user to known user distance, , where and are known user samples, and known user to test user crossdistance, , where is a known user and is the test user (see Figure 1). These distances are then compiled into a cross distance matrix, d.
Ordinal UNLOC [46] is then used to perform two tasks: (1) the keystroke data is mapped from the keystroke space to the reduced dimension space using function mapping; and (2) the "location" of the unknown user in the reduced feature space is estimated. Using the nearest neighbor rule,

Algorithm 2: Testing
Input: A keystroke sample: test , Quantile transformed function : train (·), Quantile transformed data:F train , Reduced feature space:f train , Number of cluster centroids: , Cluster centroids: Output: A predicted or assigned user cluster label: 1 Fit test using train (·) to obtain˜ ; 2 Estimate cross-distances and ; 3 Estimate cross distance matrix d; 4 Apply Ordinal UNLOC using d andf train to estimate test feature location:˜ test ; 5 Apply knn using˜ test to assign a user label:ˆ . this estimate is mapped to one of the known users, and a classification decision is made.
We should note here that the function learning step in Ordinal UNLOC is crucial, since it maps data from keystroke space to reduced dimensions, without resorting to the computationally expensive dimensionality reduction process. Further, as will be seen from the simulations, Ordinal UNLOC, since it is designed to function with noisy and incomplete data, is ideally suited to keystroke data, and improves performance over conventional dimensionality reduction techniques.

METHODS
In what follows, we describe the feature transformation method we use, as well as the scaled Manhattan distance, the dimensionality reduction techniques, and the clustering algorithms.

Feature Transformation
Since the keystroke typing timestamps collected are prone to variances due to user typing behavior, there always will be some outliers present in the incoming keystroke data. Since all users are typing the same text, some samples from different users may be too close to each other, leading to misclassification. To address these problems, we implement a quantile-based transformation (Q-transform) [47] on the incoming features to convert the user features into a uniform distribution. Hence, the outliers get pushed closer to the corresponding user features, and features that are close to each other, are spaced out. The quantile-based transform is a non-linear transformation technique that is based on the monotonic transformation of features. It transforms all the features into the desired distribution based on a function, −1 [ (·)], where (·) is the cumulative distributive function of a feature and −1 is the quantile function of the desired output distribution . We select the desired quantile function to be uniform distribution so that outliers are bought closer to the rest of the data, and closely spaced data get a little separation.
Since the Q-transform is specific to (·), the function derived during training is stored, and this same function is used throughout the rest of the process.

Scaled Manhattan Distance
The Scaled Manhattan distance is derived from the Manhattan distance. Consider a set of features with samples of the -th user, placed in -dimensional space, given by f , , , = 1, 2, . . . , = 1, 2, ... . Let m , be the mean ofth feature across the samples, and , be the absolute deviation across the samples of the -th user relative to which the distance score is estimated. The Manhattan distance (popularly known as the L-1 distance or the cityblock distance) between the point f , , and the feature mean m , is defined as ||f , , − m , || 1 . The Scaled Manhattan distance of the -th user relative to a test feature f , ,˜ is estimated as and gives us a dissimilarity score. Note that while f and m can be in higher dimensional space with the same dimensions, the L1 distance between them is a scalar value. Since, in this paper, we consider only the scaled Manhattan distance, we drop the superscript and denote the distance measure as ,˜ .

Dimensionality Reduction Techniques
To represent -dimensional keystroke features in reduced 2-D feature space, dimensionality reduction techniques are applied. PCA, Kernel-PCA, and t-SNE are explored as options for use with keystroke features in our algorithm.

Principal Component Analysis (PCA)
Principal component analysis (PCA) is a dimensionality reduction technique that is generally used to condense highdimensional data to a lower dimension to simplify interpretation. The basis of PCA is to transform the original multidimensional dataset to a lower dimension without losing the high variations within the data [48]. In literature, PCA is shown to be used as a preprocessing step for feature reduction, to simplify analysis, and improve the accuracy of algorithms [49]. In this paper, PCA is applied to raw keystroke features and quantile transformed features to obtain reduced feature spaces as shown in Figure 3 and 4. Kernel PCA is a non-linear extension of PCA, for cases where linear PCA may not capture and separate features as expected [50]. Kernel PCA maps the data into some high dimensional space using a non-linear function and then performs linear PCA on the mapped data. In this paper, a radial basis function is used as the kernel for projecting features, which improves the separation of user features in reduced feature space.

t-Distributed Stochastic Neighbor Embedding (t-SNE)
t-Distributed Stochastic Neighbor Embedding (t-SNE) is a non-linear technique for dimensionality reduction that is well suited for the visualization of high-dimensional datasets [51]. t-SNE converts Euclidean distances between datapoints in higher dimensions into conditional probabilities that represent similarities. The similarity of datapoints, and , is the conditional probability, | , that would pick as its neighbor if neighbors were picked in proportion to their probability density under a Gaussian centered at . Note that for a pair of ppints, and , due to symmetry, | = | .
The next step of t-SNE is to estimate a set of datapoints in a lower dimensional space where the datapoints follow similar distribution as in the higher dimensional space. For lower dimensional datapoints, it is possible to estimate similar conditional probabilities | for points and . The algorithm then attempts to construct a 2-dimensional embedding that minimizes the Kullback-Leibler divergence [52] between the vector of similarities between pairs of points in the original higher-dimensional dataset and the similarities between pairs of points in the lower embedding.
Unlike the PCA or kernel-PCA, t-SNE does not learn a mapping function to project a test input to the existing map. One drawback of the t-SNE approach is that since there is no mapping to be learned, t-SNE has to be rerun each time there is a change in the data, however small, leading to increased complexity.

Clustering
Once we have the data in reduced feature space, the number of clusters in the data is to be estimated. We first need to estimate the number of users from the collected data. Therefore, instead of supervised algorithms such as Kmeans clustering that require us to provide the number of clusters, there is a need for unsupervised clustering. We evaluate Density-Based Spatial Clustering of Applications with Noise (DBSCAN) [53], the Gaussian mixture model (GMM) [54], X-Means for clustering.

DBSCAN
DBSCAN is a clustering algorithm, which finds core samples of high density and expands clusters from them. It is suitable for data which contains clusters of similar density. In DBSCAN, a transformed feature belongs to a cluster if it is close to many features from the same cluster. DBSCAN can find arbitrary shaped clusters and clusters with outliers or noise. DBSCAN is applied to CMU and MOBIKEY dataset to identify number of clusters from incoming features.

GMM
Gaussian Mixture Models (GMMs) are expectationmaximization-based probabilistic models that use soft clustering for grouping points in different clusters. GMMs group data points by assuming a certain number of Gaussian distributions in the data and each of those distributions represent a cluster.

X-means
X-means clustering is a variation of k-means clustering that consolidates cluster assignments by continuously forcing subdivision and preserving the best resulting splits by optimizing criteria such as Bayesian Information Criterion (BIC) or Akaike Information Criterion (AIC). Here, we use BIC to assess the current state of clustering and recommend the optimal number of components to use in GMMs and Xmeans. BIC is defined as where is the likelihood function, is the number of data points, and is the number of parameters in the model. The algorithm then selects the model with smallest BIC score, giving us a way to choose between different models with varying numbers of parameters. We use the log of the Bayesian Information Criterion (BIC) score to find the optimal number of clusters in the data. The advantage of using X-means is that it is deterministic and does not require the knowledge of the number of clusters to initialize. However, it is sensitive to outliers. Therefore, when used along with quantile transformation, which minimizes the effects of the outliers, the sensitivity of X-means to outliers is reduced.
Once we identify the optimal number of clusters, the nearest neighbor rule is applied to the reduced feature space to identify users. Overall accuracy is used to evaluate the performance of each algorithm.

Ordinal Unfolding based Localization
Ordinal Unfolding based localization (in short, Ordinal UNLOC) [46] is a target localization technique where we do not have reliable distance measurements between components in the system (nodes, transmit-receive pairs, etc.). The estimation technique utilizes rank aggregation, function learning, and proximity-based unfolding optimization, and as a result, it yields accurate target localization for common transmission models with unknown parameters and noisy observations that are reminiscent of practical settings [29]. The computational estimation approach consists of three main steps. First, from the ordinal comparison data, rank aggregation is applied to obtain a set of "dissimilarities", which, for a given reference sensor , assigns a score to each sensor that serves as proxy to its distance to according to the ordinal data and rankings. Such sets of spatial proximities (scores) are not unique since any shifting and (positive) scaling preserves the ranking of the scores. Consequently, the scores obtained in this step cannot be directly used as (approximate) anchor-to-target distances for localization. Next, the estimated distance proximities among the anchors together with the (known) anchor-to-anchor distances are used to fit functions that best transform proximities into distances, and such functions are then applied to obtain estimates of anchor-to-target distances. Finally, given the location of anchors and (estimated) anchor-to-target distances, a multidimensional unfolding optimization problem is formulated for each target, whose solution represents a (best) estimation of the location of that target.
Ordinal UNLOC utilizes noisy and incomplete data, due to the complex mutlipath profiles in indoor environments.
Using this data directly in localization algorithms can lead to misleading localization results. Rather than using this data directly, Ordinal UNLOC compares measurements to generate ordinal data. Similarly, keystroke data is noisy since users tend have variations in their typing speeds even within short observation windows. Here, again, we compare the dissimilarities between typing samples, leading to ordinal comparisons among users, and then using the framework of Ordinal UNLOC to solve the classification problem. Therefore, Ordinal UNLOC allows for a robust approach to solve the multi-user classification problem when dealing with inherently noisy keystroke data.

NUMERICAL RESULTS
Our algorithms are evaluated on the CMU keystroke [12] and MOBIKEY dataset [16]. The keystroke data is divided into training and testing. The quantile transformation is then applied to the training data. Effectiveness of quantile transformation and dimensional reduction techniques (PCA, Kernel-PCA, and t-SNE) is assessed. Then clustering schemes are applied to the reduced features obtained from the dimensionality reduction process. The effectiveness of clustering techniques such as DBSCAN, GMM and X-means is evaluated. The accuracy of identification is then estimated for each approach for different sample sizes and different multi user cases.
The CMU keystroke benchmark dataset consists of static keystroke typing times from 51 subjects, each typing a password ".tie5Roanl" 50 times over 8 sessions [12]. Various timing features such as the key press times and hold times, were extracted from the raw data. These keystroke timings are used as inputs to our algorithm.
The MOBIKEY dataset [16] consists of users typing the same password as in the CMU dataset, ".tie5Roanl", 20 times over 3 sessions each one week apart. To collect this data, users were asked to type the password using the touchscreen of a Nexus 7 tablet. The authors [16] used a custom application to store the time, touch, and accelerometerrelated raw data for each typing sessions. The raw data consists of the point of touch down and touch up events initiated by users. The various timing features used by researchers (e.g., the touch key pressing up-down times and hold times) were extracted from the raw data. We used up-down keystroke timings as the input features for our research.
In all our experiments that we present below, we split the data into training and testing sets in an 80:20 ratio.

Evaluating the Quantile transformation
First, the effectiveness of the quantile transformation is evaluated on different sample sizes. As discussed earlier in Section 4.1, keystroke features are transformed to follow a uniform distribution. This spreads out the most frequent    values of keystroke features and reduces the impact of marginal outliers. The quantile transformation is applied to the training feature set and the transformer function that maps the features to a uniform distribution, train (·), is learned. This transformer function is then used to transform test features from the same user. Then, PCA, kernel-PCA, and t-SNE are applied to both the raw and the transformed training features, resulting in projecting the features into a reduced feature space. The effects of quantile transformation on both datasets are shown in Figure 3 and Figure 4, where for a sample size of 50, PCA and t-SNE are applied to both the raw features and the quantile transformed features. When PCA and t-SNE are applied to raw features, we do not observe a good separation of data. However, there is a visible improvement in the user feature separation on the quantile transformed data (see Figure 3 and Figure 4).

Comparison of clustering schemes
It is essential to identify the number of distinct users present in the reduced feature space. Hence, after applying dimensionality reduction techniques (PCA, Kernel-PCA, and t-SNE), unsupervised clustering algorithms such as DBSCAN, GMM, and X-means are used to identify the number of user clusters present in the keystroke data. These clustering algorithms are evaluated quantitatively based on the adjusted rand index (ARI) given by where RI is the rand index and ERI is the expected rand index. RI estimates a similarity measure among two clusters by analyzing all pairs of samples, enumerating the numbers of pairs, both within the same cluster, or both in different clusters (a total of four combinations), and calculating the ratio of number of pairs in the same clusters to the total number of pairs. The RI is calculated for each trial, and the max(RI) is the largest RI from this set, and the ERI is the average of the all the RI values obtained. An ARI value of zero indicates random labeling and poor clustering. ARI values close to 1 indicate efficient clustering. DBSCAN is applied to the reduced feature space obtained from PCA, Kernel PCA, and t-SNE. When using DBSCAN, care must be taken to select the correct values of two parameters: (i) the maximum distance between two samples for one to be considered as in the neighborhood of the other; and (ii) the number of samples, or total weight, in a neighborhood for a point to be considered as part of a cluster or a core point. These parameters, appear in scikitlearn [55] as eps and min_samples.
The quantitative scores based on ARI values are summarized in Table 1. DBSCAN did not perform well with raw keystroke features. However, it can predict the number of clusters successfully with the quantile transformed data. ARI indices are marginally better for Kernel-PCA compared to PCA. However, ARI indices for t-SNE are better than both PCA and Kernel-PCA.
In a next evaluation, GMM clustering is applied to the data. The BIC score is used to predict the number of clusters in the data (see Section 4.4.3 for the definition of BIC score) ARI is used to evaluate the results, which are tabulated in Table 1. GMM predicted a higher number of clusters when operating on raw keystroke features, but estimated the correct number when applied to the quantile-transformed data and yielded higher ARI scores. Furthermore, the ARI scores followed similar trends to those seen with DBSCAN, with t-SNE outperforming Kernel PCA, and both outperforming PCA.
Finally, X-means clustering is applied to the reduced projected features. X-means can successfully estimate number of clusters in quantile transformed feature space with a higher ARI index than both GMM and DBSCAN. ARI index improves as we move from PCA to Kernel-PCA to t-SNE due to better separation of features (see Figure 3 and Figure  4).
We observed a similar trend in the MOBIKEY dataset with DBSCAN, GMM, and X-means algorithms. The result of the X-means clustering algorithm is shown in Table 2. As the MOBIKEY data is collected from a tablet, the touch data is susceptible to extra noise, leading to lower ARI scores than those seen with keyboard data. Here too, the quantile transform helps in improving the separation and clustering of incoming features. Also, as can be seen from the table, by using the most recent 20 incoming features, we can cluster users more accurately. As we include more samples from the past, the ARI score drops due to behavioral changes in the typing pattern of users over long periods of time [56]. Overall, we found X-means to perform the best among the investigated clustering methods.

Classification accuracy
First, we select four random users from CMU keystroke dataset. In the CMU keystroke dataset, each user has a total of 400 samples taken from 8 different sessions, with each user typing a password 50 times during a session. For each user, the samples are selected randomly from all the sessions, outliers are removed from the dataset, and an 80/20 percent split is performed on the data to separate the points into training and testing sets. Specifically, when the result is reported for a "sample size of ", 0.8 samples are randomly selected for training, and 0.2 samples for testing. Our proposed algorithm (see Section 3) is then applied to this data. Anchor locations are derived as described in the training phase, and the data in the testing set are treated as keystrokes from "unknown" users. Once the locations of the "unknown" users are estimated, they are classified based on the nearest neighbor rule. To benchmark the performance of the proposed algorithm, the test features are also classified by just the nearest neighbor rule in the reduced feature spaces of PCA, Kernel-PCA, and t-SNE without using Ordinal UNLOC.
Identification accuracy is estimated for different sample sizes for the CMU keystroke dataset. As it is difficult to identify number of user clusters from the raw input data (see Table 1 and 2), the pre-processing steps discussed in section 5.2 are crucial to the performance of the classification algorithm. With unprocessed data, the numbers of clusters are frequently wrongly estimated, leading to poor performance (<25% accuracy), and when the number of clusters is correctly estimated, classification on unprocessed data leads to better performance (∼ 89% accuracy), but still does not match the performance when the algorithm is applied to processed data (see Table 3). Overall, accuracy with Ordinal UNLOC is slightly lower compared to PCA with the nearest neighbor approach. However, as we reduce the sample size, the accuracy of our proposed algorithm improves. As can be seen in Table 3, for a sample size of 10, it can be seen that Ordinal UNLOC when applied after PCA or Kernel-PCA, outperform other methods. This is noteworthy, since accurate identification is possible with as few as 10 keystroke samples using our approach -making it a candidate for use alongside password entry systems.  TABLE 3 Identification accuracy (CMU dataset): Identification accuracy is estimated for different sample sizes for the CMU keystroke dataset. We selected four users from the final session. For a "sample size of ", 0.8 samples are randomly selected for training, and 0.2 samples for testing as discussed in Section 5.4. First, identification accuracy for a sample size of 50 is estimated. Overall, accuracy with Ordinal UNLOC is slightly lower compared to PCA with the nearest neighbor approach. However, as we reduce the sample size, the accuracy of the proposed method improves. With a sample size of 20, the proposed method performs better for PCA and Kernel-PCA when compared to t-SNE. As we move from PCA space to Kernel-PCA space, the accuracy improves. However, tuning Kernel-PCA with the incoming feature vector is an open challenge. Features are clustered and separated well in the t-SNE domain. Hence, the accuracy with t-SNE is higher. However, since the embeddings in the t-SNE domain change in every run, the distance between points in the lower dimensional embedding is not always the same. Therefore, we observe a drop in accuracy when we use the proposed method Ordinal UNLOC with t-SNE. As we move from PCA space to Kernel-PCA space, the accuracy improves. However, tuning Kernel-PCA with the incoming feature vector is a challenge. Features are clustered and separated well in the t-SNE domain. Hence, the accuracy with t-SNE is higher. However, since embeddings in the t-SNE domain change in every run, the distances between features in the lower-dimensional embedding do not stay the same as the data changes. This leads to a drop in overall accuracy.
To further demonstrate the effectiveness of our approach, we carried out intra-session and inter-session analysis on the CMU-Keystroke dataset (Table 5). Further, we assumed no prior knowledge of the number of users and their sample sizes in the training and test sets. The identi-fication accuracy of our algorithms is evaluated by varying the number of multiple users accessing the system for the CMU dataset. We performed Monte-Carlo experiments with random sample sizes and intra and inter session data. To improve separability among user feature clouds, the number of dimensions in reduced feature space of PCA/ Kernel-PCA is varied. The lowest number of dimensions needed to show significant performance gains and the corresponding identification accuracy values are shown in Table 5. We observe that the accuracy improves as we move from PCA to Kernel PCA to t-SNE. However, as the number of users accessing the system increases, the identification accuracy drops. As the samples are drawn randomly in both intra and inter sessions, we observe the following:  4 Identification accuracy (MOBIKEY results): The identification accuracy of our algorithms is evaluated for the MOBIKEY dataset. The users's up-down digraph is fed as input. For a "sample size of ", 0.8 samples are randomly selected for training, and 0.2 samples for testing as discussed in Section 5.4. Overall, accuracy with Ordinal UNLOC is slightly lower compared to PCA with the nearest neighbor approach. However, as we reduce the sample size, the accuracy of the proposed method improves. With a sample size of 10, the proposed method performs better for PCA and Kernel-PCA when compared to t-SNE. The results get better in the Kernel-PCA space.

TABLE 5
The identification accuracy of our algorithms is evaluated by varying the number of multiple users accessing the system for the CMU dataset.
Here, we carried out the experiment assuming no knowledge of number of users and their samples in the training dataset. We picked random sample size with an Monte-Carlo experiment on intra and inter session data. We observe that the accuracy improves as we move from PCA to Kernel PCA to t-SNE. However, as the number of users accessing the system increases, the identification accuracy drops.  A drop in identification performance in classical approaches (PCA/KPCA/t-SNE with nearest neighbor) without ordinal ULOC. The intra session performance further dropped by 5% or more.

•
The intra session performance is agnostic to random sample selection with ordinal UNLOC. However, with inter session data, the performance drops due to the effect of time in behavioral keystroke biometrics [43].
The accuracy of our algorithms is evaluated for the MOBIKEY dataset [16] as well. The touch up -touch down features are used as input. In the MOBIKEY dataset, there are 20 samples per session and a total of 3 sessions. We randomized the samples from 3 sessions to obtain the results. Hence, they represent a generalization of the inter session performance, and the results are shown in Table  4. The results are compared with classical approaches. We observed, again, that the proposed method outperforms the classical methods. Other observations are consistent with what was seen with the CMU dataset.
Furthermore, as the number of users accessing the system increases, the identification accuracy drops gradually. In all cases, our proposed algorithm, combined with PCA/Kernel-PCA space performs marginally better compared to just PCA/Kernel-PCA with the nearest neighbor approach.

CONCLUSIONS
In this paper, we presented an algorithm to solve a multiuser identification problem in keystroke dynamics. Quantile transformed keystroke samples are projected to a lower dimensional space using PCA/ Kernel-PCA, or t-SNE. Ordinal-UNLOC is applied to an incoming quantile transformed sample in the reduced feature space to find its optimal "location" in the reduced feature space, and based on this location, the test sample is classified based on the nearest neighbor rule.
To test the effectiveness of our proposed algorithm, classification accuracy is estimated for different sample sizes and compared with traditional PCA/Kernel-PCA/t-SNE with the nearest neighbor classifier, using data from the CMU dataset and the MOBIKEY dataset. Among all the algorithms, our proposed algorithm is effective in identifying multiple users.
Keystroke biometrics is a behavioral biometric modality, where keystroke patterns continuously evolve with time. Hence, including more samples from the past deteriorates the performance metrics [43]. Future work includes the investigation of typing behavior with time, and how that can affect the performance of this and similar identification systems. Future work also includes implementing a deep learning framework for multi-user classification, the investigation of typing behavior with time, and how that can affect the performance of this and similar classification systems. Further exploration is warranted to modify this algorithm for use in datasets such as Clarkson Account Recovery dataset [45]. Other distance measures such as the Mahalanobis distance can be investigated for their effectiveness when used as part of the proposed algorithm.

ACKNOWLEDGMENTS
This work was supported in part by NSF CPS 1646542.