Programming language support for continuous user authentication

Date
2021-03-31
Authors
Muganji, Julius
Journal Title
Journal ISSN
Volume Title
Publisher
Makerere University
Abstract
The implementation of continuous user authentication (CUA) in applications provides end-users with enhanced experiences by continuously verifying their authenticity using behavior characteristics of a user with in a current user session. Explicit user authentication methods such as use of passwords, unlock patterns, and finger prints, provide a high level of security but are associated with a lot of pitfalls, including difficult to use, are intrusive in nature, are easily forgotten by the user, and are subjected to brute force attacks. However developing effective CUA applications using the current programming languages is a daunting task mainly because of lack of abstraction methods that support CUA. This thesis investigates new language features that support the development of applications enabled with continuous user authentication. Using these new language features, software applications can be developed enriched with continuous user authentication that can authenticate users on various smart devices. We observe that current state of the art programming languages lack these important features that apply to the continuous user authentication process. We proposed and developed a continuous user authentication language extension that adds recording of user bio-metrics, extracting of user patterns and modeling of a user authentication profile in authentication applications on smart devices. On modeling user authentication profile, extracted user patterns are subjected to machine learning algorithms for training and later deployed to validate the authenticity of a user on smart devices. This language model ensures that CUA applications can be configured to run silently in the background on any smart device while leveraging the available sensors on the hosting device. We modeled a language extension in python which comprised of reusable methods that aid in recording of user bio-metrics from existing sensors, extraction of user patterns from the collected data and building of a valid user profile for authentication. CUA in plascua works in a way by listening and recording user bio-metric events from the sensor, extracting of user patterns from the fetched events and authenticating of a user. All these tasks are handled silently in the background without interrupting the functioning of the hosting device. Keywords — continuous user authentication (CUA), explicit user authentication (EUA), abstractions, machine learning
Description
A dissertation submitted to the Directorate of Research and Graduate Training in partial fulfillment of the requirements for the award of the degree of Master of Science in Computer Science of Makerere University.
Keywords
continuous user authentication, CUA, explicit user authentication, EUA, language abstractions, machine learning
Citation
Muganji, J. (2021). Programming language support for continuous user authentication. (Unpublished Masters Dissertation). Makerere University, Kampala, Uganda.