bio modify
DESCRIPTION
project on face recognitionTRANSCRIPT
CHAPTER 1
INTRODUCTION
1
1.INTRODUCTION
Biometric Person Recognition is the recent developing platform for authentication by the use of
unique human characteristics (i.e., biometrics) to recognize the user. Biometrics can be divided
into two categories based upon the underlying characteristics: physiological, which is based on
direct measurements of a part of the human body (e.g., iris, fingerprint, face, hand shape, etc.),
and behavioral, which is based on measurements and data derived from an action performed by
the user and, thus, indirectly measuring some characteristics of the human body (e.g., voice,
keystroke dynamics, signature-hand writing,etc.). Biometric recognition has the tasks of
identification and verification. The Use of Biometric device on mobile / laptop is Simplicity,
Low cost, Multiplatform, Multi biometrics and highly secure.“The potential for mobile
biometric devices is considerable, especially in light of recent technology developments in the
biometrics space.” Y. Katsura, They will be commonplace in the near future”. web services can
be accessed from different types of devices in the same way. This last point is an important goal
of our proposal. The problem of capturing and sending the biometrics to the web server via PC
is very easy to solve using embedded applications in the web pages as Applets Java, ActiveX
controls, Java script, Flash technology, or Microsoft Silver light in our implementations,
Applets have been used .The proposal of this study is to present a novel mobile phone
application architecture to capture and send the biometric to the web server based on the use of
an embedded web browser. The current mobile technology is not ready for embedded
applications in mobile web browsers.
1.2 Objective
The objective of this project, the biometric data will be captured, and it will be compared
against data already stored in the system. If there is a match the user is considered as an
authenticated user or if there is a mismatch then the user will be considered as an un-trusted
source.
1.3 Scope
The scope of the project is to make easy the efficient use of biometric devices in the
mobile devices and make use of the biometric recognition very simple and low cost.
2
CHAPTER 2
SYSTEM ANALYSIS
3
2.SYSTEM ANALYSIS
2.1EXISTING SYSTEM:
In the existing system, we don’t have an efficient system to validate the authentication
of the users. Still, the authentication uses hardware as the solution and it incurs additional cost
to the users. Object level changes will be done in the database by checking the private key of
the users and validating the public key of the user. An additional authentication is required
which enables the system more secure and biometric authentication provides more secure.
Unfortunately, the biometric authentication cannot be done in a normal manner and it needs lot
of interventions with the external hardware.
DISADVANTAGES
Incurs much cost.
No simplicity.
Can’t take hardware system in all places.
Can’t be done without any special hardware.
2.2 PROPOSED SYSTEM:
In our proposed system, we have come up with a very different level of authentication.
Here is the overall picture of our proposed system. The object change owners will have a
private key generated with the use of algorithm. On each object change, a public key is
generated in the system which needs to be provided by the other user to confirm the appropriate
change in to the system. A digitized approach will be done in the biometric phase for the user
which is 100% accurate/authenticated technique to identify a particular user. If an object
change owner initiate the changes, an automatic email will be sent to the fellow object change
deciders. The email is initiated with the public key. Other Object owners should provide the
public key along with their biometric key along with the private key which provide highest
security system.
4
ADVANTAGE
The identified domain and successive security model is one of the new innovative
approach, we are suggesting to the users.
A digitised diagrammatic approach will be done in the biometric phase for the user which
is 100% accurate/authenticated technique to identify a particular user.
5
CHAPTER 3
SOFTWARE REQUIREMENTS
SPECIFICATION
6
3. REQUIREMENTS AND SPECIFICATION
3.1 HARDWARE REQUIREMENTS:
• Processor: Core 2 duo
• Speed : 2.2GHZ
• RAM : 2GB
• Hard Disk : 160GB
3.2. SOFTWARE REQUIREMENTS:
• Platform : DOTNET 4.0
• Front End Tools : Visual Studio 2010
• Back End Database : SQL Server 2008
7
CHAPTER 4
SOFTWARE DESCRIPTION
8
4. SOFTWARE DESCRIPTION
FRONT END
4.1. Features Of .Net
Microsoft .NET is a set of Microsoft software technologies for rapidly building
and integrating XML Web services, Microsoft Windows-based applications, and Web
solutions. The .NET Framework is a language-neutral platform for writing programs that can
easily and securely interoperate. There’s no language barrier with .NET: there are numerous
languages available to the developer including Managed C++, C#, Visual Basic and Java Script.
The .NET framework provides the foundation for components to interact seamlessly, whether
locally or remotely on different platforms. It standardizes common data types and
communications protocols so that components created in different languages can easily
interoperate.
“.NET” is also the collective name given to various software components built upon the .NET
platform. These will be both products (Visual Studio.NET and Windows.NET Server, for
instance) and services (like Passport, .NET My Services, and so on).
4.2. THE .NET FRAMEWORK
The .NET Framework has two main parts:
1. The Common Language Runtime (CLR).
2. A hierarchical set of class libraries.
The CLR is described as the “execution engine” of .NET. It provides the environment within
which programs run. The most important features are
Conversion from a low-level assembler-style language, called Intermediate
Language (IL), into code native to the platform being executed on.
Memory management, notably including garbage collection.
Checking and enforcing security restrictions on the running code.
Loading and executing programs, with version control and other such features.
9
The following features of the .NET framework are also worth description:
Managed Code
The code that targets .NET, and which contains certain extra Information -
“metadata” - to describe itself. Whilst both managed and unmanaged code can run in the
runtime, only managed code contains the information that allows the CLR to guarantee, for
instance, safe execution and interoperability.
Managed Data
With Managed Code comes Managed Data. CLR provides memory allocation and
Deal location facilities, and garbage collection. Some .NET languages use Managed Data by
default, such as C#, Visual Basic.NET and JScript.NET, whereas others, namely C++, do not.
Targeting CLR can, depending on the language you’re using, impose certain constraints on the
features available. As with managed and unmanaged code, one can have both managed and
unmanaged data in .NET applications - data that doesn’t get garbage collected but instead is
looked after by unmanaged code.
Common Type System
The CLR uses something called the Common Type System (CTS) to strictly
enforce type-safety. This ensures that all classes are compatible with each other, by describing
types in a common way. CTS define how types work within the runtime, which enables types in
one language to interoperate with types in another language, including cross-language
exception handling. As well as ensuring that types are only used in appropriate ways, the
runtime also ensures that code doesn’t attempt to access memory that hasn’t been allocated to
it.
Common Language Specification
The CLR provides built-in support for language interoperability. To ensure that
you can develop managed code that can be fully used by developers using any programming
language, a set of language features and rules for using them called the Common Language
Specification (CLS) has been defined. Components that follow these rules and expose only
CLS features are considered CLS-compliant.
10
THE CLASS LIBRARY
.NET provides a single-rooted hierarchy of classes, containing over 7000 types. The root
of the namespace is called System; this contains basic types like Byte, Double, Boolean, and
String, as well as Object. All objects derive from System. Object. As well as objects, there are
value types. Value types can be allocated on the stack, which can provide useful flexibility.
There are also efficient means of converting value types to object types if and when necessary.
The class library is subdivided into a number of sets (or namespaces), each providing
distinct areas of functionality, with dependencies between the namespaces kept to a minimum.
4.3. LANGUAGES SUPPORTED BY .NET
The multi-language capability of the .NET Framework and Visual Studio .NET enables
developers to use their existing programming skills to build all types of applications and XML
Web services. The .NET framework supports new versions of Microsoft’s old favourites Visual
Basic and C++ (as VB.NET and Managed C++), but there are also a number of new additions
to the family.
Visual Basic .NET has been updated to include many new and improved language features that
make it a powerful object-oriented programming language. These features include inheritance,
interfaces, and overloading, among others. Visual Basic also now supports structured exception
handling, custom attributes and also supports multi-threading.
Managed Extensions for C++ and attributed programming are just some of the
enhancements made to the C++ language. Managed Extensions simplify the task of migrating
existing C++ applications to the new .NET Framework.
C# is Microsoft’s new language. It’s a C-style language that is essentially “C++
for Rapid Application Development”. Unlike other languages, its specification is just the
grammar of the language. It has no standard library of its own, and instead has been designed
with the intention of using the .NET libraries as its own.
Microsoft Visual J# .NET provides the easiest transition for Java-language
developers into the world of XML Web Services and dramatically improves the interoperability
11
of Java-language programs with existing software written in a variety of other programming
languages.
Other languages for which .NET compilers are available include
FORTRAN
COBOL
Eiffel
ASP.NET
XML WEB SERVICES
Windows Forms
Base Class Libraries
Common Language Runtime
Operating System
C#.NET is also compliant with CLS (Common Language Specification) and supports
structured exception handling. CLS is set of rules and constructs that are supported by the CLR
(Common Language Runtime). CLR is the runtime environment provided by the .NET
Framework; it manages the execution of the code and also makes the development process
easier by providing services.
C#.NET is a CLS-compliant language. Any objects, classes, or components that created
in C#.NET can be used in any other CLS-compliant language. In addition, we can use
objects, classes, and components created in other CLS-compliant languages in C#.NET .The
use of CLS ensures complete interoperability among applications, regardless of the
languages used to create the application.
12
CONSTRUCTORS AND DESTRUCTORS:
Constructors are used to initialize objects, whereas destructors are used to destroy
them. In other words, destructors are used to release the resources allocated to the object. In
C#.NET the sub finalize procedure is available. The sub finalize procedure is used to
complete the tasks that must be performed when an object is destroyed. The sub finalize
procedure is called automatically when an object is destroyed. In addition, the sub finalize
procedure can be called only from the class it belongs to or from derived classes.
GARBAGE COLLECTION
Garbage Collection is another new feature in C#.NET. The .NET Framework monitors
allocated resources, such as objects and variables. In addition, the .NET Framework
automatically releases memory for reuse by destroying objects that are no longer in use.
In C#.NET, the garbage collector checks for the objects that are not currently in use by
applications. When the garbage collector comes across an object that is marked for garbage
collection, it releases the memory occupied by the object.
OVERLOADING
Overloading is another feature in C#. Overloading enables us to define multiple
procedures with the same name, where each procedure has a different set of arguments.
Besides using overloading for procedures, we can use it for constructors and properties in a
class.
MULTITHREADING:
C#.NET also supports multithreading. An application that supports multithreading can
handle multiple tasks simultaneously, we can use multithreading to decrease the time taken
by an application to respond to user interaction.
13
STRUCTURED EXCEPTION HANDLING
C#.NET supports structured handling, which enables us to detect and remove errors at
runtime. In C#.NET, we need to use Try…Catch…Finally statements to create exception
handlers. Using Try…Catch…Finally statements, we can create robust and effective
exception handlers to improve the performance of our application.
THE .NET FRAMEWORK
The .NET Framework is a new computing platform that simplifies application
development in the highly distributed environment of the Internet.
4.4.OBJECTIVES OF. NET FRAMEWORK
1. To provide a consistent object-oriented programming environment whether object codes is
stored and executed locally on Internet-distributed, or executed remotely.
2. To provide a code-execution environment to minimizes software deployment and
guarantees safe execution of code.
3. Eliminates the performance problems.
4. There are different types of application, such as Windows-based applications and Web-
based applications.
4.5. Features of SQL-SERVER
The OLAP Services feature available in SQL Server version 7.0 is now called SQL
Server 2000 Analysis Services. The term OLAP Services has been replaced with the term
Analysis Services. Analysis Services also includes a new data mining component. The
Repository component available in SQL Server version 7.0 is now called Microsoft SQL
Server 2000 Meta Data Services. References to the component now use the term Meta Data
Services. The term repository is used only in reference to the repository engine within Meta
Data Services
14
SQL-SERVER database consist of six type of objects, they are,
1. TABLE
2. QUERY
3. FORM
4. REPORT
5. MACRO
TABLE:
A database is a collection of data about a specific topic.
VIEWS OF TABLE:
We can work with a table in two types,
1. Design View
2. Datasheet View
Design View
To build or modify the structure of a table we work in the table design view. We can
specify what kind of data will be hold.
Datasheet View
To add, edit or analyses the data itself we work in tables datasheet view mode.
QUERY
A query is a question that has to be asked the data. Access gathers data that answers the
question from one or more table. The data that make up the answer is either dynaset (if you edit
it) or a snapshot (it cannot be edited).Each time we run query, we get latest information in the
dynaset. Access either displays the dynaset or snapshot for us to view or perform an action on
it, such as deleting or updating.
15
16
CHAPTER 5
MODULE DESCRIPTION
17
5. MODULE DESCRIPTION
5.1Authentication Module (Private Key specification)
In this module, a new user will be created with their private key credentials. We are providing an option of creating the user with valid information’s about him. The keys will be generated with the help of algorithm. This key will be used for authenticating any object changes in the system. User should cross three check points for any object change. The key generated or given by the user will be considered as the first level of authentication.
5.2Biometric Key Gen Module:
We are proposing an innovative approach in defining the Biometric keys with the help of geometric designing of signing the key for a specific user. To overcome expensive hardware’s, we’ve come up with an innovative approach of creating this kind of FACE VERIFCATION and it will be validated on each steps of the verification.
5.3Object Change Module:
Based on the access provided, the user is allowed to change the objects. The changes will be segregated as data change which can be achieved using Data Manipulation Language where as the schema change can be achieved using Data Definition Languages. A back ground process is created to track the changes done by the user.
5.4Public Key Access Modules:
In this module the user will be provided an access through his email to
check the public key. The generated key will be accessed through the program designed and
the key will be fetched after providing username and private key in our software.
5.5 Object Change Confirmation Module:
Once the key is generated, the admin is requested to apply the key in the Key apply module. He needs to apply his Private key and object change generated Public key. An automatic email will be generated and it’s sent to the other admin’s with the public key. In addition, the user will be validated with the Biometric checks. The face recognition will be done for the user and all the credentials will be given for the user. Once if all the
18
admin approve through their public and private keys, the changes will be reflected in the system.
19
CHAPTER 6
SYSTEM DESIGN
20
6. SYSTEM DESIGN
6.1 ARCHITECTURE DIAGRAM:
Our Project has the architecture has shown as below in the architecture diagram. This shows the generation of private key through biometric face recognition and generation of public key in the following object change in the database, then the admins will be intimidated through the email along with the public key of object change.
21
6.2 USECASE DIAGRAM
A use case is a set of scenarios that describing an interaction between a user and a
system. A use case diagram displays the relationship among actors and use cases. The two main
components a user or another system that will interact with the system modelled. A use case is
an external view of the system that represents some action the user might perform in order to
complete a task.
User
Admin
Login
Object Change in System
Generate Public Key
Object Change Conformation
Database Updated
Login with Private Key
22
6.3 ACTIVITY DIAGRAM
Login
Object Change in System
Public Key Generation
Object Change Conformation
Database Updated
23
6.4 SEQUENCE DIAGRAM:
User Admin DatabaseApplication
1 : Login With Private Key()
2 : Authentication()
3 : Object Change in System()
4 : Public Key Generation()
5 : Give Public Key For Conformation()
6 : Give Conformation()
7 : Database Updated()
24
6.5 COLLABRATION DIAGRAM:
25
CHAPTER 7
SYSTEM TESTING
26
7. SYSTEM TESTING
7.1 TESTING OBJECTIVES
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, sub assemblies, assemblies and/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.
7.2 TYPES OF TESTS
7.2.1 Unit testing
Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before integration.
This is a structural testing, that relies on knowledge of its construction and is invasive. Unit
tests perform basic tests at component level and test a specific business process, application,
and/or system configuration. Unit tests ensure that each unique path of a business process
performs accurately to the documented specifications and contains clearly defined inputs and
expected results.
7.2.2 Integration testing
Integration tests are designed to test integrated software components to determine if
they actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of components
is correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.27
7.2.3 Functional test
Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system documentation, and
user manuals.
Functional testing is entered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/ Procedures : interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused on requirements, key
functions, or special test cases. In addition, systematic coverage pertaining to identify Business
process flows data fields, predefined processes, and successive processes must be considered
for testing. Before functional testing is complete, additional tests are identified and the effective
value of current tests is determined.
7.3 System Test
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An example of
system testing is the configuration oriented system integration test. System testing is based on
process descriptions and flows, emphasizing pre-driven process links and integration points.
7.3.1 White Box Testing
White Box Testing is a testing in which in which the software tester has knowledge
of the inner workings, structure and language of the software, or at least its purpose. It is
purpose. It is used to test areas that cannot be reached from a black box level.
28
7.3.2 Black Box Testing
Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most other kinds
of tests, must be written from a definitive source document, such as specification or
requirements document, such as specification or requirements document. It is a testing in which
the software under test is treated, as a black box .you cannot “see” into it. The test provides
inputs and responds to outputs without considering how the software works.
Unit Testing:
Unit testing is usually conducted as part of a combined code and unit test phase
of the software lifecycle, although it is not uncommon for coding and unit testing to be
conducted as two distinct phases.
7.4 Test strategy and approach
Field testing will be performed manually and functional tests will be written in
detail.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Integration Testing
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by interface
defects.
29
The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company level
– interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional requirements.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
30
CHAPTER 8
FUTURE ENHANCEMENT
31
8. FUTURE ENHANCEMENTS
A solution has been shown that basically consists of, instead of
embedding an application in the web page, embedding a web browser in a
mobile-phone application, using a modular architecture to develop the
biometric web application. Three different implementations of this simple,
but very effective, idea have been shown, with one allowing the password
to be substituted by the signature in a web access to a restricted service,
and the others allowing a restricted access to local data and/or applications
in the mobile phone, using remote voice/face recognition via the Web. The
main characteristics of our proposal are that
1. It is free of charge to the user (he/she only needs to download the
application
2. There is no difference with regard to access by means of a PC, even
more, it is easier, as the user does not need to key the URLs,
3. The server modification and mobiles multiplatform-application
development costs are very low. The future lines of the work can be
divided into technological and basic research.
4. The technological problems to be approached in the future are to
implement the proposed solution in other mobile-phone platforms and
to perform an in-depth study of the communication load and server
performance in terms of the number of users.With regard to basic
research, multichannel (PC, PDA, mobile phone, etc.) biometric
recognition is an interesting interesting problem. There are studies in
biometrics, such as voice or face, but other biometrics, such as
signature, are still an open problem.
32
33
CHAPTER 9
LITERATURE SURVEY
34
9. LITERATURE SURVEY
“SECURE AND EFFICIENT PROTOCOL FOR MOBILE PAYMENTS”
ABSTRACTElectronic Payments have gained tremendous popularity in the modern world. Credit/debit
cards and online payments are in widespread use. Bringing electronic payments to the mobile
world offers huge utility for mobile users. Lack of standardized protocols, interoperability and
security are major roadblocks in developing a mobile payment infrastructure. A scheme called
SEMOPS (Secure Mobile Payment Service) has already been proposed by A. Vilmos and S.
Karnouskos. This proposed SEMOPS architecture addresses these problems. However, it will
work inefficiently for micropayments due to a lot of computation and communication for every
payment. Good micropayment support is extremely important for mobile payment systems to
succeed. This work focuses on enabling efficient micro payment support in SEMOPS scheme.
An analysis of the security and efficiency of the proposed method is given in this paper. Our
new proposed method has been found to be very efficient for micropayments in SEMOPS.
DEMERITS:
This technique not only reduces the computation at engaging parties, especially at mobile users,
but also satisfies the transaction security properties including the trust relationships among
engaging parties stated in the proposed formal model. They do not have to go to ATM
(Automatic Teller Machine) terminals or stay in-line at a bank branch to withdraw or transfer
money between accounts, but simply log on to a bank's website which provides Internet
banking services including withdrawing money from the customers' accounts.
35
“THE ERA AS A BIOMETRIC”
ABSTRACT
It is more than 10 years since the first tentative experiments in ear biometrics were conducted
and it has now reached the “adolescence” of its development towards a mature biometric. Here
we present a timely retrospective of the ensuing research since those early days. Whilst its
detailed structure may not be as complex as the iris, we show that the ear has unique security
advantages over other biometrics. This, together with its deep three-dimensional structure and
its robust resistance to change with age will make it very difficult to counterfeit thus ensuring
that the ear will occupy a special place in situations requiring a high degree of protection.
DEMERITS:
Ears have not proved popular in the past but they have been used in forensic science especially
in the United States. Collection does not have an associated hygiene issue, unlike fingerprints,
and will not cause anxiety as may happen with iris and retina measurements.
“BIOMETRIC AUTHENTICATION SYSTEM ON MOBILE PERSONAL DEVICES”
ABSTRACT:
We propose a secure, robust, and low-cost biometric authentication system on the mobile
personal device for the personal network. The system consists of the following five key
modules: 1) face detection; 2) face registration; 3) illumination normalization; 4) face
verification; and 5) information fusion. For the complicated face authentication task on the
devices with limited resources, the emphasis is largely on the reliability and applicability of the
system. Both theoretical and practical considerations are taken. The final system is able to
achieve an equal error rate of 2% under challenging testing protocols. The low hardware and
software cost makes the system well adaptable to a large range of security applications.36
DEMERITS:
The heuristic methods are often simple to implement but are not reliable as the heuristics are
often vulnerable to exterior changes. This nevertheless does not affect the final face verification
performance, as is shown in the following section, where we will further registrate the detected
faces to a finer scale. Generally speaking, the location of the detected face is not precise enough
for further analysis of the face content. In contrast, the local registration method is more direct
and faster as it only takes the locations of local facial features to calculate the transformation,
not involving any global optimization process. The disadvantage of the local method, on the
other hand, is that the facial features are very difficult to be reliably detected due to their high
variability and insufficient shape content.
37
CHAPTER 10
CODINGS
38
10.CODINGS
DOTNET CODING
Main Entry Form
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace MultiFaceRec{ public partial class MainEntryForm : Form { public MainEntryForm() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { JTAMLogin JTAM = new JTAMLogin(); JTAM.Show(); this.Hide(); }
private void button2_Click(object sender, EventArgs e) { JTAMLogin JTAMLogin = new JTAMLogin(); JTAMLogin.Show(); this.Hide(); }
private void button3_Click(object sender, EventArgs e) {
}
private void button2_Click_1(object sender, EventArgs e)
39
{ JTAMLogin JTAM = new JTAMLogin(); JTAM.Show(); this.Hide(); }
private void MainEntryForm_Load(object sender, EventArgs e) {
} }}
REGISTRATION:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using ObjectAccess;using Library;namespace MultiFaceRec{ public partial class JTAMLogin : Form { public JTAMLogin() { InitializeComponent(); } ObjectAccess.ConnectDB dbObject = new ConnectDB();
private void button4_Click(object sender, EventArgs e) { string DBAReference = txtReferenceNumber.Text; int index = 100; index = DBAReference.IndexOf("DBA"); if (index == 0) { int val = dbObject.DBAInsert(textBox2.Text, textBox1.Text, txtReferenceNumber.Text, txtGmailUser.Text,txtContactNumber.Text);
40
string PrivateKey = dbObject.GetPrivateKey(textBox2.Text, textBox1.Text, txtReferenceNumber.Text); MessageBox.Show("DBA User Added Successfully. Your Private key to access the system is " + PrivateKey);
int ValReturn = dbObject.VerifyDBACredentials(textBox2.Text, textBox1.Text, txtReferenceNumber.Text); PropertyClass.UserName = textBox2.Text; PropertyClass.DBAUserID = ValReturn; textBox2.Text = null; textBox1.Text = null;
txtGmailUser.Text = null;
txtReferenceNumber.Text = null; FrmPrincipal MF = new FrmPrincipal(); MF.Show(); this.Hide(); } else { MessageBox.Show("Please provide correct DBA Reference Number to create your credentials into the system"); } }
private void button2_Click(object sender, EventArgs e) {
if ((txtUserName.Text == "admin") && (txtPwd.Text == "admin")) {
this.Hide(); } if (txtUserName.Text != "" && txtPwd.Text != "" && textBox4.Text != "") {
int ValReturn = dbObject.VerifyDBACredentials(txtUserName.Text, txtPwd.Text, textBox4.Text); if (ValReturn > 0) { PropertyClass.DBAUserID = ValReturn; MessageBox.Show("Welcome User!!!"); Library.PropertyClass.UserName = txtUserName.Text; Recogntion DM = new Recogntion(); DM.Show(); this.Hide();
41
//mainForm MF = new mainForm(); MF.Show(); this.Hide(); } else ErrorLabel.Visible = true; } else { ErrorLabel.Visible = true; } }
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { MainEntryForm MEF = new MainEntryForm(); MEF.Show(); this.Hide(); }
private void JTAMLogin_Load(object sender, EventArgs e) {
}
private void label11_Click(object sender, EventArgs e) {
} }}
FACE CAPTURING:
using System;using System.Collections.Generic;using System.Drawing;using System.Windows.Forms;using Emgu.CV;using Emgu.CV.Structure;using Emgu.CV.CvEnum;using System.IO;using ObjectAccess;namespace MultiFaceRec{ public partial class FrmPrincipal : Form
42
{ Interop.Recognition.Recognition recognition = new Interop.Recognition.Recognition(); //Declararation of all variables, vectors and haarcascades Image<Bgr, Byte> currentFrame; Capture grabber; HaarCascade face; HaarCascade eye; MCvFont font = new MCvFont(FONT.CV_FONT_HERSHEY_TRIPLEX, 0.5d, 0.5d); Image<Gray, byte> result, TrainedFace = null; Image<Gray, byte> gray = null; List<Image<Gray, byte>> trainingImages = new List<Image<Gray, byte>>(); List<string> labels= new List<string>(); List<string> NamePersons = new List<string>(); int ContTrain, NumLabels, t; string name, names = null;
ObjectAccess.ConnectDB dbObject = new ConnectDB();
public FrmPrincipal() { InitializeComponent();
face = new HaarCascade(recognition.FaceFileName()); eye = new HaarCascade(recognition.EyeFileName()); try { //Load of previus trainned faces and labels for each image string Labelsinfo = File.ReadAllText(Application.StartupPath + recognition.TrainedLabels()); string[] Labels = Labelsinfo.Split('%'); NumLabels = Convert.ToInt16(Labels[0]); ContTrain = NumLabels; string LoadFaces;
for (int tf = 1; tf < NumLabels+1; tf++) { LoadFaces = "face" + tf + ".bmp"; trainingImages.Add(new Image<Gray, byte>(Application.StartupPath + recognition.TrainedFaces() + LoadFaces)); labels.Add(Labels[tf]); }
} catch(Exception e)
43
{
MessageBox.Show("Nothing in binary database, please add at least a face", "Triained faces load", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
}
private void button1_Click(object sender, EventArgs e) {
grabber = new Capture(); grabber.QueryFrame();
Application.Idle += new EventHandler(FrameGrabber); btnDetect.Enabled = true; }
private void button2_Click(object sender, System.EventArgs e) { try {
ContTrain = ContTrain + 1;
gray = grabber.QueryGrayFrame().Resize(320, 240, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade( face, 1.2, 10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(20,20));
foreach (MCvAvgComp f in facesDetected[0]) { TrainedFace = currentFrame.Copy(f.rect).Convert<Gray, byte>(); break; }
44
TrainedFace = result.Resize(100, 100, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC); trainingImages.Add(TrainedFace); labels.Add(Library.PropertyClass.UserName);
imageBox1.Image = TrainedFace;
File.WriteAllText(Application.StartupPath + recognition.TrainedLabels(), trainingImages.ToArray().Length.ToString() + "%");
for (int i = 1; i < trainingImages.ToArray().Length + 1; i++) { trainingImages.ToArray()[i - 1].Save(Application.StartupPath + recognition.TrainedFace() + i + ".bmp"); File.AppendAllText(Application.StartupPath + recognition.TrainedLabels(), labels.ToArray()[i - 1] + "%"); }
MessageBox.Show(Library.PropertyClass.UserName + "´s face detected and added :)", "Training OK", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch { MessageBox.Show("Enable the face detection first", "Training Fail", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
}
void FrameGrabber(object sender, EventArgs e) { try { label3.Text = "0";
NamePersons.Add("");
45
currentFrame = grabber.QueryFrame().Resize(320, 240, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
gray = currentFrame.Convert<Gray, Byte>();
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade( face, 1.2, 10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(20, 20));
foreach (MCvAvgComp f in facesDetected[0]) { t = t + 1; result = currentFrame.Copy(f.rect).Convert<Gray, byte>().Resize(100, 100, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC); currentFrame.Draw(f.rect, new Bgr(Color.Red), 2);
if (trainingImages.ToArray().Length != 0) { MCvTermCriteria termCrit = new MCvTermCriteria(ContTrain, 0.001);
ObjectRecognizer recognizer = new ObjectRecognizer( trainingImages.ToArray(), labels.ToArray(), 3000, ref termCrit);
name = recognizer.Recognize(result);
currentFrame.Draw(name, ref font, new Point(f.rect.X - 2, f.rect.Y - 2), new Bgr(Color.LightGreen));
}
46
NamePersons[t - 1] = name; NamePersons.Add("");
label3.Text = facesDetected[0].Length.ToString();
} t = 0;
for (int nnn = 0; nnn < facesDetected[0].Length; nnn++) { names = names + NamePersons[nnn] + ", "; } imageBoxFrameGrabber.Image = currentFrame; names = ""; NamePersons.Clear(); } catch (Exception ex) { } }
private void imageBoxFrameGrabber_Click(object sender, EventArgs e) {
}
private void btnSubmit_Click(object sender, EventArgs e) {
}
private void btnCancel_Click(object sender, EventArgs e) { JTAMLogin JTAM = new JTAMLogin(); JTAM.Show(); this.Hide(); }
private void FrmPrincipal_Load(object sender, EventArgs e) {
}
47
}}
LOGIN RECOGNITION:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using System.IO;
using Library;
namespace MultiFaceRec
{
public partial class Recogntion : Form
{
Interop.Recognition.Recognition recognition = new Interop.Recognition.Recognition();
Image<Bgr, Byte> currentFrame;
Capture grabber;
HaarCascade face;
HaarCascade eye;
MCvFont font = new MCvFont(FONT.CV_FONT_HERSHEY_TRIPLEX, 0.5d, 0.5d);
Image<Gray, byte> result, TrainedFace = null;
Image<Gray, byte> gray = null;
List<Image<Gray, byte>> trainingImages = new List<Image<Gray, byte>>();
List<string> labels = new List<string>();
List<string> NamePersons = new List<string>();
int ContTrain, NumLabels, t;48
string name, names = null;
Library.PropertyClass PC = new PropertyClass();
public Recogntion()
{
InitializeComponent();
face = new HaarCascade(recognition.FaceFileName());
eye = new HaarCascade(recognition.EyeFileName());
try
{
string Labelsinfo = File.ReadAllText(Application.StartupPath + recognition.TrainedLabels());
string[] Labels = Labelsinfo.Split('%');
NumLabels = Convert.ToInt16(Labels[0]);
ContTrain = NumLabels;
string LoadFaces;
for (int tf = 1; tf < NumLabels + 1; tf++)
{
LoadFaces = "face" + tf + ".bmp";
trainingImages.Add(new Image<Gray, byte>(Application.StartupPath + recognition.TrainedFaces() + LoadFaces));
labels.Add(Labels[tf]);
}
}
catch (Exception e)
{
49
MessageBox.Show("Nothing in binary database, please add at least a face", "Triained faces load", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
static int value = 0;
private void button1_Click(object sender, EventArgs e)
{
PropertyClass.val = 0;
grabber = new Capture();
grabber.QueryFrame();
if(value ==0)
Application.Idle += new EventHandler(FrameGrabber);
button1.Enabled = true;
}
static int Val1 = 0;
void FrameGrabber(object sender, EventArgs e)
{
if (value == 0)
{
label3.Text = "0";
NamePersons.Add("");int j = 0;
currentFrame = grabber.QueryFrame().Resize(320, 240, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
gray = currentFrame.Convert<Gray, Byte>();
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade(
face,
50
1.2,
10,
Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
new Size(20, 20));
foreach (MCvAvgComp f in facesDetected[0])
{
t = t + 1;
result = currentFrame.Copy(f.rect).Convert<Gray, byte>().Resize(100, 100, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
currentFrame.Draw(f.rect, new Bgr(Color.Red), 2);
if (trainingImages.ToArray().Length != 0)
{
MCvTermCriteria termCrit = new MCvTermCriteria(ContTrain, 0.001);
ObjectRecognizer recognizer = new ObjectRecognizer(
trainingImages.ToArray(),
labels.ToArray(),
3000,
ref termCrit);
name = recognizer.Recognize(result);
currentFrame.Draw(name, ref font, new Point(f.rect.X - 2, f.rect.Y - 2), new Bgr(Color.LightGreen));
}
NamePersons[t - 1] = name;
NamePersons.Add("");
label3.Text = facesDetected[0].Length.ToString();
}
t = 0;
for (int nnn = 0; nnn < facesDetected[0].Length; nnn++)
51
{
names = names + NamePersons[nnn] ;
if (Library. PropertyClass.UserName == NamePersons[nnn])
{
Val1++;
}
}
imageBoxFrameGrabber.Image = currentFrame;
try
{
if (names.Length > 0 && Val1 > 0 && PropertyClass.val == 0)
{
label4.Text = names;
names = "";
PropertyClass.val = 1;
NamePersons.Clear();
MessageBox.Show("User Authentication successfull!! \n You've crossed the second level of Authentication");
DecidingScreen DMS = new DecidingScreen();
DMS.Show(); this.Hide();
}}catch (Exception ex)
{
}
}
}
}
}
DBAMODIFICATION SCREEN:
52
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using FetchColumns;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using ObjectAccess;using System.Security.Cryptography;using Library;using Mail;
using System.IO;using System.Net.Mail;
using System.Data.SqlClient;namespace MultiFaceRec{ public partial class DBAModificationScreen : Form { public DBAModificationScreen() { InitializeComponent(); } ObjectAccess.ConnectDB dbObject = new ConnectDB(); ColumnFeatures features = new ColumnFeatures(); Library.PropertyClass Property = new Library.PropertyClass(); Mail.MailClass mailClass = new MailClass(); private void DBAModificationScreen_Load(object sender, EventArgs e) { if (Library.PropertyClass.DBAUserID != 0) { cboTable.Items.Clear(); foreach (DataRow dr in dbObject.JTAMGetPolicyTableYes().Rows) { cboTable.Items.Add(dr[1].ToString()); } cboTable.SelectedIndex = 0;
} }
53
private void cboTable_SelectedIndexChanged(object sender, EventArgs e) { cbocol.Items .Clear (); foreach (DataRow dr in dbObject.JTAMGetPolicyColumnYes(cboTable.SelectedItem.ToString() ).Rows) { cbocol.Items.Add(dr[1].ToString()); } cbocol.SelectedIndex = 0; }
private void button3_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(@"Data Source=Nachimuthu\SARAVANAKUMAR;Integrated Security=true;Initial Catalog=IntrusionDetection"); conn.Open();
SqlCommand cmd = new SqlCommand("sp_FetchGmailUserIds", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@UserId", SqlDbType.Int)).Value = PropertyClass.DBAUserID;
DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds);
}
private void button2_Click_1(object sender, EventArgs e) {
}
private void btn_Aply_Click(object sender, EventArgs e) { string PrivateKeyText = txtPrivateKey.Text; string pwd; if (PrivateKeyText != null) { pwd = dbObject.ValidatePrivateKey(PropertyClass.DBAUserID); if (PrivateKeyText == pwd) { lblNot.Visible = false; lblValidate.Visible = true;
54
txtPrivateKey.ReadOnly = true; } else { lblNot.Visible = true; lblValidate.Visible = false; } } else { lblNot.Visible = true; lblValidate.Visible = false; }
} public string KeyGen(string cboTable, string cbocol) {
byte[] inputArray = UTF8Encoding.UTF8.GetBytes(cboTable); TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider(); string modified = cbocol; if (cbocol.Length < 17) { for (int val = cbocol.Length; val <= 15; val++) { modified += " "; } } else modified = cbocol.Substring(0, 16);
tripleDES.Key = UTF8Encoding.UTF8.GetBytes(modified); tripleDES.Mode = CipherMode.ECB; tripleDES.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = tripleDES.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(inputArray, 0, inputArray.Length); tripleDES.Clear(); string myEncrptedText = Convert.ToBase64String(resultArray, 0, resultArray.Length);
StringBuilder randomText = new StringBuilder(); string code; Random r = new Random(); for (int j = 0; j <= 5; j++) {
randomText.Append(myEncrptedText[r.Next(myEncrptedText.Length)]); }
55
code = randomText.ToString(); return code; }
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { this.Close(); }
private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e) {
}
private void button4_Click(object sender, EventArgs e) {
}
private void btnGenerate_Click(object sender, EventArgs e) { if (radioButton1.Checked) Code.Text = features.TableAlteration() + cboTable.SelectedItem.ToString() + features.ColumnDrop() + cbocol.SelectedItem.ToString() + " "; else if (radioButton2.Checked) Code.Text = features.TableDeletion() + cboTable.SelectedItem.ToString() + " ";
}
private void button3_Click_1(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(@"Data Source=Nachimuthu\SARAVANAKUMAR;Integrated Security=true;Initial Catalog=OntheUser"); //(ConfigurationManager.AppSettings["DBConnection"].ToString()); conn.Open(); string sql = "SELECT [GmailUserName],ContactNumber FROM [DBALogin] where id!=" + PropertyClass.DBAUserID;
SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds);
56
int j = dbObject.DBAScriptInsert(Code.Text, PropertyClass.DBAUserID, txtPublicKey.Text, cbocol.SelectedItem.ToString(), cboTable.SelectedItem.ToString()); if (j > 0) {
foreach (DataRow dr in ds.Tables[0].Rows) { // you need to give your email id mailClass.MailFunction("[email protected]", "NPSANDHYA", txtPublicKey.Text, dr[0].ToString()); string val = dr[1].ToString();
}
MessageBox.Show("Email sent to other DBA's. Your Script is waiting for the approval from other DBAs");
} }
private void btn_Aply_Click_1(object sender, EventArgs e) { string PrivateKeyText = txtPrivateKey.Text; string pwd; if (PrivateKeyText != null) { pwd = dbObject.ValidatePrivateKey(PropertyClass.DBAUserID); if (PrivateKeyText == pwd) { lblNot.Visible = false; lblValidate.Visible = true; txtPrivateKey.ReadOnly = true; } else { lblNot.Visible = true; lblValidate.Visible = false; } } else { lblNot.Visible = true; lblValidate.Visible = false; }
}
private void cbocol_SelectedIndexChanged(object sender, EventArgs e) {
57
Code.Text = "ALTER TABLE " + cboTable.SelectedItem.ToString() + " DROP COLUMN " + cbocol.SelectedItem.ToString() + " "; txtPublicKey.Text = KeyGen(cboTable.SelectedItem.ToString(), cbocol.SelectedItem.ToString()); }
private void button1_Click(object sender, EventArgs e) {
}
}}OBJECTCONFIRMATIONSCREEN:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using Library;
using System.Windows.Forms;
using Mail;
namespace MultiFaceRec
{
public partial class ObjectConfirm : Form
{
public ObjectConfirm()
{
InitializeComponent();
}
ObjectAccess.ConnectDB dbObject = new ObjectAccess.ConnectDB();
58
Mail.MailClass mailClass = new MailClass();
private void ObjectConfirm_Load(object sender, EventArgs e)
{
if (PropertyClass.DBAUserID != 0)
{
foreach (DataRow dr in dbObject.GetDBAApproval(PropertyClass.DBAUserID).Rows)
{
checkedListBox1.Items.Add(dr[0].ToString());
}
}
}
private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
int j = 0;
if (txtPrivateKeyApp.Text != "" && txtPublicApproval.Text != "")
{
if (checkedListBox1.SelectedItems.Count > 1)
{
lblNumber.Visible = true;
lblNot1.Visible = false;
59
}
else
{
lblNot1.Visible = false;
try
{
foreach (object itemChecked in checkedListBox1.CheckedItems)
{
j = dbObject.IndividualDBAUpdate(itemChecked.ToString(), PropertyClass.DBAUserID, txtPublicApproval.Text, txtPrivateKeyApp.Text);
}
}
catch (Exception ex) { MessageBox.Show("Changes reflected successfully"); }
if (j > 0)
{
MessageBox.Show("Changes reflected successfully");
try
{
foreach (object itemChecked in checkedListBox1.CheckedItems)
{
checkedListBox1.Items.Remove(itemChecked.ToString());
}
}
catch (Exception ex) { }
}
else
{
60
MessageBox.Show("Please check your keys!!!. Problem with your Keys");
}
}
}
else { lblNot1.Visible = true; }
}
private void button4_Click(object sender, EventArgs e)
{
int j = 0;
if (txtPrivateKeyApp.Text != "" && txtPublicApproval.Text != "")
{
if (checkedListBox1.SelectedItems.Count > 1)
{
lblNumber.Visible = true;
lblNot1.Visible = false;
}
else
{
lblNot1.Visible = false;
foreach (object itemChecked in checkedListBox1.CheckedItems)
{
j = dbObject.IndividualDBARejectUpdate(itemChecked.ToString(), PropertyClass.DBAUserID, txtPublicApproval.Text, txtPrivateKeyApp.Text);
}
if (j > 0)
61
{
MessageBox.Show("Changes reflected successfully");
try
{
foreach (object itemChecked in checkedListBox1.CheckedItems)
{
checkedListBox1.Items.Remove(itemChecked.ToString());
}
}
catch (Exception ex) { }
}
else
{
MessageBox.Show("Please check your keys!!!. Problem with your Keys");
}
}
}
else { lblNot1.Visible = true; }
}
private void checkedListBox1_DoubleClick(object sender, EventArgs e)
{
int k = 0, j = 0;
foreach (object itemChecked in checkedListBox1.CheckedItems)
{
j = k + 1;
}
if (checkedListBox1.SelectedItems.Count > 1)
{
62
lblMore.Visible = true;
}
else
{
try
{
textPublic.Text = dbObject.GetPublicKey(checkedListBox1.SelectedItem.ToString());
lblMore.Visible = false;
}
catch (Exception ex)
{ }
}
}
private void button1_Click(object sender, EventArgs e)
{
DecidingScreen DS = new DecidingScreen(); DS.Show(); this.Hide();
}
private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
63
}
64
CHAPTER 11
SCREEN SHOTS
65
SCREEN SHOTS
Fig10.1LOGIN/REGI STRATION SCREEN
66
Fig10.4 Face Capturing Module
67
Fig10.2RECOGNITION SCREEN
68
Fid10.3 Database Modification Screen
69
Fig 10.4Object Confirmation module
70
CHAPTER 11
CONCLUSION
71
11. CONCLUSION
The problem of using biometric user authentication during a standard
web session when a mobile computing device isused has been successfully
approached. We have focused on the technological problem of capturing
the biometric with the mobile phone, sending it to the web server, and,
after user authentication,allowing or rejecting the user’s continuation with
the web session in the same way this had been performed using password
authentication.
There are several related works, projects, and commercial
applications; however, as far as the authors knowledge, none of them have
approached the biometric recognition in a mobile environment via the Web.
We have proved that the standard solutions to approach the problem
in PC platforms, using Applets Java, ActiveXcontrols, Java script, or Flash
technology, do not work under mobile platforms. Therefore, a new
alternative is needed.
72
REFERENCES
73
REFERENCES
[1] N. L. Clarke and A. Mekala, “The application of signature recognitionto transparent handwriting verification for mobile devices,” Inf. Manage.Comput. Secur., vol. 15, no. 3, pp. 214–225, 2007.[2] R. L. Kay. (2003). Protecting mobility, IDC White Paper [Online].Available at: http://www.tsi.enst.fr/∼chollet/Biblio/Articles/Domaines/BIOMET/IDC/Protecting_Mobility.pdf[3] R. M. Godbole and A. R. Pais, “Secure and efficient protocol for mobilepayments,” in Proc. 10th Int. Conf. Electron. Commerce, 2008, pp. 1–10.[4] D. S. Jeong, H.-A. Park, K. R. Park, and J. Kim, “Iris recognition inmobile phone based on adaptive gabor filter,” Lect. Notes Comput. Sci.,vol. 3832, pp. 457–463, 2005.[5] Q. Zhang, J. N. Moita, K. Mayes, and K.Markantonakis, “The secure andmultiple payment system based on the mobile phone platform,” presentedat Workshop Inf. Secur. Appl., Jeju Island, Korea, 2004.[6] N. L. Clarke and S. M. Furnell, “Authentication of users on mobiletelephones—A survey of attitudes and practices,” Comput. Secur., vol.24, no. 7, pp. 519–527, 2005.[7] K. R. Park, H.-A. Park, B. J. Kang, E. C. Lee, and D. S. Jeong, “A studyon iris localization and recognition on mobile phones,” EURASIP J. Adv.Signal Process., vol. 2008, pp. 1–11, 2008.[8] M. Martinez-Diaz, J. Fierrez, J. Galbally, and J. Ortega-Garcia, “Towardsmobile authentication using dynamic signature verification: Usefulfeatures and performance evaluation,” in Proc. 19th Int. Conf. PatternRecogn., Dec. 2008, pp. 1–5.[9] D. J. Hurley, B. Arbab-Zabar, and M. S. Nixon, “The ear as a biometric,”in Handbook on Biometrics, A. K. Jain, A. A. Ross, and P. Flynn, Eds.New York: Springer-Verlag, 2008, pp. 131–150.[10] S. yi Han, H.-A. Park,D.H. Cho, K. R. Park, and S. Lee, “Face recognitionbased on near-infrared light usingmobile phone,” in Proc. ICANNGA, PartII (Lect. Notes Comput. Sci. vol. 4432), 2007, pp. 440–448.
74