0% found this document useful (0 votes)
176 views16 pages

1.1what Is A Password Manager?

The document discusses password managers and their importance for securely managing multiple passwords across different accounts and services. It provides background on password managers and their functions, as well as issues like password reuse and leaks that password managers help address. The document also covers some history around passwords and early systems for managing access to computer systems and files.

Uploaded by

Md Shadab Alam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
176 views16 pages

1.1what Is A Password Manager?

The document discusses password managers and their importance for securely managing multiple passwords across different accounts and services. It provides background on password managers and their functions, as well as issues like password reuse and leaks that password managers help address. The document also covers some history around passwords and early systems for managing access to computer systems and files.

Uploaded by

Md Shadab Alam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 16

CHAPTER 1

INTRODUCTION
In today’s era, IoT (Internet of things) has become much more popular around the world. Almost all devices,
which are known as smart devices, can connect to the Internet and access data from any corner of the world.
And whether we like it or not in order for us to use these services, we need some levels of authentication to
have access to the services offered by these devices. Examples of the services include; web services like
UBa students account, Administrative platforms, moodle.org, Gmail, Facebook, Yahoo mail, etc. One of the
most common methods of authentication now our days is through passwords: where a user needs to provide
a username and a password before he/she uses certain services. Facing the threat of cybercrime now our
days,
there is a need to create and manage passwords to be as secure as possible. So we see that the password is
the sentry that guards the mass of sensitive data such as; our accounts (students, staff), credit cards,
addresses, and social security numbers. Just imagine that a school like COLTECH using a manual account
password management system or not even using an account password management system at all, how
dangerous and inconvenient is this?

1.1What is a password manager?

Once upon a time, during the early years of the Internet, you may have had a handful of passwords for a few
essential web applications that you used to shop, study, stay connected, and get work done. Today, things are
much more complicated. A 2017 report from LastPass found that people had to remember 191 different
passwords—just for work—not to mention their personal passwords. While technology promises to make
our lives easier, and it generally does, every new website and application we sign up for is another password
we have to remember. For most, it’s become impossible to remember all of them. The 2019 Google Online
Security Survey found that 52 percent of respondents reused the same password for multiple (but not all)
accounts. This is a big no-no. Using giant lists of stolen passwords (aka “dumps”) bought off the dark web,
cybercriminals can brute force their way into other sites or use old passwords to extort users in scams. This
is the data breach domino effect. One breach leads to another and another and so on. According to the 2019
Verizon Data Breach Investigations Report, 80 percent of data breaches are caused by compromised, weak,
and reused passwords.

So, how did we get here, and what can we do about it?

The famous xkcd webcomic “Password Strength” explained it best: “Through 20 years of effort, we’ve
successfully trained everyone to use passwords that are hard for humans to remember, but easy for
computers to guess.”

It’s true. 20 years ago cybersecurity professionals admonished consumers for failing to change default
passwords on IoT devices (like your Internet router) or using easy to guess passwords like “12345” or
“password”. Out of this came the long and robust password xkcd pokes fun at a common word with a
mixture of uppercase and lowercase letters, at least one number, and one symbol.When creating a new
account, websites demand that we create long and strong passwords. Failing that, we aren’t even allowed to
make an account. Assuming one gets past the account creation phase, you’re going to promptly forget the
Enigma machine cipher you just made and resign yourself to using the “Forgot Password?” link as your
everyday log-in option.Fortunately, you don’t have to remember all those passwords. A password manager
can remember them for you.Malwarebytes Labs defines a password manager as “a software application
designed to store and manage online credentials. It also generates passwords. Usually, these passwords are
stored in an encrypted database and locked behind a master password.”Once all your account usernames and
passwords have been entered into the vault, your master password is the only one you have to commit to
memory. Entering your master password unlocks your password vault, and from your vault, you can then
retrieve whatever password you need.

1.2 Problem definition

Is it possible for some web based password managers to leak private information.Already LastPass, one of
the existing password managers leaked credentials to unauthorized parties and according to David Silverat.
There are known attacks against other password managers. Another type of the password managers is
software based. The problem with these password managers is that they can be used only on one computer.
This paper presents the design and the implementa- tion of the solution proposed by us. The advantage of
this hardware based password manager is that it can be used also for other applications (games, files, folders,
etc) and can be used on multiple computers. This solution will prevent all internet-basedattacks.

1.3. Solution to the Raised Problem

Password management software applications are one answer to the problem because they fulfill all the
secure password management requirements. They help us create complex passwords that are very difficult to
guess or crack for all our online accounts whether student, staff, ecommerce sites, etc. They help us
remember an unlimited number of passwords. They are pretty fast, efficient, easy to use, and most include
additional functionality such as auto-fill to speed up or eliminate the data entry required for an online
purchase or account registration. We therefore see that password management applications offer convenience
that we need to manage our different passwords. Secure password management requires that unique
passwords be used for each and every account. Passwords must be both long and complex; comprised of
numerals, mixed case letters, and special characters. Passwords should not be words, or be names of
anything which could be associated with their owner. Finally, passwords must be changed frequently.

1.4. Historical Background of the Passwords

Fernando J. Corbató is a prominent American computer scientist, notable as a pioneer in the development of
time-sharing operating systems. Born ( July 1, 1926) in Oakland California Corbató received a bachelor's
degree from the California Institute of Technology in 1950, and then a PhD in physics from the
Massachusetts Institute of Technology in 1956. He joined MIT's Computation Center immediately upon
graduation, became a professor in 1965. Corbató is credited with the first use of passwords to secure access
to files on a large computer system. These first passwords were simple and easily stored, since sophisticated
hacking networks and password-cracking programs did not yet exist. But the system was also easily duped.
In 1962, Allan Scherr, a Ph.D. researcher with access to CTSS, printed out all of the passwords stored in the
computer, so he could use CTSS for more than his four-hours-per-week allotment. Cryptographer Robert
Morris, who inadvertently created the infamous Morris worm, developed a one-way encryption function for
his UNIX operating system, known as "hashing," which translated a password into a numerical value. The
actual password was therefore not stored in the computer system, making the information less readily
accessible to hackers.n the last decade, startups and researchers have proposed appropriately futuristic
methods to strengthen passwords, or replace them entirely. These range from password management systems
like LastPass, KeePass, Dashlane 1Password and Keeper to personal data lockers, which centralize and
encrypt passwords and other personal data. Sadly, most of us still use terrible passwords. Could you believe
that in 2019, someone is using ‘password’ or maybe ‘123456’ as his/her password? Well that’s what most of
us still do.
1.5. Literature Review

Before we proceed into covering our topic, first we’ll make a run through some keywords used under
password management.

1.5.1. Password

A password is a string of characters that gives you access to a computer or an online account.

1.5.2. Password Management

There are several forms of software used to help users or organizations better manage their passwords.

1.5.3. Password Managers

Think of password managers as a wallet. Passwords managers will help us generate unique and strong
passwords, store them in one safe place, and use them while only needing to remember one master
password.

1.5.4. Dropbox

Dropbox is a free service that lets you keep a cloud copy of anything within the Dropbox folder on your
desktop. That folder is then accessible across computers and devices. Any change to that folder is synced
across every connected computer.

1.5.5.Authentication

Authentication is a process by which a user proves his identity to a system normally when logging in.

1.5.6. Authentication factor

An authentication factor is something a user presents to a system in order to prove his identity. It may be
something he (and hopefully only he) knows, or proof of possession of aphysical object, or a measurement
of some physical characteristic (biometric) of the living human user. In other words, something the user
knows, or something he has, or something he is.

1.5.7.Multi-factor authentication

Multi-factor authentication means authentication using multiple factors. For example, a user might sign into
a system with a combination of two things he knows, or a combination of something he knows and
something he has, or perhaps something he knows, something he has and something he is. Adding
authentication factors makes it more difficult for an attacker to impersonate a legitimate user to gain access
to a system.

1.5.8. Internet of Things

The Internet of things (IoT) is the extension of Internet connectivity into physical devices and everyday
objects. Embedded with electronics, internet connectivity, and other forms of hardware (such as sensors), in
which these devices can communicate with others over the Internet, and can be remotely monitored and
controlled.

1.5.9.Typo squatting

Typo squatting, also known as URL hijacking, is a form of cybersquatting (sitting on sites under someone
else’s brand or copyright) that targets Internet users who incorrectly type a website address into their web
browser (e.g., “Gooogle.com” instead of “Google.com”). When users make such a typographical error, they
may be led to an alternative website owned by a hacker that is usually designed for malicious purposes.

1.5.10.Common threats against passwords

Let’s take a look at some common types of attacks on password on most of our internet accounts.
Chapter 2
Attacks
This chapter presents attacks against password managers in general. For each attack we will present the steps
the attacker needs to take to succeed and mention if the proposed solution is designed to counter the attack.
2.1 Side channelattacks
Theinteractionbetweenthesoftwareandhardwaregeneratesdifferentinformation which can be monitored by an
attacker. This information is known as side channel information. For example side channel information can
be the amount of power the hardware is consuming, the sound it makes, or the time it needs to process
different operations. The attack which is based on this information is known as side channel attack.
According to YongBin Zhou the side channel attacks can be classified in three categories:
• control overcomputation
• ways of accessing themodule
• methods used in the analysisprocess
Furthermore the control over computation can be divided in two:
• the attacker extracts information without interfering with thesystem
• the attacker generates some changes and based on these the system can react ornot
Similarly the ways of accessing the module can be divided in:
• invasive attacks - attacker accesses directly the internal components of the system
• semi-invasive attacks - attacker access the system without damaging outside layer
• non-invasive attacks - attacker just observes the information leak from the system
Similarly the methods used in the analysis process can be divided in two:
• simple side channel attack - exploits the output that depends mainly on per- formedoperation
• differential side channel attack - exploits the correlation between the data instantaneous of
side channel leakage of thedevices
The side channel attacks are already known to be successful against different cryptographic algorithms like:
AES, DES, Misty1, RSA . There are the following known attacks. Timing attacks are a way of obtaining
useful information by measuring the time it takes the user to carry out cryptographic operations. This type of
attack was used against RSA or servers running OpenSSL . Faultattack presumes that the system can leak
information if the hardware is not operated re- liably. For example hardware faults and errors occured during
the operations of cryptography can seriously affects the security. Power analysis attacks are based on the
power consumption of the device. This power consumption of the device can offer lots of information
regarding the operation that takes place and the pa- rameters that are used. These attacks are successful
against smart cards or other dedicated embedded systems storing secret key. For this type of the attack, the
attacker can have multiple options to fulfill the attack. In case he has access to the device, he can do an
invasive attack by reading the internals of the device. The attack is possible but the attacker needs to have
special tools to fulfill this. In case the attacker doesn’t have access to the device, he candoanon invasive
attack in which he cantryto read the power consum ptionor the time needed for each kind of operation. There
fore this type of attack is possible but requires resources and goodknowledge.
2.2 Read memory -EEPROM
The Figure 2.1 shows a transistor. These transistors compose the EEPROM mem- ory.
It has the following elements:
• gate - terminal on which voltage isapplied
• drain - terminal on which voltage is drainedout
• source - terminal on which input voltage isapplied

Figure 2.1: Transistor

When high voltage is applied to the gate, the electrons flow in the P layer therefore the voltage from source
can go to the drain. When a low voltage is applied, the electrons from the gate can’t go in the Player and
there fore the voltage can’t go from source to the drain. Usually the EEPROM can store the data in memory
for only 40 years, but also they can loose the information if the memory is heat up to 125 C. An attacker can
change the content of the memory by heating it up with a laserdiode and thus making the device unusable for
the user. For this type of the attack, the attacker needs to have access to the device. After he has access he
needs a special device to read or to change the EEPROM memory. The solution can’t defend against this
type of attack, the attacker will manage to read the EEPRM memory. But the attacker requires some special
resources to succeedit.
2.3. KeyLogging attacks
These attacks are also known as keylogging or keyboard capturing. The attack consists in recording or
logging keyboard’s key strokes in such a way that the user who is using it doesn’t know that his actions are
monitored.
2.3.1 Software-based key loggers
The main purpose of these programs is for troubleshooting, but the attackers can use them to obtain private
information. These keyloggers can be divide in:
• hypervisor-based: is a malware which runs under theOS
• kernel-based: if it has root access, they can’t bedetected
• API-based: it hooks the keyboard API in an application therefore it will always receive events each
time the keyboard ispressed
2.3.2 Hardware-basedkeyloggers
The main advantage of these hardware key loggers is that they can’t be detected by any software. These
keyloggers can be dividedin:
• keyboardhardware-representsadevicewhichissituatedbetweenthecomputer and the used keyboard. This
device can have memory which stores the key strokes and can be accessed using a keycombination
• keyboard overlays - they are used against ATMs, by putting them over the realkeyboard
• smarthphones sensors - based on the accelerometer of a smartphone can detect if multiple keystrokes are
pressedtogether For an attack to managed to succeed this type of attack, he needs root access to the
computer on which he adds the keylogger. So he can insert a malware which will read the internal buffers
of the key board or the buffers of the USB ports in case a keyboard is attached to the computer. Another
way to succeed is to have access to the desktop so he can attach a key logger between the key board and the
desktop. The proposed solution is design to prevent only the hardware-based keylogging attacks.
2.4 Malware
These programs can be added on the user’s computer and try to steal the information.These malwares have
many purposes. Therefore the attacker can listen to the USB ports and monitor data transfer or he can listen
to the network interface and see all the incoming or outgoing connections. These malwares can have seri-
ous consequences against the security. To improve the efficiency of the attack, the attacker needs root access
to the computer or to trick the victim to run as an administrator the malware. If not, the attacker still can add
the malwares but they will not be so efficient. According to Barbara there are different types of malwares.
➢ USBHacksaw-was designed to be used by any configur able flash drive that can be customized with
a compact disk, read-only memory partition. This malware will copy the information from external
disk on a remotelocation.
➢ USB Switchblade - the purpose of this malware is to get information about the Windows system or
the network in which it relies. The malware can contain different tools like: Internet Protocol
Configuration Utility, Dynamic Host Configuration Protocol statistics, GNU, Wget, Product key
Recovery, Messenger Password recovery, Network password recovery, Mail password viewer,
Firefox password recovery. Each of these tools requires administrator level.
➢ USB Device Overflow - a buffer overflow represents a buffer in which was written to much data or
after the end of the buffer. These attacks are used more against the operating systemapplication.
➢ USB-Based Virus Malicious Code Launch - there are multiple types of maliciousprograms:
◦ virus - is a program that propagates by contaminating other files or programs on a singlehost
◦ worms - is a type of malware that has the ability to propagate itself without userinteraction
◦ trojans - deploy different viruses andworms
◦ rootkits - main activities are backdooradmitance
For this attack to succeed, the attacker needs a way to add the malware on the victim computer and to run it
there. Using these malware the attacker can do a lot of damages by reading private information. This attack
will not be prevented by the design.
2.5 Man in themiddle
In this attack, the attacker positions himself between the two parties that are communicating. In this way the
attack listens to the messages between the two parties or he can initiate the communication between them.
The Figure 2.2 presents an example in which Mallory, the attacker, listens to the channel and the Figure 2.3
presents an example in which Mallory initiates the communication.

-Communication between them is encrypted then the attack can only read the encrypted information. For the
attacker to succeed he needs to in serta malware on the victim’s computer. This malware like in case of the
Key Logging attacks it would read the internal buffers. In this way the attacker can read private infor-
mation. In case the attacker reads the internals of the PC, then the design can’t prevent this, but in case the
attacker tries to read the Bluetooth connection, the design will preventthis.
2.6 Exhaustivesearch
This attack is also known as brute force attack. The attack tries all the possible solutions for a password,
which it makes efficient in case the search space is small, but is in efficient in case the reisabig search space.
To improve the time the attacker can try using only words from a dictionary. The longer the password is the
more time it takes to find it. The time growth exponentially with the password length. For example if the
password has N bits then the proportional time is2 N . According to Landauer the energy required to perform
a computation of bit flip equals to:
E=k ∗ T ∗ ln2
• k - represents the Boltzmannconstant
• T - is the temperature of the computationdevice
To use the brute force attack against a password on 128 bits, it will require 2*128 bits flips so the total
energy required it would be 10 18 . To improve the efficiency of the attack, the attacker can use multiple
processors to find the password. For example devices which have multiple processors are GPU and FPGA.
The GPU has hundreds of processing units and the FPGA consumes the same power as a computer but
performs like 2.500computers. Another type of this attack is reverse brute-force attack in which the attacker
tries multiple accounts with the same password. Therefore the attacker doesn’t target specific user.To
manage to use this attack, the attacker needs access to the encrypted database. The success of this attack
depends on the encryption algorithm. The proposed so- lution is design to defend against this type of attack
because is using an encryption algorithm.
2.7 Social Engineeringattacks
Social engineering attacks are the attacks in which the attacker tricks the victim to reveal private
information. These attacks are against the humans and not against applications, therefore these attacks can’t
be prevented by any software. Different attacks are described by the Katharina Krombholz et al.
➢ physical approaches - they are also known as dumpster diving, because the attack presumes to find
some notes or piece of paper with some private information in a dumpster. Another type of physical
approach is theextortion.
➢ social approaches - the attacker tries to manipulate the victim to give him private information. The
attacker can try to get friendly with the victim, so he can improve the chances ofattacks.
➢ reverse social engineering - the attacker tries to make the victim to ask for attack’s help and then he
tries to get privateinformation.
➢ social technical approaches - an example of this attack is known as baiting attacks. Where the attack
leaves infected devices in public areas so thevictim can pick it and insert it in thecomputer.
For this attack to succeed, the attacker can get friendly with the victim but this case can take a long time, a
simple way is to send multiple email with some malwares to the victims and hopefully one of them will
reveal some private in- formation. The proposed solution can’t defend against this because there is no
technical defense, therefore the user has to be inform how this attack works and how to preventit.
Chapter 3
Design
In this part we will present the design by arguing why we use or not use different features. First we will
present an overview of the entire architecture and after that continue with specific decisions regarding the
design. In the end we finish with the presentation of the final design.
3.1 Architecture
The previous semester report and DavidSilveratal. Present multiple web based password managers from
which most of them have problems. They leaked information and they are vulnerable to different attacks.
Therefore the solution is to create a password manager which will store the encrypted passwords locally,so it
would not require any internet connection to use them. This approach prevents any attack that can be used
against web based password managers. This approach can be implemented in two differentways:
• Store the passwords on thecomputer.
• Store the passwords on a externaldevice.
In both cases the passwords will be encrypted before they are stored in memory. The section Encryption 3.5
will present different encryption algorithms. One scenario is to store the passwords on the computer. The
advantage of this approach is that the password doesn’t leave the computer. But if an attacker installs a
malware then he may be able to read the information. The disadvantage of this approach is that the user can
only use the password manager only on his computer. Therefore the user can’t login from different
computers. In the second scenario, which will be used in the design, the passwords are stored encrypted on a
mobile phone and the encrypted algorithm is implemented on a hardware device which is attached to the
computer. To receive the passwords on the computer, the mobile application will send the encrypted
passwords to the hardware device. The hardware device decrypts the password and after that it sends it to the
computer. In this case there can be different approaches to display the information (username and website)
on the mobile phone. We decided to display the information in clear text. The advantage of this approach is
that iseasy to use it, because the user can see the information he needs. The disadvantage of this case is that
if attackers teals the phone ,he can se euser’ sinformation.Theother approach is to display the encrypted
information but then the user can’t know which websites and usernames have been stored in the database.
The advantage of this case is that it would be more secure than the other case. The final design will display
the information in clear text because is easy to use, this improves the usability. The purpose of the hardware
device is to emulate a keyboard and to encryp- t/decrypt the information. The main advantage of this
approach is the usage of the device as a keyboard, in this case the password manager can be used on every
computer. Another advantage of this approach is that we can prevent physical keyloggers attached to the
keyboard. Another factor to take in consideration is where the master password isstored. In the approach in
which all the other passwords are stored on the computer then, also the master password needs to be stored
on computer. By doing this, this approach will put together all the information. Another approach, which is
used by the proposed solution, is to store the master password on an external device, so when the user wants
to retrieve a password, he has to insert the device in the computer. This approach has the following
advantages:
➢ if attacker steals the device, he will only steal the master password and he can not do anything
without the encryptedpasswords.
➢ if attacker steals the phone with the encrypted passwords, again he can’t do anything with this
information because the passwords areencrypted.
Therefore it seems a better choice to separate the master password from the passwords. One approach is to
store the master key in clear text in EEPROM memory. The problem with this approach is that it would be
easy for an attacker to read the memory and find it. Another approach is to pass the key through akey
derivation function and store that result. A key derivation function is a function which derives a password
using a pseudo random generator. Cryptographic hash functions are popular examples of pseudo random
functions used as key deriva- tion functions. One example is MD5. The approach has the advantage that it
would be harder for attacker to read the password because it would not be in clear text. One disadvantage of
the MD5 functions is that, according to Honbo Yu this function is vulnerable to collisions attacks In our case
is not a problem, because we uset his function to derivate the master password and nott o encryptit. Another
advantage is that the user will have strong passwords in memory, so the encryption algorithm will face better
a brute force attack. For example if the user selects as a master password a word like ’table’ then if the
attacker steals the database with the encrypted passwords, he can try to do a brute force attackbased on a
dictionary. In this way the attacker will have bigger changes to decrypt the passwords. But if the password is
passed through a key derivation function then the password stored in memory will be the MD5 value. In this
case there are mul- tiple key derivation functions like Aargon2, MD5. The proposed solution uses MD5.
Another approach is to use an algorithm to spread the password through the memory so the attacker can’t
find it a fix address.
3.2 Phone-devicecommunication
Section3.1mentionedthattheproposedsolutionwillhaveaphoneandanexternal device. So this part will present
different approaches on how to make the commu- nication between the device and the phone. There are the
followingoptions:
➢ Bluetooth
➢ wireless
➢ cable
T he advantage of first approach is that it can be secure, but this depends on the Bluetooth version. If
someone will read the connection it would not be a problem because the information is encrypted. Another
advantage is that the attacker has to be close to the user to make the attack.
The second possibility is to use a wireless connection. The advantage of this approach is that the
transfer speed is faster than the Bluetooth and it can be used at a longer distance. But this can be also a
disadvantage because the attacker can attack from a bigger distance.
The last approach is using a cable. This approach can be the safest one,because no one from exterior
can read it. The disadvantage of this approach is that the device needs two USB ports and also the phone
application needs to read the data from the USB. This approach is hard to be implement and it would not be
so comfortable for theuser.
Therefore the solution will use the first approach in which the communication between the phone and
the device is throughBluetooth.
3.3 Devices
The section Architecture mentioned that the solution uses a hardware device. Therefore there are the
following options:
➢ Arduino
➢ FPGA
➢ Druino
All of them have different advantages and disadvantages. Our initial goal was to create a prototype, therefore
we need more resources for our device. In thiscase all these devices can be used, all of them have enough
computation power and size to support our implementation. Another criteria to choose the device is the
knowledge required to program it. In this case we have knowledge regarding the Arduino and FPGA, we
didn’t have knowledge regarding Druino board. Also we took in consideration how easy is to implement the
required application. In this case the Arduino Micro is the easier one.The advantage o fArduino Micro over
the Arduino Uno is that it can emulate a keyboard, which is one of the key features of this design, therefore
we use an Arduino Microboard.
3.4 Add, removepasswords
In case of adding or removing the passwords from password manager, there are the following approaches:
➢ create an application on computer to add, remove passwords
➢ extend phone application to add, removepasswords
The first approach presumes to create a GUI application on the computer and the user to use this one to add
and delete passwords. Therefore to add a password the user has to send the password in clear text over the
USB port to the hardware device which will encrypt it. From the device, the data is sent to the phone to store
it in the database. To remove a password the message has to follow the same path only that the password
will not be sent. The advantage of this approachover the second one is that is easy to use but it has also
disadvantages: it requires another application to managed to add, remove passwords. From point of view of
portability this approach can have problems with this but if the application is implemented in C++ language
with the Qt framework, then this is not be a problem. Even if this approach has some disadvantages ,this
application will not be used so often, because we assume that the user wants more to retrieve passwords than
to add or removethem. To improve usability, the application will contain also a button to retrieve the entries
from the database. Figure 3.1 shows the flow of messages from computer to the phone andback. For
example if the user wants to retrieve a password from the database, the information takes the following
steps:
➢ edge1containstheusernameandwebsite,bothofthemareincleartext
➢ edge 2 contains the username, website in cleartext
➢ edge 3 contains the username, website in cleartext
➢ edge 4 contains the encryptedpassword
➢ edge 5 contains the encryptedpassword
➢ edge 6 contains the clear textpassword
In case the user tries to add a new entry in the database then the information will follow the following steps:
➢ edge 1 contains the username and website and password, all of them are in cleartext
➢ edge 2 contains the username, website in clear text and the encrypted password
➢ edge 3 contains the username, website in clear text and the encrypted password
➢ edge 4 contains the reply is one of the following: OK orFailed.
➢ edge 5 contains the reply
➢ edge 6 contains the reply
This approach requires the device to have a button, so only when the button is pressed the operation takes
place. The purpose of the button is to stop different attacks. One possible attack can be a malware to request
all the entries. In case the hardware device doesn’t have a button, then the attacker will managed to get all
the passwords. But in case the device has a button then the attacker has to press the button to retrieve the
entry. This is the same for the other operations: add, delete. An extra feature of the GUI application is
password generator.Therefore the user allows the system to generate the passwords for him. The user can
configure the length of the password and which characters (letters, numbers, sym- bols) to be used. This
feature is added because is a useful one, even though it can have flaws if the password generator is not a
truly random number generator. This password generator can be placed in different parts of the password
manager. There are three choices, in the GUI application, on the Arduino board or on the mobile application.
The problem with the first choice and the last one is that they can’t generate truly random numbers.
Therefore the Arduino board will generate the passwords and the interface for the generator is on the GUI
application. This approach will prevent also software keylogging attacks when the user adds a new
password, because the user doesn’t insert anypassword. The other approach, regarding the add, remove
passwords, presumes to extend the mobile application. The main advantage over the other approach is that
the user doesn’t need another application. The main disadvantage of this approach is that the user has to
copy manually information from the computer to the mobile application, which in some cases can’t be
soeasy. In both cases, the password is sent in clear text over a channel. Therefore the attacker can try to read
it. In case there is another GUI application, a malware can read the USB buffers before the application sends
the password or in case the mobile application is extended, there can be someone that reads the connection.
If the user wants to be 100% sure that no one will read his password in clear text then, he can re install the
OS, so he make sure that the computer is clean. Considering the advantages and disadvantages of each
option the proposed solution uses a separate application to add, remove and retrieve passwords.
3.5 Encryption
Using an encryption algorithm, it will prevent attacks like men in the middle. If some one tries to listen the
Bluetooth connection when the user sends the password to the PC, the attacker will read only the encrypted
password. With this information the attacker can’t do anything without the master password. The attacker
will be in same situation if he tries to read the database from the phone, he will read only the encrypted
passwords.
In this case there are multiple encryptionalgorithms:

3.5.1 RSA
The Figure 3.2 shows how RSA algorithm is working. This encryption algorithmis based on asymmetric key,
there is one key for encryption and one for decryption. The problem with this approach is that is not fast and
easy to implementon a small device. The advantage of this algorithm is that the private key which is used for
decryption will not be public. A good approach can be that when the connection is establish between the
hardware device and the computer the device, the device will publish his public key. So when the user tries
to add a new password he will encrypt it with public key. When the user tries to get the password he will
send the encrypted password from the phone to the hardware device which then with the private key will
decrypt the information. If this approach is used then also the GUI application has to be extended to encrypt
theinformation
3.5.2 AES
The Figure 3.3 shows how AES algorithm is working. This encryption algorithm is based on asing key.
Based on the key there are 3versions of this algorithm, when

the key is 128, 196, 256 bit. The advantage of this algorithm is that it is fast, easy to implement and doesn’t
require lot of memory. The fastest version is when the key is 128 bits because it would take less iterations to
encrypt/decrypt theinformation than the longer keys. Another advantage of the algorithm is that it doesn’t
require lot of resources to be implemented, therefore it is a perfect fit to be implemented on a small device.
One disadvantage of this is that when the key is on 128 bits is not the most secureone.
3.5.3 Hashfunctions
The Figure 3.4 shows how a hash function is working. A hash function is a function which can be used to
map data of arbitrary size to a fix sized data. An example of a hash function is MD5. The problem with this
approach is that these hash functions can give collisions therefore for two passwords there can be the same
hashed password. The main purpose of the MD5 is to verify data integrity, therefore it is preferred not to be
used in encryption. Also another problem is that if the hash generates the hash of a password it would be
very hard to find the password in clear text from the hash password. Based on the fact that this algorithm
should be used on a small device, then the encryption algorithm will be AES on 128bits. To improve the
security of this password manager, the proposed solution will
have a new defen selayer. Given that the solution has two devices (phone and hardware device), we decided
to add a feature to see if the devices are not used in pair. This helps to detect if someone tried to get the
passwords from the phone ortried to use the hardware device with another phone. To do that the password
manager has to store an identifier on both devices and compare them when the application starts. Therefore
every time when the phone connects to the hardware device it tries to compare the identifiers. These
identifiers can be counters, dates, hash values, etc. Also the GUI application could store an identifier on the
computer, but then the problem would be that the GUI application is not used in all operations, like the
phone application. Therefore it is better to store the hash values on the phone and on the hardware device. In
our case every time when the phone con- nects to Bluetooth, it is asking for the stored value and compare it
with the value which is stored in phone. Before the connection between the Bluetooth and the phone is
closed, the phone calculates the new hash value and sends it to hardware device to store it in memory. In this
way the user can detect if any of the devices are used with another device. The hash value has to change
every time when the devices are used, for example when he adds, removes or retrieves a password.
3.6 Attacks that can not beprevented
The previous section presented which attacks can be prevented by the proposed solution. This section
presents which attacks can not be prevented by the design and the effects of these attacks.
3.6.1 ReadMemory
The current designs to rest he master password on the hardware device .In this case the password must be in
an non-volatile memory, because the user needs it after the device is turn off. Non-volatile memories are:
EEPROM and Flash. By storing the memory in EEPROM an attacker can try to read it using a fotodiode or
he can try to change it. The attack can have the followingeffects:
➢ by modifying the password, the attacker can make the device unusable. To fix this problem user has
to write again the master password in thememory.
➢ by reading the memory, the attacker can have access to the master password. But the attacker can not
do any thing with this, he will need also the encrypted passwords.
In the future the password can be spread in the memory so it would not be at a specificaddress.

You might also like