MUHAMMAD FAIRUL AIMAN BIN SHAFIEI · Pada masa ini, universiti atau institusi masih menggunakan...
Transcript of MUHAMMAD FAIRUL AIMAN BIN SHAFIEI · Pada masa ini, universiti atau institusi masih menggunakan...
i
FINGERPRINT AUTHENTICATION SYSTEM FOR
EXAMINATION ATTENDANCE
MUHAMMAD FAIRUL AIMAN BIN SHAFIEI
BACHELOR OF COMPUTER SCIENCE
(COMPUTER NETWORK SECURITY) WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2019
i
DECLARATION
I hereby declare that this report is based on my original work except for quotations and
citations, which have been duly acknowledged. I also declare that it has not been previously or
concurrently submitted for any other degree at University Sultan Zainal Abidin or other
institutions.
____________________________________
Name : Muhammad Fairul Aiman bin Shafiei
Date : ………………………………………..
ii
CONFIRMATION
This is to confirm that the project of Fingerprint Authentication System for Attendance
System was prepared and submitted by Muhammad Fairul Aiman bin Shafiei (Matric Number
: BTBL17046876) and has been found satisfactory in terms scope, quality and presentation as
partial fulfilment of the requirement for the bachelor of Computer science (Computer Network
Security) with Honour in University Sultan Zainal Abidin.
The research conducted and the writing of this report was under my supervision.
__________________________________
Supervisor : Cik Nazirah binti Abd Hamid
Date : …………………………………….
iii
DEDICATION
First of all, all praised to Allah, the most Gracious and most Merciful for giving me the
opportunity to undergo this final year project Fingerprint Authentication System for
Attendance Examination.
I would like to thank my family, my parent and to my brothers and sister for supporting
me spiritually and giving me strength throughout writing this thesis and my life in general. my
friends who believed that they can finish the study despite of all the struggles, depression, and
stress we experienced in the making of our final year project.
I also would like to thanks my supervisor Cik Nazirah binti Abd Hamid for giving me
help and support throughout this project. I also would like to thanks my fellow friends who
believed that they can finish the study despite of all the struggles, depression, and stress we
experienced in the making of our final year project. I also want to express my gratitude to my
other lecturers that have help me in completing my project.
iv
ABSTARCT
Biometric techniques have becoming a popular alternative and a reliable means of
identification that can support the evolving incredibly powerful computing. Currently,
universities or institutions still using old fashioned ways to authenticate students before taking
examination. Students must bring exam slip to the hall as their attendance and if the students
forget to bring their slip, they can’t take the exam. Moreover, many students would not or forget
to write down their matric number and exam’s information. In the other hand, the process of
taking students’ attendance manually is a difficult task as well as can consume a lot of time.
The aim of this project is to design and implement fingerprint authentication for examination
attendances using Arduino. This system needs students to scan their fingerprints for
authentication purposes and for identification, the system recognizes an individual by
comparing his/her biometrics with every record in the database. In conclusion, this system can
replace traditional identification and authentication of a student for examination attendance and
can reduce human errors.
v
ABSTRAK
Teknik biometrik telah menjadi alternatif yang popular dan salah satu cara mengenal
pasti yang boleh dipercayai yang dapat menyokong pengkomputeran yang sangat berkuasa.
Pada masa ini, universiti atau institusi masih menggunakan cara lama untuk mengesahkan
pelajar sebelum mengambil peperiksaan. Pelajar mesti membawa slip peperiksaan ke dewan
sebagai kehadiran mereka dan jika pelajar lupa membawa slip mereka, mereka tidak boleh
mengambil peperiksaan. Selain itu, ramai pelajar tidak boleh atau lupa menulis nombor matrik
mereka dan maklumat peperiksaan. Sebaliknya, proses mengambil kehadiran pelajar secara
manual adalah tugas yang sukar dan boleh mengambil banyak masa. Tujuan projek ini adalah
untuk mereka bentuk dan melaksanakan pengesahan cap jari untuk kehadiran peperiksaan
menggunakan Arduino. Sistem ini memerlukan pelajar untuk mengimbas cap jari mereka untuk
tujuan pengesahan dan untuk pengenalpastian, sistem mengiktiraf individu dengan
membandingkan biometriknya dengan setiap rekod dalam pangkalan data. Sebagai
kesimpulan, sistem ini boleh menggantikan pengenalan tradisional dan pengesahan pelajar
untuk kehadiran pemeriksaan dan dapat mengurangkan kesilapan manusia.
vi
TABLE OF CONTENTS
PAGE
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
ABSTRAK v
CONTENTS vi
LIST OF FIGURES vii
CHAPTER I INTRODUCTION
1.1 INTRODUCTION 1
1.2 PROBLEM STATEMENT 2
1.3 OBJECTIVE 2
1.4 PROJECT SCOPE 3
1.5 THESIS ORGANIZATION 4
CHAPTER II LITERATURE REVIEW
2.1 INTRODUCTION 5
2.2 FINGERPRINT-BASED
USER AUTHENTICATION
6
2.3 ARDUINO
MICROCONTROLLER
6
2.4 FINGERPRINT MODULE 6
2.5 RELATED WORKS 7
2.6 VERIFY ALGORITHM 9
2.7 SUMMARY 10
CHAPTER III METHODOLOGY
3.1 INTRODUCTION 11
3.2 FRAMEWORK 11
3.3 FLOWCHART 12
3.3.1 FLOWCHART FOR
AUTHENTICATION
13
3.3.2 FLOWCHART FOR
REGISTER
14
USE CASE DIAGRAM 15
3.4 VERIFY ALGORITHM 16
3.5 3.6.1 K-NEAREST
NEIGHBOUR
MINUTIAE CLUSTERING
17
3.6 SUMMARY 18
vii
LIST OF FIGURES
FIGURE TITLE PAGE
Figure 2.3 Arduino Microcontroller 6
Figure 2.4 Fingerprint module 7
Figure 3.2 Framework 12
Figure 3.3.1 Flowchart for Authentication 13
Figure 3.3.2 Flowchart for Register 14
Figure 3.4 Use Case Diagram 15
1
CHAPTER 1
INTRODUCTION
1.1 Background
Biometric techniques have become a popular alternative and a reliable means of
identification that can support the evolving incredibly powerful computing. The process to
allow students to sit for an exam was by providing an identity medium such as ID cards.
Currently, universities or institutions still using old fashioned ways. Students still bring exam
slip to the hall as their attendance. Hence, students always forgot to bring their exam slip and
they can’t take the exam. Moreover, without fingerprint as examination attendances, many
students not or forgot to write down their matric number and information. In the other hand,
taking student attendance manually and maintaining it for a long time is a difficult task as well
as wastes a lot of time.
The work aim is to design and implement Fingerprint authentication for examination
attendances using Arduino. This system just needs students to scan their fingerprints for
authentication purposes. In identification, the system recognizes an individual by comparing
his/her biometrics with every record in the database. In conclusion, this system can also reduce
the time for to student to make an attendance process during the examination and this system
can replace traditional identification and authentication of a student.
2
1.2 Problem Statement
The problems that occurs for this application to develop are :
I. Universities or institutions are still implementing traditional way to record
attendance for examination by using pen and paper
II. A student must always bring relevant identification such as identity card and
exam slip to the exam and he/she will be prevented from taking the exam if
he/she forget to bring those items.
III. The process of taking students’ attendance manually is a difficult task as human
can make mistake as well as the process can consume a lot of time.
1.3 Objectives
The objective is important to achieve the goal. The main objectives for this project are :
I. To design a fingerprint authentication system for examination attendance
II. To implement the fingerprint authentication system for examination
attendance using Arduino.
III. To test and evaluate the functionality of the system.
3
1.4 Project Scope
The scopes for this project are to make the system development process easier. The scope of
this project is divided into two which are the admin scope and student scope.
1. Admin Scope
I. The system requires the admin to register their information.
II. The admin can view the students’ attendance and produce reports.
III. Admin can easily analyse the information regarding the student
attendance
2. Student Scope
I. The system requires the students to register their information
II. Students scan their fingerprints for the examination attendance
4
1.5 Thesis Organization
This thesis contains all the information necessary for this study. In Chapter 1, this report
covers project initiation where information on project priorities, scopes, and also project
restriction. In Chapter 2, the article deals primarily with previous research that has been
used as sources for this project.
Chapter 3 is about this project's methodology Each chapter describes the project's
structure and function, and all the information about the software and hardware used to
produce the results by this project. Chapter 4 consists of architecture and simulation to
demonstrate how the biometric use of the fingerprint authentication template functions.
The program design and monitoring will be addressed in chapter 5. Eventually, the
research and the consequence of the experiment and the support of this study are
summarized in Chapter 6.
5
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
A number of related works exist in the literature on the application of different
information technology tools to student attendance management problems. This chapter
would discuss and describe selected research papers and previous journals that trace similar
techniques and topics that can be referenced for Fingerprint-based user authentication for
examination attendance using Arduino. This chapter also provides research-based on some
comparison between the techniques used among the system that can be used to develop this
system.
2.2 Fingerprint-based user authentication
The biometric method is the identification system in which the person's physical or
behavioural attribute is used to establish the identity of persons. Recognition of fingerprints
works by identifying individuals using their physical structure through the impression of
the minute ridge structures found on each person's fingertips.
The most common biometric methods used are fingerprint-based recognition. It has
been used effectively in various applications, including in the ATM, for validation at the
airport, and many more. There are two methods for matching fingerprints, which are based
6
on minutiae and similarity. Mapping minute areas on a fingerprint is used in the minute-
based technique.
2.3 Arduino Microcontroller
Arduino is an open-source electronic that is widely used nowadays. Nowadays, Arduino
is widely selected as it is straightforward, simple to discover, inexpensive, and on Arduino
there is a huge amount of guide on the internet. Using a USB connection, it can connect
with other devices. In addition, power supply or AC to DC connector can also be used.
Arduino can be programmed using Arduino programming language which can be
downloaded free from the internet. (7)
Figure 2.3 Arduino Microcontroller
2.4 Fingerprint Module
This system uses an electronic fingerprint sensor. This detector detects the sequence of
fingerprints. The image of the scan is converted and saved in memory as a model. This
fingerprint sensor automatically sends data packets to capture images based on the principle
of glass layer ray reflection. Once the fingerprint is captured, it is possible to detect and
search. CCD- Camera is used in the optical fingerprint sensor as a set of light-sensitive
7
LED. It will take a fingerprint photo once the digit is put on the fingerprint reader’s glass
plate. (7)
Figure 2.4 Fingerprint Module
2.5 Related Works
Based on the research, a few systems that similarly to the proposed project were found.
Firstly, Fingerprint Based Attendance System Using Arduino. This work was to simplify
the attendance system using Fingerprint Base Attendance System Using Arduino. In this
system, there were three main parts: enrolling, searching and displaying the attendance.
This simple device started with Arduino's connection with the fingerprint sensor to the
enrolling computer. In the search phase, as soon as the user pressed the fingerprint reader,
it read the user's fingerprint and based on the instructions written in, the user's details were
displayed on the computer. The time, date, username and ID number of the scanning system
were shown on the computer. Microsoft Excel was used in this system to show the
information. PLX-DAQ is a useful tool to connect the Arduino with Excel.
(San Myint, K., & Nyein, C. M. M. Fingerprint Based Attendance System Using Arduino.)
8
The second system was the IoT Based Biometric Attendance System. This article
discussed the biometric attendance system that integrated an ESP8266 NodeMCU breakout
board and a fingerprint scanner. The fingerprint scanner processed the user’s fingerprint to
verify the student’s attendance. NodeMCU uploaded the attendance data to Google
Spreadsheet using a service called PushingBox API. Fingerprint processing had three
primary functions: enrolment, searching, and verification. Out of these, enrolment played
an important role. It involved capturing an image of the user’s fingerprint. Searching
involved examining through a set of stored fingerprints and comparing them with the input
fingerprint. Verification involved acknowledging a match between the input fingerprint and
one already presented in the stored fingerprints. The identification of fingerprints of
individuals was done on the basis of both hardware and software techniques.
(Devikar, P., Krishnamoorthy, A., Bhanage, A., & Chauhan, M. S. (2016). IoT based
biometric attendance system. Int. J. Adv. Res. Comput. Commun, 5.)
The third system was the Student Examination Attendance Authentication System
(SEAAS). The article discussed the fingerprint sensor, Arduino UNO board, a Bluetooth
device, a mobile phone to design a prototype that can be used for students’ authentication
for examination purposes thereby preventing impersonation in exams. The button on the
SEAAS was first switched on in order to register a participant, the mobile device software
downloaded on the android phone was enabled. The Bluetooth was switched on from the
app and connected to the HC-05 listed on the android phone as part of the list of Bluetooth
devices. The information of the student such as name and number of the matriculation were
then entered and stored on the mobile device. The record of the saved student could be
accessed on the device from the ' show attendance ' section. The thumb was simply placed
9
on the fingerprint scanner to document a student's presence and the outcome would be
shown correctly.
(Folaponmile, A., Okpe, J. B., & Gwani, Y. J. STUDENT EXAMINATION
ATTENDANCE AUTHENTICATION SYSTEM (SEAAS).
2.6 Verification Algorithms
K-Nearest Neighbour Minutiae Clustering is one of algorithm that I use in this project.
Fingerprint search is optimized by clustering fingerprint graph feature. The graph shows the
feature of fingerprint and edges represents minutiae. Hence, the clustering of graph information
is done by K-NN clustering algorithm based on Euclidean range between the vertices of the
graph. It is the simplest clustering algorithm. To identify the fingerprint, it reads each
fingerprint clustered graph templates from database and compares it. This continues till the
input fingerprint is matched with fingerprint stored in database otherwise no match found
returns. However, this technique will increase the processing time.
10
2.7 Summary
This chapter gives an overview of the system concept. Based on the research
conducted, it demonstrates that literature review is one of the important elements as we can
use the new and established process methodology to improve our proposed system. On the
basis of previous articles and reviews, the methodology is selected.
11
CHAPTER 3
METHODOLOGY
3.1 Introduction
The methodology is known as a set of procedures. This chapter will cover the methods
used to build this program. From problem analysis to a system designed to achieve the goals
of the project mentioned earlier in this research report. In fact, this approach is an important
part of ensuring the successful completion of the process.
3.2 Framework
Framework is broad overview, outline or skeleton of interlinked items which supports
a particular approach to a specific objective, and serves as a guide that can be modified as
required by adding or deleting items.
12
Figure 3.2
Based on Figure 3.2, firstly user need to register with inserting their name and ic number. User
also need to scan their fingerprint for the first time and the system will save it in the database. The next
step is for authentication. User need to log in with enter their username and scan their fingerprint. Next
the system will matching the user fingerprint with the fingerprint in the database. Thus, the system will
send result either the fingerprint is matching or not.
3.3 Flowchart
A flow chart is a description of a method graphically or symbolically. That stage of
the process is defined by another symbol which provides a brief description of the step of the
process. The icons of the flow chart are connected with arrows indicating the course of the
stream flow.
13
3.3.1 Flowchart for Authentication
Figure 3.3.1
Based on Figure 3.3.1, user need to scan their fingerprint. If fingerprint module found
in database, scan the finger image. If no fingerprint module found, user need to scan the
fingerprint again for the first time. Next, if the fingerprint matched, system will display the
current date, name and matric number in Excel. If fingerprint not matched, system will scan
the finger image again.
14
3.3.2 Flowchart for Register
YES
NO
Figure 3.3.2
Based on Figure 3.3.2, user need to insert name and IC number for registration. Next,
user also need to scan their fingerprint for the first time. If user want to scan their fingerprint
again, user need to repeat from the early step. If user don’t want to take the next fingerprint,
the registration is success.
Start
Insert Name
and No IC
Scan
fingerprint for
First time
Take Next
Fingerprint
Stop
15
3.4 Use Case Diagram
The primary form of system / process specifications for a modern underdeveloped
software program is a UML usage case diagram. Usage cases define the action anticipated
(what) and not the actual process (how) to make it happen. It is possible to denote both textual
and visual representation (i.e. use case diagram) using cases once specified. A central idea of
case modelling is that it helps us to design a system from the point of view of the end user. It
is an effective communication strategy regarding system activity in terms of the consumer by
identifying all externally visible machine behaviour.
User Admin
Figure 3.4
Register
Scan
Fingerprint
Log In
Review
Attendance
16
Based on Figure 3.4, there are two actor which is user and admin. User can register, log
in and scan fingerprint but can’t review attendance. Hence admin can register, log in and review
attendance but can’t scan fingerprint.
3.5 Verification Algorithm
As the aim of this project is to design a fingerprint authentication system for
examination attendance, fingerprint authentication makes use of the image and the physical
characteristics. In this project, matching algorithm is used for fingerprint authentication.
3.5.1 K-Nearest Neighbour Minutiae Clustering
K-Nearest Neighbour Minutiae Clustering is a k-nearest-neighbour algorithm, often
abbreviated k-NN, is an approach to data classification that estimates how likely a data point
is to be a member of one group or the other depending on what group the data points nearest to
it are in. This algorithm is to identify the fingerprint it reads each fingerprint clustered graph
templates from the database and compares it with clustered input fingerprint graph templates.
This algorithms works by looking at one point on a grid, trying to determine if a point is in
group A or B, looks at the states of the points that are near it. The range is arbitrarily
determined, but the point is to take a sample of the data. If the majority of the points are in
group A, then it is likely that the data point in question will be A rather than B. (8)
17
3.6 Summary
In conclusion, this chapter describes the methodology for Fingerprint Authentication
for Examination Attendance using Arduino. The design of this system includes the framework,
flowchart and use case diagram. The algorithms that has been chosen is K-Nearest Neighbour
Minutiae Clustering.
18
References
1. Devikar, P., Krishnamoorthy, A., Bhanage, A., & Chauhan, M. S. (2016). IoT based biometric
attendance system. Int. J. Adv. Res. Comput. Commun, 5.
2. Krishnamurthi, K., Mary, S. I., Sumalatha, B. N., & Pereira, A. (2015). Fingerprint based
attendance system. International Journal of Advanced Research in Computer and
Communication Engineering, 4(3), 621-623.
3. Kanse, S., Shaikh, M., Gadhari, S., Labde, P., & Gawande, A. Biometric Student Attendance
System using IoT.
4. Rao, B. V., Chaitanya, P. A. V. S. K., & ruchitha Reddy, A. SMART DOOR UNLOCK SYSTEM
USING FINGERPRINT.
5. Folaponmile, A., Okpe, J. B., & Gwani, Y. J. STUDENT EXAMINATION ATTENDANCE
AUTHENTICATION SYSTEM (SEAAS).
6. Alshbtat, A., Alfraheed, M., & Zanoon, N. (2019). A Novel Secure Fingerprint-based
Authentication System for Student’s Examination System. Editorial Preface From the Desk of
Managing Editor…, 10(9).
7. San Myint, K., & Nyein, C. M. M. Fingerprint Based Attendance System Using Arduino.
8. Kanjan, N., Patil, K., Ranaware, S., & Sarokte, P. (2017). A Comparative Study of Fingerprint
Matching Algorithms.
9. Bistarelli, S., Santini, F., & Vaccarelli, A. (2005, July). An asymmetric fingerprint matching
algorithm for java card TM. In International Conference on Audio-and Video-Based Biometric
Person Authentication (pp. 279-288). Springer, Berlin, Heidelberg.
10. Iancu, I., Constantinescu, N., & Colhon, M. (2010). Fingerprints identification using a fuzzy
logic system. International Journal of Computers Communications & Control, 5(4), 525-531.