In developing a continuous authentication system to overcome the limitations of password-based systems,
each enrolled user has a series of typing vectors that can be regarded as a 'User Matrix'.
This matrix consists of all typing vectors that can be definitely associated with the specific user and
represents the vector space of what is currently known about the user's typing pattern (keystroke Biometric Capture).
In order to match a users known typing vectors against unknown typing vectors (underlying process of continuous authentication),
the Singular Value Decomposition of the User Matrix can be performed in order to define the eigenvectors associated with that matrix.
Once these Eigenvectors are determined,
then a series of vector transformations can be applied to them in order to generate any/all other vectors that a user could produce.
The process of determining the type and sequence of these vector transformations is computationally difficult and
requires the use of some efficient search technique or metaheuristic.
The use of genetic algorithms to find the correct transformations and their proper sequence or to provide a useful 'rule' for determining them may show promise.
Genetic Algorithms (GA) are ideally suited for applications in which the search space is very large or complex.
Determining the proper type and sequence of vector transformations necessary to apply to an eigenvector,
in order to reproduce a 'compatible vector' in a User's vector space, is one such problem.
Successful implementation of GAs, to find these transformations or to allow for the devising of a metaheuristic to determine them empirically,
would be a 'significant' step forward in building a reliable continuous authentication system.
This project (known as Jellyfish) is a continuation of project RazorFish
which focused on building a continuous authentication system based on eigenvector decomposition of a user's typing vectors.
This project is designed to accomplish the following:
- Explore the subject of GAs and allows studens to implement GA algorithms (Java, Python, and R).
- Develop mathematical understanding of vectors, vector spaces, and vector transformation in both R3 and Rn spaces.
(User Matrix is 22 dimensional)
- Explore the use of GAs in determining the proper type and sequence of vector transformations necessary to reproduce a 'user's vector' for authentication purposes.
- Explore the use of GAs in developing a metaheuristic to empirically determine previously unknown 'User vectors' for authentication purposes.
This exact work has not been previously explored but the following papers
are related to the general process of using GA for this type of problem. (Represent work on same general principle).
- S. Bandyopadhayay,
Pattern Classification Using Genetic Algorithms,
- S. Bandyopadhayay and U. Maulik,
Non-parametric Genetic Clustering: Comparison and Validity Indices,
- S. Bandyopadhayay,
Simulated Annealing Using Reversible Jump Markov Chain Monte Carlo Chain for Fuzzy Clustering,
- A Baykasoglu,
Goal Programming Using Multiple Objective Tabu Search,
- " N.J. Bhuyan, V.V. Raghavan, and K.E. Venkatesh,
Genetic Algorithms for Clustering with an Ordered Representation,