Programming language support for continuous user authentication

dc.contributor.author Muganji, Julius
dc.date.accessioned 2022-02-14T04:14:04Z
dc.date.available 2022-02-14T04:14:04Z
dc.date.issued 2021-03-31
dc.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. en_US
dc.description.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 en_US
dc.identifier.citation Muganji, J. (2021). Programming language support for continuous user authentication. (Unpublished Masters Dissertation). Makerere University, Kampala, Uganda. en_US
dc.identifier.uri http://hdl.handle.net/10570/9360
dc.language.iso en en_US
dc.publisher Makerere University en_US
dc.subject continuous user authentication en_US
dc.subject CUA en_US
dc.subject explicit user authentication en_US
dc.subject EUA en_US
dc.subject language abstractions en_US
dc.subject machine learning en_US
dc.title Programming language support for continuous user authentication en_US
dc.type Thesis en_US
Files