Professional Documents
Culture Documents
CHAPTER 1
1. INTRODUCTION
1.1 Authentication:
In a web of trust, authentication is a way to ensure users are who they say they
are that the user who attempts to perform functions in a system is in fact the user who is
authorized to do so.
has the authority to perform a certain operation. Authentication, therefore, must precede
authorization.
For example, when you show proper identification to a bank teller, you could be
authenticated by the teller, and you would be authorized to access information about
your bank accounts. You would not be authorized to access accounts that are not your
own.
The authentication factors humans are generally classified into four cases:
1.4 e-Authentications:
It is defined as the Web Based service that provides authentication to end users
accessing (logging into) an Internet service.
For example, an end user wishes to enter his e-Buy or e-Trade web site. He gets
the Login web page and is required to enter his user ID and a Password or in the more
secured sites – his One Time Password.
Since 2001, there have been significant legal and technological changes with
respect to the protection of customer information, to increase incidents of fraud,
including identity theft and the introduction of improved authentication technologies.
This updated guidance replaces the 2001 Guidance and specifically addresses
why financial institutions regulated by the agencies should conduct risk-based
assessments, evaluate customer awareness programs, and develop security measures to
reliably authenticate customers remotely accessing their Internet-based financial
services.
security of the application. Some of the more common attacks can occur at little or no
cost to the perpetrator and without detection.
Programs are readily available over the internet. If undetected, the perpetrator
could access the information without alerting the legitimate user. This is the reason of
using a strong user authentication process to protect the data and systems. The need for
strong user authentication has many benefits.
First, effective authentication provides the basis for validation of parties to the
transaction and their agreement to its terms.
Systems linked to open and entrusted networks like the internet are subject to a
greater number of individuals who may attempt to compromise the system. Attackers
may use automated programs to systematically generate millions of numerical
combinations, in the case of systems relying on PIN alone, to learn a customer's access
code (brute force attack).
The selection and use of authentication technologies and methods should depend
upon the results of the financial institution’s risk assessment process. Authentication
methods that depend on more than one factor are more difficult to compromise than
single-factor methods. Accordingly, properly designed and implemented multifactor
authentication methods are more reliable and stronger fraud deterrents.
The risk should be evaluated in light of the type of customer (e.g., retail or
commercial), the customer transactional capabilities (e.g., bill payment, wire transfer,
loan origination), the sensitivity of customer information being communicated to both
the institution and the customer, the ease of using the communication method; and the
volume of transactions. Prior agency guidance has elaborated on this risk-based and
“layered” approach to information security.
Which ever authentication tool is chosen heavily depends on the type of service
and across which channel together with a risk assessment that the financial institution
must carry out in order to ensure that the perceived risks are adequately mitigated. An
effective authentication program should be implemented on an enterprise-wide basis and
across all services channels.
For example internet, telephone and call-centre services, to ensure that controls
and authentication tools are adequate. Authentication processes should be designed to
maximize interoperability and should be consistent with the financial institution's overall
strategy for electronic banking and e-commerce customer services.
1.10.2. Tokens:
Tokens are physical devices (something the person has) and may be part of a
multifactor authentication scheme. Three types of tokens are discussed here: the USB
token device, the smart card, and the password-generating token.
a) USB Token Device:
The USB token device is typically the size of a house key. It plugs directly into a
computer’s USB port and therefore does not require the installation of any special
hardware on the user’s computer. Once the USB token is recognized, the customer is
prompted to enter his or her password (the second authenticating factor) in order to gain
access to the computer system.
USB tokens are one-piece, injection-molded devices. USB tokens are hard to
duplicate and are tamper resistant; thus, they are a relatively secure vehicle for storing
sensitive data and credentials. The device has the ability to store digital certificates that
can be used in a public key infrastructure (PKI) environment.
The USB token is generally considered to be user-friendly. Its small size makes
it easy for the user to carry and, as noted above, it plugs into an existing USB port; thus
the need for additional hardware is eliminated.
These portable tokens plug into a computer’s USB port either directly or using a
USB extension cable. When users attempt to login to applications via the desktop,
VPN/WLAN or Web portal, they will be prompted to enter their unique PIN number. If
the entered PIN number matches the PIN within the Entrust USB Token, the appropriate
digital credentials are passed to the network and access is granted. PIN numbers stored
on the token are encrypted for added security.
b) Smart Card:
A smart card is a small, tamperproof computer. The smart card itself contains a
CPU and some non-volatile storage. In most cards, some of the storage is tamperproof
while the rest is accessible to any application that can talk to the card. This capability
makes it possible for the card to keep some secrets, such as the private keys associated
with any certificates it holds. The card itself actually performs its own cryptographic
operations.
Although smart cards are often compared to hard drives, they are “secured drives
with a brain”—they store and process information.
Smart cards are storage devices with the core mechanics to facilitate
communication with a reader or coupler which looks like as shown in the fig.1.2. They
have file-system configurations and the ability to be partitioned into public and private
spaces that can be made available or locked. They also have segregated areas for
protected information, such as certificates, e-purses, and entire operating systems. In
addition to traditional data storage states, such as read-only and read/write, some
vendors are working with sub states best described as “add only” and “update only.”
Smart cards are a key component of the public key infrastructure (PKI) because
smart cards enhance software-only solutions, such as client authentication, logon, and
secure email. Smart cards are a point of convergence for public key certificates and
associated keys because:
1) Provide tamper-resistant storage for protecting private keys and other forms of
personal information.
1.10.3) Biometrics:
For example, an entire database can be searched to verify a person has not
applied for entitlement benefits under two different names. This is sometimes called
“one-to-many” matching. A system can also be used in Verification mode, where the
biometric system authenticates a person’s claimed identity from their previously
enrolled pattern. This is also called “one-to-one” matching.
Various biometric techniques and identifiers are being developed and tested, these
include:
• Fingerprint recognition.
• Iris scan.
a) Fingerprint Recognition:
Fingerprint recognition systems store only data describing the exact fingerprint
minutiae; images of actual fingerprints are not retained. Fingerprint scanners may be
built into computer keyboards or pointing devices (mice), or may be stand-alone
scanning devices attached to a computer.
Fingerprints are unique and complex enough to provide a robust template for
authentication as shown in the fig.1.3. Using multiple fingerprints from the same
individual affords a greater degree of accuracy. Fingerprint identification technologies
are among the most mature and accurate of the various biometric methods of
identification.
Although end users should have little trouble using a fingerprint-scanning
device, special hardware and software must be installed on the user’s computer.
Fingerprint recognition implementation will vary according to the vendor and the degree
of sophistication required. This technology is not portable since a scanning device needs
to be installed on each participating user’s computer. However, fingerprint biometrics is
generally considered easier to install and use than other, more complex technologies,
such as iris scanning.
passwords. According to fingerprint technology vendors, there are several scenarios for
remote enrollment that provide adequate security, but for large-dollar transaction
accounts, the institution should consider requiring that customers appear in person
b) Iris Scan:
recognition is its stability, or template longevity as, barring trauma, a single enrollment
can last a lifetime.
The iris of the eye has been described as the ideal part of the human body for biometric
identification for several reasons:
• The iris has a fine texture that – like fingerprints – is determined randomly
during embryonic gestation. Even genetically identical individuals have
completely independent iris textures, whereas DNA (genetic
"fingerprinting") is not unique for the about 1.5% of the human population
who have a genetically identical monozygotic twin.
CHAPTER 2
SYSTEM ANALYSIS
The broad categories of user authentication there methods and properties are
shown in the following table 2.1.
Single factor authentication has been traditionally established by one of these elements:
Given the limitations of single - factor authentication, the logical alternative, is two
factor authentication, in which two of the methods are applied in tandem a combination
of knowledge and possession i.e. something the entity knows and something the entity
possess. A perfect example is the system employed to authenticate automated teller
machine (ATM) users, which blends a magnetic-strip card (what you have) with a multi-
digit PIN (what you know).
Anyone type of authentication may authorize access, but using two types moves
toward the control concept of non-repudiation; not only can you prove your identity and
gain access to a resource, but you cannot deny accessing the resource at a later time. We
define “Stronger user authentication” as the Two-factor method described below.
NEED FOR STRONG AUTHENTICATION
There are three essential reasons why an organization may decide to use strong
authentication:
1. The cost associated with loss of unauthorized data is usually the most compelling
reason to use strong authentication. Strong authentication should be used in the
case of high-risk data while it may not pay to use strong authentication for low
risk data.
2. A corporation could be held liable for an attack by a hacker. The loss of money
and public confidence in this scenario will be great. Use of strong authentication
greatly minimizes the risk
Due to their relative ease of use and familiar end-user paradigm, OTP-based
solutions are the most widely deployed by enterprises today. In addition to remote
access solutions, more and more enterprises have been adopting strong authentication
solutions to secure their critical commerce and communication applications including
intranets, extranets, and e-commerce Web applications.
3 4
1
. .
.
G V
G
e a
e
n l
n
e i
e
r d
r
a a
a
t t
Fig 2.3.Option 1 t
e e
OTP OTP e
OTP
1. Request OTP
3. Distribute OTP
Client
Server 4. Send OTP for validation
The first option which is shown in the fig.2.3 is that the server and the client
share a common shared secret and a cryptographic algorithm and these are then used to
generate a OTP at both ends. If the server validates the two OTP’s to be the same the
authentication is successful.
The second option which is shown in the fig.2.4is that the server generates the
OTP and distributes it to the client in a secure manner. The client then submits the OTP
back to the server and if the server validates the two OTP’s to be the same the
authentication is successful.
In Option 1 we require software at both the ends client as well as the server side,
but there is a possibility that the software at the client side be stolen and be used by
others.
To overcome the above problem we go in for Option 2 where the software is only
at the server side but here the limitation is that the client or the end-user here uses a
mobile phone or any registered PDA for sending or receiving SMS regarding One Time
Password thus requiring an additional third party i.e. Service Provider which looks after
the SMS.
Here both the client and the server share a common shared secret and a
cryptographic algorithm these are then used to generate an OTP at both the ends. If the
server validates the two OTP’s to be the same the authentication is successful.
Here the OTP at any instant generated at either end depends upon the previous
OTP that was generated, there by making authentication even stronger thus preventing it
from any attack.
Objectives:
The objectives of this standard are to:
a. Improve the administration of password systems that are used for
authenticating the identity of individuals accessing computer resources or files.
c. Produce passwords that are easily stored, and entered into computer systems,
yet not readily susceptible to automated techniques that have been developed to
search for and disclose passwords.
5. Authentication Mechanism
• The client and the server are connected through the Web.
• The interaction between the two can be modeled as a sequence of two
sessions with a prior phase of initialization.
Initialization:
In this phase the client registers with the server and is assigned a profile
including a set of credentials userid/pwd along with an additional credential a num
used as the basis for the two-factor authentication mechanism. This num is
automatically generated for the first time and assigned to the user’s profile and
stored in a database system hosted by the server. At the client side also it is securely
stored. This num initially forms an input to the cryptographic algorithm that is used
to generate the One Time Password. There after the previous password that is stored
in the database is given as the input to the algorithm.
Session-1:
The client establishes a channel with the bank through the Internet by
presenting the login credentials userid/pwd. The actual two-factor authentication is
implemented by the generation of One Time Password at the client side and the
encrypted form is been send to the server, simultaneously the server also generates
the One Time Password.
Session-2:
a. At the server the One Time Password of the client is decrypted and the
two passwords of the client and the server are compared if same
authentication is successful and the client is allowed to access data or
perform any transaction.
c. Even if the OTP was stolen while transit it does no good to the
Input to the Alg. Inputwill
to the Alg.be valid
Form any attacker as it keeps changing and the OTP response never
Form any
secured storage twice this number is more than 11 digits so difficult to decrypt.
secured storage
device device
Features:
Alg.
Generates
The algorithm at the client side generates the OneAlg.
TimeGenerates
Password and
OTP OTP
encrypts.
At the server side generates One Time Password, decrypts One Time
Alg Encrypts
Password of the client and compares them.
OTP
The standard used for encryption or decryption can be similar to that of RSA
or MD5.
C S
Alg Decrypts
OTP
CHAPTER 3
SOFTWARE REQUIREMENT
SPECIFICATIONS
SOFTWARE REQUIREMENTS:
HARDWARE REQUIREMENTS:
Personal computer
Processor : Intel Pentium 4 Processor
Hard disk : 80 GB
RAM : 512 MB
CHAPTER 4
OTP Generator
The current model, which uses username and password pairs, is a single factor
authentication mechanism. The main issues with passwords are that, if a strong model is
applied, it becomes difficult to remember multiple passwords for different servers. Strong
passwords are defined in [1], under Appendix A as the "University minimum password
standard". System administrators and other staff that need to access servers (Oracle DBAs
for example) frequently have to deal with a high number of passwords for different
servers.
There is a requirement for a stronger means of authentication, at least initially for the
most sensitive servers/machines. Strong authentication is based upon the requirement for
the user to present credentials which are based on multiple factors (two or more). For the
University of Auckland, it was decided that the two factor authentication provided
sufficient control.
These factors include:
• Something only the user knows (his password or PIN).
• Something only the user has. This is usually a physical device - a
OTP was used during the evaluation project.
The principle behind this system for authentication is simple. The OTP generates a
one time password (OTP), which is a 6 digit number. This number is cryptographically
generated and is dependant on the initial seed and the current time. The server which has
an authentication agent installed, which in turn passes the authentication request to the
authentication (secure) server, as is shown in the fig 4.3.
This diagram shows the typical process of two factor authentication, which is
described in the following paragraph.
The user connects to the server which is protected with the two factor
authentication product. This can be a simple service which authenticates the user
through the web interface or a VPN device which is supported by the two factor
authentication product (Chapter 2 enumerates all the requirements for the
products which were evaluated). The user is prompted to enter his OTP,
displayed by the OTP into the application.
The server passes the authentication request to the secure authentication server.
This request is also encrypted and communication is through well known
ports/services which enables high level of security for the secure authentication
server. Our plan is to put it behind the firewall and to disable everything except
the traffic which is needed.
The secure authentication server verifies the authentication request. It requires the
username and the OTP, both of which are passed from the requesting server. In the
database, the username has an assigned OTP every OTP has a unique identification
number which enables the server to know what seed it needs to use to compute the
OTP. Once the OTP is computed, it can be compared with the one submitted and
authentication can be approved or rejected (if the OTP is incorrect).
There are a couple of things related to the operation of this system and OTP OTPs in
general:
The OTP is dependent on the correct time synchronization with the server. As most
of the OTPs are "dummy" devices which can't be configured (an exception is CRYPTO
Card which has an initializer device), the server can accommodate slight time errors
because these devices can become desynchronized over time. The server will allow an
entered OTP if the time difference is within some predefined interval. As the server knows
all the OTPs that can be entered at certain time (it knows the seed of the OTP so it can
infinitely compute OTPs), during the authentication process (step 3), it will compute the
previous and the next OTP as well. If the computation shows that the OTP has a time
delay of a certain amount (0.05 seconds), the server will allow this OTP and register the
delay in the database. Next time when this OTP tries to authenticate the server will know
what the expected delay is of course, if the OTP is outside of a preconfigured interval, the
server will reject the authentication request and log it as an unsuccessful attempt.
In order to increase the security level of this mechanism, e.g. when a OTP is lost or
stolen, all evaluated products can implement additional PIN requests. This means that,
besides the OTP that the OTP generates, a user has to know the PIN as well. The PIN is a
4-6 digit number which has to be entered before the OTP, which are concatenated.
• Software OTPs can be installed on any machine and are protected with the user’s
password. The security level of software OTPs is less than of hardware ones, as
various attacks are now possible on the user, such as installation of key logging
software which can record the users password. However, even in this scenario, the
attacker has to have access to the exact software OTP which is installed on the
users' machine, because only that OTP has the correct seed which enables it to
generate valid OTPs. In cases when this risk is acceptable, OTPs are a cheap and
easy way of improving security.
Registration:
User requests authentication by using secrete pin or user id and passw ord . One time
registration process would go with the available user interface Registers his identification
by giving official details provided by that organization. Also registers his personal gprs
device like mobile or pda.
User Access:
User requests authentication by using secrete pin or user id and password. Server
authenticates the user validity, if valid then it generates the OTP OTP will be sent to
user’s registered GPRS device via SMS service So that user can authenticate finally by
using that OTP. User can get secured authentication.
Design Views
Implementation Views
UML DIAGRAMS
Special requirements: requirements that are not related to the function of the system
which include constraints on performance of the system, its implementations and so on.
USECASE:
SEQUENCE DIAGRAM:
Sequence diagram are Interaction diagrams that are ordered by time. You read the
diagram from the top to the bottom. Each use case will have a number of alternate flows.
Each sequence diagram represents one of the following through a use case.
A sequence diagram displays an interaction as a two-dimensional chart. The
vertical dimension is the time axis, time proceeds down the page. The horizontal
dimension shows the classifier roles that represent individual objects in the
collaboration. Each classifier role is represented by a vertical column the life line.
During the time object exists the role is shown by a dashed line. During the time an
activation of a procedure on the object is active, the lifeline is drawn as a double line. A
message is shown as an arrow from the life line one of object to that of another.
Activation is the execution of procedure, including the time it waits for nested
procedure to execute. It is shown by a double line replacing part of the lifeline in a
sequence diagram. A call is shown by an arrow leading to the top of the activation call
intestates.
The user enters his normal userid & password in the main homepage. It is
verified with the database. If there is a mismatch then again the user is redirected to the
main home page where he has to enter this Userid& password again. If a match occurs
the following process occurs. A new password also called the ONE TIME PASSWORD
is generated. It is then sent to the user’s personal device in the form of an SMS through
an SMS gateway or with GSM Modem. The user after receiving the OTP on his
personal device enters that in the 2nd login page which is generated after the first factor
is matched. The OTP then is verified with the one in the database. If a match occurs then
the user is re-directed to the main server where all the applications are stored. If not the
user has to follow all the steps from begin.
The following are the different sequence diagrams for the process going on each
use case is explained by a particular sequence diagram as follows
6: submission userID
&password
7: request for
authentication 8: validation of
user ID &
password
Module-1
1. Submission of userid and password.
2. Request for authentication.
3. Validation of userid and password.
4. Negative acknowledgement.
5. Same login screen.
6. Submission of userid and password.
7. Request for authentication.
8. Validation of userid and password.
9. Request for password on behalf of valid user.
s e c o nd fa c to r ra nd o m w o rd
c o ntro lle r g e ne ra tio n
1 : re q ue s t fo r ra nd o m w o rd
2 : s ub m itting ra nd o m w o rd to va lid a tio n
s uite (ho w fa r it is uniq ue )
3 : s ub m itting ra nd o m w o rd to
ha s h c o d e g e ne ra to r
Module 2
Module 3
Module 4
CHAPTER 5
TESTING
TESTING
Testing is conducted to uncover the errors and ensure that defined input will
produce actual results that agree with required results. Once code has been generated
program testing begins. The testing process focuses on the logical internals of the
software, ensuring all the statements have been tested.
Testing Objectives:
Any work can be completed, but completion should give satisfaction. In order to make
ourselves and end user give a touch of satisfaction, we performed a series of testing
process, which rectified mistakes during coding. This made our project highly reliable
and efficient.
This document provides structure to the testing. It describes which artifacts will be
tested. Without this document, the testing would be haphazard, in which case the team
could have little confidence in the product it will deliver.
In our project the main test cases are used in order to validate the user who wants to
access the services present in the portal. In order to access the services present in the
portal the user need to register & then login through the site. If the given details are
valid then the user can access the services.
TEST CASES:
There are two main test cases in our project they are
Test Case 1:
Validating Static User Id & Password
If the given user id & password of the user doesn’t match with
user id and password stored in the database then the user cannot login. So the user
should provide the correct user id & password in order to login.
Test Case 2:
Validating the OTP
If the OTP obtained after logging in the system with the static
user id and password is invalid then the user cannot access the services present in the
portal. User can access the services present in the portal if he/she enters the valid OTP.
CHAPTER 6
SCREEN SHOTS
Fig.7.8.Invalid Login
Fig.7.9.Successful Login
CHAPTER 7
CONCLUSION
CONCLUSION
The benefits of the two factor authentication scheme can be summarized as follows:
• No specialized hardware needed (OTP generators) by the user and the financial
service provider (bank)
• More convenience for the bank that can rely on a device owned and maintained
by the customer
• Strong security deriving from usage of well known cryptographic primitives as
building blocks
• No need to setup costly / unreliable connectionless services (as in SMS based
authentication mechanisms) or connection-oriented links;
• Possibility of using a single device to authenticate to multiple service providers.
CHAPTER 8
FUTURE SCOPE
• The project was developed using the Java which is platform independent.
• It was developed in such a way that future enhancements can be done
easily.
• The user was provided with a friendly interface by hiding all the
technical complexities. The front-end design was done in graphical user
interface.
• The project can be further enhanced by giving the links of well known
banks sites in our portal.
• By providing this facility the users can do online banking with full secure
authentication provided by this portal.
• A more formal approach towards provable security will be the subject of
future work.
• A valid choice for the symmetric encryption scheme is Rinjdael block
cipher (the AES standard recommended by NIST).However, the security
of this cipher still remains the somewhat debatable.
CHAPTER 9
REFERENCES
REFERENCES
Web sites:
www.answers.com
http://www.ntt.co.jp/cclab/e/ccsouken/sl/sl_index.html