0% found this document useful (0 votes)
26 views

Lecture 13 - Authentication

security

Uploaded by

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

Lecture 13 - Authentication

security

Uploaded by

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

AUTHENTICATION

Eckhard Pfluegel
LEARNING OBJECTIVES
• Learning Objectives – Authentication Protocols and
Mechanisms
• Understand goals of authentication and know the different types of
digital authentication mechanisms
• Discuss password-based authentication mechanisms
• Present a range of password-based authentication protocols and
discuss their security weaknesses and strengths
• Classify password attacks on authentication protocols and
mechanisms
• Be able to discuss controls for password attacks
• Known common rules for strong passwords
• Design schemes to help with administering many passwords
MOTIVATION
Goals of Authentication
• Scenario: Set of authorised users of a system
• Pre-defined (static)
• Ad-hoc (dynamic)
• Goal: identify a specific user from this set, wishing to
connect to a server within a distributed system
• We need to implement an authentication protocol in a
client/server architecture
Authentication Mechanism
• How does identification work in real life?
• Digital Authentication mechanisms are based on:
• Type 1: Something the user knows – password, PIN number,
mother’s maiden name
• Type 2: Something the user has – identity badges, drivers licence,
smartcard
• Type 3: Something the user is – fingerprint, voice, face (biometrics)
• Type 4: Somewhere the user is – location based
• We can use single-factor, two-factor or even multi-factor
authentication.
Mini-Exercise: Authentication
Mechanisms
• What different authentication mechanism (single/multi)
have you come across in the past?
• In your opinion, how usable and how secure are they?
PASSWORD AUTHENTICATION
PROTOCOLS
Password-based Authentication
• This is (still) the most common authentication mechanism
• Advantages:
• Simple
• Efficient
• Good for client-side security
• Disadvantages:
• Server needs to be trusted
• Client needs to be trusted
• Relies on user to provide strong password
• Password could leak
Basic Authentication Protocol I
Client Server

Authentication Request

Challenge

Response:
h(pwd)
Protocol Weaknesses/Attacks
• This basic protocol has a number of problems
• The following attacks can be launched:
• A1 Password guessing attack
• A2 Pre-image attack on the hash function
• A3 Replay Attack on the protocol
• A4 Man-in-the-middle attack on the protocol
• Let us strengthen our basic authentication protocol
Basic Authentication Protocol II
Client Server

Authentication Request

Challenge

Response:
h(user || pwd)
Protocol with Server Nonce
Client Server

Authentication Request

Challenge, NS

Response:
h( h(user || pwd) || NS ), NS
Final Protocol - Client and Server Nonce
Client Server

Authentication Request

Challenge, NS

Response:
h( h(user || pwd || NC) || NS ), NC, NS
AUTHENTICATION PROTOCOLS
Password Attack Classification
• An online attack requires (typically significant) work of the
system under attack (including communication).
• An offline attack requires work from the attacker with no or
little communication with the attacked system (e.g. server)
• Password attacks might target passwords residing either
on server, client or in transit
Assets under Attack
• We will classify attacks on the password asset by their
access vector through the following containers:
• Client (user):
• Hardware – keyboard
• Software – client interface, e.g. browser
• People – password owner
• Server (administrators):
• Data – password file or database
• Protocol/Network:
• Software – authentication protocol
• Data – protocol messages
Client Attacks – Overview
• Target asset: user data (in particular, the password)
• Attack access route is via client (user)
• So how could you determine somebody’s username?
• How about someone’s password?
• In order of decreasing difficulty:
• Guessing it
• Stealing it
• Asking the user for it
Brute Force Attack (offline)
• Also called an exhaustive attack
• The method is fairly unsophisticated - try all possible
passwords
• Problem: size of search space but there are tools for
doing this!
• For example, a problem if there are short passwords –
there are only 18,278 passwords of length 3
• Other example: assume password consists of maximal 8
characters A – Z
• There are 261 + 262 + 263 + .. + 268 ~ 5*1012 possible passwords
• This seems rather a lot
• But: if we can do one search per microsecond, it only takes about
two months!
Dictionary Attacks (offline)
• Try to speed up search process of exhaustive attack by
restricting to more probable passwords
• This is more successful than you might think!
• Examples:
• Names, so called dictionary words – the dictionary of most common
English words has 80,000 entries
• Passwords likely for a user: name of a friend, a pet, a song, or a
place..
Phishing/Spoofing Attack (online)
• Attacker prepares fake login system or website which
looks like the genuine one
• This prompts the user for his username and password
and stores or forwards the stolen credentials
• It then reports login failure and directs to real login screen
• Can be very successful and difficult to spot
Vishing Attack (online)
• Principle is very simple: just ask for the password!
• Example: posing as system administrator on the phone,
pretending there was a problem with the e-mail account
• Exploits gullible or naive users
• Can be very effective
Other Client Online Attacks
• Shoulder Surfing
• Keyloggers
• Client-side malware
Server Attacks
• Password Server Attack (Offline)
• Target asset: user passwords stored on server
• System must have a password file, listing user IDs and
corresponding passwords
• Attacker might target this key asset
• Particular problem if passwords are stored in plain text
• Note: attacker might be an insider – this is a very realistic scenario
Protocol Attacks
• Eavesdropping password in transmission
• Subverting password-reset mechanism
Mini-Exercise: Password Authentication
Attacks
• For each of the presented attacks, can you determine the
exploited vulnerability type and the corresponding attack
vector (access)?
CONTROLS
Controls
• Brute-force, dictionary attack: strong password
• Phishing/Spoofing: user education, filtering/scanning
• Vishing: user education
• Password server attack:
• Access control of password file
• Store protected passwords (using a hash function)
• Make sure passwords are unique (add unique ID – “Salt”)
Securing the Authentication Process
• Design of the authentication interface and process
requires careful consideration
• Example:
• ENTER USERNAME: hacker
• INVALID USERNAME – USER UNKNOWN
• Information is given away – why?
• Controls:
• Log all attempts of logging in
• Disconnect user after small number of failed logins
• Disable account after successive password failures
• More sophisticated systems require repeated authentication during
user session
Mini-Exercise: Password-change
Mechanisms
• The ability to change a password is an essential feature of
any system
• Review mechanisms for changing the password that you
are aware of (from your own experience).
• Which ones, in your opinion, are the most secure and
which ones the must convenient ones? Justify your
answers.
PASSWORD SECURITY
Motivation
• Goal: mitigate the vulnerability “weak password”
• “For all the money we spend tackling security holes, one
of the most common can be fixed for free – easily
guessed passwords remain one of the most exploited
security holes out there”
• A. Wittmann, A. Dornan & D. Greenfield, ‘Practical Advice
on Passwords’, Network Magazine, 4th May 2004
Rules for Strong Passwords
• Choose long passwords (at least 8-10 characters)
• Use characters other than just A-Z, a-z (at least one
number or punctuation character)
• Avoid actual names or dictionary words (or combinations
of)
• Do not use common personal data (date of birth, family
member name etc)
• Don’t write it down and don’t tell anyone else
• Change the password from time to time, but don’t go
overboard
Mini-Exercise: Password Management
• Think about your passwords, and answer the following
questions:
• How many approximately do you have to remember?
• How do you manage to remember them?
• Do you write them down?
• Could you think of a system for remembering them easily?
How to Always Remember All Your
Passwords
• Group your passwords into categories (personal, work, etc.)
• Choose a pertinent catchphrase to remember each category –
you are required to remember these catchphrases without
having to write them down
• Then, decide on rules how to derive a code from the
catchphrase (Example: 2Brn2B, wnttbrkfr)
• Finally, devise a scheme to derive individual passwords from
the catchphrases, for each service/account
• Can use service/account name as additional input
• Or username information
• Examples:
• pwd = code || service name
• pwd = md5(code || service name) for the geeks!
Discussion
• strong passwords are important, but...
• ... perhaps they distract from other issues
• they are not a magic silver-bullet
• they do not help against online attacks
• it is difficult to administer many passwords

You might also like