Gaze-Based Secured Authentication System Based On Morse Code-Report
Gaze-Based Secured Authentication System Based On Morse Code-Report
A Project Report on
“GAZE-BASED SECURED AUTHENTICATION
SYSTEM BASED ON MORSE CODE”
Submitted in partial fulfillment of the requirement for award of degree
of
BACHELOR OF ENGINEERING
in
COMPUTER SCIENCE AND ENGINEERING
by
AMULYA M S 1EP18CS009
HARINI M 1EP18CS032
KEERTHI S 1EP18CS043
NEERAJA H 1EP18CS064
Mrs. Shammi L
Assistant Professor
Dept. of CSE, EPCET
2021-2022
CERTIFICATE
External Viva:
1 ……………………………. ………………………………
2 ……………………………… ………………………………
ACKNOWLEDGEMENT
Firstly, we thank the Management and Principal of East Point College of Engineering and
Technology, Bengaluru for providing us an opportunity to work on the project Gaze-Based
Secured Authentication System Based on Morse Code.
We would like to express our sincere thanks to Dr. C. Emilin Shyni, Professor and Head of the
Department of Computer Science and Engineering, EPCET for her valuable suggestions and
encouragement to do our best in this project work.
We would like to express our gratitude towards our guide and the project coordinator Prof. Divya
U H, Assistant Professor, Department of CSE for their valuable guidance and constant supervision
in completing the project successfully.
We would like to extend our thanks to all the faculty members of CSE department for their
valuableinputs as reviewers during the course of the project work.
Finally, we would like to thank our parents and friends for their support and encouragement in
successful completion of this project work.
AMULYA M S [1EP18CS009]
HARINI M [1EP18CS032]
KEERTHI S [1EP18CS043]
NEERAJA H [1EP18CS064]
iii
ABSTRACT
Since most of the people in the world are facing problems in the field of authentication and
security. This system provides a “Real time eye tracing for password authentication” for
people who authenticate themselves using Morse code.
Gaze-based authentication refers to finding the eye location across sequential image frames,
and tracking eye center over time. Personal Identification Numbers (PIN) is widely used for
user authentication and safety for security reasons. Users must enter a physical PIN to use
PIN-based password authentication, which can be susceptible to password cracking or
hacking. In our system Password authentication will be done using Morse code, where
numbers will be represented in dots and dashes. This model presents a real-time application
for gaze-based PIN entry, and eye detection and tracking for PIN identification using a smart
camera. Enhancing the conventional PIN entry by adding eye-blink based PIN entry with
Morse code to provide an additional level of security is the motivation behind this work.
iv
CONTENTS
1 Introduction 1
2 Literature Survey 5
3 Requirements Specification 9
v
5 System Implementation 19
6 System Testing 22
7.2 Snapshots 25
References 34
vi
LIST OF FIGURES
vii
7.11 Morse code Password Input Frame 30
7.15 Dataset 32
viii
LIST OF TABLES
ix
INTRODUCTION
Gaze-Based Secured Authentication System Based on Morse Code
CHAPTER 1
INTRODUCTION
Throughout history technology has been the drive of change. With the improved technology
comes other ways during which we will make our lives better and more efficient. This led to
the introduction of the many branches, one of them is Data Science. Mining large amounts of
structured and unstructured data to identify patterns can help an organization rein in costs,
increase efficiencies, recognize new market opportunities and increase the organization's
competitive advantage.
Machine learning is a field of computing that always uses statistical techniques to offer
computers the power to "learn" (i.e., progressively improve performance on a selected task) with
data, without being explicitly programmed. Machine learning is employed during a variety of
computing tasks where designing and programming explicit algorithms with good performance
is difficult or infeasible. Within the world of data analytics, machine learning could also be a
way used to devise complex models and algorithms that lend themselves to prediction. Usable
security cares with the study of how security information should be handled within the system,
both at the interface and within the back-end process, without discarding consideration for
resources and costs.
Balancing usability and security to understand optimal result has been defined by the principle of
psychological acceptability. Consistent with this principle, a security mechanism should not
make accessing a resource, or taking another action, harder than it would be if the security
mechanism were not present. This suggests that a security mechanism should add as little as
possible to the matter of the users performing some action. Here the perception of “difficult”
should account for the talents, knowledge and mental models of the system users. In essence, for
security to be more usable, it is to be less noticeable. This project takes account of all those
factors and tries to achieve a result that is easily attainable by any user that interacts with our
system. Currently there are not plenty of amenities for disabled people within the planet which
helps them to be incorporated within the traditional society. Our system hopes to scale back that
burden on them and makes sure that they are more integrated with the society.
Security is a major concern in any authentication system. It is the goal of any authentication
system to make the system impenetrable, un-hackable, and immune to attacks. Most of the
conventional systems available however, fail to deliver on some if not all of these counts. This
project is aiming to provide a highly secured system in which authentication is bit more
increased instead of giving the authentication code by keyboard, which uses less hardware
sensors that are being recently used. Enhancing the conventional PIN entry by adding eye- blink
based PIN entry with Morse code to provide an additional level of security is the motivation
behind this work.
Advancement in the technology of authentication and authorization has been supported in the
21st century. Personal identification numbers (PIN) are widely used for user authentication and
security since the late 90's. Users must enter a physical PIN to use PIN-based password
authentication, which can be susceptible to password cracking or hacking. The familiar face and
fingerprint authentication techniques is easy, fast, reliable. However, these are the techniques
that are not safe since the malicious person can use certain methods to intrude the system.
Limitations
Low tech shoulder surfing, where a person tries to obtain the password by simply trying
to look when the person is entering his or her password.
Another technique which uses fluorescent dye in powder form sprinkled over a recently
used keypad which makes the buttons glow while they were pressed.
A high tech professional can use a custom built brute force gadget, which can be easily
programmed to apply all possible combinations belonging to a given symbol set which is
usually successful in cracking the passwords easily.
Finding the eye blinks through the Morse code, in which numbers are represented in points and
dashes, which will be used to make the password authentication and creating the PIN is referred
to as eye blinks-based authentication. Blinking the eye is a natural method of interaction, and eye
blinking based safety systems provide a promising system safety and usability. Here we use
gaze-based authentication and a mouse-click to convert numbers or alphabets into source code to
increase safety.
Advantage
There is no need to use the keypad for entering the password.
Provides additional level of security compared to the traditional PIN entry authentication
system.
Make less use of hardware sensors that are commonly used these days.
To create a secure system to authenticate users who are not completely blind.
To develop a secure Morse code-based password authentication system.
To make sure that the required parts of the face are recognized accurately by the system.
To provide safer and secured authentication system.
In this project, a new kind of security system is developed, which has not been seen before. The
concept of Morse code is used as a communication method in emergency situation, and
integrates it into an authentication security device. This project is based on software that receives
the Morse inputs from the user, decode them, and authenticate based on this information.
This system is immune to shoulder surfing and simple “observe and guess” techniques of
cracking passwords. This project provides a system that provides minimalistic design that uses
low tech, and algorithms, that it is immune to attacks by high tech brute force gadgets.
CHAPTER 2
LITERATURE SURVEY
result. A higher number of regions (patches) are exploited in, under the assumption that there
exists a linear mapping between sub regions (patches) of non-frontal and frontal images of the
same subject. The approach presented by Rudovic et al. includes a training phase where the
system estimates a mapping among each single pose and the frontal pose through a suitable
Gaussian process regression (GPR). During testing, the pose is first estimated, and then, the
appropriate GPR is applied. One limitation of this approach is that only anticipated poses, i.e.,
those from a predetermined discrete set, can be reliably mapped to a frontal one. Moreover, this
requires a computationally expensive training phase. One frontal and one profile image have
been shown to recover both 3-D shape and texture information. While exploiting a 3-D model
facilitates recovering a frontal pose, the involved computational cost is prohibitive for large-scale
applications.[4]
CHAPTER 3
REQUIREMENT SPECIFICATIONS
IDE : Python
Packages : OpenCv
Non-functional requirements, as the name suggests, are requirements that are not directly
concerned with the specific functions delivered by the system. They may relate to emergent
system properties such as reliability, response time and store occupancy. Alternatively, they
may define constraints on the system such as capabilities of I/O devices and the data
representations used in system interfaces. The non-functional requirements are as follows:
Provide easy interface for physically challenged and disabled people.
Provides maximum accuracy.
Handles errors efficiently.
1. Database creation
a) Initialize the camera and set an alert message to grab the attention of the students.
b) Get user id as input
c) Convert the image into gray scale, detect the face and
d) Store it in database by using given input as label up to 20 frames.
2. Training
a) Initialize LBPH face recognizer.
b) Get faces and Id’s from database folder to train the LBPH face recognizer.
c) Save the trained data as xml or yml file.
3. Testing
Load Haar classifier, LBPH face recognizer and trained data from xml or yml file.
a) Capture the image from camera,
b) Convert it into gray scale,
c) Detect the face in it and
d) Predict the face using the above recognizer.
This proposed system uses Haar Cascade algorithm for face detection which uses modified Haar
Cascades for detection. We will be using USB webcam to capture photos. We can access system
console either by using SSH in laptop. Firstly, the algorithm needs a lot of positive images and
negative images to train the Haar Cascades classifier. Positive images are images with clear faces
where negative images are those without any faces.
CHAPTER 4
System architecture is the conceptual model that defines the structure, behavior and views of a
system. A system architecture can consist of system components that will work together to
implement the overall system.
Fig 4.1, represents the architecture or the basic design that is required for the implementation of
the model. The model consists of a user interface and back end database. GUI is created such
that the user can interact with the system. Pygame or OpenCV is used in to create it.
In the frontend firstly the user need to register by providing a user id of choice, a password (PIN)
and a keyword. After registration the user can log in by using the credentials i.e. user id and
password. With the help of a web camera the PIN is taken as input in the form of Morse code.
In the backend, the entered PIN is checked with the stored PIN which was entered into the
database by the user while registering. If the entered PIN is not correct, its exits the screen. If the
Department of CSE, EPCET 2021-2022 Page 12
Gaze-Based Secured Authentication System Based on Morse Code
entered PIN is correct, it displays successful authentication. If the user has forgotten his
password then he can use the keyword to authenticate and update the existing password with a
new one.
System design is the process of defining the architecture, components, modules, interfaces and
data for the system to satisfy specified requirements. It can also be defined as a process of
planning a new business system or replacing an existing system by defining its components or
modules to satisfy the specific requirements of the user.
It focuses on how to accomplish the objective of the system. It describes how software is
decomposed and organized into components and the interfaces between those components.
System design involves Architectural design (describes the structure, behavior and views of the
system), Logical design (abstract representation of the data flows, inputs and outputs of the
system) and Physical design (describes how data is input, processed and displayed in a system).
System design is one of the most important phases of software development process. System
design takes problem statement, requirements determination plan, current situation analysis and
proposed system requirements as input and gives a data schema, function hierarchy diagram, a
prototype for the proposed system as output. It is a crucial part in system development without
which the proposed system cannot be developed.
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram
defined by and created from a Use-case analysis. Its purpose is to present a graphical overview
of the functionality provided by a system in terms of actors, their goals (represented as use
cases), and any dependencies between those use cases. The main purpose of a use diagram is to
show what system functions are performed for which actor. Roles of the actors in the system can
be depicted.
Fig 4.2 depicts the Use case diagram for our project. When the user interacts with the GUI
(Graphical User Interface) they can login or register themselves as a user. When the user is
registering they need to provide a user id, password and a keyword. When the user needs to log in
to their account then they need to enter their user id and password.
Once they are recognized as genuine users then the web camera is launched. The webcam is
used to identify the users face and it begins to extract the features of the eye in real time. During
this time the user needs to enter their password in the form of Morse code by blinking their eyes.
If the user is able to correctly enter the password then their login is successful.
Suppose there occurs a situation where the user is not able to remember their password or wants
to change their password then the user needs to answer the security question with the keyword
that they had given when they had registered. When the keyword matches the password can be
updated.
Sequence Diagram
The above Fig 4.3 represents the sequence diagram of the model. This diagram consists of three
components. They are GUI, database (txt file) and a webcam. The User has to perform three
actions here. First action is the register process, where the user has to enter the username,
password and keyword. The communication is between user and GUI. After a successful
register process, the second action is performed where the user has to login. If the credentials
match then the user can proceed through gaze based authentication.
Here the user has to blink his eyes to enter the password in Morse code. If the user forgets his
password, the third action is invoked where the user has to create a new password. The new
password is created using mouse clicks.
Then the user can re-enter his credentials, if it is a match to the details that was entered in
register, then the user can the password through gaze based software.
Flow Chart
This is the last authentication layer in this 25project which we display on screen. When you blink
the eye, one cursor will move around the Morse virtual code keyboard. The system selects the
PIN from the special user sequence. To monitor eyes, we are using the web camera. We use
OpenCV to spot blink of the eye. The result of the experiment is to test the accuracy of Morse
code recognition. In this test results, we are considering one tester at a time. The content of our
test is to require our tester to enter all the characters in the database in the testing environment
using Morse code gestures, which includes all alphabets and numbers. In this testing
environment, the user entered values compared with the database. If it matches, it will allow for
further process otherwise it will send alert. The Morse code value is chosen based on the eye
blink point.
CHAPTER 5
SYSTEM IMPLEMENTATION
Implementation is that process of converting a replacement system design into an operational
one. It is the key stage in a successful new system. It must therefore be carefully planned and
controlled. The implementation of a system is done after the development effort is completed.
When the user first opens this application a GUI (Graphical User Interface) will prompt the user
whether he wants to login or register as a new user. When the user registers they need to provide
the required credentials such as user id, password and keyword. The inputs are stored in a
database. When the user needs to login then they must enter the correct credentials which they
had while registering. If the credentials match the ones which were given when they had
registered then the authentication is successful. If the credentials are not matching then they must
answer the security question with the keyword which they had given when they registered at the
start. If the keyword matches then the user can update the password using the mouse buttons.
The updated password is changed in the database. Hence the next time the user logs in they can
use the new password which they have set. In a scenario where the keyword does not match then
the user exits from the GUI application.
Face landmark detection is that the method of finding points of interest during a picture
of an individual’s face. For example, we have shown the power to detect emotion through
facial gestures, estimating gaze direction, changing facial appearance (face swap),
augmenting faces with graphics, and puppeteering of virtual characters.
To achieve this, the landmark detector must find dozens of points on the face, such as
corners of the mouth, corners of eyes, the silhouette of the jaws, and many more. Many
algorithms were developed and implemented in OpenCV. To run the face mark detector,
a pre-trained model is required. This pre-trained model which we have used is
shape_predictor_68_face_landmarks. The indexes of the 68 coordinates can be
visualized on the image below.
Haar Cascade is a machine learning object detection algorithm used to identify objects in
an image or video. It is a machine learning based methodology where a cascade function
is prepared from a ton of positive and negative pictures. It is then used to recognize
objects in different pictures. It is well known for being able to identify almost any object.
First step is to collect the Haar Features. A Haar feature considers adjacent rectangle
regions at a particular point in a detection window, and it sums up the pixel intensities in
each of those regions and it calculates the difference between these sums. Haar Cascade
is 96.24% accurate.
CHAPTER 6
SYSTEM TESTING
This chapter gives the outline of all testing methods that are administered to urge a bug free
system. Quality is often achieved by testing the merchandise using different techniques at
different phases of the project development. The purpose of testing is to discover errors. Testing
is the process of trying to get every conceivable fault or weakness in a work product. It provides
how to see the functionality of components sub-assemblies or a finished product. It is the process
of exercising software with the intent of ensuring that the software system meets its requirements
and user expectations and does not fail in an unacceptable manner. There are various types of
test. Each test type addresses a specific testing requirement.
Unit testing, also known as component testing refers to tests that verify the functionality of a
specific section of code, usually at the function level. In an object-oriented environment, this is
usually at the class level, and the minimal unit tests include the constructors and destructors.
TEST
EXPECTED TEST
CASE TEST CASE ACTUAL RESULTS
RESULTS RESULT
ID
1 Training facial Face and eye points must Face and eye points are PASS
features be detected and trained. detected and trained.
2 Conversion to Trained images must be Dataset contains trained PASS
grey scale converted to grey scale images in grey scale.
and stored in dataset.
3 Eye blink ratio Left and right eye ratio Ratios of left and right eye PASS
while blinking must while blinking is
maintain the threshold maintained according to
set. threshold set.
Integration testing is any type of software testing that seeks to verify the interfaces between
components against a software design. Software components may be integrated in an iterative
way or all together ("big bang"). Normally the former is considered a better practice since it
allows interface issues to be located more quickly and fixed. Integration testing works to expose
defects in the interfaces and interaction between integrated components. Progressively larger
groups of tested software components corresponding to elements of the design a system.
TEST
EXPECTED TEST
CASE TEST CASE ACTUAL RESULTS
RESULTS RESULT
ID
1 Logging with User not found. Recognized face does not PASS
different person to match with the registered
check face face.
detection.
2 Invalid Morse code Password does not Password entered through PASS
password entry. match. eye blinks does not match
with the registered
password.
The sub-systems are integrated to make up the system. This process is connected with finding
errors that result from unanticipated interaction between sub-systems and sub-system interface
problems. It is also concerned with validating that the system needs its functional and non-
functional requirements and testing the emergent system properties. Thus, the project has been
successfully tested.
Table 6.3 Test case for system testing
TEST
TEST
CASE ACTION EXPECTED RESULT ACTUAL RESULT
RESULT
ID
5 Morse code Password entry using eye Password entry using eye PASS
password blinks and virtual blinks and virtual
entry keyboard successful keyboard successful
CHAPTER 7
This System provides two factor authentication where the security is bit more increased and it
makes the system impenetrable and un-hackable. Gaze-based system for authentication alludes to
discovering the eye area across consecutive picture frames and following the eye movements by
plotting the eye center. Password authentication will be done using Morse code, where numbers
will be represented in dots and dashes. This model presents a real-time application for gaze-
based PIN entry with face recognition, eye detection and tracking for PIN identification using a
Web camera.
7.2 Snapshots
Fig 7.1 shows the Home Page from which user can navigate to the user login or registration.
Fig 7.2 shows the user registration page where a person can provide his details to become a new
user.
Fig 7.3 shows the user registration where the user has to provide name, password, and answer to
security question.
Fig 7.5 shows the frame where the face gets registered.
Fig 7.6 shows the successful registration after registering by the user.
Fig 7.7 shows how the registered data stored in CSV file.
Fig 7.8 shows where the user can login by giving login credentials.
Fig 7.9 shows the login successful if the registered face is recognized and matches with registered face.
Fig 7.10 shows virtual keyboard for Morse code password entry.
Fig 7.11 shows Morse code password entry using eye blink.
Fig 7.12 shows Morse code password matched successfully if the password entered through eye
blinks matchs with the password provided during registration.
Fig 7.13 shows security question page where the user can change their password by entering the
answer to the security question which was provided during registration.
Fig 7.14 shows the password reset page with the instructions displayed
Fig 7.15 shows the registered face is trained and stored in the dataset
CHAPTER 8
This project basically provides two factor authentication. Two factor authentication is basically
providing two layers of security to protect an account or system. This is project is making use of
gaze-based authentication and mouse click in order to convert numbers or alphabets into source
code thereby increasing the security.
It also provides a user friendly environment and helps in overcoming the disadvantages of the
existing authentication system. There by providing better security to the system. This system can
be deployed in government sectors, with less number of steps required for authentication.
REFERENCES
[3] Dr. Kranthi Kumar, V. Sai Srikar, Y. Swapnika , V. Sai Sravani , N. Aditya, “A Novel
Approach for Morse Code Detection from Eye Blinks and Decoding using OpenCV”
Associate Professor, Department of Information Technology, Sreenidhi Institute Of
Science and Technology, International Journal for Research in Applied Science &
Engineering Technology, India , May 2020.
[4] Seongki Kim, JinHo Ryu, Youngchyul, Choi, YooSeokKang, HongleLi, Kibum Kim,
“Eye-Contact Game Using Mixed Reality for the Treatment of Children With Attention
Deficit Hyperactivity Disorder”, South Korea , IEEE , March 2020.
[5] F. Schroff, D. Kalenichenko, and J. Philbin, “Facenet: A unified embedding for face
recognitionand clustering,” in Proceedings of the IEEE Conference on Computer Vision
and Pattern Recognition, 2015, pp. 815–823.
[6] J. Liu, Y. Deng, T. Bai, Z. Wei, and C. Huang, “Targeting ultimate accuracy: Face
recognition via deep embedding,” arXiv preprint arXiv:1506.07310,2015.