Behavioral authentication using keystroke timing from a fixed password.
We discretize timing features and train a discrete HMM per user, then identify the most likely user by log-likelihood.
- Keystroke Dynamics Benchmark (CMU CyLab),
DSL-StrongPasswordData.csv - Each row = one repetition of the same password by a subject
- Features include hold times (H.) and latencies (DD., UD.*)
- Preprocess: take the 31 timing features and discretize them into
mbins (quantile-based). - Train: one discrete HMM per user with Baum–Welch (EM).
- Predict: for a new sequence, compute log-likelihood under every user’s HMM and choose the max.
- Discrete HMM requires discretization of continuous timing values.
- Results depend on hyperparameters like number of bins
mand number of hidden states.