Two Factor Authentication Using Mobile Phones
Fadi Aloul, Syed Zahidi
Department of Computer Science & Engineering
American University of Sharjah, UAE
{faloul, b00017408}@aus.edu
Wassim El-Hajj
College of Information Technology
UAE University
welhajj@uaeu.ac.ae
Abstract- This paper describes a method of implementing two
factor authentication using mobile phones. The proposed
method guarantees that authenticating to services, such as
online banking or ATM machines, is done in a very secure
manner. The proposed system involves using a mobile phone
as a software token for One Time Password generation. The
generated One Time Password is valid for only a short user-
defined period of time and is generated by factors that are
unique to both, the user and the mobile device itself.
Additionally, an SMS-based mechanism is implemented as
both a backup mechanism for retrieving the password and as
a possible mean of synchronization. The proposed method
has been implemented and tested. Initial results show the
success of the proposed method.
I. INTRODUCTION
Today security concerns are on the rise in all areas
such as banks, governmental applications, healthcare
industry, military organization, educational institutions,
etc. Government organizations are setting standards,
passing laws and forcing organizations and agencies to
comply with these standards with non-compliance being
met with wide-ranging consequences. There are several
issues when it comes to security concerns in these
numerous and varying industries with one common weak
link being passwords.
Most systems today rely on static passwords to verify
the user’s identity. However, such passwords come with
major management security concerns. Users tend to use
easy-to-guess passwords, use the same password in
multiple accounts, write the passwords or store them on
their machines, etc. Furthermore, hackers have the option
of using many techniques to steal passwords such as
shoulder surfing, snooping, sniffing, guessing, etc.
Several ‘proper’ strategies for using passwords have
been proposed [1]. Some of which are very difficult to use
and others might not meet the company’s security
concerns. Two factor authentication using devices such as
tokens and ATM cards has been proposed to solve the
password problem and have shown to be difficult to hack.
Two factor authentication also have disadvantages
which include the cost of purchasing, issuing, and
managing the tokens or cards. From the customer’s point
of view, using more than one two-factor authentication
system requires carrying multiple tokens/cards which are
likely to get lost or stolen.
Mobile phones have traditionally been regarded as a
tool for making phone calls. But today, given the advances
in hardware and software, mobile phones use have been
expanded to send messages, check emails, store contacts,
etc. Mobile connectivity options have also increased. After
standard GSM connections, mobile phones now have
infra-red, Bluetooth, 3G, and WLAN connectivity. Most
of us, if not all of us, carry mobile phones for
communication purpose. Several mobile banking services
available take advantage of the improving capabilities of
mobile devices. From being able to receive information on
account balances in the form of SMS messages to using
WAP and Java together with GPRS to allow fund transfers
between accounts, stock trading, and confirmation of direct
payments via the phone’s micro browser [12].
Installing both vendor-specific and third party
applications allow mobile phones to provide expanded new
services other than communication. Consequently, using the
mobile phone as a token will make it easier for the customer
to deal with multiple two factor authentication systems; in
addition it will reduce the cost of manufacturing, distributing,
and maintaining millions of tokens.
In this paper, we propose and develop a complete two
factor authentication system using mobile phones instead of
tokens or cards. The system consists of a server connected to
a GSM modem and a mobile phone client running a J2ME
application. Two modes of operation are available for the
users based on their preference and constraints. The first is a
stand-alone approach that is easy to use, secure, and cheap.
The second approach is an SMS-based approach that is also
easy to use and secure, but more expensive. The system has
been implemented and tested.
In the next section we provide a general background
about authentication factors and existing two factor
authentication systems. Section III describes the proposed
system, the OTP algorithm, client, server, and the database.
Section IV provides results of testing the system. Section V
concludes the paper and provides future work.
II. BACKGROUND
By definition, authentication is the use of one or more
mechanisms to prove that you are who you claim to be. Once
the identity of the human or machine is validated, access is
granted.
Three universally recognized authentication factors exist
today: what you know (e.g. passwords), what you have (e.g.
ATM card or tokens), and what you are (e.g. biometrics).
Recent work has been done in trying alternative factors such
as a fourth factor, e.g. somebody you know, which is based
on the notion of vouching [10].
Two factor authentication [4] is a mechanism which
implements two of the above mentioned factors and is
therefore considered stronger and more secure than the
traditionally implemented one factor authentication system.
Withdrawing money from an ATM machine utilizes two
factor authentication; the user must possess the ATM card,
i.e. what you have, and must know a unique personal
identification number (PIN), i.e. what you know.
Passwords are known to be one of the easiest targets of
hackers. Therefore, most organizations are looking for more
secure methods to protect their customers and employees.
Biometrics are known to be very secure and are used in
special organizations, but they are not used much in secure
online transactions or ATM machines given the expensive
978-1-4244-3806-8/09/$25.00 © 2009 IEEE 641