Implementation of Captcha As Graphical Passwords For Multi Securi
Implementation of Captcha As Graphical Passwords For Multi Securi
3-2018
Recommended Citation
Maddipati, Babu Rajeev, "Implementation of Captcha as Graphical Passwords For Multi Security" (2018). Culminating Projects in
Information Assurance. 62.
https://repository.stcloudstate.edu/msia_etds/62
This Starred Paper is brought to you for free and open access by the Department of Information Systems at theRepository at St. Cloud State. It has been
accepted for inclusion in Culminating Projects in Information Assurance by an authorized administrator of theRepository at St. Cloud State. For more
information, please contact [email protected].
Implementation of Captcha as Graphical Passwords
by
A Starred Paper
Master of Science
in Information Assurance
February, 2018
Abstract
To validate human users, passwords play a vital role in computer security. Graphical
passwords offer more security than text-based passwords, this is due to the reason that the user
replies on graphical passwords. Normal users choose regular or unforgettable passwords which
can be easy to guess and are prone to Artificial Intelligence problems. Many harder to guess
passwords involve more mathematical or computational complications. To counter these hard AI
problems a new Captcha technology known as, Captcha as Graphical Password (CaRP), from a
novel family of graphical password systems has been developed. CaRP is both a Captcha and
graphical password scheme in one. CaRP mainly helps in hard AI problems and security issues
like online guess attacks, relay attacks, and shoulder-surfing attacks if combined with dual view
technologies. Pass-points, a new methodology from CaRP, addresses the image hotspot problem
in graphical password systems which lead to weak passwords. CaRP also implements a
combination of images or colors with text which generates session passwords, that helps in
authentication because with session passwords every time a new password is generated and is
used only once. To counter shoulder surfing, CaRP provides cheap security and usability and
thus improves online security. CaRP is not a panacea; however, it gives protection and usability
to some online applications for improving online security.
Keywords: Graphical password, password, CaRP, Captcha, dictionary attack, password guessing
attack
3
Table of Contents
Page
Chapter
I. Introduction ........................................................................................................................10
Recall-Based Scheme.............................................................................................13
Captcha in Authentication............................................................................................16
SHA-1 Algorithm.........................................................................................................22
Chapter Page
An Attack-Cryptocurrency.....................................................................................37
Recognition-Based CaRP.............................................................................................44
ClickText................................................................................................................44
ClickAnimal ...........................................................................................................45
AnimalGrid ............................................................................................................46
TextPoints ..............................................................................................................49
Shoulder-Surfing Attacks.............................................................................................56
5
Chapter Page
Economical Feasibility...........................................................................................58
Social Feasibility....................................................................................................58
Chapter Page
Registration ..................................................................................................................71
Login ............................................................................................................................72
Upload ..........................................................................................................................73
Download .....................................................................................................................76
ClickText......................................................................................................................79
Admin ..........................................................................................................................81
References ......................................................................................................................................87
7
List of Figures
Figure Page
1. Passfaces ............................................................................................................................12
3. PassPoints ..........................................................................................................................14
4. Captcha ..............................................................................................................................15
Figure Page
Figure Page
Chapter I: Introduction
Using hard Artificial Intelligence is a problem for security, Captcha, creates a new
paradigm which differentiates human users from computers (bots) (von Ahm, Blum, Hopper, &
Langford, 2003) i.e., through the use of a puzzle, which bots cannot identify but a human user
can. This Captcha is mainly used to provide internet security for email from bots. But this has
not gotten much success with cryptographic primitives based on hard mathematical problems. To
ensure security there are different ways, one is CaRP (Captcha as Graphical Password) from the
family of graphical password schemes which mainly deal with hard AI problems.
used to derive a password, and the images generated by CaRP are a challenge and a new image is
generated for every login attempt. Users are asked to click on the image or any part of that image
as a password and these points or images are then stored as a graphical password. These images
are different for every user. The newly generated graphical password is used along with the
regular user password. Any Captcha can be converted to a CaRP, although only if the Captcha
implies multiple-object classification. CaRPs can be implemented on both text and image
recognition Captcha. The one with text CaRP, where the password is a text password, is a
sequence of characters but only by clicking on the right character sequence on a CaRP image is
the password authenticated. CaRP provides protection from online dictionary attacks on
passwords which have been used for a long time and present a serious security threat (HP
TippingPoint DVLabs, 2010). Online dictionary attacks are considered a main cybersecurity
risk. To countermeasure this logon attempts do not work for two reasons: (a) it causes denial-of-
service attacks (Wolverton, 2002), and (b) it is vulnerable to global password attacks which
11
mean hackers try to break into any account rather than one (Pinkas & Sander, 2002) by trying
each password on multiple accounts while they make sure that the attempts are under the
CaRP can be used to prevent relay attacks where Captcha challenges were meant to be
solved by humans. CaRP also can prevent shoulder surfing attacks if it is combined with dual-
view technologies.
• CaRP can be applied on touch-screen devices where typing passwords are difficult
especially for e-banks to secure internet applications. Captcha is mainly used for user
• CaRP can protect from spammers, which increases the spammer’s operational costs
and also reduces spam emails. CaRP helps to protect against spam bots from entering
Graphical Passwords
All the graphical password systems are classified into three categories, based on
• Recognition-based scheme
• Recall-based scheme
are decoys or the visual objectives belonging to a password portfolio. PassFaces (Real User
Corporation, 2012) is one scheme where the user selects a portfolio of faces from the database
12
while creating a password. During authentication, the user asks to select a face from the panel of
faces from his/her portfolio. This will be done over several rounds, for every round a different
panel is utilized. To successfully login, a user must select the correct face in each round. The
images are the same for logins, but their locations are changed for each round. Story (Davis,
Monrose, & Reiter, 2004) is another schema, which is like PassFaces, but the images a user
selects while creating the password are in order and the user must provide the images in the
correct order. Another scheme, Déjà Vu (Dhamija & Perrig, 2003), is also similar but instead of
a portfolio, the computer generates “random-art” images. Here the user should provide a path
through a panel of images, for example: starting from the top-left image, moving down if the
image is in her portfolio, or to the right otherwise (Weinshall, 2006). This process repeats with a
different panel each time. To perform a successful login, the user needs to give correct answers
with the cumulative probability that they were not entered by chance and exceeds a threshold
Figure 1. Passfaces
13
Recall-based scheme. In a recall-based scheme, it asks the user to regenerate the same
interaction result without cueing. The first recall-based scheme proposed was Draw-A-Secret
(DAS) (Jermyn, Mayer, Monrose, Reiter, & Rubin, 1999) which asks the user to draw password
on a 2D grid (see Figure 2). The system analyses the grid cells and drawing path of user-drawn
password. Pass-Go (Tao & Adams, 2008) is an improved version of DAS, where this analysis
grid intersects points instead of grid cells. BDAS (Background DAS) (Dunphy & Yan, 2007) is
also an improved version where is adds background images to DAS, which helps to create more
complex passwords.
Cued recall-based scheme. In the cued-recall scheme, the system provides some
external clue which helps the user to memorize and enter a password. PassPoints (Wiedenbeck,
Waters, Birget, Brodskiy, & Memon, 2005) is one of the cued-recall schemes which are also
of points anywhere on an image and during authentication repeats the same sequence. Cued
Click Points (CCP) (Chiasson, van Oorschot, & Biddle, 2007) is like PassPoints though instead
of clicking all clicks on one image, here each click will be on different images, where the next
image is selected by a deterministic function. Persuasive Cued Click Points (PCCP) (Chiasson,
Forget, Biddle, & van Oorschot, 2008) is an improved version of CCP, where the password is
Figure 3. PassPoints
From the above three types of password schemes, the recognition-based scheme is easiest
for users to memorize and pure recall is the hardest (Biddle, Chiasson, & van Oorschot, 2012).
Guessing attacks are easily performed with recognition-based schemes. For recognition-based
schemes there is a password space range of 213 to 216, DAS and Pass-Go (Tao & Adams, 2008)
were broken by a guessing attack using dictionaries of 231 to 241 with full password space of 258
entries and similarly with PassPoints are 226 to 235 with full password space of 243.
15
In solving hard AI problems, Captcha helps to separate humans from bots. Mainly there
are two types of visual Captcha: text Captcha and Image-Recognition Captcha (IRC). Text
Captcha deals with character recognition, and it depends on the difficulty of character
deals with the recognition of non-character objects, but non-character object recognition is good
when compared to character recognition. IRCs mainly depend on the difficulty in identification
Howell, & Saul, 2007) is a scheme from IRC which depends on binary object classification:
where a user is asked to find all the cats from a panel of 12 images of cats and dogs. Asirra is
prone to machine-learning attacks. IRCs which are based on object identification or classification
of objects are insecure (Zhu et al., 2010). Multi-label classification problems are considered
more difficult than binary classification problems. Captcha can overcome relay attacks where
Captcha challenges relayed to human solvers and the answers were given back to the target
application.
Figure 4. Captcha
16
Captcha in Authentication
To counter online dictionary attacks, the use of both Captcha and passwords in user
(Pinkas & Sander, 2002). The CbPA-protocol asks the user to input a user ID and password and
then it asks for a Captcha challenge, if the user provides the correct Captcha, a valid browser
cookie is received. If the user enters an invalid user ID and password, then before being denied it
asks to solve a Captcha. Improved CbPA-protocol (van Oorschot & Stubblebine, 2006) stores
cookies only on user-trusted computers and it prompts a Captcha challenge only when the failed
attempts exceeded a certain threshold. Further improved, the threshold limit varies from user
trusted and untrusted machines, for trusted machines the threshold is small and for untrusted
machines the threshold is large (Alsaleh, Mannan, & van Oorschot, 2012).
where below every image a text Captcha is placed and the user clicks on their own pass-image
from decoy images and solves the Captcha during authentication (Gao, Liu, Wang, & Dai, 2009).
These the user clicks, or specific locations are selected while creating the password.
In the above schemes, Captcha is an independent entity, which means either a text or
graphical password is used at a time. But a CaRP is both a Captcha and a graphical password
PGRP Protocol
The proposed PGRP scheme is more restrictive against attackers than commonly used
countermeasures. At the same time, PGRP requires answering fewer ATTs for all legitimate
users, including those who occasionally require multiple attempts to recall a password. Presented
17
is a login protocol based on ATTs to protect against online password guessing attacks. It reduces
the number of ATTs that legitimate users must correctly answer so that a user with a valid
browser cookie will rarely be prompted to answer an ATT (Buvanesvari & Prasath, 2013).
choose whether to ask the client an ATT. To enhance the security of the PS convention, a
connected with one key that ought to be changed at whatever point the relating secret key is
changed. The proposed capacity requires additional server-side stockpiling per username and no
less than one cryptographic hash operation for each login attempt. In this proposed work,
coordinated sound mark to help in reviewing the secret key. In day-to-day life, there are different
illustrations of reviewing an item by the sound identified with that question. When a user enters
their user ID and selects one sound recurrence, which he needs to be played at login time, a
resistance worth is additionally chosen which will choose that the client is genuine or a fake
According to Zhu et al. (2014), many security primitives are based on hard mathematical
problems. Using hard AI problems for security is emerging as an exciting new paradigm but has
been under-explored. In this paper, a new security primitive based on hard AI problems. Namely,
a novel family of graphical password systems built on top of Captcha technology, which call
Captcha as gRaphical Passwords (CaRP). CaRP is both a Captcha and a graphical password
scheme. CaRP addresses several security problems at the same time such as: online guessing
attacks, relay attacks, and (if combined with dual-view technologies) shoulder-surfing attacks.
Notably, a CaRP password can be found only probabilistically by automatic online guessing
attacks, even if the password is in the search set. CaRP also offers a novel approach to address
the well-known image hotspot problem in popular graphical password systems, such as
PassPoints, that often lead to weak password choices. CaRP is not a panacea; however, it offers
reasonable security and usability, and appears to fit well with some practical applications for
According to Zhu et al. (2014), a security module produces an irregular picture having a
majority of password-component markers in it. The irregular picture is then given to a client, and
the client chooses parts of the arbitrary picture. The security module decides if they chose
segments of the irregular picture and compare it to a password for the client. Be that as it may, if
they chose segments of the irregular picture that don't compare to the client's password, the
security module may create another arbitrary picture having more password-component pointers
Character (TGC) Captcha, for preventing dictionary attacks against password authenticated
systems allowing remote access via dumb terminals. Password authentication is commonly used
for computer access control. But password authenticated systems are prone to dictionary attacks,
in which attackers repeatedly attempt to gain access using the entries in a list of frequently-used
passwords. CAPTCHAs (Completely Automated Public Turing tests to tell Computers and
Humans Apart) are currently being used to prevent automated “bots” from registering for email
accounts. They have also been suggested as a means for preventing dictionary attacks. However,
current CAPTCHAs are unsuitable for text-based remote access. Our TGC CAPTCHA fills this
gap. We believe that the system will not only help improve the security of servers allowing
remote terminal access, but also encourage a healthy spirit of competition in the fields of pattern
program that protects websites from bots by generating as well as grading tests that humans can
pass that test but current computer programs cannot. Humans read the distorted text, but the
computer cannot read the distorted text. A good CAPTCHA must be robust as well as human
CAPTCHA challenge, and for every login attempt a new CaGP image is generated. Many e-
banking systems have used CAPTCHA for user logins. The operating cost of spammer is
increased by CaGP and it helps to reduce spam emails. For an email service provider which uses
20
CaGP, a spam bot cannot log into an email account if it doesn’t know the password (Ghorpade et
al., 2014).
According to Yan and Dunphy (2007), Draw a secret (DAS) is a representative graphical
password scheme. This investigate the novel idea of introducing background images to the draw
a secret scheme, in that users were initially supposed to draw passwords on a blank canvas
overlaid with a grid. Encouraging results from their two user studies had shown that people aided
with background images tended to set significantly more complicated passwords than their
counterparts using the original scheme. The background images also concentrated other
conventional characteristics in DAS passwords such as symmetry and centering within the
According to Murugavalli, Jainulabudeen, Senthil Kumar, and Anuradha (2016), data and
PC security are bolstered by passwords, as passwords assume an essential part in the verification
process. The customary confirmation strategy utilizes content-based passwords, which is also
defeat these disadvantages, the graphical password was conspired, and is presented as a
contrasting option to content-based passwords. Yet, the graphical password conspire is helpless
against shoulder surfing attacks and spyware attacks. To conquer this weakness of graphical
passwords, the rising strategy that is Completely Automated Open Turing Tests to differentiate
Computers and Humans Apart (Captcha), as a test reaction is created to recognize people from
supplanted by Captcha as gRaphical Password (CaRP). As the CaRP plot has an extent of
refinements in digital security, a two-way validation strategy is proposed in one of the CaRP
21
procedures of the Recognition-based plan. The graphical password conspires when looked at and
provides uncommon nascent results when it mixes both Captcha and graphical passwords. With
According to Jo, Kim, and Lee (2014), validation to a registering framework is made
from two sections, recognizable proof and confirmation. We propose a strategy that can expand
the present password-based framework by fortifying the recognizable proof process. It uses
henceforth to be called mindmetrics. It at that point asks the client to pick the right login ID
among numerous decisions of incompletely clouded IDs. Since it doesn't acknowledge a login ID
amid the confirmation procedure, a stolen or split password cannot be utilized for picking up an
entrance to the processing framework unless the assailant gives a right distinguishing proof
material, i.e., a mindmetrics token. This extra step raises the security of a validation framework
extensively over finished single or twofold password frameworks. Since the stolen passwords
cannot be utilized instantly by the aggressors, account holders can have an additional opportunity
to change their passwords prior to the assailants gaining entrance. This plan does not require any
specific equipment and can be actualized rather easily. It might be utilized where biometric plans
cannot be utilized cost-successfully, e.g., on open internet business sites. Mindmetrics plot
isolates the ID server and the confirmation server, subsequently it is versatile enough to be used
clients. The review demonstrates that the framework is not as meddlesome as different plans,
clients feel better secured, and they will utilize the plan on open sites (Yan & Dunphy, 2007).
22
SHA-1 Algorithm
SHA stands for Secure Hash Algorithm. It was published in 1993 with SHA0 version but
later in 1995 with small change it was revised and published by the United States NSA (National
Security Agency). SHA-1 differs from the older one only by a single bitwise rotation in its
message compression functionality. The structure of this algorithm is like MD4 and MD5 with
small changes. The SHA-1 algorithm is a hash function that is commonly used in cryptography
for the methods like message authentication, digital signatures, etc. SHA was secure for a long
time, but from 2005 on, there were valid attacks against it and now all major companies reject
the certificates no will no longer be used after 2017. The SHA-1 algorithm produces a 160-bit
value known as a message digest. The hash value is represented as a hexadecimal number which
is 40 digits long.
In general, the hash function is nothing but the change of any size data into a fixed size of
data. The key or algorithm that is used to change the meaning of the data is known as the hash
algorithm. The value obtained after changing the original data by the hashing algorithm is a hash
value. Without the knowledge of the algorithm, it is impossible to get the original data file.
For hash algorithms to survive longer they should be able to meet these three requirements. First
is speed, it should be able to convert large files into hexadecimal code within a short time, but
not too quick so that it can be broken. The second is that if you change any bit of data, anywhere
right from beginning to the end, the entire hash value needs to be changed. This means change in
single letter it should create a new hash value which is completely different from the past hash
value. If the value does not change there may be a chance of finding the sequences and
potentially break the hash algorithm, so that the original data file may be corrupted. The third is
23
that needs to avoid hash collisions, like having two documents with the same hash value. For
instance, create an artificial hash collision, like creating a new file and naming it with the
existing hash value, then the problem arises and security comes into the picture. So that can fake
the documents, change the data, and a threat to data integrity arises.
Generally, in practice it takes a lot of time and large data files to create artificial
collisions. But examples of the MD5 hash algorithm which had several such collisions in the
past. If the hash algorithm is slow, no one is willing to use it, but if it is too quick then it is easier
to create several artificial collisions within a lesser amount of time. There are examples of
sending a document inside which is malicious and get the same hash code using MD5, which is
why it was considered broken. Also, there is one more reason for this hash algorithm to be
broken, it is the amount of usage. MD5 had been used for so long and so frequently that if any
word that type in google gets the hash value for that word. Computers are now fast enough to
create the artificial collisions deliberately. That is why the SHA-1 algorithm comes into the
picture. This algorithm also is a hash algorithm which has been used for a long period of time for
encryption, and as the time passes, there were collisions on SHA-1 as well and now SHA-1 has
been blocked by major companies. Now companies have started using the latest versions of it
How SHA-1 works. As discussed above, SHA-1 has a message digest value of 160 bits.
Later SHA2 and SHA3 were published with more message digest lengths of 256, 384 and 512
bits. SHA-1 has a message size of <2^64. It has a block size of 512 bits which is like SHA2 but
SHA3 has more message size than these hash algorithms. The search space for the attacker in
SHA-1 which is of 160 MD value is 80 bits, that means it is less secure than the remaining hash
24
algorithms SHA2, SHA3, and SHA5. For the remaining hash algorithms, the search space varies
from 80 to 128, 192, and 256 respectively. This means the attacker has to get more space to
search than the SHA-1 algorithm. Therefore, SHA-1 is less secure than the remaining versions.
Let us see how SHA-1 works. SHA-1 converts any length of value to a 160-bit value as
discussed. This means SHA-1 converts an entire large data set or just a single word file into that
fixed set of value. As it has a block size of 512, once at a time it takes 512-bit blocks of data and
loops it till the file is extended. Suppose if the data file has 512 bits of data and then it needed
only one loop to convert all the data into the hash value. If the file size is larger the loop iterates
with 512 bits of data and converts it into the hash value. SHA-1 starts with the internal state
bringing the bits of data one at a time and then the internal state is changed. Once the data in the
file is completed the internal state value and that is our hash value.
In detail, the first step is appending the padding bits (1 followed by 0’s). We need to pad
up to 448 mod 512. The second step is the remaining 64 bits of padding length. We need to get
the message in multiples of 512 bits. The third step is initializing the message digest buffer. In-
order to hold the intermediate and final message digest value to initialize the MD value. The size
is 160-bit, so in-order to initialize it has 5 registers each of 32 bits total of the 160-bit value. We
need to initialize these five registers with hexadecimal values initially. In step 4 there are 4
rounds with each round it is similar to the individual primitive functions internally. In each
round, there are 20 steps, which in total it takes 80 steps to process the data. So, beginning with
the compression functions the registers are initialized with internal states. Then the message or
the data file that was presented or input mix or combined and shuffled with these registers or
internal states and perform 80 char compressions to look more and more random. For the same
25
message, it performs the same algorithm, so if the same input file inserted again, it produces the
same result. So now, after shuffling with the registers, the data will have new registers.
Then with the recent internal states, get the new 160 message digest values of the SHA-1 algorithm,
SHA-1 has existed for a longer period of time, but once artificial collision starts
increasing the use of this algorithm has stopped. Also, newer versions with more security space
and message digest values were introduced like SHA2, SHA3, and SHA5. SHA5 is one of the
most recent hashing algorithms, with 512 bits of MD values and with more security space of 256
bits, which means for an attacker it takes a greater amount of time to create a collision compared
to SHA-1.
Transport Layer Security (TLS) (n.d.) protocol has been developed by the Internet
Engineering Task Force (IETF) as a standard tool for providing security. This paper provides an
overview of the design and workings of the TLS protocol and how it enables network security
for the exchange of information. This paper uses different algorithms to interchange data
securely by using key exchange or key agreement. Before implementing key exchange, this
paper gives a concise description and clear understanding of transport layer protocol. It also uses
different block ciphers and stream ciphers. TLS is implemented on top of the transport layer
security for communication over the Internet. It uses X.509 certificate and asymmetric
session key is used to encrypt data flowing between the two parties. In asymmetric cryptography,
there are two keys one is a (secret) or private key and the other is a public key. The Internet
protocol suite is the Computer Networking model and Communication Protocols used on the
TLS encrypts the data of network connections in the application layer. In OSI model
equivalences, TLS is initialized at Layer 5 (Session Layer) and works at Layer 6 (Presentation
Layer). The session layer has a handshake using an asymmetric cipher in order to establish
cipher settings and a shared key for that session; then the presentation layer encrypts the rest of
the communication using a symmetric cipher and that session key (Dierks & Allen, 2003). In the
27
TLS and SSL models, they work instead of the transport layer, which carries encrypted data in
segments.
Transport Layer Service is used to implement the Key Exchange or Key Agreement so as
to provide keys to the authenticated users and transport data between the communicating parties
For email transmission, using the TLS protocol in communication then there is no need to
Implementation of the TLS protocol occurs in two levels: TLS Record Protocol and TLS
Handshake Protocol
TLS record protocol. This ensures a secure communication and private channel between
the client and server. This encapsulates the TLS Handshake Protocol. For the private channel, this
uses symmetric cryptographic keys, i.e. the same key for both the client and server. This protocol
also uses Message Authentication Code which generates hash functions for the secure channel.
communication between the client and server. Before sending data, this protocol allows the client
and server to use the same encryption algorithm and keys. This will determine the authentication
How TLS works. TLS contains four protocol layers to communicate between the client
and server: (a) Alert Protocol, (b) Record Layer, (c) ChangeCipherSpec Protocol, and (d)
Handshake Protocol.
28
Alert protocol. The Alert protocol is responsible for connectivity issues between the client
and server, like sending errors, problems or warnings. There are two types of alert protocols—
1. Severity Level has two values based on its concern as a 1 or 2. The value of ‘1’ is for
a warning message and indicates two parties to disconnect from their session and
restart a new handshake. The value ‘2’ is for a fatal alert message that indicates that
2. The Alert Description gives the description of the specific error from an alert
message. It is composed of one byte, which gives the description that follows with the
IllegalParameter.
Record layer. This layer documents the messages from Alert, ChangeCipherSpec,
Handshake and the application protocol. The document provides header and MAC produced
hash values for each message. The header is composed of five bytes: Protocol Definition (1byte),
Protocol Version (2 bytes) and the Length (2 bytes). The protocol messages that follow the
header cannot be longer than 16,384 bytes, as specified by the TLS protocol. (Thomas, 2000).
ChangeCipherSpec protocol. This layer consists of one message that gives instructions at
the beginning of the secure communications. The ChangeCipherSpec message is only one byte
Handshake Protocol
The client and server pass messages which establish a handshake connection. The TLS
• ClientHello. The client is requesting the connection to the server by passing the
message “ClientHello” and with this the client also sends a 32-byte random number
and SessionID which describes that the client is in encrypted communications and
blank field.
• ServerHello. Based on the ClientHello the server makes choices which are of five
• ServerKeyExchange. From the above two steps, both the client and server agree that
the transmission of data will be encrypted. Since no algorithm is decided upon yet,
data is sent with no encryption, and communication is in the clear or public domain.
The public key of the server is used for the session key encryption and both the client
and server use the same key to encrypt data that is to be transmitted. Digital
certificates are used for authentication which combines with the public key. These
certificates contain RSA Security or VeriSign, and have an expiration date which
helps the client to verify the certificate owner and certificate authority. The only
public key is available in the certificate but no private key, it includes the private key
• ClientKeyExchange. For the TLS session, the client doesn’t need any public or
private keys, in this ClientKeyExchange message it has key information that the two
parties use for communication. At this point, mitigate “man in the middle attacks”
because to decrypt the message a masquerader would need to have the server’s
private key. By the end of this process, the client and server negotiate communication
between themselves.
• ChangeCipherSpec. This message gives information about the change of state, i.e.
from insecure to a secure of state of data. Both the client and server machines send
• Finished. Before completion of the TLS handshake, three things should be verified,
they are: (a) information of key; (b) audit information, i.e., previous stored messages
of TLS handshakes; and (c) the value, which indicated who is the sender either the
In the case of an e-mail server, the TLS handshake session verification will be
indicated by a lock icon, which indicates that the secure protocol is in use by both the
The name itself specifies that it is used for exchanging keys in cryptography.
The Diffie–Hellman key exchange method allows two parties who have no prior
knowledge of either’s keys to jointly establish a shared secret key over an unsecured
31
symmetric key.
Algorithm. It provides perfect forward secrecy in the Transport Layer Service ephemerals
modes. Diffie–Hellman establishes a shared secret key that can be used for secret
The Diffie-Hellman key exchange (n.d.) algorithm is used to exchange the data between
two or more authenticated users. This algorithm is simple in implementation to exchange the
keys in a possible secure way. The output of this is computationally secure and it so because by
the time an attacker decodes the private shared key the value of the key is useless.
To make the algorithm operation simple, instead of using very large numbers let us use a
diagram of colors, to demonstrate the key exchange. The part of the process that is important is
the exchange of their secret colors. ‘A’ and ‘B’ exchange these colors as a mix. This mix helps
to generate a key common to both the parties that cannot be cracked computationally by
supercomputers in a reasonable amount of time. ‘A’ and ‘B’ both use this common secret to
encrypt and decrypt their sent and received data. Yellow is the starting color and is publicly
declared that is it is known by the two authenticated parties and by the eavesdropping opponent.
32
Two important terms that are used as inputs for the working of the algorithm are:
The environment of operation is a Cyclic Group ‘G’ and it is Finite in length. The
My examples the two authorized parties ‘A,’ and ‘B,’ ‘C’ is the intruder.
• ‘A’ selects a natural number, which feels lucky to him and sends it to ‘B’ as ga.
• ‘B’ in the same way picks his lucky or random natural number b and sends it to ‘A’ as
gb .
33
• In the same way, ‘B’ computes (ga)b after receiving from ‘A’.
‘A’ and ‘B’ both possess a group element gab, which operates as a shared secret key.
Now in order to encrypt e = mgab where ‘m’ is the message and ‘g’ is the element.
‘A’ knows G, b, and ga. As g generates G it follows that g|G| = 1 (the group identity).
‘A’ calculates
For larger tables that are required for multiplication, a multiplication algorithm and
The table specifies values, which are declared as global, open values, and values. These
are secret as selected by the two exchanging parties. The global values are in blue and the secret
• Here ‘C’ is the user who tries to break in, so as to know what ‘A’ and ‘B’ are trying to
exchange. ‘C’ tries to know what they are communicating but does not alter the
The scope of Diffie–Hellman key agreement is not limited to sharing of keys between
two parties. It has a broader scope where any number of users can take part in an agreement by
performing iterations of the agreement protocol and exchanging intermediate data. For example:
This time ‘A,’ ‘B,’ and ‘C’ are the authenticated parties who agree to Diffie–Hellman Key
Working:
An attacker let’s say ‘C’ has been able to see , , , , , and , but
The security of the protocol depends on the values selected for ‘G’ and ‘g.’ To obtain the
value of gab, the intruder must understand the working of the Diffie-Hellman algorithm, which is
not possible at the time he tries to break in. It is efficient in solving the problem of the discrete
algorithm to make it easy to compute a or b that are used in the key exchange protocol.
The Pohlig-Hellman algorithm that is used to obtain the values of a and b can be prevented
by selecting a large prime factor of G. To avoid this a Safe Prime is selected by using the expression
p = 2q + 1.
If the parties use a random number generator, it would be easy for the intruder to break in.
Password-authenticated key agreement. Two users in our case ‘A’ and ‘B’ use
Man-in-the-Middle attack. The simplest option is to compare the hash functions of s combined
with the password and independently calculated on both ends of the channel. The best part is that
the attacker can test only one password per iteration and by this way weak passwords provides
Public key implementation. This algorithm can be used as an integral part of Public Key
Infrastructure (PKI).
For ‘B’ to send a message to ‘A’, he selects a random number ‘b’ and sends it
key encrypted.
Only ‘A’ can decrypt the message because only she has a (the private key). A shared public
An attack-cryptocurrency. The way a sender and receiver operate are that the sender
creates the public part of the key; on the other hand, the receiver can compute the private part.
Due to this, the receiver is the only one who can complete a transaction. So, for every transaction
they perform a check for a single formula to ensure that it belongs to them.
The symmetric key algorithm is a class of algorithm that uses the same Cryptographic
keys for both encryption of plaintext and decryption of cipher text for cryptography. To go
between the two keys the keys may be identical or a simple transformation. These keys represent
a shared secret between multiple parties that is used to maintain a private link. In types of
Encrypting the digits of a message one at a time is a stream cipher. Stream ciphers
attempt to simulate the one-time pad by using short keys to generate longer keys that can then be
In block ciphers, it takes several bits and encrypts them as a single unit, packing the
plaintext so it will be a multiple of the block size. Normally the block size is fixed, and the block
of cipher text produced by the block cipher is usually also the same length as the plaintext block
The Data Encryption Standard (DES) (n.d.) is a symmetric-key block cipher published by
the National Institute of Standards and Technology (NIST). In 1973, NIST published a request
for proposals for a national symmetric-key cryptosystem. A proposal from IBM, a modification
of a project called Lucifer, was accepted as DES. DES was published in the Federal Register in
March 1975 as a draft of the Federal Information Processing Standard (FIPS) (Data Encryption
Standard, n.d.).
DES is a block cipher that takes a fixed length of plaintext and transfers to a series of
complicated operations into another cipher text of the same length. In DES, it has 64 bits of
block size. To customize the transformation, DES uses a key so that only decryption is supposed
to be performed. Although it has 64 bits, only 56bits are used by the algorithm and the rest of the
eight bits are used for checking parity so they are discarded. Therefore, the effective key length
is 56 bits.
of block ciphers. It is also commonly known as the Feistel network. One of the advantages of a
Feistel structure is that both encryption and decryption has similar operations also identical in some
cases, requiring a reversal of the key schedule. A round in DES (encryption site):
The DES function applies a 48-bit key to the rightmost 32 bits to produce a 32-bit output.
are not very resistant to linear cryptanalysis. It has been shown that DES can be broken using 243
pairs of known plaintexts. However, from the practical point of view, finding so many pairs is
very unlikely.
42
In CaRP, for every login attempt a new image is generated even for the same user, it uses
image which is a Captcha challenge. The main difference between CaRP images and Captcha
images is the visual objects in the alphabet should be in the CaRP image which requires the user
to input any password but, in a Captcha image it is not necessary. As mentioned earlier CaRP
schemes are clicked-based graphical passwords. These are based on memorizing and entering a
password and CaRP schemes are classified into two categories: Recognition and Recognition-
recall. The latter asks to recognize an image based on recognized objects as cues to enter the
password. This is a combination of recognition and cued-recall, and due to this it contains both
advantages of the recognition-based system of being easy for human memory and the cued-recall
guessing attacks. In a guessing attack, a secret key conjecture is tried in the fizzled trial and is
resolved wrong and then avoided from ensuing trials. If the number of trails increase, then the
complexity of the password increases. Mathematically, let P be the arrangement of secret key
estimates before any trial, ρ be the password to discover, A mean the attempt though A signifies
the n-th trial, and p(A = ρ) be the likelihood that ρ is tried in endeavor A. Given Sn a chance to
be the arrangement of password guess tried in trials up to An. The secret key supposition to be
tried in n-th attempt is from set P|Sn−1, i.e., the relative supplement of Sn−1 in P. On the off
and
Sn P
• Automatic Guessing Attacks apply an automatic attempt and error process, but P can
be manually constructed.
• Human Guessing Attacks apply a manual attempt and error process. CaRP adopts a
p( A | A1.......... An 1) p( A ), n...........................................(3)
Specifically, no matter how many attempts run previously, the chance of finding the password in
44
the current attempt always remains the same. That is, a password in P can be found only
graphical password schemes where a password can be found within a fixed number of trials.
Recognition-Based CaRP
Recognition-based CaRP has access to an infinite number of different visual objects. Presented
below are three forms of two recognition-based CaRP schemes and another variation.
ClickText alphabets should be clear without visually confusing characters. Consider the letter
“O” and the digit “0” which may cause confusion in CaRP images, thus these characters must be
removed from the alphabet. A ClickText password is like a text password, a sequence of
characters in the alphabet, e.g., ρ = “AB#9CD87.” From this, a ClickText image is generated by
the Captcha engine. While generating a ClickText image all the alphabet characters positions or
locations are tracked to produce a ground truth for the location of the character in the generated
image. Based on user- clicked points the authentication server relies on the ground truth to
identify the characters. In this way ClickText images or characters can be arranged randomly on
a 2D space (Elson et al., 2007). Whereas, in text Captcha characters are aligned from left to right
for users to type them sequentially. A ClickText image of an alphabet of 33 characters is shown
in Figure 15. Alphabets in user passwords are clicked on the image with the password order, for
example “A,” “B,” “#,” “9,” “C,” “D,” “8,” and then “7” for password ρ = “AB#9CD87”.
45
ClickAnimal. Captcha Zoo (Lin, Huang, Bell, & Lee, 2011) is a Captcha scheme where
different colors, poses, textures and lightings of 3D models of a horse and dog are used to
generate 2D animals and arrange them on the cluttered background. To pass the test, it asks the
user to click all the horses as shown in Figure 16 where all of the horses are circled in red.
ClickAnimal is one more recognition-based CaRP scheme which should be built on Captcha
Zoo, here there is an alphabet of similar animals like a dog, horse, pig, etc. The password is some
sequence of animal names like ρ = “Turkey, Cat, Horse, Dog . . .” For every animal, the system
generates one or more 3D models. ClickAnimal images are generated from Captcha generation
processes, and 3D models are used to generate 2D animals by applying different colors, views,
lightning effects, textures, and optionally distortions. These are placed on cluttered background
like a grassland. In a ClickAnimal image, some animals may appear to be close in appearance to
other animals, but the core parts are not too close, and humans can identify them fairly easily. In
Figure 10, the ClickAnimal image is of 10 alphabet animals. From a 3D model, the user gets
46
different views. When this image is combined with additional anti-recognition mechanisms it
makes it difficult for machines to identify animals, but humans can identify them easily.
AnimalGrid. The number of similar animals is much less than the number of available
characters. ClickAnimal has a smaller alphabet size, thus a smaller password space when
compared to ClickText. To restrict guessing attacks, CaRP should have a large effective
password space. The user can increase AnimalGrid’s password space by mixing it with the grid-
based graphical password, the grid depends on the size of the selected animal. DAS (Gyorffy,
Tappenden, & Miller, 2011) requires drawing on the grid, and a new scheme known as Click-A-
combination of ClickAnimal and CAS, where the grid-cells count should be much greater than
the alphabet size. Here the advantage is based on this grid, and it generates a follow up grid. If a
wrong animal is clicked, the next grid is then wrong. If the user clicks on a correct labeled grid-
cell of the wrong grid, this guides to a wrong grid-cell at the authentication server side when the
To enter a password for AnimalGrid, first ClickAnimal is displayed and, once the user
selects the animal, an image of n x n grid appears where the selected animal bounding rectangle
size is equal with the grid-cell. Every grid is labeled which helps the users to identify them. First,
from Figure 17, the left image shows a selected animal and the 6 x 6 grid in Figure 17 where the
red turkey is shown there. A user can select zero to multiple grid-cells matching her password.
Grid⟨2⟩, Grid⟨1⟩; Cat, Horse, Grid⟨3⟩,” where Grid⟨1⟩ means the grid-cell indexed as 1, and grid-
cells after an animal means that the grid is determined by the bounding rectangle of the animal.
Figure 17. A ClickAnimal Image (left) and 6 x 6 Grid (right) Determined by Red Turkey's
Bounding Rectangle
The user selects an animal from a ClickAnimal image when it matches the first animal in
the password. The locations of clicked points are then recorded. A bounding rectangle is
calculated and displayed in the Figure 17 white rectangle. Based on image selection, the user
48
modifies inaccurate edges. Once the boundary rectangle is finalized, an image of n × n grid with
the identified bounding rectangle as its grid-cell size is generated and displayed. It automatically
fits the size even if it is too large or too small. The user then clicks a sequence of zero to multiple
grid-cells that match the grid-cells following the first animals in her password and again back to
the ClickAnimal image. For the example password ρ given previously, she clicks a point inside
grid-cell⟨2⟩, and then a point inside grid-cell⟨1⟩ to select the two grid-cells. The coordinates of
user-clicked points on the grid image (the original one before scaling if the grid image is scaled)
are then recorded. The above process is repeated until the user has finished entering her
GP⟨30,66⟩, GP⟨89,160⟩, AP⟨135,97⟩...” where “AP⟨x,y⟩” denotes the point with coordinates
⟨x,y⟩ on a ClickAnimal image, and “GP⟨x,y⟩” denotes the point with coordinates ⟨x,y⟩ on a grid
Recognition-Recall CaRP
points of objects. An invariant point of an object (letter “A”) is a point that has a fixed relative
position in different incarnations (fonts) of the object, and with this, it can be uniquely identified
by humans irrespective of how the object appears in CaRP images. To enter a password, a user
should identify the objects in the CaRP image, and after that use these identified objects as cues
which then helps to locate and click the invariant points matching user’s password. Every
password point has some tolerance range so that if the click is within the tolerance range, it
accepts it as a password point. Three pixels or less is the ideal tolerance range (Chiasson et al.,
2007).
49
characters. Figure 18 shows some invariant points of letter “A,” which provides a strong cue to
locate its invariant points from memory. If the distance to the closest boundary of the object
exceeds a threshold, that point is known as the internal point of an object. For TextPoints, to
form a set of clickable points, a set of internal points of characters are selected. Here there is a
chance of overlap between clickable points and neighboring characters and their tolerance range
also occluded on the image generated by the underlying Captcha engine. In determining
clickable points to avoid overlap on CaRP images, the distance between any pair of clickable
points in a character must exceed a threshold so both can be separated. Consider an example, if
the center of a stroke segment in one character is selected, the user cannot select the center of a
similar stroke segment in another character. To avoid this, the user must select a different point
from the stroke segment. By this requirement users can ensure that a clickable point is context-
dependent, however depending on the character that the point lies in the same type of structured
point may or may not be the clickable point. Even though the clickable points are known for each
character, character recognition is necessary for locating clickable points on a TextPoints image.
Here the password is a sequence of clickable points, where a character can contribute
multiple clickable points, in this way TextPoints has a much larger password space than
ClickText.
• Image Generation: Both ClickText images and TextPoints images look the same but
to ensure any collision or tolerance region occlude with another clickable point’s,
locations of clickable points are checked. If this fails, the system generates another
image. Failures are rare because the clickable points are all internal points.
• Authentication: While creating a password, the user asks to select a CaRP image
where all clickable points are marked on respective characters. In authentication, first
the user identifies chosen characters and clicks the password points on the right
characters. The server checks each user-clicked point on the image to find the nearest
clickable point. Login fails if their distance exceeds the tolerable range. Otherwise,
the hash value is calculated based on the recovered sequence of clickable points to
passwords (PassPoints). In PassPoints, salient points should be avoided because they are
mounted to dictionary attacks, but in avoiding salient points leads to memorizing the password
(Wiedenbeck, Waters, Birget, Brodskiy, & Memon, 2005). But when considering TextPoints,
this problem will not occur. ClickPoints in TextPoints refers to salient points of their characters
and helps to memorize a password, but bots cannot exploit this because both are dynamic and
contextual:
51
• Dynamic: For every image, the locations of clickable points and their characters
differ from one another. Clickable points of one image are independent of clickable
• Contextual: The similar structured point does not depend on its context or a clickable
point, this is only with the right context, i.e., at the right location of a right character.
Bots or machines cannot exploit this to mount dictionary attacks on TextPoints because
both dynamic and contextual requirements correct context, i.e., characters, first. Identifying
Technical measures like login passwords and anti-virus protection are also essential.
However, a secure physical space is the first and most important line of defense.
Is the place you keep your work environment PC sufficiently secure to anticipate
burglary or access to it while you are away? While the Security Department gives scope over the
Medical focus, it just takes seconds to take a PC, especially some compact gadgets like a tablet
or a PDA. A PC ought to be secured like any other important owned item when you are absent.
Human dangers are not by any means the only concern. PCs can be damaged by natural
accidents (e.g., water, espresso) or physical injury. Ensure the physical area of your PC assesses
From Figure 19, the registration process starts with the generation of a unique ID for a
user and then on to the next step, it prompts to select a sound signature with a tolerance level and
based on the tolerance level it generates an image. If the user failed to pass the Captcha test then
a more complex Captcha will generate, after ‘n’ number of failed attempts it blocks the user.
Once the Captcha is authenticated correctly the user can create his profile.
52
After creating a profile, the user can login with the same image profile that was used
while creating the profile. Based on the mouse clicks or Captcha challenge, if these mouse clicks
match with the database clicks then the user can log in, if not it asks the user to solve the Captcha
again. With three failed attempts it will block the user from logging in.
There is no theoretic security model available yet. All existing models on Captcha
Security are the only approximate process. All the modern Captcha schemes depend on
problem.
of objects contained in a challenge, and the polynomial is dependent of the size N of the Captcha
Larson, Simard, & Czerwinski, 2005). A Captcha challenge typically contains 6 to 10 characters,
whereas a CaRP image typically contains 30 or more characters. The complexity to break a
Click-Text image is about α30 P(N)/(α10 P(N)) = α20 times the complexity to break a Captcha
From above, ClickText is much harder to break than its underlying Captcha scheme.
CaRP characters are 2D, if the user changes to one more dimension, it increases its segmentation
difficulty. By doing this for improved usability, the user can decrease the distortions in ClickText
segmentation.
CaRP does not depend on a specific Captcha, if one Captcha fails a new and more robust
Captcha scheme may appear and be used to construct a new CaRP scheme.
54
In automatic online guessing attacks, dictionaries are constructed manually, and then a trial
and error method is automatically implemented. CaRP has some CPA-secure Captcha if the user
The first property can be proven by contradiction. Assume that the property does not
hold, i.e., there exists an internal object-point α on one image A that is non-negligibly dependent
launch the following chosen-pixel attack. In the learning phase, image A is used to learn the
object that contains point α. In the testing phase, point β on image B is used to query the oracle.
success probability non-negligibly higher than a random guess, which contradicts the CPA-
The second property is a consequence of the first property since user-clicked internal
in another trial due to the first property. The user has ignored background and boundary object-
User can say that the only way to guess a password in automatic online guessing attacks
is by probabilistically, regardless of how many trials and errors. Even if you know the correct
55
password which is to be tested, the trial has very little chance to pass because bots do not have
the capability to identify the objects in the CaRP image. Here the number of trials is also limited.
In a brute-force or dictionary attack, if you know the correct password, this would succeed in
In human guessing attacks, humans need to enter a password manually, which is slower
compared to machine. For 8-character passwords, the password space is 338 ≈ 240 for ClickText
with an alphabet of 33 characters, 108 ≈ 226 for ClickAnimal with an alphabet of 10 animals,
and 10 × 467 ≈ 242 for AnimalGrid with the setting as ClickAnimal plus 6 × 6 grids.
If the user assumes that 1000 people are employed to work eight hours per day without
any breaks in a human guessing attack, and that each person takes 30 seconds to finish one trial.
It would take them on average 0.5 · 338 ·30/ (3600 · 8 · 1000 · 365) ≈ 2007 years to break a
password, or 0.5 · 10 · 467 · 30/(3600 · 8 · 1000 · 365) ≈ 6219 years to break an AnimalGrid
Because of larger password space for TextPoints, it requires a much longer time than those
on ClickText.
A recent study on text passwords indicates that users tend to choose passwords of 6–8
characters and have a strong dislike of using non-alphanumeric characters, and that an acceptable
benchmark of effective password space is the expected number of optimal guesses per account
56
needed to break 50% of accounts, which is equivalent to 21.6 bits for Yahoo! Users (Bonneau,
2012).
Assume that ClickText has roughly the same effective password space as text passwords,
it requires on average of 1000 people to work 1.65 days or one person to work 4.54 years to find
a ClickText password.
Relay Attacks
Human surfers act as the relay to solve Captcha challenges for further surfing websites,
or sweatshops where humans are hired with small payments to pass Captcha challenges. But in
CaRP it has the CbPA-protocol which is robust for relay attacks (von Oorschot & Stubblebine,
2006). Methods used by humans for Captcha challenge are very different from CaRP. So, for
CaRP, it needs a large number of unwitting people to mount human guessing attacks.
Let us assume that sweatshops are hired to mount human guessing attacks and the cost to
click one password on CaRP is $1, at the lowest. If there are 1000 Captcha Challenges the
estimated cost is the average cost to break a 26-bit password is 0.5 · 226 · 1/1000 or about
Shoulder-Surfing Attacks
CaRP is not robust to shoulder-surfing attacks, but when CaRP is combined with dual-
view technology, CaRP can thwart shoulder-surfing attacks. Shoulder-surfing attacks are
dangerous for instance when entering graphical passwords in bank ATM machines. Normal or
commonly used LCDs are limited to brightness and color depending on view angles, but a
software is used in dual-view technology so that it displays on two LCD screens concurrently,
where one LCD has one public image in most viewable angles and another private image in a
57
specific view-angle (Kim, Cao, Zhang, & Tan, 2012). The CaRP image is on the private image, a
shoulder-surfing attacker can collect user-clicked points on the screen but cannot capture the
private CaRP image the user clicked points because only the user can see it. The user-clicked
points collected by an attacker are useless because for every login attempt CaRP generates a new
uses a static image for every login attempt, even though the image is on private LCD by dual-view
technology, the captured user click points can be used to log in successfully.
58
Feasibility Study
In this level based on the cost estimates and other aspects, a feasibility report will be
generated for a business proposal. This report gives an overall picture of the project so that they
can conclude whether to go forward with this research or not. For a better understanding of this
feasibility study, needs major requirements for the system. Three key considerations involved in
the feasibility analysis are Economical Feasibility, Technical Feasibility, and Social Feasibility.
Economical feasibility. This study is most essential for any organization because this
explains the economic impact on the organization. Based on this report, the organization will
conclude whether to invest in research and development or not. Unless the clear picture, they
won’t go any further. With open sources, the cost is often less to invest in software products.
software tools that are used won't negatively impact the future, i.e., there should not be any huge
changes for implementation. If not, there will be a high demand for resources in the future.
Social feasibility. Social feasibility also plays a vital role in any organization. A higher
level of user acceptance is required to continue research. The user requires some knowledge of
the subject before using it, so this needs to be taken into account to invest money in training the
user for using the system effectively. The methods that are used to educate the user will
determine the level of acceptance which also helps them to get familiar with the system.
Existing System
There are several types of Captchas being used in the real world and out of those the most
commonly used technique to differ humans and bots are graphical based Captcha. It is hard to
59
crack, but not impossible as bots are becoming more intelligent. Captcha is currently a standard
Internet security system to shield online email and different administrations from being
mishandled by bots.
However, there are several drawbacks such as they are difficult to read, not compatible
for users with disabilities, can be time-consuming to decipher, and there are technical difficulties
with certain browsers which may be greatly enhanced by the use of artificial intelligence.
Some of the images are not readable due to high distortion or a greater complexity level on the
Proposed System
In this paper, another security primitive considering the difficult AI issues mentioned above
and a novel group of graphical secret key frameworks based on Captcha innovations, which call
Captcha as graphical passwords (CaRP). To add more security, implementing ClickText is used,
it is more complex to solve the puzzle. ClickText has roughly the same effective password space
as text passwords, and it requires on average 1000 people to work 1.65 days or one person to
Hardware Requirements:
Ram 512 Mb
Software requirements:
System architecture.
1. The DFD is also called a bubble chart. It is a simple graphical formalism that can be
used to represent a system in terms of input data to the system, various processing
carried out on this data, and the output data that is generated by this system.
2. The data flow diagram (DFD) is one of the most important modeling tools currently
used. It is used to model the system components. These components are the system
61
processes, the data used by the processes, an external entity that interacts with the
3. The DFD shows how the information moves through the system and how it is
information flow and the transformations that are applied as data moves from input to
output.
UML diagrams. UML stands for Unified Modeling Language. UML is a standardized
standard is managed, and was created by, the Object Management Group.
The goal is for UML to become a common language for creating models of object-
oriented computer software. In its current form, UML is comprised of two major components—a
Meta-model and a notation. In the future, some form of method or process may also be added to;
constructing and documenting the artifacts of a software system, as well as for business
The UML represents a collection of best engineering practices that have proven
successful in the modeling of large and complex systems. The UML is a very important part of
developing object-oriented software and the software development process. The UML uses
1. Provide users a ready-to-use, expressive visual modeling language so that they can
Language (UML) is a type of static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or methods), and the relationships
Use case diagram. A use case diagram in the Unified Modeling Language (UML) is a
type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to
present a graphical overview of the functionality provided by a system in terms of actors, their
goals (represented as use cases), and any dependencies between those use cases. The main
purpose of a use case diagram is to show what system functions are performed for which actor.
kind of interaction diagram that shows how processes operate with one another and in what
order. It is a construct of a Message Sequence Chart. Sequence diagrams are sometimes called
stepwise activities and actions with support for choice, iteration and concurrency. In the Unified
Modeling Language, activity diagrams can be used to describe the business and operational step-
by-step workflows of components in a system. An activity diagram shows the overall flow of
control.
66
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
process of exercising software with the intent of ensuring that the it meets its requirements, user
expectations and does not fail in an unacceptable manner. There are various types of test that can
Types of Tests
Unit testing. Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that the program inputs produce valid outputs. All
decision branches and internal code flow should be validated by this test. It is the testing of
individual software units of the application. It is done after the completion of an individual unit
but before integration. This is a structural test, that relies on knowledge of its construction and it
is invasive. Unit tests perform basic tests at the component level and test a specific business
process, application, and/or system configuration. Unit tests also ensure that each unique path of
a business process performs accurately to the documented specifications and contains clearly
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 in
• Test strategy and approach. Field testing will be performed manually, and functional
• Test objectives
• Features to be tested
Integration testing. Integration tests are designed to test integrated software components
to determine if they run as one cohesive 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 satisfactory, as shown by successful unit testing, the combination
at exposing the problems that arise from the combination of these components.
defects.
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
All the test cases mentioned above passed successfully, and no defects were encountered.
69
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.
All the test cases mentioned above passed successfully, and no defects were encountered.
tested are available as specified by the business and technical requirements, system
functions, or special test cases. In addition, the systematic coverage pertaining to identifying
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
System testing. System testing ensures that the entire integrated software system meets
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.
70
There will be different layers to test and this system testing comes under a higher environment
White box testing. White box testing is a test in which the software tester has knowledge
of the inner workings, structure and language of the software, or at least its purpose. Its purpose
is used to test areas that cannot be reached from a black box level.
Black box testing. Black box testing is a test of the software without any knowledge of
the inner workings, structure or language of the module being tested. Black box tests, as with
most other kinds of tests, must be written from a definitive source document, such as a
specification or requirements document. It is a test 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
The main modules of the application are Registration, Login, Upload, Download, and
ClickText. Each module uses a different type of mechanism. All of these modules functionalities
Registration
Registration uses the normal Captcha technique which creates some discrete images with
random texts and alphabets. These are generated at runtime; this page then asks the user to
memorize the Captcha text which is a simple word along with the password. The generated
Captcha text is used to login along with the password. Each registration should be different for
each user, otherwise it will throw an error stating that the user already exists. The successful
login is saved to a database along with the image that is generated during the registration. Below,
Figure 28 shows that using the same Captcha that was generated while registering.
72
Login
Login functionality is an extension of the registration page. It pulls all the data associated
with a specific user at the time of login. It displays three Captcha images, out of those one image
is from the registration page. To log in successfully the user must provide their username,
password and Captcha image (from registration page). After three failed login attempts, the user
is blocked and needs an admin to reactivate the user’s account and an email will be sent to the
email address specified at the time of registration. There are two different types of logins—one
with using the same Captcha used while registering and the other is just to validate the user for
the registration page not carrying the same Captcha to the login page. Admin login is basic login
Upload
After successful login, the user has different options and upload is one among them. In
this page, an image is shown to the user and asks to select two locations or coordinates on the
74
image to upload any file. These coordinates will be stored in the database only when there is a
proper upload.
Download
If the user previously uploaded any file, this page will show the name of the file along
with a download link. After clicking on the download link on the respective filename, the user
will be shown the same image at the time of uploading the file. The user then needs to click on
the same coordinates, with some tolerance allowed, to download the file. Matching coordinates
will result in the downloading of the file, otherwise a popup with the error message: “Invalid
ClickText
This page is implemented from recognition-based CaRP, like the registration page but
instead of Captcha images, a 4x4 discrete image with alphanumeric symbols is used. The user
then selects a password by clicking on the letters or numbers from the image. A random image
will be generated each time and is stored in the database along with the user details. This helps to
retrieve the same image at the time of login. There is an option to select from an image or you
can enter the password. This is implemented by using a Discretized Centralization Algorithm.
correct entries can be accepted by the system (Chiasson, Srinivasan, Biddle, & van Oorschot,
2008). After generating the password, it uses the SHA-1 algorithm to make it encrypted by
Let us consider the password ‘3Ud6’, so that the user clicks on the image with letters in the
From Figure 35, if the coordinates of ‘U’ are (30,20) and tolerance r=5 then
i=(x-r)/2r = (30-5)/10=25/10=2
i = i’ which is acceptable.
With Centered Discretization, the rate of false accepts and false rejects is zero by definition
since centered-tolerance implies that the system will only accept click-points that are within r from
Admin
The admin module is a special feature to keep track of all the user activities and, if in any
case something went wrong, this module helps to get the user back to active. Also, you can keep
82
track of all uploaded files and timestamps. With this module, the admin can activate or
2. User Activities page is used to monitor user details like activating, deactivating and
3. Upload files page is used to keep track of all the uploaded files along with a date stamp
The purpose of this paper is to provide maximum security to ensure the protection of
sensitive information. CaRP is a combination of graphical and text passwords and provides
security towards costly human-based attacks. Most people have leaned towards ClickText and
Animal Grid rather than PassPoints or a mix of content and graphical passwords because they are
easier to use and memorize the password. The ease of CaRP is by utilizing images of various
levels of complexity based on login history and the machine used (and how frequently) it can be
easier to remember. With the combination of both a password and Captcha, it helps to secure and
solve the hard AI problems. ClickText provides a greater amount of security from hackers than
Captcha. As this generates a new challenge dynamically, each time it is used it becomes more
difficult for hackers to compromise. This then provides a new challenge to Artificial Intelligence.
ClickText provides security against online guessing and human guessing attacks. As one
In addition to CaRP, SHA-1 not only adds more security to passwords but also checks for
data integrity and checks against data corruption. SHA-1 counter attacks online guessing attacks
which include brute force attacks. As many graphical passwords are vulnerable to online
guessing attacks, with this approach hotspots on CaRP images are no longer an issue. If CaRP is
combined with dual-view technology, it can then counter relay attacks and shoulder-surfing
attacks. The higher the correlation of user-clicked points between different login attempts is, the
less effective the protection the dual-view technology would provide to thwart shoulder- surfing
attacks. CaRP can also help to counter spam emails. There is also potential future work which
References
Alsaleh, M., Mannan, M. & van Oorschot P. C. M. (2012). Revisiting defenses against large-
scale online password guessing attacks. IEEE Transactions on Dependable and Secure
Biddle, R., Chiasson, S., & van Oorschot, P. C. (2012). Graphical passwords: Learning from the
passwords. In Proceedings of the 2012 IEEE Symposium on Security and Privacy, pp.
538-552.
Buvanesvari, R., & Prasath, V. (2013). A new security mechanism for graphical password
Chellapilla, K., Larson, K., Simard, P., & Czerwinski, M. (2005). Designing human-friendly
Chiasson, S., Forget, A., Biddle, R., and van Oorschot, P. C. (2008). Influencing users towards
better passwords: Persuasive cued click-points. In Proceedings of the 22nd British HCI
Chiasson, S., Srinivasan, J. Biddle, R., & van Oorschot, P. C. (2008). Centered discretization
https://www.usenix.org/legacy/event/upsec/tech/full_papers/chiasson/chiasson_html/inde
x.html
Chiasson, S., van Oorschot, P. C., & Biddle, R. (2007). Graphical password authentication using
Dailey, M., & Namprempre, C. (2004). A text graphics character CAPTCHA for password
https://en.wikipedia.org/wiki/Data_Encryption_Standar
Davis, D., Monrose, F., & Reiter, M. (2004). On user choice in graphical password schemes. In
Dhamija, R., & Perrig, A. (2003). Déjà Vu: A user study using images for authentication. In
Dierks, T., & Allen, C. (2003). The TLS protocol, Version 1.0. Retrieved from
http://www.ietf.org/rfc/rfc2246.txt
https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange
89
Dunphy, P., & Yan, J. (2007). Do background images improve “draw a secret” graphical
Elson, J., Douceur, J. R., Howell, J., & Saul, J. (2007). Assirra: A CAPTCHA that exploits
Gao, H., Liu, X., Wang, S., & Dai, R. (2009). A new graphical password scheme against
and Security.
Ghorpade, J., Mukane, S. Patil, D., Poal, C., Prasad, R. (2014). Novel method for graphical
4(5), 2231-2307.
Gyorffy, J. C., Tappenden, A. F., & Miller, J. (2011). Token-based graphical password
HP TippingPoint DVLabs. (2010). Top cyber security risks report. Retrieved from
http://dvlabs.tippingpoint.com/toprisks2010
Jermyn, I., Mayer, A., Monrose, F., Reiter, M., & Rubin, A. (1999). The design and analysis of
graphical passwords. In Proceedings of the 8th USENIX Security Symposium, 1999 (pp.
1-15).
Jo, J., Kim, Y., & Lee. S. (2014). Mindmetrics: Identifying users without their login IDs. Paper
Diego, CA.
90
Kim, S., Cao, X., Zhang, H., & Tan, D. (2012). Enabling concurrent dual views on common
Li, S., Shah, S. A. H., Khan, M. A. U., Khayam, S. A., Sadeghi, A-R., & Schmitz, R. (2010).
Lin, R., Huang, S.-&., Bell, G. B., & Lee, Y.-K. (2011). A new CAPTCHA interface design for
https://www.khanacademy.org/computing/computer-science/cryptography/modern-
crypt/v/diffie-hellman-key-exchange-part-2
Motoyama, M., Levchenko, K., Kanich, C., McCoy, D., Voelker, G. M., & Savage, S. (2012).
Murugavalli, S., Jainulabudeen, S., Senthil Kumar, G., and Anuradha, D. (2016). Enhancing
Pinkas, B., & Sander. T. (2002). Securing passwords against dictionary attacks. In Proceedings
Rashmi, B. J., & Maheshwarappa, B. (2003). Improved Security Using Captcha as Graphical
Real User Corporation. (2012). The science behind passfaces. Retrieved from
http://www.realuser.com/published/ScienceBehindPassfaces.pdf
Rittenhouse, R. G., Chaudry, J. A., & Lee, M. (2013). Security in graphical authentication.
Tao, H., & Adams, C. (2008). Go: A proposal to improve the usability of graphical passwords.
Thomas, S. (2000). SSL and TLS essentials: Securing the web. New York, NY: John Wiley &
Sons.
http://en.wikipedia.org/wiki/Transport_Layer_Security
van Oorschot, P. C., & Stubblebine, S. (2006). On countering online dictionary attacks with
Von Ahm, L., Blum, M., Hopper, N. J., & Langford, J. (2003). CAPTCHA: Using hard AI
Wiedenbeck, S., Waters, J., Birget, J. C., Brodskiy, A., & Memon, N. (2005). PassPoints:
http://mathworld.wolfram.com/Diffie-HellmanProtocol.html
92
http://www.zdnet.co.uk/news/networking/2002/03/26/hackers-attack-ebay-accounts-
2107350/
Yan, J., Dunphy, P. (2007). Do background images improve “draw a secret” graphical
passwords.
Zhu, B. B., Yan, J., Bao, G., Yang, M., & Xu, N. (2014). Captcha as graphical passwords—A
Zhu, B. B., Yan, J., Li, Q., Yang, C., Liu, J., Xu, N., . . . Cai, K. (2010). Attacks and design of